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

GUI/Widgets/vtkKWSplitFrame.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWSplitFrame.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 =========================================================================*/
00021 #ifndef __vtkKWSplitFrame_h
00022 #define __vtkKWSplitFrame_h
00023 
00024 #include "vtkKWCompositeWidget.h"
00025 class vtkKWApplication;
00026 class vtkKWFrame;
00027 
00028 class KWWIDGETS_EXPORT vtkKWSplitFrame : public vtkKWCompositeWidget
00029 {
00030 public:
00031   static vtkKWSplitFrame* New();
00032   vtkTypeRevisionMacro(vtkKWSplitFrame,vtkKWCompositeWidget);
00033   void PrintSelf(ostream& os, vtkIndent indent);
00034 
00036   virtual void Create(vtkKWApplication *app);
00037   
00042   vtkKWFrame *GetFrame1() {return this->Frame1;};
00043 
00048   vtkKWFrame *GetFrame2() {return this->Frame2;};
00049 
00051 
00055   enum 
00056   {
00057     OrientationHorizontal = 0,
00058     OrientationVertical
00059   };
00060   //ETX
00061   virtual void SetOrientation(int);
00062   vtkGetMacro(Orientation, int);
00063   virtual void SetOrientationToHorizontal()
00064     { this->SetOrientation(vtkKWSplitFrame::OrientationHorizontal); };
00065   virtual void SetOrientationToVertical()
00066     { this->SetOrientation(vtkKWSplitFrame::OrientationVertical); };
00068 
00070 
00074   enum 
00075   {
00076     FrameLayoutDefault = 0,
00077     FrameLayoutSwapped
00078   };
00079   //ETX
00080   virtual void SetFrameLayout(int);
00081   vtkGetMacro(FrameLayout, int);
00082   virtual void SetFrameLayoutToDefault()
00083     { this->SetFrameLayout(vtkKWSplitFrame::FrameLayoutDefault); };
00084   virtual void SetFrameLayoutToSwapped()
00085     { this->SetFrameLayout(vtkKWSplitFrame::FrameLayoutSwapped); };
00087 
00089 
00091   enum 
00092   {
00093     ExpandableFrame1 = 0,
00094     ExpandableFrame2,
00095     ExpandableFrameBoth
00096   };
00097   //ETX
00098   vtkSetClampMacro(ExpandableFrame, int, 
00099                    vtkKWSplitFrame::ExpandableFrame1, 
00100                    vtkKWSplitFrame::ExpandableFrameBoth);
00101   vtkGetMacro(ExpandableFrame, int);
00102   virtual void SetExpandableFrameToFrame1()
00103     { this->SetExpandableFrame(vtkKWSplitFrame::ExpandableFrame1); };
00104   virtual void SetExpandableFrameToFrame2()
00105     { this->SetExpandableFrame(vtkKWSplitFrame::ExpandableFrame2); };
00106   virtual void SetExpandableFrameToBothFrames()
00107     { this->SetExpandableFrame(vtkKWSplitFrame::ExpandableFrameBoth); };
00109 
00111 
00112   vtkGetMacro(Frame1MinimumSize, int);
00113   virtual void SetFrame1MinimumSize(int minSize);
00114   vtkGetMacro(Frame1Size, int);
00115   virtual void SetFrame1Size(int size);
00116   vtkGetMacro(Frame1Visibility, int);
00117   virtual void SetFrame1Visibility(int flag);
00118   vtkBooleanMacro(Frame1Visibility, int);  
00120 
00122 
00123   vtkGetMacro(Frame2MinimumSize, int);
00124   virtual void SetFrame2MinimumSize(int minSize);
00125   vtkGetMacro(Frame2Size, int);
00126   virtual void SetFrame2Size(int size);
00127   vtkGetMacro(Frame2Visibility, int);
00128   virtual void SetFrame2Visibility(int flag);
00129   vtkBooleanMacro(Frame2Visibility, int);  
00131 
00133 
00135   virtual void SetSeparatorSize(int size);
00136   vtkGetMacro(SeparatorSize, int);
00138 
00140 
00142   virtual void SetSeparatorMargin(int size);
00143   vtkGetMacro(SeparatorMargin, int);
00145 
00147 
00148   virtual void SetSeparatorVisibility(int flag);
00149   vtkGetMacro(SeparatorVisibility, int);
00150   vtkBooleanMacro(SeparatorVisibility, int);  
00152 
00154 
00155   virtual void DragCallback();
00156   virtual void ConfigureCallback();
00158 
00165   virtual void UpdateEnableState();
00166 
00167 protected:
00168   vtkKWSplitFrame();
00169   ~vtkKWSplitFrame();
00170 
00171   virtual int GetTotalSeparatorSize();
00172 
00173   vtkKWFrame *Frame1;
00174   vtkKWFrame *Separator;
00175   vtkKWFrame *Frame2;
00176 
00177   int Size;
00178   int Frame1Size;
00179   int Frame2Size;
00180 
00181   int SeparatorSize;
00182   int SeparatorMargin;
00183   int SeparatorVisibility;
00184 
00185   int Frame1Visibility;
00186   int Frame2Visibility;
00187 
00188   int Frame1MinimumSize;
00189   int Frame2MinimumSize;
00190 
00191   int Orientation;
00192   int FrameLayout;
00193   int ExpandableFrame;
00194 
00195   // Reset the actual windows to match our size IVars.
00196 
00197   virtual void Pack();
00198   virtual void AddBindings();
00199   virtual void RemoveBindings();
00200   virtual void AddSeparatorBindings();
00201   virtual void RemoveSeparatorBindings();
00202   virtual void ReConfigure();
00203   virtual int GetInternalMarginHorizontal();
00204   virtual int GetInternalMarginVertical();
00205   virtual void ConfigureSeparatorCursor();
00206 
00207 private:
00208   vtkKWSplitFrame(const vtkKWSplitFrame&); // Not implemented
00209   void operator=(const vtkKWSplitFrame&); // Not implemented
00210 };
00211 
00212 
00213 #endif
00214 
00215 
00216 

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