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

GUI/Widgets/vtkKWSelectionFrame.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWSelectionFrame.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 =========================================================================*/
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   // PIMPL Encapsulation for STL containers
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&);  // Not implemented
00293   void operator=(const vtkKWSelectionFrame&);  // Not implemented
00294 };
00295 
00296 #endif
00297 

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