00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVPick.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 __vtkPVPick_h 00022 #define __vtkPVPick_h 00023 00024 #include "vtkPVSource.h" 00025 00026 class vtkSMPointLabelDisplayProxy; 00027 00028 class vtkCollection; 00029 class vtkKWFrame; 00030 class vtkKWLabel; 00031 class vtkDataSetAttributes; 00032 class vtkKWFrameWithLabel; 00033 class vtkKWCheckButton; 00034 class vtkKWThumbWheel; 00035 class vtkPVArraySelection; 00036 class vtkSMXYPlotDisplayProxy; 00037 class vtkSMProxy; 00038 class vtkTemporalPickObserver; 00039 class vtkKWLoadSaveButton; 00040 00041 class VTK_EXPORT vtkPVPick : public vtkPVSource 00042 { 00043 public: 00044 static vtkPVPick* New(); 00045 vtkTypeRevisionMacro(vtkPVPick, vtkPVSource); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 virtual void CreateProperties(); 00050 00052 virtual void DeleteCallback(); 00053 00055 00056 void PointLabelCheckCallback(); 00057 void ChangePointLabelFontSize(); 00059 00061 00062 void UpdatePointLabelCheck(); 00063 void UpdatePointLabelFontSize(); 00065 00067 00069 virtual void SaveInBatchScript(ofstream *file); 00070 virtual void SaveState(ofstream *file); 00072 00074 void ArraySelectionInternalCallback(); 00075 00077 void SaveDialogCallback(); 00078 00080 00081 vtkGetObjectMacro(ShowXYPlotToggle, vtkKWCheckButton); 00083 00085 bool GetSourceTimeNow(double &TimeNow); 00086 00087 protected: 00088 vtkPVPick(); 00089 ~vtkPVPick(); 00090 00091 vtkKWFrame *DataFrame; 00092 vtkCollection* LabelCollection; 00093 00094 virtual void Select(); 00095 void UpdateGUI(); 00096 void ClearDataLabels(); 00097 void InsertDataLabel(const char* label, vtkIdType idx, 00098 vtkDataSetAttributes* attr, double* x=0); 00099 int LabelRow; 00100 00101 // The real AcceptCallback method. 00102 virtual void AcceptCallbackInternal(); 00103 00104 // Point label controls 00105 vtkKWFrameWithLabel *PointLabelFrame; 00106 vtkKWCheckButton *PointLabelCheck; 00107 vtkKWLabel *PointLabelFontSizeLabel; 00108 vtkKWThumbWheel *PointLabelFontSizeThumbWheel; 00109 00110 // Added for temporal plot 00111 vtkKWFrameWithLabel *XYPlotFrame; 00112 vtkKWCheckButton *ShowXYPlotToggle; 00113 vtkPVArraySelection *ArraySelection; 00114 vtkSMXYPlotDisplayProxy* PlotDisplayProxy; 00115 char* PlotDisplayProxyName; 00116 vtkSetStringMacro(PlotDisplayProxyName); 00117 vtkSMProxy* TemporalPickProxy; 00118 char* TemporalPickProxyName; 00119 vtkSetStringMacro(TemporalPickProxyName); 00120 vtkTemporalPickObserver *Observer; 00121 vtkKWLoadSaveButton *SaveButton; 00122 int LastPorC; 00123 int LastUseId; 00124 00125 virtual void SaveTemporalPickInBatchScript(ofstream *file); 00126 00127 private: 00128 vtkPVPick(const vtkPVPick&); // Not implemented 00129 void operator=(const vtkPVPick&); // Not implemented 00130 }; 00131 00132 #endif