fractorium/Source/Fractorium/LibraryTreeWidget.h

55 lines
1.3 KiB
C
Raw Permalink Normal View History

#pragma once
#include "FractoriumPch.h"
class Fractorium;
/// <summary>
/// A thin derivation of QTreeWidget which allows for processing the drop event.
/// </summary>
class LibraryTreeWidget : public QTreeWidget
{
Q_OBJECT
public:
/// <summary>
/// Constructor that passes p to the parent.
/// </summary>
/// <param name="p">The parent widget</param>
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:
/// <summary>
/// Constructor that passes p to the parent.
/// </summary>
/// <param name="p">The parent widget</param>
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.
};