]> git.saurik.com Git - wxWidgets.git/commitdiff
make it possible to open files from XRC in wxHtmlWindow
authorVáclav Slavík <vslavik@fastmail.fm>
Tue, 28 Aug 2001 22:12:44 +0000 (22:12 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Tue, 28 Aug 2001 22:12:44 +0000 (22:12 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

contrib/src/xrc/xh_html.cpp
src/xrc/xh_html.cpp

index affa03f68f932c35ae64800f099d98eae0d8b6f6..dab79dc4c5258aea7a43cf1f78527a3897f368d9 100644 (file)
@@ -24,6 +24,7 @@
 #if wxUSE_HTML
 
 #include "wx/html/htmlwin.h"
+#include "wx/filesys.h"
 
 
 wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler() 
@@ -50,8 +51,19 @@ wxObject *wxHtmlWindowXmlHandler::DoCreateResource()
 
     if( HasParam( wxT("url") ))
     {
-        control->LoadPage( GetParamValue( wxT("url" )));
+        wxString url = GetParamValue(wxT("url" ));
+        wxFileSystem& fsys = GetCurFileSystem();
+        
+        wxFSFile *f = fsys.OpenFile(url);
+        if (f)
+        {
+            control->LoadPage(f->GetLocation());
+            delete f;
+        }
+        else
+            control->LoadPage(url);
     }
+    
     else if( HasParam( wxT("htmlcode") ))
     {
         control->SetPage( GetText(wxT("htmlcode")) );
index affa03f68f932c35ae64800f099d98eae0d8b6f6..dab79dc4c5258aea7a43cf1f78527a3897f368d9 100644 (file)
@@ -24,6 +24,7 @@
 #if wxUSE_HTML
 
 #include "wx/html/htmlwin.h"
+#include "wx/filesys.h"
 
 
 wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler() 
@@ -50,8 +51,19 @@ wxObject *wxHtmlWindowXmlHandler::DoCreateResource()
 
     if( HasParam( wxT("url") ))
     {
-        control->LoadPage( GetParamValue( wxT("url" )));
+        wxString url = GetParamValue(wxT("url" ));
+        wxFileSystem& fsys = GetCurFileSystem();
+        
+        wxFSFile *f = fsys.OpenFile(url);
+        if (f)
+        {
+            control->LoadPage(f->GetLocation());
+            delete f;
+        }
+        else
+            control->LoadPage(url);
     }
+    
     else if( HasParam( wxT("htmlcode") ))
     {
         control->SetPage( GetText(wxT("htmlcode")) );