src/widgets/colorselectdialog.h

Sun, 25 Jul 2021 16:26:38 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Sun, 25 Jul 2021 16:26:38 +0300
changeset 109
40a1cf2f38f5
parent 95
06a1aef170aa
child 112
5760cbb32bc0
permissions
-rw-r--r--

replaced preview layers in favor of overpainting callback

#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 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::mainColor;
};

mercurial