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

GUI/Client/vtkPVAnimationCueTree.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVAnimationCueTree.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 =========================================================================*/
00030 #ifndef __vtkPVAnimationCueTree_h
00031 #define __vtkPVAnimationCueTree_h
00032 
00033 #include "vtkPVAnimationCue.h"
00034 
00035 class vtkCollection;
00036 class vtkCollectionIterator;
00037 class vtkKWFrame;
00038 class vtkKWCanvas;
00039 
00040 class VTK_EXPORT vtkPVAnimationCueTree : public vtkPVAnimationCue
00041 {
00042 public:
00043   static vtkPVAnimationCueTree* New();
00044   vtkTypeRevisionMacro(vtkPVAnimationCueTree, vtkPVAnimationCue);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00048   virtual void Create(vtkKWApplication* app);
00049 
00053   void AddChildCue(vtkPVAnimationCue* child);
00054 
00056   void RemoveChildCue(vtkPVAnimationCue* child);
00057 
00061   vtkPVAnimationCue* GetChild(const char* name);
00062 
00065   vtkCollectionIterator* NewChildrenIterator();
00066   
00067   virtual void PackWidget();
00068   virtual void UnpackWidget();
00069 
00070 
00072 
00073   virtual void ToggleExpandedState();
00074   void SetExpanded(int expand);
00076 
00080   virtual void SetTimeBounds(double bounds[2], int enable_scaling=0);
00081 
00082 
00084 
00086   vtkBooleanMacro(ScaleChildrenOnEndPointsChange, int);
00087   vtkSetMacro(ScaleChildrenOnEndPointsChange, int);
00088   vtkGetMacro(ScaleChildrenOnEndPointsChange, int);
00090 
00092 
00095   vtkBooleanMacro(MoveEndPointsWhenChildrenChange, int);
00096   vtkSetMacro(MoveEndPointsWhenChildrenChange, int);
00097   vtkGetMacro(MoveEndPointsWhenChildrenChange, int);
00099 
00100 
00103   virtual void GetFocus();
00104 
00106   virtual void RemoveFocus();
00107 
00109   virtual int HasFocus();
00110 
00114   virtual void SetTimeMarker( double time);
00115 
00117   virtual void StartRecording();
00118 
00120   virtual void StopRecording();
00121 
00123 
00124   virtual void RecordState(double ntime, double offset);
00125   virtual void RecordState(double ntime, double offset, int onlyFocus);
00127 
00134   virtual void UpdateEnableState();
00135 
00136 
00137   virtual void SaveState(ofstream* file);
00138 
00139   virtual void Zoom(double range[2]);
00140 
00142   virtual void RemoveAllKeyFrames();
00143 
00146   virtual void UpdateCueVisibility(int advanced);
00147 
00150   virtual void Detach();
00151 
00152 protected:
00153   vtkPVAnimationCueTree();
00154   ~vtkPVAnimationCueTree();
00155 
00156   int Expanded;
00157   vtkCollection* Children;
00158 
00159   vtkKWFrame* NavigatorContainer;
00160   vtkKWCanvas* NavigatorCanvas;
00161   vtkKWFrame* NavigatorChildrenFrame;
00162 
00163   vtkKWFrame* TimeLineChildrenFrame;
00164 
00165   virtual void ExecuteEvent(vtkObject* wdg, unsigned long event, void* calldata);
00166 
00167   
00168   void DrawChildConnections(vtkPVAnimationCue* child);
00169 
00170   double LastParameterBounds[2];
00171   vtkSetVector2Macro(LastParameterBounds, double);
00172 
00173   void ScaleChildren(double old_bounds[2], double new_bounds[2]);
00174 
00175   int ScaleChildrenOnEndPointsChange;
00176   int MoveEndPointsWhenChildrenChange;
00177 
00178   // This flag means that we are forcing the time bounds, 
00179   // all events triggered saying that the Keys changed are ignored.
00180   int ForceBounds;
00181 
00182   void RemoveChildrenFocus(vtkPVAnimationCue* exception = NULL);
00183   void AdjustEndPoints();
00184 private:
00185   vtkPVAnimationCueTree(const vtkPVAnimationCueTree&); // Not implemented.
00186   void operator=(const vtkPVAnimationCueTree&); // Not implemented.
00187 };
00188 
00189 
00190 #endif
00191 

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