]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxGUIPackageBrowser.h
Started the devel of a wx package browser
[bbtk.git] / kernel / src / bbtkWxGUIPackageBrowser.h
diff --git a/kernel/src/bbtkWxGUIPackageBrowser.h b/kernel/src/bbtkWxGUIPackageBrowser.h
new file mode 100644 (file)
index 0000000..0c9346b
--- /dev/null
@@ -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_