00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVVerticalAnimationInterface.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00021 #ifndef __vtkPVVerticalAnimationInterface_h 00022 #define __vtkPVVerticalAnimationInterface_h 00023 00024 #include "vtkPVTracedWidget.h" 00025 00026 class vtkKWFrame; 00027 class vtkKWFrameWithScrollbar; 00028 class vtkKWFrameWithLabel; 00029 class vtkKWLabel; 00030 class vtkPVAnimationCue; 00031 class vtkPVVerticalAnimationInterfaceObserver; 00032 class vtkKWMenuButton; 00033 class vtkKWPushButton; 00034 class vtkKWCheckButton; 00035 class vtkPVKeyFrame; 00036 class vtkPVAnimationManager; 00037 class vtkKWScale; 00038 class vtkPVTrackEditor; 00039 class VTK_EXPORT vtkPVVerticalAnimationInterface : public vtkPVTracedWidget 00040 { 00041 public: 00042 static vtkPVVerticalAnimationInterface* New(); 00043 vtkTypeRevisionMacro(vtkPVVerticalAnimationInterface, vtkPVTracedWidget); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 virtual void Create(vtkKWApplication* app); 00048 00051 void SetAnimationCue(vtkPVAnimationCue*); 00052 00054 vtkKWFrame* GetPropertiesFrame(); 00055 00058 vtkKWFrame* GetScenePropertiesFrame(); 00059 00063 vtkKWFrame* GetSelectorFrame(); 00064 00066 00067 vtkGetObjectMacro(TrackEditor, vtkPVTrackEditor); 00069 00070 void SetAnimationManager(vtkPVAnimationManager* am) { this->AnimationManager = am;} 00071 00072 // Callbacks for GUI elements. 00073 void RecordAllChangedCallback(); 00074 void CacheGeometryCheckCallback(); 00075 void AdvancedAnimationViewCallback(); 00076 00077 void SetAdvancedAnimationView(int advanced); 00078 00079 void SaveState(ofstream* file); 00080 00081 virtual void UpdateEnableState(); 00082 00083 void SetCacheGeometry(int cache); 00084 vtkGetMacro(CacheGeometry, int); 00085 00087 void Update(); 00088 00090 00096 void EnableCacheCheck(); 00097 void DisableCacheCheck(); 00099 protected: 00100 vtkPVVerticalAnimationInterface(); 00101 ~vtkPVVerticalAnimationInterface(); 00102 00103 vtkPVAnimationManager* AnimationManager; 00104 vtkPVTrackEditor* TrackEditor; 00105 00106 vtkKWFrameWithScrollbar* TopFrame; 00107 vtkKWFrameWithLabel* ScenePropertiesFrame; 00108 vtkKWFrameWithLabel* SelectorFrame; 00109 00110 vtkKWCheckButton* RecordAllButton; 00111 00112 vtkKWFrameWithLabel* SaveFrame; 00113 vtkKWCheckButton* CacheGeometryCheck; 00114 vtkKWCheckButton* AdvancedAnimationCheck; 00115 00116 int EnableCacheCheckButton; 00117 int CacheGeometry; 00118 00119 00120 private: 00121 vtkPVVerticalAnimationInterface(const vtkPVVerticalAnimationInterface&); // Not implemented. 00122 void operator=(const vtkPVVerticalAnimationInterface&); // Not implemented. 00123 00124 }; 00125 00126 #endif