This wx.FileSystem handler can store arbitrary data in memory stream and make 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 HTML or wx.html2.WebView.
Filenames are prefixed with "memory:"
, e.g. "memory:myfile.html"
.
Example:
def OnAbout(self, event):
bcur = wx.BeginBusyCursor()
wx.FileSystem.AddHandler(wx.MemoryFSHandler)
wx.MemoryFSHandler.AddFile("logo.pcx", wx.Bitmap("logo.pcx", wx.BITMAP_TYPE_PCX))
wx.MemoryFSHandler.AddFile("about.htm",
"<html><body>About: "
"<img src=\"memory:logo.pcx\"></body></html>")
dlg = wx.Dialog(self, -1, _("About"))
topsizer = wx.BoxSizer(wx.VERTICAL)
html = wx.html.HtmlWindow(dlg, size=wx.Size(380, 160), style=wx.HW_SCROLLBAR_NEVER)
html.SetBorders(0)
html.LoadPage("memory:about.htm")
html.SetSize(html.GetInternalRepresentation().GetWidth(),
html.GetInternalRepresentation().GetHeight())
topsizer.Add(html, 1, wx.ALL, 10)
topsizer.Add(wx.StaticLine(dlg, -1), 0, wx.EXPAND | wx.LEFT | wx.RIGHT, 10)
topsizer.Add(wx.Button(dlg, wx.ID_OK, "Ok"),
0, wx.ALL | wx.ALIGN_RIGHT, 15)
dlg.SetAutoLayout(True)
dlg.SetSizer(topsizer)
topsizer.Fit(dlg)
dlg.Centre()
dlg.ShowModal()
wx.MemoryFSHandler.RemoveFile("logo.pcx")
wx.MemoryFSHandler.RemoveFile("about.htm")
See also
wx.MemoryFSHandler.AddFileWithMimeType
Constructor. |
|
Adds a file to the list of the files stored in memory. |
|
Add a file from text data, which will first be converted to utf-8 encoded bytes. |
|
Removes a file from memory |
wx.
MemoryFSHandler
(FileSystemHandler)¶Possible constructors:
MemoryFSHandler()
This FileSystem handler can store arbitrary data in memory stream and make them accessible via an URL.
__init__
(self)¶Constructor.
AddFile
(*args, **kw)¶AddFile (filename, image, type)
Adds a file to the list of the files stored in memory.
Stored data (bitmap, text or raw data) will be copied into private memory stream and available under name "memory:"
+ filename.
When using the overload taking String data, if the string contains only Latin-1 characters (which includes strings created using String.From8BitData
), its data is used as is. Otherwise, the UTF-8
representation of the string is stored as the data associated with the given filename.
filename (string) –
image (wx.Image) –
type (BitmapType) –
Note
you must use a type value (aka image format) that wxWidgets can save (e.g. JPG
, PNG
, see wx.Image documentation)!
See also
AddFile (filename, bitmap, type)
Adds a file to the list of the files stored in memory.
Stored data (bitmap, text or raw data) will be copied into private memory stream and available under name "memory:"
+ filename.
When using the overload taking String data, if the string contains only Latin-1 characters (which includes strings created using String.From8BitData
), its data is used as is. Otherwise, the UTF-8
representation of the string is stored as the data associated with the given filename.
filename (string) –
bitmap (wx.Bitmap) –
type (BitmapType) –
Note
you must use a type value (aka image format) that wxWidgets can save (e.g. JPG
, PNG
, see wx.Image documentation)!
See also
AddFile (filename, textdata)
Add a file from text data, which will first be converted to utf-8 encoded bytes.
AddFile (filename, binarydata)
Add a file from raw data in a python buffer compatible object.
AddFileWithMimeType
(*args, **kw)¶AddFileWithMimeType (filename, textdata, mimetype)
Add a file from text data, which will first be converted to utf-8 encoded bytes.
AddFileWithMimeType (filename, binarydata, mimetype)
Add a file from raw data in a python buffer compatible object.
RemoveFile
(filename)¶Removes a file from memory FS
and frees the occupied memory.
filename (string) –