00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00021 #ifndef __vtkKWFrameWithLabel_h
00022 #define __vtkKWFrameWithLabel_h
00023
00024 #include "vtkKWCompositeWidget.h"
00025
00026 class vtkKWApplication;
00027 class vtkKWFrame;
00028 class vtkKWIcon;
00029 class vtkKWLabel;
00030 class vtkKWLabelWithLabel;
00031
00032 class KWWIDGETS_EXPORT vtkKWFrameWithLabel : public vtkKWCompositeWidget
00033 {
00034 public:
00035 static vtkKWFrameWithLabel* New();
00036 vtkTypeRevisionMacro(vtkKWFrameWithLabel,vtkKWCompositeWidget);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 virtual void Create(vtkKWApplication *app);
00041
00043 void SetLabelText(const char *);
00044
00046
00047 vtkGetObjectMacro(Frame, vtkKWFrame);
00049
00051
00052 vtkGetObjectMacro(LabelFrame, vtkKWFrame);
00054
00056 virtual vtkKWLabel *GetLabel();
00057
00059
00060 virtual void CollapseFrame();
00061 virtual void ExpandFrame();
00062 virtual int IsFrameCollapsed();
00064
00066
00068 vtkSetMacro(AllowFrameToCollapse, int);
00069 vtkBooleanMacro(AllowFrameToCollapse, int);
00070 vtkGetMacro(AllowFrameToCollapse, int);
00072
00074
00076 static int GetDefaultAllowFrameToCollapse();
00077 static void SetDefaultAllowFrameToCollapse(int);
00078 static void DefaultAllowFrameToCollapseOn()
00079 { vtkKWFrameWithLabel::SetDefaultAllowFrameToCollapse(1); };
00080 static void DefaultAllowFrameToCollapseOff()
00081 { vtkKWFrameWithLabel::SetDefaultAllowFrameToCollapse(0); };
00083
00085
00088 enum
00089 {
00090 LabelCaseUserSpecified = 0,
00091 LabelCaseUppercaseFirst,
00092 LabelCaseLowercaseFirst
00093 };
00094
00095 static void SetDefaultLabelCase(int v);
00096 static int GetDefaultLabelCase();
00097 static void SetDefaultLabelCaseToUserSpecified()
00098 { vtkKWFrameWithLabel::SetDefaultLabelCase(
00099 vtkKWFrameWithLabel::LabelCaseUserSpecified);};
00100 static void SetDefaultLabelCaseToUppercaseFirst()
00101 {vtkKWFrameWithLabel::SetDefaultLabelCase(
00102 vtkKWFrameWithLabel::LabelCaseUppercaseFirst);};
00103 static void SetDefaultLabelCaseToLowercaseFirst()
00104 {vtkKWFrameWithLabel::SetDefaultLabelCase(
00105 vtkKWFrameWithLabel::LabelCaseLowercaseFirst);};
00107
00109
00111 enum
00112 {
00113 LabelFontWeightNormal = 0,
00114 LabelFontWeightBold
00115 };
00116
00117 static void SetDefaultLabelFontWeight(int v);
00118 static int GetDefaultLabelFontWeight();
00119 static void SetDefaultLabelFontWeightToNormal()
00120 { vtkKWFrameWithLabel::SetDefaultLabelFontWeight(
00121 vtkKWFrameWithLabel::LabelFontWeightNormal);};
00122 static void SetDefaultLabelFontWeightToBold()
00123 {vtkKWFrameWithLabel::SetDefaultLabelFontWeight(
00124 vtkKWFrameWithLabel::LabelFontWeightBold);};
00126
00128
00130 virtual void SetLimitedEditionModeIconVisibility(int);
00131 vtkBooleanMacro(LimitedEditionModeIconVisibility, int);
00132 vtkGetMacro(LimitedEditionModeIconVisibility, int);
00134
00141 virtual void UpdateEnableState();
00142
00145 virtual vtkKWDragAndDropTargetSet* GetDragAndDropTargetSet();
00146
00148
00152 virtual void AdjustMarginCallback();
00153 virtual void CollapseButtonCallback();
00155
00156 protected:
00157
00158 vtkKWFrameWithLabel();
00159 ~vtkKWFrameWithLabel();
00160
00161 vtkKWFrame *Frame;
00162 vtkKWFrame *LabelFrame;
00163 vtkKWLabelWithLabel *Label;
00164 vtkKWFrame *Border;
00165 vtkKWFrame *Border2;
00166 vtkKWFrame *Groove;
00167 vtkKWLabel *Icon;
00168 vtkKWIcon *IconData;
00169
00170 int AllowFrameToCollapse;
00171 int LimitedEditionModeIconVisibility;
00172
00173 static int DefaultAllowFrameToCollapse;
00174 static int DefaultLabelFontWeight;
00175 static int DefaultLabelCase;
00176
00177 virtual vtkKWLabel *GetLabelIcon();
00178
00179 private:
00180 vtkKWFrameWithLabel(const vtkKWFrameWithLabel&);
00181 void operator=(const vtkKWFrameWithLabel&);
00182 };
00183
00184 #endif
00185