00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00030 #ifndef __vtkKWChangeColorButton_h
00031 #define __vtkKWChangeColorButton_h
00032
00033 #include "vtkKWWidgetWithLabel.h"
00034
00035 class vtkKWFrame;
00036
00037 class KWWidgets_EXPORT vtkKWChangeColorButton : public vtkKWWidgetWithLabel
00038 {
00039
00040 public:
00041 static vtkKWChangeColorButton* New();
00042 vtkTypeRevisionMacro(vtkKWChangeColorButton,vtkKWWidgetWithLabel);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00046
00047 virtual void SetColor(double c[3]) {this->SetColor(c[0], c[1], c[2]);};
00048 virtual void SetColor(double r, double g, double b);
00049 virtual double *GetColor() {return this->Color;};
00051
00053
00055 vtkSetStringMacro(DialogTitle);
00056 vtkGetStringMacro(DialogTitle);
00058
00066 virtual void SetCommand(vtkObject *object, const char *method);
00067
00069
00074 enum
00075 {
00076 ColorChangedEvent = 1000
00077 };
00078
00080
00083 virtual void SetBalloonHelpString(const char *str);
00084
00086
00087 virtual void SetLabelOutsideButton(int);
00088 vtkGetMacro(LabelOutsideButton, int);
00089 vtkBooleanMacro(LabelOutsideButton, int);
00091
00098 virtual void UpdateEnableState();
00099
00101
00102 virtual void ButtonPressCallback();
00103 virtual void ButtonReleaseCallback();
00105
00106
00107
00108 protected:
00109 vtkKWChangeColorButton();
00110 ~vtkKWChangeColorButton();
00111
00113 virtual void CreateWidget();
00114
00115 vtkKWLabel *ColorButton;
00116 vtkKWFrame *ButtonFrame;
00117
00118 virtual void InvokeCommand(double r, double g, double b);
00119 char *Command;
00120
00121 char *DialogTitle;
00122 double Color[3];
00123 int LabelOutsideButton;
00124
00126
00127 virtual void Bind();
00128 virtual void UnBind();
00130
00133 virtual void UpdateColorButton();
00134
00136 virtual void QueryUserForColor();
00137
00139 virtual void Pack();
00140
00142 virtual void CreateLabel();
00143
00145 virtual void CreateButtonFrame();
00146
00147
00148
00149 private:
00150
00151 int ButtonDown;
00152
00153 vtkKWChangeColorButton(const vtkKWChangeColorButton&);
00154 void operator=(const vtkKWChangeColorButton&);
00155 };
00156
00157 #endif
00158
00159