00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00024 #ifndef __vtkKWSelectionFrame_h
00025 #define __vtkKWSelectionFrame_h
00026
00027 #include "vtkKWCompositeWidget.h"
00028
00029 class vtkKWFrame;
00030 class vtkKWLabel;
00031 class vtkKWMenuButton;
00032 class vtkKWPushButton;
00033 class vtkKWSelectionFrameInternals;
00034 class vtkKWToolbarSet;
00035
00036 class KWWIDGETS_EXPORT vtkKWSelectionFrame : public vtkKWCompositeWidget
00037 {
00038 public:
00039 static vtkKWSelectionFrame* New();
00040 vtkTypeRevisionMacro(vtkKWSelectionFrame, vtkKWCompositeWidget);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044 virtual void Create(vtkKWApplication *app);
00045
00047
00048 virtual void SetTitle(const char *title);
00049 virtual const char* GetTitle();
00051
00053
00054 virtual void SetSelected(int);
00055 vtkGetMacro(Selected, int);
00056 vtkBooleanMacro(Selected, int);
00058
00060
00068 virtual void SetSelectionList(int num, const char **list);
00069 virtual void SetSelectionListCommand(vtkObject *object, const char *method);
00070 vtkGetObjectMacro(SelectionList, vtkKWMenuButton);
00071 virtual void SetSelectionListVisibility(int);
00072 vtkGetMacro(SelectionListVisibility, int);
00073 vtkBooleanMacro(SelectionListVisibility, int);
00075
00077
00082 virtual void SetAllowClose(int);
00083 vtkGetMacro(AllowClose, int);
00084 vtkBooleanMacro(AllowClose, int);
00085 virtual void SetCloseCommand(vtkObject *object, const char *method);
00086 vtkGetObjectMacro(CloseButton, vtkKWPushButton);
00088
00092 virtual void Close();
00093
00104 virtual void SetTitleChangedCommand(vtkObject *object, const char *method);
00105
00107
00115 virtual void SetAllowChangeTitle(int);
00116 vtkGetMacro(AllowChangeTitle, int);
00117 vtkBooleanMacro(AllowChangeTitle, int);
00118 virtual void SetChangeTitleCommand(vtkObject *object, const char *method);
00120
00124 virtual void SetSelectCommand(vtkObject *object, const char *method);
00125
00130 virtual void SetDoubleClickCommand(vtkObject *object, const char *method);
00131
00133
00135 vtkGetVector3Macro(TitleColor, double);
00136 virtual void SetTitleColor(double r, double g, double b);
00137 virtual void SetTitleColor(double rgb[3])
00138 { this->SetTitleColor(rgb[0], rgb[1], rgb[2]); };
00139 vtkGetVector3Macro(TitleSelectedColor, double);
00140 virtual void SetTitleSelectedColor(double r, double g, double b);
00141 virtual void SetTitleSelectedColor(double rgb[3])
00142 { this->SetTitleSelectedColor(rgb[0], rgb[1], rgb[2]); };
00143 vtkGetVector3Macro(TitleBackgroundColor, double);
00144 virtual void SetTitleBackgroundColor(double r, double g, double b);
00145 virtual void SetTitleBackgroundColor(double rgb[3])
00146 { this->SetTitleBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00147 vtkGetVector3Macro(TitleSelectedBackgroundColor, double);
00148 virtual void SetTitleSelectedBackgroundColor(double r, double g, double b);
00149 virtual void SetTitleSelectedBackgroundColor(double rgb[3])
00150 { this->SetTitleSelectedBackgroundColor(rgb[0], rgb[1], rgb[2]); };
00152
00154
00155 virtual void SetTitleBarVisibility(int);
00156 vtkGetMacro(TitleBarVisibility, int);
00157 vtkBooleanMacro(TitleBarVisibility, int);
00159
00161
00163 virtual vtkKWToolbarSet* GetToolbarSet();
00164 virtual void SetToolbarSetVisibility(int);
00165 vtkGetMacro(ToolbarSetVisibility, int);
00166 vtkBooleanMacro(ToolbarSetVisibility, int);
00168
00173 virtual vtkKWFrame* GetTitleBarUserFrame();
00174
00176
00179 vtkGetObjectMacro(BodyFrame, vtkKWFrame);
00181
00183
00185 virtual vtkKWFrame* GetLeftUserFrame();
00186 virtual void SetLeftUserFrameVisibility(int);
00187 vtkGetMacro(LeftUserFrameVisibility, int);
00188 vtkBooleanMacro(LeftUserFrameVisibility, int);
00190
00192
00194 virtual vtkKWFrame* GetRightUserFrame();
00195 virtual void SetRightUserFrameVisibility(int);
00196 vtkGetMacro(RightUserFrameVisibility, int);
00197 vtkBooleanMacro(RightUserFrameVisibility, int);
00199
00201
00207 virtual void SetOuterSelectionFrameWidth(int);
00208 vtkGetMacro(OuterSelectionFrameWidth, int);
00209 vtkGetVector3Macro(OuterSelectionFrameColor, double);
00210 virtual void SetOuterSelectionFrameColor(double r, double g, double b);
00211 virtual void SetOuterSelectionFrameColor(double rgb[3])
00212 { this->SetOuterSelectionFrameColor(rgb[0], rgb[1], rgb[2]); };
00213 vtkGetVector3Macro(OuterSelectionFrameSelectedColor, double);
00214 virtual void SetOuterSelectionFrameSelectedColor(
00215 double r, double g, double b);
00216 virtual void SetOuterSelectionFrameSelectedColor(double rgb[3])
00217 { this->SetOuterSelectionFrameSelectedColor(rgb[0], rgb[1], rgb[2]); };
00219
00221
00222 virtual void CloseCallback();
00223 virtual void SelectionListCallback(const char *menuItem);
00224 virtual void SelectCallback();
00225 virtual void DoubleClickCallback();
00226 virtual void ChangeTitleCallback();
00228
00235 virtual void UpdateEnableState();
00236
00237 protected:
00238 vtkKWSelectionFrame();
00239 ~vtkKWSelectionFrame();
00240
00241 vtkKWFrame *OuterSelectionFrame;
00242 vtkKWFrame *TitleBarFrame;
00243 vtkKWMenuButton *SelectionList;
00244 vtkKWPushButton *CloseButton;
00245 vtkKWLabel *Title;
00246 vtkKWFrame *BodyFrame;
00247
00248 virtual void Pack();
00249 virtual void Bind();
00250 virtual void UnBind();
00251
00252 virtual int SetColor(double *color, double r, double g, double b);
00253 virtual void UpdateSelectedAspect();
00254 virtual void UpdateSelectionList();
00255
00256 double TitleColor[3];
00257 double TitleSelectedColor[3];
00258 double TitleBackgroundColor[3];
00259 double TitleSelectedBackgroundColor[3];
00260
00261 double OuterSelectionFrameColor[3];
00262 double OuterSelectionFrameSelectedColor[3];
00263
00264 char *CloseCommand;
00265 char *SelectionListCommand;
00266 char *SelectCommand;
00267 char *DoubleClickCommand;
00268 char *ChangeTitleCommand;
00269 char *TitleChangedCommand;
00270
00271 int Selected;
00272 int SelectionListVisibility;
00273 int AllowClose;
00274 int AllowChangeTitle;
00275 int ToolbarSetVisibility;
00276 int LeftUserFrameVisibility;
00277 int RightUserFrameVisibility;
00278 int TitleBarVisibility;
00279 int OuterSelectionFrameWidth;
00280
00281
00282
00283 vtkKWSelectionFrameInternals *Internals;
00284
00285 private:
00286
00287 vtkKWToolbarSet *ToolbarSet;
00288 vtkKWFrame *LeftUserFrame;
00289 vtkKWFrame *RightUserFrame;
00290 vtkKWFrame *TitleBarUserFrame;
00291
00292 vtkKWSelectionFrame(const vtkKWSelectionFrame&);
00293 void operator=(const vtkKWSelectionFrame&);
00294 };
00295
00296 #endif
00297