00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkPVComparativeVisManagerGUI.h,v $ 00004 00005 Copyright (c) Kitware, Inc. 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00022 #ifndef __vtkPVComparativeVisManagerGUI_h 00023 #define __vtkPVComparativeVisManagerGUI_h 00024 00025 #include "vtkKWTopLevel.h" 00026 00027 class vtkCVProgressObserver; 00028 class vtkKWFrame; 00029 class vtkKWFrameWithLabel; 00030 class vtkKWListBox; 00031 class vtkKWPushButton; 00032 class vtkPVComparativeVisDialog; 00033 class vtkPVComparativeVisManager; 00034 class vtkPVComparativeVisProgressDialog; 00035 class vtkSMComparativeVisProxy; 00036 00037 class VTK_EXPORT vtkPVComparativeVisManagerGUI : public vtkKWTopLevel 00038 { 00039 public: 00040 static vtkPVComparativeVisManagerGUI* New(); 00041 vtkTypeRevisionMacro(vtkPVComparativeVisManagerGUI,vtkKWTopLevel); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 virtual void Create(vtkKWApplication *app); 00046 00048 void Update(); 00049 00051 void AddVisualization(); 00052 00054 void EditVisualization(); 00055 00057 void DeleteVisualization(); 00058 00060 void ShowVisualization(); 00061 00063 void HideVisualization(); 00064 00066 void PrepareForDelete(); 00067 00069 00071 vtkGetObjectMacro(Manager, vtkPVComparativeVisManager); 00073 00075 virtual void UpdateEnableState(); 00076 00078 void ItemSelected(); 00079 00082 virtual void SaveState(ofstream *file); 00083 00085 00086 vtkGetObjectMacro(ComparativeVisList, vtkKWListBox); 00088 00089 protected: 00090 vtkPVComparativeVisManagerGUI(); 00091 ~vtkPVComparativeVisManagerGUI(); 00092 00093 vtkKWFrame* MainFrame; 00094 00095 // List of visualizations 00096 vtkKWFrameWithLabel* ListFrame; 00097 vtkKWListBox* ComparativeVisList; 00098 00099 // Buttons 00100 vtkKWFrame* CommandFrame; 00101 vtkKWPushButton* CreateButton; 00102 vtkKWPushButton* EditButton; 00103 vtkKWPushButton* DeleteButton; 00104 vtkKWPushButton* ShowButton; 00105 vtkKWPushButton* HideButton; 00106 vtkKWPushButton* CloseButton; 00107 00108 // Popup dialog to edit a visualization 00109 vtkPVComparativeVisDialog* EditDialog; 00110 00111 // Popup dialog to show progress during generate 00112 vtkPVComparativeVisProgressDialog* ProgressDialog; 00113 00114 // Underlying data 00115 vtkPVComparativeVisManager* Manager; 00116 00117 int InShow; 00118 int VisSelected; 00119 00120 void UpdateProgress(double prog); 00121 00122 vtkSMComparativeVisProxy* VisBeingGenerated; 00123 00124 //BTX 00125 friend class vtkCVProgressObserver; 00126 //ETX 00127 00128 private: 00129 vtkCVProgressObserver* ProgressObserver; 00130 00131 vtkPVComparativeVisManagerGUI(const vtkPVComparativeVisManagerGUI&); // Not implemented 00132 void operator=(const vtkPVComparativeVisManagerGUI&); // Not Implemented 00133 }; 00134 00135 #endif