00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00032 #ifndef __vtkPVLookmark_h
00033 #define __vtkPVLookmark_h
00034
00035 #include "vtkKWLookmark.h"
00036
00037 class vtkPVSource;
00038 class vtkPVSourceCollection;
00039 class vtkRenderWindow;
00040 class vtkPVApplication;
00041 class vtkPVRenderView;
00042 class vtkPVLookmarkManager;
00043 class vtkPVTraceHelper;
00044 class vtkKWPushButton;
00045 class vtkPVLookmarkObserver;
00046 class vtkKWIcon;
00047 class vtkPVWindow;
00048
00049 class VTK_EXPORT vtkPVLookmark : public vtkKWLookmark
00050 {
00051 public:
00052
00053 static vtkPVLookmark* New();
00054 vtkTypeRevisionMacro(vtkPVLookmark,vtkKWLookmark);
00055 void PrintSelf(ostream& os, vtkIndent indent);
00056
00058
00059 vtkGetObjectMacro(TraceHelper, vtkPVTraceHelper);
00061
00063
00068 void PreView();
00069 void ViewCallback();
00070 void View();
00072
00074
00077 void PreViewMacro();
00078 void ViewMacroCallback();
00079 void ViewMacro();
00081
00082 void ReleaseEvent();
00083
00086 void Clone(vtkPVLookmark*& lmk);
00087
00090 void Update();
00091
00094 void CreateIconFromMainView();
00095
00097 void UpdateWidgetValues();
00098
00106 void StoreStateScript();
00107
00109
00114 vtkGetStringMacro(StateScript);
00115 vtkSetStringMacro(StateScript);
00117
00119
00121 vtkGetStringMacro(Version);
00122 vtkSetStringMacro(Version);
00124
00126
00127 vtkGetStringMacro(ImageData);
00128 vtkSetStringMacro(ImageData);
00130
00132
00133 vtkGetVector3Macro(CenterOfRotation,float);
00134 vtkSetVector3Macro(CenterOfRotation,float);
00136
00138
00140 vtkGetMacro(Location,int);
00141 vtkSetMacro(Location,int);
00143
00146 void EnableScrollBar();
00147
00150 void RemovePVSource(vtkPVSource *src);
00151
00153
00155 vtkGetObjectMacro(ToolbarButton,vtkKWPushButton);
00156 void AddLookmarkToolbarButton(vtkKWIcon *icon);
00158
00161 void InitializeDataset();
00162
00163 protected:
00164
00165 vtkPVLookmark();
00166 ~vtkPVLookmark();
00167
00172 int IsSourceOrOutputsVisible(vtkPVSource *src,int visibilityFlag);
00173
00174
00175 vtkPVApplication *GetPVApplication();
00176 vtkPVRenderView* GetPVRenderView();
00177 vtkPVWindow* GetPVWindow();
00178 vtkPVLookmarkManager* GetPVLookmarkManager();
00179
00180 virtual void ExecuteEvent(vtkObject* , unsigned long event, void* calldata);
00181
00182 vtkPVLookmarkObserver* Observer;
00183 friend class vtkPVLookmarkObserver;
00184
00185
00189 void AddPVSource(vtkPVSource *src);
00190
00196 int DeletePVSources();
00197
00200 vtkKWIcon *GetIconOfRenderWindow(vtkRenderWindow *window);
00201
00203 char *GetEncodedImageData(vtkKWIcon *lmkIcon);
00204
00206
00208 void SetLookmarkIconCommand();
00209 void UnsetLookmarkIconCommand();
00211
00213
00214 void TurnFiltersOff();
00215 void TurnScalarBarsOff();
00217
00219
00225 void ParseAndExecuteStateScript(char *state, int macroFlag);
00226 vtkPVSource *GetReaderForLookmark(vtkPVSourceCollection *col,char *module, char *pathname, int &newDatasetFlag, int &updateLookmarkFlag);
00227 vtkPVSource *GetReaderForMacro(vtkPVSourceCollection *col, char *pathname);
00228 vtkPVSource *GetSourceForLookmark(vtkPVSourceCollection *col,char *sourcename);
00229 vtkPVSource *GetSourceForMacro(vtkPVSourceCollection *col,char *sourcename);
00231
00232 char *Version;
00233 char* StateScript;
00234 char* ImageData;
00235 float* CenterOfRotation;
00236 vtkPVSourceCollection* Sources;
00237 int Location;
00238 unsigned long ErrorEventTag;
00239 int ReleaseEventFlag;
00240
00241 vtkPVTraceHelper* TraceHelper;
00242
00243 vtkKWPushButton *ToolbarButton;
00244
00245 private:
00246 vtkPVLookmark(const vtkPVLookmark&);
00247 void operator=(const vtkPVLookmark&);
00248 };
00249
00250 #endif
00251