00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVComparativeVisDialog.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 =========================================================================*/ 00024 #ifndef __vtkPVComparativeVisDialog_h 00025 #define __vtkPVComparativeVisDialog_h 00026 00027 #include "vtkKWDialog.h" 00028 00029 class vtkKWEntryWithLabel; 00030 class vtkKWFrame; 00031 class vtkKWFrameWithLabel; 00032 class vtkKWPushButton; 00033 class vtkPVComparativeVisPropertyWidget; 00034 class vtkPVTrackEditor; 00035 class vtkSMComparativeVisProxy; 00036 //BTX 00037 struct vtkPVComparativeVisDialogInternals; 00038 //ETX 00039 00040 class VTK_EXPORT vtkPVComparativeVisDialog : public vtkKWDialog 00041 { 00042 public: 00043 static vtkPVComparativeVisDialog* New(); 00044 vtkTypeRevisionMacro(vtkPVComparativeVisDialog,vtkKWDialog); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 virtual void Create(vtkKWApplication *app); 00049 00052 void CopyToVisualization(vtkSMComparativeVisProxy* cv); 00053 00055 void CopyFromVisualization(vtkSMComparativeVisProxy* cv); 00056 00058 void InitializeToDefault(); 00059 00061 void CueSelected(unsigned int i); 00062 00063 protected: 00064 vtkPVComparativeVisDialog(); 00065 ~vtkPVComparativeVisDialog(); 00066 00067 // Called when user selects a property 00068 void CueSelected(vtkPVComparativeVisPropertyWidget* wid); 00069 00070 // Create a new property widget. 00071 void NewPropertyWidget(); 00072 00073 //BTX 00074 friend class vtkPVCVCueSelectionCommand; 00075 //ETX 00076 00077 // To edit the keyframes 00078 vtkPVTrackEditor* TrackEditor; 00079 // The name of the visualization 00080 vtkKWEntryWithLabel* NameEntry; 00081 // The property list 00082 vtkKWFrameWithLabel* VisualizationListFrame; 00083 00084 vtkKWFrame* MainFrame; 00085 vtkKWFrame* ButtonFrame; 00086 vtkKWPushButton* OKButton; 00087 vtkKWPushButton* CancelButton; 00088 00089 vtkKWFrame* NumberOfFramesFrame; 00090 vtkKWEntryWithLabel* NumberOfXFramesEntry; 00091 vtkKWEntryWithLabel* NumberOfYFramesEntry; 00092 00093 // Used in assigning unique default names to visualization 00094 static int NumberOfVisualizationsCreated; 00095 00096 // Control the (fixed) dimensions of the dialog 00097 static const int DialogWidth; 00098 static const int DialogHeight; 00099 00100 private: 00101 vtkPVComparativeVisDialog(const vtkPVComparativeVisDialog&); // Not implemented 00102 void operator=(const vtkPVComparativeVisDialog&); // Not implemented 00103 00104 // PIMPL 00105 vtkPVComparativeVisDialogInternals* Internal; 00106 }; 00107 00108 00109 #endif 00110 00111