]> Creatis software - bbtk.git/blob - kernel/src/bbtkWxGUIPackageBrowser.h
e3aa5921b666a106bbf3921cf3a0408fe03be723
[bbtk.git] / kernel / src / bbtkWxGUIPackageBrowser.h
1 /*=========================================================================                                                                               
2   Program:   bbtk
3   Module:    $RCSfile: bbtkWxGUIPackageBrowser.h,v $
4   Language:  C++
5   Date:      $Date: 2008/10/17 08:18:15 $
6   Version:   $Revision: 1.5 $
7 =========================================================================*/
8
9 /* ---------------------------------------------------------------------
10
11 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
12 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
13 *
14 *  This software is governed by the CeCILL-B license under French law and 
15 *  abiding by the rules of distribution of free software. You can  use, 
16 *  modify and/ or redistribute the software under the terms of the CeCILL-B 
17 *  license as circulated by CEA, CNRS and INRIA at the following URL 
18 *  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
19 *  or in the file LICENSE.txt.
20 *
21 *  As a counterpart to the access to the source code and  rights to copy,
22 *  modify and redistribute granted by the license, users are provided only
23 *  with a limited warranty  and the software's author,  the holder of the
24 *  economic rights,  and the successive licensors  have only  limited
25 *  liability. 
26 *
27 *  The fact that you are presently reading this means that you have had
28 *  knowledge of the CeCILL-B license and that you accept its terms.
29 * ------------------------------------------------------------------------ */                                                                         
30
31
32 /**
33  * \brief Short description in one line
34  * 
35  * Long description which 
36  * can span multiple lines
37  */
38 /**
39  * \file 
40  * \brief 
41  */
42 /**
43  * \class bbtk::
44  * \brief 
45  */
46
47 /*
48 #ifdef _USE_WXWIDGETS_
49
50         
51 #ifndef __bbtkWxGUIPackageBrowser_h__
52 #define __bbtkWxGUIPackageBrowser_h__
53
54
55 #include "bbtkWx.h"
56
57 #include "bbtkInterpreter.h"
58
59 class wxTreeMultiCtrl;
60
61 namespace bbtk
62 {
63   //================================================================
64   class WxGUIPackageBrowser;
65   //================================================================
66  
67
68   //================================================================
69   /// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser
70   class BBTK_EXPORT WxGUIPackageBrowserUser
71   {
72   public:
73     WxGUIPackageBrowserUser() {}
74     ~WxGUIPackageBrowserUser() {}
75     /// Callback invoked when the 'run' button is pressed
76     virtual void WxGUIPackageBrowserRun() {}
77   };
78   //================================================================
79
80   //================================================================
81   class WxGUIPackageBrowserBlackBox : public wxPanel
82   {
83   public:
84     WxGUIPackageBrowserBlackBox(wxWindow* parent,
85                                 WxGUIPackageBrowser* browser,
86                                 BlackBoxDescriptor::Pointer descr);
87     ~WxGUIPackageBrowserBlackBox();
88
89   private:
90     WxGUIPackageBrowser* mBrowser;
91     BlackBoxDescriptor::Pointer mDescriptor;
92   } ;
93   //================================================================
94
95
96   //================================================================
97   /// A package browser panel
98   class BBTK_EXPORT WxGUIPackageBrowser : public wxPanel
99   {
100   public:
101     WxGUIPackageBrowser( wxWindow *parent, 
102                          WxGUIPackageBrowserUser* user = 0 );
103     ~WxGUIPackageBrowser();
104
105     void IncludeAll();
106     void BuildFromFactory(Factory::Pointer f);
107
108   private:
109     WxGUIPackageBrowserUser* mUser;
110     Interpreter::Pointer mInterpreter;
111     wxTreeMultiCtrl* mTree;
112
113   };
114   //================================================================
115
116   
117   //================================================================
118   /// Browser in a frame 
119   class BBTK_EXPORT WxGUIPackageBrowserWindow : public wxFrame
120                                               //, public WxGUICommandUser
121   {
122   public:
123     WxGUIPackageBrowserWindow( wxWindow *parent, wxString title, wxSize size);
124     ~WxGUIPackageBrowserWindow();
125     //    void Open(const std::string& filename) { mBrowser->Open(filename); }
126     //    void WxGUICommandEnter(const std::string& s);
127
128
129   private :
130     
131     WxGUIPackageBrowser* mBrowser;
132   };
133    //================================================================
134  
135
136 } // namespace bbtk
137
138
139 #endif // __bbtkWxGUIPackageBrowser_h__
140
141 #endif //_USE_WXWIDGETS_
142 */