#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.
};