From af309447ff8413abd2fa5e9cc780fcef1c891f87 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sat, 20 Feb 1999 09:05:04 +0000 Subject: [PATCH] Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a window handle. If you can get the window handle into the python code, it should just work... More news on this later. Added wxImageList, wxToolTip. Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the wxRegConfig class. As usual, some bug fixes, tweaks, etc. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- utils/wxPython/README.txt | 47 +- utils/wxPython/TODO.txt | 43 - utils/wxPython/distrib/SelfInst-README.txt | 135 ++ utils/wxPython/distrib/wxPython.bmp | Bin 0 -> 131190 bytes utils/wxPython/distrib/wxPython.rsp | 10 +- utils/wxPython/distrib/wxPython.wse | 1484 ++++++++++++++++++++ utils/wxPython/distrib/wxPython.wsm | Bin 0 -> 2488 bytes utils/wxPython/distrib/zipit.bat | 4 +- utils/wxPython/src/_defs.i | 188 ++- utils/wxPython/src/_extras.py | 22 + utils/wxPython/src/controls2.i | 63 +- utils/wxPython/src/events.i | 16 +- utils/wxPython/src/gdi.i | 57 +- utils/wxPython/src/helpers.cpp | 32 +- utils/wxPython/src/makefile.vc | 27 +- utils/wxPython/src/misc.i | 64 +- utils/wxPython/src/msw/cmndlgs.cpp | 4 + utils/wxPython/src/msw/controls.cpp | 4 + utils/wxPython/src/msw/controls2.cpp | 493 ++++++- utils/wxPython/src/msw/controls2.py | 55 +- utils/wxPython/src/msw/events.cpp | 2 + utils/wxPython/src/msw/frames.cpp | 4 + utils/wxPython/src/msw/gdi.cpp | 411 +++++- utils/wxPython/src/msw/gdi.py | 67 + utils/wxPython/src/msw/mdi.cpp | 4 + utils/wxPython/src/msw/misc.cpp | 303 +++- utils/wxPython/src/msw/misc.py | 64 +- utils/wxPython/src/msw/stattool.cpp | 437 ++++++ utils/wxPython/src/msw/utils.cpp | 22 + utils/wxPython/src/msw/utils.py | 3 + utils/wxPython/src/msw/windows.cpp | 401 +++++- utils/wxPython/src/msw/windows.py | 63 +- utils/wxPython/src/msw/windows2.cpp | 178 +++ utils/wxPython/src/msw/windows2.py | 3 +- utils/wxPython/src/msw/windows3.cpp | 4 + utils/wxPython/src/utils.i | 14 +- utils/wxPython/src/windows.i | 54 +- utils/wxPython/src/wx.i | 15 +- utils/wxPython/tests/bitmaps/smiles.bmp | Bin 0 -> 246 bytes utils/wxPython/tests/test1.py | 76 +- utils/wxPython/tests/test3.py | 15 +- utils/wxPython/tests/test4.py | 73 +- utils/wxPython/tests/test7.py | 110 ++ 43 files changed, 4771 insertions(+), 300 deletions(-) delete mode 100644 utils/wxPython/TODO.txt create mode 100644 utils/wxPython/distrib/SelfInst-README.txt create mode 100644 utils/wxPython/distrib/wxPython.bmp create mode 100644 utils/wxPython/distrib/wxPython.wse create mode 100644 utils/wxPython/distrib/wxPython.wsm create mode 100644 utils/wxPython/tests/bitmaps/smiles.bmp create mode 100644 utils/wxPython/tests/test7.py diff --git a/utils/wxPython/README.txt b/utils/wxPython/README.txt index a43350f9a7..bd752eb529 100644 --- a/utils/wxPython/README.txt +++ b/utils/wxPython/README.txt @@ -35,11 +35,48 @@ working the same as described in the wxWindows documents the best thing to do is to scan through the wxPython sources, especially the .i files, as that is where the interfaces for wxPython are defined. -Currently this extension module is designed such that the entire -application will be written in Python. I havn't tried it yet, but I -am sure that attempting to embed wxPython in a C++ wxWindows -application will cause problems. However there is a plan to support -this in the future. +I have reports of successfully embedding wxPython within a wxWindows +C++ app on GTK. It hasn't yet been attempted on MSW (to my knowledge) +so I don't know how successful such an attempt would be. However it +is certainly possible. + + + +Getting Help +------------ + +Since wxPython is a blending of multiple technologies, help comes from +multiple sources. See the http://alldunn.com/wxPython for details on +various sources of help, but probably the best source is the +wxPython-users mail list. You can view the archive or subscribe by +going to + + http://starship.python.net/mailman/listinfo/wxpython-users + +Or you can send mail directly to the list using this address: + + wxpython-users@starship.python.net + + + + +What's new in 2.0b5 +------------------- +Well obviously the numbering scheme has changed. I did this to +reflect the fact that this truly is the second major revision of +wxPython, (well the third actually if you count the one I did for +wxWindows 1.68 and then threw away...) and also that it is associated +with the 2.0 version of wxWindows. + +I have finally started documenting wxPython. There are several pages +in the wxWindows documentation tree specifically about wxPython, and I +have added notes within the class references about where wxPython +diverges from wxWindows. + +[[ What else have I done??? ]] + +As usual, some bug fixes, tweaks, etc. + What's new in 0.5.3 diff --git a/utils/wxPython/TODO.txt b/utils/wxPython/TODO.txt deleted file mode 100644 index e0cd903642..0000000000 --- a/utils/wxPython/TODO.txt +++ /dev/null @@ -1,43 +0,0 @@ -wxPython TODO List ------------------- - -These are the major tasks to be done on wxPython: - -1. Get it working for wxGTK. - -2. Figure out how to do embedding of wxPython in a wxWindows C++ - application. - - Actually, now that I think about it it might actually work. We - just need to move some of the wxWindows initialization stuff out - of wxpcinit, ensure that __wxStart is not called and that a wxApp - is not created. So this task becomes: Create a test case for - embedding wxPython in a C++ app. Should also create some helper - functions for passing window objects into the Python code, etc. - - Test this with M. - - -3. Add significantly to the tests. - -4. Derived Python classes should have the ability to call the standard - On** methods in the base class. - -5. There are some virtual On** and other methods in wxWindows that - should end up being callbacks in derived python classes, but they - are not called via the standard event system. Is there any way to - hook into these and call Python methods (if they exist in the - derived class) without having to derive a specialized C++ class? - -6. Add the Doc/View related classes - -7. Add the Printing related classes - -8. Document the differences (method signatures, new methods to - compensate for no overloading, etc.) between wxPython and wxWindows. - -9. Create some larger-scale sample application with wxPython to show - it can be done and the simplicity that it will provide... Test - distribution with Freeze. - - diff --git a/utils/wxPython/distrib/SelfInst-README.txt b/utils/wxPython/distrib/SelfInst-README.txt new file mode 100644 index 0000000000..5ec99b9e56 --- /dev/null +++ b/utils/wxPython/distrib/SelfInst-README.txt @@ -0,0 +1,135 @@ +wxPython README +--------------- + +Welcome to the wonderful world of wxPython! + +Now that you have installed the Win32 extension module, you can try it +out by going to the [install dir]\wxPython\demo directory and typing: + + python test1.py + +There are also some other sample files there for you to play with and +learn from. + +If you selected to install the documentation then point your browser +to [install dir]\wxPython\docs\index.htm and you will then be looking +at the docs for wxWindows. For the most part you can use the C++ docs +as most classes and methods are used identically. Where there are +differences they are documented with a "wxPython Note." + + + +Getting Help +------------ + +Since wxPython is a blending of multiple technologies, help comes from +multiple sources. See the http://alldunn.com/wxPython for details on +various sources of help, but probably the best source is the +wxPython-users mail list. You can view the archive or subscribe by +going to + + http://starship.python.net/mailman/listinfo/wxpython-users + +Or you can send mail directly to the list using this address: + + wxpython-users@starship.python.net + + + + +What's new in 2.0b5 +------------------- +Well obviously the numbering scheme has changed. I did this to +reflect the fact that this truly is the second major revision of +wxPython, (well the third actually if you count the one I did for +wxWindows 1.68 and then threw away...) and also that it is associated +with the 2.0 version of wxWindows. + +I have finally started documenting wxPython. There are several pages +in the wxWindows documentation tree specifically about wxPython, and I +have added notes within the class references about where and how wxPython +diverges from wxWindows. + +Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +window handle. If you can get the window handle into the python code, +it should just work... More news on this later. + +Added wxImageList, wxToolTip. + +Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +wxRegConfig class. + +As usual, some bug fixes, tweaks, etc. + + + +What's new in 0.5.3 +------------------- +Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. + +Various cleanup, tweaks, minor additions, etc. to maintain +compatibility with the current wxWindows. + + + +What's new in 0.5.0 +------------------- +Changed the import semantics from "from wxPython import *" to "from +wxPython.wx import *" This is for people who are worried about +namespace pollution, they can use "from wxPython import wx" and then +prefix all the wxPython identifiers with "wx." + +Added wxTaskbarIcon for wxMSW. + +Made the events work for wxGrid. + +Added wxConfig. + +Added wxMiniFrame for wxGTK. + +Changed many of the args and return values that were pointers to gdi +objects to references to reflect changes in the wxWindows API. + +Other assorted fixes and additions. + + + + +What's new in 0.4.2 +------------------- + +wxPython on wxGTK works!!! Both dynamic and static on Linux and +static on Solaris have been tested. Many thanks go to Harm + for his astute detective work on tracking +down a nasty DECREF bug. Okay so I have to confess that it was just a +DSM (Dumb Stupid Mistake) on my part but it was nasty none the less +because the behavior was so different on different platforms. + + +The dynamicly loaded module on Solaris is still segfaulting, so it +must have been a different issue all along... + + + +What's New in 0.4 +----------------- + +1. Worked on wxGTK compatibility. It is partially working. On a +Solaris/Sparc box wxPython is working but only when it is statically +linked with the Python interpreter. When built as a dyamically loaded +extension module, things start acting weirdly and it soon seg-faults. +And on Linux both the statically linked and the dynamically linked +version segfault shortly after starting up. + +2. Added Toolbar, StatusBar and SplitterWindow classes. + +3. Varioius bug fixes, enhancements, etc. + + + +---------------- +Robin Dunn +robin@alldunn.com + + + diff --git a/utils/wxPython/distrib/wxPython.bmp b/utils/wxPython/distrib/wxPython.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e66da76cb440f0f18cb378f5314afb754eeae505 GIT binary patch literal 131190 zcmdSCO>Z1owyxLLFwh6^(0`!~7!n6vB4FU2k>Qbg;3Nwmla14o+5;br>Q1OW2AOP> zn7jkgvmUV^fUE{YW};P0PQ>2c-H40q580oxU$B2>t^!%p&_k_NVL@>>t^!;3E4& z_NVL@>>t^!^dkF1_NVL@>>t@}$Rhhg_NVL@>>t@}+#>r!_NVL@>>t@FfYKl4?>t_fghlp;>`&P**gvw{F^lXE*`KmsuzzH?vliJOvOi_NVE@Q&2QIQdWPi$j!Tyom zPF-Yw$o`c5g8d^q8Brf=@-%-Je12rN^B374vOi_NVE@RjKo;2_vOi_NVE@RjkQUh= zvOi_NVE@Rj;1<~*vOi_NVE@RjFc;Y$vOi_NVE@QY0_tP0Sd)wVedJT2FS0*mf69Kr z{*hfEEV4gjf69Kr{*hg9EV4gjf69Kr{*hh4EV4gjf69Kr{*j#z>O(mDQ}zq?kL+Ba zK1#@5u_hn$M`Y?lIQvuf3-*ufWI%lgXMf6m!Tyn*OsNmy>`&P**gvvU5cMIP{VDqe z`$u*PrwGE?pR!-DfBgT!-o3N5{MGX9<=frc-KDkevIomuw%bd5FE8C$T5#_!cbB?L z3#(jST3z6LtLx#yDpyt)R=dk&LwqhYk+`x-K3n&QNZ8Vy-d1;Yc{LgGy|6^^?XD@w zVEGPl?kscg)pGYMGxQ=MrZAgcpR9UYeG+(Wi$A`Wtfv{V8!K7fCN_V$VD4@ekg$9# zd%elqgv+a(cgddkUP|tL6ZgDE(6Uvf2fCL36{lP!rGJ)WCCp~IYfjc{;5Eu6&+cGg zFrgG_#1z--Rjrb}1=*t2?rJaDRwm{_`qiE#)MoXJH#sMl9QV3Q=F#mnc`S7wb-RC9 z{R8nWh-+JIfu7V>SNQC0ZEtP&`h5h*tdE0dIy-27&bKZQ8aFbadBx-2xLJ6fHy$6A2Rr1oX+i z#|NDSu9o{-cZ{`UMnpv#BqK@AITfry3g5)ARuxEXtBw6Zb-3-|lAXM~nvp?VT11xq z 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�D>c^=Rh80UsBo-hpLBm8B=q*0Qo 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 XyRW6}l|AgWgi~OJh-azJNa+6o;FcWO literal 0 HcmV?d00001 diff --git a/utils/wxPython/distrib/wxPython.rsp b/utils/wxPython/distrib/wxPython.rsp index e713594679..0b8a5ee73f 100644 --- a/utils/wxPython/distrib/wxPython.rsp +++ b/utils/wxPython/distrib/wxPython.rsp @@ -1,11 +1,9 @@ -wxPython\*.pyd -wxPython\*.pyc -wxPython\*.pyo -wxPython\*.py wxPython\*.txt wxPython\tests\*.py -wxPython\tests\bitmaps +wxPython\tests\bitmaps\*.bmp +wxPython\tests\bitmaps\*.ico + wxPython\src\*.i @@ -17,7 +15,7 @@ wxPython\src\*.def wxPython\src\*.rc wxPython\src\makefile.* wxPython\src\Makefile.pre.in -wxPython\src\Setup.in +wxPython\src\Setup.* wxPython\src\msw\*.cpp wxPython\src\msw\*.h diff --git a/utils/wxPython/distrib/wxPython.wse b/utils/wxPython/distrib/wxPython.wse new file mode 100644 index 0000000000..5b76837f9e --- /dev/null +++ b/utils/wxPython/distrib/wxPython.wse @@ -0,0 +1,1484 @@ +Document Type: WSE +item: Global + Version=6.01 + Title=wxPython 2.0 Installation + Flags=10010111 + Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + Japanese Font Name=MS Gothic + Japanese Font Size=10 + Progress Bar DLL=%_WISE_%\Progress\WIZ%_EXE_OS_TYPE_%.DLL + Start Gradient=128 128 255 + End Gradient=64 0 128 + Windows Flags=00000100000000010010110000001000 + Log Pathname=%MAINDIR%\INSTALL.LOG + Message Font=MS Sans Serif + Font Size=8 + Disk Filename=SETUP + Patch Flags=0000000000001001 + Patch Threshold=85 + Patch Memory=4000 + EXE Filename=wxPython-2.0b5.exe + FTP Cluster Size=20 + Per-User Version ID=1 + Dialogs Version=6 + Variable Name1=_SYS_ + Variable Default1=C:\WINNT\System32 + Variable Flags1=00001000 + Variable Name2=_WISE_ + Variable Default2=E:\Tools\Wise + Variable Flags2=00001000 + Variable Name3=_ODBC16_ + Variable Default3=C:\WINNT\System32 + Variable Flags3=00001000 + Variable Name4=_ODBC32_ + Variable Default4=C:\WINNT\System32 + Variable Flags4=00001000 + Variable Name5=_ALIASNAME_ + Variable Flags5=00001000 + Variable Name6=_ALIASPATH_ + Variable Flags6=00001000 + Variable Name7=_ALIASTYPE_ + Variable Flags7=00001000 +end +item: Open/Close INSTALL.LOG + Flags=00000001 +end +item: Check if File/Dir Exists + Pathname=%SYS% + Flags=10000100 +end +item: Set Variable + Variable=SYS + Value=%WIN% +end +item: End Block +end +item: Set Variable + Variable=APPTITLE + Value=wxPython 2.0 + Flags=10000000 +end +item: Set Variable + Variable=GROUP + Flags=10000000 +end +item: Set Variable + Variable=DISABLED + Value=! +end +item: Set Variable + Variable=MAINDIR + Value=wxPython + Flags=10000000 +end +item: Check Configuration + Flags=10111011 +end +item: Get Registry Key Value + Variable=PYTHONVER + Key=SOFTWARE\Python\PythonCore\CurrentVersion + Default=None + Flags=00000100 +end +item: If/While Statement + Variable=PYTHONVER + Value=None +end +item: Display Message + Title=Installation Error + Text=Existing Python installation was not found, wxPython installation can not proceed. Please download and install the Python core interpreter and library (version 1.5.1 or greater) from http://www.python.org/download/ + Flags=00001000 +end +item: Exit Installation +end +item: End Block +end +item: Get Registry Key Value + Variable=PYTHONDIR + Key=SOFTWARE\Python\PythonCore\%PYTHONVER%\InstallPath + Flags=00000100 +end +item: Set Variable + Variable=MAINDIR + Value=%PYTHONDIR% +end +item: Set Variable + Variable=EXPLORER + Value=1 +end +item: Get Registry Key Value + Variable=COMMON + Key=SOFTWARE\Microsoft\Windows\CurrentVersion + Default=C:\Program Files\Common Files + Value Name=CommonFilesDir + Flags=00000100 +end +item: Get Registry Key Value + Variable=PROGRAM_FILES + Key=SOFTWARE\Microsoft\Windows\CurrentVersion + Default=C:\Program Files + Value Name=ProgramFilesDir + Flags=00000100 +end +item: Else Statement +end +item: Set Variable + Variable=MAINDIR + Value=C:\%MAINDIR% +end +item: End Block +end +item: Set Variable + Variable=BACKUP + Value=%MAINDIR%\wxPython\BACKUP + Flags=10000000 +end +item: Set Variable + Variable=DOBACKUP + Value=B + Flags=10000000 +end +item: Set Variable + Variable=COMPONENTS + Value=A + Flags=10000000 +end +item: Set Variable + Variable=BRANDING + Value=0 +end +item: If/While Statement + Variable=BRANDING + Value=1 +end +item: Read INI Value + Variable=NAME + Pathname=%INST%\CUSTDATA.INI + Section=Registration + Item=Name +end +item: Read INI Value + Variable=COMPANY + Pathname=%INST%\CUSTDATA.INI + Section=Registration + Item=Company +end +item: If/While Statement + Variable=NAME +end +item: Set Variable + Variable=DOBRAND + Value=1 +end +item: End Block +end +item: End Block +end +item: Display Graphic + Pathname=e:\Projects\wxPython\distrib\wxPython.BMP + X Position=32784 + Y Position=16 + Flags=0000001010000000 +end +item: Wizard Block + Direction Variable=DIRECTION + Display Variable=DISPLAY + Bitmap Pathname=%_WISE_%\DIALOGS\TEMPLATE\WIZARD.BMP + X Position=9 + Y Position=10 + Filler Color=8421440 + Dialog=Select Program Manager Group + Dialog=Select Backup Directory + Dialog=Display Registration Information + Dialog=Get Registration Information + Variable=EXPLORER + Variable=DOBACKUP + Variable=DOBRAND + Variable=DOBRAND + Value=1 + Value=A + Value=1 + Value=1 + Compare=0 + Compare=1 + Compare=0 + Compare=1 + Flags=00000011 +end +item: Custom Dialog Set + Name=Welcome + Display Variable=DISPLAY + item: Dialog + Title=Welcome + Title French=Bienvenue + Title German=Willkommen + Title Portuguese=Bem-vindo + Title Spanish=Bienvenido + Title Italian=Benvenuto + Title Danish=Velkommen + Title Dutch=Welkom + Title Norwegian=Velkommen + Title Swedish=Välkommen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=83 8 121 33 + Action=2 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000001011 + Pathname=%_WISE_%\dialogs\template\install.grf + Pathname French=%_WISE_%\dialogs\template\install.grf + Pathname German=%_WISE_%\dialogs\template\install.grf + Pathname Portuguese=%_WISE_%\dialogs\template\install.grf + Pathname Spanish=%_WISE_%\dialogs\template\install.grf + Pathname Italian=%_WISE_%\dialogs\template\install.grf + Pathname Danish=%_WISE_%\dialogs\template\install.grf + Pathname Dutch=%_WISE_%\dialogs\template\install.grf + Pathname Norwegian=%_WISE_%\dialogs\template\install.grf + Pathname Swedish=%_WISE_%\dialogs\template\install.grf + end + item: Static + Rectangle=121 10 258 44 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=Welcome to %APPTITLE% Setup program. This program will install %APPTITLE% on your computer. + Text French=Bienvenue sur le programme d'installation %APPTITLE%. Ce programme va installer %APPTITLE% sur votre ordinateur. + Text German=Willkommen im Installationsprogramm für %APPTITLE%. Dieses Programm installiert %APPTITLE% auf Ihrem Computer. + Text Portuguese=Bem-vindo ao programa de configuração %APPTITLE%. Este programa instalará %APPTITLE% no seu computador + Text Spanish=Bienvenido al programa de Configuración %APPTITLE%. Este programa instalará %APPTITLE en su ordenador + Text Italian=Benvenuto nel programma di installazione di %APPTITLE%. Con questo programma puoi installare %APPTITLE% sul tuo computer. + Text Danish=Velkommen til %APPTITLE% installationsprogrammet. Dette program installerer %APPTITLE% på computeren. + Text Dutch=Welkom bij het %APPTITLE% installatieprogramma. Dit programma installeert %APPTITLE% op uw computer. + Text Norwegian=Velkommen til %APPTITLE% Oppsett-program. Dette programmet vil installere %APPTITLE% på datamaskinen din. + Text Swedish=Välkommen till installationsprogrammet för %APPTITLE%. Detta program installerar %APPTITLE% på din dator. + end + item: Static + Rectangle=90 45 260 175 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=It is strongly recommended that you exit all Windows programs before running this Setup Program. + Text= + Text=Click Cancel to quit Setup and close any programs you have running. Click Next to continue with the Setup program . + Text= + Text=WARNING: This program is protected by copyright law and international treaties. + Text= + Text=Unauthorized reproduction or distribution of this program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under law. + Text French=Il vous est fortement recommandé de fermer tous les programmes Windows avant d'exécuter le Programme d'Installation + Text French= + Text French=Cliquez sur Annuler pour quitter l'Installation et fermez tous les programmes actuellement utilisés. Cliquez sur Suivant pour continuer l'installation + Text French= + Text French=ATTENTION : Ce programme est protégé par la loi sur les droits d'exploitation et par les traités internationaux + Text French= + Text French=Toute reproduction ou distribution, même partielle, de ce programme qui n'aura pas reçu d'autorisation préalable fera l'objet de poursuites et sera sévèrement sanctionnée par le droit civil et pénal + Text German=Wir empfehlen nachdrücklich, vor Ausführen dieses Installationsprogramms alle Windows-Programme zu beenden. + Text German= + Text German=Auf Abbrechen klicken, um die Installation zu beenden und alle laufenden Programme zu schließen. Auf Weiter klicken, um mit dem Installationsprogramm beginnen. + Text German= + Text German=WARNUNG: Dieses Programm ist urheberrechtlich sowie durch internationale Verträge geschützt. + Text German= + Text German=Die unzulässige Vervielfältigung oder Verbreitung dieses Programms, ob ganz oder auszugsweise, kann schwere zivil- und strafrechtliche Konsequenzen nach sich ziehen und wird unter voller Ausschöpfung der Rechtsmittel geahndet. + Text Portuguese=Recomenda-se insistentemente que saia de todos os programas do Windows antes de executar este Programa de Configuração. + Text Portuguese= + Text Portuguese=Faça um clique sobre Cancelar para sair da Configuração e feche todos os programas que estiver a executar. Faça um clique sobre Próximo para continuar com o programa de configuração + Text Portuguese= + Text Portuguese=AVISO: Este programa está protegido pela lei de direitos do autor e tratados internacionais + Text Portuguese= + Text Portuguese=A reprodução e a distribuição sem autorização deste programa, ou qualquer parte dele, pode dar lugar à aplicação de severas sanções civis e criminais, e serão perseguidas à extensão máxima permitida pela lei. + Text Spanish=Se recomienda encarecidamente que salga de todos los programas Windows antes de ejecutar este programa de Configuración. + Text Spanish= + Text Spanish=Haga un clic en Cancelar para abandonar la Configuración y cerrar cualquier programa que haya estado ejecutando. Haga un clic en Siguiente para continuar con el programa de Configuración. + Text Spanish= + Text Spanish=AVISO: Este programa está protegido por las leyes de derechos de autor y tratados internacionales. + Text Spanish= + Text Spanish=La reproducción o distribución no autorizadas de este programa, o cualquier parte de él, podría dar como resultado rigurosas multas civiles y penales, y se entablará la máxima acción judicial que permita la ley. + Text Italian=Ti consigliamo di uscire da tutti i programmi Windows prima di eseguire questo programma di installazione. + Text Italian= + Text Italian=Fai clic su Annulla per uscire dal programma di installazione e chiudi tutti i programmi aperti. Fai clic su Avanti per continuare con il programma di Installazione. + Text Italian= + Text Italian=AVVERTENZA: Questo programma è protetto ai sensi delle norme di legge e delle convenzioni internazionali in materia di diritti di copyright. + Text Italian= + Text Italian=La riproduzione o la distribuzione totale o parziale non autorizzata di questo programma potrà essere soggetta a penalità civili e penali, e sarà punita con la massima severità possibile a norma di legge. + Text Danish=Det anbefales kraftigt at afslutte alle Windows programmer, inden man kører dette installationsprogram. + Text Danish= + Text Danish=Klik på Annuller for at forlade installationsprogrammet og lukke alle igangværende programmer. Klik på Næste for at fortsætte med installationsprogrammet. + Text Danish= + Text Danish=ADVARSEL: Dette program er beskyttet af copyright og internationale traktater. + Text Danish= + Text Danish=Uautoriseret gengivelse eller videresalg af dette program eller dele heraf kan føre til streng civil- og/eller kriminel stra. Retsforfølgning heraf vil finde sted i det videste omfang der hjemles muligt. + Text Dutch=Het wordt aangeraden om alle Windows programma's af te sluiten voordat u met de installatie van dit programma begint. + Text Dutch= + Text Dutch=Klik op Annuleren om de installatie te verlaten en eventueel nog lopende programma's af te sluiten. Klik op Volgende om verder te gaan met het Installatieprogramma. + Text Dutch= + Text Dutch=WAARSCHUWING: dit computerprogramma is auteursrechtelijk beschermd. + Text Dutch= + Text Dutch=Onrechtmatige verveelvoudiging of distributie van dit programma of een gedeelte ervan is verboden en strafbaar en zal met alle beschikbare juridische middelen worden bestreden. + Text Norwegian=Det anbefales på det sterkeste at du avslutter alle Windows-programmer før du kjører dette Oppsett-programmet. + Text Norwegian= + Text Norwegian=Velg Avbryt for å avbryte Oppsett og lukk alle programmer som er i bruk. Velg Neste for å fortsette med Oppsett-programmet. + Text Norwegian= + Text Norwegian=ADVARSEL: Dette programmet er beskyttet i henhold til lover om opphavsrett og internasjonale konvensjoner. + Text Norwegian= + Text Norwegian=Uautorisert kopiering eller distribuering av dette programmet eller deler av det, vil resultere i alvorlig sivil og kriminell straff og vil føre til saksmål i høyest mulig utstrekning i henhold til loven. + Text Swedish=Du tillråds bestämt att gå ur alla Windows-program innan du kör installationsprogrammet. + Text Swedish= + Text Swedish=Klicka på Avbryt för att gå ur installationsprogrammet och stäng eventuella program som du har laddade. Klicka på Nästa för att fortsätta med installationen. + Text Swedish= + Text Swedish=VARNING: Detta program är skyddat av upphovsrätten och internationella avtal. + Text Swedish= + Text Swedish=Om du utan tillstånd kopierar eller distribuerar detta program eller delar av det kan det bli allvarliga civilrättsliga och brottsrättliga straffpåföljder. Vi beivrar sådana överträdelser i den allra högsta utsträckning som lagen tillåter. + end + end +end +item: Custom Dialog Set + Name=Select Destination Directory + Display Variable=DISPLAY + item: Dialog + Title=Choose Destination Location + Title French=Choisissez la localisation de destination + Title German=Zielpfad wählen + Title Portuguese=Escolher Local de Destino + Title Spanish=Elegir una localización de destino + Title Italian=Scegli Posizione di Destinazione + Title Danish=Vælg destinationsmappe + Title Dutch=Kies doellocatie + Title Norwegian=Velg målplassering + Title Swedish=Välj ställe för installationen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Flags=0000000000000001 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=89 10 260 74 + Create Flags=01010000000000000000000000000000 + Text=Setup will install %APPTITLE% in the following folder. + Text= + Text=To install into a different folder, click Browse, and select another folder. + Text= + Text=You can choose not to install %APPTITLE% by clicking Cancel to exit Setup. + Text French=%APPTITLE% va être installé dans le répertoire ci-dessous + Text French= + Text French=Pour l'installer dans un répertoire différent, cliquez sur Parcourir et sélectionnez un autre répertoire + Text French= + Text French=Vous pouvez choisir de ne pas installer %APPTITLE% en cliquant sur Annuler pour quitter l'Installation + Text German=Installation speichert %APPTITLE% im unten angegebenen Ordner: + Text German= + Text German=Zur Installation in einem anderen Ordner auf Blättern klicken und einen anderen Ordner wählen. + Text German= + Text German=Wenn Sie %APPTITLE% nicht installieren möchten, können Sie durch Klicken auf Abbrechen die Installation beenden. + Text Portuguese=Configuração instalará %APPTITLE% na seguinte pasta + Text Portuguese= + Text Portuguese=Para instalar numa pasta diferente, faça um clique sobre Procurar, e seleccione uma outra pasta. + Text Portuguese= + Text Portuguese=Pode escolher não instalar %APPTITLE% clicando no botão Cancelar para sair da Configuração + Text Spanish=El programa de Configuración instalará %APPTITLE% en la siguiente carpeta. + Text Spanish= + Text Spanish=Para instalar en una carpeta diferente, haga un clic en Visualizar, y seleccione otra carpeta. + Text Spanish= + Text Spanish=Puede elegir no instalar %APPTITLE% haciendo un clic en Cancelar para salir de Configuración. + Text Italian=Il programma di installazione installerà %APPTITLE% nella seguente cartella. + Text Italian= + Text Italian=Per effettuare l’installazione in una cartella diversa, fai clic su Sfoglia, e scegli un’altra cartella. + Text Italian= + Text Italian=Puoi scegliere di non installare %APPTITLE% facendo clic su Annulla per uscire dal programma di installazione + Text Danish=Installationsprogrammet installerer %APPTITLE% i denne mappe. + Text Danish= + Text Danish=Man installerer i en anden mappe ved at klikke på Browse og vælge en anden mappe. + Text Danish= + Text Danish=Man kan vælge ikke at installere %APPTITLE% ved at klikke på Slet og forlade installationsprogrammet. + Text Dutch=Het installatieprogramma installeert %APPTITLE% in de volgende directory. + Text Dutch= + Text Dutch=Als u het in een andere directory wilt installeren, klik dan op Bladeren en kies een andere locatie. + Text Dutch= + Text Dutch=U kunt ervoor kiezen om %APPTITLE% niet te installeren: klik op Annuleren om het installatieprogramma te verlaten. + Text Norwegian=Oppsett vil installere %APPTITLE% i følgende mappe. + Text Norwegian= + Text Norwegian=For å installere i en annen mappe, klikk Bla igjennom og velg en annen mappe. + Text Norwegian= + Text Norwegian=Du kan velge å ikke installere %APPTITLE% ved å velge Avbryt for å gå ut av Oppsett. + Text Swedish=Installationsprogrammet installerar %APPTITLE% i följande mapp. + Text Swedish= + Text Swedish=Om du vill att installationen ska göras i en annan mapp, klickar du på Bläddra och väljer en annan mapp. + Text Swedish= + Text Swedish=Du kan välja att inte installera %APPTITLE% genom att klicka på Avbryt för att lämna installationsprogrammet. + end + item: Static + Rectangle=90 134 260 162 + Action=1 + Create Flags=01010000000000000000000000000111 + Text=Destination Folder + Text French=Répertoire de destination + Text German=Zielordner + Text Portuguese=Pasta de Destino + Text Spanish=Carpeta de Destino + Text Italian=Cartella di destinazione + Text Danish=Destinationsmappe + Text Dutch=Doeldirectory + Text Norwegian=Målmappe + Text Swedish=Destinationsmapp + end + item: Push Button + Rectangle=213 143 255 157 + Variable=MAINDIR_SAVE + Value=%MAINDIR% + Destination Dialog=1 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=B&rowse... + Text French=P&arcourir + Text German=B&lättern... + Text Portuguese=P&rocurar + Text Spanish=V&isualizar... + Text Italian=Sfoglia... + Text Danish=&Gennemse... + Text Dutch=B&laderen... + Text Norwegian=Bla igjennom + Text Swedish=&Bläddra + end + item: Static + Rectangle=95 146 211 157 + Destination Dialog=2 + Create Flags=01010000000000000000000000000000 + Text=%MAINDIR% + Text French=%MAINDIR% + Text German=%MAINDIR% + Text Portuguese=%MAINDIR% + Text Spanish=%MAINDIR% + Text Italian=%MAINDIR% + Text Danish=%MAINDIR% + Text Dutch=%MAINDIR% + Text Norwegian=%MAINDIR% + Text Swedish=%MAINDIR% + end + item: Static + Rectangle=94 81 138 96 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Flags=0000000000000001 + Name=MS Sans Serif + Font Style=-11 0 0 0 700 0 0 0 0 1 2 1 34 + Text=Please note: + end + item: Static + Rectangle=138 82 254 106 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=wxPython will be installed in a subdirectory of the path specfied below. + end + item: Static + Rectangle=91 74 259 113 + Action=1 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000111 + end + end + item: Dialog + Title=Select Destination Directory + Title French=Choisissez le répertoire de destination + Title German=Zielverzeichnis wählen + Title Portuguese=Seleccionar Directório de Destino + Title Spanish=Seleccione el Directorio de Destino + Title Italian=Seleziona Directory di destinazione + Title Danish=Vælg Destinationsbibliotek + Title Dutch=Kies doeldirectory + Title Norwegian=Velg målkatalog + Title Swedish=Välj destinationskalatog + Width=221 + Height=173 + Font Name=Helv + Font Size=8 + item: Listbox + Rectangle=5 2 160 149 + Variable=MAINDIR + Create Flags=01010000100000010000000101000000 + Flags=0000110000100010 + Text=%MAINDIR% + Text French=%MAINDIR% + Text German=%MAINDIR% + Text Portuguese=%MAINDIR% + Text Spanish=%MAINDIR% + Text Italian=%MAINDIR% + Text Danish=%MAINDIR% + Text Dutch=%MAINDIR% + Text Norwegian=%MAINDIR% + Text Swedish=%MAINDIR% + end + item: Push Button + Rectangle=167 6 212 21 + Create Flags=01010000000000010000000000000001 + Text=OK + Text French=OK + Text German=OK + Text Portuguese=OK + Text Spanish=ACEPTAR + Text Italian=OK + Text Danish=OK + Text Dutch=OK + Text Norwegian=OK + Text Swedish=OK + end + item: Push Button + Rectangle=167 25 212 40 + Variable=MAINDIR + Value=%MAINDIR_SAVE% + Create Flags=01010000000000010000000000000000 + Flags=0000000000000001 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Slet + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + end +end +item: Custom Dialog Set + Name=Select Components + Display Variable=DISPLAY + Flags=00000001 + item: Dialog + Title=Select Components + Title French=Sélectionner les éléments + Title German=Komponenten auswählen + Title Portuguese=Seleccionar Componentes + Title Spanish=Seleccione los Componentes + Title Italian=Seleziona Componenti + Title Danish=Vælg komponenter + Title Dutch=Selecteer onderdelen + Title Norwegian=Velg komponenter + Title Swedish=Välj komponenter + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=205 156 253 166 + Variable=COMPONENTS + Value=MAINDIR + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=205 148 253 157 + Variable=COMPONENTS + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=95 147 184 158 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Required: + Text French=Espace disque requis + Text German=Benötigter Festplattenspeicher: + Text Portuguese=Espaço de disco necessário: + Text Spanish=Espacio de Disco Requerido: + Text Italian=Spazio su disco richiesto: + Text Danish=Nødvendig diskplads: + Text Dutch=Vereiste hoeveelheid schijfruimte + Text Norwegian=Diskplass nødvendig: + Text Swedish=Erforderligt diskutrymme + end + item: Static + Rectangle=95 157 190 167 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Remaining: + Text French=Espace disque disponible + Text German=Verbleibender Festplattenspeicher: + Text Portuguese=Espaço de disco restante: + Text Spanish=Espacio de Disco Remanente: + Text Italian=Spazio su disco rimanente: + Text Danish=Ledig diskplads: + Text Dutch=Resterende schijfruimte + Text Norwegian=Ledig diskplass: + Text Swedish=Återstående diskutrymme + end + item: Static + Rectangle=90 138 264 168 + Action=1 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 8 260 41 + Create Flags=01010000000000000000000000000000 + Text=In the options list below, select the checkboxes for the options that you would like to have installed. The disk space fields reflect the requirements of the options you have selected. + Text French=Dans la liste d'options suivante, veuillez sélectionner les cases des options que vous désirez installer. Le champ d'espace disque indique les conditions requises pour les options choisies + Text German=Wählen Sie in der Optionenliste unten die Kontrollkästchen für diejenigen Optionen, die Sie installieren möchten. Die Speicherfelder zeigen die benötigte Speicherkapazität für die gewählten Optionen an. + Text Portuguese=Na lista de opções abaixo, seleccione as caixas de verificação para as opções que gostaria de ter instalado. Os campos de espaço de disco reflectem os requerimentos das opções que seleccionou. + Text Spanish=En la lista de opciones que se ofrece a continuación, seleccione las casillas de comprobación para las opciones que desea instalar. Los campos del espacio en el disco reflejan los requerimientos de las opciones que ha seleccionado. + Text Italian=Nell’elenco delle opzioni sotto, marca le caselle di controllo delle opzioni che vuoi installare. I campi dello spazio sul disco riflettono i requisiti delle opzioni selezionate. + Text Danish=Marker afkrydsningsfelterne for de komponenter, der skal installeres, på listen herunder. Diskpladsfelterne angiver pladskravene for de valgte komponenter. + Text Dutch=Kruis in de onderstaande lijst het vakje aan naast de opties die u wilt installeren. Achter elke optie staat de benodigde schijfruimte vermeld. + Text Norwegian=I listen over alternativer nedenfor, klikk i kontrollrutene for de alternativene du ønsker å installere. Diskplassfeltene gjenspeiler kravene for de alternativene du har valgt. + Text Swedish=Kryssa för i rutorna nedan vilka alternativ du vill få installerade. I diskutrymmesfälten anges utrymmesbehoven för de alternativ du väljer. + end + item: Listbox + Rectangle=90 42 263 133 + Variable=COMPONENTS + Create Flags=01010000101000010000000101010001 + Flags=0000010001000111 + Text=wxPython package + Text=wxPython documentation + Text= + Text French=wxPython package + Text French=wxPython documentation + Text French= + Text German=wxPython package + Text German=wxPython documentation + Text German= + Text Portuguese=%1% + Text Portuguese= + Text Spanish=wxPython package + Text Spanish=wxPython documentation + Text Spanish= + Text Italian=wxPython package + Text Italian=wxPython documentation + Text Italian= + Text Danish=%1% + Text Danish= + Text Dutch=%1% + Text Dutch= + Text Norwegian=%1% + Text Norwegian= + Text Swedish=%1% + Text Swedish= + end + end +end +item: Custom Dialog Set + Name=Start Installation + Display Variable=DISPLAY + item: Dialog + Title=Start Installation + Title French=Commencer l'installation + Title German=Installation beginnen + Title Portuguese=Iniciar Instalação + Title Spanish=Comenzar la Instalación + Title Italian=Avvia Installazione + Title Danish=Start installationen + Title Dutch=Start de installatie + Title Norwegian=Start installeringen + Title Swedish=Starta installationen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 70 + Create Flags=01010000000000000000000000000000 + Text=You are now ready to install %APPTITLE%. + Text= + Text=Press the Next button to begin the installation or the Back button to reenter the installation information. + Text French=Vous êtes maintenant prêt à installer %APPTITLE% + Text French= + Text French=Cliquez sur Suivant pour commencer l'installation ou Retour pour entrer à nouveau les informations d'installation + Text German=Sie sind jetzt zur Installation von %APPTITLE% bereit. + Text German= + Text German=Auf die Schaltfläche Weiter klicken, um mit dem Start der Installation zu beginnen, oder auf die Schaltfläche Zurück, um die Installationsinformationen nochmals aufzurufen. + Text Portuguese=Está agora pronto para instalar %APPTITLE% + Text Portuguese= + Text Portuguese=Pressione o botão Próximo para começar a instalação ou o botão Retornar para introduzir novamente a informação sobre a instalação + Text Spanish=Ahora estará listo para instalar %APPTITLE%. + Text Spanish= + Text Spanish=Pulse el botón de Siguiente para comenzar la instalación o el botón Retroceder para volver a introducir la información sobre la instalación. + Text Italian=Sei pronto ad installare %APPTITLE%. + Text Italian= + Text Italian=Premi il tasto Avanti per iniziare l’installazione o il tasto Indietro per rientrare nuovamente nei dati sull’installazione + Text Danish=Du er nu klar til at installere %APPTITLE%. + Text Danish= + Text Danish=Klik på Næste for at starte installationen eller på Tilbage for at ændre installationsoplysningerne. + Text Dutch=U bent nu klaar om %APPTITLE% te installeren. + Text Dutch= + Text Dutch=Druk op Volgende om met de installatie te beginnen of op Terug om de installatie-informatie opnieuw in te voeren. + Text Norwegian=Du er nå klar til å installere %APPTITLE% + Text Norwegian= + Text Norwegian=Trykk på Neste-tasten for å starte installeringen, eller Tilbake-tasten for å taste inn installasjonsinformasjonen på nytt. + Text Swedish=Du är nu redo att installera %APPTITLE%. + Text Swedish= + Text Swedish=Tryck på Nästa för att starta installationen eller på Tillbaka för att skriva in installationsinformationen på nytt. + end + end +end +item: If/While Statement + Variable=DISPLAY + Value=Select Destination Directory +end +item: Set Variable + Variable=BACKUP + Value=%MAINDIR%\wxPython\BACKUP +end +item: End Block +end +item: End Block +end +item: If/While Statement + Variable=DOBACKUP + Value=A +end +item: Set Variable + Variable=BACKUPDIR + Value=%BACKUP% +end +item: End Block +end +item: If/While Statement + Variable=BRANDING + Value=1 +end +item: If/While Statement + Variable=DOBRAND + Value=1 +end +item: Edit INI File + Pathname=%INST%\CUSTDATA.INI + Settings=[Registration] + Settings=NAME=%NAME% + Settings=COMPANY=%COMPANY% + Settings= +end +item: End Block +end +item: End Block +end +item: Remark +end +item: Set Variable + Variable=INST_LOG_PATH + Value=%MAINDIR%\wxPython\install.log +end +item: Open/Close INSTALL.LOG + Pathname=%INST_LOG_PATH% + Flags=00000010 +end +item: Check Disk Space + Component=COMPONENTS +end +item: Remark +end +item: If/While Statement + Variable=COMPONENTS + Value=A + Flags=00001010 +end +item: Install File + Source=e:\Projects\wx\lib\wx200.dll + Destination=%SYS%\wx200.dll + Flags=0000001010010010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\tog1.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\tog1.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\test2.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\test2.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\tog2.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\tog2.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\__init__.py + Destination=%MAINDIR%\wxPython\__init__.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\cmndlgs.py + Destination=%MAINDIR%\wxPython\cmndlgs.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\controls2.py + Destination=%MAINDIR%\wxPython\controls2.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\events.py + Destination=%MAINDIR%\wxPython\events.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\frames.py + Destination=%MAINDIR%\wxPython\frames.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\gdi.py + Destination=%MAINDIR%\wxPython\gdi.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\mdi.py + Destination=%MAINDIR%\wxPython\mdi.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\misc.py + Destination=%MAINDIR%\wxPython\misc.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\stattool.py + Destination=%MAINDIR%\wxPython\stattool.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\utils.py + Destination=%MAINDIR%\wxPython\utils.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\windows.py + Destination=%MAINDIR%\wxPython\windows.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\windows2.py + Destination=%MAINDIR%\wxPython\windows2.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\windows3.py + Destination=%MAINDIR%\wxPython\windows3.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\wx.py + Destination=%MAINDIR%\wxPython\wx.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\wxc.pyd + Destination=%MAINDIR%\wxPython\wxc.pyd + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\distrib\SelfInst-README.txt + Destination=%MAINDIR%\wxPython\README.txt + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test1.py + Destination=%MAINDIR%\wxPython\demo\test1.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test2.py + Destination=%MAINDIR%\wxPython\demo\test2.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test3.py + Destination=%MAINDIR%\wxPython\demo\test3.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test4.py + Destination=%MAINDIR%\wxPython\demo\test4.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test5.py + Destination=%MAINDIR%\wxPython\demo\test5.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test6.py + Destination=%MAINDIR%\wxPython\demo\test6.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\test7.py + Destination=%MAINDIR%\wxPython\demo\test7.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\wxSlash.py + Destination=%MAINDIR%\wxPython\demo\wxSlash.py + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\copy.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\copy.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\mondrian.ico + Destination=%MAINDIR%\wxPython\demo\bitmaps\mondrian.ico + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\new.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\new.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\open.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\open.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\paste.bmp + Destination=%MAINDIR%\wxPython\demo\bitmaps\paste.bmp + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\tests\bitmaps\smiles.ico + Destination=%MAINDIR%\wxPython\demo\bitmaps\smiles.ico + Flags=0000000010000010 +end +item: Install File + Source=e:\Projects\wxPython\controls.py + Destination=%MAINDIR%\wxPython\controls.py + Flags=0000000010000010 +end +item: End Block +end +item: Remark +end +item: If/While Statement + Variable=COMPONENTS + Value=B + Flags=00001010 +end +item: Install File + Source=e:\projects\wx\docs\html\wx\*.* + Destination=%MAINDIR%\wxPython\docs + Flags=0000000010000010 +end +item: Install File + Source=e:\projects\wx\docs\html\wx\wx.htm + Destination=%MAINDIR%\wxPython\docs\index.htm + Flags=0000000010000010 +end +item: End Block +end +item: Remark +end +item: Remark + Text= Install Support for uninstalling the application. +end +item: Set Variable + Variable=UNINSTALL_PATH + Value=%MAINDIR%\wxPython\UNWISE.EXE +end +item: Compiler Variable If + Variable=_EXE_OS_TYPE_ + Value=WIN32 +end +item: Install File + Source=%_WISE_%\UNWISE32.EXE + Destination=%UNINSTALL_PATH% + Flags=0000000000000010 +end +item: Compiler Variable Else +end +item: Install File + Source=%_WISE_%\UNWISE.EXE + Destination=%UNINSTALL_PATH% + Flags=0000000000000010 +end +item: Compiler Variable End +end +item: Remark +end +item: Remark + Text= Install the add/remove or uninstall icon +end +item: Set Variable + Variable=UNINSTALL_PATH + Value=%UNINSTALL_PATH% + Flags=00010100 +end +item: Set Variable + Variable=INST_LOG_PATH + Value=%INST_LOG_PATH% + Flags=00010100 +end +item: Check Configuration + Flags=10111011 +end +item: Edit Registry + Total Keys=1 + Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE% + New Value=%APPTITLE% + Value Name=DisplayName + Root=2 +end +item: Edit Registry + Total Keys=1 + Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE% + New Value=%UNINSTALL_PATH% /A %INST_LOG_PATH% + New Value= + Value Name=UninstallString + Root=2 +end +item: Else Statement +end +item: Add ProgMan Icon + Group=%GROUP% + Icon Name=Uninstall %APPTITLE% + Command Line=%UNINSTALL_PATH% %INST_LOG_PATH% +end +item: End Block +end +item: Remark +end +item: Remark +end +item: Add Text to INSTALL.LOG + Text=File Tree: %MAINDIR%\wxPython\*.* +end +item: Remark +end +item: Set Variable + Variable=COMMON + Value=%COMMON% + Flags=00010100 +end +item: Set Variable + Variable=MAINDIR + Value=%MAINDIR% + Flags=00010100 +end +item: Check Configuration + Flags=10111011 +end +item: Get Registry Key Value + Variable=STARTUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu\Programs\StartUp + Value Name=StartUp + Flags=00000010 +end +item: Get Registry Key Value + Variable=DESKTOPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Desktop + Value Name=Desktop + Flags=00000010 +end +item: Get Registry Key Value + Variable=STARTMENUDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu + Value Name=Start Menu + Flags=00000010 +end +item: Get Registry Key Value + Variable=GROUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu\Programs + Value Name=Programs + Flags=00000010 +end +item: Get Registry Key Value + Variable=CSTARTUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%STARTUPDIR% + Value Name=Common Startup + Flags=00000100 +end +item: Get Registry Key Value + Variable=CDESKTOPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%DESKTOPDIR% + Value Name=Common Desktop + Flags=00000100 +end +item: Get Registry Key Value + Variable=CSTARTMENUDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%STARTMENUDIR% + Value Name=Common Start Menu + Flags=00000100 +end +item: Get Registry Key Value + Variable=CGROUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%GROUPDIR% + Value Name=Common Programs + Flags=00000100 +end +item: Set Variable + Variable=CGROUP_SAVE + Value=%GROUP% +end +item: Set Variable + Variable=GROUP + Value=%GROUPDIR%\%GROUP% +end +item: Else Statement +end +item: End Block +end +item: Self-Register OCXs/DLLs + Description=Updating System Configuration, Please Wait... +end +item: Edit Registry + Total Keys=1 + Key=SOFTWARE\Python\PythonCore\%PYTHONVER%\PythonPath\wxPython + New Value=%MAINDIR% + New Value= + Root=2 +end +item: Wizard Block + Direction Variable=DIRECTION + Display Variable=DISPLAY + Bitmap Pathname=%_WISE_%\DIALOGS\TEMPLATE\WIZARD.BMP + X Position=9 + Y Position=10 + Filler Color=8421440 + Flags=00000011 +end +item: Custom Dialog Set + Name=Finished + Display Variable=DISPLAY + item: Dialog + Title=Installation Complete + Title French=Installation en cours + Title German=Installation abgeschlossen + Title Portuguese=Instalação Completa + Title Spanish=Se ha completado la Instalación + Title Italian=Installazione completata + Title Danish=Installation gennemført + Title Dutch=Installatie afgerond + Title Norwegian=Installasjonen er fullført + Title Swedish=Installationen klar + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=170 185 212 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Finish > + Text French=&Terminer> + Text German=&Fertigstellen> + Text Portuguese=&Terminar > + Text Spanish=&Finalizar> + Text Italian=&Fine > + Text Danish=&Afslut > + Text Dutch=&Klaar> + Text Norwegian=&Avslutt> + Text Swedish=&Sluta> + end + item: Push Button + Control Name=CANCEL + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 63 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=%APPTITLE% has been successfully installed. + Text= + Text= + Text=Press the Finish button to exit this installation. + Text= + Text French=L'installation de %APPTITLE% est réussie + Text French= + Text French= + Text French=Cliquez sur Terminer pour quitter cette installation + Text French= + Text German=%APPTITLE% wurde erfolgreich installiert. + Text German= + Text German= + Text German=Zum Beenden dieser Installation Fertigstellen anklicken. + Text German= + Text Portuguese=%APPTITLE% foi instalado com êxito + Text Portuguese= + Text Portuguese= + Text Portuguese=Pressionar o botão Terminar para sair desta instalação + Text Portuguese= + Text Spanish=%APPTITLE% se ha instalado con éxito. + Text Spanish= + Text Spanish= + Text Spanish=Pulse el botón de Finalizar para salir de esta instalación. + Text Spanish= + Text Italian=%APPTITLE% è stato installato. + Text Italian= + Text Italian= + Text Italian=Premi il pulsante Fine per uscire dal programma di installazione + Text Italian= + Text Danish=%APPTITLE% er nu installeret korrekt. + Text Danish= + Text Danish= + Text Danish=Klik på Afslut for at afslutte installationen. + Text Danish= + Text Dutch=%APPTITLE% is met succes geïnstalleerd. + Text Dutch= + Text Dutch= + Text Dutch=Druk op Klaar om deze installatie af te ronden. + Text Dutch= + Text Norwegian=Installasjonen av %APPTITLE% er vellykket. + Text Norwegian= + Text Norwegian= + Text Norwegian=Trykk på Avslutt-tasten for å avslutte denne installasjonen. + Text Norwegian= + Text Swedish=Installationen av %APPTITLE% har lyckats. + Text Swedish= + Text Swedish= + Text Swedish=Tryck på Sluta för att gå ur installationsprogrammet. + Text Swedish= + end + item: Push Button + Control Name=BACK + Rectangle=128 185 170 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=90 68 153 82 + Alternate=0%MAINDIR%\wxPython\README.txt + Action=6 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000000000 + Text=View README.txt + end + item: Set Control Attribute + Control Name=BACK + Operation=1 + end + item: Set Control Attribute + Control Name=CANCEL + Operation=1 + end + end +end +item: End Block +end +item: New Event + Name=Cancel +end +item: Include Script + Pathname=%_WISE_%\INCLUDE\rollback.wse +end diff --git a/utils/wxPython/distrib/wxPython.wsm b/utils/wxPython/distrib/wxPython.wsm new file mode 100644 index 0000000000000000000000000000000000000000..4b05b63878a7ad3dfa3dfb5c15384333ef0c69e0 GIT binary patch literal 2488 zcma)-U1%It7>3`Z(QdNALXA|AUZm}AOKFEqY9po;e=wlXV6&;(nl0;OXLd8q?3{7t z#M#giL{LFNt%Bk&f(0qWVjX&+E&k9JRJ0d@L@kKWQbcU)-gsjSe&0EfRv2e@FLs}c z_c`Bp&e?O$Bjck(Z;S#RDCRdFI<@as^qlDce>xr-%P*9$xEl9g0_@?^?m!%{D>5ua zjgsq3($8R_U|6mTd_10kk^AF=E95c%H@$mSP6@9h?U3Y2N7hY0EJ;xtFed9huxd{R z-MNd|p@QaiWEyHv+uuIQrTdO?Y36opQCpVRPGs<6E^j+G0L+PUx$Jn3ESC*`7I_M|Rx zYKHUM;>DW)=EQt8FzdF?Ki}Z|Z84?+=EQu>a#S-bpXP9XJh2L3P7K$V!{?vP(Eq5b z^C+zjb8^@TD{AQCVIH~=U)=;SC#FMbN-2b^jD=Tu{MYaeHN%`}%t*)86AfPH0)6q< z6998!JaRlsL|QoV9t)e}&bUfoV|s>D5rDIJtvYiX19*0%i+^#Q%iM-5eB0CVj=!%JW^P0F%~0Cf{)CLj zbF&}vyqVju!@A?rwW(%(WQq58eSCrLP3A-@uX{x; zQ3*>^vhMPeI%!s>jha)Xv)kQ^=DHt7kJCfUoN5U%9ct}L4;MS@ujm4p(=_fRvX#^1q}unbXXw2qH7Ebjd#{+|mEou4X^LoF-1$t}7z#H4XNvyM9?mr=Pf`*U;Yi zF>dsnf0PpzWZ`We+>UbN7`fVk^ X+(Ig7>$`ny?U;LJ4Zz&WTGsvnC_Y^* literal 0 HcmV?d00001 diff --git a/utils/wxPython/distrib/zipit.bat b/utils/wxPython/distrib/zipit.bat index 318bf6ba18..e03747b615 100755 --- a/utils/wxPython/distrib/zipit.bat +++ b/utils/wxPython/distrib/zipit.bat @@ -1,8 +1,6 @@ @echo off -rem cd %WXWIN%\utils -zip -@ -r wxPython\wxPython-%1.zip < wxPython\distrib\wxPython.rsp +zip -@ -r wxPython\wxPython-src-%1.zip < wxPython\distrib\wxPython.rsp -cd - diff --git a/utils/wxPython/src/_defs.i b/utils/wxPython/src/_defs.i index b6f1c1141b..72b0cd85a1 100644 --- a/utils/wxPython/src/_defs.i +++ b/utils/wxPython/src/_defs.i @@ -15,85 +15,133 @@ //--------------------------------------------------------------------------- // Forward declares... -class wxPyApp; -class wxEvtHandler; -class wxWindow; -class wxFrame; -class wxMiniFrame; -class wxPanel; -class wxDialog; -class wxMenu; -class wxPyMenu; -class wxMenuBar; -class wxMenuItem; -class wxEvent; -class wxSizeEvent; +class wxAcceleratorEntry; +class wxAcceleratorTable; +class wxActivateEvent; +class wxBitmapButton; +class wxBitmap; +class wxBrush; +class wxButton; +class wxCalculateLayoutEvent; +class wxCheckBox; +class wxCheckListBox; +class wxChoice; +class wxClientDC; class wxCloseEvent; +class wxColourData; +class wxColourDialog; +class wxColour; +class wxComboBox; class wxCommandEvent; -class wxScrollEvent; -class wxMouseEvent; -class wxKeyEvent; -class wxMoveEvent; -class wxPaintEvent; +class wxConfig; +class wxControl; +class wxCursor; +class wxDC; +class wxDialog; +class wxDirDialog; +class wxDropFilesEvent; class wxEraseEvent; +class wxEvent; +class wxEvtHandler; +class wxFileDialog; class wxFocusEvent; -class wxActivateEvent; -class wxInitDialogEvent; -class wxMenuEvent; -class wxShowEvent; +class wxFontData; +class wxFontDialog; +class wxFont; +class wxFrame; +class wxGauge; +class wxGridCell; +class wxGridEvent; +class wxGrid; class wxIconizeEvent; -class wxMaximizeEvent; -class wxJoystickEvent; -class wxDropFilesEvent; +class wxIcon; class wxIdleEvent; -class wxUpdateUIEvent; -class wxSysColourChangedEvent; -class wxSize; -class wxRealPoint; -class wxPoint; -class wxRect; -class wxBitmap; +class wxImageList; +class wxIndividualLayoutConstraint; +class wxInitDialogEvent; +class wxJoystickEvent; +class wxKeyEvent; +class wxLayoutAlgorithm; +class wxLayoutConstraints; +class wxListBox; +class wxListCtrl; +class wxListEvent; +class wxListItem; +class wxMDIChildFrame; +class wxMDIClientWindow; +class wxMDIParentFrame; class wxMask; -class wxIcon; -class wxCursor; -class wxFont; -class wxColour; -class wxPen; -class wxBrush; -class wxDC; +class wxMaximizeEvent; class wxMemoryDC; -class wxScreenDC; -class wxClientDC; +class wxMenuBar; +class wxMenuEvent; +class wxMenuItem; +class wxMenu; +class wxMessageDialog; +class wxMetaFileDC; +class wxMiniFrame; +class wxMouseEvent; +class wxMoveEvent; +class wxNotebookEvent; +class wxNotebook; +class wxPageSetupData; +class wxPageSetupDialog; class wxPaintDC; +class wxPaintEvent; +class wxPalette; +class wxPanel; +class wxPen; +class wxPoint; class wxPostScriptDC; +class wxPrintData; +class wxPrintDialog; class wxPrinterDC; -class wxMetaFileDC; -class wxMDIParentFrame; -class wxMDIChildFrame; -class wxMDIClientWindow; -class wxControl; -class wxButton; -class wxBitmapButton; -class wxCheckBox; -class wxChoice; -class wxComboBox; -class wxGauge; -class wxStaticBox; -class wxStaticText; -class wxListBox; -class wxTextCtrl; -class wxScrollBar; -class wxSpinButton; -class wxStaticBitmap; +class wxQueryLayoutInfoEvent; class wxRadioBox; class wxRadioButton; +class wxRealPoint; +class wxRect; +class wxRegionIterator; +class wxRegion; +class wxSashEvent; +class wxSashLayoutWindow; +class wxSashWindow; +class wxScreenDC; +class wxScrollBar; +class wxScrollEvent; +class wxScrolledWindow; +class wxShowEvent; +class wxSingleChoiceDialog; +class wxSizeEvent; +class wxSize; class wxSlider; +class wxSpinButton; +class wxSpinEvent; +class wxSplitterWindow; +class wxStaticBitmap; +class wxStaticBox; +class wxStaticText; +class wxStatusBar; +class wxSysColourChangedEvent; +class wxTaskBarIcon; +class wxTextCtrl; +class wxTextEntryDialog; +class wxTimer; +class wxToolBarTool; +class wxToolBar; +class wxToolTip; +class wxTreeCtrl; +class wxTreeEvent; +class wxTreeItemData; +class wxTreeItemId; +class wxUpdateUIEvent; +class wxWindowDC; +class wxWindow; +class wxPyApp; +class wxPyMenu; class wxPyTimer; -class wxIndividualLayoutConstraint; -class wxLayoutConstraints; -class wxToolBar; -class wxStatusBar; + //--------------------------------------------------------------------------- @@ -531,6 +579,7 @@ typedef enum { #define TRUE 1 #define true 1 +const char* wxVERSION_STRING; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- @@ -705,7 +754,20 @@ enum wxEventType { ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.11 1999/02/20 09:02:54 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.10 1999/01/30 07:30:08 RD +// // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. // // Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/src/_extras.py b/utils/wxPython/src/_extras.py index 02b053f9c4..cb5bf56702 100644 --- a/utils/wxPython/src/_extras.py +++ b/utils/wxPython/src/_extras.py @@ -548,6 +548,15 @@ wxPyDefaultSize.Set(-1,-1) wxDefaultPosition = wxPyDefaultPosition wxDefaultSize = wxPyDefaultSize + +# This is to cover up a bug in SWIG. We are redefining +# the shadow class that is generated for wxAcceleratorTable +# because SWIG incorrectly uses "arg0.this" +class wxAcceleratorTable(wxAcceleratorTablePtr): + def __init__(self,arg0) : + self.this = miscc.new_wxAcceleratorTable(arg0) + self.thisown = 1 + #---------------------------------------------------------------------- ## class wxPyStdOutWindow(wxFrame): @@ -615,7 +624,20 @@ class wxApp(wxPyApp): #---------------------------------------------------------------------------- # # $Log$ +# Revision 1.11 1999/02/20 09:02:55 RD +# Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +# window handle. If you can get the window handle into the python code, +# it should just work... More news on this later. +# +# Added wxImageList, wxToolTip. +# +# Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +# wxRegConfig class. +# +# As usual, some bug fixes, tweaks, etc. +# # Revision 1.10 1999/02/01 00:10:39 RD +# # Added the missing EVT_LIST_ITEM_SELECTED and friends. # # Revision 1.9 1999/01/30 07:30:09 RD diff --git a/utils/wxPython/src/controls2.i b/utils/wxPython/src/controls2.i index 17906593c0..78f4ad82be 100644 --- a/utils/wxPython/src/controls2.i +++ b/utils/wxPython/src/controls2.i @@ -41,6 +41,52 @@ extern wxValidator wxPyDefaultValidator; //---------------------------------------------------------------------- +enum { + wxLIST_MASK_TEXT, + wxLIST_MASK_IMAGE, + wxLIST_MASK_DATA, + wxLIST_MASK_WIDTH, + wxLIST_MASK_FORMAT, + wxLIST_STATE_DONTCARE, + wxLIST_STATE_DROPHILITED, + wxLIST_STATE_FOCUSED, + wxLIST_STATE_SELECTED, + wxLIST_STATE_CUT, + wxLIST_HITTEST_ABOVE, + wxLIST_HITTEST_BELOW, + wxLIST_HITTEST_NOWHERE, + wxLIST_HITTEST_ONITEMICON, + wxLIST_HITTEST_ONITEMLABEL, + wxLIST_HITTEST_ONITEMRIGHT, + wxLIST_HITTEST_ONITEMSTATEICON, + wxLIST_HITTEST_TOLEFT, + wxLIST_HITTEST_TORIGHT, + wxLIST_HITTEST_ONITEM, + wxLIST_NEXT_ABOVE, + wxLIST_NEXT_ALL, + wxLIST_NEXT_BELOW, + wxLIST_NEXT_LEFT, + wxLIST_NEXT_RIGHT, + wxLIST_ALIGN_DEFAULT, + wxLIST_ALIGN_LEFT, + wxLIST_ALIGN_TOP, + wxLIST_ALIGN_SNAP_TO_GRID, + wxLIST_FORMAT_LEFT, + wxLIST_FORMAT_RIGHT, + wxLIST_FORMAT_CENTRE, + wxLIST_FORMAT_CENTER, + wxLIST_AUTOSIZE, + wxLIST_AUTOSIZE_USEHEADER, + wxLIST_RECT_BOUNDS, + wxLIST_RECT_ICON, + wxLIST_RECT_LABEL, + wxLIST_FIND_UP, + wxLIST_FIND_DOWN, + wxLIST_FIND_LEFT, + wxLIST_FIND_RIGHT, +}; + + class wxListItem { public: long m_mask; // Indicates what fields are valid @@ -156,9 +202,11 @@ public: bool SetColumn(int col, wxListItem& item); bool SetColumnWidth(int col, int width); void SetImageList(wxImageList* imageList, int which); + bool SetItem(wxListItem& info); - %name(SetItemString)long SetItem(long index, int col, const wxString& label, + %name(SetStringItem)long SetItem(long index, int col, const wxString& label, int imageId = -1); + bool SetItemData(long item, long data); bool SetItemImage(long item, int image, int selImage); bool SetItemPosition(long item, const wxPoint& pos); @@ -371,7 +419,20 @@ public: ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.15 1999/02/20 09:02:56 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.14 1999/01/30 07:30:10 RD +// // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. // // Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/src/events.i b/utils/wxPython/src/events.i index 9128338b49..da2653c594 100644 --- a/utils/wxPython/src/events.i +++ b/utils/wxPython/src/events.i @@ -138,9 +138,6 @@ public: bool ShiftDown(); long KeyCode(); -// void Position(float *OUTPUT, float *OUTPUT); -// float GetX(); -// float GetY(); }; //--------------------------------------------------------------------------- @@ -298,7 +295,20 @@ public: ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.7 1999/02/20 09:02:57 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.6 1999/02/06 22:55:00 RD +// // Follow up for changes in wxWindows to various event classes // // Revision 1.5 1998/12/15 20:41:17 RD diff --git a/utils/wxPython/src/gdi.i b/utils/wxPython/src/gdi.i index 88c48fe92d..c4fa456c05 100644 --- a/utils/wxPython/src/gdi.i +++ b/utils/wxPython/src/gdi.i @@ -16,6 +16,7 @@ %{ #include "helpers.h" #include +#include #ifndef __WXMSW__ #include #endif @@ -307,8 +308,10 @@ public: } void GetSize(int* OUTPUT, int* OUTPUT); //void GetSize(long* OUTPUT, long* OUTPUT); wxColour& GetTextBackground(); - void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT, - long *OUTPUT, long *OUTPUT); + void GetTextExtent(const wxString& string, long *OUTPUT, long *OUTPUT); + %name(GetFullTextExtent)void GetTextExtent(const wxString& string, + long *OUTPUT, long *OUTPUT, long *OUTPUT, long* OUTPUT, + const wxFont* font = NULL); wxColour& GetTextForeground(); long LogicalToDeviceX(long x); long LogicalToDeviceXRel(long x); @@ -436,6 +439,9 @@ public: %readonly +%{ +#if 0 +%} extern wxFont *wxNORMAL_FONT; extern wxFont *wxSMALL_FONT; extern wxFont *wxITALIC_FONT; @@ -484,6 +490,11 @@ extern wxPalette wxNullPalette; extern wxFont wxNullFont; extern wxColour wxNullColour; +%readwrite +%{ +#endif +%} + //--------------------------------------------------------------------------- class wxPalette { @@ -498,13 +509,55 @@ public: //--------------------------------------------------------------------------- +enum { + wxIMAGELIST_DRAW_NORMAL , + wxIMAGELIST_DRAW_TRANSPARENT, + wxIMAGELIST_DRAW_SELECTED, + wxIMAGELIST_DRAW_FOCUSED, + wxIMAGE_LIST_NORMAL, + wxIMAGE_LIST_SMALL, + wxIMAGE_LIST_STATE +}; + +class wxImageList { +public: + wxImageList(int width, int height, const bool mask=TRUE, int initialCount=1); + ~wxImageList(); + + int Add(const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap); + %name(AddWithColourMask)int Add(const wxBitmap& bitmap, const wxColour& maskColour); + %name(AddIcon)int Add(const wxIcon& icon); + + bool Draw(int index, wxDC& dc, int x, int x, int flags = wxIMAGELIST_DRAW_NORMAL, + const bool solidBackground = FALSE); + + int GetImageCount(); + bool Remove(int index); + bool RemoveAll(); + bool Replace(int index, const wxBitmap& bitmap, const wxBitmap& mask = wxNullBitmap); + %name(ReplaceIcon)bool Replace(int index, const wxIcon& icon); +}; + //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.13 1999/02/20 09:02:58 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.12 1999/01/30 07:30:11 RD +// // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. // // Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/src/helpers.cpp b/utils/wxPython/src/helpers.cpp index ae7a8321ae..3dc40d7362 100644 --- a/utils/wxPython/src/helpers.cpp +++ b/utils/wxPython/src/helpers.cpp @@ -10,12 +10,6 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifdef __WXMSW__ -#include -#undef FindWindow -#undef GetCharWidth -#undef LoadAccelerators -#endif #ifdef __WXGTK__ #include "gtk/gtk.h" @@ -24,6 +18,14 @@ #undef DEBUG #include #include "helpers.h" +#ifdef __WXMSW__ +#include +#undef FindWindow +#undef GetCharWidth +#undef LoadAccelerators +#undef GetClassInfo +#undef GetClassName +#endif #include //--------------------------------------------------------------------------- @@ -38,8 +40,6 @@ wxString wxPyEmptyStr(""); #ifdef __WXMSW__ // If building for win32... -extern HINSTANCE wxhInstance; - //---------------------------------------------------------------------- // This gets run when the DLL is loaded. We just need to save a handle. //---------------------------------------------------------------------- @@ -50,7 +50,7 @@ BOOL WINAPI DllMain( LPVOID lpvReserved // reserved ) { - wxhInstance = hinstDLL; + wxSetInstance(hinstDLL); return 1; } #endif @@ -73,6 +73,7 @@ int wxPyApp::MainLoop(void) { return retval; } + void wxPyApp::AfterMainLoop(void) { // more stuff from wxEntry... @@ -583,7 +584,20 @@ wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source) { ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.19 1999/02/20 09:02:59 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.18 1999/01/30 08:17:27 RD +// // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. // // Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/src/makefile.vc b/utils/wxPython/src/makefile.vc index 4080f85d68..7a85a3523c 100644 --- a/utils/wxPython/src/makefile.vc +++ b/utils/wxPython/src/makefile.vc @@ -1,6 +1,6 @@ #---------------------------------------------------------------------------- # Name: makefile.nt -# Purpose: Win32, VC++ 5 makefile for wxPython +# Purpose: Win32, VC++ 5/6 makefile for wxPython # # Author: Robin Dunn # @@ -9,7 +9,7 @@ # Copyright: (c) 1998 by Total Control Software # Licence: wxWindows license #---------------------------------------------------------------------------- -VERSION=0.5.4 +VERSION=2.0b5 # Set WXDIR to the root wxWindows directory for your system WXDIR = $(WXWIN) @@ -30,18 +30,22 @@ TARGETDIR=.. # runtime. COMPILEPY=0 +# If your wxWindows is built as a DLL, set this to 1. Using 0 means +# that wxWindows will be staticaly linked with wxPython. +WXUSINGDLL=1 + +# (experimental) SEPARATE=0 #---------------------------------------------------------------------- -WXUSINGDLL=0 NOPCH=1 THISDIR=$(WXDIR)\utils\wxPython EXTRALIBS=$(PYTHONDIR)\libs\python15.lib EXTRAINC=-I$(PYTHONDIR)\include -I. EXTRAFLAGS=/Fpwxp.pch /YXhelpers.h -DSWIG_GLOBAL -DHAVE_CONFIG_H -OVERRIDEFLAGS=/GX- +OVERRIDEFLAGS=/GX- /DwxUSE_GLOBAL_MEMORY_OPERATORS=0 SWIGFLAGS=-c++ -shadow -python -dnone -D__WXMSW__ @@ -172,6 +176,8 @@ clean: -erase $(TARGETDIR)\*.pyo +showflags: + @echo $(CPPFLAGS) #------------------------------------------------------------------------ @@ -268,7 +274,20 @@ dist: #------------------------------------------------------------------------ # # $Log$ +# Revision 1.2 1999/02/20 09:03:00 RD +# Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +# window handle. If you can get the window handle into the python code, +# it should just work... More news on this later. +# +# Added wxImageList, wxToolTip. +# +# Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +# wxRegConfig class. +# +# As usual, some bug fixes, tweaks, etc. +# # Revision 1.1 1999/02/06 23:47:03 RD +# # Changing makefile.nt to makefile.vc as in rest of wxWindows # # Revision 1.10 1999/02/01 00:10:40 RD diff --git a/utils/wxPython/src/misc.i b/utils/wxPython/src/misc.i index cededae34a..b0b149507d 100644 --- a/utils/wxPython/src/misc.i +++ b/utils/wxPython/src/misc.i @@ -15,6 +15,7 @@ %{ #include "helpers.h" #include +#include %} //---------------------------------------------------------------------- @@ -31,23 +32,30 @@ class wxSize { public: + long x; + long y; %name(width) long x; %name(height)long y; wxSize(long w=0, long h=0); ~wxSize(); void Set(long w, long h); + long GetX(); + long GetY(); %name(GetWidth) long GetX(); %name(GetHeight)long GetY(); %addmethods { - PyObject* __str__() { + PyObject* asTuple() { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" + }; //--------------------------------------------------------------------------- @@ -72,13 +80,15 @@ public: self->x = x; self->y = y; } - PyObject* __str__() { + PyObject* asTuple() { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" }; //--------------------------------------------------------------------------- @@ -108,6 +118,19 @@ public: long GetRight(); long x, y, width, height; + + %addmethods { + PyObject* asTuple() { + PyObject* tup = PyTuple_New(4); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height)); + return tup; + } + } + %pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())" + %pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())" }; @@ -356,11 +379,48 @@ public: }; +//--------------------------------------------------------------------------- +// wxToolTip + +class wxToolTip { +public: + wxToolTip(const wxString &tip); + + void SetTip(const wxString& tip); + wxString GetTip(); + void SetWindow(wxWindow *win); + wxWindow *GetWindow(); +}; + + +%inline %{ + void wxToolTip_Enable(bool flag) { + wxToolTip::Enable(flag); + } + + void wxToolTip_SetDelay(long milliseconds) { + wxToolTip::SetDelay(milliseconds); + } +%} + //--------------------------------------------------------------------------- ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.11 1999/02/20 09:03:01 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.10 1999/01/30 07:30:14 RD +// // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. // // Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/src/msw/cmndlgs.cpp b/utils/wxPython/src/msw/cmndlgs.cpp index d6ac7721d3..8cd6e9a23f 100644 --- a/utils/wxPython/src/msw/cmndlgs.cpp +++ b/utils/wxPython/src/msw/cmndlgs.cpp @@ -3568,6 +3568,7 @@ SWIGEXPORT(void,initcmndlgsc)() { SWIG_RegisterMapping("_class_wxEvtHandler","_wxEvtHandler",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPageSetupData","_class_wxPageSetupData",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); @@ -3577,6 +3578,7 @@ SWIGEXPORT(void,initcmndlgsc)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); SWIG_RegisterMapping("_wxDC","_class_wxDC",0); SWIG_RegisterMapping("_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0); @@ -3602,6 +3604,7 @@ SWIGEXPORT(void,initcmndlgsc)() { SWIG_RegisterMapping("_wxPanel","_class_wxColourDialog",SwigwxColourDialogTowxPanel); SWIG_RegisterMapping("_wxPanel","_wxColourDialog",SwigwxColourDialogTowxPanel); SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxPageSetupData","_wxPageSetupData",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -3752,6 +3755,7 @@ SWIGEXPORT(void,initcmndlgsc)() { SWIG_RegisterMapping("_short","_WXTYPE",0); SWIG_RegisterMapping("_short","_unsigned_short",0); SWIG_RegisterMapping("_short","_signed_short",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); SWIG_RegisterMapping("_wxWindowID","_int",0); diff --git a/utils/wxPython/src/msw/controls.cpp b/utils/wxPython/src/msw/controls.cpp index f842a1fae6..f69bf210a6 100644 --- a/utils/wxPython/src/msw/controls.cpp +++ b/utils/wxPython/src/msw/controls.cpp @@ -5497,6 +5497,7 @@ SWIGEXPORT(void,initcontrolsc)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -5508,6 +5509,7 @@ SWIGEXPORT(void,initcontrolsc)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -5523,6 +5525,7 @@ SWIGEXPORT(void,initcontrolsc)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -5704,6 +5707,7 @@ SWIGEXPORT(void,initcontrolsc)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); diff --git a/utils/wxPython/src/msw/controls2.cpp b/utils/wxPython/src/msw/controls2.cpp index 9337a9ab19..dcc07f3dea 100644 --- a/utils/wxPython/src/msw/controls2.cpp +++ b/utils/wxPython/src/msw/controls2.cpp @@ -117,6 +117,28 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source); static char* wxStringErrorMsg = "string type is required for parameter"; extern wxValidator wxPyDefaultValidator; +#define wxListItem_m_mask_set(_swigobj,_swigval) (_swigobj->m_mask = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_mask_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListItem * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListItem_m_mask_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_mask_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (long )wxListItem_m_mask_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListItem_m_mask_get(_swigobj) ((long ) _swigobj->m_mask) static PyObject *_wrap_wxListItem_m_mask_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -138,6 +160,28 @@ static PyObject *_wrap_wxListItem_m_mask_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_itemId_set(_swigobj,_swigval) (_swigobj->m_itemId = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_itemId_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListItem * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListItem_m_itemId_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_itemId_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (long )wxListItem_m_itemId_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListItem_m_itemId_get(_swigobj) ((long ) _swigobj->m_itemId) static PyObject *_wrap_wxListItem_m_itemId_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -159,6 +203,28 @@ static PyObject *_wrap_wxListItem_m_itemId_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_col_set(_swigobj,_swigval) (_swigobj->m_col = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_col_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListItem * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListItem_m_col_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_col_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (int )wxListItem_m_col_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListItem_m_col_get(_swigobj) ((int ) _swigobj->m_col) static PyObject *_wrap_wxListItem_m_col_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -180,6 +246,28 @@ static PyObject *_wrap_wxListItem_m_col_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_state_set(_swigobj,_swigval) (_swigobj->m_state = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_state_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListItem * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListItem_m_state_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_state_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (long )wxListItem_m_state_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListItem_m_state_get(_swigobj) ((long ) _swigobj->m_state) static PyObject *_wrap_wxListItem_m_state_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -201,6 +289,28 @@ static PyObject *_wrap_wxListItem_m_state_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_stateMask_set(_swigobj,_swigval) (_swigobj->m_stateMask = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_stateMask_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListItem * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListItem_m_stateMask_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_stateMask_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (long )wxListItem_m_stateMask_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListItem_m_stateMask_get(_swigobj) ((long ) _swigobj->m_stateMask) static PyObject *_wrap_wxListItem_m_stateMask_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -222,6 +332,42 @@ static PyObject *_wrap_wxListItem_m_stateMask_get(PyObject *self, PyObject *args return _resultobj; } +#define wxListItem_m_text_set(_swigobj,_swigval) (_swigobj->m_text = *(_swigval),_swigval) +static PyObject *_wrap_wxListItem_m_text_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxString * _result; + wxListItem * _arg0; + wxString * _arg1; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sO:wxListItem_m_text_set",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_text_set. Expected _wxListItem_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + _result = (wxString *)wxListItem_m_text_set(_arg0,_arg1); +{ + _resultobj = PyString_FromString(WXSTRINGCAST (*_result)); +} +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxListItem_m_text_get(_swigobj) (&_swigobj->m_text) static PyObject *_wrap_wxListItem_m_text_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -245,6 +391,28 @@ static PyObject *_wrap_wxListItem_m_text_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_image_set(_swigobj,_swigval) (_swigobj->m_image = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_image_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListItem * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListItem_m_image_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_image_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (int )wxListItem_m_image_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListItem_m_image_get(_swigobj) ((int ) _swigobj->m_image) static PyObject *_wrap_wxListItem_m_image_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -266,6 +434,28 @@ static PyObject *_wrap_wxListItem_m_image_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_data_set(_swigobj,_swigval) (_swigobj->m_data = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_data_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListItem * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListItem_m_data_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_data_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (long )wxListItem_m_data_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListItem_m_data_get(_swigobj) ((long ) _swigobj->m_data) static PyObject *_wrap_wxListItem_m_data_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -287,6 +477,28 @@ static PyObject *_wrap_wxListItem_m_data_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_format_set(_swigobj,_swigval) (_swigobj->m_format = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_format_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListItem * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListItem_m_format_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_format_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (int )wxListItem_m_format_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListItem_m_format_get(_swigobj) ((int ) _swigobj->m_format) static PyObject *_wrap_wxListItem_m_format_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -308,6 +520,28 @@ static PyObject *_wrap_wxListItem_m_format_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListItem_m_width_set(_swigobj,_swigval) (_swigobj->m_width = _swigval,_swigval) +static PyObject *_wrap_wxListItem_m_width_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListItem * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListItem_m_width_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListItem_m_width_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (int )wxListItem_m_width_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListItem_m_width_get(_swigobj) ((int ) _swigobj->m_width) static PyObject *_wrap_wxListItem_m_width_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -381,6 +615,28 @@ static void *SwigwxListEventTowxEvent(void *ptr) { return (void *) dest; } +#define wxListEvent_m_code_set(_swigobj,_swigval) (_swigobj->m_code = _swigval,_swigval) +static PyObject *_wrap_wxListEvent_m_code_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListEvent_m_code_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_code_set. Expected _wxListEvent_p."); + return NULL; + } + } + _result = (int )wxListEvent_m_code_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListEvent_m_code_get(_swigobj) ((int ) _swigobj->m_code) static PyObject *_wrap_wxListEvent_m_code_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -402,6 +658,28 @@ static PyObject *_wrap_wxListEvent_m_code_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListEvent_m_itemIndex_set(_swigobj,_swigval) (_swigobj->m_itemIndex = _swigval,_swigval) +static PyObject *_wrap_wxListEvent_m_itemIndex_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListEvent * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListEvent_m_itemIndex_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_itemIndex_set. Expected _wxListEvent_p."); + return NULL; + } + } + _result = (long )wxListEvent_m_itemIndex_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListEvent_m_itemIndex_get(_swigobj) ((long ) _swigobj->m_itemIndex) static PyObject *_wrap_wxListEvent_m_itemIndex_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -423,6 +701,28 @@ static PyObject *_wrap_wxListEvent_m_itemIndex_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxListEvent_m_oldItemIndex_set(_swigobj,_swigval) (_swigobj->m_oldItemIndex = _swigval,_swigval) +static PyObject *_wrap_wxListEvent_m_oldItemIndex_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxListEvent * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxListEvent_m_oldItemIndex_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_oldItemIndex_set. Expected _wxListEvent_p."); + return NULL; + } + } + _result = (long )wxListEvent_m_oldItemIndex_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxListEvent_m_oldItemIndex_get(_swigobj) ((long ) _swigobj->m_oldItemIndex) static PyObject *_wrap_wxListEvent_m_oldItemIndex_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -444,6 +744,28 @@ static PyObject *_wrap_wxListEvent_m_oldItemIndex_get(PyObject *self, PyObject * return _resultobj; } +#define wxListEvent_m_col_set(_swigobj,_swigval) (_swigobj->m_col = _swigval,_swigval) +static PyObject *_wrap_wxListEvent_m_col_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxListEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListEvent_m_col_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_col_set. Expected _wxListEvent_p."); + return NULL; + } + } + _result = (int )wxListEvent_m_col_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListEvent_m_col_get(_swigobj) ((int ) _swigobj->m_col) static PyObject *_wrap_wxListEvent_m_col_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -465,6 +787,30 @@ static PyObject *_wrap_wxListEvent_m_col_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxListEvent_m_cancelled_set(_swigobj,_swigval) (_swigobj->m_cancelled = _swigval,_swigval) +static PyObject *_wrap_wxListEvent_m_cancelled_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxListEvent * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxListEvent_m_cancelled_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_cancelled_set. Expected _wxListEvent_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxListEvent_m_cancelled_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxListEvent_m_cancelled_get(_swigobj) ((bool ) _swigobj->m_cancelled) static PyObject *_wrap_wxListEvent_m_cancelled_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -486,6 +832,37 @@ static PyObject *_wrap_wxListEvent_m_cancelled_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxListEvent_m_pointDrag_set(_swigobj,_swigval) (_swigobj->m_pointDrag = *(_swigval),_swigval) +static PyObject *_wrap_wxListEvent_m_pointDrag_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxPoint * _result; + wxListEvent * _arg0; + wxPoint * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxListEvent_m_pointDrag_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_pointDrag_set. Expected _wxListEvent_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPoint_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxListEvent_m_pointDrag_set. Expected _wxPoint_p."); + return NULL; + } + } + _result = (wxPoint *)wxListEvent_m_pointDrag_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxListEvent_m_pointDrag_get(_swigobj) (&_swigobj->m_pointDrag) static PyObject *_wrap_wxListEvent_m_pointDrag_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -509,6 +886,37 @@ static PyObject *_wrap_wxListEvent_m_pointDrag_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxListEvent_m_item_set(_swigobj,_swigval) (_swigobj->m_item = *(_swigval),_swigval) +static PyObject *_wrap_wxListEvent_m_item_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxListItem * _result; + wxListEvent * _arg0; + wxListItem * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxListEvent_m_item_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListEvent_m_item_set. Expected _wxListEvent_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxListItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxListEvent_m_item_set. Expected _wxListItem_p."); + return NULL; + } + } + _result = (wxListItem *)wxListEvent_m_item_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxListItem_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxListEvent_m_item_get(_swigobj) (&_swigobj->m_item) static PyObject *_wrap_wxListEvent_m_item_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -611,7 +1019,7 @@ static PyObject *_wrap_wxListCtrl_Arrange(PyObject *self, PyObject *args) { PyObject * _resultobj; bool _result; wxListCtrl * _arg0; - int _arg1 = wxLIST_ALIGN_DEFAULT; + int _arg1 = (wxLIST_ALIGN_DEFAULT); char * _argc0 = 0; self = self; @@ -1104,7 +1512,7 @@ static PyObject *_wrap_wxListCtrl_GetItemRect(PyObject *self, PyObject *args) { wxRect * _result; wxListCtrl * _arg0; long _arg1; - int _arg2 = wxLIST_RECT_BOUNDS; + int _arg2 = (wxLIST_RECT_BOUNDS); char * _argc0 = 0; char _ptemp[128]; @@ -1224,8 +1632,8 @@ static PyObject *_wrap_wxListCtrl_GetNextItem(PyObject *self, PyObject *args) { long _result; wxListCtrl * _arg0; long _arg1; - int _arg2 = wxLIST_NEXT_ALL; - int _arg3 = wxLIST_STATE_DONTCARE; + int _arg2 = (wxLIST_NEXT_ALL); + int _arg3 = (wxLIST_STATE_DONTCARE); char * _argc0 = 0; self = self; @@ -1412,7 +1820,7 @@ static PyObject *_wrap_wxListCtrl_InsertColumn(PyObject *self, PyObject *args) { wxListCtrl * _arg0; long _arg1; wxString * _arg2; - int _arg3 = wxLIST_FORMAT_LEFT; + int _arg3 = (wxLIST_FORMAT_LEFT); int _arg4 = -1; char * _argc0 = 0; PyObject * _obj2 = 0; @@ -1729,8 +2137,8 @@ static PyObject *_wrap_wxListCtrl_SetItem(PyObject *self, PyObject *args) { return _resultobj; } -#define wxListCtrl_SetItemString(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->SetItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) -static PyObject *_wrap_wxListCtrl_SetItemString(PyObject *self, PyObject *args) { +#define wxListCtrl_SetStringItem(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->SetItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxListCtrl_SetStringItem(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxListCtrl * _arg0; @@ -1742,11 +2150,11 @@ static PyObject *_wrap_wxListCtrl_SetItemString(PyObject *self, PyObject *args) PyObject * _obj3 = 0; self = self; - if(!PyArg_ParseTuple(args,"sliO|i:wxListCtrl_SetItemString",&_argc0,&_arg1,&_arg2,&_obj3,&_arg4)) + if(!PyArg_ParseTuple(args,"sliO|i:wxListCtrl_SetStringItem",&_argc0,&_arg1,&_arg2,&_obj3,&_arg4)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxListCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListCtrl_SetItemString. Expected _wxListCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListCtrl_SetStringItem. Expected _wxListCtrl_p."); return NULL; } } @@ -1757,7 +2165,7 @@ static PyObject *_wrap_wxListCtrl_SetItemString(PyObject *self, PyObject *args) } _arg3 = new wxString(PyString_AsString(_obj3)); } - _result = (long )wxListCtrl_SetItemString(_arg0,_arg1,_arg2,*_arg3,_arg4); + _result = (long )wxListCtrl_SetStringItem(_arg0,_arg1,_arg2,*_arg3,_arg4); _resultobj = Py_BuildValue("l",_result); { if (_obj3) @@ -3955,7 +4363,7 @@ static PyMethodDef controls2cMethods[] = { { "wxListCtrl_SetItemPosition", _wrap_wxListCtrl_SetItemPosition, 1 }, { "wxListCtrl_SetItemImage", _wrap_wxListCtrl_SetItemImage, 1 }, { "wxListCtrl_SetItemData", _wrap_wxListCtrl_SetItemData, 1 }, - { "wxListCtrl_SetItemString", _wrap_wxListCtrl_SetItemString, 1 }, + { "wxListCtrl_SetStringItem", _wrap_wxListCtrl_SetStringItem, 1 }, { "wxListCtrl_SetItem", _wrap_wxListCtrl_SetItem, 1 }, { "wxListCtrl_SetImageList", _wrap_wxListCtrl_SetImageList, 1 }, { "wxListCtrl_SetColumnWidth", _wrap_wxListCtrl_SetColumnWidth, 1 }, @@ -4001,24 +4409,41 @@ static PyMethodDef controls2cMethods[] = { { "wxListCtrl_Arrange", _wrap_wxListCtrl_Arrange, 1 }, { "new_wxListCtrl", _wrap_new_wxListCtrl, 1 }, { "wxListEvent_m_item_get", _wrap_wxListEvent_m_item_get, 1 }, + { "wxListEvent_m_item_set", _wrap_wxListEvent_m_item_set, 1 }, { "wxListEvent_m_pointDrag_get", _wrap_wxListEvent_m_pointDrag_get, 1 }, + { "wxListEvent_m_pointDrag_set", _wrap_wxListEvent_m_pointDrag_set, 1 }, { "wxListEvent_m_cancelled_get", _wrap_wxListEvent_m_cancelled_get, 1 }, + { "wxListEvent_m_cancelled_set", _wrap_wxListEvent_m_cancelled_set, 1 }, { "wxListEvent_m_col_get", _wrap_wxListEvent_m_col_get, 1 }, + { "wxListEvent_m_col_set", _wrap_wxListEvent_m_col_set, 1 }, { "wxListEvent_m_oldItemIndex_get", _wrap_wxListEvent_m_oldItemIndex_get, 1 }, + { "wxListEvent_m_oldItemIndex_set", _wrap_wxListEvent_m_oldItemIndex_set, 1 }, { "wxListEvent_m_itemIndex_get", _wrap_wxListEvent_m_itemIndex_get, 1 }, + { "wxListEvent_m_itemIndex_set", _wrap_wxListEvent_m_itemIndex_set, 1 }, { "wxListEvent_m_code_get", _wrap_wxListEvent_m_code_get, 1 }, + { "wxListEvent_m_code_set", _wrap_wxListEvent_m_code_set, 1 }, { "delete_wxListItem", _wrap_delete_wxListItem, 1 }, { "new_wxListItem", _wrap_new_wxListItem, 1 }, { "wxListItem_m_width_get", _wrap_wxListItem_m_width_get, 1 }, + { "wxListItem_m_width_set", _wrap_wxListItem_m_width_set, 1 }, { "wxListItem_m_format_get", _wrap_wxListItem_m_format_get, 1 }, + { "wxListItem_m_format_set", _wrap_wxListItem_m_format_set, 1 }, { "wxListItem_m_data_get", _wrap_wxListItem_m_data_get, 1 }, + { "wxListItem_m_data_set", _wrap_wxListItem_m_data_set, 1 }, { "wxListItem_m_image_get", _wrap_wxListItem_m_image_get, 1 }, + { "wxListItem_m_image_set", _wrap_wxListItem_m_image_set, 1 }, { "wxListItem_m_text_get", _wrap_wxListItem_m_text_get, 1 }, + { "wxListItem_m_text_set", _wrap_wxListItem_m_text_set, 1 }, { "wxListItem_m_stateMask_get", _wrap_wxListItem_m_stateMask_get, 1 }, + { "wxListItem_m_stateMask_set", _wrap_wxListItem_m_stateMask_set, 1 }, { "wxListItem_m_state_get", _wrap_wxListItem_m_state_get, 1 }, + { "wxListItem_m_state_set", _wrap_wxListItem_m_state_set, 1 }, { "wxListItem_m_col_get", _wrap_wxListItem_m_col_get, 1 }, + { "wxListItem_m_col_set", _wrap_wxListItem_m_col_set, 1 }, { "wxListItem_m_itemId_get", _wrap_wxListItem_m_itemId_get, 1 }, + { "wxListItem_m_itemId_set", _wrap_wxListItem_m_itemId_set, 1 }, { "wxListItem_m_mask_get", _wrap_wxListItem_m_mask_get, 1 }, + { "wxListItem_m_mask_set", _wrap_wxListItem_m_mask_set, 1 }, { NULL, NULL } }; static PyObject *SWIG_globals; @@ -4030,6 +4455,48 @@ SWIGEXPORT(void,initcontrols2c)() { SWIG_globals = SWIG_newvarlink(); m = Py_InitModule("controls2c", controls2cMethods); d = PyModule_GetDict(m); + PyDict_SetItemString(d,"wxLIST_MASK_TEXT", PyInt_FromLong((long) wxLIST_MASK_TEXT)); + PyDict_SetItemString(d,"wxLIST_MASK_IMAGE", PyInt_FromLong((long) wxLIST_MASK_IMAGE)); + PyDict_SetItemString(d,"wxLIST_MASK_DATA", PyInt_FromLong((long) wxLIST_MASK_DATA)); + PyDict_SetItemString(d,"wxLIST_MASK_WIDTH", PyInt_FromLong((long) wxLIST_MASK_WIDTH)); + PyDict_SetItemString(d,"wxLIST_MASK_FORMAT", PyInt_FromLong((long) wxLIST_MASK_FORMAT)); + PyDict_SetItemString(d,"wxLIST_STATE_DONTCARE", PyInt_FromLong((long) wxLIST_STATE_DONTCARE)); + PyDict_SetItemString(d,"wxLIST_STATE_DROPHILITED", PyInt_FromLong((long) wxLIST_STATE_DROPHILITED)); + PyDict_SetItemString(d,"wxLIST_STATE_FOCUSED", PyInt_FromLong((long) wxLIST_STATE_FOCUSED)); + PyDict_SetItemString(d,"wxLIST_STATE_SELECTED", PyInt_FromLong((long) wxLIST_STATE_SELECTED)); + PyDict_SetItemString(d,"wxLIST_STATE_CUT", PyInt_FromLong((long) wxLIST_STATE_CUT)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ABOVE", PyInt_FromLong((long) wxLIST_HITTEST_ABOVE)); + PyDict_SetItemString(d,"wxLIST_HITTEST_BELOW", PyInt_FromLong((long) wxLIST_HITTEST_BELOW)); + PyDict_SetItemString(d,"wxLIST_HITTEST_NOWHERE", PyInt_FromLong((long) wxLIST_HITTEST_NOWHERE)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ONITEMICON", PyInt_FromLong((long) wxLIST_HITTEST_ONITEMICON)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ONITEMLABEL", PyInt_FromLong((long) wxLIST_HITTEST_ONITEMLABEL)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ONITEMRIGHT", PyInt_FromLong((long) wxLIST_HITTEST_ONITEMRIGHT)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ONITEMSTATEICON", PyInt_FromLong((long) wxLIST_HITTEST_ONITEMSTATEICON)); + PyDict_SetItemString(d,"wxLIST_HITTEST_TOLEFT", PyInt_FromLong((long) wxLIST_HITTEST_TOLEFT)); + PyDict_SetItemString(d,"wxLIST_HITTEST_TORIGHT", PyInt_FromLong((long) wxLIST_HITTEST_TORIGHT)); + PyDict_SetItemString(d,"wxLIST_HITTEST_ONITEM", PyInt_FromLong((long) wxLIST_HITTEST_ONITEM)); + PyDict_SetItemString(d,"wxLIST_NEXT_ABOVE", PyInt_FromLong((long) wxLIST_NEXT_ABOVE)); + PyDict_SetItemString(d,"wxLIST_NEXT_ALL", PyInt_FromLong((long) wxLIST_NEXT_ALL)); + PyDict_SetItemString(d,"wxLIST_NEXT_BELOW", PyInt_FromLong((long) wxLIST_NEXT_BELOW)); + PyDict_SetItemString(d,"wxLIST_NEXT_LEFT", PyInt_FromLong((long) wxLIST_NEXT_LEFT)); + PyDict_SetItemString(d,"wxLIST_NEXT_RIGHT", PyInt_FromLong((long) wxLIST_NEXT_RIGHT)); + PyDict_SetItemString(d,"wxLIST_ALIGN_DEFAULT", PyInt_FromLong((long) wxLIST_ALIGN_DEFAULT)); + PyDict_SetItemString(d,"wxLIST_ALIGN_LEFT", PyInt_FromLong((long) wxLIST_ALIGN_LEFT)); + PyDict_SetItemString(d,"wxLIST_ALIGN_TOP", PyInt_FromLong((long) wxLIST_ALIGN_TOP)); + PyDict_SetItemString(d,"wxLIST_ALIGN_SNAP_TO_GRID", PyInt_FromLong((long) wxLIST_ALIGN_SNAP_TO_GRID)); + PyDict_SetItemString(d,"wxLIST_FORMAT_LEFT", PyInt_FromLong((long) wxLIST_FORMAT_LEFT)); + PyDict_SetItemString(d,"wxLIST_FORMAT_RIGHT", PyInt_FromLong((long) wxLIST_FORMAT_RIGHT)); + PyDict_SetItemString(d,"wxLIST_FORMAT_CENTRE", PyInt_FromLong((long) wxLIST_FORMAT_CENTRE)); + PyDict_SetItemString(d,"wxLIST_FORMAT_CENTER", PyInt_FromLong((long) wxLIST_FORMAT_CENTER)); + PyDict_SetItemString(d,"wxLIST_AUTOSIZE", PyInt_FromLong((long) wxLIST_AUTOSIZE)); + PyDict_SetItemString(d,"wxLIST_AUTOSIZE_USEHEADER", PyInt_FromLong((long) wxLIST_AUTOSIZE_USEHEADER)); + PyDict_SetItemString(d,"wxLIST_RECT_BOUNDS", PyInt_FromLong((long) wxLIST_RECT_BOUNDS)); + PyDict_SetItemString(d,"wxLIST_RECT_ICON", PyInt_FromLong((long) wxLIST_RECT_ICON)); + PyDict_SetItemString(d,"wxLIST_RECT_LABEL", PyInt_FromLong((long) wxLIST_RECT_LABEL)); + PyDict_SetItemString(d,"wxLIST_FIND_UP", PyInt_FromLong((long) wxLIST_FIND_UP)); + PyDict_SetItemString(d,"wxLIST_FIND_DOWN", PyInt_FromLong((long) wxLIST_FIND_DOWN)); + PyDict_SetItemString(d,"wxLIST_FIND_LEFT", PyInt_FromLong((long) wxLIST_FIND_LEFT)); + PyDict_SetItemString(d,"wxLIST_FIND_RIGHT", PyInt_FromLong((long) wxLIST_FIND_RIGHT)); /* * These are the pointer type-equivalency mappings. * (Used by the SWIG pointer type-checker). @@ -4054,6 +4521,7 @@ SWIGEXPORT(void,initcontrols2c)() { SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); SWIG_RegisterMapping("_class_wxTreeCtrl","_wxTreeCtrl",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -4065,6 +4533,7 @@ SWIGEXPORT(void,initcontrols2c)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -4081,6 +4550,7 @@ SWIGEXPORT(void,initcontrols2c)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -4208,6 +4678,7 @@ SWIGEXPORT(void,initcontrols2c)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); diff --git a/utils/wxPython/src/msw/controls2.py b/utils/wxPython/src/msw/controls2.py index 1c90b543c5..cf1ff4a4fa 100644 --- a/utils/wxPython/src/msw/controls2.py +++ b/utils/wxPython/src/msw/controls2.py @@ -190,6 +190,7 @@ class wxListCtrlPtr(wxControlPtr): return val def GetImageList(self,arg0): val = controls2c.wxListCtrl_GetImageList(self.this,arg0) + val = wxImageListPtr(val) return val def GetItemData(self,arg0): val = controls2c.wxListCtrl_GetItemData(self.this,arg0) @@ -272,13 +273,13 @@ class wxListCtrlPtr(wxControlPtr): val = controls2c.wxListCtrl_SetColumnWidth(self.this,arg0,arg1) return val def SetImageList(self,arg0,arg1): - val = controls2c.wxListCtrl_SetImageList(self.this,arg0,arg1) + val = controls2c.wxListCtrl_SetImageList(self.this,arg0.this,arg1) return val def SetItem(self,arg0): val = controls2c.wxListCtrl_SetItem(self.this,arg0.this) return val - def SetItemString(self,arg0,arg1,arg2,*args): - val = apply(controls2c.wxListCtrl_SetItemString,(self.this,arg0,arg1,arg2,)+args) + def SetStringItem(self,arg0,arg1,arg2,*args): + val = apply(controls2c.wxListCtrl_SetStringItem,(self.this,arg0,arg1,arg2,)+args) return val def SetItemData(self,arg0,arg1): val = controls2c.wxListCtrl_SetItemData(self.this,arg0,arg1) @@ -411,15 +412,17 @@ class wxTreeCtrlPtr(wxControlPtr): return val def GetImageList(self): val = controls2c.wxTreeCtrl_GetImageList(self.this) + val = wxImageListPtr(val) return val def GetStateImageList(self): val = controls2c.wxTreeCtrl_GetStateImageList(self.this) + val = wxImageListPtr(val) return val def SetImageList(self,arg0): - val = controls2c.wxTreeCtrl_SetImageList(self.this,arg0) + val = controls2c.wxTreeCtrl_SetImageList(self.this,arg0.this) return val def SetStateImageList(self,arg0): - val = controls2c.wxTreeCtrl_SetStateImageList(self.this,arg0) + val = controls2c.wxTreeCtrl_SetStateImageList(self.this,arg0.this) return val def GetItemText(self,arg0): val = controls2c.wxTreeCtrl_GetItemText(self.this,arg0.this) @@ -623,3 +626,45 @@ class wxTreeCtrl(wxTreeCtrlPtr): #-------------- VARIABLE WRAPPERS ------------------ +wxLIST_MASK_TEXT = controls2c.wxLIST_MASK_TEXT +wxLIST_MASK_IMAGE = controls2c.wxLIST_MASK_IMAGE +wxLIST_MASK_DATA = controls2c.wxLIST_MASK_DATA +wxLIST_MASK_WIDTH = controls2c.wxLIST_MASK_WIDTH +wxLIST_MASK_FORMAT = controls2c.wxLIST_MASK_FORMAT +wxLIST_STATE_DONTCARE = controls2c.wxLIST_STATE_DONTCARE +wxLIST_STATE_DROPHILITED = controls2c.wxLIST_STATE_DROPHILITED +wxLIST_STATE_FOCUSED = controls2c.wxLIST_STATE_FOCUSED +wxLIST_STATE_SELECTED = controls2c.wxLIST_STATE_SELECTED +wxLIST_STATE_CUT = controls2c.wxLIST_STATE_CUT +wxLIST_HITTEST_ABOVE = controls2c.wxLIST_HITTEST_ABOVE +wxLIST_HITTEST_BELOW = controls2c.wxLIST_HITTEST_BELOW +wxLIST_HITTEST_NOWHERE = controls2c.wxLIST_HITTEST_NOWHERE +wxLIST_HITTEST_ONITEMICON = controls2c.wxLIST_HITTEST_ONITEMICON +wxLIST_HITTEST_ONITEMLABEL = controls2c.wxLIST_HITTEST_ONITEMLABEL +wxLIST_HITTEST_ONITEMRIGHT = controls2c.wxLIST_HITTEST_ONITEMRIGHT +wxLIST_HITTEST_ONITEMSTATEICON = controls2c.wxLIST_HITTEST_ONITEMSTATEICON +wxLIST_HITTEST_TOLEFT = controls2c.wxLIST_HITTEST_TOLEFT +wxLIST_HITTEST_TORIGHT = controls2c.wxLIST_HITTEST_TORIGHT +wxLIST_HITTEST_ONITEM = controls2c.wxLIST_HITTEST_ONITEM +wxLIST_NEXT_ABOVE = controls2c.wxLIST_NEXT_ABOVE +wxLIST_NEXT_ALL = controls2c.wxLIST_NEXT_ALL +wxLIST_NEXT_BELOW = controls2c.wxLIST_NEXT_BELOW +wxLIST_NEXT_LEFT = controls2c.wxLIST_NEXT_LEFT +wxLIST_NEXT_RIGHT = controls2c.wxLIST_NEXT_RIGHT +wxLIST_ALIGN_DEFAULT = controls2c.wxLIST_ALIGN_DEFAULT +wxLIST_ALIGN_LEFT = controls2c.wxLIST_ALIGN_LEFT +wxLIST_ALIGN_TOP = controls2c.wxLIST_ALIGN_TOP +wxLIST_ALIGN_SNAP_TO_GRID = controls2c.wxLIST_ALIGN_SNAP_TO_GRID +wxLIST_FORMAT_LEFT = controls2c.wxLIST_FORMAT_LEFT +wxLIST_FORMAT_RIGHT = controls2c.wxLIST_FORMAT_RIGHT +wxLIST_FORMAT_CENTRE = controls2c.wxLIST_FORMAT_CENTRE +wxLIST_FORMAT_CENTER = controls2c.wxLIST_FORMAT_CENTER +wxLIST_AUTOSIZE = controls2c.wxLIST_AUTOSIZE +wxLIST_AUTOSIZE_USEHEADER = controls2c.wxLIST_AUTOSIZE_USEHEADER +wxLIST_RECT_BOUNDS = controls2c.wxLIST_RECT_BOUNDS +wxLIST_RECT_ICON = controls2c.wxLIST_RECT_ICON +wxLIST_RECT_LABEL = controls2c.wxLIST_RECT_LABEL +wxLIST_FIND_UP = controls2c.wxLIST_FIND_UP +wxLIST_FIND_DOWN = controls2c.wxLIST_FIND_DOWN +wxLIST_FIND_LEFT = controls2c.wxLIST_FIND_LEFT +wxLIST_FIND_RIGHT = controls2c.wxLIST_FIND_RIGHT diff --git a/utils/wxPython/src/msw/events.cpp b/utils/wxPython/src/msw/events.cpp index 341c196786..cd4504a43f 100644 --- a/utils/wxPython/src/msw/events.cpp +++ b/utils/wxPython/src/msw/events.cpp @@ -2649,6 +2649,7 @@ SWIGEXPORT(void,initeventsc)() { SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0); SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxUpdateUIEvent","_class_wxUpdateUIEvent",0); SWIG_RegisterMapping("_byte","_unsigned_char",0); SWIG_RegisterMapping("_long","_unsigned_long",0); @@ -2660,6 +2661,7 @@ SWIGEXPORT(void,initeventsc)() { SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0); SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0); SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxIdleEvent","_class_wxIdleEvent",0); SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0); diff --git a/utils/wxPython/src/msw/frames.cpp b/utils/wxPython/src/msw/frames.cpp index 8bfd4884aa..a893212bea 100644 --- a/utils/wxPython/src/msw/frames.cpp +++ b/utils/wxPython/src/msw/frames.cpp @@ -828,6 +828,7 @@ SWIGEXPORT(void,initframesc)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -839,6 +840,7 @@ SWIGEXPORT(void,initframesc)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -855,6 +857,7 @@ SWIGEXPORT(void,initframesc)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -970,6 +973,7 @@ SWIGEXPORT(void,initframesc)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxFrame","_class_wxMiniFrame",SwigwxMiniFrameTowxFrame); SWIG_RegisterMapping("_wxFrame","_wxMiniFrame",SwigwxMiniFrameTowxFrame); diff --git a/utils/wxPython/src/msw/gdi.cpp b/utils/wxPython/src/msw/gdi.cpp index b0308a0834..9d4eb20f02 100644 --- a/utils/wxPython/src/msw/gdi.cpp +++ b/utils/wxPython/src/msw/gdi.cpp @@ -55,6 +55,7 @@ extern PyObject *SWIG_newvarlink(void); #include "helpers.h" #include +#include #ifndef __WXMSW__ #include #endif @@ -144,6 +145,8 @@ static char* wxStringErrorMsg = "string type is required for parameter"; wxMemoryDC* wxMemoryDCFromDC(wxDC* oldDC) { return new wxMemoryDC(oldDC); } + +#if 0 extern wxFont * wxNORMAL_FONT; extern wxFont * wxSMALL_FONT; extern wxFont * wxITALIC_FONT; @@ -186,6 +189,8 @@ extern wxBrush wxNullBrush; extern wxPalette wxNullPalette; extern wxFont wxNullFont; extern wxColour wxNullColour; + +#endif static PyObject *_wrap_wxEmptyBitmap(PyObject *self, PyObject *args) { PyObject * _resultobj; wxBitmap * _result; @@ -3850,8 +3855,62 @@ static PyObject *_wrap_wxDC_GetTextBackground(PyObject *self, PyObject *args) { return _resultobj; } -#define wxDC_GetTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +#define wxDC_GetTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2)) static PyObject *_wrap_wxDC_GetTextExtent(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxDC * _arg0; + wxString * _arg1; + long * _arg2; + long temp; + long * _arg3; + long temp0; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; +{ + _arg2 = &temp; +} +{ + _arg3 = &temp0; +} + if(!PyArg_ParseTuple(args,"sO:wxDC_GetTextExtent",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetTextExtent. Expected _wxDC_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + wxDC_GetTextExtent(_arg0,*_arg1,_arg2,_arg3); + Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg3)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxDC_GetFullTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_wxDC_GetFullTextExtent(PyObject *self, PyObject *args) { PyObject * _resultobj; wxDC * _arg0; wxString * _arg1; @@ -3863,8 +3922,10 @@ static PyObject *_wrap_wxDC_GetTextExtent(PyObject *self, PyObject *args) { long temp1; long * _arg5; long temp2; + wxFont * _arg6 = NULL; char * _argc0 = 0; PyObject * _obj1 = 0; + char * _argc6 = 0; self = self; { @@ -3879,11 +3940,11 @@ static PyObject *_wrap_wxDC_GetTextExtent(PyObject *self, PyObject *args) { { _arg5 = &temp2; } - if(!PyArg_ParseTuple(args,"sO:wxDC_GetTextExtent",&_argc0,&_obj1)) + if(!PyArg_ParseTuple(args,"sO|s:wxDC_GetFullTextExtent",&_argc0,&_obj1,&_argc6)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxDC_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetTextExtent. Expected _wxDC_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxDC_GetFullTextExtent. Expected _wxDC_p."); return NULL; } } @@ -3894,7 +3955,13 @@ static PyObject *_wrap_wxDC_GetTextExtent(PyObject *self, PyObject *args) { } _arg1 = new wxString(PyString_AsString(_obj1)); } - wxDC_GetTextExtent(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5); + if (_argc6) { + if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxFont_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxDC_GetFullTextExtent. Expected _wxFont_p."); + return NULL; + } + } + wxDC_GetFullTextExtent(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); Py_INCREF(Py_None); _resultobj = Py_None; { @@ -5141,7 +5208,331 @@ static PyObject *_wrap_wxPalette_Ok(PyObject *self, PyObject *args) { return _resultobj; } +#define new_wxImageList(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxImageList(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_new_wxImageList(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxImageList * _result; + int _arg0; + int _arg1; + bool _arg2 = (1); + int _arg3 = 1; + int tempbool2; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ii|ii:new_wxImageList",&_arg0,&_arg1,&tempbool2,&_arg3)) + return NULL; + _arg2 = (bool ) tempbool2; + _result = (wxImageList *)new_wxImageList(_arg0,_arg1,_arg2,_arg3); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxImageList_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define delete_wxImageList(_swigobj) (delete _swigobj) +static PyObject *_wrap_delete_wxImageList(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxImageList * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:delete_wxImageList",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxImageList. Expected _wxImageList_p."); + return NULL; + } + } + delete_wxImageList(_arg0); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxImageList_Add(_swigobj,_swigarg0,_swigarg1) (_swigobj->Add(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxImageList_Add(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxImageList * _arg0; + wxBitmap * _arg1; + wxBitmap * _arg2 = &wxNullBitmap; + char * _argc0 = 0; + char * _argc1 = 0; + char * _argc2 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss|s:wxImageList_Add",&_argc0,&_argc1,&_argc2)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Add. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_Add. Expected _wxBitmap_p."); + return NULL; + } + } + if (_argc2) { + if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Add. Expected _wxBitmap_p."); + return NULL; + } + } + _result = (int )wxImageList_Add(_arg0,*_arg1,*_arg2); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_AddWithColourMask(_swigobj,_swigarg0,_swigarg1) (_swigobj->Add(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxImageList_AddWithColourMask(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxImageList * _arg0; + wxBitmap * _arg1; + wxColour * _arg2; + char * _argc0 = 0; + char * _argc1 = 0; + char * _argc2 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sss:wxImageList_AddWithColourMask",&_argc0,&_argc1,&_argc2)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_AddWithColourMask. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_AddWithColourMask. Expected _wxBitmap_p."); + return NULL; + } + } + if (_argc2) { + if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxColour_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_AddWithColourMask. Expected _wxColour_p."); + return NULL; + } + } + _result = (int )wxImageList_AddWithColourMask(_arg0,*_arg1,*_arg2); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_AddIcon(_swigobj,_swigarg0) (_swigobj->Add(_swigarg0)) +static PyObject *_wrap_wxImageList_AddIcon(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxImageList * _arg0; + wxIcon * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxImageList_AddIcon",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_AddIcon. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxIcon_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxImageList_AddIcon. Expected _wxIcon_p."); + return NULL; + } + } + _result = (int )wxImageList_AddIcon(_arg0,*_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_Draw(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (_swigobj->Draw(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_wxImageList_Draw(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxImageList * _arg0; + int _arg1; + wxDC * _arg2; + int _arg3; + int _arg4; + int _arg5 = (wxIMAGELIST_DRAW_NORMAL); + bool _arg6 = (0); + char * _argc0 = 0; + char * _argc2 = 0; + int tempbool6; + + self = self; + if(!PyArg_ParseTuple(args,"sisii|ii:wxImageList_Draw",&_argc0,&_arg1,&_argc2,&_arg3,&_arg4,&_arg5,&tempbool6)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Draw. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc2) { + if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Draw. Expected _wxDC_p."); + return NULL; + } + } + _arg6 = (bool ) tempbool6; + _result = (bool )wxImageList_Draw(_arg0,_arg1,*_arg2,_arg3,_arg4,_arg5,_arg6); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_GetImageCount(_swigobj) (_swigobj->GetImageCount()) +static PyObject *_wrap_wxImageList_GetImageCount(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxImageList * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxImageList_GetImageCount",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_GetImageCount. Expected _wxImageList_p."); + return NULL; + } + } + _result = (int )wxImageList_GetImageCount(_arg0); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_Remove(_swigobj,_swigarg0) (_swigobj->Remove(_swigarg0)) +static PyObject *_wrap_wxImageList_Remove(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxImageList * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxImageList_Remove",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Remove. Expected _wxImageList_p."); + return NULL; + } + } + _result = (bool )wxImageList_Remove(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_RemoveAll(_swigobj) (_swigobj->RemoveAll()) +static PyObject *_wrap_wxImageList_RemoveAll(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxImageList * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxImageList_RemoveAll",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_RemoveAll. Expected _wxImageList_p."); + return NULL; + } + } + _result = (bool )wxImageList_RemoveAll(_arg0); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_Replace(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Replace(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxImageList_Replace(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxImageList * _arg0; + int _arg1; + wxBitmap * _arg2; + wxBitmap * _arg3 = &wxNullBitmap; + char * _argc0 = 0; + char * _argc2 = 0; + char * _argc3 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sis|s:wxImageList_Replace",&_argc0,&_arg1,&_argc2,&_argc3)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_Replace. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc2) { + if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_Replace. Expected _wxBitmap_p."); + return NULL; + } + } + if (_argc3) { + if (SWIG_GetPtr(_argc3,(void **) &_arg3,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxImageList_Replace. Expected _wxBitmap_p."); + return NULL; + } + } + _result = (bool )wxImageList_Replace(_arg0,_arg1,*_arg2,*_arg3); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxImageList_ReplaceIcon(_swigobj,_swigarg0,_swigarg1) (_swigobj->Replace(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxImageList_ReplaceIcon(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxImageList * _arg0; + int _arg1; + wxIcon * _arg2; + char * _argc0 = 0; + char * _argc2 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sis:wxImageList_ReplaceIcon",&_argc0,&_arg1,&_argc2)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_ReplaceIcon. Expected _wxImageList_p."); + return NULL; + } + } + if (_argc2) { + if (SWIG_GetPtr(_argc2,(void **) &_arg2,"_wxIcon_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxImageList_ReplaceIcon. Expected _wxIcon_p."); + return NULL; + } + } + _result = (bool )wxImageList_ReplaceIcon(_arg0,_arg1,*_arg2); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + static PyMethodDef gdicMethods[] = { + { "wxImageList_ReplaceIcon", _wrap_wxImageList_ReplaceIcon, 1 }, + { "wxImageList_Replace", _wrap_wxImageList_Replace, 1 }, + { "wxImageList_RemoveAll", _wrap_wxImageList_RemoveAll, 1 }, + { "wxImageList_Remove", _wrap_wxImageList_Remove, 1 }, + { "wxImageList_GetImageCount", _wrap_wxImageList_GetImageCount, 1 }, + { "wxImageList_Draw", _wrap_wxImageList_Draw, 1 }, + { "wxImageList_AddIcon", _wrap_wxImageList_AddIcon, 1 }, + { "wxImageList_AddWithColourMask", _wrap_wxImageList_AddWithColourMask, 1 }, + { "wxImageList_Add", _wrap_wxImageList_Add, 1 }, + { "delete_wxImageList", _wrap_delete_wxImageList, 1 }, + { "new_wxImageList", _wrap_new_wxImageList, 1 }, { "wxPalette_Ok", _wrap_wxPalette_Ok, 1 }, { "wxPalette_GetRGB", _wrap_wxPalette_GetRGB, 1 }, { "wxPalette_GetPixel", _wrap_wxPalette_GetPixel, 1 }, @@ -5186,6 +5577,7 @@ static PyMethodDef gdicMethods[] = { { "wxDC_LogicalToDeviceXRel", _wrap_wxDC_LogicalToDeviceXRel, 1 }, { "wxDC_LogicalToDeviceX", _wrap_wxDC_LogicalToDeviceX, 1 }, { "wxDC_GetTextForeground", _wrap_wxDC_GetTextForeground, 1 }, + { "wxDC_GetFullTextExtent", _wrap_wxDC_GetFullTextExtent, 1 }, { "wxDC_GetTextExtent", _wrap_wxDC_GetTextExtent, 1 }, { "wxDC_GetTextBackground", _wrap_wxDC_GetTextBackground, 1 }, { "wxDC_GetSize", _wrap_wxDC_GetSize, 1 }, @@ -5363,6 +5755,13 @@ SWIGEXPORT(void,initgdic)() { SWIG_addvarlink(SWIG_globals,"wxNullPalette",_wrap_wxNullPalette_get, _wrap_wxNullPalette_set); SWIG_addvarlink(SWIG_globals,"wxNullFont",_wrap_wxNullFont_get, _wrap_wxNullFont_set); SWIG_addvarlink(SWIG_globals,"wxNullColour",_wrap_wxNullColour_get, _wrap_wxNullColour_set); + PyDict_SetItemString(d,"wxIMAGELIST_DRAW_NORMAL", PyInt_FromLong((long) wxIMAGELIST_DRAW_NORMAL)); + PyDict_SetItemString(d,"wxIMAGELIST_DRAW_TRANSPARENT", PyInt_FromLong((long) wxIMAGELIST_DRAW_TRANSPARENT)); + PyDict_SetItemString(d,"wxIMAGELIST_DRAW_SELECTED", PyInt_FromLong((long) wxIMAGELIST_DRAW_SELECTED)); + PyDict_SetItemString(d,"wxIMAGELIST_DRAW_FOCUSED", PyInt_FromLong((long) wxIMAGELIST_DRAW_FOCUSED)); + PyDict_SetItemString(d,"wxIMAGE_LIST_NORMAL", PyInt_FromLong((long) wxIMAGE_LIST_NORMAL)); + PyDict_SetItemString(d,"wxIMAGE_LIST_SMALL", PyInt_FromLong((long) wxIMAGE_LIST_SMALL)); + PyDict_SetItemString(d,"wxIMAGE_LIST_STATE", PyInt_FromLong((long) wxIMAGE_LIST_STATE)); /* * These are the pointer type-equivalency mappings. * (Used by the SWIG pointer type-checker). @@ -5372,12 +5771,14 @@ SWIGEXPORT(void,initgdic)() { SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); SWIG_RegisterMapping("_byte","_unsigned_char",0); SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); SWIG_RegisterMapping("_wxDC","_class_wxMetaFileDC",SwigwxMetaFileDCTowxDC); SWIG_RegisterMapping("_wxDC","_wxMetaFileDC",SwigwxMetaFileDCTowxDC); @@ -5396,6 +5797,7 @@ SWIGEXPORT(void,initgdic)() { SWIG_RegisterMapping("_wxDC","_class_wxDC",0); SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0); SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0); @@ -5470,6 +5872,7 @@ SWIGEXPORT(void,initgdic)() { SWIG_RegisterMapping("_short","_WXTYPE",0); SWIG_RegisterMapping("_short","_unsigned_short",0); SWIG_RegisterMapping("_short","_signed_short",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); SWIG_RegisterMapping("_wxWindowID","_int",0); diff --git a/utils/wxPython/src/msw/gdi.py b/utils/wxPython/src/msw/gdi.py index 868a287116..841322538c 100644 --- a/utils/wxPython/src/msw/gdi.py +++ b/utils/wxPython/src/msw/gdi.py @@ -474,6 +474,13 @@ class wxDCPtr : def GetTextExtent(self,arg0): val = gdic.wxDC_GetTextExtent(self.this,arg0) return val + def GetFullTextExtent(self,arg0,*args): + argl = map(None,args) + try: argl[0] = argl[0].this + except: pass + args = tuple(argl) + val = apply(gdic.wxDC_GetFullTextExtent,(self.this,arg0,)+args) + return val def GetTextForeground(self): val = gdic.wxDC_GetTextForeground(self.this) val = wxColourPtr(val) @@ -708,6 +715,58 @@ class wxPalette(wxPalettePtr): +class wxImageListPtr : + def __init__(self,this): + self.this = this + self.thisown = 0 + def __del__(self): + if self.thisown == 1 : + gdic.delete_wxImageList(self.this) + def Add(self,arg0,*args): + argl = map(None,args) + try: argl[0] = argl[0].this + except: pass + args = tuple(argl) + val = apply(gdic.wxImageList_Add,(self.this,arg0.this,)+args) + return val + def AddWithColourMask(self,arg0,arg1): + val = gdic.wxImageList_AddWithColourMask(self.this,arg0.this,arg1.this) + return val + def AddIcon(self,arg0): + val = gdic.wxImageList_AddIcon(self.this,arg0.this) + return val + def Draw(self,arg0,arg1,arg2,arg3,*args): + val = apply(gdic.wxImageList_Draw,(self.this,arg0,arg1.this,arg2,arg3,)+args) + return val + def GetImageCount(self): + val = gdic.wxImageList_GetImageCount(self.this) + return val + def Remove(self,arg0): + val = gdic.wxImageList_Remove(self.this,arg0) + return val + def RemoveAll(self): + val = gdic.wxImageList_RemoveAll(self.this) + return val + def Replace(self,arg0,arg1,*args): + argl = map(None,args) + try: argl[0] = argl[0].this + except: pass + args = tuple(argl) + val = apply(gdic.wxImageList_Replace,(self.this,arg0,arg1.this,)+args) + return val + def ReplaceIcon(self,arg0,arg1): + val = gdic.wxImageList_ReplaceIcon(self.this,arg0,arg1.this) + return val + def __repr__(self): + return "" +class wxImageList(wxImageListPtr): + def __init__(self,arg0,arg1,*args) : + self.this = apply(gdic.new_wxImageList,(arg0,arg1,)+args) + self.thisown = 1 + + + + #-------------- FUNCTION WRAPPERS ------------------ @@ -791,5 +850,13 @@ wxNullIcon = wxIconPtr(gdic.cvar.wxNullIcon) wxNullCursor = wxCursorPtr(gdic.cvar.wxNullCursor) wxNullPen = wxPenPtr(gdic.cvar.wxNullPen) wxNullBrush = wxBrushPtr(gdic.cvar.wxNullBrush) +wxNullPalette = wxPalettePtr(gdic.cvar.wxNullPalette) wxNullFont = wxFontPtr(gdic.cvar.wxNullFont) wxNullColour = wxColourPtr(gdic.cvar.wxNullColour) +wxIMAGELIST_DRAW_NORMAL = gdic.wxIMAGELIST_DRAW_NORMAL +wxIMAGELIST_DRAW_TRANSPARENT = gdic.wxIMAGELIST_DRAW_TRANSPARENT +wxIMAGELIST_DRAW_SELECTED = gdic.wxIMAGELIST_DRAW_SELECTED +wxIMAGELIST_DRAW_FOCUSED = gdic.wxIMAGELIST_DRAW_FOCUSED +wxIMAGE_LIST_NORMAL = gdic.wxIMAGE_LIST_NORMAL +wxIMAGE_LIST_SMALL = gdic.wxIMAGE_LIST_SMALL +wxIMAGE_LIST_STATE = gdic.wxIMAGE_LIST_STATE diff --git a/utils/wxPython/src/msw/mdi.cpp b/utils/wxPython/src/msw/mdi.cpp index 4c4bb01d65..f63fa13fff 100644 --- a/utils/wxPython/src/msw/mdi.cpp +++ b/utils/wxPython/src/msw/mdi.cpp @@ -763,6 +763,7 @@ SWIGEXPORT(void,initmdic)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -774,6 +775,7 @@ SWIGEXPORT(void,initmdic)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -790,6 +792,7 @@ SWIGEXPORT(void,initmdic)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -911,6 +914,7 @@ SWIGEXPORT(void,initmdic)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxFrame","_class_wxMDIChildFrame",SwigwxMDIChildFrameTowxFrame); SWIG_RegisterMapping("_wxFrame","_wxMDIChildFrame",SwigwxMDIChildFrameTowxFrame); diff --git a/utils/wxPython/src/msw/misc.cpp b/utils/wxPython/src/msw/misc.cpp index c8acb64549..67da894b09 100644 --- a/utils/wxPython/src/msw/misc.cpp +++ b/utils/wxPython/src/msw/misc.cpp @@ -55,6 +55,7 @@ extern PyObject *SWIG_newvarlink(void); #include "helpers.h" #include +#include static PyObject* l_output_helper(PyObject* target, PyObject* o) { PyObject* o2; @@ -120,6 +121,14 @@ static char* wxStringErrorMsg = "string type is required for parameter"; wxGetResource(section, entry, &retval, file); return retval; } + + void wxToolTip_Enable(bool flag) { + wxToolTip::Enable(flag); + } + + void wxToolTip_SetDelay(long milliseconds) { + wxToolTip::SetDelay(milliseconds); + } static PyObject *_wrap_wxFileSelector(PyObject *self, PyObject *args) { PyObject * _resultobj; wxString * _result; @@ -1006,8 +1015,36 @@ static PyObject *_wrap_wxResourceParseString(PyObject *self, PyObject *args) { return _resultobj; } +static PyObject *_wrap_wxToolTip_Enable(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _arg0; + int tempbool0; + + self = self; + if(!PyArg_ParseTuple(args,"i:wxToolTip_Enable",&tempbool0)) + return NULL; + _arg0 = (bool ) tempbool0; + wxToolTip_Enable(_arg0); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static PyObject *_wrap_wxToolTip_SetDelay(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _arg0; + + self = self; + if(!PyArg_ParseTuple(args,"l:wxToolTip_SetDelay",&_arg0)) + return NULL; + wxToolTip_SetDelay(_arg0); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxSize_x_set(_swigobj,_swigval) (_swigobj->x = _swigval,_swigval) -static PyObject *_wrap_wxSize_width_set(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxSize_x_set(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; @@ -1015,11 +1052,11 @@ static PyObject *_wrap_wxSize_width_set(PyObject *self, PyObject *args) { char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"sl:wxSize_width_set",&_argc0,&_arg1)) + if(!PyArg_ParseTuple(args,"sl:wxSize_x_set",&_argc0,&_arg1)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_width_set. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_x_set. Expected _wxSize_p."); return NULL; } } @@ -1029,18 +1066,18 @@ static PyObject *_wrap_wxSize_width_set(PyObject *self, PyObject *args) { } #define wxSize_x_get(_swigobj) ((long ) _swigobj->x) -static PyObject *_wrap_wxSize_width_get(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxSize_x_get(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxSize_width_get",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxSize_x_get",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_width_get. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_x_get. Expected _wxSize_p."); return NULL; } } @@ -1050,7 +1087,7 @@ static PyObject *_wrap_wxSize_width_get(PyObject *self, PyObject *args) { } #define wxSize_y_set(_swigobj,_swigval) (_swigobj->y = _swigval,_swigval) -static PyObject *_wrap_wxSize_height_set(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxSize_y_set(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; @@ -1058,11 +1095,11 @@ static PyObject *_wrap_wxSize_height_set(PyObject *self, PyObject *args) { char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"sl:wxSize_height_set",&_argc0,&_arg1)) + if(!PyArg_ParseTuple(args,"sl:wxSize_y_set",&_argc0,&_arg1)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_height_set. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_y_set. Expected _wxSize_p."); return NULL; } } @@ -1072,18 +1109,18 @@ static PyObject *_wrap_wxSize_height_set(PyObject *self, PyObject *args) { } #define wxSize_y_get(_swigobj) ((long ) _swigobj->y) -static PyObject *_wrap_wxSize_height_get(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxSize_y_get(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxSize_height_get",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxSize_y_get",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_height_get. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_y_get. Expected _wxSize_p."); return NULL; } } @@ -1153,70 +1190,70 @@ static PyObject *_wrap_wxSize_Set(PyObject *self, PyObject *args) { return _resultobj; } -#define wxSize_GetWidth(_swigobj) (_swigobj->GetX()) -static PyObject *_wrap_wxSize_GetWidth(PyObject *self, PyObject *args) { +#define wxSize_GetX(_swigobj) (_swigobj->GetX()) +static PyObject *_wrap_wxSize_GetX(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxSize_GetWidth",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxSize_GetX",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetWidth. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetX. Expected _wxSize_p."); return NULL; } } - _result = (long )wxSize_GetWidth(_arg0); + _result = (long )wxSize_GetX(_arg0); _resultobj = Py_BuildValue("l",_result); return _resultobj; } -#define wxSize_GetHeight(_swigobj) (_swigobj->GetY()) -static PyObject *_wrap_wxSize_GetHeight(PyObject *self, PyObject *args) { +#define wxSize_GetY(_swigobj) (_swigobj->GetY()) +static PyObject *_wrap_wxSize_GetY(PyObject *self, PyObject *args) { PyObject * _resultobj; long _result; wxSize * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxSize_GetHeight",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxSize_GetY",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetHeight. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_GetY. Expected _wxSize_p."); return NULL; } } - _result = (long )wxSize_GetHeight(_arg0); + _result = (long )wxSize_GetY(_arg0); _resultobj = Py_BuildValue("l",_result); return _resultobj; } -static PyObject * wxSize___str__(wxSize *self) { +static PyObject * wxSize_asTuple(wxSize *self) { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } -static PyObject *_wrap_wxSize___str__(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxSize_asTuple(PyObject *self, PyObject *args) { PyObject * _resultobj; PyObject * _result; wxSize * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxSize___str__",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxSize_asTuple",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxSize_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize___str__. Expected _wxSize_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSize_asTuple. Expected _wxSize_p."); return NULL; } } - _result = (PyObject *)wxSize___str__(_arg0); + _result = (PyObject *)wxSize_asTuple(_arg0); { _resultobj = _result; } @@ -1497,28 +1534,28 @@ static PyObject *_wrap_wxPoint_Set(PyObject *self, PyObject *args) { return _resultobj; } -static PyObject * wxPoint___str__(wxPoint *self) { +static PyObject * wxPoint_asTuple(wxPoint *self) { PyObject* tup = PyTuple_New(2); PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); return tup; } -static PyObject *_wrap_wxPoint___str__(PyObject *self, PyObject *args) { +static PyObject *_wrap_wxPoint_asTuple(PyObject *self, PyObject *args) { PyObject * _resultobj; PyObject * _result; wxPoint * _arg0; char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"s:wxPoint___str__",&_argc0)) + if(!PyArg_ParseTuple(args,"s:wxPoint_asTuple",&_argc0)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxPoint_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint___str__. Expected _wxPoint_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPoint_asTuple. Expected _wxPoint_p."); return NULL; } } - _result = (PyObject *)wxPoint___str__(_arg0); + _result = (PyObject *)wxPoint_asTuple(_arg0); { _resultobj = _result; } @@ -2039,6 +2076,36 @@ static PyObject *_wrap_wxRect_height_get(PyObject *self, PyObject *args) { return _resultobj; } +static PyObject * wxRect_asTuple(wxRect *self) { + PyObject* tup = PyTuple_New(4); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->x)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->y)); + PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(self->width)); + PyTuple_SET_ITEM(tup, 1, PyInt_FromLong(self->height)); + return tup; + } +static PyObject *_wrap_wxRect_asTuple(PyObject *self, PyObject *args) { + PyObject * _resultobj; + PyObject * _result; + wxRect * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxRect_asTuple",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxRect_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRect_asTuple. Expected _wxRect_p."); + return NULL; + } + } + _result = (PyObject *)wxRect_asTuple(_arg0); +{ + _resultobj = _result; +} + return _resultobj; +} + #define new_wxPyTimer(_swigarg0) (new wxPyTimer(_swigarg0)) static PyObject *_wrap_new_wxPyTimer(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -3315,7 +3382,152 @@ static PyObject *_wrap_new_wxAcceleratorTable(PyObject *self, PyObject *args) { return _resultobj; } +#define new_wxToolTip(_swigarg0) (new wxToolTip(_swigarg0)) +static PyObject *_wrap_new_wxToolTip(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxToolTip * _result; + wxString * _arg0; + PyObject * _obj0 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"O:new_wxToolTip",&_obj0)) + return NULL; +{ + if (!PyString_Check(_obj0)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg0 = new wxString(PyString_AsString(_obj0)); +} + _result = (wxToolTip *)new_wxToolTip(*_arg0); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxToolTip_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + +#define wxToolTip_SetTip(_swigobj,_swigarg0) (_swigobj->SetTip(_swigarg0)) +static PyObject *_wrap_wxToolTip_SetTip(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxToolTip * _arg0; + wxString * _arg1; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sO:wxToolTip_SetTip",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_SetTip. Expected _wxToolTip_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + wxToolTip_SetTip(_arg0,*_arg1); + Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxToolTip_GetTip(_swigobj) (_swigobj->GetTip()) +static PyObject *_wrap_wxToolTip_GetTip(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxString * _result; + wxToolTip * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxToolTip_GetTip",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_GetTip. Expected _wxToolTip_p."); + return NULL; + } + } + _result = new wxString (wxToolTip_GetTip(_arg0)); +{ + _resultobj = PyString_FromString(WXSTRINGCAST *(_result)); +} +{ + delete _result; +} + return _resultobj; +} + +#define wxToolTip_SetWindow(_swigobj,_swigarg0) (_swigobj->SetWindow(_swigarg0)) +static PyObject *_wrap_wxToolTip_SetWindow(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxToolTip * _arg0; + wxWindow * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxToolTip_SetWindow",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_SetWindow. Expected _wxToolTip_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxToolTip_SetWindow. Expected _wxWindow_p."); + return NULL; + } + } + wxToolTip_SetWindow(_arg0,_arg1); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxToolTip_GetWindow(_swigobj) (_swigobj->GetWindow()) +static PyObject *_wrap_wxToolTip_GetWindow(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _result; + wxToolTip * _arg0; + char * _argc0 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxToolTip_GetWindow",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolTip_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolTip_GetWindow. Expected _wxToolTip_p."); + return NULL; + } + } + _result = (wxWindow *)wxToolTip_GetWindow(_arg0); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + static PyMethodDef misccMethods[] = { + { "wxToolTip_GetWindow", _wrap_wxToolTip_GetWindow, 1 }, + { "wxToolTip_SetWindow", _wrap_wxToolTip_SetWindow, 1 }, + { "wxToolTip_GetTip", _wrap_wxToolTip_GetTip, 1 }, + { "wxToolTip_SetTip", _wrap_wxToolTip_SetTip, 1 }, + { "new_wxToolTip", _wrap_new_wxToolTip, 1 }, { "new_wxAcceleratorTable", _wrap_new_wxAcceleratorTable, 1 }, { "wxAcceleratorEntry_GetCommand", _wrap_wxAcceleratorEntry_GetCommand, 1 }, { "wxAcceleratorEntry_GetKeyCode", _wrap_wxAcceleratorEntry_GetKeyCode, 1 }, @@ -3370,6 +3582,7 @@ static PyMethodDef misccMethods[] = { { "wxPyTimer_Interval", _wrap_wxPyTimer_Interval, 1 }, { "delete_wxPyTimer", _wrap_delete_wxPyTimer, 1 }, { "new_wxPyTimer", _wrap_new_wxPyTimer, 1 }, + { "wxRect_asTuple", _wrap_wxRect_asTuple, 1 }, { "wxRect_height_get", _wrap_wxRect_height_get, 1 }, { "wxRect_height_set", _wrap_wxRect_height_set, 1 }, { "wxRect_width_get", _wrap_wxRect_width_get, 1 }, @@ -3394,7 +3607,7 @@ static PyMethodDef misccMethods[] = { { "wxRect_GetX", _wrap_wxRect_GetX, 1 }, { "delete_wxRect", _wrap_delete_wxRect, 1 }, { "new_wxRect", _wrap_new_wxRect, 1 }, - { "wxPoint___str__", _wrap_wxPoint___str__, 1 }, + { "wxPoint_asTuple", _wrap_wxPoint_asTuple, 1 }, { "wxPoint_Set", _wrap_wxPoint_Set, 1 }, { "delete_wxPoint", _wrap_delete_wxPoint, 1 }, { "new_wxPoint", _wrap_new_wxPoint, 1 }, @@ -3408,16 +3621,24 @@ static PyMethodDef misccMethods[] = { { "wxRealPoint_y_set", _wrap_wxRealPoint_y_set, 1 }, { "wxRealPoint_x_get", _wrap_wxRealPoint_x_get, 1 }, { "wxRealPoint_x_set", _wrap_wxRealPoint_x_set, 1 }, - { "wxSize___str__", _wrap_wxSize___str__, 1 }, - { "wxSize_GetHeight", _wrap_wxSize_GetHeight, 1 }, - { "wxSize_GetWidth", _wrap_wxSize_GetWidth, 1 }, + { "wxSize_asTuple", _wrap_wxSize_asTuple, 1 }, + { "wxSize_GetHeight", _wrap_wxSize_GetY, 1 }, + { "wxSize_GetWidth", _wrap_wxSize_GetX, 1 }, + { "wxSize_GetY", _wrap_wxSize_GetY, 1 }, + { "wxSize_GetX", _wrap_wxSize_GetX, 1 }, { "wxSize_Set", _wrap_wxSize_Set, 1 }, { "delete_wxSize", _wrap_delete_wxSize, 1 }, { "new_wxSize", _wrap_new_wxSize, 1 }, - { "wxSize_height_get", _wrap_wxSize_height_get, 1 }, - { "wxSize_height_set", _wrap_wxSize_height_set, 1 }, - { "wxSize_width_get", _wrap_wxSize_width_get, 1 }, - { "wxSize_width_set", _wrap_wxSize_width_set, 1 }, + { "wxSize_height_get", _wrap_wxSize_y_get, 1 }, + { "wxSize_height_set", _wrap_wxSize_y_set, 1 }, + { "wxSize_width_get", _wrap_wxSize_x_get, 1 }, + { "wxSize_width_set", _wrap_wxSize_x_set, 1 }, + { "wxSize_y_get", _wrap_wxSize_y_get, 1 }, + { "wxSize_y_set", _wrap_wxSize_y_set, 1 }, + { "wxSize_x_get", _wrap_wxSize_x_get, 1 }, + { "wxSize_x_set", _wrap_wxSize_x_set, 1 }, + { "wxToolTip_SetDelay", _wrap_wxToolTip_SetDelay, 1 }, + { "wxToolTip_Enable", _wrap_wxToolTip_Enable, 1 }, { "wxResourceParseString", _wrap_wxResourceParseString, 1 }, { "wxResourceParseFile", _wrap_wxResourceParseFile, 1 }, { "wxResourceParseData", _wrap_wxResourceParseData, 1 }, @@ -3496,11 +3717,13 @@ SWIGEXPORT(void,initmiscc)() { SWIG_RegisterMapping("_signed_long","_long",0); SWIG_RegisterMapping("_class_wxRegionIterator","_wxRegionIterator",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_byte","_unsigned_char",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_uint","_unsigned_int",0); SWIG_RegisterMapping("_uint","_int",0); SWIG_RegisterMapping("_uint","_wxWindowID",0); diff --git a/utils/wxPython/src/msw/misc.py b/utils/wxPython/src/msw/misc.py index a83367ea2b..9ad2a160ca 100644 --- a/utils/wxPython/src/msw/misc.py +++ b/utils/wxPython/src/msw/misc.py @@ -10,16 +10,28 @@ class wxSizePtr : def Set(self,arg0,arg1): val = miscc.wxSize_Set(self.this,arg0,arg1) return val + def GetX(self): + val = miscc.wxSize_GetX(self.this) + return val + def GetY(self): + val = miscc.wxSize_GetY(self.this) + return val def GetWidth(self): val = miscc.wxSize_GetWidth(self.this) return val def GetHeight(self): val = miscc.wxSize_GetHeight(self.this) return val - def __str__(self): - val = miscc.wxSize___str__(self.this) + def asTuple(self): + val = miscc.wxSize_asTuple(self.this) return val def __setattr__(self,name,value): + if name == "x" : + miscc.wxSize_x_set(self.this,value) + return + if name == "y" : + miscc.wxSize_y_set(self.this,value) + return if name == "width" : miscc.wxSize_width_set(self.this,value) return @@ -28,6 +40,10 @@ class wxSizePtr : return self.__dict__[name] = value def __getattr__(self,name): + if name == "x" : + return miscc.wxSize_x_get(self.this) + if name == "y" : + return miscc.wxSize_y_get(self.this) if name == "width" : return miscc.wxSize_width_get(self.this) if name == "height" : @@ -35,6 +51,8 @@ class wxSizePtr : raise AttributeError,name def __repr__(self): return "" + def __str__(self): return str(self.asTuple()) + def __repr__(self): return str(self.asTuple()) class wxSize(wxSizePtr): def __init__(self,*args) : self.this = apply(miscc.new_wxSize,()+args) @@ -84,8 +102,8 @@ class wxPointPtr : def Set(self,arg0,arg1): val = miscc.wxPoint_Set(self.this,arg0,arg1) return val - def __str__(self): - val = miscc.wxPoint___str__(self.this) + def asTuple(self): + val = miscc.wxPoint_asTuple(self.this) return val def __setattr__(self,name,value): if name == "x" : @@ -103,6 +121,8 @@ class wxPointPtr : raise AttributeError,name def __repr__(self): return "" + def __str__(self): return str(self.asTuple()) + def __repr__(self): return str(self.asTuple()) class wxPoint(wxPointPtr): def __init__(self,*args) : self.this = apply(miscc.new_wxPoint,()+args) @@ -164,6 +184,9 @@ class wxRectPtr : def GetRight(self): val = miscc.wxRect_GetRight(self.this) return val + def asTuple(self): + val = miscc.wxRect_asTuple(self.this) + return val def __setattr__(self,name,value): if name == "x" : miscc.wxRect_x_set(self.this,value) @@ -190,6 +213,8 @@ class wxRectPtr : raise AttributeError,name def __repr__(self): return "" + def __str__(self): return str(self.asTuple()) + def __repr__(self): return str(self.asTuple()) class wxRect(wxRectPtr): def __init__(self,*args) : self.this = apply(miscc.new_wxRect,()+args) @@ -463,6 +488,33 @@ class wxAcceleratorTable(wxAcceleratorTablePtr): +class wxToolTipPtr : + def __init__(self,this): + self.this = this + self.thisown = 0 + def SetTip(self,arg0): + val = miscc.wxToolTip_SetTip(self.this,arg0) + return val + def GetTip(self): + val = miscc.wxToolTip_GetTip(self.this) + return val + def SetWindow(self,arg0): + val = miscc.wxToolTip_SetWindow(self.this,arg0.this) + return val + def GetWindow(self): + val = miscc.wxToolTip_GetWindow(self.this) + val = wxWindowPtr(val) + return val + def __repr__(self): + return "" +class wxToolTip(wxToolTipPtr): + def __init__(self,arg0) : + self.this = miscc.new_wxToolTip(arg0) + self.thisown = 1 + + + + #-------------- FUNCTION WRAPPERS ------------------ @@ -607,6 +659,10 @@ wxResourceParseFile = miscc.wxResourceParseFile wxResourceParseString = miscc.wxResourceParseString +wxToolTip_Enable = miscc.wxToolTip_Enable + +wxToolTip_SetDelay = miscc.wxToolTip_SetDelay + #-------------- VARIABLE WRAPPERS ------------------ diff --git a/utils/wxPython/src/msw/stattool.cpp b/utils/wxPython/src/msw/stattool.cpp index c2ad2e2fc0..f9703b4661 100644 --- a/utils/wxPython/src/msw/stattool.cpp +++ b/utils/wxPython/src/msw/stattool.cpp @@ -525,6 +525,28 @@ static PyObject *_wrap_wxToolBarTool_GetHeight(PyObject *self, PyObject *args) { return _resultobj; } +#define wxToolBarTool_m_toolStyle_set(_swigobj,_swigval) (_swigobj->m_toolStyle = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_toolStyle_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxToolBarTool * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_toolStyle_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_toolStyle_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (int )wxToolBarTool_m_toolStyle_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_toolStyle_get(_swigobj) ((int ) _swigobj->m_toolStyle) static PyObject *_wrap_wxToolBarTool_m_toolStyle_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -546,6 +568,37 @@ static PyObject *_wrap_wxToolBarTool_m_toolStyle_get(PyObject *self, PyObject *a return _resultobj; } +#define wxToolBarTool_m_clientData_set(_swigobj,_swigval) (_swigobj->m_clientData = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_clientData_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxObject * _result; + wxToolBarTool * _arg0; + wxObject * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxToolBarTool_m_clientData_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_clientData_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxObject_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxToolBarTool_m_clientData_set. Expected _wxObject_p."); + return NULL; + } + } + _result = (wxObject *)wxToolBarTool_m_clientData_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxObject_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxToolBarTool_m_clientData_get(_swigobj) ((wxObject *) _swigobj->m_clientData) static PyObject *_wrap_wxToolBarTool_m_clientData_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -569,6 +622,28 @@ static PyObject *_wrap_wxToolBarTool_m_clientData_get(PyObject *self, PyObject * return _resultobj; } +#define wxToolBarTool_m_index_set(_swigobj,_swigval) (_swigobj->m_index = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_index_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxToolBarTool * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_index_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_index_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (int )wxToolBarTool_m_index_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_index_get(_swigobj) ((int ) _swigobj->m_index) static PyObject *_wrap_wxToolBarTool_m_index_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -590,6 +665,28 @@ static PyObject *_wrap_wxToolBarTool_m_index_get(PyObject *self, PyObject *args) return _resultobj; } +#define wxToolBarTool_m_x_set(_swigobj,_swigval) (_swigobj->m_x = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_x_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxToolBarTool * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxToolBarTool_m_x_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_x_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (long )wxToolBarTool_m_x_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxToolBarTool_m_x_get(_swigobj) ((long ) _swigobj->m_x) static PyObject *_wrap_wxToolBarTool_m_x_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -611,6 +708,28 @@ static PyObject *_wrap_wxToolBarTool_m_x_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxToolBarTool_m_y_set(_swigobj,_swigval) (_swigobj->m_y = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_y_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxToolBarTool * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxToolBarTool_m_y_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_y_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (long )wxToolBarTool_m_y_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxToolBarTool_m_y_get(_swigobj) ((long ) _swigobj->m_y) static PyObject *_wrap_wxToolBarTool_m_y_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -632,6 +751,28 @@ static PyObject *_wrap_wxToolBarTool_m_y_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxToolBarTool_m_width_set(_swigobj,_swigval) (_swigobj->m_width = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_width_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxToolBarTool * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxToolBarTool_m_width_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_width_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (long )wxToolBarTool_m_width_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxToolBarTool_m_width_get(_swigobj) ((long ) _swigobj->m_width) static PyObject *_wrap_wxToolBarTool_m_width_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -653,6 +794,28 @@ static PyObject *_wrap_wxToolBarTool_m_width_get(PyObject *self, PyObject *args) return _resultobj; } +#define wxToolBarTool_m_height_set(_swigobj,_swigval) (_swigobj->m_height = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_height_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + long _result; + wxToolBarTool * _arg0; + long _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sl:wxToolBarTool_m_height_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_height_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _result = (long )wxToolBarTool_m_height_set(_arg0,_arg1); + _resultobj = Py_BuildValue("l",_result); + return _resultobj; +} + #define wxToolBarTool_m_height_get(_swigobj) ((long ) _swigobj->m_height) static PyObject *_wrap_wxToolBarTool_m_height_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -674,6 +837,30 @@ static PyObject *_wrap_wxToolBarTool_m_height_get(PyObject *self, PyObject *args return _resultobj; } +#define wxToolBarTool_m_toggleState_set(_swigobj,_swigval) (_swigobj->m_toggleState = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_toggleState_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxToolBarTool * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_toggleState_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_toggleState_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxToolBarTool_m_toggleState_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_toggleState_get(_swigobj) ((bool ) _swigobj->m_toggleState) static PyObject *_wrap_wxToolBarTool_m_toggleState_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -695,6 +882,30 @@ static PyObject *_wrap_wxToolBarTool_m_toggleState_get(PyObject *self, PyObject return _resultobj; } +#define wxToolBarTool_m_isToggle_set(_swigobj,_swigval) (_swigobj->m_isToggle = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_isToggle_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxToolBarTool * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_isToggle_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_isToggle_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxToolBarTool_m_isToggle_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_isToggle_get(_swigobj) ((bool ) _swigobj->m_isToggle) static PyObject *_wrap_wxToolBarTool_m_isToggle_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -716,6 +927,30 @@ static PyObject *_wrap_wxToolBarTool_m_isToggle_get(PyObject *self, PyObject *ar return _resultobj; } +#define wxToolBarTool_m_deleteSecondBitmap_set(_swigobj,_swigval) (_swigobj->m_deleteSecondBitmap = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_deleteSecondBitmap_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxToolBarTool * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_deleteSecondBitmap_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_deleteSecondBitmap_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxToolBarTool_m_deleteSecondBitmap_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_deleteSecondBitmap_get(_swigobj) ((bool ) _swigobj->m_deleteSecondBitmap) static PyObject *_wrap_wxToolBarTool_m_deleteSecondBitmap_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -737,6 +972,30 @@ static PyObject *_wrap_wxToolBarTool_m_deleteSecondBitmap_get(PyObject *self, Py return _resultobj; } +#define wxToolBarTool_m_enabled_set(_swigobj,_swigval) (_swigobj->m_enabled = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_enabled_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxToolBarTool * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_enabled_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_enabled_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxToolBarTool_m_enabled_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_enabled_get(_swigobj) ((bool ) _swigobj->m_enabled) static PyObject *_wrap_wxToolBarTool_m_enabled_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -758,6 +1017,37 @@ static PyObject *_wrap_wxToolBarTool_m_enabled_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxToolBarTool_m_bitmap1_set(_swigobj,_swigval) (_swigobj->m_bitmap1 = *(_swigval),_swigval) +static PyObject *_wrap_wxToolBarTool_m_bitmap1_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxBitmap * _result; + wxToolBarTool * _arg0; + wxBitmap * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxToolBarTool_m_bitmap1_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_bitmap1_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxToolBarTool_m_bitmap1_set. Expected _wxBitmap_p."); + return NULL; + } + } + _result = (wxBitmap *)wxToolBarTool_m_bitmap1_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxToolBarTool_m_bitmap1_get(_swigobj) (&_swigobj->m_bitmap1) static PyObject *_wrap_wxToolBarTool_m_bitmap1_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -781,6 +1071,37 @@ static PyObject *_wrap_wxToolBarTool_m_bitmap1_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxToolBarTool_m_bitmap2_set(_swigobj,_swigval) (_swigobj->m_bitmap2 = *(_swigval),_swigval) +static PyObject *_wrap_wxToolBarTool_m_bitmap2_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxBitmap * _result; + wxToolBarTool * _arg0; + wxBitmap * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxToolBarTool_m_bitmap2_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_bitmap2_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxToolBarTool_m_bitmap2_set. Expected _wxBitmap_p."); + return NULL; + } + } + _result = (wxBitmap *)wxToolBarTool_m_bitmap2_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxBitmap_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxToolBarTool_m_bitmap2_get(_swigobj) (&_swigobj->m_bitmap2) static PyObject *_wrap_wxToolBarTool_m_bitmap2_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -804,6 +1125,30 @@ static PyObject *_wrap_wxToolBarTool_m_bitmap2_get(PyObject *self, PyObject *arg return _resultobj; } +#define wxToolBarTool_m_isMenuCommand_set(_swigobj,_swigval) (_swigobj->m_isMenuCommand = _swigval,_swigval) +static PyObject *_wrap_wxToolBarTool_m_isMenuCommand_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxToolBarTool * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxToolBarTool_m_isMenuCommand_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_isMenuCommand_set. Expected _wxToolBarTool_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxToolBarTool_m_isMenuCommand_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxToolBarTool_m_isMenuCommand_get(_swigobj) ((bool ) _swigobj->m_isMenuCommand) static PyObject *_wrap_wxToolBarTool_m_isMenuCommand_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -825,6 +1170,42 @@ static PyObject *_wrap_wxToolBarTool_m_isMenuCommand_get(PyObject *self, PyObjec return _resultobj; } +#define wxToolBarTool_m_shortHelpString_set(_swigobj,_swigval) (_swigobj->m_shortHelpString = *(_swigval),_swigval) +static PyObject *_wrap_wxToolBarTool_m_shortHelpString_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxString * _result; + wxToolBarTool * _arg0; + wxString * _arg1; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sO:wxToolBarTool_m_shortHelpString_set",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_shortHelpString_set. Expected _wxToolBarTool_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + _result = (wxString *)wxToolBarTool_m_shortHelpString_set(_arg0,_arg1); +{ + _resultobj = PyString_FromString(WXSTRINGCAST (*_result)); +} +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxToolBarTool_m_shortHelpString_get(_swigobj) (&_swigobj->m_shortHelpString) static PyObject *_wrap_wxToolBarTool_m_shortHelpString_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -848,6 +1229,42 @@ static PyObject *_wrap_wxToolBarTool_m_shortHelpString_get(PyObject *self, PyObj return _resultobj; } +#define wxToolBarTool_m_longHelpString_set(_swigobj,_swigval) (_swigobj->m_longHelpString = *(_swigval),_swigval) +static PyObject *_wrap_wxToolBarTool_m_longHelpString_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxString * _result; + wxToolBarTool * _arg0; + wxString * _arg1; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sO:wxToolBarTool_m_longHelpString_set",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxToolBarTool_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxToolBarTool_m_longHelpString_set. Expected _wxToolBarTool_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + _result = (wxString *)wxToolBarTool_m_longHelpString_set(_arg0,_arg1); +{ + _resultobj = PyString_FromString(WXSTRINGCAST (*_result)); +} +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxToolBarTool_m_longHelpString_get(_swigobj) (&_swigobj->m_longHelpString) static PyObject *_wrap_wxToolBarTool_m_longHelpString_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -1599,21 +2016,37 @@ static PyMethodDef stattoolcMethods[] = { { "wxToolBar_AddSeparator", _wrap_wxToolBar_AddSeparator, 1 }, { "new_wxToolBar", _wrap_new_wxToolBar, 1 }, { "wxToolBarTool_m_longHelpString_get", _wrap_wxToolBarTool_m_longHelpString_get, 1 }, + { "wxToolBarTool_m_longHelpString_set", _wrap_wxToolBarTool_m_longHelpString_set, 1 }, { "wxToolBarTool_m_shortHelpString_get", _wrap_wxToolBarTool_m_shortHelpString_get, 1 }, + { "wxToolBarTool_m_shortHelpString_set", _wrap_wxToolBarTool_m_shortHelpString_set, 1 }, { "wxToolBarTool_m_isMenuCommand_get", _wrap_wxToolBarTool_m_isMenuCommand_get, 1 }, + { "wxToolBarTool_m_isMenuCommand_set", _wrap_wxToolBarTool_m_isMenuCommand_set, 1 }, { "wxToolBarTool_m_bitmap2_get", _wrap_wxToolBarTool_m_bitmap2_get, 1 }, + { "wxToolBarTool_m_bitmap2_set", _wrap_wxToolBarTool_m_bitmap2_set, 1 }, { "wxToolBarTool_m_bitmap1_get", _wrap_wxToolBarTool_m_bitmap1_get, 1 }, + { "wxToolBarTool_m_bitmap1_set", _wrap_wxToolBarTool_m_bitmap1_set, 1 }, { "wxToolBarTool_m_enabled_get", _wrap_wxToolBarTool_m_enabled_get, 1 }, + { "wxToolBarTool_m_enabled_set", _wrap_wxToolBarTool_m_enabled_set, 1 }, { "wxToolBarTool_m_deleteSecondBitmap_get", _wrap_wxToolBarTool_m_deleteSecondBitmap_get, 1 }, + { "wxToolBarTool_m_deleteSecondBitmap_set", _wrap_wxToolBarTool_m_deleteSecondBitmap_set, 1 }, { "wxToolBarTool_m_isToggle_get", _wrap_wxToolBarTool_m_isToggle_get, 1 }, + { "wxToolBarTool_m_isToggle_set", _wrap_wxToolBarTool_m_isToggle_set, 1 }, { "wxToolBarTool_m_toggleState_get", _wrap_wxToolBarTool_m_toggleState_get, 1 }, + { "wxToolBarTool_m_toggleState_set", _wrap_wxToolBarTool_m_toggleState_set, 1 }, { "wxToolBarTool_m_height_get", _wrap_wxToolBarTool_m_height_get, 1 }, + { "wxToolBarTool_m_height_set", _wrap_wxToolBarTool_m_height_set, 1 }, { "wxToolBarTool_m_width_get", _wrap_wxToolBarTool_m_width_get, 1 }, + { "wxToolBarTool_m_width_set", _wrap_wxToolBarTool_m_width_set, 1 }, { "wxToolBarTool_m_y_get", _wrap_wxToolBarTool_m_y_get, 1 }, + { "wxToolBarTool_m_y_set", _wrap_wxToolBarTool_m_y_set, 1 }, { "wxToolBarTool_m_x_get", _wrap_wxToolBarTool_m_x_get, 1 }, + { "wxToolBarTool_m_x_set", _wrap_wxToolBarTool_m_x_set, 1 }, { "wxToolBarTool_m_index_get", _wrap_wxToolBarTool_m_index_get, 1 }, + { "wxToolBarTool_m_index_set", _wrap_wxToolBarTool_m_index_set, 1 }, { "wxToolBarTool_m_clientData_get", _wrap_wxToolBarTool_m_clientData_get, 1 }, + { "wxToolBarTool_m_clientData_set", _wrap_wxToolBarTool_m_clientData_set, 1 }, { "wxToolBarTool_m_toolStyle_get", _wrap_wxToolBarTool_m_toolStyle_get, 1 }, + { "wxToolBarTool_m_toolStyle_set", _wrap_wxToolBarTool_m_toolStyle_set, 1 }, { "wxToolBarTool_GetHeight", _wrap_wxToolBarTool_GetHeight, 1 }, { "wxToolBarTool_GetWidth", _wrap_wxToolBarTool_GetWidth, 1 }, { "wxToolBarTool_SetSize", _wrap_wxToolBarTool_SetSize, 1 }, @@ -1659,6 +2092,7 @@ SWIGEXPORT(void,initstattoolc)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -1670,6 +2104,7 @@ SWIGEXPORT(void,initstattoolc)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -1686,6 +2121,7 @@ SWIGEXPORT(void,initstattoolc)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); @@ -1802,6 +2238,7 @@ SWIGEXPORT(void,initstattoolc)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); diff --git a/utils/wxPython/src/msw/utils.cpp b/utils/wxPython/src/msw/utils.cpp index 2b43e0fe77..f85b8a7d5f 100644 --- a/utils/wxPython/src/msw/utils.cpp +++ b/utils/wxPython/src/msw/utils.cpp @@ -238,6 +238,27 @@ static PyObject *_wrap_wxConfig_DontCreateOnDemand(PyObject *self, PyObject *arg return _resultobj; } +#define wxConfig_DeleteAll(_swigobj) (_swigobj->DeleteAll()) +static PyObject *_wrap_wxConfig_DeleteAll(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxConfig * _arg0; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxConfig_DeleteAll",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxConfig_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxConfig_DeleteAll. Expected _wxConfig_p."); + return NULL; + } + } + _result = (bool )wxConfig_DeleteAll(_arg0); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxConfig_DeleteEntry(_swigobj,_swigarg0,_swigarg1) (_swigobj->DeleteEntry(_swigarg0,_swigarg1)) static PyObject *_wrap_wxConfig_DeleteEntry(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -1142,6 +1163,7 @@ static PyMethodDef utilscMethods[] = { { "wxConfig_Exists", _wrap_wxConfig_Exists, 1 }, { "wxConfig_DeleteGroup", _wrap_wxConfig_DeleteGroup, 1 }, { "wxConfig_DeleteEntry", _wrap_wxConfig_DeleteEntry, 1 }, + { "wxConfig_DeleteAll", _wrap_wxConfig_DeleteAll, 1 }, { "wxConfig_DontCreateOnDemand", _wrap_wxConfig_DontCreateOnDemand, 1 }, { "delete_wxConfig", _wrap_delete_wxConfig, 1 }, { "new_wxConfig", _wrap_new_wxConfig, 1 }, diff --git a/utils/wxPython/src/msw/utils.py b/utils/wxPython/src/msw/utils.py index 3128077d1a..c37f637d95 100644 --- a/utils/wxPython/src/msw/utils.py +++ b/utils/wxPython/src/msw/utils.py @@ -10,6 +10,9 @@ class wxConfigPtr : def DontCreateOnDemand(self): val = utilsc.wxConfig_DontCreateOnDemand(self.this) return val + def DeleteAll(self): + val = utilsc.wxConfig_DeleteAll(self.this) + return val def DeleteEntry(self,arg0,*args): val = apply(utilsc.wxConfig_DeleteEntry,(self.this,arg0,)+args) return val diff --git a/utils/wxPython/src/msw/windows.cpp b/utils/wxPython/src/msw/windows.cpp index a1538c3e01..1a8fb00437 100644 --- a/utils/wxPython/src/msw/windows.cpp +++ b/utils/wxPython/src/msw/windows.cpp @@ -118,6 +118,13 @@ static char* wxStringErrorMsg = "string type is required for parameter"; wxWindow* wxWindow_FindFocus() { return wxWindow::FindFocus(); } + +wxWindow* wxWindow_FromHWND(unsigned long hWnd) { + wxWindow* win = new wxWindow; + win->SetHWND(hWnd); + win->SubclassWin(hWnd); + return win; +} static PyObject *_wrap_wxWindow_FindFocus(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _result; @@ -132,6 +139,21 @@ static PyObject *_wrap_wxWindow_FindFocus(PyObject *self, PyObject *args) { return _resultobj; } +static PyObject *_wrap_wxWindow_FromHWND(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _result; + unsigned long _arg0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"l:wxWindow_FromHWND",&_arg0)) + return NULL; + _result = (wxWindow *)wxWindow_FromHWND(_arg0); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + static void wxEvtHandler_Connect(wxEvtHandler *self,int id,int lastId,int eventType,PyObject * func) { if (PyCallable_Check(func)) { self->Connect(id, lastId, eventType, @@ -282,8 +304,8 @@ static PyObject *_wrap_wxWindow_Centre(PyObject *self, PyObject *args) { return _resultobj; } -#define wxWindow_ClientToScreen(_swigobj,_swigarg0,_swigarg1) (_swigobj->ClientToScreen(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxWindow_ClientToScreen(PyObject *self, PyObject *args) { +#define wxWindow_ClientToScreenXY(_swigobj,_swigarg0,_swigarg1) (_swigobj->ClientToScreen(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxWindow_ClientToScreenXY(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _arg0; int * _arg1; @@ -295,11 +317,11 @@ static PyObject *_wrap_wxWindow_ClientToScreen(PyObject *self, PyObject *args) { PyObject * _obj2 = 0; self = self; - if(!PyArg_ParseTuple(args,"sOO:wxWindow_ClientToScreen",&_argc0,&_obj1,&_obj2)) + if(!PyArg_ParseTuple(args,"sOO:wxWindow_ClientToScreenXY",&_argc0,&_obj1,&_obj2)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ClientToScreen. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ClientToScreenXY. Expected _wxWindow_p."); return NULL; } } @@ -311,7 +333,7 @@ static PyObject *_wrap_wxWindow_ClientToScreen(PyObject *self, PyObject *args) { temp0 = (int) PyInt_AsLong(_obj2); _arg2 = &temp0; } - wxWindow_ClientToScreen(_arg0,_arg1,_arg2); + wxWindow_ClientToScreenXY(_arg0,_arg1,_arg2); Py_INCREF(Py_None); _resultobj = Py_None; { @@ -327,6 +349,37 @@ static PyObject *_wrap_wxWindow_ClientToScreen(PyObject *self, PyObject *args) { return _resultobj; } +#define wxWindow_ClientToScreen(_swigobj,_swigarg0) (_swigobj->ClientToScreen(_swigarg0)) +static PyObject *_wrap_wxWindow_ClientToScreen(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxPoint * _result; + wxWindow * _arg0; + wxPoint * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxWindow_ClientToScreen",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ClientToScreen. Expected _wxWindow_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPoint_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_ClientToScreen. Expected _wxPoint_p."); + return NULL; + } + } + _result = new wxPoint (wxWindow_ClientToScreen(_arg0,*_arg1)); + SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxWindow_Close(_swigobj,_swigarg0) (_swigobj->Close(_swigarg0)) static PyObject *_wrap_wxWindow_Close(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -439,8 +492,8 @@ static PyObject *_wrap_wxWindow_Enable(PyObject *self, PyObject *args) { return _resultobj; } -#define wxWindow_FindWindowByID(_swigobj,_swigarg0) (_swigobj->FindWindow(_swigarg0)) -static PyObject *_wrap_wxWindow_FindWindowByID(PyObject *self, PyObject *args) { +#define wxWindow_FindWindowById(_swigobj,_swigarg0) (_swigobj->FindWindow(_swigarg0)) +static PyObject *_wrap_wxWindow_FindWindowById(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _result; wxWindow * _arg0; @@ -449,15 +502,15 @@ static PyObject *_wrap_wxWindow_FindWindowByID(PyObject *self, PyObject *args) { char _ptemp[128]; self = self; - if(!PyArg_ParseTuple(args,"sl:wxWindow_FindWindowByID",&_argc0,&_arg1)) + if(!PyArg_ParseTuple(args,"sl:wxWindow_FindWindowById",&_argc0,&_arg1)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_FindWindowByID. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_FindWindowById. Expected _wxWindow_p."); return NULL; } } - _result = (wxWindow *)wxWindow_FindWindowByID(_arg0,_arg1); + _result = (wxWindow *)wxWindow_FindWindowById(_arg0,_arg1); SWIG_MakePtr(_ptemp, (char *) _result,"_wxWindow_p"); _resultobj = Py_BuildValue("s",_ptemp); return _resultobj; @@ -1153,6 +1206,88 @@ static PyObject *_wrap_wxWindow_GetTextExtent(PyObject *self, PyObject *args) { return _resultobj; } +#define wxWindow_GetFullTextExtent(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (_swigobj->GetTextExtent(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_wxWindow_GetFullTextExtent(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _arg0; + wxString * _arg1; + int * _arg2; + int temp; + int * _arg3; + int temp0; + int * _arg4; + int temp1; + int * _arg5; + int temp2; + wxFont * _arg6 = NULL; + char * _argc0 = 0; + PyObject * _obj1 = 0; + char * _argc6 = 0; + + self = self; +{ + _arg2 = &temp; +} +{ + _arg3 = &temp0; +} +{ + _arg4 = &temp1; +} +{ + _arg5 = &temp2; +} + if(!PyArg_ParseTuple(args,"sO|s:wxWindow_GetFullTextExtent",&_argc0,&_obj1,&_argc6)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_GetFullTextExtent. Expected _wxWindow_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + if (_argc6) { + if (SWIG_GetPtr(_argc6,(void **) &_arg6,"_wxFont_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxWindow_GetFullTextExtent. Expected _wxFont_p."); + return NULL; + } + } + wxWindow_GetFullTextExtent(_arg0,*_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); + Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg3)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg4)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg5)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxWindow_GetTitle(_swigobj) (_swigobj->GetTitle()) static PyObject *_wrap_wxWindow_GetTitle(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -1400,8 +1535,8 @@ static PyObject *_wrap_wxWindow_MakeModal(PyObject *self, PyObject *args) { return _resultobj; } -#define wxWindow_Move(_swigobj,_swigarg0,_swigarg1) (_swigobj->Move(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxWindow_Move(PyObject *self, PyObject *args) { +#define wxWindow_MoveXY(_swigobj,_swigarg0,_swigarg1) (_swigobj->Move(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxWindow_MoveXY(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _arg0; int _arg1; @@ -1409,7 +1544,30 @@ static PyObject *_wrap_wxWindow_Move(PyObject *self, PyObject *args) { char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"sii:wxWindow_Move",&_argc0,&_arg1,&_arg2)) + if(!PyArg_ParseTuple(args,"sii:wxWindow_MoveXY",&_argc0,&_arg1,&_arg2)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_MoveXY. Expected _wxWindow_p."); + return NULL; + } + } + wxWindow_MoveXY(_arg0,_arg1,_arg2); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxWindow_Move(_swigobj,_swigarg0) (_swigobj->Move(_swigarg0)) +static PyObject *_wrap_wxWindow_Move(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _arg0; + wxPoint * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxWindow_Move",&_argc0,&_argc1)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { @@ -1417,7 +1575,13 @@ static PyObject *_wrap_wxWindow_Move(PyObject *self, PyObject *args) { return NULL; } } - wxWindow_Move(_arg0,_arg1,_arg2); + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPoint_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_Move. Expected _wxPoint_p."); + return NULL; + } + } + wxWindow_Move(_arg0,*_arg1); Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj; @@ -1528,8 +1692,8 @@ static PyObject *_wrap_wxWindow_ReleaseMouse(PyObject *self, PyObject *args) { return _resultobj; } -#define wxWindow_ScreenToClient(_swigobj,_swigarg0,_swigarg1) (_swigobj->ScreenToClient(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxWindow_ScreenToClient(PyObject *self, PyObject *args) { +#define wxWindow_ScreenToClientXY(_swigobj,_swigarg0,_swigarg1) (_swigobj->ScreenToClient(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxWindow_ScreenToClientXY(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _arg0; int * _arg1; @@ -1541,11 +1705,11 @@ static PyObject *_wrap_wxWindow_ScreenToClient(PyObject *self, PyObject *args) { PyObject * _obj2 = 0; self = self; - if(!PyArg_ParseTuple(args,"sOO:wxWindow_ScreenToClient",&_argc0,&_obj1,&_obj2)) + if(!PyArg_ParseTuple(args,"sOO:wxWindow_ScreenToClientXY",&_argc0,&_obj1,&_obj2)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ScreenToClient. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ScreenToClientXY. Expected _wxWindow_p."); return NULL; } } @@ -1557,7 +1721,7 @@ static PyObject *_wrap_wxWindow_ScreenToClient(PyObject *self, PyObject *args) { temp0 = (int) PyInt_AsLong(_obj2); _arg2 = &temp0; } - wxWindow_ScreenToClient(_arg0,_arg1,_arg2); + wxWindow_ScreenToClientXY(_arg0,_arg1,_arg2); Py_INCREF(Py_None); _resultobj = Py_None; { @@ -1573,6 +1737,37 @@ static PyObject *_wrap_wxWindow_ScreenToClient(PyObject *self, PyObject *args) { return _resultobj; } +#define wxWindow_ScreenToClient(_swigobj,_swigarg0) (_swigobj->ScreenToClient(_swigarg0)) +static PyObject *_wrap_wxWindow_ScreenToClient(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxPoint * _result; + wxWindow * _arg0; + wxPoint * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxWindow_ScreenToClient",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_ScreenToClient. Expected _wxWindow_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxPoint_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_ScreenToClient. Expected _wxPoint_p."); + return NULL; + } + } + _result = new wxPoint (wxWindow_ScreenToClient(_arg0,*_arg1)); + SWIG_MakePtr(_ptemp, (void *) _result,"_wxPoint_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxWindow_ScrollWindow(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->ScrollWindow(_swigarg0,_swigarg1,_swigarg2)) static PyObject *_wrap_wxWindow_ScrollWindow(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2065,8 +2260,8 @@ static PyObject *_wrap_wxWindow_SetSizeHints(PyObject *self, PyObject *args) { return _resultobj; } -#define wxWindow_SetClientSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetClientSize(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxWindow_SetClientSize(PyObject *self, PyObject *args) { +#define wxWindow_SetClientSizeWH(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetClientSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxWindow_SetClientSizeWH(PyObject *self, PyObject *args) { PyObject * _resultobj; wxWindow * _arg0; int _arg1; @@ -2074,7 +2269,30 @@ static PyObject *_wrap_wxWindow_SetClientSize(PyObject *self, PyObject *args) { char * _argc0 = 0; self = self; - if(!PyArg_ParseTuple(args,"sii:wxWindow_SetClientSize",&_argc0,&_arg1,&_arg2)) + if(!PyArg_ParseTuple(args,"sii:wxWindow_SetClientSizeWH",&_argc0,&_arg1,&_arg2)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_SetClientSizeWH. Expected _wxWindow_p."); + return NULL; + } + } + wxWindow_SetClientSizeWH(_arg0,_arg1,_arg2); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxWindow_SetClientSize(_swigobj,_swigarg0) (_swigobj->SetClientSize(_swigarg0)) +static PyObject *_wrap_wxWindow_SetClientSize(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _arg0; + wxSize * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxWindow_SetClientSize",&_argc0,&_argc1)) return NULL; if (_argc0) { if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { @@ -2082,7 +2300,13 @@ static PyObject *_wrap_wxWindow_SetClientSize(PyObject *self, PyObject *args) { return NULL; } } - wxWindow_SetClientSize(_arg0,_arg1,_arg2); + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxSize_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_SetClientSize. Expected _wxSize_p."); + return NULL; + } + } + wxWindow_SetClientSize(_arg0,*_arg1); Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj; @@ -2385,6 +2609,92 @@ static PyObject *_wrap_wxWindow_ConvertPixelSizeToDialog(PyObject *self, PyObjec return _resultobj; } +#define wxWindow_SetToolTipString(_swigobj,_swigarg0) (_swigobj->SetToolTip(_swigarg0)) +static PyObject *_wrap_wxWindow_SetToolTipString(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _arg0; + wxString * _arg1; + char * _argc0 = 0; + PyObject * _obj1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"sO:wxWindow_SetToolTipString",&_argc0,&_obj1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_SetToolTipString. Expected _wxWindow_p."); + return NULL; + } + } +{ + if (!PyString_Check(_obj1)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg1 = new wxString(PyString_AsString(_obj1)); +} + wxWindow_SetToolTipString(_arg0,*_arg1); + Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxWindow_SetToolTip(_swigobj,_swigarg0) (_swigobj->SetToolTip(_swigarg0)) +static PyObject *_wrap_wxWindow_SetToolTip(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxWindow * _arg0; + wxToolTip * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxWindow_SetToolTip",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_SetToolTip. Expected _wxWindow_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxToolTip_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxWindow_SetToolTip. Expected _wxToolTip_p."); + return NULL; + } + } + wxWindow_SetToolTip(_arg0,_arg1); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxWindow_GetToolTip(_swigobj) (_swigobj->GetToolTip()) +static PyObject *_wrap_wxWindow_GetToolTip(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxToolTip * _result; + wxWindow * _arg0; + char * _argc0 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"s:wxWindow_GetToolTip",&_argc0)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_GetToolTip. Expected _wxWindow_p."); + return NULL; + } + } + _result = (wxToolTip *)wxWindow_GetToolTip(_arg0); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxToolTip_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + static void *SwigwxPanelTowxWindow(void *ptr) { wxPanel *src; wxWindow *dest; @@ -3234,6 +3544,35 @@ static PyObject *_wrap_wxMenu_AppendMenu(PyObject *self, PyObject *args) { return _resultobj; } +#define wxMenu_AppendItem(_swigobj,_swigarg0) (_swigobj->Append(_swigarg0)) +static PyObject *_wrap_wxMenu_AppendItem(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxMenu * _arg0; + wxMenuItem * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxMenu_AppendItem",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxMenu_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMenu_AppendItem. Expected _wxMenu_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxMenuItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMenu_AppendItem. Expected _wxMenuItem_p."); + return NULL; + } + } + wxMenu_AppendItem(_arg0,_arg1); + Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxMenu_AppendSeparator(_swigobj) (_swigobj->AppendSeparator()) static PyObject *_wrap_wxMenu_AppendSeparator(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -4530,6 +4869,7 @@ static PyMethodDef windowscMethods[] = { { "wxMenu_Check", _wrap_wxMenu_Check, 1 }, { "wxMenu_Break", _wrap_wxMenu_Break, 1 }, { "wxMenu_AppendSeparator", _wrap_wxMenu_AppendSeparator, 1 }, + { "wxMenu_AppendItem", _wrap_wxMenu_AppendItem, 1 }, { "wxMenu_AppendMenu", _wrap_wxMenu_AppendMenu, 1 }, { "wxMenu_Append", _wrap_wxMenu_Append, 1 }, { "new_wxMenu", _wrap_new_wxMenu, 1 }, @@ -4555,6 +4895,9 @@ static PyMethodDef windowscMethods[] = { { "new_wxDialog", _wrap_new_wxDialog, 1 }, { "wxPanel_InitDialog", _wrap_wxPanel_InitDialog, 1 }, { "new_wxPanel", _wrap_new_wxPanel, 1 }, + { "wxWindow_GetToolTip", _wrap_wxWindow_GetToolTip, 1 }, + { "wxWindow_SetToolTip", _wrap_wxWindow_SetToolTip, 1 }, + { "wxWindow_SetToolTipString", _wrap_wxWindow_SetToolTipString, 1 }, { "wxWindow_ConvertPixelSizeToDialog", _wrap_wxWindow_ConvertPixelSizeToDialog, 1 }, { "wxWindow_ConvertPixelPointToDialog", _wrap_wxWindow_ConvertPixelPointToDialog, 1 }, { "wxWindow_ConvertDialogSizeToPixels", _wrap_wxWindow_ConvertDialogSizeToPixels, 1 }, @@ -4567,6 +4910,7 @@ static PyMethodDef windowscMethods[] = { { "wxWindow_SetTitle", _wrap_wxWindow_SetTitle, 1 }, { "wxWindow_SetCursor", _wrap_wxWindow_SetCursor, 1 }, { "wxWindow_SetClientSize", _wrap_wxWindow_SetClientSize, 1 }, + { "wxWindow_SetClientSizeWH", _wrap_wxWindow_SetClientSizeWH, 1 }, { "wxWindow_SetSizeHints", _wrap_wxWindow_SetSizeHints, 1 }, { "wxWindow_SetPosition", _wrap_wxWindow_SetPosition, 1 }, { "wxWindow_SetSize", _wrap_wxWindow_SetSize, 1 }, @@ -4586,11 +4930,13 @@ static PyMethodDef windowscMethods[] = { { "wxWindow_SetAcceleratorTable", _wrap_wxWindow_SetAcceleratorTable, 1 }, { "wxWindow_ScrollWindow", _wrap_wxWindow_ScrollWindow, 1 }, { "wxWindow_ScreenToClient", _wrap_wxWindow_ScreenToClient, 1 }, + { "wxWindow_ScreenToClientXY", _wrap_wxWindow_ScreenToClientXY, 1 }, { "wxWindow_ReleaseMouse", _wrap_wxWindow_ReleaseMouse, 1 }, { "wxWindow_Refresh", _wrap_wxWindow_Refresh, 1 }, { "wxWindow_Raise", _wrap_wxWindow_Raise, 1 }, { "wxWindow_PopupMenu", _wrap_wxWindow_PopupMenu, 1 }, { "wxWindow_Move", _wrap_wxWindow_Move, 1 }, + { "wxWindow_MoveXY", _wrap_wxWindow_MoveXY, 1 }, { "wxWindow_MakeModal", _wrap_wxWindow_MakeModal, 1 }, { "wxWindow_Lower", _wrap_wxWindow_Lower, 1 }, { "wxWindow_LoadFromResource", _wrap_wxWindow_LoadFromResource, 1 }, @@ -4601,6 +4947,7 @@ static PyMethodDef windowscMethods[] = { { "wxWindow_InitDialog", _wrap_wxWindow_InitDialog, 1 }, { "wxWindow_GetWindowStyleFlag", _wrap_wxWindow_GetWindowStyleFlag, 1 }, { "wxWindow_GetTitle", _wrap_wxWindow_GetTitle, 1 }, + { "wxWindow_GetFullTextExtent", _wrap_wxWindow_GetFullTextExtent, 1 }, { "wxWindow_GetTextExtent", _wrap_wxWindow_GetTextExtent, 1 }, { "wxWindow_GetSize", _wrap_wxWindow_GetSize, 1 }, { "wxWindow_GetSizeTuple", _wrap_wxWindow_GetSizeTuple, 1 }, @@ -4627,18 +4974,20 @@ static PyMethodDef windowscMethods[] = { { "wxWindow_GetBackgroundColour", _wrap_wxWindow_GetBackgroundColour, 1 }, { "wxWindow_Fit", _wrap_wxWindow_Fit, 1 }, { "wxWindow_FindWindowByName", _wrap_wxWindow_FindWindowByName, 1 }, - { "wxWindow_FindWindowByID", _wrap_wxWindow_FindWindowByID, 1 }, + { "wxWindow_FindWindowById", _wrap_wxWindow_FindWindowById, 1 }, { "wxWindow_Enable", _wrap_wxWindow_Enable, 1 }, { "wxWindow_DragAcceptFiles", _wrap_wxWindow_DragAcceptFiles, 1 }, { "wxWindow_DestroyChildren", _wrap_wxWindow_DestroyChildren, 1 }, { "wxWindow_Destroy", _wrap_wxWindow_Destroy, 1 }, { "wxWindow_Close", _wrap_wxWindow_Close, 1 }, { "wxWindow_ClientToScreen", _wrap_wxWindow_ClientToScreen, 1 }, + { "wxWindow_ClientToScreenXY", _wrap_wxWindow_ClientToScreenXY, 1 }, { "wxWindow_Centre", _wrap_wxWindow_Centre, 1 }, { "wxWindow_Center", _wrap_wxWindow_Center, 1 }, { "wxWindow_CaptureMouse", _wrap_wxWindow_CaptureMouse, 1 }, { "new_wxWindow", _wrap_new_wxWindow, 1 }, { "wxEvtHandler_Connect", _wrap_wxEvtHandler_Connect, 1 }, + { "wxWindow_FromHWND", _wrap_wxWindow_FromHWND, 1 }, { "wxWindow_FindFocus", _wrap_wxWindow_FindFocus, 1 }, { NULL, NULL } }; @@ -4676,6 +5025,7 @@ SWIGEXPORT(void,initwindowsc)() { SWIG_RegisterMapping("_class_wxEvtHandler","_wxEvtHandler",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); SWIG_RegisterMapping("_wxPen","_class_wxPen",0); @@ -4683,6 +5033,7 @@ SWIGEXPORT(void,initwindowsc)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); SWIG_RegisterMapping("_wxDC","_class_wxDC",0); SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0); @@ -4691,6 +5042,7 @@ SWIGEXPORT(void,initwindowsc)() { SWIG_RegisterMapping("_wxPanel","_class_wxDialog",SwigwxDialogTowxPanel); SWIG_RegisterMapping("_wxPanel","_wxDialog",SwigwxDialogTowxPanel); SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_wxColour","_class_wxColour",0); SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0); @@ -4767,6 +5119,7 @@ SWIGEXPORT(void,initwindowsc)() { SWIG_RegisterMapping("_short","_WXTYPE",0); SWIG_RegisterMapping("_short","_unsigned_short",0); SWIG_RegisterMapping("_short","_signed_short",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); SWIG_RegisterMapping("_wxWindowID","_uint",0); SWIG_RegisterMapping("_wxWindowID","_int",0); diff --git a/utils/wxPython/src/msw/windows.py b/utils/wxPython/src/msw/windows.py index bc234b094f..1d315ba70b 100644 --- a/utils/wxPython/src/msw/windows.py +++ b/utils/wxPython/src/msw/windows.py @@ -10,7 +10,7 @@ def wxDLG_PNT(win, point): return win.ConvertDialogPointToPixels(point) def wxDLG_SZE(win, size): - return win.ConvertDialogPointToPixels(size) + return win.ConvertDialogSizeToPixels(size) class wxEvtHandlerPtr : def __init__(self,this): @@ -41,8 +41,13 @@ class wxWindowPtr(wxEvtHandlerPtr): def Centre(self,*args): val = apply(windowsc.wxWindow_Centre,(self.this,)+args) return val - def ClientToScreen(self,arg0,arg1): - val = windowsc.wxWindow_ClientToScreen(self.this,arg0,arg1) + def ClientToScreenXY(self,arg0,arg1): + val = windowsc.wxWindow_ClientToScreenXY(self.this,arg0,arg1) + return val + def ClientToScreen(self,arg0): + val = windowsc.wxWindow_ClientToScreen(self.this,arg0.this) + val = wxPointPtr(val) + val.thisown = 1 return val def Close(self,*args): val = apply(windowsc.wxWindow_Close,(self.this,)+args) @@ -59,8 +64,8 @@ class wxWindowPtr(wxEvtHandlerPtr): def Enable(self,arg0): val = windowsc.wxWindow_Enable(self.this,arg0) return val - def FindWindowByID(self,arg0): - val = windowsc.wxWindow_FindWindowByID(self.this,arg0) + def FindWindowById(self,arg0): + val = windowsc.wxWindow_FindWindowById(self.this,arg0) val = wxWindowPtr(val) return val def FindWindowByName(self,arg0): @@ -159,6 +164,13 @@ class wxWindowPtr(wxEvtHandlerPtr): def GetTextExtent(self,arg0): val = windowsc.wxWindow_GetTextExtent(self.this,arg0) return val + def GetFullTextExtent(self,arg0,*args): + argl = map(None,args) + try: argl[0] = argl[0].this + except: pass + args = tuple(argl) + val = apply(windowsc.wxWindow_GetFullTextExtent,(self.this,arg0,)+args) + return val def GetTitle(self): val = windowsc.wxWindow_GetTitle(self.this) return val @@ -189,8 +201,11 @@ class wxWindowPtr(wxEvtHandlerPtr): def MakeModal(self,arg0): val = windowsc.wxWindow_MakeModal(self.this,arg0) return val - def Move(self,arg0,arg1): - val = windowsc.wxWindow_Move(self.this,arg0,arg1) + def MoveXY(self,arg0,arg1): + val = windowsc.wxWindow_MoveXY(self.this,arg0,arg1) + return val + def Move(self,arg0): + val = windowsc.wxWindow_Move(self.this,arg0.this) return val def PopupMenu(self,arg0,arg1,arg2): val = windowsc.wxWindow_PopupMenu(self.this,arg0.this,arg1,arg2) @@ -208,8 +223,13 @@ class wxWindowPtr(wxEvtHandlerPtr): def ReleaseMouse(self): val = windowsc.wxWindow_ReleaseMouse(self.this) return val - def ScreenToClient(self,arg0,arg1): - val = windowsc.wxWindow_ScreenToClient(self.this,arg0,arg1) + def ScreenToClientXY(self,arg0,arg1): + val = windowsc.wxWindow_ScreenToClientXY(self.this,arg0,arg1) + return val + def ScreenToClient(self,arg0): + val = windowsc.wxWindow_ScreenToClient(self.this,arg0.this) + val = wxPointPtr(val) + val.thisown = 1 return val def ScrollWindow(self,arg0,arg1,*args): argl = map(None,args) @@ -269,8 +289,11 @@ class wxWindowPtr(wxEvtHandlerPtr): def SetSizeHints(self,*args): val = apply(windowsc.wxWindow_SetSizeHints,(self.this,)+args) return val - def SetClientSize(self,arg0,arg1): - val = windowsc.wxWindow_SetClientSize(self.this,arg0,arg1) + def SetClientSizeWH(self,arg0,arg1): + val = windowsc.wxWindow_SetClientSizeWH(self.this,arg0,arg1) + return val + def SetClientSize(self,arg0): + val = windowsc.wxWindow_SetClientSize(self.this,arg0.this) return val def SetCursor(self,arg0): val = windowsc.wxWindow_SetCursor(self.this,arg0.this) @@ -313,6 +336,16 @@ class wxWindowPtr(wxEvtHandlerPtr): val = wxSizePtr(val) val.thisown = 1 return val + def SetToolTipString(self,arg0): + val = windowsc.wxWindow_SetToolTipString(self.this,arg0) + return val + def SetToolTip(self,arg0): + val = windowsc.wxWindow_SetToolTip(self.this,arg0.this) + return val + def GetToolTip(self): + val = windowsc.wxWindow_GetToolTip(self.this) + val = wxToolTipPtr(val) + return val def __repr__(self): return "" class wxWindow(wxWindowPtr): @@ -461,6 +494,9 @@ class wxMenuPtr(wxEvtHandlerPtr): def AppendMenu(self,arg0,arg1,arg2,*args): val = apply(windowsc.wxMenu_AppendMenu,(self.this,arg0,arg1,arg2.this,)+args) return val + def AppendItem(self,arg0): + val = windowsc.wxMenu_AppendItem(self.this,arg0.this) + return val def AppendSeparator(self): val = windowsc.wxMenu_AppendSeparator(self.this) return val @@ -657,6 +693,11 @@ def wxWindow_FindFocus(): val = wxWindowPtr(val) return val +def wxWindow_FromHWND(arg0): + val = windowsc.wxWindow_FromHWND(arg0) + val = wxWindowPtr(val) + return val + #-------------- VARIABLE WRAPPERS ------------------ diff --git a/utils/wxPython/src/msw/windows2.cpp b/utils/wxPython/src/msw/windows2.cpp index e28bd783c6..11bf56e2a4 100644 --- a/utils/wxPython/src/msw/windows2.cpp +++ b/utils/wxPython/src/msw/windows2.cpp @@ -2164,6 +2164,28 @@ static void *SwigwxGridEventTowxEvent(void *ptr) { return (void *) dest; } +#define wxGridEvent_m_row_set(_swigobj,_swigval) (_swigobj->m_row = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_row_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxGridEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_row_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_row_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _result = (int )wxGridEvent_m_row_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_row_get(_swigobj) ((int ) _swigobj->m_row) static PyObject *_wrap_wxGridEvent_m_row_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2185,6 +2207,28 @@ static PyObject *_wrap_wxGridEvent_m_row_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxGridEvent_m_col_set(_swigobj,_swigval) (_swigobj->m_col = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_col_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxGridEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_col_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_col_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _result = (int )wxGridEvent_m_col_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_col_get(_swigobj) ((int ) _swigobj->m_col) static PyObject *_wrap_wxGridEvent_m_col_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2206,6 +2250,28 @@ static PyObject *_wrap_wxGridEvent_m_col_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxGridEvent_m_x_set(_swigobj,_swigval) (_swigobj->m_x = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_x_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxGridEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_x_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_x_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _result = (int )wxGridEvent_m_x_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_x_get(_swigobj) ((int ) _swigobj->m_x) static PyObject *_wrap_wxGridEvent_m_x_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2227,6 +2293,28 @@ static PyObject *_wrap_wxGridEvent_m_x_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxGridEvent_m_y_set(_swigobj,_swigval) (_swigobj->m_y = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_y_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + int _result; + wxGridEvent * _arg0; + int _arg1; + char * _argc0 = 0; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_y_set",&_argc0,&_arg1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_y_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _result = (int )wxGridEvent_m_y_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_y_get(_swigobj) ((int ) _swigobj->m_y) static PyObject *_wrap_wxGridEvent_m_y_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2248,6 +2336,30 @@ static PyObject *_wrap_wxGridEvent_m_y_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxGridEvent_m_control_set(_swigobj,_swigval) (_swigobj->m_control = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_control_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxGridEvent * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_control_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_control_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxGridEvent_m_control_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_control_get(_swigobj) ((bool ) _swigobj->m_control) static PyObject *_wrap_wxGridEvent_m_control_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2269,6 +2381,30 @@ static PyObject *_wrap_wxGridEvent_m_control_get(PyObject *self, PyObject *args) return _resultobj; } +#define wxGridEvent_m_shift_set(_swigobj,_swigval) (_swigobj->m_shift = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_shift_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + bool _result; + wxGridEvent * _arg0; + bool _arg1; + char * _argc0 = 0; + int tempbool1; + + self = self; + if(!PyArg_ParseTuple(args,"si:wxGridEvent_m_shift_set",&_argc0,&tempbool1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_shift_set. Expected _wxGridEvent_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + _result = (bool )wxGridEvent_m_shift_set(_arg0,_arg1); + _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridEvent_m_shift_get(_swigobj) ((bool ) _swigobj->m_shift) static PyObject *_wrap_wxGridEvent_m_shift_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -2290,6 +2426,37 @@ static PyObject *_wrap_wxGridEvent_m_shift_get(PyObject *self, PyObject *args) { return _resultobj; } +#define wxGridEvent_m_cell_set(_swigobj,_swigval) (_swigobj->m_cell = _swigval,_swigval) +static PyObject *_wrap_wxGridEvent_m_cell_set(PyObject *self, PyObject *args) { + PyObject * _resultobj; + wxGridCell * _result; + wxGridEvent * _arg0; + wxGridCell * _arg1; + char * _argc0 = 0; + char * _argc1 = 0; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTuple(args,"ss:wxGridEvent_m_cell_set",&_argc0,&_argc1)) + return NULL; + if (_argc0) { + if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxGridEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridEvent_m_cell_set. Expected _wxGridEvent_p."); + return NULL; + } + } + if (_argc1) { + if (SWIG_GetPtr(_argc1,(void **) &_arg1,"_wxGridCell_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridEvent_m_cell_set. Expected _wxGridCell_p."); + return NULL; + } + } + _result = (wxGridCell *)wxGridEvent_m_cell_set(_arg0,_arg1); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxGridCell_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + #define wxGridEvent_m_cell_get(_swigobj) ((wxGridCell *) _swigobj->m_cell) static PyObject *_wrap_wxGridEvent_m_cell_get(PyObject *self, PyObject *args) { PyObject * _resultobj; @@ -3508,12 +3675,19 @@ static PyMethodDef windows2cMethods[] = { { "wxNotebookEvent_GetOldSelection", _wrap_wxNotebookEvent_GetOldSelection, 1 }, { "wxNotebookEvent_GetSelection", _wrap_wxNotebookEvent_GetSelection, 1 }, { "wxGridEvent_m_cell_get", _wrap_wxGridEvent_m_cell_get, 1 }, + { "wxGridEvent_m_cell_set", _wrap_wxGridEvent_m_cell_set, 1 }, { "wxGridEvent_m_shift_get", _wrap_wxGridEvent_m_shift_get, 1 }, + { "wxGridEvent_m_shift_set", _wrap_wxGridEvent_m_shift_set, 1 }, { "wxGridEvent_m_control_get", _wrap_wxGridEvent_m_control_get, 1 }, + { "wxGridEvent_m_control_set", _wrap_wxGridEvent_m_control_set, 1 }, { "wxGridEvent_m_y_get", _wrap_wxGridEvent_m_y_get, 1 }, + { "wxGridEvent_m_y_set", _wrap_wxGridEvent_m_y_set, 1 }, { "wxGridEvent_m_x_get", _wrap_wxGridEvent_m_x_get, 1 }, + { "wxGridEvent_m_x_set", _wrap_wxGridEvent_m_x_set, 1 }, { "wxGridEvent_m_col_get", _wrap_wxGridEvent_m_col_get, 1 }, + { "wxGridEvent_m_col_set", _wrap_wxGridEvent_m_col_set, 1 }, { "wxGridEvent_m_row_get", _wrap_wxGridEvent_m_row_get, 1 }, + { "wxGridEvent_m_row_set", _wrap_wxGridEvent_m_row_set, 1 }, { "wxGrid_UpdateDimensions", _wrap_wxGrid_UpdateDimensions, 1 }, { "wxGrid_SetRowHeight", _wrap_wxGrid_SetRowHeight, 1 }, { "wxGrid_SetLabelValue", _wrap_wxGrid_SetLabelValue, 1 }, @@ -3651,6 +3825,7 @@ SWIGEXPORT(void,initwindows2c)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxGrid","_class_wxGrid",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); @@ -3664,6 +3839,7 @@ SWIGEXPORT(void,initwindows2c)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0); @@ -3681,6 +3857,7 @@ SWIGEXPORT(void,initwindows2c)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_class_wxGrid","_wxGrid",0); @@ -3810,6 +3987,7 @@ SWIGEXPORT(void,initwindows2c)() { SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0); SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0); SWIG_RegisterMapping("_wxWindowID","_EBool",0); diff --git a/utils/wxPython/src/msw/windows2.py b/utils/wxPython/src/msw/windows2.py index 496f8557f8..05a42fdf62 100644 --- a/utils/wxPython/src/msw/windows2.py +++ b/utils/wxPython/src/msw/windows2.py @@ -402,10 +402,11 @@ class wxNotebookPtr(wxControlPtr): val = windows2c.wxNotebook_GetPageText(self.this,arg0) return val def SetImageList(self,arg0): - val = windows2c.wxNotebook_SetImageList(self.this,arg0) + val = windows2c.wxNotebook_SetImageList(self.this,arg0.this) return val def GetImageList(self): val = windows2c.wxNotebook_GetImageList(self.this) + val = wxImageListPtr(val) return val def GetPageImage(self,arg0): val = windows2c.wxNotebook_GetPageImage(self.this,arg0) diff --git a/utils/wxPython/src/msw/windows3.cpp b/utils/wxPython/src/msw/windows3.cpp index 5aaa7a7c68..8e53cecd9c 100644 --- a/utils/wxPython/src/msw/windows3.cpp +++ b/utils/wxPython/src/msw/windows3.cpp @@ -1430,6 +1430,7 @@ SWIGEXPORT(void,initwindows3c)() { SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0); SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0); SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0); + SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0); SWIG_RegisterMapping("_wxMask","_class_wxMask",0); SWIG_RegisterMapping("_wxGrid","_class_wxGrid",0); SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0); @@ -1443,6 +1444,7 @@ SWIGEXPORT(void,initwindows3c)() { SWIG_RegisterMapping("_long","_wxDash",0); SWIG_RegisterMapping("_long","_unsigned_long",0); SWIG_RegisterMapping("_long","_signed_long",0); + SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0); SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0); SWIG_RegisterMapping("_wxBitmapButton","_class_wxBitmapButton",0); SWIG_RegisterMapping("_wxSashWindow","_class_wxSashLayoutWindow",SwigwxSashLayoutWindowTowxSashWindow); @@ -1464,6 +1466,7 @@ SWIGEXPORT(void,initwindows3c)() { SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0); SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0); SWIG_RegisterMapping("_wxTextCtrl","_class_wxTextCtrl",0); + SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0); SWIG_RegisterMapping("_class_wxMask","_wxMask",0); SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0); SWIG_RegisterMapping("_class_wxGrid","_wxGrid",0); @@ -1609,6 +1612,7 @@ SWIGEXPORT(void,initwindows3c)() { SWIG_RegisterMapping("_class_wxChoice","_wxChoice",0); SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0); SWIG_RegisterMapping("_class_wxCalculateLayoutEvent","_wxCalculateLayoutEvent",0); + SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0); SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0); SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0); SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0); diff --git a/utils/wxPython/src/utils.i b/utils/wxPython/src/utils.i index c5ce6f4de9..747df35a9f 100644 --- a/utils/wxPython/src/utils.i +++ b/utils/wxPython/src/utils.i @@ -61,7 +61,7 @@ public: void DontCreateOnDemand(); - // **** DANGER Will Robinson! DANGER! bool DeleteAll(); + bool DeleteAll(); // This is supposed to have been fixed... bool DeleteEntry(const wxString& key, bool bDeleteGroupIfEmpty = TRUE); bool DeleteGroup(const wxString& key); bool Exists(wxString& strName); @@ -138,6 +138,18 @@ public: ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.2 1999/02/20 09:03:02 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.1 1998/12/15 20:41:23 RD // Changed the import semantics from "from wxPython import *" to "from // wxPython.wx import *" This is for people who are worried about diff --git a/utils/wxPython/src/windows.i b/utils/wxPython/src/windows.i index e9d4ba8014..26d4ee63a3 100644 --- a/utils/wxPython/src/windows.i +++ b/utils/wxPython/src/windows.i @@ -63,7 +63,8 @@ public: void CaptureMouse(); void Center(int direction = wxHORIZONTAL); void Centre(int direction = wxHORIZONTAL); - void ClientToScreen(int *BOTH, int *BOTH); + %name(ClientToScreenXY)void ClientToScreen(int *BOTH, int *BOTH); + wxPoint ClientToScreen(const wxPoint& pt); bool Close(int force = FALSE); bool Destroy(); void DestroyChildren(); @@ -72,7 +73,7 @@ public: #endif void Enable(bool enable); //bool FakePopupMenu(wxMenu* menu, int x, int y); - %name(FindWindowByID) wxWindow* FindWindow(long id); + %name(FindWindowById) wxWindow* FindWindow(long id); %name(FindWindowByName) wxWindow* FindWindow(const wxString& name); void Fit(); wxColour GetBackgroundColour(); @@ -102,7 +103,10 @@ public: int GetScrollRange(int orientation); %name(GetSizeTuple) void GetSize(int *OUTPUT, int *OUTPUT); wxSize GetSize(); - void GetTextExtent(const wxString& string, int *OUTPUT, int *OUTPUT); // int* descent = NULL, int* externalLeading = NULL, const wxFont* font = NULL, bool use16 = FALSE) + void GetTextExtent(const wxString& string, int *OUTPUT, int *OUTPUT); + %name(GetFullTextExtent)void GetTextExtent(const wxString& string, + int *OUTPUT, int *OUTPUT, int *OUTPUT, int* OUTPUT, + const wxFont* font = NULL); //, bool use16 = FALSE) wxString GetTitle(); long GetWindowStyleFlag(); void InitDialog(); @@ -113,7 +117,8 @@ public: bool LoadFromResource(wxWindow* parent, const wxString& resourceName, const wxResourceTable* resourceTable = NULL); void Lower(); void MakeModal(bool flag); - void Move(int x, int y); + %name(MoveXY)void Move(int x, int y); + void Move(const wxPoint& point); //wxEvtHandler* PopEventHandler(bool deleteHandler = FALSE); bool PopupMenu(wxMenu *menu, int x, int y); @@ -122,7 +127,9 @@ public: void Raise(); void Refresh(bool eraseBackground = TRUE, const wxRect* rect = NULL); void ReleaseMouse(); - void ScreenToClient(int *BOTH, int *BOTH); + %name(ScreenToClientXY)void ScreenToClient(int *BOTH, int *BOTH); + wxPoint ScreenToClient(const wxPoint& pt); + void ScrollWindow(int dx, int dy, const wxRect* rect = NULL); void SetAcceleratorTable(const wxAcceleratorTable& accel); void SetAutoLayout(bool autoLayout); @@ -138,9 +145,6 @@ public: void SetScrollbar(int orientation, int position, int thumbSize, int range, bool refresh = TRUE); void SetScrollPos(int orientation, int pos, bool refresh = TRUE); - //void SetSize(int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO); - //%name(SetSizeOnly) void SetSize(int width, int height); - %name(SetDimensions) void SetSize(int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO); %addmethods { void SetSize(const wxSize& size) { @@ -153,7 +157,8 @@ public: } void SetSizeHints(int minW=-1, int minH=-1, int maxW=-1, int maxH=-1, int incW=-1, int incH=-1); - void SetClientSize(int width, int height); + %name(SetClientSizeWH)void SetClientSize(int width, int height); + void SetClientSize(const wxSize& size); //void SetPalette(wxPalette* palette); void SetCursor(const wxCursor&cursor); //void SetEventHandler(wxEvtHandler* handler); @@ -170,6 +175,9 @@ public: %name(ConvertPixelPointToDialog) wxPoint ConvertPixelsToDialog(const wxPoint& pt); %name(ConvertPixelSizeToDialog) wxSize ConvertPixelsToDialog(const wxSize& sz); + %name(SetToolTipString)void SetToolTip(const wxString &tip); + void SetToolTip(wxToolTip *tooltip); + wxToolTip* GetToolTip(); }; %pragma(python) code = " @@ -177,16 +185,25 @@ def wxDLG_PNT(win, point): return win.ConvertDialogPointToPixels(point) def wxDLG_SZE(win, size): - return win.ConvertDialogPointToPixels(size) + return win.ConvertDialogSizeToPixels(size) " -// Static method(s) #ifdef __WXMSW__ %inline %{ wxWindow* wxWindow_FindFocus() { return wxWindow::FindFocus(); } %} + + +%inline %{ +wxWindow* wxWindow_FromHWND(unsigned long hWnd) { + wxWindow* win = new wxWindow; + win->SetHWND(hWnd); + win->SubclassWin(hWnd); + return win; +} +%} #endif @@ -270,6 +287,8 @@ public: int checkable = FALSE); %name(AppendMenu)void Append(int id, const wxString& item, wxMenu *subMenu, const wxString& helpString = wxPyEmptyStr); + %name(AppendItem)void Append(const wxMenuItem* item); + void AppendSeparator(); void Break(); void Check(int id, bool flag); @@ -351,7 +370,20 @@ public: ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.12 1999/02/20 09:03:03 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.11 1998/12/18 15:49:10 RR +// // wxClipboard now serves the primary selection as well // wxPython fixes // warning mesages diff --git a/utils/wxPython/src/wx.i b/utils/wxPython/src/wx.i index 10d859f96e..86c735ca40 100644 --- a/utils/wxPython/src/wx.i +++ b/utils/wxPython/src/wx.i @@ -47,7 +47,7 @@ //--------------------------------------------------------------------------- -#define __version__ "0.5.4" +#define __version__ "2.0b5" wxPoint wxPyDefaultPosition; wxSize wxPyDefaultSize; @@ -156,7 +156,20 @@ extern "C" SWIGEXPORT(void,initwindows3c)(); ///////////////////////////////////////////////////////////////////////////// // // $Log$ +// Revision 1.6 1999/02/20 09:03:04 RD +// Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +// window handle. If you can get the window handle into the python code, +// it should just work... More news on this later. +// +// Added wxImageList, wxToolTip. +// +// Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +// wxRegConfig class. +// +// As usual, some bug fixes, tweaks, etc. +// // Revision 1.5 1999/02/01 00:10:41 RD +// // Added the missing EVT_LIST_ITEM_SELECTED and friends. // // Revision 1.4 1999/01/30 07:30:16 RD diff --git a/utils/wxPython/tests/bitmaps/smiles.bmp b/utils/wxPython/tests/bitmaps/smiles.bmp new file mode 100644 index 0000000000000000000000000000000000000000..39006fae82aa4e8c238c053f871538a8e2e5d8ac GIT binary patch literal 246 zcmYLCu?@p83{!w^29lo9JF@qk%swHfXe~I@Ll4T-B?CjrNh_P8M9S9u{92Di^bqbR z2D_zEl|N(0<)vYA!mPEEvPx^MiNj!CBcl>@LW=$@$O2#@cM+TfUaN!+Sgqi_!zIHD cVh+Fj@4d)`=7RlVy^omkdw@(qd!o?x0|m}&@c;k- literal 0 HcmV?d00001 diff --git a/utils/wxPython/tests/test1.py b/utils/wxPython/tests/test1.py index a35465e2db..d423811d90 100644 --- a/utils/wxPython/tests/test1.py +++ b/utils/wxPython/tests/test1.py @@ -5,30 +5,47 @@ # # Author: Robin Dunn # -# Created: +# Created: A long time ago, in a galaxy far, far away... # RCS-ID: $Id$ # Copyright: (c) 1998 by Total Control Software # Licence: wxWindows license #---------------------------------------------------------------------------- +## import all of the wxPython GUI package from wxPython.wx import * #--------------------------------------------------------------------------- +## Create a new frame class, derived from the wxPython Frame. class MyFrame(wxFrame): + def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPoint(100, 100), wxSize(160, 100)) - self.Connect(-1, -1, wxEVT_MOVE, self.OnMove) + # First, call the base class' __init__ method to create the frame + wxFrame.__init__(self, parent, id, title, + wxPoint(100, 100), wxSize(160, 100)) + + # Associate some events with methods of this class + EVT_SIZE(self, self.OnSize) + EVT_MOVE(self, self.OnMove) + + # This method is called automatically when the CLOSE event is + # sent to this window def OnCloseWindow(self, event): + # tell the window to kill itself self.Destroy() + + # This method is called by the System when the window is resized, + # because of the association above. def OnSize(self, event): size = event.GetSize() print "size:", size.width, size.height + # This method is called by the System when the window is moved, + # because of the association above. def OnMove(self, event): pos = event.GetPosition() print "pos:", pos.x, pos.y @@ -37,58 +54,29 @@ class MyFrame(wxFrame): #--------------------------------------------------------------------------- - +# Every wxWindows application must have a class derived from wxApp class MyApp(wxApp): + + # wxWindows calls this method to initialize the application def OnInit(self): + + # Create an instance of our customized Frame class frame = MyFrame(NULL, -1, "This is a test") frame.Show(true) + + # Tell wxWindows that this is our main window self.SetTopWindow(frame) + + # Return a success flag return true #--------------------------------------------------------------------------- -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - -if __name__ == '__main__': - main() - +app = MyApp(0) # Create an instance of the application class +app.MainLoop() # Tell it to start processing events #---------------------------------------------------------------------------- # -# $Log$ -# Revision 1.3 1998/12/15 20:44:34 RD -# Changed the import semantics from "from wxPython import *" to "from -# wxPython.wx import *" This is for people who are worried about -# namespace pollution, they can use "from wxPython import wx" and then -# prefix all the wxPython identifiers with "wx." -# -# Added wxTaskbarIcon for wxMSW. -# -# Made the events work for wxGrid. -# -# Added wxConfig. -# -# Added wxMiniFrame for wxGTK, (untested.) -# -# Changed many of the args and return values that were pointers to gdi -# objects to references to reflect changes in the wxWindows API. -# -# Other assorted fixes and additions. -# -# Revision 1.2 1998/10/02 06:42:27 RD -# -# Version 0.4 of wxPython for MSW. -# -# Revision 1.1 1998/08/09 08:28:05 RD -# Initial version -# -# + diff --git a/utils/wxPython/tests/test3.py b/utils/wxPython/tests/test3.py index 7da376bc5b..64a11120cc 100644 --- a/utils/wxPython/tests/test3.py +++ b/utils/wxPython/tests/test3.py @@ -29,7 +29,7 @@ class MyCanvas(wxWindow): font = wxFont(42, wxSWISS, wxNORMAL, wxNORMAL) dc.SetFont(font) st = "Python Rules!" - tw,th, d,e = dc.GetTextExtent(st) + tw,th = dc.GetTextExtent(st) dc.DrawText(st, (size.width-tw)/2, (size.height-th)/2) dc.EndDrawing() @@ -147,7 +147,20 @@ if __name__ == '__main__': #---------------------------------------------------------------------------- # # $Log$ +# Revision 1.5 1999/02/20 09:04:43 RD +# Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +# window handle. If you can get the window handle into the python code, +# it should just work... More news on this later. +# +# Added wxImageList, wxToolTip. +# +# Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +# wxRegConfig class. +# +# As usual, some bug fixes, tweaks, etc. +# # Revision 1.4 1998/12/16 22:12:46 RD +# # Tweaks needed to be able to build wxPython with wxGTK. # # Revision 1.3 1998/12/15 20:44:35 RD diff --git a/utils/wxPython/tests/test4.py b/utils/wxPython/tests/test4.py index b4b1238b86..001a7d26de 100644 --- a/utils/wxPython/tests/test4.py +++ b/utils/wxPython/tests/test4.py @@ -271,6 +271,9 @@ class TestNotebookWindow(wxFrame): win = TestTreeCtrlPanel(nb, log) nb.AddPage(win, "TreeCtrl") + win = TestListCtrlPanel(nb, log) + nb.AddPage(win, "ListCtrl") + win = ColoredPanel(nb, wxRED) nb.AddPage(win, "Red") @@ -338,7 +341,7 @@ class CustomStatusBar(wxStatusBar): # figure out how tall to make it. dc = wxClientDC(self) dc.SetFont(self.GetFont()) - (w,h, d,e) = dc.GetTextExtent('X') + (w,h) = dc.GetTextExtent('X') h = int(h * 1.8) self.SetSize(wxSize(100, h)) @@ -499,6 +502,53 @@ class TestTreeCtrl(wxFrame): p = TestTreeCtrlPanel(self, log) +#--------------------------------------------------------------------------- + +class TestListCtrlPanel(wxPanel): + def __init__(self, parent, log): + wxPanel.__init__(self, parent, -1) + + self.log = log + tID = 1101 + + self.il = wxImageList(16, 16) + idx1 = self.il.Add(wxNoRefBitmap('bitmaps/smiles.bmp', wxBITMAP_TYPE_BMP)) + + self.list = wxListCtrl(self, tID, wxDefaultPosition, wxDefaultSize, + wxLC_REPORT|wxSUNKEN_BORDER) + self.list.SetImageList(self.il, wxIMAGE_LIST_SMALL) + + self.list.SetToolTip(wxToolTip("This is a ToolTip!")) + wxToolTip_Enable(true) + + self.list.InsertColumn(0, "Column 0") + self.list.InsertColumn(1, "Column 1") + self.list.InsertColumn(2, "One More Column (2)") + for x in range(50): + self.list.InsertImageStringItem(x, "This is item %d" % x, idx1) + self.list.SetStringItem(x, 1, "Col 1, item %d" % x) + self.list.SetStringItem(x, 2, "item %d in column 2" % x) + + self.list.SetColumnWidth(0, wxLIST_AUTOSIZE) + self.list.SetColumnWidth(1, wxLIST_AUTOSIZE) + self.list.SetColumnWidth(2, wxLIST_AUTOSIZE) + + + def OnSize(self, event): + w,h = self.GetClientSizeTuple() + self.list.SetDimensions(0, 0, w, h) + + + + +class TestListCtrl(wxFrame): + def __init__(self, parent, log): + wxFrame.__init__(self, parent, -1, 'Test ListCtrl', + wxDefaultPosition, wxSize(250, 300)) + + p = TestListCtrlPanel(self, log) + + #--------------------------------------------------------------------------- class TestSashWindow(wxMDIParentFrame): @@ -740,6 +790,10 @@ class AppFrame(wxFrame): menu.Append(mID, 'T&ree Control') EVT_MENU(self, mID, self.OnTestTreeCtrl) + mID = NewId() + menu.Append(mID, '&List Control') + EVT_MENU(self, mID, self.OnTestListCtrl) + mID = NewId() menu.Append(mID, 'S&ash Window and Layout Algorithm') EVT_MENU(self, mID, self.OnTestSashWindow) @@ -890,6 +944,10 @@ class AppFrame(wxFrame): win = TestTreeCtrl(self, self) win.Show(true) + def OnTestListCtrl(self, event): + win = TestListCtrl(self, self) + win.Show(true) + def OnTestSashWindow(self, event): win = TestSashWindow(self, self) win.Show(true) @@ -942,7 +1000,20 @@ if __name__ == '__main__': #---------------------------------------------------------------------------- # # $Log$ +# Revision 1.13 1999/02/20 09:04:44 RD +# Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a +# window handle. If you can get the window handle into the python code, +# it should just work... More news on this later. +# +# Added wxImageList, wxToolTip. +# +# Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the +# wxRegConfig class. +# +# As usual, some bug fixes, tweaks, etc. +# # Revision 1.12 1999/01/30 07:31:33 RD +# # Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc. # # Various cleanup, tweaks, minor additions, etc. to maintain diff --git a/utils/wxPython/tests/test7.py b/utils/wxPython/tests/test7.py new file mode 100644 index 0000000000..50f394ad5f --- /dev/null +++ b/utils/wxPython/tests/test7.py @@ -0,0 +1,110 @@ +#!/bin/env python +#---------------------------------------------------------------------------- +# Name: test7.py +# Purpose: A minimal wxPython program that is a bit smarter than test1. +# +# Author: Robin Dunn +# +# Created: A long time ago, in a galaxy far, far away... +# RCS-ID: $Id$ +# Copyright: (c) 1998 by Total Control Software +# Licence: wxWindows license +#---------------------------------------------------------------------------- + + +## import all of the wxPython GUI package +from wxPython.wx import * + + +#--------------------------------------------------------------------------- + +## Create a new frame class, derived from the wxPython Frame. +class MyFrame(wxFrame): + + def __init__(self, parent, id, title): + # First, call the base class' __init__ method to create the frame + wxFrame.__init__(self, parent, id, title, + wxPoint(100, 100), wxSize(160, 100)) + + # Associate some events with methods of this class + EVT_SIZE(self, self.OnSize) + EVT_MOVE(self, self.OnMove) + + # Add a panel and some controls to display the size and position + panel = wxPanel(self, -1) + wxStaticText(panel, -1, "Size:", + wxDLG_PNT(panel, wxPoint(4, 4)), wxDefaultSize) + wxStaticText(panel, -1, "Pos:", + wxDLG_PNT(panel, wxPoint(4, 14)), wxDefaultSize) + self.sizeCtrl = wxTextCtrl(panel, -1, "", + wxDLG_PNT(panel, wxPoint(24, 4)), + wxDLG_SZE(panel, wxSize(36, -1)), + wxTE_READONLY) + + self.posCtrl = wxTextCtrl(panel, -1, "", + wxDLG_PNT(panel, wxPoint(24, 14)), + wxDLG_SZE(panel, wxSize(36, -1)), + wxTE_READONLY) + + + # This method is called automatically when the CLOSE event is + # sent to this window + def OnCloseWindow(self, event): + # tell the window to kill itself + self.Destroy() + + + # This method is called by the System when the window is resized, + # because of the association above. + def OnSize(self, event): + size = event.GetSize() + self.sizeCtrl.SetValue("%s, %s" % (size.width, size.height)) + + # tell the event system to continue looking for an event handler, + # so the default handler will get called. + event.Skip() + + # This method is called by the System when the window is moved, + # because of the association above. + def OnMove(self, event): + pos = event.GetPosition() + self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y)) + + + +#--------------------------------------------------------------------------- + +# Every wxWindows application must have a class derived from wxApp +class MyApp(wxApp): + + # wxWindows calls this method to initialize the application + def OnInit(self): + + # Create an instance of our customized Frame class + frame = MyFrame(NULL, -1, "This is a test") + frame.Show(true) + + # Tell wxWindows that this is our main window + self.SetTopWindow(frame) + + # Return a success flag + return true + +#--------------------------------------------------------------------------- + + +app = MyApp(0) # Create an instance of the application class +app.MainLoop() # Tell it to start processing events + + +#---------------------------------------------------------------------------- +# + + + + + + + + + -- 2.45.2