]> git.saurik.com Git - wxWidgets.git/commitdiff
Added typemap for wxArrayString
authorRobin Dunn <robin@alldunn.com>
Tue, 30 Oct 2001 06:43:54 +0000 (06:43 +0000)
committerRobin Dunn <robin@alldunn.com>
Tue, 30 Oct 2001 06:43:54 +0000 (06:43 +0000)
Added wxMimeTypesManager and wxFileType

Other updates...

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

23 files changed:
wxPython/CHANGES.txt
wxPython/demo/Main.py
wxPython/demo/URLDragAndDrop.py
wxPython/demo/bitmaps/noicon.png [new file with mode: 0644]
wxPython/demo/data/testtable.txt [new file with mode: 0644]
wxPython/demo/mimetypes.wdr [new file with mode: 0644]
wxPython/demo/mimetypes_wdr.py [new file with mode: 0644]
wxPython/demo/wxMimeTypesManager.py [new file with mode: 0644]
wxPython/src/clip_dnd.i
wxPython/src/cmndlgs.i
wxPython/src/grid.i
wxPython/src/helpers.cpp
wxPython/src/helpers.h
wxPython/src/misc2.i
wxPython/src/msw/clip_dnd.cpp
wxPython/src/msw/cmndlgs.cpp
wxPython/src/msw/gdi.cpp
wxPython/src/msw/grid.cpp
wxPython/src/msw/grid.py
wxPython/src/msw/misc2.cpp
wxPython/src/msw/misc2.py
wxPython/src/msw/windows3.cpp
wxPython/src/my_typemaps.i

index 30dc7151d23ef1df628ef60fe2a317917259fcce..4cfcb16f19aff9c8a10cd32dcfcaa4cc7e9f3a14 100644 (file)
@@ -70,6 +70,18 @@ Added a set of sophisticated Error Dialogs from Chris Fama.
 Added wxRightTextCtrl from Josu Oyanguren to wxPython.lib for aligning
 text in a wxTextCtrl to the right side.
 
+Added wxURLDataObject and and example showing drag and drop of URLs to
+and from web browsers.  It's still not 100% bullet-proof for all types
+of browsers, but it works for the majority of cases with the popular
+browsers on Windows.  On wxGTK it seems that only Netscape 4.x works,
+if anybody has any suggestions about this please bring it up on the
+wx-dev list.
+
+Added wxStopWatch.
+
+Added wxMimeTypesManager and wxFileType.
+
+
 
 
 2.3.1
index afd2b131c9cb5c287f53b9dbd84b13c0111be456..52c534bf6893e37e34a6e90f19cb8f6357a33a08 100644 (file)
@@ -34,6 +34,7 @@ _treeList = [
                                 'ErrorDialogs',
                                 'wxRightTextCtrl',
                                 'URLDragAndDrop',
+                                'wxMimeTypesManager',
                                 ##'wxPopupWindow',
                                 ]),
 
@@ -68,7 +69,7 @@ _treeList = [
                         'PythonEvents', 'Threads',
                         'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE',
                         'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave",
-                        'wxJoystick', 'DrawXXXList', 'ErrorDialogs',
+                        'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager',
                         ]),
 
     ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
index 4225a27707d18ff629d126ebc5c4a96e16e3c61e..d8c934ece2e7d78d0b229fd64a49936c0324f92f 100644 (file)
@@ -66,14 +66,16 @@ class TestPanel(wxPanel):
                     0, wxALIGN_RIGHT )
         self.dragText = wxTextCtrl(self, -1, "http://wxPython.org/")
         inSizer.Add(self.dragText, 0, wxEXPAND)
+        EVT_MOTION(self.dragText, self.OnStartDrag)
 
 
-        inSizer.Add(wxStaticText(self, -1,
-                                 "Drag this TEXT to your browser:",
-                                 style = wxALIGN_RIGHT),
-                    0, wxALIGN_RIGHT )
-        self.dragText2 = wxTextCtrl(self, -1, "http://wxPython.org/")
-        inSizer.Add(self.dragText2, 0, wxEXPAND)
+##         inSizer.Add(wxStaticText(self, -1,
+##                                  "Drag this TEXT to your browser:",
+##                                  style = wxALIGN_RIGHT),
+##                     0, wxALIGN_RIGHT )
+##         self.dragText2 = wxTextCtrl(self, -1, "http://wxPython.org/")
+##         inSizer.Add(self.dragText2, 0, wxEXPAND)
+##         EVT_MOTION(self.dragText2, self.OnStartDrag2)
 
 
         outsideSizer.Add(inSizer, 1, wxEXPAND)
@@ -82,8 +84,6 @@ class TestPanel(wxPanel):
 
         self.dropText.SetDropTarget(MyURLDropTarget(self.dropText))
 
-        EVT_MOTION(self.dragText, self.OnStartDrag)
-        EVT_MOTION(self.dragText2, self.OnStartDrag2)
 
 
     def OnStartDrag(self, evt):
diff --git a/wxPython/demo/bitmaps/noicon.png b/wxPython/demo/bitmaps/noicon.png
new file mode 100644 (file)
index 0000000..0cbe837
Binary files /dev/null and b/wxPython/demo/bitmaps/noicon.png differ
diff --git a/wxPython/demo/data/testtable.txt b/wxPython/demo/data/testtable.txt
new file mode 100644 (file)
index 0000000..beaccde
--- /dev/null
@@ -0,0 +1,38 @@
+Name   Type    Platform        Location        Availability    Description
+WebReuser      Development     Windows 95, Windows NT, HPUX 9.05 and 10.2, Solaris 2.4 and 2.5 http://www.stablesoft.com       Evaluation      WebReuser is a re-use tool from Hitachi Europe Limited. WebReuser is a tool that simplifies software reuse. Its ability to track, schematize and search documents makes it the ideal way to understand C++ code. These features also make WebReuser an ideal tool to classify any Web resource. WebReuser can even be used for more general documentation management tasks.
+MacAnova       Development     Windows, Motif, Mac     http://www.stat.umn.edu/~gary/macanova/macanova.home.html       Free    A large statistical application from the School of Statistics, University of Minnesota. It is based on a modified version of wxWindows 1.65.
+Hardy  Development     Win 3.1, WIN32, Motif (Sun only)        http://www.aiai.ed.ac.uk/~hardy/        Freeware for personal and academic use  A hypertext-based diagramming and knowledge-based system development tool, with NASA's CLIPS built-in. It is a superset of wxCLIPS.
+wxCLIPS        Development     Win 3.1, WIN32, Motif, XView    http://web.ukonline.co.uk/julian.smart/wxclips  Freeware        A GUI development environment for CLIPS applications.
+wxPython       Development     wxWindows 2 for the new version http://alldunn.com/wxPython/    Freeware        Python/wxWindows combination by Robin Dunn and Harri Pasanen. Python is an elegant object-oriented, interpreted language that runs on many platforms.
+MrEd   Development     Win 3.1, WIN32, Motif, XView    http://www.cs.rice.edu/CS/PLT/packages/mred/    Freeware        MrEd is a combined editor and Scheme development environment by Matthew Flatt.
+WXLisp Development     Win 3.1, WIN32, Motif, XView    http://www.cadlab.de/~lipuser/wxlisp/wxlisp.html        Freeware        A combination of wxWindows and XLisp.
+Scriptum       Development     Motif   http://www.isoft.com.ar/eng/products/system/scriptum.html       Freeware        Graphical editor with visual highlighting, navigation/browsing, undo, class browser for C++ and Java, source code management, file locking, remote editing using ftp, configurable.
+WipeOut        Development     XView/Linux     http://www.softwarebuero.de/wipeout-eng.html    Giftware        WipeOut is an integrated development environment for C++ projects, available for Linux/XView. The authors are working on versions for SunOS/Solaris. Source is available for porting to other platforms.
+OPL    Development     Win 3.1, WIN32, Motif, XView    http://www.ozemail.com.au/~adavison/    Freeware        Object Prolog is a portable implementation of Prolog by Andrew Davison, with object-oriented extensions, entirely written in C++. In the initial version, a binding to wxWindows is available. In the revamped version, this binding has not been written yet.
+Dataplore      Graphics and sound      Windows, other? http://www.datan.de/dataplore   Commercial      Data visualisation tool, from Datan
+VCG Tool       Graphics and sound      Win 3.1, WIN32, Motif, XView    http://www.cs.uni-sb.de:80/RW/users/sander/html/gsvcg1.html     Freeware        A graph layout tool similar to GraphPlace, but with extensions. Very nice indeed!
+Y.E.S. Graphics and sound      Win 3.1, WIN32, XView (Linux)   ftp://ftp.musik.uni-essen.de/pub/EsAC/program/  Shareware       Monophonic notation program.
+JAZZ   Graphics and sound      XView (Linux)   http://rokke.aug.hiagder.no/per/jazz.html       Freeware        A MIDI sequencer for Linux.
+ISP    Graphics and sound      Win 3.1, WIN32, Motif, XView    ftp://www.remstar.com/pub/wxwin/contrib/isp-100/        Freeware        Image and sound player educational tool.
+ClockWorks     Graphics and sound      Win 3.1, WIN32, Motif, XView    http://web.ukonline.co.uk/Members/julian.smart/freesoft.html#clockworks Freeware        A configurable analogue clock, with a collection of 'fine art' faces. By Julian Smart.
+M      Miscellaneous   Windows 95, Windows NT, Linux   http://www.phy.hw.ac.uk/~karsten/M/index.html   GPL     M is a cross-platform e-mail application. It will be available for X11/Unix and Windows platforms, supporting a wide range of e-mail transfer protocols as well as including full MIME support. M's wealth of features and ease of use make it one of the most powerful MUAs available, providing a consistent and intuitive interface across all platforms.
+Boolean        Miscellaneous   Windows 95, Windows NT, Solaris http://www.xs4all.nl/~kholwerd/bool.html        Freeware        A GDSII CAD file format viewer, and program to perform boolean operations on sets of 2D polygons. By Klaas Holwerda.
+TimeMan        Miscellaneous   wxGTK, Unix     http://www.bgif.no/neureka/TimeMan/     Freeware        A time manager, written using wxGTK
+Forty Thieves  Miscellaneous   Motif, Windows  apps/forty/forty.htm    Freeware        A fiendish patience game, by Chris Breeze. A nice demo of what's possible with wxWindows.
+Lean Integration Platform      Miscellaneous   Windows NT, various flavours of UNIX    http://www.c-lab.de/~lipuser/lip        To be decided   LIP is a workflow-oriented tool integration system which uses wxLisp (and thus wxWindows) as an implementation basis. Lisp combined with the wxWindows bindings make up the compatible extension language platform of the system.
+wxWeb  Miscellaneous   Win 3.1, WIN32, Motif   ftp://www.remstar.com/pub/wxwin/contrib/wxweb   Freeware        Andrew Davison's Web browser, with SimSock portable socket library and wxHtml canvas. Includes an http server for UNIX and Windows.
+SANTIS Miscellaneous   Win 3.1, Windows 95, Linux, Solaris OpenLook and Motif, Silicon Graphics        http://www.physiology.rwth-aachen.de/bs/santis/ Free for non-commercial use     SANTIS is a software tool designed for the analysis of signals and time series data of any kind, in particular for scientific purposes. It was developed at the Laboratory of Biomedical Systems Analysis, Institute of Physiology at the University of Aachen, Germany.
+Xbaies Miscellaneous   Win 3.1, WIN32, Motif, XView    xbaies.htm      Freeware        A shell for building Bayesian network models, by Robert Cowell.
+wxTinyBB       Miscellaneous   Win 3.1, WIN32, Motif, XView    ftp://www.remstar.com/pub/wxwin/contrib/wxtinybb        Freeware/commercial     A tiny blackboard shell demo showing an embedded (commercial) Prolog engine. Demo written by Arvindra Sehmi. A good example of a nice interface using wxWindows.
+Gambit Miscellaneous   Win 3.1, WIN32, Motif, XView    http://www.hss.caltech.edu/~gambit/Gambit.html  Freeware        A large wxWindows application with source, and features such as a table control with printing.
+Tex2RTF        Miscellaneous   Win 3.1, WIN32, Motif, XView    http://web.ukonline.co.uk/julian.smart/tex2rtf  Freeware        Converts subset of LaTeX syntax to WinHelp, wordprocessor RTF, HTML, and wxHelp. As used for wxWindows documentation.
+wxPoem Miscellaneous   Win 3.1, WIN32, Motif, XView    none.htm        Freeware        A poetry display program for wxWindows. Included as a sample in the wxWindows distribution.
+Sonar tracking software        Miscellaneous   See Web site    http://www.desertstar.com       Demonstration   Miscellaneous sonar tracking software from Desert Star Systems, who use wxWindows for all their Windows-based software.
+Name   Research software       Platform        Location        Availability    Description
+DisCo  Research software       N/A     http://www.cs.tut.fi/laitos/DisCo/tool.fm.html  N/A     A tool for specification of reactive systems.
+CAFE   Research software       N/A     cafe.htm        N/A     Cellular Analysis of Fire and Extinction
+CODA   Research software       See Web site    http://www.ozemail.com.au/~mbedward/coda/coda.html      See Web site    CODA assists in the design of networks of nature reserves or protected areas. It has been used for major reserve planning studies, as a teaching resource and for research into conservation planning methods. 
+EGRESS Research software       N/A     http://www.aiai.ed.ac.uk/~jimd/Egress2/projInfo_contents.html   N/A     An evacuation decision model.
+ACT    Research software       N/A     none.htm        N/A     A general process and tracker and automator being built at NASA.
+Rectangular nesting program    Research software       N/A     http://www.elec-eng.leeds.ac.uk/een5mpd/research.html   N/A     Optimized layout of rectangles on a page.
+Finite element post processor  Research software       N/A     http://www.ime.auc.dk/afd3/odessy/manuals/index.htm     N/A     Finite element postprocessor, produced at Aalborg University in Denmark by John Rasmussen and Erik Lund.
diff --git a/wxPython/demo/mimetypes.wdr b/wxPython/demo/mimetypes.wdr
new file mode 100644 (file)
index 0000000..d3d9583
Binary files /dev/null and b/wxPython/demo/mimetypes.wdr differ
diff --git a/wxPython/demo/mimetypes_wdr.py b/wxPython/demo/mimetypes_wdr.py
new file mode 100644 (file)
index 0000000..c316963
--- /dev/null
@@ -0,0 +1,156 @@
+#!/usr/env python
+#-----------------------------------------------------------------------------
+# Python source generated by wxDesigner from file: mimetypes.wdr
+# Do not modify this file, all changes will be lost!
+#-----------------------------------------------------------------------------
+
+# Include wxWindows' modules
+from wxPython.wx import *
+
+# Window functions
+
+ID_INPUT_TEXT = 10000
+ID_EXTENSION_Btn = 10001
+ID_MIME_BTN = 10002
+ID_LOOKUP_BTN = 10003
+ID_LINE = 10004
+ID_TEXT = 10005
+ID_ICON_BMP = 10006
+ID_ICON_FILE_TXT = 10007
+ID_ICON_INDEX_TXT = 10008
+ID_MIME_TYPE_TXT = 10009
+ID_MIME_TYPES_TXT = 10010
+ID_EXTENSIONS_TXT = 10011
+ID_DESCRIPTION_TXT = 10012
+ID_OPEN_CMD_TXT = 10013
+ID_PRINT_CMD_TXT = 10014
+ID_ALL_CMDS_TXT = 10015
+ID_LISTBOX = 10016
+
+def MakeMimeTypesTestPanel( parent, call_fit = true, set_sizer = true ):
+    item0 = wxBoxSizer( wxVERTICAL )
+    
+    item1 = wxBoxSizer( wxHORIZONTAL )
+    
+    item2 = wxTextCtrl( parent, ID_INPUT_TEXT, "", wxDefaultPosition, wxSize(100,-1), 0 )
+    item1.AddWindow( item2, 0, wxALIGN_CENTRE|wxALL, 5 )
+
+    item3 = wxRadioButton( parent, ID_EXTENSION_Btn, "By extension", wxDefaultPosition, wxDefaultSize, wxRB_GROUP )
+    item3.SetValue( true )
+    item1.AddWindow( item3, 0, wxALIGN_CENTRE|wxALL, 5 )
+
+    item4 = wxRadioButton( parent, ID_MIME_BTN, "By mime type", wxDefaultPosition, wxDefaultSize, 0 )
+    item1.AddWindow( item4, 0, wxALIGN_CENTRE|wxALL, 5 )
+
+    item5 = wxButton( parent, ID_LOOKUP_BTN, "Lookup", wxDefaultPosition, wxDefaultSize, 0 )
+    item5.SetDefault()
+    item1.AddWindow( item5, 0, wxALIGN_CENTRE|wxALL, 5 )
+
+    item0.AddSizer( item1, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
+
+    item6 = wxStaticLine( parent, ID_LINE, wxDefaultPosition, wxSize(20,-1), wxLI_HORIZONTAL )
+    item0.AddWindow( item6, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
+
+    item7 = wxBoxSizer( wxHORIZONTAL )
+    
+    item8 = wxFlexGridSizer( 0, 2, 0, 0 )
+    item8.AddGrowableCol( 1 )
+    item8.AddGrowableRow( 8 )
+    
+    item9 = wxStaticText( parent, ID_TEXT, "wxFileType:", wxDefaultPosition, wxDefaultSize, 0 )
+    item9.SetFont( wxFont( 14, wxSWISS, wxNORMAL, wxBOLD ) )
+    item8.AddWindow( item9, 0, wxALL, 5 )
+
+    item8.AddSpacer( 20, 20, 0, wxALIGN_CENTRE|wxALL, 5 )
+
+    item10 = wxStaticText( parent, ID_TEXT, "GetIconInfo:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
+
+    item11 = wxBoxSizer( wxHORIZONTAL )
+    
+    item12 = wxStaticBitmap( parent, ID_ICON_BMP, MyBitmapsFunc( 0 ), wxDefaultPosition, wxDefaultSize )
+    item11.AddWindow( item12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 )
+
+    item13 = wxTextCtrl( parent, ID_ICON_FILE_TXT, "", wxDefaultPosition, wxSize(120,-1), wxTE_READONLY )
+    item11.AddWindow( item13, 1, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
+
+    item14 = wxTextCtrl( parent, ID_ICON_INDEX_TXT, "", wxDefaultPosition, wxSize(30,-1), wxTE_READONLY )
+    item11.AddWindow( item14, 0, wxALIGN_CENTRE|wxRIGHT|wxTOP|wxBOTTOM, 5 )
+
+    item8.AddSizer( item11, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5 )
+
+    item15 = wxStaticText( parent, ID_TEXT, "GetMimeType:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item15, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item16 = wxTextCtrl( parent, ID_MIME_TYPE_TXT, "", wxDefaultPosition, wxSize(310,-1), wxTE_READONLY )
+    item8.AddWindow( item16, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item17 = wxStaticText( parent, ID_TEXT, "GetMimeTypes:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item17, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item18 = wxTextCtrl( parent, ID_MIME_TYPES_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
+    item8.AddWindow( item18, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item19 = wxStaticText( parent, ID_TEXT, "GetExtensions:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item19, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item20 = wxTextCtrl( parent, ID_EXTENSIONS_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
+    item8.AddWindow( item20, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item21 = wxStaticText( parent, ID_TEXT, "GetDescription:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item21, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item22 = wxTextCtrl( parent, ID_DESCRIPTION_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
+    item8.AddWindow( item22, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item23 = wxStaticText( parent, ID_TEXT, "GetOpenCommand:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item23, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item24 = wxTextCtrl( parent, ID_OPEN_CMD_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
+    item8.AddWindow( item24, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item25 = wxStaticText( parent, ID_TEXT, "GetPrintCommand:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item25, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item26 = wxTextCtrl( parent, ID_PRINT_CMD_TXT, "", wxDefaultPosition, wxSize(80,-1), wxTE_READONLY )
+    item8.AddWindow( item26, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item27 = wxStaticText( parent, ID_TEXT, "GetAllCommands:", wxDefaultPosition, wxDefaultSize, 0 )
+    item8.AddWindow( item27, 0, wxALIGN_RIGHT|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item28 = wxTextCtrl( parent, ID_ALL_CMDS_TXT, "", wxDefaultPosition, wxSize(80,100), wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL )
+    item8.AddWindow( item28, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5 )
+
+    item7.AddSizer( item8, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 )
+
+    item29 = wxBoxSizer( wxVERTICAL )
+    
+    item30 = wxStaticText( parent, ID_TEXT, "Known mime types:", wxDefaultPosition, wxDefaultSize, 0 )
+    item29.AddWindow( item30, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5 )
+
+    item31 = wxListBox( parent, ID_LISTBOX, wxDefaultPosition, wxSize(150,100), [], wxLB_SINGLE|wxLB_SORT|wxLB_HSCROLL )
+    item29.AddWindow( item31, 1, wxALIGN_CENTRE|wxRIGHT|wxBOTTOM, 5 )
+
+    item7.AddSizer( item29, 0, wxGROW|wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5 )
+
+    item0.AddSizer( item7, 1, wxGROW|wxALIGN_CENTER_VERTICAL, 5 )
+
+    if set_sizer == true:
+        parent.SetAutoLayout( true )
+        parent.SetSizer( item0 )
+        if call_fit == true:
+            item0.Fit( parent )
+            item0.SetSizeHints( parent )
+    
+    return item0
+
+# Menu bar functions
+
+# Bitmap functions
+
+def MyBitmapsFunc( index ):
+    if index == 0:
+        return wxImage( "mimetypes_wdr/MyBitmapsFunc_0.png", wxBITMAP_TYPE_PNG ).ConvertToBitmap()
+    return wxNullBitmap
+
+# End of generated file
diff --git a/wxPython/demo/wxMimeTypesManager.py b/wxPython/demo/wxMimeTypesManager.py
new file mode 100644 (file)
index 0000000..9400a5c
--- /dev/null
@@ -0,0 +1,167 @@
+
+import pprint, string
+from wxPython.wx import *
+from mimetypes_wdr import *
+
+#----------------------------------------------------------------------------
+
+# WDR: classes
+
+class MimeTypesTestPanel(wxPanel):
+    def __init__(self, parent, id,
+        pos = wxPyDefaultPosition, size = wxPyDefaultSize,
+        style = wxTAB_TRAVERSAL ):
+        wxPanel.__init__(self, parent, id, pos, size, style)
+
+        MakeMimeTypesTestPanel( self, true )
+
+        # WDR: handler declarations for MimeTypesTestPanel
+        EVT_LISTBOX(self, ID_LISTBOX, self.OnListbox)
+        EVT_BUTTON(self, ID_LOOKUP_BTN, self.OnLookup)
+
+        self.GetInputText().SetValue("html")
+        self.OnLookup()
+
+        mimetypes = wxTheMimeTypesManager.EnumAllFileTypes()
+        for mt in mimetypes:
+            self.GetListbox().Append(mt)
+
+
+
+    # WDR: handler implementations for MimeTypesTestPanel
+
+    def OnListbox(self, event):
+        mimetype = event.GetString()
+        self.GetInputText().SetValue(mimetype)
+        self.GetMimeBtn().SetValue(TRUE)
+        self.GetExtensionBtn().SetValue(FALSE)
+        self.OnLookup()
+
+
+    def OnLookup(self, event=None):
+        txt = self.GetInputText().GetValue()
+        if self.GetMimeBtn().GetValue():
+            fileType = wxTheMimeTypesManager.GetFileTypeFromMimeType(txt)
+            msg = "Mime type"
+        else:
+            fileType = wxTheMimeTypesManager.GetFileTypeFromExtension(txt)
+            msg = "File extension"
+        if fileType is None:
+            wxMessageBox(msg + " not found.", "Oops!")
+        else:
+            self.Update(fileType)
+
+
+
+    def Update(self, ft):
+        #icon = ft.GetIcon()
+        info = ft.GetIconInfo()
+        if info is None:
+            bmp = MyBitmapsFunc(0)
+            ##print bmp.Ok(), bmp.GetWidth(), bmp.GetHeight()
+            self.GetIconBmp().SetBitmap(bmp)
+            self.GetIconFileTxt().SetValue("")
+            self.GetIconIndexTxt().SetValue("")
+        else:
+            icon, file, idx = info
+            #bmp = wxBitmapFromIcon(icon)
+            #self.GetIconBmp().SetBitmap(bmp)
+            self.GetIconBmp().SetIcon(icon)
+            self.GetIconFileTxt().SetValue(file)
+            self.GetIconIndexTxt().SetValue(str(idx))
+
+        self.GetMimeTypeTxt().SetValue(str(ft.GetMimeType()))
+        self.GetMimeTypesTxt().SetValue(str(ft.GetMimeTypes()))
+        self.GetExtensionsTxt().SetValue(str(ft.GetExtensions()))
+        self.GetDescriptionTxt().SetValue(str(ft.GetDescription()))
+
+        ext = ft.GetExtensions()[0]
+        mime = ft.GetMimeType() or ""
+        cmd = ft.GetOpenCommand("SPAM" + ext, mime)
+        self.GetOpenCmdTxt().SetValue(str(cmd))
+
+        cmd = ft.GetPrintCommand("SPAM" + ext, mime)
+        self.GetPrintCmdTxt().SetValue(str(cmd))
+
+        all = ft.GetAllCommands("SPAM" + ext, mime)
+        if all is None:
+            self.GetAllCmdsTxt().SetValue("")
+        else:
+            verbs, commands = all
+            text = pprint.pformat(map(None, verbs, commands))
+            self.GetAllCmdsTxt().SetValue(text)
+
+
+    # WDR: methods for MimeTypesTestPanel
+
+    def GetListbox(self):
+        return wxPyTypeCast( self.FindWindowById(ID_LISTBOX), "wxListBox" )
+
+    def GetIconIndexTxt(self):
+        return self.FindWindowById(ID_ICON_INDEX_TXT)
+
+    def GetIconFileTxt(self):
+        return self.FindWindowById(ID_ICON_FILE_TXT)
+
+    def GetMimeBtn(self):
+        return self.FindWindowById(ID_MIME_BTN)
+
+    def GetExtensionBtn(self):
+        return self.FindWindowById(ID_EXTENSION_Btn)
+
+    def GetAllCmdsTxt(self):
+        return self.FindWindowById(ID_ALL_CMDS_TXT)
+
+    def GetPrintCmdTxt(self):
+        return self.FindWindowById(ID_PRINT_CMD_TXT)
+
+    def GetOpenCmdTxt(self):
+        return self.FindWindowById(ID_OPEN_CMD_TXT)
+
+    def GetDescriptionTxt(self):
+        return self.FindWindowById(ID_DESCRIPTION_TXT)
+
+    def GetExtensionsTxt(self):
+        return self.FindWindowById(ID_EXTENSIONS_TXT)
+
+    def GetMimeTypesTxt(self):
+        return self.FindWindowById(ID_MIME_TYPES_TXT)
+
+    def GetMimeTypeTxt(self):
+        return self.FindWindowById(ID_MIME_TYPE_TXT)
+
+    def GetIconBmp(self):
+        return self.FindWindowById(ID_ICON_BMP)
+
+    def GetInputText(self):
+        return self.FindWindowById(ID_INPUT_TEXT)
+
+
+
+
+
+#----------------------------------------------------------------------
+
+def runTest(frame, nb, log):
+    win = MimeTypesTestPanel(nb, -1)
+    return win
+
+
+#----------------------------------------------------------------------
+
+
+
+overview = """\
+"""
+
+
+
+
+import mimetypes_wdr
+
+def MyBitmapsFunc( index ):
+    return wxImage( "bitmaps/noicon.png", wxBITMAP_TYPE_PNG ).ConvertToBitmap()
+
+mimetypes_wdr.MyBitmapsFunc = MyBitmapsFunc
+
+
index a66618af31d18489d2b0f321e5a3ee8160bb46c8..ceb7b053ea57289d7c3c63e33eb12762f090a137 100644 (file)
@@ -313,10 +313,7 @@ public:
     %addmethods {
         PyObject* GetFilenames() {
             const wxArrayString& strings = self->GetFilenames();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<strings.GetCount(); x++)
-                PyList_Append(list, PyString_FromString(strings[x]));
-            return list;
+            return wxArrayString2PyList_helper(strings);
         }
     }
 #ifdef __WXMSW__
@@ -596,11 +593,7 @@ bool wxPyFileDropTarget::OnDropFiles(wxCoord x, wxCoord y,
                                      const wxArrayString& filenames) {
     bool rval = FALSE;
     wxPyTState* state = wxPyBeginBlockThreads();
-    PyObject* list = PyList_New(0);
-    for (size_t i=0; i<filenames.GetCount(); i++) {
-        PyObject* str = PyString_FromString(filenames[i].c_str());
-        PyList_Append(list, str);
-    }
+    PyObject* list = wxArrayString2PyList_helper(filenames);
     if (m_myInst.findCallback("OnDropFiles"))
         rval = m_myInst.callCallback(Py_BuildValue("(iiO)",x,y,list));
     Py_DECREF(list);
index a10349f9cb971370fa2b6a3de92f3855fa2f8e26..402f5b7c1db30327d1f8db2572143fd1d1631be9 100644 (file)
@@ -117,25 +117,13 @@ public:
         PyObject* GetFilenames() {
             wxArrayString arr;
             self->GetFilenames(arr);
-            size_t count = arr.GetCount();
-            PyObject* listObj = PyList_New(0);
-            for(size_t x=0; x<count; x++) {
-                PyObject* name = PyString_FromString(arr[x]);
-                PyList_Append(listObj, name);
-            }
-            return listObj;
+            return wxArrayString2PyList_helper(arr);
         }
 
         PyObject* GetPaths() {
             wxArrayString arr;
             self->GetPaths(arr);
-            size_t count = arr.GetCount();
-            PyObject* listObj = PyList_New(0);
-            for(size_t x=0; x<count; x++) {
-                PyObject* name = PyString_FromString(arr[x]);
-                PyList_Append(listObj, name);
-            }
-            return listObj;
+            return wxArrayString2PyList_helper(arr);
         }
     }
 };
index 3aa0a80be3b8986b60d123aeb724ab240872265d..aea301458455f2f44f3a6193a8a6bd2db9144651 100644 (file)
@@ -1371,10 +1371,10 @@ public:
                             int horizontalAlignment = wxLEFT,
                             int verticalAlignment = wxTOP );
 
-    // Split a string containing newline chararcters into an array of
-    // strings and return the number of lines
-    //
-    void StringToLines( const wxString& value, wxArrayString& lines );
+//      // Split a string containing newline chararcters into an array of
+//      // strings and return the number of lines
+//      //
+//      void StringToLines( const wxString& value, wxArrayString& lines );
 
     void GetTextBoxSize( wxDC& dc,
                          wxArrayString& lines,
index 95c921d17b63934c0d0356ead8a0d27745de80f5..e485a2f8176d9c2d779cea6d38dc1cc9adccff83 100644 (file)
@@ -1297,6 +1297,19 @@ bool wxColour_helper(PyObject* source, wxColour** obj) {
 
 
 //----------------------------------------------------------------------
+
+PyObject* wxArrayString2PyList_helper(const wxArrayString& arr) {
+
+    PyObject* list = PyList_New(0);
+    for (size_t i=0; i < arr.GetCount(); i++) {
+        PyObject* str = PyString_FromString(arr[i].c_str());
+        PyList_Append(list, str);
+        // TODO:  Check refcount on str...
+    }
+    return list;
+}
+
+
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
index 750107f6bd921c50015590b52d9ba862a007819f..62230c640039ba6bb6639caf0770920220a1c98f 100644 (file)
@@ -151,6 +151,11 @@ bool _2int_seq_helper(PyObject* source, int* i1, int* i2);
 bool _4int_seq_helper(PyObject* source, int* i1, int* i2, int* i3, int* i4);
 
 
+PyObject* wxArrayString2PyList_helper(const wxArrayString& app);
+
+
+#define RETURN_NONE()   { Py_INCREF(Py_None); return Py_None; }
+
 //----------------------------------------------------------------------
 
 #ifndef SWIGCODE
index ef2ce8ad78d57c45ee77bd1f4138347576833696..15385017102396c33dd8d9250de0531152f9595f 100644 (file)
@@ -30,6 +30,8 @@
 #if wxUSE_WAVE || defined(__WXMSW__)
 #include <wx/wave.h>
 #endif
+
+#include <wx/mimetype.h>
 %}
 
 //----------------------------------------------------------------------
@@ -357,18 +359,12 @@ public:
     %addmethods {
         PyObject* GetEncodings() {
             wxArrayString* arr = self->GetEncodings();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<arr->GetCount(); x++)
-                PyList_Append(list, PyString_FromString((*arr)[x]));
-            return list;
+            return wxArrayString2PyList_helper(arr);
         }
 
         PyObject* GetFacenames() {
             wxArrayString* arr = self->GetFacenames();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<arr->GetCount(); x++)
-                PyList_Append(list, PyString_FromString((*arr)[x]));
-            return list;
+            return wxArrayString2PyList_helper(arr);
         }
     }
 };
@@ -514,6 +510,21 @@ public:
     void Stop();
 };
 
+
+class wxStopWatch
+{
+public:
+    // ctor starts the stop watch
+    wxStopWatch();
+    void Start(long t = 0);
+    void Pause();
+    void Resume();
+
+    // get elapsed time since the last Start() or Pause() in milliseconds
+    long Time() const;
+};
+
+
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
@@ -913,6 +924,359 @@ public:
 %}
 
 
+//----------------------------------------------------------------------
+
+enum wxMailcapStyle
+{
+    wxMAILCAP_STANDARD = 1,
+    wxMAILCAP_NETSCAPE = 2,
+    wxMAILCAP_KDE = 4,
+    wxMAILCAP_GNOME = 8,
+
+    wxMAILCAP_ALL = 15
+};
+
+
+
+class wxFileTypeInfo
+{
+public:
+    // ctors
+        // a normal item
+    wxFileTypeInfo(const char *mimeType,
+                   const char *openCmd,
+                   const char *printCmd,
+                   const char *desc);
+
+
+        // the array elements correspond to the parameters of the ctor above in
+        // the same order
+    %name(wxFileTypeInfoSequence)wxFileTypeInfo(const wxArrayString& sArray);
+
+        // invalid item - use this to terminate the array passed to
+        // wxMimeTypesManager::AddFallbacks
+    %name(wxNullFileTypeInfo)wxFileTypeInfo();
+
+
+    // test if this object can be used
+    bool IsValid() const;
+
+    // setters
+        // set the icon info
+    void SetIcon(const wxString& iconFile, int iconIndex = 0);
+
+        // set the short desc
+    void SetShortDesc(const wxString& shortDesc);
+
+    // accessors
+        // get the MIME type
+    const wxString& GetMimeType() const;
+        // get the open command
+    const wxString& GetOpenCommand() const;
+        // get the print command
+    const wxString& GetPrintCommand() const;
+        // get the short description (only used under Win32 so far)
+    const wxString& GetShortDesc() const;
+        // get the long, user visible description
+    const wxString& GetDescription() const;
+
+
+        // get the array of all extensions
+    //const wxArrayString& GetExtensions() const;
+    %addmethods {
+        PyObject* GetExtensions() {
+            wxArrayString& arr = (wxArrayString&)self->GetExtensions();
+            return wxArrayString2PyList_helper(arr);
+        }
+    }
+
+    int GetExtensionsCount() const;
+
+    // get the icon info
+    const wxString& GetIconFile() const;
+    int GetIconIndex() const;
+};
+
+
+
+
+class wxFileType
+{
+public:
+
+    // TODO: Make a wxPyMessageParameters with virtual GetParamValue...
+
+    // An object of this class must be passed to Get{Open|Print}Command. The
+    // default implementation is trivial and doesn't know anything at all about
+    // parameters, only filename and MIME type are used (so it's probably ok for
+    // Windows where %{param} is not used anyhow)
+    class MessageParameters
+    {
+    public:
+        // ctors
+        MessageParameters(const wxString& filename=wxPyEmptyStr,
+                          const wxString& mimetype=wxPyEmptyStr);
+
+        // accessors (called by GetOpenCommand)
+            // filename
+        const wxString& GetFileName() const;
+            // mime type
+        const wxString& GetMimeType() const;;
+
+        // override this function in derived class
+        virtual wxString GetParamValue(const wxString& name) const;
+
+        // virtual dtor as in any base class
+        virtual ~MessageParameters();
+    };
+
+
+    // ctor from static data
+    wxFileType(const wxFileTypeInfo& ftInfo);
+
+    // return the MIME type for this file type
+    %addmethods {
+        PyObject* GetMimeType() {
+            wxString str;
+            if (self->GetMimeType(&str))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+        PyObject* GetMimeTypes() {
+            wxArrayString arr;
+            if (self->GetMimeTypes(arr))
+                return wxArrayString2PyList_helper(arr);
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    // Get all extensions associated with this file type
+    %addmethods {
+        PyObject* GetExtensions() {
+            wxArrayString arr;
+            if (self->GetExtensions(arr))
+                return wxArrayString2PyList_helper(arr);
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    %addmethods {
+        // Get the icon corresponding to this file type
+        %new wxIcon* GetIcon() {
+            wxIcon icon;
+            if (self->GetIcon(&icon))
+                return new wxIcon(icon);
+            else
+                return NULL;
+        }
+
+        // Get the icon corresponding to this file type, the name of the file
+        // where this icon resides, and its index in this file if applicable.
+        PyObject* GetIconInfo() {
+            wxIcon icon;
+            wxString iconFile;
+            int iconIndex;
+            if (self->GetIcon(&icon, &iconFile, &iconIndex)) {
+                wxPyTState* state = wxPyBeginBlockThreads();
+                PyObject* tuple = PyTuple_New(3);
+                PyTuple_SetItem(tuple, 0, wxPyConstructObject(new wxIcon(icon),
+                                                              "wxIcon", TRUE));
+                PyTuple_SetItem(tuple, 1, PyString_FromString(iconFile.c_str()));
+                PyTuple_SetItem(tuple, 2, PyInt_FromLong(iconIndex));
+                wxPyEndBlockThreads(state);
+                return tuple;
+            }
+            else
+                RETURN_NONE();
+        }
+    }
+
+    %addmethods {
+        // get a brief file type description ("*.txt" => "text document")
+        PyObject* GetDescription() {
+            wxString str;
+            if (self->GetDescription(&str))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    // get the command to open/execute the file of given type
+    %addmethods {
+        PyObject* GetOpenCommand(const wxString& filename,
+                                 const wxString& mimetype=wxPyEmptyStr) {
+            wxString str;
+            if (self->GetOpenCommand(&str, wxFileType::MessageParameters(filename, mimetype)))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    // get the command to print the file of given type
+    %addmethods {
+        PyObject* GetPrintCommand(const wxString& filename,
+                                  const wxString& mimetype=wxPyEmptyStr) {
+            wxString str;
+            if (self->GetPrintCommand(&str, wxFileType::MessageParameters(filename, mimetype)))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    // Get all commands defined for this file type
+    %addmethods {
+        PyObject* GetAllCommands(const wxString& filename,
+                                 const wxString& mimetype=wxPyEmptyStr) {
+            wxArrayString verbs;
+            wxArrayString commands;
+            if (self->GetAllCommands(&verbs, &commands,
+                                     wxFileType::MessageParameters(filename, mimetype))) {
+                wxPyTState* state = wxPyBeginBlockThreads();
+                PyObject* tuple = PyTuple_New(2);
+                PyTuple_SetItem(tuple, 0, wxArrayString2PyList_helper(verbs));
+                PyTuple_SetItem(tuple, 1, wxArrayString2PyList_helper(commands));
+                wxPyEndBlockThreads(state);
+                return tuple;
+            }
+            else
+                RETURN_NONE();
+        }
+    }
+
+
+    // set an arbitrary command, ask confirmation if it already exists and
+    // overwriteprompt is TRUE
+    bool SetCommand(const wxString& cmd, const wxString& verb,
+                    bool overwriteprompt = TRUE);
+
+    bool SetDefaultIcon(const wxString& cmd = wxEmptyString, int index = 0);
+
+
+    // remove the association for this filetype from the system MIME database:
+    // notice that it will only work if the association is defined in the user
+    // file/registry part, we will never modify the system-wide settings
+    bool Unassociate();
+
+    // operations
+        // expand a string in the format of GetOpenCommand (which may contain
+        // '%s' and '%t' format specificators for the file name and mime type
+        // and %{param} constructions).
+    static wxString ExpandCommand(const wxString& command,
+                                  const MessageParameters& params);
+
+    // dtor (not virtual, shouldn't be derived from)
+    ~wxFileType();
+
+};
+
+
+
+
+class wxMimeTypesManager
+{
+public:
+    // static helper functions
+    // -----------------------
+
+        // check if the given MIME type is the same as the other one: the
+        // second argument may contain wildcards ('*'), but not the first. If
+        // the types are equal or if the mimeType matches wildcard the function
+        // returns TRUE, otherwise it returns FALSE
+    static bool IsOfType(const wxString& mimeType, const wxString& wildcard);
+
+    // ctor
+    wxMimeTypesManager();
+
+    // loads data from standard files according to the mailcap styles
+    // specified: this is a bitwise OR of wxMailcapStyle values
+    //
+    // use the extraDir parameter if you want to look for files in another
+    // directory
+    void Initialize(int mailcapStyle = wxMAILCAP_STANDARD,
+                    const wxString& extraDir = wxEmptyString);
+
+    // and this function clears all the data from the manager
+    void ClearData();
+
+    // Database lookup: all functions return a pointer to wxFileType object
+    // whose methods may be used to query it for the information you're
+    // interested in. If the return value is !NULL, caller is responsible for
+    // deleting it.
+    // get file type from file extension
+    %new wxFileType *GetFileTypeFromExtension(const wxString& ext);
+
+    // get file type from MIME type (in format <category>/<format>)
+    %new wxFileType *GetFileTypeFromMimeType(const wxString& mimeType);
+
+    // other operations: return TRUE if there were no errors or FALSE if there
+    // were some unreckognized entries (the good entries are always read anyhow)
+    //
+
+        // read in additional file (the standard ones are read automatically)
+        // in mailcap format (see mimetype.cpp for description)
+        //
+        // 'fallback' parameter may be set to TRUE to avoid overriding the
+        // settings from other, previously parsed, files by this one: normally,
+        // the files read most recently would override the older files, but with
+        // fallback == TRUE this won't happen
+    bool ReadMailcap(const wxString& filename, bool fallback = FALSE);
+
+    // read in additional file in mime.types format
+    bool ReadMimeTypes(const wxString& filename);
+
+    // enumerate all known MIME types
+    %addmethods {
+        PyObject* EnumAllFileTypes() {
+            wxArrayString arr;
+            self->EnumAllFileTypes(arr);
+            return wxArrayString2PyList_helper(arr);
+        }
+    }
+
+    // these functions can be used to provide default values for some of the
+    // MIME types inside the program itself (you may also use
+    // ReadMailcap(filenameWithDefaultTypes, TRUE /* use as fallback */) to
+    // achieve the same goal, but this requires having this info in a file).
+    //
+    void AddFallback(const wxFileTypeInfo& ft);
+
+
+    // create or remove associations
+
+        // create a new association using the fields of wxFileTypeInfo (at least
+        // the MIME type and the extension should be set)
+        // if the other fields are empty, the existing values should be left alone
+    %new wxFileType *Associate(const wxFileTypeInfo& ftInfo);
+
+        // undo Associate()
+    bool Unassociate(wxFileType *ft) ;
+
+    // dtor (not virtual, shouldn't be derived from)
+    ~wxMimeTypesManager();
+};
+
+
+%readonly
+%{
+#if 0
+%}
+extern wxMimeTypesManager* wxTheMimeTypesManager;
+%{
+#endif
+%}
+%readwrite
+
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
index 0d81093266ddf5b272fb568af0ab84e7bbd8b62f..0afcd0ff5203e71d142427d9b3a2939c6e708e9b 100644 (file)
@@ -294,11 +294,7 @@ bool wxPyFileDropTarget::OnDropFiles(wxCoord x, wxCoord y,
                                      const wxArrayString& filenames) {
     bool rval = FALSE;
     wxPyTState* state = wxPyBeginBlockThreads();
-    PyObject* list = PyList_New(0);
-    for (size_t i=0; i<filenames.GetCount(); i++) {
-        PyObject* str = PyString_FromString(filenames[i].c_str());
-        PyList_Append(list, str);
-    }
+    PyObject* list = wxArrayString2PyList_helper(filenames);
     if (m_myInst.findCallback("OnDropFiles"))
         rval = m_myInst.callCallback(Py_BuildValue("(iiO)",x,y,list));
     Py_DECREF(list);
@@ -1711,10 +1707,7 @@ static PyObject *_wrap_new_wxFileDataObject(PyObject *self, PyObject *args, PyOb
 
 static PyObject * wxFileDataObject_GetFilenames(wxFileDataObject *self) {
             const wxArrayString& strings = self->GetFilenames();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<strings.GetCount(); x++)
-                PyList_Append(list, PyString_FromString(strings[x]));
-            return list;
+            return wxArrayString2PyList_helper(strings);
         }
 static PyObject *_wrap_wxFileDataObject_GetFilenames(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
index 2c90e496b20bf0336a2d59d7b48d032b2abe0e43..8364aa85dade2116669030089a8b88cf58ba5565 100644 (file)
@@ -1470,13 +1470,7 @@ static PyObject *_wrap_wxFileDialog_ShowModal(PyObject *self, PyObject *args, Py
 static PyObject * wxFileDialog_GetFilenames(wxFileDialog *self) {
             wxArrayString arr;
             self->GetFilenames(arr);
-            size_t count = arr.GetCount();
-            PyObject* listObj = PyList_New(0);
-            for(size_t x=0; x<count; x++) {
-                PyObject* name = PyString_FromString(arr[x]);
-                PyList_Append(listObj, name);
-            }
-            return listObj;
+            return wxArrayString2PyList_helper(arr);
         }
 static PyObject *_wrap_wxFileDialog_GetFilenames(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -1510,13 +1504,7 @@ static PyObject *_wrap_wxFileDialog_GetFilenames(PyObject *self, PyObject *args,
 static PyObject * wxFileDialog_GetPaths(wxFileDialog *self) {
             wxArrayString arr;
             self->GetPaths(arr);
-            size_t count = arr.GetCount();
-            PyObject* listObj = PyList_New(0);
-            for(size_t x=0; x<count; x++) {
-                PyObject* name = PyString_FromString(arr[x]);
-                PyList_Append(listObj, name);
-            }
-            return listObj;
+            return wxArrayString2PyList_helper(arr);
         }
 static PyObject *_wrap_wxFileDialog_GetPaths(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
index 094fb2fc1472220f68e12ded59f2b215ab60dba4..80a47f4afac19ffe7f8dd28c555ba3a8c5a1ce88 100644 (file)
@@ -1459,13 +1459,13 @@ static PyObject *_wrap_new_wxBitmap(PyObject *self, PyObject *args, PyObject *kw
     PyObject * _resultobj;
     wxBitmap * _result;
     wxString * _arg0;
-    wxBitmapType  _arg1;
+    wxBitmapType  _arg1 = (wxBitmapType ) wxBITMAP_TYPE_BMP;
     PyObject * _obj0 = 0;
     char *_kwnames[] = { "name","type", NULL };
     char _ptemp[128];
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:new_wxBitmap",_kwnames,&_obj0,&_arg1)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:new_wxBitmap",_kwnames,&_obj0,&_arg1)) 
         return NULL;
 {
 #if PYTHON_API_VERSION >= 1009
@@ -1609,13 +1609,13 @@ static PyObject *_wrap_wxBitmap_LoadFile(PyObject *self, PyObject *args, PyObjec
     bool  _result;
     wxBitmap * _arg0;
     wxString * _arg1;
-    long  _arg2;
+    wxBitmapType  _arg2 = (wxBitmapType ) wxBITMAP_TYPE_BMP;
     PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
-    char *_kwnames[] = { "self","name","flags", NULL };
+    char *_kwnames[] = { "self","name","type", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOl:wxBitmap_LoadFile",_kwnames,&_argo0,&_obj1,&_arg2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxBitmap_LoadFile",_kwnames,&_argo0,&_obj1,&_arg2)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -1662,7 +1662,7 @@ static PyObject *_wrap_wxBitmap_SaveFile(PyObject *self, PyObject *args, PyObjec
     bool  _result;
     wxBitmap * _arg0;
     wxString * _arg1;
-    int  _arg2;
+    wxBitmapType  _arg2;
     wxPalette * _arg3 = (wxPalette *) NULL;
     PyObject * _argo0 = 0;
     PyObject * _obj1 = 0;
index 5ec124f43f9ee838dd1aa569cfb967218ebd2120..f1fd50ca23d519a180d64630da2ad566b5d0dad0 100644 (file)
@@ -7822,67 +7822,6 @@ static PyObject *_wrap_wxGrid_DrawTextRectangle(PyObject *self, PyObject *args,
     return _resultobj;
 }
 
-#define wxGrid_StringToLines(_swigobj,_swigarg0,_swigarg1)  (_swigobj->StringToLines(_swigarg0,_swigarg1))
-static PyObject *_wrap_wxGrid_StringToLines(PyObject *self, PyObject *args, PyObject *kwargs) {
-    PyObject * _resultobj;
-    wxGrid * _arg0;
-    wxString * _arg1;
-    wxArrayString * _arg2;
-    PyObject * _argo0 = 0;
-    PyObject * _obj1 = 0;
-    PyObject * _argo2 = 0;
-    char *_kwnames[] = { "self","value","lines", NULL };
-
-    self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_StringToLines",_kwnames,&_argo0,&_obj1,&_argo2)) 
-        return NULL;
-    if (_argo0) {
-        if (_argo0 == Py_None) { _arg0 = NULL; }
-        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_StringToLines. Expected _wxGrid_p.");
-        return NULL;
-        }
-    }
-{
-#if PYTHON_API_VERSION >= 1009
-    char* tmpPtr; int tmpSize;
-    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
-        return NULL;
-    _arg1 = new wxString(tmpPtr, tmpSize);
-#else
-    if (!PyString_Check(_obj1)) {
-        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
-        return NULL;
-    }
-    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
-#endif
-}
-    if (_argo2) {
-        if (_argo2 == Py_None) { _arg2 = NULL; }
-        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxArrayString_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_StringToLines. Expected _wxArrayString_p.");
-        return NULL;
-        }
-    }
-{
-    wxPy_BEGIN_ALLOW_THREADS;
-        wxGrid_StringToLines(_arg0,*_arg1,*_arg2);
-
-    wxPy_END_ALLOW_THREADS;
-    if (PyErr_Occurred()) return NULL;
-}    Py_INCREF(Py_None);
-    _resultobj = Py_None;
-{
-    if (_obj1)
-        delete _arg1;
-}
-    return _resultobj;
-}
-
 #define wxGrid_GetTextBoxSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3)  (_swigobj->GetTextBoxSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
 static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -7895,7 +7834,7 @@ static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyO
     long  temp0;
     PyObject * _argo0 = 0;
     PyObject * _argo1 = 0;
-    PyObject * _argo2 = 0;
+    PyObject * _obj2 = 0;
     char *_kwnames[] = { "self","dc","lines", NULL };
 
     self = self;
@@ -7905,7 +7844,7 @@ static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyO
 {
   _arg4 = &temp0;
 }
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_GetTextBoxSize",_kwnames,&_argo0,&_argo1,&_argo2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_GetTextBoxSize",_kwnames,&_argo0,&_argo1,&_obj2)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -7921,13 +7860,21 @@ static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyO
         return NULL;
         }
     }
-    if (_argo2) {
-        if (_argo2 == Py_None) { _arg2 = NULL; }
-        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxArrayString_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_GetTextBoxSize. Expected _wxArrayString_p.");
+{
+    if (! PySequence_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
         return NULL;
-        }
     }
+    _arg2 = new wxArrayString;
+    int i, len=PySequence_Length(_obj2);
+    for (i=0; i<len; i++) {
+        PyObject* item = PySequence_GetItem(_obj2, i);
+        PyObject* str  = PyObject_Str(item);
+        _arg2->Add(PyString_AsString(item));
+        Py_DECREF(item);
+        Py_DECREF(str);
+    }
+}
 {
     wxPy_BEGIN_ALLOW_THREADS;
         wxGrid_GetTextBoxSize(_arg0,*_arg1,*_arg2,_arg3,_arg4);
@@ -7945,6 +7892,10 @@ static PyObject *_wrap_wxGrid_GetTextBoxSize(PyObject *self, PyObject *args, PyO
     PyObject *o;
     o = PyInt_FromLong((long) (*_arg4));
     _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    if (_obj2)
+        delete _arg2;
 }
     return _resultobj;
 }
@@ -14175,7 +14126,6 @@ static PyMethodDef gridcMethods[] = {
         { "wxGrid_EndBatch", (PyCFunction) _wrap_wxGrid_EndBatch, METH_VARARGS | METH_KEYWORDS },
         { "wxGrid_BeginBatch", (PyCFunction) _wrap_wxGrid_BeginBatch, METH_VARARGS | METH_KEYWORDS },
         { "wxGrid_GetTextBoxSize", (PyCFunction) _wrap_wxGrid_GetTextBoxSize, METH_VARARGS | METH_KEYWORDS },
-        { "wxGrid_StringToLines", (PyCFunction) _wrap_wxGrid_StringToLines, METH_VARARGS | METH_KEYWORDS },
         { "wxGrid_DrawTextRectangle", (PyCFunction) _wrap_wxGrid_DrawTextRectangle, METH_VARARGS | METH_KEYWORDS },
         { "wxGrid_DrawCellHighlight", (PyCFunction) _wrap_wxGrid_DrawCellHighlight, METH_VARARGS | METH_KEYWORDS },
         { "wxGrid_DeleteCols", (PyCFunction) _wrap_wxGrid_DeleteCols, METH_VARARGS | METH_KEYWORDS },
index 4cf0ef16919bddab600301f0f4442f4292c29b85..d8bb23db2669ee7d5c28b45aedc9764209526b6e 100644 (file)
@@ -958,9 +958,6 @@ class wxGridPtr(wxScrolledWindowPtr):
     def DrawTextRectangle(self, *_args, **_kwargs):
         val = apply(gridc.wxGrid_DrawTextRectangle,(self,) + _args, _kwargs)
         return val
-    def StringToLines(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_StringToLines,(self,) + _args, _kwargs)
-        return val
     def GetTextBoxSize(self, *_args, **_kwargs):
         val = apply(gridc.wxGrid_GetTextBoxSize,(self,) + _args, _kwargs)
         return val
index fdff1fd896f8ff9f19d2bca58acfd76efba7544f..4acddbcaf525141a9fb6a9a22d51c57bc10afd66 100644 (file)
@@ -71,6 +71,8 @@ extern PyObject *SWIG_newvarlink(void);
 #include <wx/wave.h>
 #endif
 
+#include <wx/mimetype.h>
+
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
     PyObject*   o2;
@@ -209,9 +211,9 @@ IMP_PYCALLBACK_VOID_INTINT( wxPyProcess, wxProcess, OnTerminate);
 class wxJoystick : public wxObject {
 public:
     wxJoystick(int joystick = wxJOYSTICK1) {
-        bool doSave = wxPyRestoreThread();
+        wxPyTState* state = wxPyBeginBlockThreads();
         PyErr_SetString(PyExc_NotImplementedError, "wxJoystick is not available on this platform.");
-        wxPySaveThread(doSave);
+        wxPyEndBlockThreads(state);
     }
     wxPoint GetPosition() { return wxPoint(-1,-1); }
     int GetZPosition() { return -1; }
@@ -288,6 +290,11 @@ public:
     wxWave* wxWaveData(const wxString& data) {
         return new wxWave(data.Len(), (wxByte*)data.c_str());
     }
+
+#if 0
+extern wxMimeTypesManager * wxTheMimeTypesManager; 
+
+#endif
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -2267,6 +2274,21 @@ static PyObject *_wrap_wxWaveData(PyObject *self, PyObject *args, PyObject *kwar
     return _resultobj;
 }
 
+static int _wrap_wxTheMimeTypesManager_set(PyObject *val) {
+
+    PyErr_SetString(PyExc_TypeError,"Variable wxTheMimeTypesManager is read-only.");
+    return 1;
+}
+
+static PyObject *_wrap_wxTheMimeTypesManager_get() {
+    PyObject * pyobj;
+    char ptemp[128];
+
+    SWIG_MakePtr(ptemp, (char *) wxTheMimeTypesManager,"_wxMimeTypesManager_p");
+    pyobj = PyString_FromString(ptemp);
+    return pyobj;
+}
+
 static void *SwigwxToolTipTowxObject(void *ptr) {
     wxToolTip *src;
     wxObject *dest;
@@ -3107,10 +3129,7 @@ static PyObject *_wrap_wxFontEnumerator_EnumerateEncodings(PyObject *self, PyObj
 
 static PyObject * wxPyFontEnumerator_GetEncodings(wxPyFontEnumerator *self) {
             wxArrayString* arr = self->GetEncodings();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<arr->GetCount(); x++)
-                PyList_Append(list, PyString_FromString((*arr)[x]));
-            return list;
+            return wxArrayString2PyList_helper(arr);
         }
 static PyObject *_wrap_wxFontEnumerator_GetEncodings(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -3142,10 +3161,7 @@ static PyObject *_wrap_wxFontEnumerator_GetEncodings(PyObject *self, PyObject *a
 
 static PyObject * wxPyFontEnumerator_GetFacenames(wxPyFontEnumerator *self) {
             wxArrayString* arr = self->GetFacenames();
-            PyObject* list = PyList_New(0);
-            for (size_t x=0; x<arr->GetCount(); x++)
-                PyList_Append(list, PyString_FromString((*arr)[x]));
-            return list;
+            return wxArrayString2PyList_helper(arr);
         }
 static PyObject *_wrap_wxFontEnumerator_GetFacenames(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -4312,6 +4328,140 @@ static PyObject *_wrap_wxPyTimer_Stop(PyObject *self, PyObject *args, PyObject *
     return _resultobj;
 }
 
+#define new_wxStopWatch() (new wxStopWatch())
+static PyObject *_wrap_new_wxStopWatch(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxStopWatch * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxStopWatch",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxStopWatch *)new_wxStopWatch();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxStopWatch_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxStopWatch_Start(_swigobj,_swigarg0)  (_swigobj->Start(_swigarg0))
+static PyObject *_wrap_wxStopWatch_Start(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxStopWatch * _arg0;
+    long  _arg1 = (long ) 0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self","t", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|l:wxStopWatch_Start",_kwnames,&_argo0,&_arg1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStopWatch_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStopWatch_Start. Expected _wxStopWatch_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStopWatch_Start(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxStopWatch_Pause(_swigobj)  (_swigobj->Pause())
+static PyObject *_wrap_wxStopWatch_Pause(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxStopWatch * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStopWatch_Pause",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStopWatch_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStopWatch_Pause. Expected _wxStopWatch_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStopWatch_Pause(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxStopWatch_Resume(_swigobj)  (_swigobj->Resume())
+static PyObject *_wrap_wxStopWatch_Resume(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxStopWatch * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStopWatch_Resume",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStopWatch_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStopWatch_Resume. Expected _wxStopWatch_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxStopWatch_Resume(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxStopWatch_Time(_swigobj)  (_swigobj->Time())
+static PyObject *_wrap_wxStopWatch_Time(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    long  _result;
+    wxStopWatch * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStopWatch_Time",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStopWatch_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStopWatch_Time. Expected _wxStopWatch_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (long )wxStopWatch_Time(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("l",_result);
+    return _resultobj;
+}
+
 #define new_wxLog() (new wxLog())
 static PyObject *_wrap_new_wxLog(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
@@ -7416,7 +7566,1871 @@ static PyObject *_wrap_wxWave_Play(PyObject *self, PyObject *args, PyObject *kwa
     return _resultobj;
 }
 
+#define new_wxFileTypeInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxFileTypeInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3))
+static PyObject *_wrap_new_wxFileTypeInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileTypeInfo * _result;
+    char * _arg0;
+    char * _arg1;
+    char * _arg2;
+    char * _arg3;
+    char *_kwnames[] = { "mimeType","openCmd","printCmd","desc", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"ssss:new_wxFileTypeInfo",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileTypeInfo *)new_wxFileTypeInfo(_arg0,_arg1,_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileTypeInfo_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define new_wxFileTypeInfoSequence(_swigarg0) (new wxFileTypeInfo(_swigarg0))
+static PyObject *_wrap_new_wxFileTypeInfoSequence(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileTypeInfo * _result;
+    wxArrayString * _arg0;
+    PyObject * _obj0 = 0;
+    char *_kwnames[] = { "sArray", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxFileTypeInfoSequence",_kwnames,&_obj0)) 
+        return NULL;
+{
+    if (! PySequence_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
+        return NULL;
+    }
+    _arg0 = new wxArrayString;
+    int i, len=PySequence_Length(_obj0);
+    for (i=0; i<len; i++) {
+        PyObject* item = PySequence_GetItem(_obj0, i);
+        PyObject* str  = PyObject_Str(item);
+        _arg0->Add(PyString_AsString(item));
+        Py_DECREF(item);
+        Py_DECREF(str);
+    }
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileTypeInfo *)new_wxFileTypeInfoSequence(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileTypeInfo_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj0)
+        delete _arg0;
+}
+    return _resultobj;
+}
+
+#define new_wxNullFileTypeInfo() (new wxFileTypeInfo())
+static PyObject *_wrap_new_wxNullFileTypeInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileTypeInfo * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxNullFileTypeInfo",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileTypeInfo *)new_wxNullFileTypeInfo();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileTypeInfo_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_IsValid(_swigobj)  (_swigobj->IsValid())
+static PyObject *_wrap_wxFileTypeInfo_IsValid(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_IsValid",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_IsValid. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxFileTypeInfo_IsValid(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_SetIcon(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetIcon(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxFileTypeInfo_SetIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileTypeInfo * _arg0;
+    wxString * _arg1;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","iconFile","iconIndex", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxFileTypeInfo_SetIcon",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_SetIcon. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxFileTypeInfo_SetIcon(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_SetShortDesc(_swigobj,_swigarg0)  (_swigobj->SetShortDesc(_swigarg0))
+static PyObject *_wrap_wxFileTypeInfo_SetShortDesc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileTypeInfo * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","shortDesc", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxFileTypeInfo_SetShortDesc",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_SetShortDesc. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxFileTypeInfo_SetShortDesc(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetMimeType(_swigobj)  (_swigobj->GetMimeType())
+static PyObject *_wrap_wxFileTypeInfo_GetMimeType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetMimeType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetMimeType. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetMimeType(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetOpenCommand(_swigobj)  (_swigobj->GetOpenCommand())
+static PyObject *_wrap_wxFileTypeInfo_GetOpenCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetOpenCommand",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetOpenCommand. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetOpenCommand(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetPrintCommand(_swigobj)  (_swigobj->GetPrintCommand())
+static PyObject *_wrap_wxFileTypeInfo_GetPrintCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetPrintCommand",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetPrintCommand. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetPrintCommand(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetShortDesc(_swigobj)  (_swigobj->GetShortDesc())
+static PyObject *_wrap_wxFileTypeInfo_GetShortDesc(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetShortDesc",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetShortDesc. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetShortDesc(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetDescription(_swigobj)  (_swigobj->GetDescription())
+static PyObject *_wrap_wxFileTypeInfo_GetDescription(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetDescription",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetDescription. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetDescription(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileTypeInfo_GetExtensions(wxFileTypeInfo *self) {
+            wxArrayString& arr = (wxArrayString&)self->GetExtensions();
+            return wxArrayString2PyList_helper(arr);
+        }
+static PyObject *_wrap_wxFileTypeInfo_GetExtensions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetExtensions",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetExtensions. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileTypeInfo_GetExtensions(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetExtensionsCount(_swigobj)  (_swigobj->GetExtensionsCount())
+static PyObject *_wrap_wxFileTypeInfo_GetExtensionsCount(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetExtensionsCount",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetExtensionsCount. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxFileTypeInfo_GetExtensionsCount(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetIconFile(_swigobj)  (_swigobj->GetIconFile())
+static PyObject *_wrap_wxFileTypeInfo_GetIconFile(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetIconFile",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetIconFile. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxFileTypeInfo_GetIconFile(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxFileTypeInfo_GetIconIndex(_swigobj)  (_swigobj->GetIconIndex())
+static PyObject *_wrap_wxFileTypeInfo_GetIconIndex(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    int  _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileTypeInfo_GetIconIndex",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileTypeInfo_GetIconIndex. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (int )wxFileTypeInfo_GetIconIndex(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define new_wxFileType(_swigarg0) (new wxFileType(_swigarg0))
+static PyObject *_wrap_new_wxFileType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileType * _result;
+    wxFileTypeInfo * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "ftInfo", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:new_wxFileType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxFileType. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileType *)new_wxFileType(*_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileType_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetMimeType(wxFileType *self) {
+            wxString str;
+            if (self->GetMimeType(&str))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetMimeType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetMimeType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetMimeType. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetMimeType(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetMimeTypes(wxFileType *self) {
+            wxArrayString arr;
+            if (self->GetMimeTypes(arr))
+                return wxArrayString2PyList_helper(arr);
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetMimeTypes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetMimeTypes",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetMimeTypes. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetMimeTypes(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetExtensions(wxFileType *self) {
+            wxArrayString arr;
+            if (self->GetExtensions(arr))
+                return wxArrayString2PyList_helper(arr);
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetExtensions(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetExtensions",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetExtensions. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetExtensions(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static wxIcon * wxFileType_GetIcon(wxFileType *self) {
+            wxIcon icon;
+            if (self->GetIcon(&icon))
+                return new wxIcon(icon);
+            else
+                return NULL;
+        }
+static PyObject *_wrap_wxFileType_GetIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxIcon * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetIcon",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetIcon. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxIcon *)wxFileType_GetIcon(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxIcon_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetIconInfo(wxFileType *self) {
+            wxIcon icon;
+            wxString iconFile;
+            int iconIndex;
+            if (self->GetIcon(&icon, &iconFile, &iconIndex)) {
+                wxPyTState* state = wxPyBeginBlockThreads();
+                PyObject* tuple = PyTuple_New(3);
+                PyTuple_SetItem(tuple, 0, wxPyConstructObject(new wxIcon(icon),
+                                                              "wxIcon", TRUE));
+                PyTuple_SetItem(tuple, 1, PyString_FromString(iconFile.c_str()));
+                PyTuple_SetItem(tuple, 2, PyInt_FromLong(iconIndex));
+                wxPyEndBlockThreads(state);
+                return tuple;
+            }
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetIconInfo(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetIconInfo",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetIconInfo. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetIconInfo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetDescription(wxFileType *self) {
+            wxString str;
+            if (self->GetDescription(&str))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetDescription(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_GetDescription",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetDescription. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetDescription(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetOpenCommand(wxFileType *self,const wxString & filename,const wxString & mimetype) {
+            wxString str;
+            if (self->GetOpenCommand(&str, wxFileType::MessageParameters(filename, mimetype)))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetOpenCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    wxString * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyEmptyStr;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","filename","mimetype", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxFileType_GetOpenCommand",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetOpenCommand. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+    if (_obj2)
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetOpenCommand(_arg0,*_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetPrintCommand(wxFileType *self,const wxString & filename,const wxString & mimetype) {
+            wxString str;
+            if (self->GetPrintCommand(&str, wxFileType::MessageParameters(filename, mimetype)))
+                return PyString_FromString(str.c_str());
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetPrintCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    wxString * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyEmptyStr;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","filename","mimetype", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxFileType_GetPrintCommand",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetPrintCommand. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+    if (_obj2)
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetPrintCommand(_arg0,*_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+static PyObject * wxFileType_GetAllCommands(wxFileType *self,const wxString & filename,const wxString & mimetype) {
+            wxArrayString verbs;
+            wxArrayString commands;
+            if (self->GetAllCommands(&verbs, &commands,
+                                     wxFileType::MessageParameters(filename, mimetype))) {
+                wxPyTState* state = wxPyBeginBlockThreads();
+                PyObject* tuple = PyTuple_New(2);
+                PyTuple_SetItem(tuple, 0, wxArrayString2PyList_helper(verbs));
+                PyTuple_SetItem(tuple, 1, wxArrayString2PyList_helper(commands));
+                wxPyEndBlockThreads(state);
+                return tuple;
+            }
+            else
+                RETURN_NONE();
+        }
+static PyObject *_wrap_wxFileType_GetAllCommands(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxFileType * _arg0;
+    wxString * _arg1;
+    wxString * _arg2 = (wxString *) &wxPyEmptyStr;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","filename","mimetype", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxFileType_GetAllCommands",_kwnames,&_argo0,&_obj1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_GetAllCommands. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+    if (_obj2)
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxFileType_GetAllCommands(_arg0,*_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxFileType_SetCommand(_swigobj,_swigarg0,_swigarg1,_swigarg2)  (_swigobj->SetCommand(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_wxFileType_SetCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxFileType * _arg0;
+    wxString * _arg1;
+    wxString * _arg2;
+    bool  _arg3 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    PyObject * _obj2 = 0;
+    int tempbool3 = (int) TRUE;
+    char *_kwnames[] = { "self","cmd","verb","overwriteprompt", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|i:wxFileType_SetCommand",_kwnames,&_argo0,&_obj1,&_obj2,&tempbool3)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_SetCommand. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+    _arg3 = (bool ) tempbool3;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxFileType_SetCommand(_arg0,*_arg1,*_arg2,_arg3);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxFileType_SetDefaultIcon(_swigobj,_swigarg0,_swigarg1)  (_swigobj->SetDefaultIcon(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxFileType_SetDefaultIcon(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxFileType * _arg0;
+    wxString * _arg1 = (wxString *) &wxEmptyString;
+    int  _arg2 = (int ) 0;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","cmd","index", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|Oi:wxFileType_SetDefaultIcon",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_SetDefaultIcon. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+    if (_obj1)
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxFileType_SetDefaultIcon(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxFileType_Unassociate(_swigobj)  (_swigobj->Unassociate())
+static PyObject *_wrap_wxFileType_Unassociate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxFileType_Unassociate",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxFileType_Unassociate. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxFileType_Unassociate(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxFileType_ExpandCommand(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxString * _arg0;
+    wxFileType::MessageParameters * _arg1;
+    PyObject * _obj0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "command","params", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxFileType_ExpandCommand",_kwnames,&_obj0,&_argo1)) 
+        return NULL;
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj0) && !PyUnicode_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj0, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg0 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg0 = new wxString(PyString_AS_STRING(_obj0), PyString_GET_SIZE(_obj0));
+#endif
+}
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFileType::MessageParameters_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxFileType_ExpandCommand. Expected _wxFileType::MessageParameters_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxFileType::ExpandCommand(*_arg0,*_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+{
+    if (_obj0)
+        delete _arg0;
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define delete_wxFileType(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxFileType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileType * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxFileType",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxFileType. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxFileType(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxMimeTypesManager_IsOfType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxString * _arg0;
+    wxString * _arg1;
+    PyObject * _obj0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "mimeType","wildcard", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_IsOfType",_kwnames,&_obj0,&_obj1)) 
+        return NULL;
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj0) && !PyUnicode_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj0, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg0 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj0)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg0 = new wxString(PyString_AS_STRING(_obj0), PyString_GET_SIZE(_obj0));
+#endif
+}
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxMimeTypesManager::IsOfType(*_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj0)
+        delete _arg0;
+}
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define new_wxMimeTypesManager() (new wxMimeTypesManager())
+static PyObject *_wrap_new_wxMimeTypesManager(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMimeTypesManager * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxMimeTypesManager",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxMimeTypesManager *)new_wxMimeTypesManager();
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxMimeTypesManager_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_Initialize(_swigobj,_swigarg0,_swigarg1)  (_swigobj->Initialize(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxMimeTypesManager_Initialize(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMimeTypesManager * _arg0;
+    int  _arg1 = (int ) (wxMAILCAP_STANDARD);
+    wxString * _arg2 = (wxString *) &wxEmptyString;
+    PyObject * _argo0 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","mailcapStyle","extraDir", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iO:wxMimeTypesManager_Initialize",_kwnames,&_argo0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_Initialize. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxMimeTypesManager_Initialize(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_ClearData(_swigobj)  (_swigobj->ClearData())
+static PyObject *_wrap_wxMimeTypesManager_ClearData(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMimeTypesManager * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMimeTypesManager_ClearData",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_ClearData. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxMimeTypesManager_ClearData(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_GetFileTypeFromExtension(_swigobj,_swigarg0)  (_swigobj->GetFileTypeFromExtension(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_GetFileTypeFromExtension(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileType * _result;
+    wxMimeTypesManager * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","ext", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_GetFileTypeFromExtension",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_GetFileTypeFromExtension. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileType *)wxMimeTypesManager_GetFileTypeFromExtension(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileType_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_GetFileTypeFromMimeType(_swigobj,_swigarg0)  (_swigobj->GetFileTypeFromMimeType(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_GetFileTypeFromMimeType(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileType * _result;
+    wxMimeTypesManager * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","mimeType", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_GetFileTypeFromMimeType",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_GetFileTypeFromMimeType. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileType *)wxMimeTypesManager_GetFileTypeFromMimeType(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileType_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_ReadMailcap(_swigobj,_swigarg0,_swigarg1)  (_swigobj->ReadMailcap(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxMimeTypesManager_ReadMailcap(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMimeTypesManager * _arg0;
+    wxString * _arg1;
+    bool  _arg2 = (bool ) FALSE;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    int tempbool2 = (int) FALSE;
+    char *_kwnames[] = { "self","filename","fallback", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxMimeTypesManager_ReadMailcap",_kwnames,&_argo0,&_obj1,&tempbool2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_ReadMailcap. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+    _arg2 = (bool ) tempbool2;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxMimeTypesManager_ReadMailcap(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_ReadMimeTypes(_swigobj,_swigarg0)  (_swigobj->ReadMimeTypes(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_ReadMimeTypes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMimeTypesManager * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","filename", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_ReadMimeTypes",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_ReadMimeTypes. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxMimeTypesManager_ReadMimeTypes(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static PyObject * wxMimeTypesManager_EnumAllFileTypes(wxMimeTypesManager *self) {
+            wxArrayString arr;
+            self->EnumAllFileTypes(arr);
+            return wxArrayString2PyList_helper(arr);
+        }
+static PyObject *_wrap_wxMimeTypesManager_EnumAllFileTypes(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    PyObject * _result;
+    wxMimeTypesManager * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMimeTypesManager_EnumAllFileTypes",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_EnumAllFileTypes. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (PyObject *)wxMimeTypesManager_EnumAllFileTypes(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}{
+  _resultobj = _result;
+}
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_AddFallback(_swigobj,_swigarg0)  (_swigobj->AddFallback(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_AddFallback(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMimeTypesManager * _arg0;
+    wxFileTypeInfo * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","ft", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_AddFallback",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_AddFallback. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMimeTypesManager_AddFallback. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxMimeTypesManager_AddFallback(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_Associate(_swigobj,_swigarg0)  (_swigobj->Associate(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_Associate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxFileType * _result;
+    wxMimeTypesManager * _arg0;
+    wxFileTypeInfo * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","ftInfo", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_Associate",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_Associate. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFileTypeInfo_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMimeTypesManager_Associate. Expected _wxFileTypeInfo_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxFileType *)wxMimeTypesManager_Associate(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxFileType_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxMimeTypesManager_Unassociate(_swigobj,_swigarg0)  (_swigobj->Unassociate(_swigarg0))
+static PyObject *_wrap_wxMimeTypesManager_Unassociate(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxMimeTypesManager * _arg0;
+    wxFileType * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","ft", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMimeTypesManager_Unassociate",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMimeTypesManager_Unassociate. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFileType_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMimeTypesManager_Unassociate. Expected _wxFileType_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxMimeTypesManager_Unassociate(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define delete_wxMimeTypesManager(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxMimeTypesManager(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxMimeTypesManager * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxMimeTypesManager",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMimeTypesManager_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxMimeTypesManager. Expected _wxMimeTypesManager_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxMimeTypesManager(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static PyMethodDef misc2cMethods[] = {
+        { "delete_wxMimeTypesManager", (PyCFunction) _wrap_delete_wxMimeTypesManager, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_Unassociate", (PyCFunction) _wrap_wxMimeTypesManager_Unassociate, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_Associate", (PyCFunction) _wrap_wxMimeTypesManager_Associate, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_AddFallback", (PyCFunction) _wrap_wxMimeTypesManager_AddFallback, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_EnumAllFileTypes", (PyCFunction) _wrap_wxMimeTypesManager_EnumAllFileTypes, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_ReadMimeTypes", (PyCFunction) _wrap_wxMimeTypesManager_ReadMimeTypes, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_ReadMailcap", (PyCFunction) _wrap_wxMimeTypesManager_ReadMailcap, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_GetFileTypeFromMimeType", (PyCFunction) _wrap_wxMimeTypesManager_GetFileTypeFromMimeType, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_GetFileTypeFromExtension", (PyCFunction) _wrap_wxMimeTypesManager_GetFileTypeFromExtension, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_ClearData", (PyCFunction) _wrap_wxMimeTypesManager_ClearData, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_Initialize", (PyCFunction) _wrap_wxMimeTypesManager_Initialize, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxMimeTypesManager", (PyCFunction) _wrap_new_wxMimeTypesManager, METH_VARARGS | METH_KEYWORDS },
+        { "wxMimeTypesManager_IsOfType", (PyCFunction) _wrap_wxMimeTypesManager_IsOfType, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxFileType", (PyCFunction) _wrap_delete_wxFileType, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_ExpandCommand", (PyCFunction) _wrap_wxFileType_ExpandCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_Unassociate", (PyCFunction) _wrap_wxFileType_Unassociate, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_SetDefaultIcon", (PyCFunction) _wrap_wxFileType_SetDefaultIcon, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_SetCommand", (PyCFunction) _wrap_wxFileType_SetCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetAllCommands", (PyCFunction) _wrap_wxFileType_GetAllCommands, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetPrintCommand", (PyCFunction) _wrap_wxFileType_GetPrintCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetOpenCommand", (PyCFunction) _wrap_wxFileType_GetOpenCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetDescription", (PyCFunction) _wrap_wxFileType_GetDescription, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetIconInfo", (PyCFunction) _wrap_wxFileType_GetIconInfo, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetIcon", (PyCFunction) _wrap_wxFileType_GetIcon, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetExtensions", (PyCFunction) _wrap_wxFileType_GetExtensions, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetMimeTypes", (PyCFunction) _wrap_wxFileType_GetMimeTypes, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileType_GetMimeType", (PyCFunction) _wrap_wxFileType_GetMimeType, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxFileType", (PyCFunction) _wrap_new_wxFileType, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetIconIndex", (PyCFunction) _wrap_wxFileTypeInfo_GetIconIndex, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetIconFile", (PyCFunction) _wrap_wxFileTypeInfo_GetIconFile, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetExtensionsCount", (PyCFunction) _wrap_wxFileTypeInfo_GetExtensionsCount, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetExtensions", (PyCFunction) _wrap_wxFileTypeInfo_GetExtensions, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetDescription", (PyCFunction) _wrap_wxFileTypeInfo_GetDescription, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetShortDesc", (PyCFunction) _wrap_wxFileTypeInfo_GetShortDesc, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetPrintCommand", (PyCFunction) _wrap_wxFileTypeInfo_GetPrintCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetOpenCommand", (PyCFunction) _wrap_wxFileTypeInfo_GetOpenCommand, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_GetMimeType", (PyCFunction) _wrap_wxFileTypeInfo_GetMimeType, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_SetShortDesc", (PyCFunction) _wrap_wxFileTypeInfo_SetShortDesc, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_SetIcon", (PyCFunction) _wrap_wxFileTypeInfo_SetIcon, METH_VARARGS | METH_KEYWORDS },
+        { "wxFileTypeInfo_IsValid", (PyCFunction) _wrap_wxFileTypeInfo_IsValid, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxNullFileTypeInfo", (PyCFunction) _wrap_new_wxNullFileTypeInfo, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxFileTypeInfoSequence", (PyCFunction) _wrap_new_wxFileTypeInfoSequence, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxFileTypeInfo", (PyCFunction) _wrap_new_wxFileTypeInfo, METH_VARARGS | METH_KEYWORDS },
         { "wxWave_Play", (PyCFunction) _wrap_wxWave_Play, METH_VARARGS | METH_KEYWORDS },
         { "wxWave_IsOk", (PyCFunction) _wrap_wxWave_IsOk, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxWave", (PyCFunction) _wrap_delete_wxWave, METH_VARARGS | METH_KEYWORDS },
@@ -7525,6 +9539,11 @@ static PyMethodDef misc2cMethods[] = {
         { "wxLog_EnableLogging", (PyCFunction) _wrap_wxLog_EnableLogging, METH_VARARGS | METH_KEYWORDS },
         { "wxLog_IsEnabled", (PyCFunction) _wrap_wxLog_IsEnabled, METH_VARARGS | METH_KEYWORDS },
         { "new_wxLog", (PyCFunction) _wrap_new_wxLog, METH_VARARGS | METH_KEYWORDS },
+        { "wxStopWatch_Time", (PyCFunction) _wrap_wxStopWatch_Time, METH_VARARGS | METH_KEYWORDS },
+        { "wxStopWatch_Resume", (PyCFunction) _wrap_wxStopWatch_Resume, METH_VARARGS | METH_KEYWORDS },
+        { "wxStopWatch_Pause", (PyCFunction) _wrap_wxStopWatch_Pause, METH_VARARGS | METH_KEYWORDS },
+        { "wxStopWatch_Start", (PyCFunction) _wrap_wxStopWatch_Start, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxStopWatch", (PyCFunction) _wrap_new_wxStopWatch, METH_VARARGS | METH_KEYWORDS },
         { "wxPyTimer_Stop", (PyCFunction) _wrap_wxPyTimer_Stop, METH_VARARGS | METH_KEYWORDS },
         { "wxPyTimer_Start", (PyCFunction) _wrap_wxPyTimer_Start, METH_VARARGS | METH_KEYWORDS },
         { "wxPyTimer_SetOwner", (PyCFunction) _wrap_wxPyTimer_SetOwner, METH_VARARGS | METH_KEYWORDS },
@@ -7874,6 +9893,13 @@ SWIGEXPORT(void) initmisc2c() {
         PyDict_SetItemString(d,"wxLOG_Progress", PyInt_FromLong((long) wxLOG_Progress));
         PyDict_SetItemString(d,"wxLOG_User", PyInt_FromLong((long) wxLOG_User));
         PyDict_SetItemString(d,"wxEVT_END_PROCESS", PyInt_FromLong((long) wxEVT_END_PROCESS));
+        PyDict_SetItemString(d,"wxMAILCAP_STANDARD", PyInt_FromLong((long) wxMAILCAP_STANDARD));
+        PyDict_SetItemString(d,"wxMAILCAP_NETSCAPE", PyInt_FromLong((long) wxMAILCAP_NETSCAPE));
+        PyDict_SetItemString(d,"wxMAILCAP_KDE", PyInt_FromLong((long) wxMAILCAP_KDE));
+        PyDict_SetItemString(d,"wxMAILCAP_GNOME", PyInt_FromLong((long) wxMAILCAP_GNOME));
+        PyDict_SetItemString(d,"wxMAILCAP_ALL", PyInt_FromLong((long) wxMAILCAP_ALL));
+        PyDict_SetItemString(d,"cvar", SWIG_globals);
+        SWIG_addvarlink(SWIG_globals,"wxTheMimeTypesManager",_wrap_wxTheMimeTypesManager_get, _wrap_wxTheMimeTypesManager_set);
 
     wxPyPtrTypeMap_Add("wxFontEnumerator", "wxPyFontEnumerator");
     wxPyPtrTypeMap_Add("wxDragImage", "wxGenericDragImage");
index 08720a4701b9c35a09c6dd4828d6dd0e1392b4a8..909a3396ccdcda41a084ddb15ae94dda2bbc6161 100644 (file)
@@ -313,6 +313,32 @@ class wxPyTimer(wxPyTimerPtr):
 
 
 
+class wxStopWatchPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Start(self, *_args, **_kwargs):
+        val = apply(misc2c.wxStopWatch_Start,(self,) + _args, _kwargs)
+        return val
+    def Pause(self, *_args, **_kwargs):
+        val = apply(misc2c.wxStopWatch_Pause,(self,) + _args, _kwargs)
+        return val
+    def Resume(self, *_args, **_kwargs):
+        val = apply(misc2c.wxStopWatch_Resume,(self,) + _args, _kwargs)
+        return val
+    def Time(self, *_args, **_kwargs):
+        val = apply(misc2c.wxStopWatch_Time,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxStopWatch instance at %s>" % (self.this,)
+class wxStopWatch(wxStopWatchPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(misc2c.new_wxStopWatch,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 class wxLogPtr :
     def __init__(self,this):
         self.this = this
@@ -726,6 +752,170 @@ class wxWave(wxWavePtr):
 
 
 
+class wxFileTypeInfoPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def IsValid(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_IsValid,(self,) + _args, _kwargs)
+        return val
+    def SetIcon(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_SetIcon,(self,) + _args, _kwargs)
+        return val
+    def SetShortDesc(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_SetShortDesc,(self,) + _args, _kwargs)
+        return val
+    def GetMimeType(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetMimeType,(self,) + _args, _kwargs)
+        return val
+    def GetOpenCommand(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetOpenCommand,(self,) + _args, _kwargs)
+        return val
+    def GetPrintCommand(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetPrintCommand,(self,) + _args, _kwargs)
+        return val
+    def GetShortDesc(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetShortDesc,(self,) + _args, _kwargs)
+        return val
+    def GetDescription(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetDescription,(self,) + _args, _kwargs)
+        return val
+    def GetExtensions(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetExtensions,(self,) + _args, _kwargs)
+        return val
+    def GetExtensionsCount(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetExtensionsCount,(self,) + _args, _kwargs)
+        return val
+    def GetIconFile(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetIconFile,(self,) + _args, _kwargs)
+        return val
+    def GetIconIndex(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileTypeInfo_GetIconIndex,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxFileTypeInfo instance at %s>" % (self.this,)
+class wxFileTypeInfo(wxFileTypeInfoPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(misc2c.new_wxFileTypeInfo,_args,_kwargs)
+        self.thisown = 1
+
+
+
+def wxFileTypeInfoSequence(*_args,**_kwargs):
+    val = wxFileTypeInfoPtr(apply(misc2c.new_wxFileTypeInfoSequence,_args,_kwargs))
+    val.thisown = 1
+    return val
+
+def wxNullFileTypeInfo(*_args,**_kwargs):
+    val = wxFileTypeInfoPtr(apply(misc2c.new_wxNullFileTypeInfo,_args,_kwargs))
+    val.thisown = 1
+    return val
+
+
+class wxFileTypePtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetMimeType(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetMimeType,(self,) + _args, _kwargs)
+        return val
+    def GetMimeTypes(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetMimeTypes,(self,) + _args, _kwargs)
+        return val
+    def GetExtensions(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetExtensions,(self,) + _args, _kwargs)
+        return val
+    def GetIcon(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetIcon,(self,) + _args, _kwargs)
+        if val: val = wxIconPtr(val) ; val.thisown = 1
+        return val
+    def GetIconInfo(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetIconInfo,(self,) + _args, _kwargs)
+        return val
+    def GetDescription(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetDescription,(self,) + _args, _kwargs)
+        return val
+    def GetOpenCommand(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetOpenCommand,(self,) + _args, _kwargs)
+        return val
+    def GetPrintCommand(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetPrintCommand,(self,) + _args, _kwargs)
+        return val
+    def GetAllCommands(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_GetAllCommands,(self,) + _args, _kwargs)
+        return val
+    def SetCommand(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_SetCommand,(self,) + _args, _kwargs)
+        return val
+    def SetDefaultIcon(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_SetDefaultIcon,(self,) + _args, _kwargs)
+        return val
+    def Unassociate(self, *_args, **_kwargs):
+        val = apply(misc2c.wxFileType_Unassociate,(self,) + _args, _kwargs)
+        return val
+    def __del__(self,misc2c=misc2c):
+        if self.thisown == 1 :
+            misc2c.delete_wxFileType(self)
+    def __repr__(self):
+        return "<C wxFileType instance at %s>" % (self.this,)
+class wxFileType(wxFileTypePtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(misc2c.new_wxFileType,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxMimeTypesManagerPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def Initialize(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_Initialize,(self,) + _args, _kwargs)
+        return val
+    def ClearData(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_ClearData,(self,) + _args, _kwargs)
+        return val
+    def GetFileTypeFromExtension(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_GetFileTypeFromExtension,(self,) + _args, _kwargs)
+        if val: val = wxFileTypePtr(val) ; val.thisown = 1
+        return val
+    def GetFileTypeFromMimeType(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_GetFileTypeFromMimeType,(self,) + _args, _kwargs)
+        if val: val = wxFileTypePtr(val) ; val.thisown = 1
+        return val
+    def ReadMailcap(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_ReadMailcap,(self,) + _args, _kwargs)
+        return val
+    def ReadMimeTypes(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_ReadMimeTypes,(self,) + _args, _kwargs)
+        return val
+    def EnumAllFileTypes(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_EnumAllFileTypes,(self,) + _args, _kwargs)
+        return val
+    def AddFallback(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_AddFallback,(self,) + _args, _kwargs)
+        return val
+    def Associate(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_Associate,(self,) + _args, _kwargs)
+        if val: val = wxFileTypePtr(val) ; val.thisown = 1
+        return val
+    def Unassociate(self, *_args, **_kwargs):
+        val = apply(misc2c.wxMimeTypesManager_Unassociate,(self,) + _args, _kwargs)
+        return val
+    def __del__(self,misc2c=misc2c):
+        if self.thisown == 1 :
+            misc2c.delete_wxMimeTypesManager(self)
+    def __repr__(self):
+        return "<C wxMimeTypesManager instance at %s>" % (self.this,)
+class wxMimeTypesManager(wxMimeTypesManagerPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(misc2c.new_wxMimeTypesManager,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 
 
 #-------------- FUNCTION WRAPPERS ------------------
@@ -935,6 +1125,10 @@ wxLog_GetTraceMask = misc2c.wxLog_GetTraceMask
 
 wxLog_IsAllowedTraceMask = misc2c.wxLog_IsAllowedTraceMask
 
+wxFileType_ExpandCommand = misc2c.wxFileType_ExpandCommand
+
+wxMimeTypesManager_IsOfType = misc2c.wxMimeTypesManager_IsOfType
+
 
 
 #-------------- VARIABLE WRAPPERS ------------------
@@ -1036,3 +1230,10 @@ wxLOG_Trace = misc2c.wxLOG_Trace
 wxLOG_Progress = misc2c.wxLOG_Progress
 wxLOG_User = misc2c.wxLOG_User
 wxEVT_END_PROCESS = misc2c.wxEVT_END_PROCESS
+wxMAILCAP_STANDARD = misc2c.wxMAILCAP_STANDARD
+wxMAILCAP_NETSCAPE = misc2c.wxMAILCAP_NETSCAPE
+wxMAILCAP_KDE = misc2c.wxMAILCAP_KDE
+wxMAILCAP_GNOME = misc2c.wxMAILCAP_GNOME
+wxMAILCAP_ALL = misc2c.wxMAILCAP_ALL
+cvar = misc2c.cvar
+wxTheMimeTypesManager = wxMimeTypesManagerPtr(misc2c.cvar.wxTheMimeTypesManager)
index 11cecb16c73cbcb9ca21e1b89ee79c4c668afe9d..901a82cec7220636400cf8fa9f43ab60c98410f3 100644 (file)
@@ -58,7 +58,9 @@ extern PyObject *SWIG_newvarlink(void);
 #include "helpers.h"
 #include <wx/sashwin.h>
 #include <wx/laywin.h>
+#ifndef __WXMAC__
 #include <wx/popupwin.h>
+#endif
 
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
index 1ccbfe527ca54c5d0e1a478d6b3f5dffbbc09d37..6be6572f4cfbffa42d5746b48780651d0bbdc8ca 100644 (file)
         return NULL;
 }
 
+//---------------------------------------------------------------------------
+// Typemap for wxArrayString from Python sequence objects
+
+%typemap(python,in) wxArrayString& {
+    if (! PySequence_Check($source)) {
+        PyErr_SetString(PyExc_TypeError, "Sequence of strings expected.");
+        return NULL;
+    }
+    $target = new wxArrayString;
+    int i, len=PySequence_Length($source);
+    for (i=0; i<len; i++) {
+        PyObject* item = PySequence_GetItem($source, i);
+        PyObject* str  = PyObject_Str(item);
+        $target->Add(PyString_AsString(item));
+        Py_DECREF(item);
+        Py_DECREF(str);
+    }
+}
+
+%typemap(python, freearg) wxArrayString& {
+    if ($target)
+        delete $source;
+}
 
 //---------------------------------------------------------------------------
 // Map T_OUTPUTs for floats to return ints.