00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVTimerLogDisplay.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 __vtkPVTimerLogDisplay_h 00022 #define __vtkPVTimerLogDisplay_h 00023 00024 #include "vtkKWTopLevel.h" 00025 00026 class vtkKWApplication; 00027 class vtkPVApplication; 00028 class vtkKWPushButton; 00029 class vtkKWEntry; 00030 class vtkKWLabel; 00031 class vtkKWTextWithScrollbars; 00032 class vtkKWFrame; 00033 class vtkKWWindow; 00034 class vtkKWMenuButton; 00035 class vtkKWCheckButton; 00036 class vtkPVTimerInformation; 00037 00038 class VTK_EXPORT vtkPVTimerLogDisplay : public vtkKWTopLevel 00039 { 00040 public: 00041 static vtkPVTimerLogDisplay* New(); 00042 vtkTypeRevisionMacro(vtkPVTimerLogDisplay, vtkKWTopLevel); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 virtual void Create(vtkKWApplication *app); 00047 00049 virtual void Display(); 00050 00052 00053 void SetThreshold(float val); 00054 vtkGetMacro(Threshold, float); 00056 00058 00059 void SetBufferLength(int len); 00060 int GetBufferLength(); 00062 00064 00065 void Save(); 00066 virtual void Save(const char* fileName); 00068 00070 virtual void Clear(); 00071 00074 void EnableCheckCallback(); 00075 00076 //BTX 00078 00079 vtkPVTimerInformation* GetTimerInformation(); 00080 //ETX 00082 00084 vtkPVApplication* GetPVApplication(); 00085 00092 virtual void UpdateEnableState(); 00093 00095 virtual void Update(); 00096 00097 protected: 00098 vtkPVTimerLogDisplay(); 00099 ~vtkPVTimerLogDisplay(); 00100 00101 void DisplayLog(); 00102 00103 void Append(const char*); 00104 00105 vtkKWFrame* ControlFrame; 00106 vtkKWPushButton* SaveButton; 00107 vtkKWPushButton* ClearButton; 00108 vtkKWPushButton* RefreshButton; 00109 vtkKWLabel* ThresholdLabel; 00110 vtkKWMenuButton* ThresholdMenu; 00111 vtkKWLabel* BufferLengthLabel; 00112 vtkKWMenuButton* BufferLengthMenu; 00113 vtkKWLabel* EnableLabel; 00114 vtkKWCheckButton* EnableCheck; 00115 00116 vtkKWTextWithScrollbars* DisplayText; 00117 00118 vtkKWFrame* ButtonFrame; 00119 vtkKWPushButton* DismissButton; 00120 00121 float Threshold; 00122 00123 vtkPVTimerInformation* TimerInformation; 00124 00125 private: 00126 vtkPVTimerLogDisplay(const vtkPVTimerLogDisplay&); // Not implemented 00127 void operator=(const vtkPVTimerLogDisplay&); // Not implemented 00128 }; 00129 00130 #endif