00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkPVHorizontalAnimationInterface_h
00026 #define __vtkPVHorizontalAnimationInterface_h
00027
00028 #include "vtkPVTracedWidget.h"
00029
00030 class vtkCollection;
00031 class vtkCollectionIterator;
00032 class vtkKWApplication;
00033 class vtkKWFrame;
00034 class vtkKWFrameWithScrollbar;
00035 class vtkKWSplitFrame;
00036 class vtkPVAnimationCue;
00037 class vtkPVAnimationCueTree;
00038
00039 class VTK_EXPORT vtkPVHorizontalAnimationInterface : public vtkPVTracedWidget
00040 {
00041 public:
00042 vtkTypeRevisionMacro(vtkPVHorizontalAnimationInterface, vtkPVTracedWidget);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044 static vtkPVHorizontalAnimationInterface* New();
00045
00047 virtual void Create(vtkKWApplication* app);
00048
00049 virtual void ResizeCallback();
00050
00051 void AddAnimationCueTree(vtkPVAnimationCueTree* pvCueTree);
00052 void RemoveAnimationCueTree(vtkPVAnimationCueTree* pvCueTree);
00053
00054 void SetTimeMarker(double ntime);
00055
00056 void StartRecording();
00057 void StopRecording();
00058 void RecordState(double ntime, double offset, int onlyFocus);
00059
00061
00064 virtual void SetTimeBounds(double bounds[2], int enable_scaling=0);
00065 virtual int GetTimeBounds(double* bounds);
00067
00074 virtual void UpdateEnableState();
00075
00076 void SaveState(ofstream* file);
00077
00078 vtkGetObjectMacro(ParentTree, vtkPVAnimationCueTree);
00079
00081
00082 virtual void SaveWindowGeometryToRegistry();
00083 virtual void RestoreWindowGeometryFromRegistry();
00085
00087 void RemoveAllKeyFrames();
00088
00089 protected:
00090 vtkPVHorizontalAnimationInterface();
00091 ~vtkPVHorizontalAnimationInterface();
00092
00093 vtkKWSplitFrame* SplitFrame;
00094 vtkKWFrame* TimeLineFrame;
00095 vtkKWFrame* PropertiesFrame;
00096 vtkKWFrameWithScrollbar* ScrollFrame;
00097
00098 vtkCollection* AnimationEntries;
00099 vtkCollectionIterator* AnimationEntriesIterator;
00100
00101 vtkPVAnimationCueTree* ParentTree;
00102 void InitializeObservers(vtkPVAnimationCue* cue);
00103 void ExecuteEvent(vtkObject* obj, unsigned long event, void* calldata);
00104
00105 private:
00106 vtkPVHorizontalAnimationInterface(const vtkPVHorizontalAnimationInterface&);
00107 void operator=(const vtkPVHorizontalAnimationInterface&);
00108 };
00109
00110 #endif
00111
00112
00113