1 /* 2 SPDX-License-Identifier: GPL-2.0-or-later 3 SPDX-FileCopyrightText: 2012 Martin Kuettler <martin.kuettler@gmail.com> 4 */ 5 6 #ifndef TEXTRESULTITEM_H 7 #define TEXTRESULTITEM_H 8 9 #include "resultitem.h" 10 #include "worksheettextitem.h" 11 12 namespace Cantor { 13 class LatexResult; 14 } 15 16 class TextResultItem : public WorksheetTextItem, public ResultItem 17 { 18 Q_OBJECT 19 public: 20 explicit TextResultItem(WorksheetEntry*, Cantor::Result*); 21 ~TextResultItem() override = default; 22 23 using WorksheetTextItem::setGeometry; 24 double setGeometry(double x, double y, double w) override; 25 void populateMenu(QMenu*, QPointF) override; 26 27 void update() override; 28 29 void setLatex(Cantor::LatexResult*); 30 QTextImageFormat toFormat(const QImage&, const QString& latex); 31 32 double width() const override; 33 double height() const override; 34 35 void deleteLater() override; 36 37 Q_SIGNALS: 38 void collapseActionSizeChanged(); 39 40 protected Q_SLOTS: 41 void toggleLatexCode(); 42 void showHtml(); 43 void showHtmlSource(); 44 void showPlain(); 45 void saveResult(); 46 47 protected: 48 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) override; 49 int visibleLineCount(); 50 void collapseExtraLines(); 51 52 protected: 53 bool m_isCollapsed{false}; 54 bool m_userCollapseOverride{false}; 55 int m_widthWhenCollapsed{0}; 56 }; 57 58 #endif //TEXTRESULTITEM_H 59