00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00019 #ifndef __vtkPVMinMax_h
00020 #define __vtkPVMinMax_h
00021
00022 #include "vtkPVWidget.h"
00023
00024 class vtkKWScaleWithEntry;
00025 class vtkKWLabel;
00026 class vtkPVArrayMenu;
00027 class vtkKWFrame;
00028
00029 class VTK_EXPORT vtkPVMinMax : public vtkPVWidget
00030 {
00031 public:
00032 static vtkPVMinMax* New();
00033 vtkTypeRevisionMacro(vtkPVMinMax, vtkPVWidget);
00034 void PrintSelf(ostream& os, vtkIndent indent);
00035
00037 virtual void Create(vtkKWApplication *pvApp);
00038
00040 virtual void Accept();
00041
00043 virtual void Update();
00044
00046
00047 void SetMinValue(double val);
00048 double GetMinValue();
00049 void SetMaxValue(double val);
00050 double GetMaxValue();
00051 void SetResolution(double res);
00052 double GetResolution();
00053 void SetRange(double min, double max);
00054 void GetRange(double range[2]);
00056
00058 void SetArrayMenu(vtkPVArrayMenu* widget);
00059
00061 void MinValueCallback();
00062
00064 void MaxValueCallback();
00065
00067 void SetMinimumLabel(const char* label);
00068
00070 void SetMaximumLabel(const char* label);
00071
00073 void SetMinimumHelp(const char* help);
00074
00076 void SetMaximumHelp(const char* help);
00077
00079
00080 vtkGetMacro(PackVertically, int);
00081 vtkSetMacro(PackVertically, int);
00082 vtkBooleanMacro(PackVertically, int);
00084
00086
00087 vtkGetMacro(ShowMinLabel, int);
00088 vtkSetMacro(ShowMinLabel, int);
00089 vtkBooleanMacro(ShowMinLabel, int);
00091
00093
00094 vtkGetMacro(ShowMaxLabel, int);
00095 vtkSetMacro(ShowMaxLabel, int);
00096 vtkBooleanMacro(ShowMaxLabel, int);
00098
00100
00101 vtkGetMacro(MinLabelWidth, int);
00102 vtkSetMacro(MinLabelWidth, int);
00104
00105
00107
00108 vtkGetMacro(MaxLabelWidth, int);
00109 vtkSetMacro(MaxLabelWidth, int);
00111
00113
00114 vtkGetObjectMacro(MinScale, vtkKWScaleWithEntry);
00115 vtkGetObjectMacro(MaxScale, vtkKWScaleWithEntry);
00117
00118
00120
00123 vtkPVMinMax* ClonePrototype(vtkPVSource* pvSource,
00124 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00126
00127
00131 virtual void ResetInternal();
00132
00134 virtual void Initialize();
00135
00137 virtual void Trace(ofstream *file);
00138
00145 virtual void UpdateEnableState();
00146
00148 virtual void SaveInBatchScript(ofstream *file);
00149
00150 protected:
00151 vtkPVMinMax();
00152 ~vtkPVMinMax();
00153
00154 vtkPVArrayMenu* ArrayMenu;
00155
00156 vtkKWLabel *MinLabel;
00157 vtkKWLabel *MaxLabel;
00158 vtkKWScaleWithEntry *MinScale;
00159 vtkKWScaleWithEntry *MaxScale;
00160 vtkKWFrame *MinFrame;
00161 vtkKWFrame *MaxFrame;
00162
00163 char* MinHelp;
00164 char* MaxHelp;
00165 vtkSetStringMacro(MinHelp);
00166 vtkSetStringMacro(MaxHelp);
00167
00168 int PackVertically;
00169
00170 int ShowMinLabel;
00171 int ShowMaxLabel;
00172
00173 int MinLabelWidth;
00174 int MaxLabelWidth;
00175
00176
00177 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00178 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00179
00180
00181 int ReadXMLAttributes(vtkPVXMLElement* element,
00182 vtkPVXMLPackageParser* parser);
00183
00185
00186 void SetMinValueInternal(double val);
00187 void SetMaxValueInternal(double val);
00189 private:
00190 vtkPVMinMax(const vtkPVMinMax&);
00191 void operator=(const vtkPVMinMax&);
00192 };
00193
00194 #endif