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 vtkKWFrame;
00027 class vtkKWIcon;
00028 class vtkKWLabel;
00029 class vtkKWLabelWithLabel;
00030
00031 class KWWidgets_EXPORT vtkKWFrameWithLabel : public vtkKWCompositeWidget
00032 {
00033
00034 public:
00035 static vtkKWFrameWithLabel* New();
00036 vtkTypeRevisionMacro(vtkKWFrameWithLabel,vtkKWCompositeWidget);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 void SetLabelText(const char *);
00041
00043
00044 vtkGetObjectMacro(Frame, vtkKWFrame);
00046
00048
00049 vtkGetObjectMacro(LabelFrame, vtkKWFrame);
00051
00053 virtual vtkKWLabel *GetLabel();
00054
00056
00057 virtual void CollapseFrame();
00058 virtual void ExpandFrame();
00059 virtual int IsFrameCollapsed();
00061
00063
00065 vtkSetMacro(AllowFrameToCollapse, int);
00066 vtkBooleanMacro(AllowFrameToCollapse, int);
00067 vtkGetMacro(AllowFrameToCollapse, int);
00069
00071
00077 static int GetDefaultAllowFrameToCollapse();
00078 static void SetDefaultAllowFrameToCollapse(int);
00079 static void DefaultAllowFrameToCollapseOn()
00080 { vtkKWFrameWithLabel::SetDefaultAllowFrameToCollapse(1); };
00081 static void DefaultAllowFrameToCollapseOff()
00082 { vtkKWFrameWithLabel::SetDefaultAllowFrameToCollapse(0); };
00084
00086
00093 enum
00094 {
00095 LabelCaseUserSpecified = 0,
00096 LabelCaseUppercaseFirst,
00097 LabelCaseLowercaseFirst
00098 };
00099
00100 static void SetDefaultLabelCase(int v);
00101 static int GetDefaultLabelCase();
00102 static void SetDefaultLabelCaseToUserSpecified()
00103 { vtkKWFrameWithLabel::SetDefaultLabelCase(
00104 vtkKWFrameWithLabel::LabelCaseUserSpecified);};
00105 static void SetDefaultLabelCaseToUppercaseFirst()
00106 {vtkKWFrameWithLabel::SetDefaultLabelCase(
00107 vtkKWFrameWithLabel::LabelCaseUppercaseFirst);};
00108 static void SetDefaultLabelCaseToLowercaseFirst()
00109 {vtkKWFrameWithLabel::SetDefaultLabelCase(
00110 vtkKWFrameWithLabel::LabelCaseLowercaseFirst);};
00112
00114
00120 enum
00121 {
00122 LabelFontWeightNormal = 0,
00123 LabelFontWeightBold
00124 };
00125
00126 static void SetDefaultLabelFontWeight(int v);
00127 static int GetDefaultLabelFontWeight();
00128 static void SetDefaultLabelFontWeightToNormal()
00129 { vtkKWFrameWithLabel::SetDefaultLabelFontWeight(
00130 vtkKWFrameWithLabel::LabelFontWeightNormal);};
00131 static void SetDefaultLabelFontWeightToBold()
00132 {vtkKWFrameWithLabel::SetDefaultLabelFontWeight(
00133 vtkKWFrameWithLabel::LabelFontWeightBold);};
00135
00137
00139 virtual void SetLimitedEditionModeIconVisibility(int);
00140 vtkBooleanMacro(LimitedEditionModeIconVisibility, int);
00141 vtkGetMacro(LimitedEditionModeIconVisibility, int);
00143
00145
00160 vtkSetMacro(ChangePackingOnCollapse, int);
00161 vtkBooleanMacro(ChangePackingOnCollapse, int);
00162 vtkGetMacro(ChangePackingOnCollapse, int);
00164
00171 virtual void UpdateEnableState();
00172
00175 virtual vtkKWDragAndDropTargetSet* GetDragAndDropTargetSet();
00176
00178
00181 virtual void SetWidth(int);
00182 virtual int GetWidth();
00183 virtual void SetHeight(int);
00184 virtual int GetHeight();
00186
00188
00190 vtkGetObjectMacro(CollapsibleFrame, vtkKWFrame);
00192
00194
00195 virtual void AdjustMarginCallback();
00196 virtual void CollapseButtonCallback();
00197 virtual void LabelDoubleClickCallback();
00199
00200
00201
00202 protected:
00203 vtkKWFrameWithLabel();
00204 ~vtkKWFrameWithLabel();
00205
00207 virtual void CreateWidget();
00208
00209 vtkKWFrame *Frame;
00210 vtkKWFrame *LabelFrame;
00211 vtkKWLabelWithLabel *Label;
00212 vtkKWFrame *ExternalMarginFrame;
00213 vtkKWFrame *InternalMarginFrame;
00214 vtkKWFrame *CollapsibleFrame;
00215 vtkKWLabel *Icon;
00216 vtkKWIcon *IconData;
00217
00218 int AllowFrameToCollapse;
00219 int ChangePackingOnCollapse;
00220 int LimitedEditionModeIconVisibility;
00221
00222 static int DefaultAllowFrameToCollapse;
00223 static int DefaultLabelFontWeight;
00224 static int DefaultLabelCase;
00225
00226 virtual vtkKWLabel *GetLabelIcon();
00227
00228
00229
00230 private:
00231 vtkKWFrameWithLabel(const vtkKWFrameWithLabel&);
00232 void operator=(const vtkKWFrameWithLabel&);
00233 };
00234
00235 #endif
00236
00237