leocad/qt/lc_qcolorpicker.h

67 lines
1.2 KiB
C
Raw Normal View History

#pragma once
2013-08-09 06:57:18 +02:00
#include <QObject>
class lcQColorList;
class lcQColorPickerPopup : public QFrame
{
Q_OBJECT
public:
lcQColorPickerPopup(QWidget *parent = nullptr, int colorIndex = 0);
2013-08-09 06:57:18 +02:00
~lcQColorPickerPopup();
void exec();
signals:
void changed(int colorIndex);
void selected(int colorIndex);
void hid();
public slots:
void colorChanged(int colorIndex);
void colorSelected(int colorIndex);
protected:
void showEvent(QShowEvent* ShowEvent) override;
void hideEvent(QHideEvent* HideEvent) override;
void mouseReleaseEvent(QMouseEvent* MouseEvent) override;
2013-08-09 06:57:18 +02:00
private:
QEventLoop *eventLoop;
lcQColorList *colorList;
};
class lcQColorPicker : public QPushButton
{
Q_OBJECT
public:
lcQColorPicker(QWidget *parent = 0);
~lcQColorPicker();
int currentColor() const;
int currentColorCode() const;
2013-08-09 06:57:18 +02:00
void setCurrentColor(int colorIndex);
void setCurrentColorCode(int colorCode);
2013-08-09 06:57:18 +02:00
public slots:
void changed(int colorIndex);
void selected(int colorIndex);
signals:
void colorChanged(int colorIndex);
protected:
void updateIcon();
private slots:
void buttonPressed(bool toggled);
void popupClosed();
private:
int currentColorIndex;
int initialColorIndex;
};