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

GUI/Client/vtkPVLookmark.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVLookmark.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 =========================================================================*/
00015 /*----------------------------------------------------------------------------
00016  Copyright (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
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   // convenience methods
00175   vtkPVApplication *GetPVApplication();
00176   vtkPVRenderView* GetPVRenderView(); 
00177   vtkPVWindow* GetPVWindow(); 
00178   vtkPVLookmarkManager* GetPVLookmarkManager(); 
00179 
00180   virtual void ExecuteEvent(vtkObject* , unsigned long event, void* calldata);
00181 //BTX
00182   vtkPVLookmarkObserver* Observer;
00183   friend class vtkPVLookmarkObserver;
00184 //ETX
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&); // Not implemented
00247   void operator=(const vtkPVLookmark&); // Not implemented
00248 };
00249 
00250 #endif
00251 

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