Sun, 13 Mar 2022 18:46:10 +0200
Handle properties in a generic manner in the object editor
#pragma once #include "../main.h" #include "../colors.h" #include <QPushButton> #include <QAbstractTableModel> #include <QDialog> #include <QGridLayout> class ColorSelectDialog : public QDialog { Q_OBJECT public: explicit ColorSelectDialog(const ldraw::ColorTable& colorTable, QWidget* parent = nullptr); ~ColorSelectDialog(); void setCurrentColor(ldraw::Color color); ldraw::Color currentColor() const; private Q_SLOTS: void populateColors(); void updateSelectedColorTexts(); void handleButtonClick(); void spinboxEdited(); void chooseDirectColor(); private: void makeColorButtons(); bool filterColor(ldraw::Color color) const; class Ui_ColorSelectDialog& ui; const ldraw::ColorTable& colorTable; std::vector<QPushButton*> buttons; ldraw::Color selectedColor = ldraw::MAIN_COLOR; };