lib
koColorChooser.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __ko_ColorChooser_h__
00022 #define __ko_ColorChooser_h__
00023
00024 #include <qwidget.h>
00025 #include "koColor.h"
00026
00027 class KoFrameButton;
00028 class QGridLayout;
00029 class QTabWidget;
00030 class RGBWidget;
00031 class HSVWidget;
00032 class CMYKWidget;
00033 class LABWidget;
00034 class GreyWidget;
00035 class KoColor;
00036 class KoColorSlider;
00037 class QLabel;
00038 class QSpinBox;
00039 class KHSSelector;
00040 class KColorPatch;
00041 class ColorWidget;
00042
00043 class KoColorChooser : public QWidget
00044 {
00045 Q_OBJECT
00046 public:
00047 KoColorChooser(QWidget *parent = 0L, const char *name = 0L);
00048
00049 const KoColor &color() const {return mColor; }
00050
00051 public slots:
00052 void slotChangeColor(const KoColor &c);
00053 void slotChangeColor(const QColor &c);
00054
00055 signals:
00056 void colorChanged(const KoColor &c);
00057
00058 protected slots:
00059 void slotChangeXY(int h, int s);
00060
00061 private slots:
00062 void childColorChanged(const KoColor& c);
00063 void slotCurrentChanged(QWidget *current);
00064
00065 private:
00066 ColorWidget *m_current;
00067 KoColor mColor;
00068 QTabWidget *m_tab;
00069 QGridLayout *mGrid;
00070 KoFrameButton *btnRGB;
00071 KoFrameButton *btnHSV;
00072 KoFrameButton *btnCMYK;
00073 KoFrameButton *btnLAB;
00074 KoFrameButton *btnGrey;
00075 RGBWidget *mRGBWidget;
00076 HSVWidget *mHSVWidget;
00077 QWidget *mCMYKWidget;
00078 LABWidget *mLABWidget;
00079 GreyWidget *mGreyWidget;
00080 KHSSelector *mColorSelector;
00081 };
00082
00083 class ColorWidget : public QWidget {
00084 Q_OBJECT
00085
00086 public:
00087 ColorWidget(QWidget *parent = 0);
00088 virtual ~ColorWidget();
00089
00090 public slots:
00091 virtual void slotChangeColor(const KoColor& c);
00092 virtual void slotChangeColor(const QColor& c);
00093 virtual void slotRefreshColor() = 0;
00094
00095 protected:
00096 KoColor mColor;
00097 };
00098
00099 class RGBWidget : public ColorWidget
00100 {
00101 Q_OBJECT
00102 public:
00103 RGBWidget(QWidget *parent = 0L);
00104 virtual ~RGBWidget() {}
00105
00106 public slots:
00107 virtual void slotRefreshColor();
00108
00109 protected slots:
00110 void slotRSliderChanged(int r);
00111 void slotGSliderChanged(int g);
00112 void slotBSliderChanged(int b);
00113
00114 void slotRInChanged(int r);
00115 void slotGInChanged(int g);
00116 void slotBInChanged(int b);
00117
00118 void slotPatchChanged(const QColor& clr);
00119
00120 signals:
00121 void colorChanged(const KoColor &c);
00122
00123 private:
00124 KoColorSlider *mRSlider;
00125 KoColorSlider *mGSlider;
00126 KoColorSlider *mBSlider;
00127 QLabel *mRLabel;
00128 QLabel *mGLabel;
00129 QLabel *mBLabel;
00130 QSpinBox *mRIn;
00131 QSpinBox *mGIn;
00132 QSpinBox *mBIn;
00133 KColorPatch *mColorPatch;
00134 };
00135
00136 class HSVWidget : public ColorWidget
00137 {
00138 Q_OBJECT
00139 public:
00140 HSVWidget(QWidget *parent = 0L);
00141 virtual ~HSVWidget() {}
00142
00143 public slots:
00144 virtual void slotRefreshColor();
00145
00146 protected slots:
00147 void slotHSliderChanged(int h);
00148 void slotSSliderChanged(int s);
00149 void slotVSliderChanged(int v);
00150
00151 void slotHInChanged(int h);
00152 void slotSInChanged(int s);
00153 void slotVInChanged(int v);
00154
00155 void slotPatchChanged(const QColor& clr);
00156
00157 signals:
00158 void colorChanged(const KoColor &c);
00159
00160 private:
00161 KoColorSlider *mHSlider;
00162 KoColorSlider *mSSlider;
00163 KoColorSlider *mVSlider;
00164 QLabel *mHLabel;
00165 QLabel *mSLabel;
00166 QLabel *mVLabel;
00167 QSpinBox *mHIn;
00168 QSpinBox *mSIn;
00169 QSpinBox *mVIn;
00170 KColorPatch *mColorPatch;
00171 };
00172
00173 class GreyWidget : public ColorWidget
00174 {
00175 Q_OBJECT
00176 public:
00177 GreyWidget(QWidget *parent = 0L);
00178 virtual ~GreyWidget() {}
00179
00180 public slots:
00181 virtual void slotRefreshColor();
00182
00183 protected slots:
00184 void slotVSliderChanged(int v);
00185 void slotVInChanged(int v);
00186 void slotPatchChanged(const QColor& clr);
00187
00188 signals:
00189 void colorChanged(const KoColor &c);
00190
00191 protected:
00192 KoColorSlider *mVSlider;
00193 QLabel *mVLabel;
00194 QSpinBox *mVIn;
00195 KColorPatch *mColorPatch;
00196 };
00197
00198 class LABWidget : public ColorWidget
00199 {
00200 Q_OBJECT
00201 public:
00202 LABWidget(QWidget *parent = 0L);
00203 virtual ~LABWidget() {}
00204
00205 public slots:
00206 virtual void slotRefreshColor();
00207
00208 protected slots:
00209 void slotLSliderChanged(int l);
00210 void slotASliderChanged(int a);
00211 void slotBSliderChanged(int b);
00212
00213 void slotLInChanged(int l);
00214 void slotAInChanged(int a);
00215 void slotBInChanged(int b);
00216
00217 void slotPatchChanged(const QColor& clr);
00218
00219 signals:
00220 void colorChanged(const KoColor &c);
00221
00222 private:
00223 KoColorSlider *mLSlider;
00224 KoColorSlider *mASlider;
00225 KoColorSlider *mBSlider;
00226 QLabel *mLLabel;
00227 QLabel *mALabel;
00228 QLabel *mBLabel;
00229 QSpinBox *mLIn;
00230 QSpinBox *mAIn;
00231 QSpinBox *mBIn;
00232 KColorPatch *mColorPatch;
00233 };
00234
00235 #endif
00236
|