Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Widgets/vtkKWToolbar.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWToolbar.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
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   //ETX
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   //BTX
00201 
00202   // PIMPL Encapsulation for STL containers
00203 
00204   vtkKWToolbarInternals *Internals;
00205 
00206   //ETX
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&); // Not implemented
00229   void operator=(const vtkKWToolbar&); // Not implemented
00230 };
00231 
00232 
00233 #endif
00234 
00235 
00236 

Generated on Tue May 30 12:31:44 2006 for ParaView by doxygen 1.3.5