]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/fs_mem.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / fs_mem.h
index a7209c0ea9d4b26dc84a911dd200d7977b8e52db..a083bbc0c679f5f648b6af6518eda832f2612b18 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        fs_mem.h
 // Purpose:     interface of wxMemoryFSHandler
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -13,7 +12,7 @@
     them accessible via an URL.
 
     It is particularly suitable for storing bitmaps from resources or included XPM
-    files so that they can be used with wxHTML.
+    files so that they can be used with wxHTML or wxWebView.
 
     Filenames are prefixed with @c "memory:", e.g. @c "memory:myfile.html".
 
 
     void MyFrame::OnAbout(wxCommandEvent&)
     {
-        wxBusyCursor bcur;
         wxFileSystem::AddHandler(new wxMemoryFSHandler);
-        wxMemoryFSHandler::AddFile("logo.pcx", wxBITMAP(logo), wxBITMAP_TYPE_PCX);
+        wxMemoryFSHandler::AddFile("logo.png", wxBITMAP(logo), wxBITMAP_TYPE_PNG);
         wxMemoryFSHandler::AddFile("about.htm",
                                 "<html><body>About: "
-                                "<img src=\"memory:logo.pcx\"></body></html>");
+                                "<img src=\"memory:logo.png\"></body></html>");
 
         wxDialog dlg(this, -1, wxString(_("About")));
         wxBoxSizer *topsizer;
-        wxHtmlWindow *html;
         topsizer = new wxBoxSizer(wxVERTICAL);
-        html = new wxHtmlWindow(&dlg, -1, wxDefaultPosition,
-                                wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
-        html->SetBorders(0);
-        html->LoadPage("memory:about.htm");
-        html->SetSize(html->GetInternalRepresentation()->GetWidth(),
-                    html->GetInternalRepresentation()->GetHeight());
-        topsizer->Add(html, 1, wxALL, 10);
+    #ifdef USE_WEBVIEW
+        wxWebView* browser = wxWebView::New(&dlg, wxID_ANY, wxWebViewDefaultURLStr,
+                                 wxDefaultPosition, wxSize(380, 160));
+        browser->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewFSHandler("memory")));
+        browser->LoadURL("memory:about.htm");
+    #else // Use wxHtml
+        wxHtmlWindow *browser;
+        browser = new wxHtmlWindow(&dlg, -1, wxDefaultPosition,
+                                   wxSize(380, 160), wxHW_SCROLLBAR_NEVER);
+        browser->SetBorders(0);
+        browser->LoadPage("memory:about.htm");
+        browser->SetSize(browser->GetInternalRepresentation()->GetWidth(),
+                    browser->GetInternalRepresentation()->GetHeight());
+    #endif
+        topsizer->Add(browser, 1, wxALL, 10);
         topsizer->Add(new wxStaticLine(&dlg, -1), 0, wxEXPAND | wxLEFT | wxRIGHT, 10);
         topsizer->Add(new wxButton(&dlg, wxID_OK, "Ok"),
                     0, wxALL | wxALIGN_RIGHT, 15);
@@ -53,7 +58,7 @@
         dlg.Centre();
         dlg.ShowModal();
 
-        wxMemoryFSHandler::RemoveFile("logo.pcx");
+        wxMemoryFSHandler::RemoveFile("logo.png");
         wxMemoryFSHandler::RemoveFile("about.htm");
     }
     @endcode