X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsrc%2FbbtkWxGUIPackageBrowser.h;fp=kernel%2Fsrc%2FbbtkWxGUIPackageBrowser.h;h=0c9346b922c4dbc8679ac8e8d4ed5ae64c3d419c;hb=302e341409d918a232cd2ec25f2c533c27eb9011;hp=0000000000000000000000000000000000000000;hpb=1fd0a4edc8f7e8d5444788662f59c4384a9aab93;p=bbtk.git diff --git a/kernel/src/bbtkWxGUIPackageBrowser.h b/kernel/src/bbtkWxGUIPackageBrowser.h new file mode 100644 index 0000000..0c9346b --- /dev/null +++ b/kernel/src/bbtkWxGUIPackageBrowser.h @@ -0,0 +1,125 @@ +/*========================================================================= + + Program: bbtk + Module: $RCSfile: bbtkWxGUIPackageBrowser.h,v $ + Language: C++ + Date: $Date: 2008/03/28 13:42:18 $ + Version: $Revision: 1.1 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*//** + * \brief Short description in one line + * + * Long description which + * can span multiple lines + */ +/** + * \file + * \brief + */ +/** + * \class bbtk:: + * \brief + */ + + +#ifdef _USE_WXWIDGETS_ + + +#ifndef __bbtkWxGUIPackageBrowser_h__ +#define __bbtkWxGUIPackageBrowser_h__ + + +#include "bbtkWx.h" + +#include "bbtkInterpreter.h" + +class wxTreeMultiCtrl; + +namespace bbtk +{ + //================================================================ + class WxGUIPackageBrowser; + //================================================================ + + + //================================================================ + /// Abstract class which defines the callbacks invoked by WxGUIPackageBrowser + class BBTK_EXPORT WxGUIPackageBrowserUser + { + public: + WxGUIPackageBrowserUser() {} + ~WxGUIPackageBrowserUser() {} + /// Callback invoked when the 'run' button is pressed + virtual void WxGUIPackageBrowserRun() {} + }; + //================================================================ + + //================================================================ + class WxGUIPackageBrowserBlackBox : public wxPanel + { + public: + WxGUIPackageBrowserBlackBox(wxWindow* parent, + WxGUIPackageBrowser* browser, + BlackBoxDescriptor* descr); + ~WxGUIPackageBrowserBlackBox(); + + private: + WxGUIPackageBrowser* mBrowser; + BlackBoxDescriptor* mDescriptor; + } ; + //================================================================ + + + //================================================================ + /// A package browser panel + class BBTK_EXPORT WxGUIPackageBrowser : public wxPanel + { + public: + WxGUIPackageBrowser( wxWindow *parent, + WxGUIPackageBrowserUser* user = 0 ); + ~WxGUIPackageBrowser(); + + void IncludeAll(); + + private: + WxGUIPackageBrowserUser* mUser; + Interpreter* mInterpreter; + wxTreeMultiCtrl* mTree; + + }; + //================================================================ + + + //================================================================ + /// Browser in a frame + class BBTK_EXPORT WxGUIPackageBrowserWindow : public wxFrame + //, public WxGUICommandUser + { + public: + WxGUIPackageBrowserWindow( wxWindow *parent, wxString title, wxSize size); + ~WxGUIPackageBrowserWindow(); + // void Open(const std::string& filename) { mBrowser->Open(filename); } + // void WxGUICommandEnter(const std::string& s); + + + private : + + WxGUIPackageBrowser* mBrowser; + }; + //================================================================ + + +} // namespace bbtk + + +#endif // __bbtkWxGUIPackageBrowser_h__ + +#endif //_USE_WXWIDGETS_