00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00023 #ifndef __vtkKWExtent_h
00024 #define __vtkKWExtent_h
00025
00026 #include "vtkKWCompositeWidget.h"
00027
00028 #include "vtkKWRange.h"
00029
00030 class KWWidgets_EXPORT vtkKWExtent : public vtkKWCompositeWidget
00031 {
00032
00033 public:
00034 static vtkKWExtent* New();
00035 vtkTypeRevisionMacro(vtkKWExtent,vtkKWCompositeWidget);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00041 virtual void SetExtentRange(const double extent[6]);
00042 virtual void SetExtentRange(double, double, double, double, double, double);
00043 virtual double* GetExtentRange();
00044 virtual void GetExtentRange(
00045 double&, double&, double&, double&, double&, double&);
00046 virtual void GetExtentRange(double extent[6]);
00048
00050
00051 vtkGetVector6Macro(Extent,double);
00052 virtual void SetExtent(const double extent[6]);
00053 virtual void SetExtent(double, double, double, double, double, double);
00055
00057
00058 virtual void SetExtentVisibility(int index, int arg);
00059 vtkBooleanMacro(XExtentVisibility, int);
00060 virtual int GetXExtentVisibility() { return this->ExtentVisibility[0]; };
00061 virtual void SetXExtentVisibility(int arg)
00062 { this->SetExtentVisibility(0, arg); };
00063 vtkBooleanMacro(YExtentVisibility, int);
00064 virtual int GetYExtentVisibility() { return this->ExtentVisibility[1]; };
00065 virtual void SetYExtentVisibility(int arg)
00066 { this->SetExtentVisibility(1, arg); };
00067 vtkBooleanMacro(ZExtentVisibility, int);
00068 virtual int GetZExtentVisibility() { return this->ExtentVisibility[2]; };
00069 virtual void SetZExtentVisibility(int arg)
00070 { this->SetExtentVisibility(2, arg); };
00072
00074
00106 virtual void SetCommand(vtkObject *object, const char *method);
00107 virtual void SetStartCommand(vtkObject *object, const char *method);
00108 virtual void SetEndCommand(vtkObject *object, const char *method);
00110
00112
00114 enum
00115 {
00116 ChangeEvent = 10000,
00117 StartChangeEvent = 10001,
00118 EndChangeEvent = 10002
00119 };
00120
00122
00124
00125 virtual void SetDisableCommands(int);
00126 vtkBooleanMacro(DisableCommands, int);
00128
00130
00132 virtual void SetOrientation(int);
00133 virtual void SetOrientationToHorizontal()
00134 { this->SetOrientation(vtkKWRange::OrientationHorizontal); };
00135 virtual void SetOrientationToVertical()
00136 { this->SetOrientation(vtkKWRange::OrientationVertical); };
00137 virtual void SetLabelPosition(int);
00138 virtual void SetLabelPositionToDefault()
00139 { this->SetLabelPosition(vtkKWWidgetWithLabel::LabelPositionDefault); };
00140 virtual void SetLabelPositionToTop()
00141 { this->SetLabelPosition(vtkKWWidgetWithLabel::LabelPositionTop); };
00142 virtual void SetLabelPositionToBottom()
00143 { this->SetLabelPosition(vtkKWWidgetWithLabel::LabelPositionBottom); };
00144 virtual void SetLabelPositionToLeft()
00145 { this->SetLabelPosition(vtkKWWidgetWithLabel::LabelPositionLeft); };
00146 virtual void SetLabelPositionToRight()
00147 { this->SetLabelPosition(vtkKWWidgetWithLabel::LabelPositionRight); };
00148 virtual void SetEntry1Position(int);
00149 virtual void SetEntry1PositionToDefault()
00150 { this->SetEntry1Position(vtkKWRange::EntryPositionDefault); };
00151 virtual void SetEntry1PositionToTop()
00152 { this->SetEntry1Position(vtkKWRange::EntryPositionTop); };
00153 virtual void SetEntry1PositionToBottom()
00154 { this->SetEntry1Position(vtkKWRange::EntryPositionBottom); };
00155 virtual void SetEntry1PositionToLeft()
00156 { this->SetEntry1Position(vtkKWRange::EntryPositionLeft); };
00157 virtual void SetEntry1PositionToRight()
00158 { this->SetEntry1Position(vtkKWRange::EntryPositionRight); };
00159 virtual void SetEntry2Position(int);
00160 virtual void SetEntry2PositionToDefault()
00161 { this->SetEntry2Position(vtkKWRange::EntryPositionDefault); };
00162 virtual void SetEntry2PositionToTop()
00163 { this->SetEntry2Position(vtkKWRange::EntryPositionTop); };
00164 virtual void SetEntry2PositionToBottom()
00165 { this->SetEntry2Position(vtkKWRange::EntryPositionBottom); };
00166 virtual void SetEntry2PositionToLeft()
00167 { this->SetEntry2Position(vtkKWRange::EntryPositionLeft); };
00168 virtual void SetEntry2PositionToRight()
00169 { this->SetEntry2Position(vtkKWRange::EntryPositionRight); };
00170 virtual void SetThickness(int);
00171 virtual void SetInternalThickness(double);
00172 virtual void SetRequestedLength(int);
00173 virtual void SetSliderSize(int);
00174 virtual void SetSliderCanPush(int);
00175 vtkBooleanMacro(SliderCanPush, int);
00177
00184 virtual void UpdateEnableState();
00185
00187
00188 vtkKWRange* GetXRange() { return this->Range[0]; };
00189 vtkKWRange* GetYRange() { return this->Range[1]; };
00190 vtkKWRange* GetZRange() { return this->Range[2]; };
00191 vtkKWRange* GetRange(int index);
00193
00195
00196 virtual void RangeCommandCallback(double r0, double r1);
00197 virtual void RangeStartCommandCallback(double r0, double r1);
00198 virtual void RangeEndCommandCallback(double r0, double r1);
00199 virtual void RangeEntriesCommandCallback(double r0, double r1);
00201
00202
00203
00204 protected:
00205 vtkKWExtent();
00206 ~vtkKWExtent();
00207
00209 virtual void CreateWidget();
00210
00211 char *Command;
00212 char *StartCommand;
00213 char *EndCommand;
00214
00215 virtual void InvokeExtentCommand(
00216 const char *command,
00217 double x0, double x1, double y0, double y1, double z0, double z1);
00218 virtual void InvokeCommand(
00219 double x0, double x1, double y0, double y1, double z0, double z1);
00220 virtual void InvokeStartCommand(
00221 double x0, double x1, double y0, double y1, double z0, double z1);
00222 virtual void InvokeEndCommand(
00223 double x0, double x1, double y0, double y1, double z0, double z1);
00224
00225 double Extent[6];
00226
00227 vtkKWRange *Range[3];
00228
00229 int ExtentVisibility[3];
00230
00231
00232
00233 virtual void Pack();
00234
00235
00236
00237 private:
00238
00239
00240
00241 double ExtentRangeTemp[6];
00242
00243 vtkKWExtent(const vtkKWExtent&);
00244 void operator=(const vtkKWExtent&);
00245 };
00246
00247 #endif
00248
00249