00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __vtkKWLogWidget_h
00032 #define __vtkKWLogWidget_h
00033
00034 #include "vtkKWCompositeWidget.h"
00035
00036 class vtkKWMultiColumnListWithScrollbars;
00037 class vtkKWLogWidgetInternals;
00038 class vtkKWToolbar;
00039 class vtkKWLoadSaveButton;
00040 class vtkKWPushButton;
00041 class vtkKWTextWithScrollbars;
00042 class vtkKWFrameWithLabel;
00043
00044 class KWWidgets_EXPORT vtkKWLogWidget : public vtkKWCompositeWidget
00045 {
00046 public:
00047 static vtkKWLogWidget* New();
00048 vtkTypeRevisionMacro(vtkKWLogWidget,vtkKWCompositeWidget);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00051
00052
00053
00054 virtual int AddErrorRecord(const char *description);
00055 virtual int AddWarningRecord(const char *description);
00056 virtual int AddInformationRecord(const char *description);
00057 virtual int AddDebugRecord(const char *description);
00058
00059
00060
00061 virtual int GetNumberOfRecords();
00062
00063
00064
00065 virtual void RemoveAllRecords();
00066
00067
00068
00069 virtual void SetMaximumNumberOfRecords(int);
00070 vtkGetMacro(MaximumNumberOfRecords, int);
00071
00072
00073
00074
00075 virtual int WriteRecordsToStream(ostream& os);
00076 virtual int WriteRecordsToFile(const char *filename);
00077
00078
00079
00080 virtual int EmailRecords(const char *recipient);
00081
00082
00083
00084
00085
00086
00087 virtual char *GetFormatTimeStringCallback(const char *celltext);
00088
00089
00090
00091
00092 virtual void WriteRecordsToFileCallback();
00093
00094
00095
00096
00097 virtual void RemoveSelectedRecordsCallback();
00098 virtual void RemoveAllRecordsCallback();
00099 virtual void EmailRecordsCallback();
00100
00101
00102
00103
00104 virtual void SelectionChangedCallback();
00105
00106
00107
00108
00109
00110
00111
00112
00113 virtual void UpdateEnableState();
00114 virtual void Update();
00115
00116
00117
00118
00119
00120
00121 enum
00122 {
00123 RecordsClearedEvent = 15000
00124 };
00125
00126
00127 protected:
00128 vtkKWLogWidget();
00129 ~vtkKWLogWidget();
00130
00131
00132
00133 virtual void CreateWidget();
00134
00135
00136
00137
00138 enum
00139 {
00140 ErrorType = 0,
00141 WarningType,
00142 InformationType,
00143 DebugType
00144 };
00145
00146
00147
00148
00149 virtual void CreateRecordList();
00150
00151
00152
00153 virtual unsigned int GetCurrentTimeInSeconds();
00154
00155
00156
00157 virtual void RemoveInternalRecord(int record_id);
00158
00159
00160
00161 virtual const char* GetRecordDescription(int record_id);
00162
00163
00164
00165
00166
00167 virtual int AddRecord(const char *description, int type);
00168
00169
00170
00171
00172
00173 virtual void PruneRecords();
00174
00175
00176
00177
00178 virtual void RemoveRowWithRecordId(int record_id);
00179
00180
00181
00182 virtual int GetIndexOfRowWithRecordId(int record_id);
00183
00184
00185
00186 vtkKWLogWidgetInternals *Internals;
00187 vtkKWMultiColumnListWithScrollbars *RecordList;
00188 vtkKWToolbar *Toolbar;
00189 vtkKWLoadSaveButton *SaveButton;
00190 vtkKWPushButton *RemoveSelectedButton;
00191 vtkKWPushButton *RemoveAllButton;
00192 vtkKWPushButton *EmailButton;
00193 vtkKWFrameWithLabel *DescriptionFrame;
00194 vtkKWTextWithScrollbars *DescriptionText;
00195
00196 int MaximumNumberOfRecords;
00197
00198 private:
00199
00200 static vtkIdType IdCounter;
00201
00202 vtkKWLogWidget(const vtkKWLogWidget&);
00203 void operator=(const vtkKWLogWidget&);
00204 };
00205 #endif