FXColorSelector.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef FXCOLORSELECTOR_H
00025
#define FXCOLORSELECTOR_H
00026
00027
#ifndef FXPACKER_H
00028
#include "FXPacker.h"
00029
#endif
00030
00031
namespace FX {
00032
00033
00034
class FXTabBook;
00035
class FXColorBar;
00036
class FXColorWell;
00037
class FXColorWheel;
00038
class FXList;
00039
class FXSlider;
00040
class FXTextField;
00041
class FXButton;
00042
class FXIcon;
00043
class FXLabel;
00044
00045
00046
00047 class FXAPI FXColorSelector :
public FXPacker {
00048 FXDECLARE(FXColorSelector)
00049
protected:
00050
FXTabBook *panels;
00051
FXColorWell *well;
00052
FXList *list;
00053
FXColorBar *bar;
00054
FXColorWheel *wheel;
00055
FXSlider *rgbaslider[4];
00056
FXTextField *rgbatext[4];
00057
FXSlider *hsvaslider[4];
00058
FXTextField *hsvatext[4];
00059
FXSlider *cmyslider[4];
00060
FXTextField *cmytext[4];
00061
FXColorWell *colorwells[24];
00062
FXIcon *eyedropicon;
00063
FXIcon *dialmodeicon;
00064
FXIcon *rgbmodeicon;
00065
FXIcon *hsvmodeicon;
00066
FXIcon *cmymodeicon;
00067
FXIcon *txtmodeicon;
00068
FXButton *accept;
00069
FXButton *cancel;
00070 FXfloat rgba[4];
00071 FXfloat hsva[4];
00072
protected:
00073
static const FXchar* wellname[24];
00074
protected:
00075 FXColorSelector(){}
00076
void updateWell();
00077
private:
00078 FXColorSelector(
const FXColorSelector&);
00079 FXColorSelector &operator=(
const FXColorSelector&);
00080
public:
00081
long onCmdColor(
FXObject*,FXSelector,
void*);
00082
long onChgColor(
FXObject*,FXSelector,
void*);
00083
long onCmdWell(
FXObject*,FXSelector,
void*);
00084
long onChgWell(
FXObject*,FXSelector,
void*);
00085
long onCmdRGBSlider(
FXObject*,FXSelector,
void*);
00086
long onUpdRGBSlider(
FXObject*,FXSelector,
void*);
00087
long onCmdRGBText(
FXObject*,FXSelector,
void*);
00088
long onUpdRGBText(
FXObject*,FXSelector,
void*);
00089
long onCmdHSVSlider(
FXObject*,FXSelector,
void*);
00090
long onUpdHSVSlider(
FXObject*,FXSelector,
void*);
00091 long onCmdHSVText(
FXObject*,FXSelector,
void*);
00092
long onUpdHSVText(
FXObject*,FXSelector,
void*);
00093
long onCmdCMYSlider(
FXObject*,FXSelector,
void*);
00094 long onUpdCMYSlider(
FXObject*,FXSelector,
void*);
00095
long onCmdCMYText(
FXObject*,FXSelector,
void*);
00096
long onUpdCMYText(
FXObject*,FXSelector,
void*);
00097
long onCmdList(
FXObject*,FXSelector,
void*);
00098
long onCmdCustomWell(
FXObject*,FXSelector,
void*);
00099
long onChgCustomWell(
FXObject*,FXSelector,
void*);
00100
long onCmdSetValue(
FXObject*,FXSelector,
void*);
00101
long onCmdActivePane(
FXObject*,FXSelector,
void*);
00102
long onCmdAlphaSlider(
FXObject*,FXSelector,
void*);
00103
long onUpdAlphaSlider(
FXObject*,FXSelector,
void*);
00104
long onCmdAlphaText(
FXObject*,FXSelector,
void*);
00105
long onUpdAlphaText(
FXObject*,FXSelector,
void*);
00106
long onUpdAlphaLabel(
FXObject*,FXSelector,
void*);
00107
long onCmdWheel(
FXObject*,FXSelector,
void*);
00108
long onUpdWheel(
FXObject*,FXSelector,
void*);
00109
long onCmdBar(
FXObject*,FXSelector,
void*);
00110
long onUpdBar(
FXObject*,FXSelector,
void*);
00111
long onCmdColorPick(
FXObject*,FXSelector,
void*);
00112
public:
00113
enum {
00114 ID_CUSTOM_FIRST=FXPacker::ID_LAST,
00115 ID_CUSTOM_LAST=ID_CUSTOM_FIRST+24,
00116 ID_RGB_RED_SLIDER,
00117 ID_RGB_GREEN_SLIDER,
00118 ID_RGB_BLUE_SLIDER,
00119 ID_RGB_RED_TEXT,
00120 ID_RGB_GREEN_TEXT,
00121 ID_RGB_BLUE_TEXT,
00122 ID_HSV_HUE_SLIDER,
00123 ID_HSV_SATURATION_SLIDER,
00124 ID_HSV_VALUE_SLIDER,
00125 ID_HSV_HUE_TEXT,
00126 ID_HSV_SATURATION_TEXT,
00127 ID_HSV_VALUE_TEXT,
00128 ID_CMY_CYAN_SLIDER,
00129 ID_CMY_MAGENTA_SLIDER,
00130 ID_CMY_YELLOW_SLIDER,
00131 ID_CMY_CYAN_TEXT,
00132 ID_CMY_MAGENTA_TEXT,
00133 ID_CMY_YELLOW_TEXT,
00134 ID_DIAL_WHEEL,
00135 ID_COLOR_BAR,
00136 ID_COLOR_LIST,
00137 ID_WELL_CHANGED,
00138 ID_COLOR,
00139 ID_ACTIVEPANE,
00140 ID_ALPHA_SLIDER,
00141 ID_ALPHA_TEXT,
00142 ID_ALPHA_LABEL,
00143 ID_COLORPICK,
00144 ID_LAST
00145 };
00146
public:
00147
00148
00149 FXColorSelector(
FXComposite *p,
FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0);
00150
00151
00152
virtual void create();
00153
00154
00155
FXButton *acceptButton()
const {
return accept; }
00156
00157
00158 FXButton *cancelButton()
const {
return cancel; }
00159
00160
00161
void setRGBA(FXColor clr);
00162
00163
00164 FXColor getRGBA() const;
00165
00166
00167 FXbool isOpaqueOnly() const;
00168
00169
00170
void setOpaqueOnly(FXbool opaque);
00171
00172
00173 virtual
void save(FXStream& store) const;
00174
00175
00176 virtual
void load(FXStream& store);
00177
00178
00179 virtual ~FXColorSelector();
00180 };
00181
00182 }
00183
00184 #endif