Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Client/vtkPVAnimationCue.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVAnimationCue.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 =========================================================================*/
00037 #ifndef __vtkPVAnimationCue_h
00038 #define __vtkPVAnimationCue_h
00039 
00040 #include "vtkPVSimpleAnimationCue.h"
00041 
00042 class vtkKWWidget;
00043 class vtkKWLabel;
00044 class vtkPVTimeLine;
00045 class vtkKWFrame;
00046 class vtkSMAnimationCueProxy;
00047 class vtkSMKeyFrameAnimationCueManipulatorProxy;
00048 class vtkPVKeyFrame;
00049 class vtkCollection;
00050 class vtkCollectionIterator;
00051 class vtkPVAnimationScene;
00052 class vtkPVSource;
00053 class vtkSMPropertyStatusManager;
00054 class vtkSMProxy;
00055 
00056 class VTK_EXPORT vtkPVAnimationCue : public vtkPVSimpleAnimationCue
00057 {
00058 public:
00059   static vtkPVAnimationCue* New();
00060   vtkTypeRevisionMacro(vtkPVAnimationCue, vtkPVSimpleAnimationCue);
00061   void PrintSelf(ostream& os, vtkIndent indent);
00062 
00064   virtual void Create(vtkKWApplication* app);
00065 
00069   void SetTimeLineParent(vtkKWWidget* frame);
00070 
00072   virtual void SetLabelText(const char* label);
00073 
00075 
00076   vtkGetObjectMacro(TimeLine, vtkPVTimeLine);
00078 
00079   virtual void PackWidget();
00080   virtual void UnpackWidget();
00081 
00083 
00084   virtual void GetFocus();
00085   virtual void RemoveFocus();
00086   virtual int HasFocus() {return this->Focus;}
00088 
00090   virtual void RemoveAllKeyFrames();
00091 
00095   void DeleteKeyFrame(int id);
00096  
00099   virtual void ReplaceKeyFrame(vtkPVKeyFrame* oldFrame, vtkPVKeyFrame* newFrame);
00100 
00101 
00104   virtual void StartRecording();
00105 
00107   virtual void StopRecording();
00108 
00109   virtual void RecordState(double ntime, double offset, int onlyFocus);
00110   virtual void RecordState(double ntime, double offset);
00111 
00116   void SetAnimationScene(vtkPVAnimationScene* scene);
00117 
00119 
00121   void SetPVSource(vtkPVSource*);
00122   vtkGetObjectMacro(PVSource, vtkPVSource);
00124 
00126 
00128   virtual void SetTimeMarker(double time);
00129   double GetTimeMarker();
00131 
00138   virtual void UpdateEnableState();
00139 
00140   virtual void SaveState(ofstream* file);
00141 
00143 
00152   vtkSetStringMacro(Name);
00153   vtkGetStringMacro(Name);
00155 
00157 
00163   vtkSetStringMacro(SourceTreeName);
00164   vtkGetStringMacro(SourceTreeName);
00166 
00168   void SetEnableZoom(int zoom);
00169 
00171   virtual void Zoom(double range[2]);
00172   void Zoom(double s, double e) 
00173     {
00174     double r[2]; 
00175     r[0]=s; r[1] = e;
00176     this->Zoom(r);
00177     }
00179 
00186   const char* GetTclNameCommand();
00187 
00189 
00191   virtual void UpdateCueVisibility(int advanced);
00192   vtkGetMacro(CueVisibility, int);
00194 
00197   virtual void Detach();
00198 
00200   virtual void SelectKeyFrame(int id);
00201 
00203 
00206   virtual void SetTimeBounds(double bounds[2], int enable_scaling=0);
00207   virtual int GetTimeBounds(double* bounds);
00209 
00214   virtual int CreateAndAddKeyFrame(double time, int type);
00215 
00216 protected:
00217   vtkPVAnimationCue();
00218   ~vtkPVAnimationCue();
00219 //BTX
00221 
00224   void SetImageType(int type);
00225   vtkGetMacro(ImageType, int);
00227 
00228   enum {
00229     NONE=0,
00230     IMAGE_OPEN,
00231     IMAGE_CLOSE
00232   };
00233 //ETX
00234  
00235   void InitializeObservers(vtkObject* object);
00236   virtual void ExecuteEvent(vtkObject* obj, unsigned long event, void*data);
00237  
00238   vtkKWWidget* TimeLineParent;
00239   vtkPVSource* PVSource;
00240 
00241   vtkKWLabel* Label; 
00242   vtkKWLabel* Image;
00243   vtkKWFrame* Frame;
00244 
00245   vtkKWFrame* TimeLineContainer;
00246   vtkKWFrame* TimeLineFrame;
00247   vtkPVTimeLine* TimeLine;
00248 
00249   int ImageType;
00250   int ShowTimeLine;
00251 
00252   char* Name;
00253   char* SourceTreeName;
00254   char* TclNameCommand;
00255   vtkSetStringMacro(TclNameCommand);
00256 
00257   int Focus;
00258   vtkPVAnimationScene* PVAnimationScene;
00259   
00261 
00262   void GetSelfFocus();
00263   void RemoveSelfFocus();
00265 
00267 
00272   virtual void RegisterProxies();
00273   virtual void UnregisterProxies();
00275   
00276   int CueVisibility;
00277   int DisableSelectionChangedEvent;
00278 private:
00279   vtkPVAnimationCue(const vtkPVAnimationCue&); // Not implemented.
00280   void operator=(const vtkPVAnimationCue&); // Not implemented.
00281 };
00282 
00283 #endif
00284 
00285 

Generated on Tue May 30 12:31:38 2006 for ParaView by doxygen 1.3.5