]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/filesys.i
Shell Script file to copy setup.h for ProjectBuilder
[wxWidgets.git] / wxPython / src / filesys.i
index 9380577a212a15ff716c9b5a177ce67f22bc6333..2367cb82ce2a129ab46fa98c1b1a52de44321945 100644 (file)
@@ -14,6 +14,7 @@
 
 %{
 #include "helpers.h"
+#include "pyistream.h"
 #include <wx/filesys.h>
 #include <wx/fs_inet.h>
 #include <wx/fs_mem.h>
@@ -32,7 +33,6 @@
 %import streams.i
 
 %pragma(python) code = "import wx"
-%pragma(python) code = "import string"
 
 //---------------------------------------------------------------------------
 
@@ -86,7 +86,7 @@ public:
         return wxFileSystemHandler::GetRightLocation(location);
     }
 
-    wxString GetMimeTypeFromExt(const wxString& location){
+    wxString GetMimeTypeFromExt(const wxString& location) {
         return wxFileSystemHandler::GetMimeTypeFromExt(location);
     }
 
@@ -140,8 +140,24 @@ public:
 
     static void AddHandler(wxFileSystemHandler *handler);
     static void CleanUpHandlers();
+
+    // Returns the file URL for a native path
+    static wxString FileNameToURL(const wxString& filename);
+
+    // Returns the native path for a file URL
+    //static wxFileName URLToFileName(const wxString& url);  *** See below
 };
 
+
+// Returns the native path for a file URL
+wxString wxFileSystem_URLToFileName(const wxString& url);
+%{
+    wxString wxFileSystem_URLToFileName(const wxString& url) {
+        wxFileName fname = wxFileSystem::URLToFileName(url);
+        return fname.GetFullPath();
+    }
+%}
+
 //---------------------------------------------------------------------------
 
 class wxInternetFSHandler : public wxFileSystemHandler {
@@ -193,15 +209,11 @@ void __wxMemoryFSHandler_AddFile_wxBitmap(const wxString& filename,
     wxMemoryFSHandler::AddFile(filename, bitmap, type);
 }
 
-//  void __wxMemoryFSHandler_AddFile_wxString(const wxString& filename,
-//                                            const wxString& textdata) {
-//      wxMemoryFSHandler::AddFile(filename, textdata);
-//  }
-
 void __wxMemoryFSHandler_AddFile_Data(const wxString& filename,
                                       PyObject* data) {
 
     wxMemoryFSHandler::AddFile(filename,
+                               // TODO:  Verify data type
                                (void*)PyString_AsString(data),
                                (size_t)PyString_Size(data));
 }
@@ -212,9 +224,9 @@ void __wxMemoryFSHandler_AddFile_Data(const wxString& filename,
 %pragma(python) code = "
 import types
 def wxMemoryFSHandler_AddFile(filename, a, b=''):
-    if isinstance(a, wxImage):
+    if wx.wxPy_isinstance(a, (wxImage, wxImagePtr)):
         __wxMemoryFSHandler_AddFile_wxImage(filename, a, b)
-    elif isinstance(a, wxBitmap):
+    elif wx.wxPy_isinstance(a, (wxBitmap, wxBitmapPtr)):
         __wxMemoryFSHandler_AddFile_wxBitmap(filename, a, b)
     elif type(a) == types.StringType:
         #__wxMemoryFSHandler_AddFile_wxString(filename, a)