From b37c7e1dcdad16c20d9800d2abaf53cc6b653a64 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Tue, 30 Oct 2001 06:43:54 +0000 Subject: [PATCH] Added typemap for wxArrayString Added wxMimeTypesManager and wxFileType Other updates... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/CHANGES.txt | 12 + wxPython/demo/Main.py | 3 +- wxPython/demo/URLDragAndDrop.py | 16 +- wxPython/demo/bitmaps/noicon.png | Bin 0 -> 255 bytes wxPython/demo/data/testtable.txt | 38 + wxPython/demo/mimetypes.wdr | Bin 0 -> 12489 bytes wxPython/demo/mimetypes_wdr.py | 156 ++ wxPython/demo/wxMimeTypesManager.py | 167 +++ wxPython/src/clip_dnd.i | 11 +- wxPython/src/cmndlgs.i | 16 +- wxPython/src/grid.i | 8 +- wxPython/src/helpers.cpp | 13 + wxPython/src/helpers.h | 5 + wxPython/src/misc2.i | 380 ++++- wxPython/src/msw/clip_dnd.cpp | 11 +- wxPython/src/msw/cmndlgs.cpp | 16 +- wxPython/src/msw/gdi.cpp | 12 +- wxPython/src/msw/grid.cpp | 88 +- wxPython/src/msw/grid.py | 3 - wxPython/src/msw/misc2.cpp | 2046 ++++++++++++++++++++++++++- wxPython/src/msw/misc2.py | 201 +++ wxPython/src/msw/windows3.cpp | 2 + wxPython/src/my_typemaps.i | 23 + 23 files changed, 3072 insertions(+), 155 deletions(-) create mode 100644 wxPython/demo/bitmaps/noicon.png create mode 100644 wxPython/demo/data/testtable.txt create mode 100644 wxPython/demo/mimetypes.wdr create mode 100644 wxPython/demo/mimetypes_wdr.py create mode 100644 wxPython/demo/wxMimeTypesManager.py diff --git a/wxPython/CHANGES.txt b/wxPython/CHANGES.txt index 30dc7151d2..4cfcb16f19 100644 --- a/wxPython/CHANGES.txt +++ b/wxPython/CHANGES.txt @@ -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 diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index afd2b131c9..52c534bf68 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -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', diff --git a/wxPython/demo/URLDragAndDrop.py b/wxPython/demo/URLDragAndDrop.py index 4225a27707..d8c934ece2 100644 --- a/wxPython/demo/URLDragAndDrop.py +++ b/wxPython/demo/URLDragAndDrop.py @@ -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 index 0000000000000000000000000000000000000000..0cbe8373ebfed277a91d98a54f92bb03599017cf GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyIwh_VCC){ui6xo&c?uz!xv31k zK!%Z}f`4*}f{}rNp@N~Am4Ts^p`n7VfrWvALF(FOpg#5zPhVH|i(GOH0utNut}6hA zI14-?iy0WWg+Q3`(%rg0KtYytM_)$E)e-c@Ne6|3e5ZC_){sWn1oBwD6DaMi@ zzhDN3XE)M-9CJ?>$B>F!$q5p94T2mBB6_R|XE;)MmoVA%$$V)jYCrskUs=LX)ZkFg mA-NePfemjwR{f~7!fzw8sx2nJ7AKbLh*2~7Y%Qb$n$ literal 0 HcmV?d00001 diff --git a/wxPython/demo/data/testtable.txt b/wxPython/demo/data/testtable.txt new file mode 100644 index 0000000000..beaccdef72 --- /dev/null +++ b/wxPython/demo/data/testtable.txt @@ -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 index 0000000000000000000000000000000000000000..d3d9583c6d8e39438c33fbdd71ce06e53b874c0c GIT binary patch literal 12489 zcmeHNTaV&46sGs9+HKW~`cm<}QXl&;Zv--6ZAhZT%w=B?g>)J%B#2~0roW<3RewVN z<@9{99RdkVh6&Ts#o8>feSGZm`SY=TGM63a-A1GFAw9d&r&KxdqK-eBhBwjslrsm0 zp?=ZwBYI@@JM;>L9o90e?kDt?HB~LtFV!`^qo+T5(v#mWoa;jG;<&~}*^`Z>o`EE9)ydmKusJIlt92@s2Ot52_udrBA!>kOG` z5BL!Fpb%+772iOL640!gV6W5aFiRUyKjtoIz93P8#u-igP`i!eFhC~)osB|NAU!`o zFQ``nh>+1ums#deivxks{XOu(1AMAr1Q}_bHtagqz(xsps@*k-AYKspVeo%L5cUv) zeb(298aMX^kF=yo!ZjmL(TvGefb$P?O?sde&E#UpXeYJ*3k;J>(6Fpm1N*56flxri z2*WqG^G&0Ke<0>v*5*Xu3*pMpF?JC=WeHZgyhU!xV5W{7Eq&?5WlnlbnRDY&?2ipU z@SsjO^Yt>6BPpkF0P8?jxKiRThP}yM^bW%xN|5=I9`emB=gI5Yjez)eP4HiY^!e0F zx(k1@wo6i#9M)R(*HpZkE^G>wrwdGg*8Fs-GL$1>y1*JSU60wUgAFL3;Hj3$xj#+MAZHk;Yq#1PYz5YYs5>8xJ=lR$5dEa~q=gIQR8r)8 zo-JL$ap36#gy=$@QPOipZ7wCZ=pH-O3U&1h9(KK$jl+NizlLYq*9jzPRx6$VaFT?) z@Mjw1{g%CJiD2o2F{ww>{CGA>Ju~RHOg2lYFijv1o?2m*dogR{Ak()u{TWtD6@Qiv zkp6?w{X1b%bbcF*fiLE)wo@@iqmbBl2~|A{%cEWj&N(ymAzvMb6B-8=7g803AR|@? z*N2YY>R6_6jmEVj1f|b~&{xzKZVR9fGducK9-<$qvKEM75fZFY7t>|(z^Mfd9)A`& z$mWJ|KiNBiC!3eGJ@-FAlTXqqs=IdT6l-0y=uA;^|3g_B0&x(Zkv zBSW%y&WR!Ua9~Y43=X`+kd7CP7ydk^pw=-t5!`?2l+)4Ow!>_WpkMAJc=93w9_)=z zxj#sbSaUCEhqKuzm>d&FFnZ#MW$P57?~_kmfpH>8Jp{p7kDQ3T@PqgW8G_*xLu`kc z{8%Z13svDJQyRA`JFM5cnY5-;$%3OgZ%9YcG7ONQaN3vGR$y%79ND%cMt}mn8y|(2uhnu4I_J{jX%uQ2Hrx*UcMUgC6-KCh|}JqKn|bfiG(? zY)1sHYG|pZrGV?rs~}tk&Fu46bOzl9b2;G&FeuQt>$8gCM=^clCc%avO0EEfiYPF= zhJag{U%)8IGs-cmGsK@%`qaU**_#+PjTlI6;rZP`q|qOn4Lqg6gz6v)>;*h{fFHOXrz z3gm0w68!=bGCZ?gyyvqS6j@GetFilenames(); - PyObject* list = PyList_New(0); - for (size_t x=0; xGetFilenames(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; xGetPaths(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; x #endif + +#include %} //---------------------------------------------------------------------- @@ -357,18 +359,12 @@ public: %addmethods { PyObject* GetEncodings() { wxArrayString* arr = self->GetEncodings(); - PyObject* list = PyList_New(0); - for (size_t x=0; xGetCount(); 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; xGetCount(); 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 /) + %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 + //---------------------------------------------------------------------- //---------------------------------------------------------------------- diff --git a/wxPython/src/msw/clip_dnd.cpp b/wxPython/src/msw/clip_dnd.cpp index 0d81093266..0afcd0ff52 100644 --- a/wxPython/src/msw/clip_dnd.cpp +++ b/wxPython/src/msw/clip_dnd.cpp @@ -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; iGetFilenames(); - PyObject* list = PyList_New(0); - for (size_t x=0; xGetFilenames(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; xGetPaths(arr); - size_t count = arr.GetCount(); - PyObject* listObj = PyList_New(0); - for(size_t x=0; x= 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; diff --git a/wxPython/src/msw/grid.cpp b/wxPython/src/msw/grid.cpp index 5ec124f43f..f1fd50ca23 100644 --- a/wxPython/src/msw/grid.cpp +++ b/wxPython/src/msw/grid.cpp @@ -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; iAdd(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 }, diff --git a/wxPython/src/msw/grid.py b/wxPython/src/msw/grid.py index 4cf0ef1691..d8bb23db26 100644 --- a/wxPython/src/msw/grid.py +++ b/wxPython/src/msw/grid.py @@ -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 diff --git a/wxPython/src/msw/misc2.cpp b/wxPython/src/msw/misc2.cpp index fdff1fd896..4acddbcaf5 100644 --- a/wxPython/src/msw/misc2.cpp +++ b/wxPython/src/msw/misc2.cpp @@ -71,6 +71,8 @@ extern PyObject *SWIG_newvarlink(void); #include #endif +#include + 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; xGetCount(); 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; xGetCount(); 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; iAdd(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"); diff --git a/wxPython/src/msw/misc2.py b/wxPython/src/msw/misc2.py index 08720a4701..909a3396cc 100644 --- a/wxPython/src/msw/misc2.py +++ b/wxPython/src/msw/misc2.py @@ -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 "" % (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 "" % (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 "" % (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 "" % (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) diff --git a/wxPython/src/msw/windows3.cpp b/wxPython/src/msw/windows3.cpp index 11cecb16c7..901a82cec7 100644 --- a/wxPython/src/msw/windows3.cpp +++ b/wxPython/src/msw/windows3.cpp @@ -58,7 +58,9 @@ extern PyObject *SWIG_newvarlink(void); #include "helpers.h" #include #include +#ifndef __WXMAC__ #include +#endif static PyObject* t_output_helper(PyObject* target, PyObject* o) { diff --git a/wxPython/src/my_typemaps.i b/wxPython/src/my_typemaps.i index 1ccbfe527c..6be6572f4c 100644 --- a/wxPython/src/my_typemaps.i +++ b/wxPython/src/my_typemaps.i @@ -269,6 +269,29 @@ 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; iAdd(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. -- 2.45.2