#ifndef CTRENDFAVTREEWIDGET_H #define CTRENDFAVTREEWIDGET_H #include enum E_Tree_ItemType { Item_GRAPH_Type = QTreeWidgetItem::UserType + 1, Item_TAG_Type, }; class CTrendGraph; class CTrendFavTreeWidget : public QTreeWidget { Q_OBJECT public: explicit CTrendFavTreeWidget(QWidget *parent = nullptr); ~CTrendFavTreeWidget(); signals: void showTrendGraph(CTrendGraph * graph, QString name); void updateTitle(QString name); public slots: void collectGraph(const QString &title, const CTrendGraph &graph); protected: void contextMenuEvent(QContextMenuEvent *event); protected slots: void slotNewTrendEdit(); void slotShowTrendGraph(); void slotEditTrendEdit(); void slotRemoveTrendEdit(); void slotItemChanged(QTreeWidgetItem *item, int column); void slotImport(); void slotExport(); private: QString getNewValidTitle(); void loadTrendGraph(const QString& filePath = QString()); void savaTrendGraph(const QString& filePath = QString(), const QList& itemList = QList()); private: QMap m_trendGraphMap; QString m_strEditItemContent; }; #endif // CTRENDFAVTREEWIDGET_H