]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWxBrowser.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWxBrowser.cxx
index b9f73ce404ad2534fd19892811ec63855db00f53..708784171c7c03a7894879c6b0fb37058ad173f1 100644 (file)
@@ -1,7 +1,9 @@
 #ifdef _USE_WXWIDGETS_
 
+
 #include "bbtkWxBrowser.h"
 #include "bbtkWxBlackBox.h"
+#include "bbtkWxConsole.h"
 
 #include "bbtkConfigurationFile.h"
 #include "bbtkUtilities.h"
@@ -33,7 +35,7 @@ namespace bbtk
       fwd_id,
       home_id,
       reload_id,
-      index_id,
+      include_id,
       url_id,
       html_id
     };
@@ -44,7 +46,7 @@ namespace bbtk
     EVT_BUTTON(fwd_id, WxBrowser::OnForwardButton )
     EVT_BUTTON(home_id, WxBrowser::OnHomeButton )
     EVT_BUTTON(reload_id, WxBrowser::OnReloadButton )
-    EVT_BUTTON(index_id, WxBrowser::OnMakeIndexButton )
+    EVT_BUTTON(include_id, WxBrowser::OnIncludeFileButton )
     EVT_TEXT_ENTER(url_id, WxBrowser::OnURLEnter )
     EVT_HTML_LINK_CLICKED(html_id, WxBrowser::OnLinkClicked)
   END_EVENT_TABLE()
@@ -87,10 +89,10 @@ namespace bbtk
     bsizer->Add ( mwxReloadButton, 0, wxALIGN_CENTRE | 
                  wxTOP | wxBOTTOM , 10 );
 
-    mwxMakeIndexButton = new wxButton( panel, index_id,
+    mwxIncludeFileButton = new wxButton( panel, include_id,
                                       _T("*"),wxDefaultPosition,
                                       wxDefaultSize,wxBU_EXACTFIT);
-    bsizer->Add ( mwxMakeIndexButton, 0, wxALIGN_CENTRE | 
+    bsizer->Add ( mwxIncludeFileButton, 0, wxALIGN_CENTRE | 
                  wxLEFT | wxTOP | wxBOTTOM , 10 );
     
     mwxURL = new wxTextCtrl(panel,url_id,_T(""),
@@ -214,16 +216,34 @@ namespace bbtk
   //========================================================================
 
   //========================================================================
-  void WxBrowser::OnReloadButton(wxCommandEvent& )
+  void WxBrowser::OnReloadButton(wxCommandEvent& e)
   {
-    std::string s = wx2std(mwxHtmlWindow->GetOpenedPage());
-    GoTo(s);
+    OnURLEnter(e);
   }
   //========================================================================
 
   //========================================================================
-  void WxBrowser::OnMakeIndexButton(wxCommandEvent& )
+  void WxBrowser::OnIncludeFileButton(wxCommandEvent& )
   {
+    std::string filename = wx2std(mwxURL->GetValue());
+    size_t s = filename.length();
+
+    WxConsole* C = WxConsole::GetInstance();
+    if (C != 0)
+      {
+       if ((s>3) && (filename[s-1]=='s')
+           && (filename[s-2]=='b')
+           && (filename[s-3]=='b')
+           && (filename[s-4]=='.'))
+         {
+           C->SetStatusText(_T("Executing ")+mwxURL->GetValue());
+           C->InterpretFile(filename);
+         }
+       else
+         {
+           C->SetStatusText(_T("The current page is not a bbs file : cannot execute it"));
+         }
+      }
     /*
     std::string bbdoc = ConfigurationFile::GetInstance().Get_url();
     bbdoc += "/bbdoc";