00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00022 #ifndef __vtkKWToolbar_h
00023 #define __vtkKWToolbar_h
00024
00025 #include "vtkKWCompositeWidget.h"
00026
00027 class vtkKWApplication;
00028 class vtkKWFrame;
00029 class vtkKWRadioButton;
00030 class vtkKWToolbarInternals;
00031
00032 class KWWIDGETS_EXPORT vtkKWToolbar : public vtkKWCompositeWidget
00033 {
00034 public:
00035 static vtkKWToolbar* New();
00036 vtkTypeRevisionMacro(vtkKWToolbar, vtkKWCompositeWidget);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 virtual void Create(vtkKWApplication *app);
00041
00043
00045 vtkGetObjectMacro(Frame, vtkKWFrame);
00047
00049
00050 virtual void SetResizable(int);
00051 vtkGetMacro(Resizable, int);
00052 vtkBooleanMacro(Resizable, int);
00054
00056
00058 vtkGetStringMacro(Name);
00059 vtkSetStringMacro(Name);
00061
00063
00065 virtual void AddWidget(vtkKWWidget* widget);
00066 virtual void InsertWidget(vtkKWWidget* location, vtkKWWidget* widget);
00068
00070
00071 virtual int HasWidget(vtkKWWidget* widget);
00072 virtual int GetNumberOfWidgets();
00074
00076
00077 virtual void RemoveWidget(vtkKWWidget* widget);
00078 virtual void RemoveAllWidgets();
00080
00084 virtual vtkKWWidget* GetWidget(const char *name);
00085
00087 virtual vtkKWWidget* GetNthWidget(int rank);
00088
00090
00094 vtkKWWidget* AddRadioButtonImage(int value,
00095 const char *image_name,
00096 const char *select_image_name,
00097 const char *variable_name,
00098 vtkObject *object,
00099 const char *method,
00100 const char *help = 0);
00101 vtkKWWidget* AddCheckButtonImage(const char *image_name,
00102 const char *select_image_name,
00103 const char *variable_name,
00104 vtkObject *object,
00105 const char *method,
00106 const char *help = 0);
00108
00110 virtual void UpdateWidgets();
00111
00114 virtual void Update();
00115
00117
00120 virtual void SetFlatAspect(int);
00121 vtkBooleanMacro(FlatAspect, int);
00122 vtkGetMacro(FlatAspect, int);
00123 static int GetGlobalFlatAspect();
00124 static void SetGlobalFlatAspect(int val);
00125 static void GlobalFlatAspectOn()
00126 { vtkKWToolbar::SetGlobalFlatAspect(1); };
00127 static void GlobalFlatAspectOff()
00128 { vtkKWToolbar::SetGlobalFlatAspect(0); };
00130
00132
00135 virtual void SetWidgetsFlatAspect(int);
00136 vtkBooleanMacro(WidgetsFlatAspect, int);
00137 vtkGetMacro(WidgetsFlatAspect, int);
00138 static int GetGlobalWidgetsFlatAspect();
00139 static void SetGlobalWidgetsFlatAspect(int val);
00140 static void GlobalWidgetsFlatAspectOn()
00141 { vtkKWToolbar::SetGlobalWidgetsFlatAspect(1); };
00142 static void GlobalWidgetsFlatAspectOff()
00143 { vtkKWToolbar::SetGlobalWidgetsFlatAspect(0); };
00145
00147
00149 virtual void SetWidgetsPadX(int);
00150 vtkGetMacro(WidgetsPadX, int);
00151 virtual void SetWidgetsPadY(int);
00152 vtkGetMacro(WidgetsPadY, int);
00154
00156
00158 virtual void SetWidgetsFlatAdditionalPadX(int);
00159 vtkGetMacro(WidgetsFlatAdditionalPadX, int);
00160 virtual void SetWidgetsFlatAdditionalPadY(int);
00161 vtkGetMacro(WidgetsFlatAdditionalPadY, int);
00163
00165
00167 virtual void ScheduleResize();
00168 virtual void Resize();
00170
00177 virtual void UpdateEnableState();
00178
00180
00181 static const char *FlatAspectRegKey;
00182 static const char *WidgetsFlatAspectRegKey;
00183
00185
00186 protected:
00187 vtkKWToolbar();
00188 ~vtkKWToolbar();
00189
00190 int Expanding;
00191
00192 vtkKWFrame *Frame;
00193 vtkKWFrame *Handle;
00194
00195 void ConstrainWidgetsLayout();
00196 void UpdateWidgetsLayout();
00197 void UpdateWidgetsAspect();
00198 void UpdateToolbarFrameAspect();
00199
00200
00201
00202
00203
00204 vtkKWToolbarInternals *Internals;
00205
00206
00207
00208 int WidgetsPadX;
00209 int WidgetsPadY;
00210 int WidgetsFlatAdditionalPadX;
00211 int WidgetsFlatAdditionalPadY;
00212
00213 int FlatAspect;
00214 int WidgetsFlatAspect;
00215 int Resizable;
00216
00217 vtkKWRadioButton *DefaultOptionsWidget;
00218
00219 char *Name;
00220
00222
00223 virtual void Bind();
00224 virtual void UnBind();
00226
00227 private:
00228 vtkKWToolbar(const vtkKWToolbar&);
00229 void operator=(const vtkKWToolbar&);
00230 };
00231
00232
00233 #endif
00234
00235
00236