File indexing completed on 2024-05-05 11:56:22
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2012 Martin Kuettler <martin.kuettler@gmail.com> 0004 */ 0005 0006 #ifndef TEXTRESULTITEM_H 0007 #define TEXTRESULTITEM_H 0008 0009 #include "resultitem.h" 0010 #include "worksheettextitem.h" 0011 0012 namespace Cantor { 0013 class LatexResult; 0014 } 0015 0016 class TextResultItem : public WorksheetTextItem, public ResultItem 0017 { 0018 Q_OBJECT 0019 public: 0020 explicit TextResultItem(WorksheetEntry*, Cantor::Result*); 0021 ~TextResultItem() override = default; 0022 0023 using WorksheetTextItem::setGeometry; 0024 double setGeometry(double x, double y, double w) override; 0025 void populateMenu(QMenu*, QPointF) override; 0026 0027 void update() override; 0028 0029 void setLatex(Cantor::LatexResult*); 0030 QTextImageFormat toFormat(const QImage&, const QString& latex); 0031 0032 double width() const override; 0033 double height() const override; 0034 0035 void deleteLater() override; 0036 0037 Q_SIGNALS: 0038 void collapseActionSizeChanged(); 0039 0040 protected Q_SLOTS: 0041 void toggleLatexCode(); 0042 void showHtml(); 0043 void showHtmlSource(); 0044 void showPlain(); 0045 void saveResult(); 0046 0047 protected: 0048 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) override; 0049 int visibleLineCount(); 0050 void collapseExtraLines(); 0051 0052 protected: 0053 bool m_isCollapsed{false}; 0054 bool m_userCollapseOverride{false}; 0055 int m_widthWhenCollapsed{0}; 0056 }; 0057 0058 #endif //TEXTRESULTITEM_H