|
1 #pragma once |
|
2 #include "../main.h" |
|
3 #include "../colors.h" |
|
4 #include <QPushButton> |
|
5 #include <QAbstractTableModel> |
|
6 #include <QDialog> |
|
7 #include <QGridLayout> |
|
8 |
|
9 class ColorSelectDialog : public QDialog |
|
10 { |
|
11 Q_OBJECT |
|
12 public: |
|
13 explicit ColorSelectDialog(const ldraw::ColorTable& colorTable, QWidget* parent = nullptr); |
|
14 ~ColorSelectDialog(); |
|
15 void setCurrentColor(ldraw::Color color); |
|
16 ldraw::Color currentColor() const; |
|
17 private slots: |
|
18 void populateColors(); |
|
19 void updateSelectedColorTexts(); |
|
20 void handleButtonClick(); |
|
21 void spinboxEdited(); |
|
22 void chooseDirectColor(); |
|
23 private: |
|
24 void makeColorButtons(); |
|
25 bool filterColor(ldraw::Color color) const; |
|
26 class Ui_ColorSelectDialog& ui; |
|
27 const ldraw::ColorTable& colorTable; |
|
28 std::vector<QPushButton*> buttons; |
|
29 ldraw::Color selectedColor = ldraw::mainColor; |
|
30 }; |