00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00024 #ifndef __vtkKWStartupPageWidget_h
00025 #define __vtkKWStartupPageWidget_h
00026
00027 #include "vtkKWCompositeWidget.h"
00028
00029 class vtkKWCanvas;
00030 class vtkKWLabel;
00031 class vtkKWIcon;
00032 class vtkKWStartupPageWidgetInternals;
00033 class vtkKWMostRecentFilesManager;
00034
00035 class KWWidgets_EXPORT vtkKWStartupPageWidget : public vtkKWCompositeWidget
00036 {
00037
00038 public:
00039 static vtkKWStartupPageWidget* New();
00040 vtkTypeRevisionMacro(vtkKWStartupPageWidget,vtkKWCompositeWidget);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00045 vtkGetVector3Macro(GradientColor1, double);
00046 virtual void SetGradientColor1(double r, double g, double b);
00047 virtual void SetGradientColor1(double rgb[3])
00048 { this->SetGradientColor1(rgb[0], rgb[1], rgb[2]); };
00049 vtkGetVector3Macro(GradientColor2, double);
00050 virtual void SetGradientColor2(double r, double g, double b);
00051 virtual void SetGradientColor2(double rgb[3])
00052 { this->SetGradientColor2(rgb[0], rgb[1], rgb[2]); };
00054
00056
00057 vtkGetVector3Macro(TextColor, double);
00058 virtual void SetTextColor(double r, double g, double b);
00059 virtual void SetTextColor(double rgb[3])
00060 { this->SetTextColor(rgb[0], rgb[1], rgb[2]); };
00062
00064
00065 vtkGetMacro(TextSize, int);
00066 virtual void SetTextSize(int);
00068
00070
00072 vtkGetVector3Macro(SelectedTextColor, double);
00073 virtual void SetSelectedTextColor(double r, double g, double b);
00074 virtual void SetSelectedTextColor(double rgb[3])
00075 { this->SetSelectedTextColor(rgb[0], rgb[1], rgb[2]); };
00077
00079
00080 vtkGetVector3Macro(HintColor, double);
00081 virtual void SetHintColor(double r, double g, double b);
00082 virtual void SetHintColor(double rgb[3])
00083 { this->SetHintColor(rgb[0], rgb[1], rgb[2]); };
00085
00087
00088 vtkGetMacro(HintSize, int);
00089 virtual void SetHintSize(int);
00091
00093
00094 virtual void SetAddShadowToHint(int);
00095 vtkGetMacro(AddShadowToHint, int);
00096 vtkBooleanMacro(AddShadowToHint, int);
00098
00100
00101 virtual void SetSupportOpen(int);
00102 vtkGetMacro(SupportOpen, int);
00103 vtkBooleanMacro(SupportOpen, int);
00105
00107
00111 vtkGetObjectMacro(OpenIcon, vtkKWIcon);
00112 virtual void SetOpenIcon(vtkKWIcon*);
00113 virtual void SetOpenIconToPredefinedIcon(int icon_index);
00115
00117
00118 virtual void SetSupportDoubleClick(int);
00119 vtkGetMacro(SupportDoubleClick, int);
00120 vtkBooleanMacro(SupportDoubleClick, int);
00122
00124
00128 vtkGetObjectMacro(DoubleClickIcon, vtkKWIcon);
00129 virtual void SetDoubleClickIcon(vtkKWIcon*);
00130 virtual void SetDoubleClickIconToPredefinedIcon(int icon_index);
00132
00134
00135 virtual void SetSupportDrop(int);
00136 vtkGetMacro(SupportDrop, int);
00137 vtkBooleanMacro(SupportDrop, int);
00139
00141
00145 vtkGetObjectMacro(DropIcon, vtkKWIcon);
00146 virtual void SetDropIcon(vtkKWIcon*);
00147 virtual void SetDropIconToPredefinedIcon(int icon_index);
00149
00151
00152 virtual void SetSupportMostRecentFiles(int);
00153 vtkGetMacro(SupportMostRecentFiles, int);
00154 vtkBooleanMacro(SupportMostRecentFiles, int);
00156
00158
00162 vtkGetObjectMacro(MostRecentFilesIcon, vtkKWIcon);
00163 virtual void SetMostRecentFilesIcon(vtkKWIcon*);
00164 virtual void SetMostRecentFilesIconToPredefinedIcon(int icon_index);
00166
00168
00173 vtkGetObjectMacro(MostRecentFileIcon, vtkKWIcon);
00174 virtual void SetMostRecentFileIcon(vtkKWIcon*);
00175 virtual void SetMostRecentFileIconToPredefinedIcon(int icon_index);
00177
00179
00180 vtkGetMacro(MostRecentFileSize, int);
00181 virtual void SetMostRecentFileSize(int);
00183
00185
00186 vtkGetObjectMacro(MostRecentFilesManager, vtkKWMostRecentFilesManager);
00187 virtual void SetMostRecentFilesManager(vtkKWMostRecentFilesManager *mgr);
00189
00191
00192 vtkGetMacro(MaximumNumberOfMostRecentFiles, int);
00193 virtual void SetMaximumNumberOfMostRecentFiles(int);
00195
00197
00203 virtual void SetOpenCommand(
00204 vtkObject *object, const char *method);
00206
00208
00215 virtual void SetDropCommand(
00216 vtkObject *object, const char *method);
00218
00220
00226 virtual void SetDoubleClickCommand(
00227 vtkObject *object, const char *method);
00229
00231
00232 vtkGetObjectMacro(StartupPageCanvas, vtkKWCanvas);
00234
00236 virtual void Update();
00237
00244 virtual void UpdateEnableState();
00245
00247
00248 virtual void ConfigureCallback();
00249 virtual void RedrawCallback();
00250 virtual void HighlightSectionCallback(const char *tag, int flag);
00251 virtual void OpenCallback();
00252 virtual void DoubleClickCallback();
00254
00256
00260 virtual void AddCallbackCommandObservers();
00261 virtual void RemoveCallbackCommandObservers();
00263
00264
00265
00266 protected:
00267 vtkKWStartupPageWidget();
00268 ~vtkKWStartupPageWidget();
00269
00271 virtual void CreateWidget();
00272
00273 double GradientColor1[3];
00274 double GradientColor2[3];
00275 double TextColor[3];
00276 double SelectedTextColor[3];
00277 double HintColor[3];
00278
00279 int TextSize;
00280 int HintSize;
00281 int MostRecentFileSize;
00282
00283 int SupportOpen;
00284 int SupportDoubleClick;
00285 int SupportDrop;
00286 int SupportMostRecentFiles;
00287
00288 int MaximumNumberOfMostRecentFiles;
00289 int AddShadowToHint;
00290
00291 vtkKWIcon *OpenIcon;
00292 vtkKWIcon *DoubleClickIcon;
00293 vtkKWIcon *DropIcon;
00294 vtkKWIcon *MostRecentFilesIcon;
00295 vtkKWIcon *MostRecentFileIcon;
00296
00297
00298
00299 vtkKWMostRecentFilesManager *MostRecentFilesManager;
00300
00301
00302
00303 char *OpenCommand;
00304 char *DropCommand;
00305 char *DoubleClickCommand;
00306
00307
00308
00309 vtkKWCanvas *StartupPageCanvas;
00310
00312
00313 virtual void Bind();
00314 virtual void UnBind();
00316
00318
00319 virtual void Redraw();
00320 virtual void ScheduleRedraw();
00322
00324
00325 virtual void UpdateInternalCanvasBindings();
00326 virtual void UpdateInternalCanvasColors();
00327 virtual void UpdateInternalCanvasFonts();
00328 virtual void UpdateInternalCanvasIcons();
00330
00332
00333 virtual void AddSectionToCanvas(
00334 ostream &tk_cmd,
00335 int x, int y,
00336 vtkKWIcon *icon,
00337 const char *text, const char *text_font,
00338 const char *hint, const char *hint_font,
00339 vtkObject *object, const char *method,
00340 const char *tag, const char *extra_tag = NULL);
00342
00343 virtual void AddMostRecentFilesSectionToCanvas(
00344 ostream &tk_cmd,
00345 int x, int y);
00346
00348
00349 virtual void InvokeOpenCommand();
00350 virtual void InvokeDoubleClickCommand();
00352
00353
00354
00355 vtkKWStartupPageWidgetInternals *Internals;
00356
00357
00359
00362 virtual void ProcessCallbackCommandEvents(
00363 vtkObject *caller, unsigned long event, void *calldata);
00365
00367 virtual int GetHorizontalIncrementFromIcon(vtkKWIcon *icon);
00368
00369
00370
00371 private:
00372 vtkKWStartupPageWidget(const vtkKWStartupPageWidget&);
00373 void operator=(const vtkKWStartupPageWidget&);
00374 };
00375
00376 #endif
00377
00378