#pragma once #include "FractoriumPch.h" class Fractorium; /// /// A thin derivation of QTreeWidget which allows for processing the drop event. /// class LibraryTreeWidget : public QTreeWidget { Q_OBJECT public: /// /// Constructor that passes p to the parent. /// /// The parent widget explicit LibraryTreeWidget(QWidget* p = nullptr) : QTreeWidget(p) { } void SetMainWindow(Fractorium* f); protected: virtual void dropEvent(QDropEvent* de) override; Fractorium* m_Fractorium = nullptr; }; class InfoTreeWidget : public QTreeWidget { Q_OBJECT public: /// /// Constructor that passes p to the parent. /// /// The parent widget explicit InfoTreeWidget(QWidget* p = nullptr) : QTreeWidget(p) { } void SetMainWindow(Fractorium* f); const QString& LastNonVarField() const { return m_LastNonVarField; } protected: virtual void dropEvent(QDropEvent* de) override; virtual void dragMoveEvent(QDragMoveEvent* dme) override; Fractorium* m_Fractorium = nullptr; QString m_LastNonVarField = "Direct color";//It is critical to update this if any more fields are ever added before the variations start. };