00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00019 #ifndef __vtkPVScale_h
00020 #define __vtkPVScale_h
00021
00022 #include "vtkPVObjectWidget.h"
00023
00024 class vtkKWScaleWithEntry;
00025 class vtkKWLabel;
00026
00027 class VTK_EXPORT vtkPVScale : public vtkPVObjectWidget
00028 {
00029 public:
00030 static vtkPVScale* New();
00031 vtkTypeRevisionMacro(vtkPVScale, vtkPVObjectWidget);
00032 void PrintSelf(ostream& os, vtkIndent indent);
00033
00035 virtual void Create(vtkKWApplication *pvApp);
00036
00038
00039 void SetValue(double val);
00040 double GetValue();
00042
00044 void SetLabel(const char* label);
00045
00047 void SetResolution(double res);
00048
00050
00051 void SetRange(double min, double max);
00052 double GetRangeMin();
00053 double GetRangeMax();
00055
00058 void DisplayEntry();
00059
00062 void SetDisplayEntryAndLabelOnTop(int value);
00063
00066 virtual void SetBalloonHelpString(const char *str);
00067
00069
00070 void CheckModifiedCallback();
00071 void EntryCheckModifiedCallback();
00073
00074
00076
00079 vtkPVScale* ClonePrototype(vtkPVSource* pvSource,
00080 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00082
00083
00084
00086
00088 virtual void Accept();
00089
00091
00095 virtual void ResetInternal();
00096
00098 virtual void Initialize();
00099
00101
00102 virtual void Trace(ofstream *file);
00103 void Trace();
00105
00107
00108 vtkSetMacro(Round, int);
00109 vtkGetMacro(Round, int);
00110 vtkBooleanMacro(Round, int);
00112
00114
00115 vtkSetMacro(EntryFlag, int);
00116 vtkSetMacro(EntryAndLabelOnTopFlag, int);
00117 vtkSetMacro(DisplayValueFlag, int);
00119
00121
00124 vtkSetMacro(TraceSliderMovement, int);
00125 vtkGetMacro(TraceSliderMovement, int);
00127
00134 virtual void UpdateEnableState();
00135
00137 virtual void SaveInBatchScript(ofstream *file);
00138
00139 protected:
00140 vtkPVScale();
00141 ~vtkPVScale();
00142
00143 int RoundValue(double val);
00144
00145 int EntryFlag;
00146 int EntryAndLabelOnTopFlag;
00147 int DisplayValueFlag;
00148 int Round;
00149
00150 vtkKWLabel *LabelWidget;
00151 vtkKWScaleWithEntry *Scale;
00152
00153 vtkPVScale(const vtkPVScale&);
00154 void operator=(const vtkPVScale&);
00155
00156 void SetValueInternal(double val);
00157 vtkSetStringMacro(EntryLabel);
00158 vtkGetStringMacro(EntryLabel);
00159 char* EntryLabel;
00160
00161 int TraceSliderMovement;
00162
00163
00164 virtual void CopyProperties(vtkPVWidget* clone, vtkPVSource* pvSource,
00165 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00166
00167
00168 int ReadXMLAttributes(vtkPVXMLElement* element,
00169 vtkPVXMLPackageParser* parser);
00170
00171 };
00172
00173 #endif