00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __vtkKWStartupPageWidget_h
00023 #define __vtkKWStartupPageWidget_h
00024
00025 #include "vtkKWCompositeWidget.h"
00026
00027 class vtkKWCanvas;
00028 class vtkKWLabel;
00029 class vtkKWIcon;
00030 class vtkKWStartupPageWidgetInternals;
00031 class vtkKWMostRecentFilesManager;
00032
00033 class KWWidgets_EXPORT vtkKWStartupPageWidget : public vtkKWCompositeWidget
00034 {
00035 public:
00036 static vtkKWStartupPageWidget* New();
00037 vtkTypeRevisionMacro(vtkKWStartupPageWidget,vtkKWCompositeWidget);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00040
00041
00042 vtkGetVector3Macro(GradientColor1, double);
00043 virtual void SetGradientColor1(double r, double g, double b);
00044 virtual void SetGradientColor1(double rgb[3])
00045 { this->SetGradientColor1(rgb[0], rgb[1], rgb[2]); };
00046 vtkGetVector3Macro(GradientColor2, double);
00047 virtual void SetGradientColor2(double r, double g, double b);
00048 virtual void SetGradientColor2(double rgb[3])
00049 { this->SetGradientColor2(rgb[0], rgb[1], rgb[2]); };
00050
00051
00052
00053 vtkGetVector3Macro(TextColor, double);
00054 virtual void SetTextColor(double r, double g, double b);
00055 virtual void SetTextColor(double rgb[3])
00056 { this->SetTextColor(rgb[0], rgb[1], rgb[2]); };
00057
00058
00059
00060 vtkGetMacro(TextSize, int);
00061 virtual void SetTextSize(int);
00062
00063
00064
00065 vtkGetVector3Macro(SelectedTextColor, double);
00066 virtual void SetSelectedTextColor(double r, double g, double b);
00067 virtual void SetSelectedTextColor(double rgb[3])
00068 { this->SetSelectedTextColor(rgb[0], rgb[1], rgb[2]); };
00069
00070
00071
00072 vtkGetVector3Macro(HintColor, double);
00073 virtual void SetHintColor(double r, double g, double b);
00074 virtual void SetHintColor(double rgb[3])
00075 { this->SetHintColor(rgb[0], rgb[1], rgb[2]); };
00076
00077
00078
00079 vtkGetMacro(HintSize, int);
00080 virtual void SetHintSize(int);
00081
00082
00083
00084 virtual void SetAddShadowToHint(int);
00085 vtkGetMacro(AddShadowToHint, int);
00086 vtkBooleanMacro(AddShadowToHint, int);
00087
00088
00089
00090 virtual void SetSupportOpen(int);
00091 vtkGetMacro(SupportOpen, int);
00092 vtkBooleanMacro(SupportOpen, int);
00093
00094
00095
00096
00097
00098
00099 vtkGetObjectMacro(OpenIcon, vtkKWIcon);
00100 virtual void SetOpenIcon(vtkKWIcon*);
00101 virtual void SetOpenIconToPredefinedIcon(int icon_index);
00102
00103
00104
00105 virtual void SetSupportDoubleClick(int);
00106 vtkGetMacro(SupportDoubleClick, int);
00107 vtkBooleanMacro(SupportDoubleClick, int);
00108
00109
00110
00111
00112
00113
00114 vtkGetObjectMacro(DoubleClickIcon, vtkKWIcon);
00115 virtual void SetDoubleClickIcon(vtkKWIcon*);
00116 virtual void SetDoubleClickIconToPredefinedIcon(int icon_index);
00117
00118
00119
00120 virtual void SetSupportDrop(int);
00121 vtkGetMacro(SupportDrop, int);
00122 vtkBooleanMacro(SupportDrop, int);
00123
00124
00125
00126
00127
00128
00129 vtkGetObjectMacro(DropIcon, vtkKWIcon);
00130 virtual void SetDropIcon(vtkKWIcon*);
00131 virtual void SetDropIconToPredefinedIcon(int icon_index);
00132
00133
00134
00135 virtual void SetSupportMostRecentFiles(int);
00136 vtkGetMacro(SupportMostRecentFiles, int);
00137 vtkBooleanMacro(SupportMostRecentFiles, int);
00138
00139
00140
00141
00142
00143
00144 vtkGetObjectMacro(MostRecentFilesIcon, vtkKWIcon);
00145 virtual void SetMostRecentFilesIcon(vtkKWIcon*);
00146 virtual void SetMostRecentFilesIconToPredefinedIcon(int icon_index);
00147
00148
00149
00150
00151
00152
00153
00154 vtkGetObjectMacro(MostRecentFileIcon, vtkKWIcon);
00155 virtual void SetMostRecentFileIcon(vtkKWIcon*);
00156 virtual void SetMostRecentFileIconToPredefinedIcon(int icon_index);
00157
00158
00159
00160 vtkGetMacro(MostRecentFileSize, int);
00161 virtual void SetMostRecentFileSize(int);
00162
00163
00164
00165 vtkGetObjectMacro(MostRecentFilesManager, vtkKWMostRecentFilesManager);
00166 virtual void SetMostRecentFilesManager(vtkKWMostRecentFilesManager *mgr);
00167
00168
00169
00170 vtkGetMacro(MaximumNumberOfMostRecentFiles, int);
00171 virtual void SetMaximumNumberOfMostRecentFiles(int);
00172
00173
00174
00175
00176
00177
00178
00179
00180 virtual void SetOpenCommand(
00181 vtkObject *object, const char *method);
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192 virtual void SetDropCommand(
00193 vtkObject *object, const char *method);
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203 virtual void SetDoubleClickCommand(
00204 vtkObject *object, const char *method);
00205
00206
00207
00208 vtkGetObjectMacro(StartupPageCanvas, vtkKWCanvas);
00209
00210
00211
00212 virtual void Update();
00213
00214
00215
00216
00217
00218
00219
00220
00221 virtual void UpdateEnableState();
00222
00223
00224
00225 virtual void ConfigureCallback();
00226 virtual void RedrawCallback();
00227 virtual void HighlightSectionCallback(const char *tag, int flag);
00228 virtual void OpenCallback();
00229 virtual void DoubleClickCallback();
00230
00231
00232
00233
00234
00235
00236 virtual void AddCallbackCommandObservers();
00237 virtual void RemoveCallbackCommandObservers();
00238
00239 protected:
00240 vtkKWStartupPageWidget();
00241 ~vtkKWStartupPageWidget();
00242
00243
00244
00245 virtual void CreateWidget();
00246
00247 double GradientColor1[3];
00248 double GradientColor2[3];
00249 double TextColor[3];
00250 double SelectedTextColor[3];
00251 double HintColor[3];
00252
00253 int TextSize;
00254 int HintSize;
00255 int MostRecentFileSize;
00256
00257 int SupportOpen;
00258 int SupportDoubleClick;
00259 int SupportDrop;
00260 int SupportMostRecentFiles;
00261
00262 int MaximumNumberOfMostRecentFiles;
00263 int AddShadowToHint;
00264
00265 vtkKWIcon *OpenIcon;
00266 vtkKWIcon *DoubleClickIcon;
00267 vtkKWIcon *DropIcon;
00268 vtkKWIcon *MostRecentFilesIcon;
00269 vtkKWIcon *MostRecentFileIcon;
00270
00271
00272
00273 vtkKWMostRecentFilesManager *MostRecentFilesManager;
00274
00275
00276
00277 char *OpenCommand;
00278 char *DropCommand;
00279 char *DoubleClickCommand;
00280
00281
00282
00283 vtkKWCanvas *StartupPageCanvas;
00284
00285
00286
00287 virtual void Bind();
00288 virtual void UnBind();
00289
00290
00291
00292 virtual void Redraw();
00293 virtual void ScheduleRedraw();
00294
00295
00296
00297 virtual void UpdateInternalCanvasBindings();
00298 virtual void UpdateInternalCanvasColors();
00299 virtual void UpdateInternalCanvasFonts();
00300 virtual void UpdateInternalCanvasIcons();
00301
00302
00303
00304 virtual void AddSectionToCanvas(
00305 ostream &tk_cmd,
00306 int x, int y,
00307 vtkKWIcon *icon,
00308 const char *text, const char *text_font,
00309 const char *hint, const char *hint_font,
00310 vtkObject *object, const char *method,
00311 const char *tag, const char *extra_tag = NULL);
00312
00313 virtual void AddMostRecentFilesSectionToCanvas(
00314 ostream &tk_cmd,
00315 int x, int y);
00316
00317
00318
00319 virtual void InvokeOpenCommand();
00320 virtual void InvokeDoubleClickCommand();
00321
00322
00323
00324 vtkKWStartupPageWidgetInternals *Internals;
00325
00326
00327
00328
00329
00330
00331 virtual void ProcessCallbackCommandEvents(
00332 vtkObject *caller, unsigned long event, void *calldata);
00333
00334
00335
00336 virtual int GetHorizontalIncrementFromIcon(vtkKWIcon *icon);
00337
00338 private:
00339 vtkKWStartupPageWidget(const vtkKWStartupPageWidget&);
00340 void operator=(const vtkKWStartupPageWidget&);
00341 };
00342
00343 #endif
00344