]> Creatis software - bbtk.git/blob - packages/wx/src/bbwxSplit.h
56a87f898e02341823bdc443e26d847452d906e8
[bbtk.git] / packages / wx / src / bbwxSplit.h
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbwxSplit.h,v $
5   Language:  C++
6   Date:      $Date: 2008/02/06 14:14:24 $
7   Version:   $Revision: 1.6 $
8                                                                                 
9   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10   l'Image). All rights reserved. See Doc/License.txt or
11   http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
12                                                                                 
13      This software is distributed WITHOUT ANY WARRANTY; without even
14      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15      PURPOSE.  See the above copyright notices for more information.
16                                                                                 
17 =========================================================================*//**
18  */
19 /**
20  * \file 
21  * \brief Widget which splits a window into two parts 
22  */
23 /**
24  * \class bbwx::Split
25  * \brief Widget which splits a window into two parts 
26  */
27
28
29 #ifdef _USE_WXWIDGETS_
30
31
32 #ifndef __bbWxSplit_h__
33 #define __bbWxSplit_h__
34
35 #include "bbtkWxBlackBox.h"
36 #include <wx/splitter.h>
37
38
39
40 namespace bbwx
41 {
42   
43   
44   /*
45   
46   class Split;
47   
48   //--------------------------------------------------------------------------
49   class SplitWidget : public bbtk::WxBlackBoxWidgetPanel 
50   {
51   public:
52     
53     SplitWidget(Split* bbtksplit, wxWindow *parent, int orientation);
54     ~SplitWidget();
55
56     void SetChilds(wxWindow* child1, 
57                    wxWindow* child2,
58                    int proportion);
59
60     wxSplitterWindow *GetWxSplitterWindow();
61     //   void SetProportion(int prop);
62     
63   private:
64     int                 mOrientation;
65     wxSplitterWindow    *mwxSplitterWindow;
66   };
67   
68   //------------------------------------------------------------------------
69   //------------------------------------------------------------------------
70   //------------------------------------------------------------------------
71
72   
73   */
74   
75   
76   class Split : public bbtk::WxBlackBox
77   {
78     
79     BBTK_USER_BLACK_BOX_INTERFACE(Split,bbtk::WxBlackBox);
80     BBTK_DECLARE_INPUT(Widget1,wxWindow*);
81     BBTK_DECLARE_INPUT(Widget2,wxWindow*);
82     BBTK_DECLARE_INPUT(Orientation,int);
83     BBTK_DECLARE_INPUT(Proportion,int);
84     BBTK_PROCESS(Process);
85     BBTK_CREATE_WIDGET(CreateWidget);
86     
87     void Process();
88     void CreateWidget();
89
90   protected:
91     virtual void bbUserConstructor();
92
93   };
94   
95  
96 //=================================================================
97 // UserBlackBox description
98   BBTK_BEGIN_DESCRIBE_BLACK_BOX(Split,bbtk::WxBlackBox);
99   BBTK_NAME("Split");
100   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
101   BBTK_DESCRIPTION("Widget which splits a window in two fixed size parts (wxSplitterWindow)");
102   // Already inserted for any WxBlackBox  BBTK_CATEGORY("widget");
103   BBTK_INPUT(Split,Widget1,"Upper or left widget",wxWindow*);
104   BBTK_INPUT(Split,Widget2,"Lower or right widget",wxWindow*);
105   BBTK_INPUT(Split,Orientation,"Orientation (default 0), 0=Horizontal , 1=Vertical",int);
106    BBTK_INPUT(Split,Proportion,"Proportion (in percent) of the first children in the window",int);
107   BBTK_END_DESCRIBE_BLACK_BOX(Split);
108   //=================================================================
109 }
110
111 //namespace bbtk
112 #endif  //__bbtkWxSplit_h__
113
114 #endif //_USE_WXWIDGETS_