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