]> Creatis software - bbtk.git/blob - kernel/src/bbtkWxGUIPackageBrowser.h
Started the devel of a wx package browser
[bbtk.git] / kernel / src / bbtkWxGUIPackageBrowser.h
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbtkWxGUIPackageBrowser.h,v $
5   Language:  C++
6   Date:      $Date: 2008/03/28 13:42:18 $
7   Version:   $Revision: 1.1 $
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  * \brief Short description in one line
19  * 
20  * Long description which 
21  * can span multiple lines
22  */
23 /**
24  * \file 
25  * \brief 
26  */
27 /**
28  * \class bbtk::
29  * \brief 
30  */
31
32
33 #ifdef _USE_WXWIDGETS_
34
35         
36 #ifndef __bbtkWxGUIPackageBrowser_h__
37 #define __bbtkWxGUIPackageBrowser_h__
38
39
40 #include "bbtkWx.h"
41
42 #include "bbtkInterpreter.h"
43
44 class wxTreeMultiCtrl;
45
46 namespace bbtk
47 {
48   //================================================================
49   class WxGUIPackageBrowser;
50   //================================================================
51  
52
53   //================================================================
54   /// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser
55   class BBTK_EXPORT WxGUIPackageBrowserUser
56   {
57   public:
58     WxGUIPackageBrowserUser() {}
59     ~WxGUIPackageBrowserUser() {}
60     /// Callback invoked when the 'run' button is pressed
61     virtual void WxGUIPackageBrowserRun() {}
62   };
63   //================================================================
64
65   //================================================================
66   class WxGUIPackageBrowserBlackBox : public wxPanel
67   {
68   public:
69     WxGUIPackageBrowserBlackBox(wxWindow* parent,
70                                 WxGUIPackageBrowser* browser,
71                                 BlackBoxDescriptor* descr);
72     ~WxGUIPackageBrowserBlackBox();
73
74   private:
75     WxGUIPackageBrowser* mBrowser;
76     BlackBoxDescriptor* mDescriptor;
77   } ;
78   //================================================================
79
80
81   //================================================================
82   /// A package browser panel
83   class BBTK_EXPORT WxGUIPackageBrowser : public wxPanel
84   {
85   public:
86     WxGUIPackageBrowser( wxWindow *parent, 
87                          WxGUIPackageBrowserUser* user = 0 );
88     ~WxGUIPackageBrowser();
89
90     void IncludeAll();
91
92   private:
93     WxGUIPackageBrowserUser* mUser;
94     Interpreter* mInterpreter;
95     wxTreeMultiCtrl* mTree;
96
97   };
98   //================================================================
99
100   
101   //================================================================
102   /// Browser in a frame 
103   class BBTK_EXPORT WxGUIPackageBrowserWindow : public wxFrame
104                                               //, public WxGUICommandUser
105   {
106   public:
107     WxGUIPackageBrowserWindow( wxWindow *parent, wxString title, wxSize size);
108     ~WxGUIPackageBrowserWindow();
109     //    void Open(const std::string& filename) { mBrowser->Open(filename); }
110     //    void WxGUICommandEnter(const std::string& s);
111
112
113   private :
114     
115     WxGUIPackageBrowser* mBrowser;
116   };
117    //================================================================
118  
119
120 } // namespace bbtk
121
122
123 #endif // __bbtkWxGUIPackageBrowser_h__
124
125 #endif //_USE_WXWIDGETS_