00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkPVVectorEntry_h
00025 #define __vtkPVVectorEntry_h
00026
00027 #include "vtkPVObjectWidget.h"
00028
00029 class vtkStringList;
00030 class vtkKWEntry;
00031 class vtkKWApplication;
00032 class vtkKWLabel;
00033 class vtkKWWidgetCollection;
00034 class vtkPVVectorEntryInternals;
00035
00036
00037 template<class KeyType,class DataType> class vtkArrayMap;
00038
00039
00040 class VTK_EXPORT vtkPVVectorEntry : public vtkPVObjectWidget
00041 {
00042 public:
00043 static vtkPVVectorEntry* New();
00044 vtkTypeRevisionMacro(vtkPVVectorEntry, vtkPVObjectWidget);
00045 void PrintSelf(ostream& os, vtkIndent indent);
00046
00048 virtual void Create(vtkKWApplication *pvApp);
00049
00051
00053 vtkGetObjectMacro(LabelWidget, vtkKWLabel);
00054 vtkKWEntry* GetEntry(int idx);
00056
00058
00059 void SetValue(char* v);
00060 void SetValue(char* v1, char* v2);
00061 void SetValue(char* v1, char* v2, char* v3);
00062 void SetValue(char* v1, char* v2, char* v3, char* v4);
00063 void SetValue(char* v1, char* v2, char* v3, char* v4, char* v5);
00064 void SetValue(char* v1, char* v2, char* v3, char* v4, char* v5, char* v6);
00065 void SetValue(char** vals, int num);
00066 void SetValue(float* vals, int num);
00068
00070
00072 void GetValue(float* values, int num);
00073 float *GetValue6();
00075
00077 void CheckModifiedCallback(const char*);
00078
00080
00083 vtkSetStringMacro(ScriptValue);
00084 vtkGetStringMacro(ScriptValue);
00086
00088
00089 vtkSetMacro(DataType, int);
00090 vtkGetMacro(DataType, int);
00092
00094 void SetLabel(const char* label);
00095
00098 virtual void SetBalloonHelpString(const char *str);
00099
00101
00102 vtkSetMacro(VectorLength, int);
00103 vtkGetMacro(VectorLength, int);
00105
00107 void SetEntryValue(int index, const char* value);
00108
00109
00111
00114 vtkPVVectorEntry* ClonePrototype(vtkPVSource* pvSource,
00115 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00117
00118
00120
00121 virtual void Accept();
00122 virtual void ResetInternal();
00124
00126 virtual void Initialize();
00127
00129 virtual void Trace(ofstream *file);
00130
00137 virtual void UpdateEnableState();
00138
00140 virtual void SaveInBatchScript(ofstream *file);
00141
00142 protected:
00143 vtkPVVectorEntry();
00144 ~vtkPVVectorEntry();
00145
00146 vtkKWLabel *LabelWidget;
00147
00148 vtkSetStringMacro(EntryLabel);
00149 vtkGetStringMacro(EntryLabel);
00150 char* EntryLabel;
00151
00152 int DataType;
00153 int VectorLength;
00154
00155 char *ScriptValue;
00156
00158 char *EntryValues[6];
00159
00160 vtkPVVectorEntry(const vtkPVVectorEntry&);
00161 void operator=(const vtkPVVectorEntry&);
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 vtkPVVectorEntryInternals *Internals;
00174 };
00175
00176 #endif