00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkPVPropertyKeyFrame_h
00025 #define __vtkPVPropertyKeyFrame_h
00026
00027 #include "vtkPVKeyFrame.h"
00028 class vtkKWLabel;
00029 class vtkKWWidget;
00030 class vtkKWPushButton;
00031 class vtkSMProperty;
00032
00033 class VTK_EXPORT vtkPVPropertyKeyFrame : public vtkPVKeyFrame
00034 {
00035 public:
00036 vtkTypeRevisionMacro(vtkPVPropertyKeyFrame, vtkPVKeyFrame);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040
00041 void SetKeyValue(double value) { this->SetKeyValue(0, value); }
00042 void SetKeyValue(int index, double value);
00043 double GetKeyValue() { return this->GetKeyValue(0); }
00044 double GetKeyValue(int index);
00046
00048
00049 void SetNumberOfKeyValues(int num);
00050 int GetNumberOfKeyValues();
00052
00054 virtual void InitializeKeyValueUsingCurrentState();
00055
00057
00058 virtual void InitializeKeyValueUsingProperty(
00059 vtkSMProperty* property, int index);
00061
00064 virtual void InitializeKeyValueDomainUsingCurrentState();
00065
00067
00068 void ValueChangedCallback();
00069 void MinimumCallback();
00070 void MaximumCallback();
00072
00074
00076 virtual void SetValueToMinimum();
00077 virtual void SetValueToMaximum();
00079
00081
00083 void SetKeyValueWithTrace(int index, double val);
00084 void SetNumberOfKeyValuesWithTrace(int num);
00086
00090 virtual void Copy(vtkPVKeyFrame* fromKF);
00091
00093 virtual void SaveState(ofstream* file);
00094
00095 virtual void UpdateEnableState();
00096 protected:
00097 vtkPVPropertyKeyFrame();
00098 ~vtkPVPropertyKeyFrame();
00099
00102 virtual void ChildCreate(vtkKWApplication* app);
00103
00109 void CreateValueWidget();
00110
00112 virtual void UpdateValuesFromProxy();
00113
00115 virtual void UpdateValueFromGUI();
00116
00118 void UpdateDomain();
00119
00120 vtkKWLabel* ValueLabel;
00121 vtkKWWidget* ValueWidget;
00122 vtkKWPushButton* MinButton;
00123 vtkKWPushButton* MaxButton;
00124
00125 private:
00126 vtkPVPropertyKeyFrame(const vtkPVPropertyKeyFrame&);
00127 void operator=(const vtkPVPropertyKeyFrame&);
00128
00129 };
00130
00131 #endif
00132
00133