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

GUI/Client/vtkPVActiveTrackSelector.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVActiveTrackSelector.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 __vtkPVActiveTrackSelector_h
00022 #define __vtkPVActiveTrackSelector_h
00023 
00024 #include "vtkPVTracedWidget.h"
00025 
00026 class vtkKWLabel;
00027 class vtkKWMenuButton;
00028 class vtkPVActiveTrackSelectorInternals;
00029 class vtkPVAnimationCueTree;
00030 class vtkPVAnimationCue;
00031 class vtkSMAnimationCueProxy;
00032 class vtkSMProxy;
00033 class vtkPVSource;
00034 
00035 class VTK_EXPORT vtkPVActiveTrackSelector : public vtkPVTracedWidget
00036 {
00037 public:
00038   static vtkPVActiveTrackSelector* New();
00039   vtkTypeRevisionMacro(vtkPVActiveTrackSelector, vtkPVTracedWidget);
00040   void PrintSelf(ostream& os, vtkIndent indent);
00041 
00043   virtual void Create(vtkKWApplication* app);
00044 
00046 
00047   void AddSource(vtkPVAnimationCueTree*);
00048   void RemoveSource(vtkPVAnimationCueTree*);
00049   void RemoveSource(vtkPVSource*);
00051 
00053 
00054   void SelectSourceCallback(const char* key);
00055   void SelectPropertyCallback(int cue_index);
00057 
00059 
00063   int SelectCue(vtkPVAnimationCue*);
00064   int SelectCue(const char* sourceName, vtkSMAnimationCueProxy* cue);
00066 
00068 
00069   vtkGetObjectMacro(SourceMenuButton, vtkKWMenuButton);
00070   vtkGetObjectMacro(PropertyMenuButton, vtkKWMenuButton);
00072 
00074 
00075   vtkGetObjectMacro(CurrentCue, vtkPVAnimationCue);
00077 
00079 
00081   vtkGetMacro(FocusCurrentCue, int);
00082   vtkSetMacro(FocusCurrentCue, int);
00084 
00086 
00089   vtkSetMacro(PackHorizontally, int);
00090   vtkGetMacro(PackHorizontally, int);
00092 
00094 
00097   void ShallowCopy(vtkPVActiveTrackSelector* source,
00098                    int onlyCopySources=0);
00100 
00105   virtual void UpdateEnableState();
00106 protected:
00107   vtkPVActiveTrackSelector();
00108   ~vtkPVActiveTrackSelector();
00109   void SelectSourceCallbackInternal(const char*key);
00110   void SelectPropertyCallbackInternal(int cue_index);
00111 
00112   void BuildPropertiesMenu(const char* pretext, vtkPVAnimationCueTree* cueTree);
00113   void CleanupPropertiesMenu();
00114   void CleanupSource();
00115 
00116   vtkPVAnimationCueTree* CurrentSourceCueTree;
00117   vtkPVAnimationCue* CurrentCue;
00118   vtkKWLabel* SourceLabel;
00119   vtkKWMenuButton* SourceMenuButton;
00120 
00121   vtkKWLabel* PropertyLabel;
00122   vtkKWMenuButton* PropertyMenuButton;
00123  
00124   vtkPVActiveTrackSelectorInternals* Internals;
00125 
00126   int PackHorizontally;
00127   int FocusCurrentCue;
00128 
00129 private:
00130   vtkPVActiveTrackSelector(const vtkPVActiveTrackSelector&); // Not implemented.
00131   void operator=(const vtkPVActiveTrackSelector&); // Not implemented.
00132 };
00133 
00134 #endif

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