#ifndef MEASUREANALYSISTREE_TREEWIDGET_H #define MEASUREANALYSISTREE_TREEWIDGET_H #include class QActionGroup; class MeasureAnalysisView; class MeasureAnalysisProjectModel; namespace MeasureAnalysisTree { class MeasureAnalysisActions; class TreeAnalyzeItem; class TreeItem; class TreeWidget : public QTreeWidget { Q_OBJECT public: explicit TreeWidget(QWidget* parent = nullptr); ~TreeWidget(); void SetConnectActions(MeasureAnalysisActions* const actions_analyze); void AddProjectModel(MeasureAnalysisProjectModel* model); private slots: // void onFinishedSeparateEveryChannelParticleData(const QString& project_name); void onFinishedParticleCountData(const QString& project_name); signals: void currentItemViewWidget(MeasureAnalysisView* view); void removeItemViewFromStack(MeasureAnalysisView* view); /* protected: virtual void mousePressEvent(QMouseEvent* event); virtual void dragMoveEvent(QDragMoveEvent* event); virtual void dropEvent(QDropEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); */ private: void setCurrentItemHighlight(); void removeAnalyzeItem(); void removeTreeItem(QTreeWidgetItem* const item); // private: // TreeItem* _tree_item_drag { nullptr }; }; } // namespace MeasureAnalysisTree #endif // MEASUREANALYSISTREE_TREEWIDGET_H