1 /*=========================================================================
3 Module: $RCSfile: bbtkWxGUIPackageBrowser.h,v $
5 Date: $Date: 2008/10/17 08:18:15 $
6 Version: $Revision: 1.5 $
7 =========================================================================*/
9 /* ---------------------------------------------------------------------
11 * Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
12 * Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
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.
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
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 * ------------------------------------------------------------------------ */
33 * \brief Short description in one line
35 * Long description which
36 * can span multiple lines
48 #ifdef _USE_WXWIDGETS_
51 #ifndef __bbtkWxGUIPackageBrowser_h__
52 #define __bbtkWxGUIPackageBrowser_h__
57 #include "bbtkInterpreter.h"
59 class wxTreeMultiCtrl;
63 //================================================================
64 class WxGUIPackageBrowser;
65 //================================================================
68 //================================================================
69 /// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser
70 class BBTK_EXPORT WxGUIPackageBrowserUser
73 WxGUIPackageBrowserUser() {}
74 ~WxGUIPackageBrowserUser() {}
75 /// Callback invoked when the 'run' button is pressed
76 virtual void WxGUIPackageBrowserRun() {}
78 //================================================================
80 //================================================================
81 class WxGUIPackageBrowserBlackBox : public wxPanel
84 WxGUIPackageBrowserBlackBox(wxWindow* parent,
85 WxGUIPackageBrowser* browser,
86 BlackBoxDescriptor::Pointer descr);
87 ~WxGUIPackageBrowserBlackBox();
90 WxGUIPackageBrowser* mBrowser;
91 BlackBoxDescriptor::Pointer mDescriptor;
93 //================================================================
96 //================================================================
97 /// A package browser panel
98 class BBTK_EXPORT WxGUIPackageBrowser : public wxPanel
101 WxGUIPackageBrowser( wxWindow *parent,
102 WxGUIPackageBrowserUser* user = 0 );
103 ~WxGUIPackageBrowser();
106 void BuildFromFactory(Factory::Pointer f);
109 WxGUIPackageBrowserUser* mUser;
110 Interpreter::Pointer mInterpreter;
111 wxTreeMultiCtrl* mTree;
114 //================================================================
117 //================================================================
118 /// Browser in a frame
119 class BBTK_EXPORT WxGUIPackageBrowserWindow : public wxFrame
120 //, public WxGUICommandUser
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);
131 WxGUIPackageBrowser* mBrowser;
133 //================================================================
139 #endif // __bbtkWxGUIPackageBrowser_h__
141 #endif //_USE_WXWIDGETS_