]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxGUIHtmlBrowser.h
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWxGUIHtmlBrowser.h
diff --git a/kernel/src/bbtkWxGUIHtmlBrowser.h b/kernel/src/bbtkWxGUIHtmlBrowser.h
new file mode 100644 (file)
index 0000000..885dad0
--- /dev/null
@@ -0,0 +1,123 @@
+/*=========================================================================
+                                                                                
+  Program:   bbtk
+  Module:    $RCSfile: bbtkWxGUIHtmlBrowser.h,v $
+  Language:  C++
+  Date:      $Date: 2008/03/20 09:51:29 $
+  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 __bbtkWxGUIHtmlBrowser_h_INCLUDED__
+#define __bbtkWxGUIHtmlBrowser_h_INCLUDED__
+
+#include "bbtkWx.h"
+#include <wx/html/htmlwin.h>
+
+namespace bbtk
+{
+
+  class WxGUIHtmlBrowser;
+
+  class WxHtmlWindow : public virtual wxHtmlWindow
+  {
+  public:
+    WxHtmlWindow( wxWindow *parent, int id, WxGUIHtmlBrowser* browser, wxSize size) 
+      : wxHtmlWindow(parent, id, 
+                    wxDefaultPosition, 
+                    size,
+                    wxHW_SCROLLBAR_AUTO, 
+                 _T("bbtk::WxGUIHtmlBrowser")),
+             mBrowser(browser)
+    {
+     
+    }
+    //    wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType type,const wxString& url, wxString *redirect);
+//EED    virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
+
+  private: 
+    WxGUIHtmlBrowser* mBrowser;
+
+
+  };
+
+  /*
+  /// Abstract class which defines the callbacks invoked by WxGUIHtmlBrowser
+  class WxGUIHtmlBrowserUser 
+  {
+  public :
+    WxGUIHtmlBrowserUser() {}
+    ~WxGUIHtmlBrowserUser() {}
+  };
+  */
+
+  // class WxGUIConsole;
+
+  
+  class WxGUIHtmlBrowser : public wxPanel
+  {
+  public:
+    WxGUIHtmlBrowser ( wxWindow *parent, wxSize size ); 
+    //                WxGUIHtmlBrowserUser* = 0 );
+    bool GoTo(std::string&);
+    void GoHome();
+
+    void OnBackButton(wxCommandEvent& );
+    void OnForwardButton(wxCommandEvent& );
+    void OnHomeButton(wxCommandEvent& );
+    void OnReloadButton(wxCommandEvent& );
+    //   void OnRunButton(wxCommandEvent& );
+    void OnLinkClicked(wxHtmlLinkEvent& );
+    void OnURLEnter( wxCommandEvent&);
+    void UpdateURL();
+    //  void OnCell(wxHtmlCellEvent& );
+
+    void SetSize( wxSize );
+
+    std::string GetCurrentPage();
+
+  private:
+    WxHtmlWindow* mwxHtmlWindow;
+    wxTextCtrl* mwxURL;
+    wxButton* mwxBackButton;
+    wxButton* mwxForwardButton;
+    wxButton* mwxHomeButton;
+    wxButton* mwxReloadButton;
+    //    wxButton* mwxRunButton;
+    
+    //  WxGUIHtmlBrowserUser* mUser;
+    
+   // any class wishing to process wxWidgets events must use this macro
+    DECLARE_EVENT_TABLE()  
+  };
+
+}
+#endif
+
+#endif