]> Creatis software - bbtk.git/blob - packages/wx/src/bbwxSplit.h
LayoutLine
[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/08 14:58:31 $
7   Version:   $Revision: 1.8 $
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 : public bbtk::WxBlackBox
47   {
48     
49     BBTK_USER_BLACK_BOX_INTERFACE(Split,bbtk::WxBlackBox);
50     BBTK_DECLARE_INPUT(Widget1,wxWindow*);
51     BBTK_DECLARE_INPUT(Widget2,wxWindow*);
52     BBTK_DECLARE_INPUT(Orientation,std::string);
53     BBTK_DECLARE_INPUT(Proportion,int);
54     BBTK_PROCESS(Process);
55     BBTK_CREATE_WIDGET(CreateWidget);
56     
57     void Process();
58     void CreateWidget();
59
60   protected:
61     virtual void bbUserConstructor();
62
63   };
64   
65  
66 //=================================================================
67 // BlackBox description
68   BBTK_BEGIN_DESCRIBE_BLACK_BOX(Split,bbtk::WxBlackBox);
69   BBTK_NAME("Split");
70   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
71   BBTK_DESCRIPTION("Widget which splits a window in two fixed size parts (wxSplitterWindow)");
72   // Already inserted for any WxBlackBox  BBTK_CATEGORY("widget");
73   BBTK_INPUT(Split,Widget1,"Upper or left widget",wxWindow*);
74   BBTK_INPUT(Split,Widget2,"Lower or right widget",wxWindow*);
75   BBTK_INPUT(Split,Orientation,"Orientation (default H), 0=H=HORIZONTAL , 1=V=VERTICAL",std::string);
76    BBTK_INPUT(Split,Proportion,"Proportion (in percent) of the first children in the window",int);
77   BBTK_END_DESCRIBE_BLACK_BOX(Split);
78   //=================================================================
79 }
80
81 //namespace bbtk
82 #endif  //__bbtkWxSplit_h__
83
84 #endif //_USE_WXWIDGETS_