1% 2% automatically generated by HelpGen from 3% /home/vasek/fs\_mem.h at 27/Feb/00 19:23:10 4% 5 6\section{\class{wxMemoryFSHandler}}\label{wxmemoryfshandler} 7 8This \helpref{wxFileSystem}{wxfilesystem} handler can store arbitrary 9data in memory stream and make them accessible via URL. It is particularly 10suitable for storing bitmaps from resources or included XPM files so that 11they can be used with wxHTML. 12 13Filenames are prefixed with "memory:", e.g. "memory:myfile.html". 14 15Example: 16 17\begin{verbatim} 18#ifndef __WXMSW__ 19#include "logo.xpm" 20#endif 21 22void MyFrame::OnAbout(wxCommandEvent&) 23{ 24 wxBusyCursor bcur; 25 wxFileSystem::AddHandler(new wxMemoryFSHandler); 26 wxMemoryFSHandler::AddFile("logo.pcx", wxBITMAP(logo), wxBITMAP_TYPE_PCX); 27 wxMemoryFSHandler::AddFile("about.htm", 28 "<html><body>About: " 29 "<img src=\"memory:logo.pcx\"></body></html>"); 30 31 wxDialog dlg(this, -1, wxString(_("About"))); 32 wxBoxSizer *topsizer; 33 wxHtmlWindow *html; 34 topsizer = new wxBoxSizer(wxVERTICAL); 35 html = new wxHtmlWindow(&dlg, -1, wxDefaultPosition, 36 wxSize(380, 160), wxHW_SCROLLBAR_NEVER); 37 html->SetBorders(0); 38 html->LoadPage("memory:about.htm"); 39 html->SetSize(html->GetInternalRepresentation()->GetWidth(), 40 html->GetInternalRepresentation()->GetHeight()); 41 topsizer->Add(html, 1, wxALL, 10); 42 topsizer->Add(new wxStaticLine(&dlg, -1), 0, wxEXPAND | wxLEFT | wxRIGHT, 10); 43 topsizer->Add(new wxButton(&dlg, wxID_OK, "Ok"), 44 0, wxALL | wxALIGN_RIGHT, 15); 45 dlg.SetAutoLayout(true); 46 dlg.SetSizer(topsizer); 47 topsizer->Fit(&dlg); 48 dlg.Centre(); 49 dlg.ShowModal(); 50 51 wxMemoryFSHandler::RemoveFile("logo.pcx"); 52 wxMemoryFSHandler::RemoveFile("about.htm"); 53} 54\end{verbatim} 55 56 57\wxheading{Derived from} 58 59\helpref{wxFileSystemHandler}{wxfilesystemhandler} 60 61\wxheading{Include files} 62 63<wx/fs\_mem.h> 64 65 66\latexignore{\rtfignore{\wxheading{Members}}} 67 68 69\membersection{wxMemoryFSHandler::wxMemoryFSHandler}\label{wxmemoryfshandlerwxmemoryfshandler} 70 71\func{}{wxMemoryFSHandler}{\void} 72 73Constructor. 74 75\membersection{wxMemoryFSHandler::AddFile}\label{wxmemoryfshandleraddfile} 76 77\func{static void}{AddFile}{\param{const wxString\& }{filename}, \param{wxImage\& }{image}, \param{long }{type}} 78 79\func{static void}{AddFile}{\param{const wxString\& }{filename}, \param{const wxBitmap\& }{bitmap}, \param{long }{type}} 80 81Add file to list of files stored in memory. Stored 82data (bitmap, text or raw data) 83will be copied into private memory stream and available under 84name "memory:" + \arg{filename}. 85 86The \arg{type} argument is one of {\tt wxBITMAP\_TYPE\_XXX} constants. 87Note that you must use a \arg{type} value (aka image format) 88that wxWidgets can save (e.g. JPG, PNG, see \helpref{wxImage 89documentation}{wximage})! 90 91\wxheading{See also} 92 93\helpref{AddFileWithMimeType}{wxmemoryfshandleraddfilewithmimetype} 94 95 96\membersection{wxMemoryFSHandler::AddFileWithMimeType}\label{wxmemoryfshandleraddfilewithmimetype} 97 98\func{static void}{AddFileWithMimeType}{\param{const wxString\& }{filename}, \param{const wxString\& }{textdata}, \param{const wxString\& }{mimetype}} 99 100\func{static void}{AddFileWithMimeType}{\param{const wxString\& }{filename}, \param{const void* }{binarydata}, \param{size\_t }{size}, \param{const wxString\& }{mimetype}} 101 102Like \helpref{AddFile}{wxmemoryfshandleraddfile}, but lets you explicitly 103specify added file's MIME type. This version should be used whenever you know 104the MIME type, because it makes accessing the files faster. 105 106\newsince{2.8.5} 107 108\wxheading{See also} 109 110\helpref{AddFile}{wxmemoryfshandleraddfile} 111 112\membersection{wxMemoryFSHandler::RemoveFile}\label{wxmemoryfshandlerremovefile} 113 114\func{static void}{RemoveFile}{\param{const wxString\& }{filename}} 115 116Remove file from memory FS and free occupied memory. 117 118