vtkSlicerModuleCollapsibleFrame.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 #ifndef __vtkSlicerModuleCollapsibleFrame_h
00006 #define __vtkSlicerModuleCollapsibleFrame_h
00007 
00012 
00013 #include "vtkSlicerBaseGUIWin32Header.h"
00014 #include "vtkKWCompositeWidget.h"
00015 
00016 class vtkKWFrame;
00017 class vtkKWIcon;
00018 class vtkKWLabel;
00019 class vtkKWLabelWithLabel;
00020 
00021 class VTK_SLICER_BASE_GUI_EXPORT vtkSlicerModuleCollapsibleFrame : public vtkKWCompositeWidget
00022 {
00023  public:
00024   static vtkSlicerModuleCollapsibleFrame* New();
00025   vtkTypeRevisionMacro(vtkSlicerModuleCollapsibleFrame, vtkKWCompositeWidget);
00026   void PrintSelf(ostream& os, vtkIndent indent);
00027 
00030   void SetLabelText(const char *);
00031   
00034   vtkGetObjectMacro(Frame, vtkKWFrame);
00035 
00038   vtkGetObjectMacro(LabelFrame, vtkKWFrame);
00039 
00042   virtual vtkKWLabel *GetLabel();
00043 
00046   virtual void CollapseFrame();
00047   virtual void ExpandFrame();
00048   virtual int IsFrameCollapsed();
00049 
00053   vtkSetMacro(AllowFrameToCollapse, int);
00054   vtkBooleanMacro(AllowFrameToCollapse, int);
00055   vtkGetMacro(AllowFrameToCollapse, int);
00056 
00064   static int GetDefaultAllowFrameToCollapse();
00065   static void SetDefaultAllowFrameToCollapse(int);
00066   static void DefaultAllowFrameToCollapseOn()
00067     { vtkSlicerModuleCollapsibleFrame::SetDefaultAllowFrameToCollapse(1); };
00068   static void DefaultAllowFrameToCollapseOff()
00069     { vtkSlicerModuleCollapsibleFrame::SetDefaultAllowFrameToCollapse(0); };
00070 
00079   //BTX
00080   enum
00081   {
00082     LabelCaseUserSpecified = 0,
00083     LabelCaseUppercaseFirst,
00084     LabelCaseLowercaseFirst
00085   };
00086   //ETX
00087   static void SetDefaultLabelCase(int v);
00088   static int GetDefaultLabelCase();
00089   static void SetDefaultLabelCaseToUserSpecified() 
00090     { vtkSlicerModuleCollapsibleFrame::SetDefaultLabelCase(
00091       vtkSlicerModuleCollapsibleFrame::LabelCaseUserSpecified);};
00092   static void SetDefaultLabelCaseToUppercaseFirst() 
00093     {vtkSlicerModuleCollapsibleFrame::SetDefaultLabelCase(
00094       vtkSlicerModuleCollapsibleFrame::LabelCaseUppercaseFirst);};
00095   static void SetDefaultLabelCaseToLowercaseFirst() 
00096     {vtkSlicerModuleCollapsibleFrame::SetDefaultLabelCase(
00097       vtkSlicerModuleCollapsibleFrame::LabelCaseLowercaseFirst);};
00098 
00106   //BTX
00107   enum
00108   {
00109     LabelFontWeightNormal = 0,
00110     LabelFontWeightBold
00111   };
00112   //ETX
00113   static void SetDefaultLabelFontWeight(int v);
00114   static int GetDefaultLabelFontWeight();
00115   static void SetDefaultLabelFontWeightToNormal() 
00116     { vtkSlicerModuleCollapsibleFrame::SetDefaultLabelFontWeight(
00117       vtkSlicerModuleCollapsibleFrame::LabelFontWeightNormal);};
00118   static void SetDefaultLabelFontWeightToBold() 
00119     {vtkSlicerModuleCollapsibleFrame::SetDefaultLabelFontWeight(
00120       vtkSlicerModuleCollapsibleFrame::LabelFontWeightBold);};
00121 
00125   virtual void SetLimitedEditionModeIconVisibility(int);
00126   vtkBooleanMacro(LimitedEditionModeIconVisibility, int);
00127   vtkGetMacro(LimitedEditionModeIconVisibility, int);
00128 
00136   virtual void UpdateEnableState();
00137 
00142   virtual vtkKWDragAndDropTargetSet* GetDragAndDropTargetSet();
00143 
00148   virtual void SetWidth(int);
00149   virtual int GetWidth();
00150   virtual void SetHeight(int);
00151   virtual int GetHeight();
00152 
00155   vtkGetObjectMacro(CollapsibleFrame, vtkKWFrame);
00156   vtkGetObjectMacro (Icon, vtkKWLabel);
00157   
00160   virtual void AdjustMarginCallback();
00161   virtual void CollapseButtonCallback();
00162   virtual void LabelSingleClickCallback();
00163 
00164   //BTX
00165   enum
00166     {
00167       FrameCollapseEvent = 11000,
00168       FrameExpandEvent,
00169     };
00170   //ETX
00171 
00172  protected:
00173   vtkSlicerModuleCollapsibleFrame();
00174   ~vtkSlicerModuleCollapsibleFrame();
00175 
00178   virtual void CreateWidget();
00179 
00180   vtkKWFrame          *Frame;
00181   vtkKWFrame          *LabelFrame;
00182   vtkKWLabelWithLabel *Label;
00183   vtkKWFrame          *ExternalMarginFrame;
00184   vtkKWFrame          *InternalMarginFrame;
00185   vtkKWFrame          *CollapsibleFrame;
00186   vtkKWLabel          *Icon;
00187   vtkKWIcon           *IconData;
00188 
00189   int AllowFrameToCollapse;
00190   int LimitedEditionModeIconVisibility;
00191 
00192   static int DefaultAllowFrameToCollapse;
00193   static int DefaultLabelFontWeight;
00194   static int DefaultLabelCase;
00195 
00196   virtual vtkKWLabel *GetLabelIcon();
00197 
00198   
00199  private:
00200   vtkSlicerModuleCollapsibleFrame(const vtkSlicerModuleCollapsibleFrame&); 
00201   void operator=(const vtkSlicerModuleCollapsibleFrame&); 
00202 };
00203 
00204 #endif

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1