]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxGUIHtmlBrowser.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWxGUIHtmlBrowser.cxx
index abc4835e484acf84178adc03529c096e4f753a27..df91b754af2957265758b386adb723e4a12385c5 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIHtmlBrowser.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/03/20 15:27:57 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2008/10/15 09:31:20 $
+  Version:   $Revision: 1.9 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -73,6 +73,17 @@ namespace bbtk
 */
 
 
+//EED2  BEGIN_EVENT_TABLE(WxHtmlWindow, wxPanel)
+//EED2    EVT_SIZE(WxHtmlWindow::OnSize)
+//EED2  END_EVENT_TABLE()
+
+//EED2  void WxHtmlWindow::OnSize( wxSizeEvent& )
+//EED2  {
+//EED2         printf("EED WxHtmlWindow::OnSize  \n" );
+//EED2         Scroll(10,500);
+//EED2  }
+
+
   //========================================================================
   
   BEGIN_EVENT_TABLE(WxGUIHtmlBrowser, wxPanel)
@@ -83,15 +94,18 @@ namespace bbtk
   //    EVT_BUTTON(include_id, WxGUIHtmlBrowser::OnIncludeFileButton )
     EVT_TEXT_ENTER(url_id, WxGUIHtmlBrowser::OnURLEnter )
     EVT_HTML_LINK_CLICKED(html_id, WxGUIHtmlBrowser::OnLinkClicked)
+    EVT_SIZE(WxGUIHtmlBrowser::OnSize)
+
   END_EVENT_TABLE()
   //========================================================================
 
 
   //========================================================================
-    WxGUIHtmlBrowser::WxGUIHtmlBrowser ( wxWindow *parent, wxSize size )
+    WxGUIHtmlBrowser::WxGUIHtmlBrowser ( wxWindow *parent, wxSize size,
+                                        WxGUIHtmlBrowserUser* user)
       : 
-      wxPanel ( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
-                                      // ,      mWxGUIConsole(0)
+      wxPanel ( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL),
+      mUser(user)
 
   {
     wxPanel* panel = this;
@@ -179,8 +193,6 @@ namespace bbtk
   //========================================================================
   bool WxGUIHtmlBrowser::GoTo(std::string& file)
   { 
-    //  std::cout << "goto"<<std::endl;
-
     bool r = mwxHtmlWindow->LoadPage(std2wx(file));
     UpdateURL();
     return r;
@@ -190,7 +202,6 @@ namespace bbtk
   //========================================================================
   void WxGUIHtmlBrowser::OnBackButton(wxCommandEvent& )
   {
-    //    std::cout << "back"<<std::endl;
     mwxHtmlWindow->HistoryBack();
     UpdateURL();
   }
@@ -199,7 +210,6 @@ namespace bbtk
   //========================================================================
   void WxGUIHtmlBrowser::OnForwardButton(wxCommandEvent& )
   {
-    //    std::cout << "forward"<<std::endl;
     mwxHtmlWindow->HistoryForward();
     UpdateURL();
   }
@@ -209,23 +219,8 @@ namespace bbtk
   void WxGUIHtmlBrowser::GoHome()
   {
     std::string url = ConfigurationFile::GetInstance().Get_doc_path();
-    url += "/bbtkWebSite/menu.html";
-       GoTo(url);
-
-    mwxURL->Clear();
-    mwxURL->AppendText(std2wx(url));
-
-
-/*EED
-    if (Utilities::FileExists(url)) 
-      {
-       GoTo(url);
-      }
-    else 
-      {
-       // what ?
-      }
-*/
+    url += "/help_contents.html";
+    GoTo(url);
   }
   //========================================================================
 
@@ -292,14 +287,48 @@ namespace bbtk
 
   //========================================================================
   void WxGUIHtmlBrowser::OnLinkClicked(wxHtmlLinkEvent& e)
-  {
-    mwxHtmlWindow->LoadPage( e.GetLinkInfo().GetHref() );
+  { 
+  
+    bool go = true;
+    if (mUser) 
+      {
+                 /*
+       wxString file = wxPathOnly(mwxURL->GetValue());
+       file += std2wx(ConfigurationFile::GetInstance().Get_file_separator());
+       file += e.GetLinkInfo().GetHref();
+       */
+               wxString file = e.GetLinkInfo().GetHref();
+               go = mUser->WxGUIHtmlBrowserUserOnLinkClicked( wx2std( file ) );
+      }
+    if (go) 
+      {
+       mwxHtmlWindow->LoadPage( e.GetLinkInfo().GetHref() );
        UpdateURL();
-    mwxHtmlWindow->LoadPage( mwxURL->GetValue() );
-  }
+       //      OnURLEnter(e);
+       //      mwxHtmlWindow->LoadPage(mwxURL->GetValue());
+     }
+
+    //    mwxHtmlWindow->LoadPage( mwxURL->GetValue() );
+   }
   //========================================================================
 
 
+  //========================================================================
+  void WxGUIHtmlBrowser::OnSize(wxSizeEvent& e)
+  { 
+         mwxHtmlWindow->EnableScrolling(true,true);
+         if   (  mwxURL->GetValue()!=wxString(_T(""))  )
+         {
+// ??????????   No funciona ....?????
+//EED2         mwxHtmlWindow->LoadPage(mwxURL->GetValue());
+//             printf("EED WxGUIHtmlBrowser::OnSize %s \n", mwxURL->GetValue().c_str() );
+//EED2         mwxHtmlWindow->Scroll( 10,  500);
+         } else {
+//             GoHome();
+         }
+         e.Skip(true);
+  }
+
   /*
   void WxGUIHtmlBrowser::OnCell(wxHtmlCellEvent& )
   {