00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00031 #ifndef __vtkKWSpinBox_h
00032 #define __vtkKWSpinBox_h
00033
00034 #include "vtkKWCoreWidget.h"
00035
00036 class vtkKWMenu;
00037
00038 class KWWidgets_EXPORT vtkKWSpinBox : public vtkKWCoreWidget
00039 {
00040
00041 public:
00042 static vtkKWSpinBox* New();
00043 vtkTypeRevisionMacro(vtkKWSpinBox,vtkKWCoreWidget);
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047 virtual void SetRange(double from, double to);
00048
00050
00051 virtual void SetIncrement(double increment);
00052 virtual double GetIncrement();
00054
00056
00057 virtual void SetValue(double value);
00058 virtual double GetValue();
00060
00062
00066 virtual void SetValueFormat(const char *format);
00067 virtual const char* GetValueFormat();
00069
00071
00073 virtual void SetWrap(int wrap);
00074 virtual int GetWrap();
00075 vtkBooleanMacro(Wrap, int);
00077
00079
00082 enum
00083 {
00084 RestrictNone = 0,
00085 RestrictInteger,
00086 RestrictDouble
00087 };
00088
00089 vtkGetMacro(RestrictValue, int);
00090 virtual void SetRestrictValue(int);
00091 virtual void SetRestrictValueToInteger();
00092 virtual void SetRestrictValueToDouble();
00093 virtual void SetRestrictValueToNone();
00095
00097
00106 virtual void SetValidationCommand(vtkObject *object, const char *method);
00107 virtual int InvokeValidationCommand(const char *value);
00109
00111
00112 virtual void SetWidth(int);
00113 virtual int GetWidth();
00115
00117
00118 virtual void GetBackgroundColor(double *r, double *g, double *b);
00119 virtual double* GetBackgroundColor();
00120 virtual void SetBackgroundColor(double r, double g, double b);
00121 virtual void SetBackgroundColor(double rgb[3])
00122 { this->SetBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00124
00126
00127 virtual void GetForegroundColor(double *r, double *g, double *b);
00128 virtual double* GetForegroundColor();
00129 virtual void SetForegroundColor(double r, double g, double b);
00130 virtual void SetForegroundColor(double rgb[3])
00131 { this->SetForegroundColor(rgb[0], rgb[1], rgb[2]); };
00133
00135
00136 virtual void GetDisabledBackgroundColor(double *r, double *g, double *b);
00137 virtual double* GetDisabledBackgroundColor();
00138 virtual void SetDisabledBackgroundColor(double r, double g, double b);
00139 virtual void SetDisabledBackgroundColor(double rgb[3])
00140 { this->SetDisabledBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00142
00144
00145 virtual void GetDisabledForegroundColor(double *r, double *g, double *b);
00146 virtual double* GetDisabledForegroundColor();
00147 virtual void SetDisabledForegroundColor(double r, double g, double b);
00148 virtual void SetDisabledForegroundColor(double rgb[3])
00149 { this->SetDisabledForegroundColor(rgb[0], rgb[1], rgb[2]); };
00151
00153
00154 virtual void GetReadOnlyBackgroundColor(double *r, double *g, double *b);
00155 virtual double* GetReadOnlyBackgroundColor();
00156 virtual void SetReadOnlyBackgroundColor(double r, double g, double b);
00157 virtual void SetReadOnlyBackgroundColor(double rgb[3])
00158 { this->SetReadOnlyBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00160
00162
00163 virtual void GetButtonBackgroundColor(double *r, double *g, double *b);
00164 virtual double* GetButtonBackgroundColor();
00165 virtual void SetButtonBackgroundColor(double r, double g, double b);
00166 virtual void SetButtonBackgroundColor(double rgb[3])
00167 { this->SetButtonBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00169
00171
00174 virtual void SetHighlightThickness(int);
00175 virtual int GetHighlightThickness();
00177
00179
00183 virtual void GetActiveBackgroundColor(double *r, double *g, double *b);
00184 virtual double* GetActiveBackgroundColor();
00185 virtual void SetActiveBackgroundColor(double r, double g, double b);
00186 virtual void SetActiveBackgroundColor(double rgb[3])
00187 { this->SetActiveBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00189
00191
00194 virtual void SetBorderWidth(int);
00195 virtual int GetBorderWidth();
00197
00199
00202 virtual void SetRelief(int);
00203 virtual int GetRelief();
00204 virtual void SetReliefToRaised();
00205 virtual void SetReliefToSunken();
00206 virtual void SetReliefToFlat();
00207 virtual void SetReliefToRidge();
00208 virtual void SetReliefToSolid();
00209 virtual void SetReliefToGroove();
00211
00213
00224 virtual void SetFont(const char *font);
00225 virtual const char* GetFont();
00227
00229
00234 virtual void SetExportSelection(int);
00235 virtual int GetExportSelection();
00236 vtkBooleanMacro(ExportSelection, int);
00238
00240
00253 virtual void SetCommand(vtkObject *object, const char *method);
00254 virtual void InvokeCommand(double value);
00256
00258
00260 enum
00261 {
00262 TriggerOnFocusOut = 1,
00263 TriggerOnReturnKey = 2,
00264 TriggerOnAnyChange = 4
00265 };
00266
00267 vtkGetMacro(CommandTrigger, int);
00268 virtual void SetCommandTrigger(int);
00269 virtual void SetCommandTriggerToReturnKeyAndFocusOut();
00270 virtual void SetCommandTriggerToAnyChange();
00272
00274
00283 enum
00284 {
00285 SpinBoxValueChangedEvent = 10000
00286 };
00287
00289
00296 virtual void UpdateEnableState();
00297
00299
00300 virtual void ValueCallback();
00301 virtual int ValidationCallback(const char *value);
00302 virtual void TracedVariableChangedCallback(
00303 const char *, const char *, const char *);
00304 virtual void RightClickCallback(int x, int y);
00306
00307
00308
00309 protected:
00310 vtkKWSpinBox();
00311 ~vtkKWSpinBox();
00312
00314 virtual void CreateWidget();
00315
00316 int RestrictValue;
00317 int CommandTrigger;
00318
00319 char *Command;
00320 char *ValidationCommand;
00321
00322 vtkKWMenu *ContextMenu;
00323
00325 virtual void PopulateContextMenu(vtkKWMenu*);
00326
00328
00329 virtual void Configure();
00330 virtual void ConfigureValidation();
00332
00333
00334
00335 private:
00336 vtkKWSpinBox(const vtkKWSpinBox&);
00337 void operator=(const vtkKWSpinBox&);
00338 };
00339
00340 #endif
00341