From 1fded56b375bf7a4687af1cdb182899614c1b2a8 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 2 Jul 2003 23:13:10 +0000 Subject: [PATCH] wxPython Merge #2 of 2.4 branch --> HEAD (branch tag: wxPy_2_4_merge_2) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/.cvsignore | 2 + wxPython/BUILD.win32.txt | 1 + wxPython/CHANGES.txt | 80 +- wxPython/MANIFEST.in | 2 + wxPython/contrib/dllwidget/dllwidget_.py | 10 +- wxPython/contrib/gizmos/gizmos.cpp | 4423 ++++++++++++++ wxPython/contrib/gizmos/gizmos.i | 525 ++ wxPython/contrib/gizmos/gizmos.py | 499 +- wxPython/contrib/gizmos/treelistctrl.cpp | 4764 +++++++++++++++ wxPython/contrib/gizmos/treelistctrl.h | 509 ++ wxPython/contrib/glcanvas/gtk/glcanvas.py | 34 +- wxPython/contrib/glcanvas/mac/glcanvas.py | 24 +- wxPython/contrib/glcanvas/msw/glcanvas.py | 34 +- wxPython/contrib/iewin/iewin.py | 42 +- wxPython/contrib/ogl/oglbasic.py | 468 +- wxPython/contrib/ogl/oglcanvas.py | 94 +- wxPython/contrib/ogl/oglhelpers.h | 5 +- wxPython/contrib/ogl/oglshapes.py | 690 +-- wxPython/contrib/ogl/oglshapes2.py | 440 +- wxPython/contrib/stc/gtk/stc_.cpp | 1070 +++- wxPython/contrib/stc/gtk/stc_.py | 900 +-- wxPython/contrib/stc/mac/stc_.cpp | 1070 +++- wxPython/contrib/stc/mac/stc_.py | 900 +-- wxPython/contrib/stc/msw/stc_.cpp | 1070 +++- wxPython/contrib/stc/msw/stc_.py | 900 +-- wxPython/contrib/stc/stc_.i | 8 + wxPython/contrib/xrc/xrc.py | 240 +- wxPython/demo/About.py | 32 +- wxPython/demo/AnalogClockWindow.py | 79 + wxPython/demo/ColourDB.py | 7 + wxPython/demo/ContextHelp.py | 7 + wxPython/demo/DragAndDrop.py | 37 +- wxPython/demo/FancyText.py | 8 + wxPython/demo/FileBrowseButton.py | 9 + wxPython/demo/FontEnumerator.py | 18 +- wxPython/demo/GridDragAndDrop.py | 104 + wxPython/demo/GridSimple.py | 5 + wxPython/demo/ImageBrowser.py | 15 +- wxPython/demo/LayoutAnchors.py | 5 +- wxPython/demo/Layoutf.py | 9 + wxPython/demo/Main.py | 398 +- wxPython/demo/MaskedEditControls.py | 540 ++ wxPython/demo/NewNamespace.py | 47 + wxPython/demo/OOR.py | 9 + wxPython/demo/PopupMenu.py | 148 + wxPython/demo/PrintFramework.py | 11 +- wxPython/demo/PyCrust.py | 10 +- wxPython/demo/PyCrustWithFilling.py | 28 - wxPython/demo/PyShell.py | 23 + wxPython/demo/PythonEvents.py | 7 + wxPython/demo/ShapedWindow.py | 122 + wxPython/demo/Sizers.py | 12 +- wxPython/demo/SlashDot.py | 379 -- wxPython/demo/TablePrint.py | 9 + wxPython/demo/Threads.py | 8 + wxPython/demo/URLDragAndDrop.py | 9 + wxPython/demo/Unicode.py | 9 + wxPython/demo/XMLtreeview.py | 8 + wxPython/demo/bmp_source/Tux.png | Bin 0 -> 31315 bytes wxPython/demo/data/stc.h.html | 584 +- wxPython/demo/data/wxPackage.html | 290 + wxPython/demo/demoMainLoop.py | 56 +- wxPython/demo/encode_bitmaps.py | 1 + wxPython/demo/images.py | 1317 +++- wxPython/demo/infoframe.py | 8 +- wxPython/demo/run.py | 34 +- wxPython/demo/simple.py | 31 +- wxPython/demo/template.py | 6 +- wxPython/demo/wxCalendar.py | 28 +- wxPython/demo/wxCalendarCtrl.py | 14 +- wxPython/demo/wxCheckBox.py | 10 +- wxPython/demo/wxCheckListBox.py | 10 +- wxPython/demo/wxChoice.py | 10 + wxPython/demo/wxColourDialog.py | 10 + wxPython/demo/wxComboBox.py | 6 + wxPython/demo/wxEditableListBox.py | 9 + wxPython/demo/wxFileDialog.py | 23 +- wxPython/demo/wxFileDialog_Save.py | 44 + wxPython/demo/wxFindReplaceDialog.py | 9 + wxPython/demo/wxFloatBar.py | 13 +- wxPython/demo/wxFrame.py | 9 + wxPython/demo/wxGauge.py | 9 + wxPython/demo/wxGenericDirCtrl.py | 7 + wxPython/demo/wxGrid.py | 6 +- wxPython/demo/wxGrid_MegaExample.py | 451 ++ wxPython/demo/wxImageFromStream.py | 9 + wxPython/demo/wxJoystick.py | 9 + wxPython/demo/wxLEDNumberCtrl.py | 8 + wxPython/demo/wxLayoutConstraints.py | 30 +- wxPython/demo/wxListCtrl.py | 28 +- wxPython/demo/wxListCtrl_virtual.py | 2 +- wxPython/demo/wxMDIWindows.py | 9 + wxPython/demo/wxMVCTree.py | 22 +- wxPython/demo/wxMenu.py | 71 +- wxPython/demo/wxMessageDialog.py | 37 +- wxPython/demo/wxMimeTypesManager.py | 8 + wxPython/demo/wxMiniFrame.py | 9 + wxPython/demo/wxMultipleChoiceDialog.py | 9 + wxPython/demo/wxNotebook.py | 17 +- wxPython/demo/wxOGL.py | 2 +- wxPython/demo/wxPageSetupDialog.py | 10 +- wxPython/demo/wxPlotCanvas.py | 8 + wxPython/demo/wxPrintDialog.py | 24 +- wxPython/demo/wxProcess.py | 9 + wxPython/demo/wxProgressDialog.py | 9 +- wxPython/demo/wxRightTextCtrl.py | 7 + wxPython/demo/wxSashWindow.py | 16 +- wxPython/demo/wxScrolledMessageDialog.py | 10 +- wxPython/demo/wxScrolledPanel.py | 8 +- wxPython/demo/wxScrolledWindow.py | 31 +- wxPython/demo/wxSingleChoiceDialog.py | 18 +- wxPython/demo/wxSpinButton.py | 7 + wxPython/demo/wxSpinCtrl.py | 9 + wxPython/demo/wxSplitterWindow.py | 46 +- wxPython/demo/wxStaticBitmap.py | 10 +- wxPython/demo/wxStaticText.py | 5 +- wxPython/demo/wxStatusBar.py | 15 +- wxPython/demo/wxStyledTextCtrl_1.py | 5 +- wxPython/demo/wxStyledTextCtrl_2.py | 38 +- wxPython/demo/wxTextEntryDialog.py | 11 +- wxPython/demo/wxTimeCtrl.py | 289 +- wxPython/demo/wxTimer.py | 17 +- wxPython/demo/wxToggleButton.py | 9 + wxPython/demo/wxToolBar.py | 12 +- wxPython/demo/wxTreeCtrl.py | 2 +- wxPython/demo/wxTreeListCtrl.py | 103 + wxPython/demo/wxWave.py | 9 + wxPython/demo/wxXmlResourceHandler.py | 2 +- wxPython/distrib/README.1st.txt | 19 +- wxPython/distrib/README.viewdocs.txt | 2 +- wxPython/distrib/mac/wxPythonOSX/build | 3 + .../mac/wxPythonOSX/resources/Welcome.txt | 4 +- .../mac/wxPythonOSX/resources/postflight | 8 +- wxPython/distrib/make_installer.py | 138 +- wxPython/distrib/make_static_setup.py | 111 + wxPython/distrib/makerpm | 8 +- wxPython/distrib/wxPythonFull.spec.in | 66 +- wxPython/distrib/wx_conv.py | 220 + wxPython/distrib/wx_create.py | 116 + wxPython/docs/PyManual.txt | 225 + wxPython/docs/default.css | 208 + wxPython/docs/docutils.conf | 6 + wxPython/docs/screenshots/hello-linux.png | Bin 0 -> 62715 bytes wxPython/docs/screenshots/hello-mac.png | Bin 0 -> 61195 bytes wxPython/docs/screenshots/hello-win98.png | Bin 0 -> 49310 bytes wxPython/docs/wxPackage.txt | 180 + wxPython/docs/wxPythonDocs.txt | 77 + wxPython/docs/wxPythonExamples.txt | 118 + wxPython/docs/wxPythonManual.txt | 1040 ++++ wxPython/docs/wxPythonTutorial.txt | 43 + wxPython/samples/doodle/doodle.py | 65 +- wxPython/samples/doodle/sample.ddl | 257 + wxPython/samples/doodle/superdoodle.py | 195 +- wxPython/{demo => samples/hangman}/hangman.py | 0 .../samples/wx_examples/basic/__init__.py | 1 + wxPython/samples/wx_examples/basic/app.py | 27 + wxPython/samples/wx_examples/basic/frame.py | 33 + .../samples/wx_examples/hello/__init__.py | 1 + wxPython/samples/wx_examples/hello/hello.py | 38 + .../samples/wx_examples/hello/wxPython.jpg | Bin 0 -> 14557 bytes wxPython/scripts/CreateBatchFiles.py | 16 +- wxPython/scripts/helpviewer.bat | 2 +- wxPython/scripts/img2png.bat | 2 +- wxPython/scripts/img2py.bat | 2 +- wxPython/scripts/img2xpm.bat | 2 +- wxPython/scripts/pyalacarte | 4 + wxPython/scripts/pyalacarte.bat | 3 + wxPython/scripts/pyalamode | 4 + wxPython/scripts/pyalamode.bat | 3 + wxPython/scripts/pycrust | 2 +- wxPython/scripts/pycrust.bat | 2 +- wxPython/scripts/pycwrap | 7 - wxPython/scripts/pycwrap.bat | 3 - wxPython/scripts/pyshell | 2 +- wxPython/scripts/pyshell.bat | 2 +- wxPython/scripts/pywrap | 4 + wxPython/scripts/pywrap.bat | 3 + wxPython/scripts/xrced.bat | 2 +- wxPython/setup.py | 206 +- wxPython/src/__init__.py | 3 +- wxPython/src/__version__.py | 13 +- wxPython/src/_defs.i | 2 + wxPython/src/_extras.py | 162 +- wxPython/src/controls.i | 25 +- wxPython/src/controls2.i | 83 +- wxPython/src/drawlist.cpp | 1 - wxPython/src/fonts.i | 6 +- wxPython/src/gdi.i | 57 +- wxPython/src/grid.i | 11 +- wxPython/src/gtk/calendar.py | 108 +- wxPython/src/gtk/clip_dnd.py | 200 +- wxPython/src/gtk/cmndlgs.py | 206 +- wxPython/src/gtk/controls.cpp | 36 +- wxPython/src/gtk/controls.py | 589 +- wxPython/src/gtk/controls2.cpp | 288 +- wxPython/src/gtk/controls2.py | 569 +- wxPython/src/gtk/events.py | 450 +- wxPython/src/gtk/filesys.py | 86 +- wxPython/src/gtk/fonts.py | 198 +- wxPython/src/gtk/frames.cpp | 37 + wxPython/src/gtk/frames.py | 131 +- wxPython/src/gtk/gdi.cpp | 231 +- wxPython/src/gtk/gdi.py | 581 +- wxPython/src/gtk/grid.cpp | 232 +- wxPython/src/gtk/grid.py | 894 +-- wxPython/src/gtk/help.cpp | 12 +- wxPython/src/gtk/help.py | 48 +- wxPython/src/gtk/html.cpp | 73 +- wxPython/src/gtk/html.py | 367 +- wxPython/src/gtk/htmlhelp.py | 126 +- wxPython/src/gtk/image.py | 193 +- wxPython/src/gtk/mdi.py | 46 +- wxPython/src/gtk/misc.py | 224 +- wxPython/src/gtk/misc2.cpp | 6 +- wxPython/src/gtk/misc2.py | 513 +- wxPython/src/gtk/printfw.cpp | 4262 +++++++++---- wxPython/src/gtk/printfw.py | 633 +- wxPython/src/gtk/sizers.cpp | 1326 +--- wxPython/src/gtk/sizers.py | 421 +- wxPython/src/gtk/stattool.py | 194 +- wxPython/src/gtk/streams.py | 40 +- wxPython/src/gtk/utils.py | 402 +- wxPython/src/gtk/windows.cpp | 99 + wxPython/src/gtk/windows.py | 669 ++- wxPython/src/gtk/windows2.cpp | 2 +- wxPython/src/gtk/windows2.py | 252 +- wxPython/src/gtk/windows3.cpp | 2 - wxPython/src/gtk/windows3.py | 152 +- wxPython/src/gtk/wizard.py | 104 +- wxPython/src/gtk/wx.cpp | 16 +- wxPython/src/gtk/wx.py | 221 +- wxPython/src/help.i | 4 +- wxPython/src/helpers.cpp | 40 +- wxPython/src/helpers.h | 216 +- wxPython/src/html.i | 12 +- wxPython/src/image.i | 2 + wxPython/src/misc2.i | 16 +- wxPython/src/my_typemaps.i | 1 + wxPython/src/printfw.i | 383 +- wxPython/src/pytree.h | 47 + wxPython/src/sizers.i | 379 +- wxPython/src/windows.i | 16 +- wxPython/src/windows2.i | 2 +- wxPython/src/windows3.i | 36 +- wxPython/src/wx.i | 16 +- wxPython/tests/.cvsignore | 13 - wxPython/tests/README.txt | 12 - wxPython/tests/TstLstIcon.py | 108 - wxPython/tests/alternateThread.py | 52 - wxPython/tests/atom.bmp | Bin 630 -> 0 bytes wxPython/tests/bitmaps/copy.bmp | Bin 238 -> 0 bytes wxPython/tests/bitmaps/mondrian.ico | Bin 766 -> 0 bytes wxPython/tests/bitmaps/new.bmp | Bin 238 -> 0 bytes wxPython/tests/bitmaps/open.bmp | Bin 238 -> 0 bytes wxPython/tests/bitmaps/paste.bmp | Bin 238 -> 0 bytes wxPython/tests/bitmaps/smiles.bmp | Bin 246 -> 0 bytes wxPython/tests/bitmaps/smiles.ico | Bin 766 -> 0 bytes wxPython/tests/bitmaps/test2.bmp | Bin 12342 -> 0 bytes wxPython/tests/bitmaps/tog1.bmp | Bin 238 -> 0 bytes wxPython/tests/bitmaps/tog2.bmp | Bin 238 -> 0 bytes wxPython/tests/blit.py | 54 - wxPython/tests/dynamicform.py | 62 - wxPython/tests/fs_test.py | 41 - wxPython/tests/getvalues.py | 48 - wxPython/tests/grid.py | 24 - wxPython/tests/gridtest.py | 219 - wxPython/tests/hangman.py | 390 -- wxPython/tests/hook.py | 45 - wxPython/tests/info.bmp | Bin 370 -> 0 bytes wxPython/tests/leave.py | 26 - wxPython/tests/listGetItem.py | 61 - wxPython/tests/memleak.py | 157 - wxPython/tests/menu_replace.py | 43 - wxPython/tests/og.py | 69 - wxPython/tests/paul.py | 28 - wxPython/tests/popup.py | 123 - wxPython/tests/pytree.py | 203 - wxPython/tests/query.bmp | Bin 630 -> 0 bytes wxPython/tests/runner.py | 36 - wxPython/tests/scroll_paint.py | 38 - wxPython/tests/spies.py | 136 - wxPython/tests/spies2.py | 69 - wxPython/tests/ste.py | 24 - wxPython/tests/table.bmp | Bin 630 -> 0 bytes wxPython/tests/tabs.py | 37 - wxPython/tests/test1.py | 83 - wxPython/tests/test2.py | 212 - wxPython/tests/test3.py | 216 - wxPython/tests/test4.py | 1121 ---- wxPython/tests/test5.py | 91 - wxPython/tests/test6.py | 81 - wxPython/tests/test7.py | 123 - wxPython/tests/test8.py | 85 - wxPython/tests/testDlg.py | 49 - wxPython/tests/testTree.py | 116 - wxPython/tests/testi.py | 25 - wxPython/tests/thrtest.py | 39 - wxPython/tests/thtest.py | 29 - wxPython/tests/txml.py | 87 - wxPython/tests/val.py | 107 - wxPython/tests/wxFrame1.py | 81 - wxPython/tests/wxPlotCanvas.py | 459 -- wxPython/tests/wxSlash.py | 359 -- wxPython/tests/zigron.py | 75 - wxPython/wx/__init__.py | 73 + wxPython/wx/calendar.py | 11 + wxPython/wx/dllwidget.py | 11 + wxPython/wx/gizmos.py | 11 + wxPython/wx/glcanvas.py | 11 + wxPython/wx/grid.py | 11 + wxPython/wx/help.py | 11 + wxPython/wx/html.py | 11 + wxPython/wx/iewin.py | 11 + wxPython/wx/lib/CDate.py | 11 + wxPython/wx/lib/ClickableHtmlWindow.py | 11 + wxPython/wx/lib/ErrorDialogs.py | 11 + wxPython/wx/lib/ErrorDialogs_wdr.py | 11 + wxPython/wx/lib/PythonBitmaps.py | 11 + wxPython/wx/lib/__init__.py | 1 + wxPython/wx/lib/activexwrapper.py | 11 + wxPython/wx/lib/analogclock.py | 11 + wxPython/wx/lib/anchors.py | 11 + wxPython/wx/lib/buttons.py | 11 + wxPython/wx/lib/calendar.py | 11 + wxPython/wx/lib/colourchooser/__init__.py | 1 + wxPython/wx/lib/colourchooser/canvas.py | 11 + wxPython/wx/lib/colourchooser/intl.py | 11 + wxPython/wx/lib/colourchooser/pycolourbox.py | 11 + .../wx/lib/colourchooser/pycolourchooser.py | 11 + .../wx/lib/colourchooser/pycolourslider.py | 11 + wxPython/wx/lib/colourchooser/pypalette.py | 11 + wxPython/wx/lib/colourdb.py | 11 + wxPython/wx/lib/colourselect.py | 11 + wxPython/wx/lib/dialogs.py | 11 + wxPython/wx/lib/editor/__init__.py | 1 + wxPython/wx/lib/editor/editor.py | 11 + wxPython/wx/lib/editor/images.py | 11 + wxPython/wx/lib/editor/selection.py | 11 + wxPython/wx/lib/evtmgr.py | 11 + wxPython/wx/lib/fancytext.py | 11 + wxPython/wx/lib/filebrowsebutton.py | 11 + wxPython/wx/lib/floatbar.py | 11 + wxPython/wx/lib/gridmovers.py | 11 + wxPython/wx/lib/grids.py | 11 + wxPython/wx/lib/imagebrowser.py | 11 + wxPython/wx/lib/imageutils.py | 11 + wxPython/wx/lib/infoframe.py | 11 + wxPython/wx/lib/intctrl.py | 11 + wxPython/wx/lib/layoutf.py | 11 + wxPython/wx/lib/maskededit.py | 11 + wxPython/wx/lib/mixins/__init__.py | 1 + wxPython/wx/lib/mixins/grid.py | 11 + wxPython/wx/lib/mixins/imagelist.py | 11 + wxPython/wx/lib/mixins/listctrl.py | 11 + wxPython/wx/lib/mixins/rubberband.py | 11 + wxPython/wx/lib/multisash.py | 11 + wxPython/wx/lib/mvctree.py | 11 + wxPython/wx/lib/popupctl.py | 11 + wxPython/wx/lib/printout.py | 11 + wxPython/wx/lib/pubsub.py | 11 + wxPython/wx/lib/pyshell.py | 11 + wxPython/wx/lib/rcsizer.py | 11 + wxPython/wx/lib/rightalign.py | 11 + wxPython/wx/lib/rpcMixin.py | 11 + wxPython/wx/lib/scrolledpanel.py | 11 + wxPython/wx/lib/sheet.py | 11 + wxPython/wx/lib/shell.py | 11 + wxPython/wx/lib/splashscreen.py | 11 + wxPython/wx/lib/stattext.py | 11 + wxPython/wx/lib/throbber.py | 11 + wxPython/wx/lib/timectrl.py | 11 + wxPython/wx/lib/vtk.py | 11 + wxPython/wx/lib/wxPlotCanvas.py | 11 + wxPython/wx/lib/wxpTag.py | 11 + wxPython/wx/ogl.py | 11 + wxPython/wx/py/PyAlaCarte.py | 11 + wxPython/wx/py/PyAlaMode.py | 11 + wxPython/wx/py/PyCrust.py | 11 + wxPython/wx/py/PyFilling.py | 11 + wxPython/wx/py/PyShell.py | 11 + wxPython/wx/py/PyWrap.py | 11 + wxPython/wx/py/__init__.py | 3 + wxPython/wx/py/buffer.py | 11 + wxPython/wx/py/crust.py | 11 + wxPython/wx/py/dispatcher.py | 11 + wxPython/wx/py/document.py | 11 + wxPython/wx/py/editor.py | 11 + wxPython/wx/py/editwindow.py | 11 + wxPython/wx/py/filling.py | 11 + wxPython/wx/py/frame.py | 11 + wxPython/wx/py/images.py | 11 + wxPython/wx/py/interpreter.py | 11 + wxPython/wx/py/introspect.py | 11 + wxPython/wx/py/pseudo.py | 11 + wxPython/wx/py/shell.py | 11 + wxPython/wx/py/version.py | 11 + wxPython/wx/stc.py | 11 + wxPython/wx/tools/XRCed/__init__.py | 1 + wxPython/wx/tools/XRCed/encode_bitmaps.py | 11 + wxPython/wx/tools/XRCed/globals.py | 11 + wxPython/wx/tools/XRCed/images.py | 11 + wxPython/wx/tools/XRCed/panel.py | 11 + wxPython/wx/tools/XRCed/params.py | 11 + wxPython/wx/tools/XRCed/tools.py | 11 + wxPython/wx/tools/XRCed/tree.py | 11 + wxPython/wx/tools/XRCed/undo.py | 11 + wxPython/wx/tools/XRCed/xrced.py | 11 + wxPython/wx/tools/XRCed/xxx.py | 11 + wxPython/wx/tools/__init__.py | 1 + wxPython/wx/tools/dbg.py | 11 + wxPython/wx/tools/helpviewer.py | 11 + wxPython/wx/tools/img2img.py | 11 + wxPython/wx/tools/img2png.py | 11 + wxPython/wx/tools/img2py.py | 11 + wxPython/wx/tools/img2xpm.py | 11 + wxPython/wx/wizard.py | 11 + wxPython/wx/xrc.py | 11 + wxPython/wxPython/lib/PyCrust/.cvsignore | 3 - wxPython/wxPython/lib/PyCrust/CHANGES.txt | 512 -- wxPython/wxPython/lib/PyCrust/PyCrustApp.py | 66 +- wxPython/wxPython/lib/PyCrust/PyFillingApp.py | 41 +- wxPython/wxPython/lib/PyCrust/PyShellApp.py | 67 +- wxPython/wxPython/lib/PyCrust/__init__.py | 6 +- wxPython/wxPython/lib/PyCrust/crust.py | 169 +- wxPython/wxPython/lib/PyCrust/filling.py | 435 +- wxPython/wxPython/lib/PyCrust/shell.py | 1186 +--- wxPython/wxPython/lib/PyCrust/shellmenu.py | 226 - wxPython/wxPython/lib/PyCrust/wrap.py | 51 +- wxPython/wxPython/lib/PyCrust/wxd/Sizers.py | 488 -- wxPython/wxPython/lib/analogclock.py | 201 + wxPython/wxPython/lib/calendar.py | 10 +- wxPython/wxPython/lib/dialogs.py | 7 +- wxPython/wxPython/lib/evtmgr.py | 7 +- wxPython/wxPython/lib/imagebrowser.py | 1 + wxPython/wxPython/lib/infoframe.py | 4 +- wxPython/wxPython/lib/intctrl.py | 60 +- wxPython/wxPython/lib/maskededit.py | 5348 +++++++++++++++++ wxPython/wxPython/lib/mixins/rubberband.py | 19 +- wxPython/wxPython/lib/popupctl.py | 8 +- wxPython/wxPython/lib/pubsub.py | 2 +- wxPython/wxPython/lib/rightalign.py | 9 + wxPython/wxPython/lib/scrolledpanel.py | 18 +- wxPython/wxPython/lib/stattext.py | 20 +- wxPython/wxPython/lib/timectrl.py | 1550 +++-- wxPython/wxPython/py/CHANGES.txt | 594 ++ .../{lib/PyCrust/PyCrust.ico => py/Py.ico} | Bin wxPython/wxPython/py/PyAlaCarte.py | 43 + wxPython/wxPython/py/PyAlaMode.py | 43 + wxPython/wxPython/py/PyAlaModeTest.py | 42 + wxPython/wxPython/py/PyCrust.ico | Bin 0 -> 4710 bytes wxPython/wxPython/py/PyCrust.py | 78 + wxPython/wxPython/py/PyCrust_16.png | Bin 0 -> 706 bytes wxPython/wxPython/py/PyCrust_32.png | Bin 0 -> 1273 bytes wxPython/wxPython/py/PyFilling.py | 43 + wxPython/wxPython/py/PyShell.py | 79 + wxPython/wxPython/py/PyWrap.py | 56 + .../wxPython/{lib/PyCrust => py}/README.txt | 0 wxPython/wxPython/py/__init__.py | 20 + wxPython/wxPython/py/buffer.py | 144 + wxPython/wxPython/py/crust.py | 221 + .../{lib/PyCrust => py}/dispatcher.py | 0 wxPython/wxPython/py/document.py | 49 + wxPython/wxPython/py/editor.py | 839 +++ wxPython/wxPython/py/editwindow.py | 199 + wxPython/wxPython/py/filling.py | 337 ++ wxPython/wxPython/py/frame.py | 348 ++ .../wxPython/{lib/PyCrust => py}/images.py | 39 +- .../{lib/PyCrust => py}/interpreter.py | 6 +- .../{lib/PyCrust => py}/introspect.py | 18 +- .../wxPython/{lib/PyCrust => py}/pseudo.py | 0 wxPython/wxPython/py/shell.py | 1039 ++++ .../wxPython/py/tests/test_interpreter.py | 82 + wxPython/wxPython/py/tests/test_introspect.py | 862 +++ wxPython/wxPython/py/tests/test_pseudo.py | 81 + wxPython/wxPython/py/tests/test_version.py | 49 + wxPython/wxPython/py/tests/testall.py | 25 + .../wxPython/{lib/PyCrust => py}/version.py | 8 +- .../{lib/PyCrust => py}/wxd/Accelerators.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/App.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Base.py | 0 .../{lib/PyCrust => py}/wxd/ClipDragDrop.py | 0 .../{lib/PyCrust => py}/wxd/Config.py | 0 .../{lib/PyCrust => py}/wxd/Controls.py | 35 +- .../{lib/PyCrust => py}/wxd/DataStructures.py | 0 .../{lib/PyCrust => py}/wxd/DateTime.py | 0 .../{lib/PyCrust => py}/wxd/Dialogs.py | 0 .../{lib/PyCrust => py}/wxd/Drawing.py | 0 .../{lib/PyCrust => py}/wxd/Errors.py | 0 .../{lib/PyCrust => py}/wxd/EventFunctions.py | 7 + .../{lib/PyCrust => py}/wxd/Events.py | 0 .../{lib/PyCrust => py}/wxd/FileSystem.py | 0 .../{lib/PyCrust => py}/wxd/Frames.py | 109 +- .../{lib/PyCrust => py}/wxd/Functions.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Help.py | 0 .../{lib/PyCrust => py}/wxd/ImageHandlers.py | 0 .../{lib/PyCrust => py}/wxd/Joystick.py | 0 .../PyCrust => py}/wxd/LayoutConstraints.py | 0 .../{lib/PyCrust => py}/wxd/Logging.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Menus.py | 0 .../{lib/PyCrust => py}/wxd/MimeTypes.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Misc.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Panel.py | 0 .../{lib/PyCrust => py}/wxd/Parameters.py | 1 + .../{lib/PyCrust => py}/wxd/Printing.py | 0 .../{lib/PyCrust => py}/wxd/Process.py | 0 .../{lib/PyCrust => py}/wxd/SashSplitter.py | 0 wxPython/wxPython/py/wxd/Sizers.py | 605 ++ .../{lib/PyCrust => py}/wxd/Streams.py | 0 .../PyCrust => py}/wxd/StyledTextConstants.py | 0 .../{lib/PyCrust => py}/wxd/Threading.py | 0 .../{lib/PyCrust => py}/wxd/ToolBar.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/Tree.py | 57 +- .../{lib/PyCrust => py}/wxd/Validators.py | 0 .../{lib/PyCrust => py}/wxd/Window.py | 0 .../{lib/PyCrust => py}/wxd/__init__.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/d_stc.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/d_wx.py | 0 .../{lib/PyCrust => py}/wxd/decorator.py | 3 +- .../wxPython/{lib/PyCrust => py}/wxd/gen.py | 0 wxPython/wxPython/py/wxd/genapi.py | 133 + .../wxPython/{lib/PyCrust => py}/wxd/stc_.py | 0 .../wxPython/{lib/PyCrust => py}/wxd/wx_.py | 4 + wxPython/wxPython/tools/XRCed/CHANGES.txt | 37 + wxPython/wxPython/tools/XRCed/XRCed_16.png | Bin 0 -> 542 bytes wxPython/wxPython/tools/XRCed/XRCed_32.png | Bin 0 -> 677 bytes wxPython/wxPython/tools/XRCed/globals.py | 4 +- wxPython/wxPython/tools/XRCed/params.py | 108 +- .../tools/XRCed/src-images/TreeToolBar.png | Bin 194 -> 185 bytes wxPython/wxPython/tools/XRCed/tools.py | 1 + wxPython/wxPython/tools/XRCed/tree.py | 163 +- wxPython/wxPython/tools/XRCed/xrced.py | 105 +- wxPython/wxPython/tools/XRCed/xrced.xrc | 50 + wxPython/wxPython/tools/XRCed/xxx.py | 51 +- wxPython/wxSWIG/Modules/pycpp.cxx | 10 +- wxPython/wxSWIG/Modules/python.cxx | 2 +- 535 files changed, 49070 insertions(+), 20238 deletions(-) create mode 100644 wxPython/contrib/gizmos/treelistctrl.cpp create mode 100644 wxPython/contrib/gizmos/treelistctrl.h create mode 100644 wxPython/demo/AnalogClockWindow.py create mode 100644 wxPython/demo/GridDragAndDrop.py create mode 100644 wxPython/demo/MaskedEditControls.py create mode 100644 wxPython/demo/NewNamespace.py create mode 100644 wxPython/demo/PopupMenu.py delete mode 100644 wxPython/demo/PyCrustWithFilling.py create mode 100644 wxPython/demo/PyShell.py create mode 100644 wxPython/demo/ShapedWindow.py delete mode 100644 wxPython/demo/SlashDot.py create mode 100644 wxPython/demo/bmp_source/Tux.png create mode 100644 wxPython/demo/data/wxPackage.html create mode 100644 wxPython/demo/wxFileDialog_Save.py create mode 100644 wxPython/demo/wxGrid_MegaExample.py create mode 100644 wxPython/demo/wxTreeListCtrl.py create mode 100644 wxPython/distrib/make_static_setup.py create mode 100644 wxPython/distrib/wx_conv.py create mode 100644 wxPython/distrib/wx_create.py create mode 100644 wxPython/docs/PyManual.txt create mode 100644 wxPython/docs/default.css create mode 100644 wxPython/docs/docutils.conf create mode 100644 wxPython/docs/screenshots/hello-linux.png create mode 100644 wxPython/docs/screenshots/hello-mac.png create mode 100644 wxPython/docs/screenshots/hello-win98.png create mode 100644 wxPython/docs/wxPackage.txt create mode 100644 wxPython/docs/wxPythonDocs.txt create mode 100644 wxPython/docs/wxPythonExamples.txt create mode 100644 wxPython/docs/wxPythonManual.txt create mode 100644 wxPython/docs/wxPythonTutorial.txt rename wxPython/{demo => samples/hangman}/hangman.py (100%) create mode 100644 wxPython/samples/wx_examples/basic/__init__.py create mode 100755 wxPython/samples/wx_examples/basic/app.py create mode 100755 wxPython/samples/wx_examples/basic/frame.py create mode 100644 wxPython/samples/wx_examples/hello/__init__.py create mode 100755 wxPython/samples/wx_examples/hello/hello.py create mode 100644 wxPython/samples/wx_examples/hello/wxPython.jpg create mode 100755 wxPython/scripts/pyalacarte create mode 100755 wxPython/scripts/pyalacarte.bat create mode 100755 wxPython/scripts/pyalamode create mode 100755 wxPython/scripts/pyalamode.bat delete mode 100755 wxPython/scripts/pycwrap delete mode 100755 wxPython/scripts/pycwrap.bat create mode 100755 wxPython/scripts/pywrap create mode 100755 wxPython/scripts/pywrap.bat create mode 100644 wxPython/src/pytree.h delete mode 100644 wxPython/tests/.cvsignore delete mode 100644 wxPython/tests/README.txt delete mode 100644 wxPython/tests/TstLstIcon.py delete mode 100644 wxPython/tests/alternateThread.py delete mode 100644 wxPython/tests/atom.bmp delete mode 100644 wxPython/tests/bitmaps/copy.bmp delete mode 100644 wxPython/tests/bitmaps/mondrian.ico delete mode 100644 wxPython/tests/bitmaps/new.bmp delete mode 100644 wxPython/tests/bitmaps/open.bmp delete mode 100644 wxPython/tests/bitmaps/paste.bmp delete mode 100644 wxPython/tests/bitmaps/smiles.bmp delete mode 100644 wxPython/tests/bitmaps/smiles.ico delete mode 100644 wxPython/tests/bitmaps/test2.bmp delete mode 100644 wxPython/tests/bitmaps/tog1.bmp delete mode 100644 wxPython/tests/bitmaps/tog2.bmp delete mode 100644 wxPython/tests/blit.py delete mode 100644 wxPython/tests/dynamicform.py delete mode 100644 wxPython/tests/fs_test.py delete mode 100644 wxPython/tests/getvalues.py delete mode 100644 wxPython/tests/grid.py delete mode 100644 wxPython/tests/gridtest.py delete mode 100644 wxPython/tests/hangman.py delete mode 100644 wxPython/tests/hook.py delete mode 100644 wxPython/tests/info.bmp delete mode 100644 wxPython/tests/leave.py delete mode 100644 wxPython/tests/listGetItem.py delete mode 100644 wxPython/tests/memleak.py delete mode 100644 wxPython/tests/menu_replace.py delete mode 100644 wxPython/tests/og.py delete mode 100644 wxPython/tests/paul.py delete mode 100644 wxPython/tests/popup.py delete mode 100644 wxPython/tests/pytree.py delete mode 100644 wxPython/tests/query.bmp delete mode 100644 wxPython/tests/runner.py delete mode 100644 wxPython/tests/scroll_paint.py delete mode 100644 wxPython/tests/spies.py delete mode 100644 wxPython/tests/spies2.py delete mode 100644 wxPython/tests/ste.py delete mode 100644 wxPython/tests/table.bmp delete mode 100644 wxPython/tests/tabs.py delete mode 100644 wxPython/tests/test1.py delete mode 100644 wxPython/tests/test2.py delete mode 100644 wxPython/tests/test3.py delete mode 100644 wxPython/tests/test4.py delete mode 100644 wxPython/tests/test5.py delete mode 100644 wxPython/tests/test6.py delete mode 100644 wxPython/tests/test7.py delete mode 100644 wxPython/tests/test8.py delete mode 100644 wxPython/tests/testDlg.py delete mode 100644 wxPython/tests/testTree.py delete mode 100644 wxPython/tests/testi.py delete mode 100644 wxPython/tests/thrtest.py delete mode 100644 wxPython/tests/thtest.py delete mode 100644 wxPython/tests/txml.py delete mode 100644 wxPython/tests/val.py delete mode 100644 wxPython/tests/wxFrame1.py delete mode 100644 wxPython/tests/wxPlotCanvas.py delete mode 100644 wxPython/tests/wxSlash.py delete mode 100644 wxPython/tests/zigron.py create mode 100644 wxPython/wx/__init__.py create mode 100644 wxPython/wx/calendar.py create mode 100644 wxPython/wx/dllwidget.py create mode 100644 wxPython/wx/gizmos.py create mode 100644 wxPython/wx/glcanvas.py create mode 100644 wxPython/wx/grid.py create mode 100644 wxPython/wx/help.py create mode 100644 wxPython/wx/html.py create mode 100644 wxPython/wx/iewin.py create mode 100644 wxPython/wx/lib/CDate.py create mode 100644 wxPython/wx/lib/ClickableHtmlWindow.py create mode 100644 wxPython/wx/lib/ErrorDialogs.py create mode 100644 wxPython/wx/lib/ErrorDialogs_wdr.py create mode 100644 wxPython/wx/lib/PythonBitmaps.py create mode 100644 wxPython/wx/lib/__init__.py create mode 100644 wxPython/wx/lib/activexwrapper.py create mode 100644 wxPython/wx/lib/analogclock.py create mode 100644 wxPython/wx/lib/anchors.py create mode 100644 wxPython/wx/lib/buttons.py create mode 100644 wxPython/wx/lib/calendar.py create mode 100644 wxPython/wx/lib/colourchooser/__init__.py create mode 100644 wxPython/wx/lib/colourchooser/canvas.py create mode 100644 wxPython/wx/lib/colourchooser/intl.py create mode 100644 wxPython/wx/lib/colourchooser/pycolourbox.py create mode 100644 wxPython/wx/lib/colourchooser/pycolourchooser.py create mode 100644 wxPython/wx/lib/colourchooser/pycolourslider.py create mode 100644 wxPython/wx/lib/colourchooser/pypalette.py create mode 100644 wxPython/wx/lib/colourdb.py create mode 100644 wxPython/wx/lib/colourselect.py create mode 100644 wxPython/wx/lib/dialogs.py create mode 100644 wxPython/wx/lib/editor/__init__.py create mode 100644 wxPython/wx/lib/editor/editor.py create mode 100644 wxPython/wx/lib/editor/images.py create mode 100644 wxPython/wx/lib/editor/selection.py create mode 100644 wxPython/wx/lib/evtmgr.py create mode 100644 wxPython/wx/lib/fancytext.py create mode 100644 wxPython/wx/lib/filebrowsebutton.py create mode 100644 wxPython/wx/lib/floatbar.py create mode 100644 wxPython/wx/lib/gridmovers.py create mode 100644 wxPython/wx/lib/grids.py create mode 100644 wxPython/wx/lib/imagebrowser.py create mode 100644 wxPython/wx/lib/imageutils.py create mode 100644 wxPython/wx/lib/infoframe.py create mode 100644 wxPython/wx/lib/intctrl.py create mode 100644 wxPython/wx/lib/layoutf.py create mode 100644 wxPython/wx/lib/maskededit.py create mode 100644 wxPython/wx/lib/mixins/__init__.py create mode 100644 wxPython/wx/lib/mixins/grid.py create mode 100644 wxPython/wx/lib/mixins/imagelist.py create mode 100644 wxPython/wx/lib/mixins/listctrl.py create mode 100644 wxPython/wx/lib/mixins/rubberband.py create mode 100644 wxPython/wx/lib/multisash.py create mode 100644 wxPython/wx/lib/mvctree.py create mode 100644 wxPython/wx/lib/popupctl.py create mode 100644 wxPython/wx/lib/printout.py create mode 100644 wxPython/wx/lib/pubsub.py create mode 100644 wxPython/wx/lib/pyshell.py create mode 100644 wxPython/wx/lib/rcsizer.py create mode 100644 wxPython/wx/lib/rightalign.py create mode 100644 wxPython/wx/lib/rpcMixin.py create mode 100644 wxPython/wx/lib/scrolledpanel.py create mode 100644 wxPython/wx/lib/sheet.py create mode 100644 wxPython/wx/lib/shell.py create mode 100644 wxPython/wx/lib/splashscreen.py create mode 100644 wxPython/wx/lib/stattext.py create mode 100644 wxPython/wx/lib/throbber.py create mode 100644 wxPython/wx/lib/timectrl.py create mode 100644 wxPython/wx/lib/vtk.py create mode 100644 wxPython/wx/lib/wxPlotCanvas.py create mode 100644 wxPython/wx/lib/wxpTag.py create mode 100644 wxPython/wx/ogl.py create mode 100644 wxPython/wx/py/PyAlaCarte.py create mode 100644 wxPython/wx/py/PyAlaMode.py create mode 100644 wxPython/wx/py/PyCrust.py create mode 100644 wxPython/wx/py/PyFilling.py create mode 100644 wxPython/wx/py/PyShell.py create mode 100644 wxPython/wx/py/PyWrap.py create mode 100644 wxPython/wx/py/__init__.py create mode 100644 wxPython/wx/py/buffer.py create mode 100644 wxPython/wx/py/crust.py create mode 100644 wxPython/wx/py/dispatcher.py create mode 100644 wxPython/wx/py/document.py create mode 100644 wxPython/wx/py/editor.py create mode 100644 wxPython/wx/py/editwindow.py create mode 100644 wxPython/wx/py/filling.py create mode 100644 wxPython/wx/py/frame.py create mode 100644 wxPython/wx/py/images.py create mode 100644 wxPython/wx/py/interpreter.py create mode 100644 wxPython/wx/py/introspect.py create mode 100644 wxPython/wx/py/pseudo.py create mode 100644 wxPython/wx/py/shell.py create mode 100644 wxPython/wx/py/version.py create mode 100644 wxPython/wx/stc.py create mode 100644 wxPython/wx/tools/XRCed/__init__.py create mode 100644 wxPython/wx/tools/XRCed/encode_bitmaps.py create mode 100644 wxPython/wx/tools/XRCed/globals.py create mode 100644 wxPython/wx/tools/XRCed/images.py create mode 100644 wxPython/wx/tools/XRCed/panel.py create mode 100644 wxPython/wx/tools/XRCed/params.py create mode 100644 wxPython/wx/tools/XRCed/tools.py create mode 100644 wxPython/wx/tools/XRCed/tree.py create mode 100644 wxPython/wx/tools/XRCed/undo.py create mode 100644 wxPython/wx/tools/XRCed/xrced.py create mode 100644 wxPython/wx/tools/XRCed/xxx.py create mode 100644 wxPython/wx/tools/__init__.py create mode 100644 wxPython/wx/tools/dbg.py create mode 100644 wxPython/wx/tools/helpviewer.py create mode 100644 wxPython/wx/tools/img2img.py create mode 100644 wxPython/wx/tools/img2png.py create mode 100644 wxPython/wx/tools/img2py.py create mode 100644 wxPython/wx/tools/img2xpm.py create mode 100644 wxPython/wx/wizard.py create mode 100644 wxPython/wx/xrc.py delete mode 100644 wxPython/wxPython/lib/PyCrust/.cvsignore delete mode 100644 wxPython/wxPython/lib/PyCrust/CHANGES.txt delete mode 100644 wxPython/wxPython/lib/PyCrust/shellmenu.py delete mode 100644 wxPython/wxPython/lib/PyCrust/wxd/Sizers.py create mode 100644 wxPython/wxPython/lib/analogclock.py create mode 100644 wxPython/wxPython/lib/maskededit.py create mode 100644 wxPython/wxPython/py/CHANGES.txt rename wxPython/wxPython/{lib/PyCrust/PyCrust.ico => py/Py.ico} (100%) create mode 100755 wxPython/wxPython/py/PyAlaCarte.py create mode 100755 wxPython/wxPython/py/PyAlaMode.py create mode 100755 wxPython/wxPython/py/PyAlaModeTest.py create mode 100644 wxPython/wxPython/py/PyCrust.ico create mode 100755 wxPython/wxPython/py/PyCrust.py create mode 100644 wxPython/wxPython/py/PyCrust_16.png create mode 100644 wxPython/wxPython/py/PyCrust_32.png create mode 100755 wxPython/wxPython/py/PyFilling.py create mode 100755 wxPython/wxPython/py/PyShell.py create mode 100755 wxPython/wxPython/py/PyWrap.py rename wxPython/wxPython/{lib/PyCrust => py}/README.txt (100%) create mode 100644 wxPython/wxPython/py/__init__.py create mode 100644 wxPython/wxPython/py/buffer.py create mode 100644 wxPython/wxPython/py/crust.py rename wxPython/wxPython/{lib/PyCrust => py}/dispatcher.py (100%) create mode 100644 wxPython/wxPython/py/document.py create mode 100644 wxPython/wxPython/py/editor.py create mode 100644 wxPython/wxPython/py/editwindow.py create mode 100644 wxPython/wxPython/py/filling.py create mode 100644 wxPython/wxPython/py/frame.py rename wxPython/wxPython/{lib/PyCrust => py}/images.py (87%) rename wxPython/wxPython/{lib/PyCrust => py}/interpreter.py (96%) rename wxPython/wxPython/{lib/PyCrust => py}/introspect.py (96%) rename wxPython/wxPython/{lib/PyCrust => py}/pseudo.py (100%) create mode 100644 wxPython/wxPython/py/shell.py create mode 100644 wxPython/wxPython/py/tests/test_interpreter.py create mode 100644 wxPython/wxPython/py/tests/test_introspect.py create mode 100644 wxPython/wxPython/py/tests/test_pseudo.py create mode 100644 wxPython/wxPython/py/tests/test_version.py create mode 100644 wxPython/wxPython/py/tests/testall.py rename wxPython/wxPython/{lib/PyCrust => py}/version.py (52%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Accelerators.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/App.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Base.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/ClipDragDrop.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Config.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Controls.py (97%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/DataStructures.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/DateTime.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Dialogs.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Drawing.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Errors.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/EventFunctions.py (98%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Events.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/FileSystem.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Frames.py (67%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Functions.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Help.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/ImageHandlers.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Joystick.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/LayoutConstraints.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Logging.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Menus.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/MimeTypes.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Misc.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Panel.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Parameters.py (98%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Printing.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Process.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/SashSplitter.py (100%) create mode 100644 wxPython/wxPython/py/wxd/Sizers.py rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Streams.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/StyledTextConstants.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Threading.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/ToolBar.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Tree.py (82%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Validators.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/Window.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/__init__.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/d_stc.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/d_wx.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/decorator.py (98%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/gen.py (100%) create mode 100644 wxPython/wxPython/py/wxd/genapi.py rename wxPython/wxPython/{lib/PyCrust => py}/wxd/stc_.py (100%) rename wxPython/wxPython/{lib/PyCrust => py}/wxd/wx_.py (89%) create mode 100644 wxPython/wxPython/tools/XRCed/XRCed_16.png create mode 100644 wxPython/wxPython/tools/XRCed/XRCed_32.png diff --git a/wxPython/.cvsignore b/wxPython/.cvsignore index 38dfbf734e..6e3d362030 100644 --- a/wxPython/.cvsignore +++ b/wxPython/.cvsignore @@ -5,8 +5,10 @@ MANIFEST _build_dmg _build_rpm build +build-dbg build-gtk build-gtk2 +build-gtk2-dbg.unicode build-gtk2.unicode build-pkg build-pkg-debug diff --git a/wxPython/BUILD.win32.txt b/wxPython/BUILD.win32.txt index f0cde57a6b..bbec92c2c7 100644 --- a/wxPython/BUILD.win32.txt +++ b/wxPython/BUILD.win32.txt @@ -119,6 +119,7 @@ C. Change to the %WXWIN%\include\wx\msw directory and copy setup0.h to wxUSE_TREELAYOUT 0 wxUSE_MS_HTML_HELP 0 wxUSE_POSTSCRIPT 1 + wxUSE_DYNLIB_CLASS 1 ** NEW ** diff --git a/wxPython/CHANGES.txt b/wxPython/CHANGES.txt index 1f94276ec2..5d81424b18 100644 --- a/wxPython/CHANGES.txt +++ b/wxPython/CHANGES.txt @@ -2,10 +2,85 @@ CHANGES.txt for wxPython ---------------------------------------------------------------------- -????? +2.4.1.x ------- -Added wxScrolledPanel from Wil Sadkin +Use wxSTC in the demo for displaying the soucre code of the samples. + + + + + +2.4.1.2 +------- + +Added wxScrolledPanel from Will Sadkin + +Added SetShape method to top level windows (e.g. wxFrame.) + +Changed wxSWIG to not generate Python code using apply, (since it will +be deprecated in the future) wxSWIG will use spam(*args, **kw) syntax +instead. Also changed the generated __repr__ methods to be a bit more +informative. + +Made the version number information more robust and uh, informative. +Also added asserts to check that the major.minor versions of wxPython +and wxWindows match. + +Added the new wx "renamer" package that will dynamically import from +the wxPython package and rename wxFooBar --> FooBar. That means that +people can do imports without "import *" and can use names like +wx.Frame instead of wx.wxFrame. This is phase 1 of a full transition +to the new namespace. + +Updated Scintilla to 1.52. I also changed it to use wxListCtrl +instead of wxListBox for the AutoComplete window, added the ability to +use custom bitmaps in the margin and in the AutoComplete windows, and +worked out how to do proper clipping of child windows on wxGTK. + +Patrick O'Brien's PyCrust package has been renamed to Py and now +includes several new tools. As part of the change the location of the +pacakge has changed as well, it is now accessible as "from wxPython +import py" (or "from wx import py" using the new namespace.) There +are still some transition modules in the wxPython.lib.PyCrust package +that will issue a warning and then import what is needed from the new +package. These will be removed in a future release. + +Added __nonzero__ method to wxTreeItemId, wxBitmap, wxImage, wxFont, +and most other classes that have an Ok or IsOK method. This allows +code like "if obj: ..." to be the same as "if obj.IsOk(): ..." + +Toolbars on wxMac can now have controls on them. + +Added wxPython.lib.analogclock module based on samples that were +passed back and forth on wxPython-users a while back. + +Added masked edit controls (wxPython.lib.maskededit) by Jeff Childers +and Will Sadkin. Updated wxTimeCtrl to use MaskedEdit. + +When the __class__ of a dead object is replaced with _wxPyDeadObject +the __del__ of the original class is now called first. + +Added wxTreeListCtrl. (Looks like a wxTreeCtrl embedded in a +wxListCtrl, but actually is just giving multiple columns to a +wxTreeCtrl.) + +Added wxFutureCall, a subclass of wxTimer that makes it easy to delay +a call to any Python callable object. + +Added wxPy versions of wxPrintPreview, wxPreviewFrame, and +wxPreviewControlBar so they can be derived from in Python and be able +to override the C++ virtual methods. + +Simplified how the wxSizer methods are wrapped, changed the name of +the "option" parameter to "proportion" to match the docs ("option" is +still accepted for compatibility, but this will go away in a future +release,) SetItemMinSize can now take a wxSize (or 2-tuple) parameter, +and Spacers can be specified with a wxSize (or 2-tuple) parameter + +Added wxCursorFromBits. + + @@ -411,6 +486,7 @@ Added wxTimeCtrl from Will Sadkin. + 2.3.2.1 ------- Changed (again) how the Python global interpreter lock is handled as diff --git a/wxPython/MANIFEST.in b/wxPython/MANIFEST.in index 0dbd7d830c..d515a5580b 100644 --- a/wxPython/MANIFEST.in +++ b/wxPython/MANIFEST.in @@ -1,3 +1,5 @@ +# This is way out of date. (It's not activly used anymore...) + include *.txt include my_distutils.py ## include my_install_data.py diff --git a/wxPython/contrib/dllwidget/dllwidget_.py b/wxPython/contrib/dllwidget/dllwidget_.py index f0e64379fc..39ace44c84 100644 --- a/wxPython/contrib/dllwidget/dllwidget_.py +++ b/wxPython/contrib/dllwidget/dllwidget_.py @@ -47,19 +47,19 @@ class wxDllWidgetPtr(wxPanelPtr): self.this = this self.thisown = 0 def Ok(self, *_args, **_kwargs): - val = apply(dllwidget_c.wxDllWidget_Ok,(self,) + _args, _kwargs) + val = dllwidget_c.wxDllWidget_Ok(self, *_args, **_kwargs) return val def SendCommand(self, *_args, **_kwargs): - val = apply(dllwidget_c.wxDllWidget_SendCommand,(self,) + _args, _kwargs) + val = dllwidget_c.wxDllWidget_SendCommand(self, *_args, **_kwargs) return val def GetWidgetWindow(self, *_args, **_kwargs): - val = apply(dllwidget_c.wxDllWidget_GetWidgetWindow,(self,) + _args, _kwargs) + val = dllwidget_c.wxDllWidget_GetWidgetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDllWidget instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDllWidget(wxDllWidgetPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(dllwidget_c.new_wxDllWidget,_args,_kwargs) + self.this = dllwidget_c.new_wxDllWidget(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) diff --git a/wxPython/contrib/gizmos/gizmos.cpp b/wxPython/contrib/gizmos/gizmos.cpp index 0abd1ec076..82418d6b0a 100644 --- a/wxPython/contrib/gizmos/gizmos.cpp +++ b/wxPython/contrib/gizmos/gizmos.cpp @@ -59,7 +59,12 @@ extern PyObject *SWIG_newvarlink(void); #include #include #include + #include +#include +#include +#include "treelistctrl.h" +#include "pytree.h" static PyObject* t_output_helper(PyObject* target, PyObject* o) { @@ -91,6 +96,8 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { // Put some wx default wxChar* values into wxStrings. static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow")); static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox")); + static const wxString wxPyTreeListCtrlNameStr(wxT("treelistctrl")); + static const wxString wxPyEmptyString(wxT("")); typedef wxTreeCtrl wxPyTreeCtrl; @@ -123,6 +130,43 @@ public: PYPRIVATE; }; + // C++ version of Python aware control +class wxPyTreeListCtrl : public wxTreeListCtrl { + DECLARE_ABSTRACT_CLASS(wxPyTreeListCtrl); +public: + wxPyTreeListCtrl() : wxTreeListCtrl() {} + wxPyTreeListCtrl(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator &validator, + const wxString& name) : + wxTreeListCtrl(parent, id, pos, size, style, validator, name) {} + + int OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2) { + int rval = 0; + bool found; + wxPyBeginBlockThreads(); + if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) { + PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0); + PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0); + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2)); + Py_DECREF(o1); + Py_DECREF(o2); + } + wxPyEndBlockThreads(); + if (! found) + rval = wxTreeListCtrl::OnCompareItems(item1, item2); + return rval; + } + PYPRIVATE; +}; + +IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl) + + + static const long longzero = 0; #ifdef __cplusplus extern "C" { #endif @@ -1904,7 +1948,4376 @@ static PyObject *_wrap_wxLEDNumberCtrl_SetValue(PyObject *self, PyObject *args, return _resultobj; } +static void *SwigwxTreeListColumnInfoTowxObject(void *ptr) { + wxTreeListColumnInfo *src; + wxObject *dest; + src = (wxTreeListColumnInfo *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxTreeListColumnInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3) (new wxTreeListColumnInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_new_wxTreeListColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _result; + wxString * _arg0 = (wxString *) &wxPyEmptyString; + int _arg1 = (int ) -1; + size_t _arg2 = (size_t ) 100; + wxTreeListColumnAlign _arg3 = (wxTreeListColumnAlign ) (wxTL_ALIGN_LEFT); + PyObject * _obj0 = 0; + char *_kwnames[] = { "text","image","width","alignment", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|Oiii:new_wxTreeListColumnInfo",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) + return NULL; + if (_obj0) +{ + _arg0 = wxString_in_helper(_obj0); + if (_arg0 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxTreeListColumnInfo *)new_wxTreeListColumnInfo(*_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxTreeListColumnInfo_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + +#define wxTreeListColumnInfo_GetAlignment(_swigobj) (_swigobj->GetAlignment()) +static PyObject *_wrap_wxTreeListColumnInfo_GetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnAlign _result; + wxTreeListColumnInfo * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListColumnInfo_GetAlignment",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_GetAlignment. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxTreeListColumnAlign )wxTreeListColumnInfo_GetAlignment(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListColumnInfo_GetText(_swigobj) (_swigobj->GetText()) +static PyObject *_wrap_wxTreeListColumnInfo_GetText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxString * _result; + wxTreeListColumnInfo * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListColumnInfo_GetText",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_GetText. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxString (wxTreeListColumnInfo_GetText(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ +#if wxUSE_UNICODE + _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len()); +#else + _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len()); +#endif +} +{ + delete _result; +} + return _resultobj; +} + +#define wxTreeListColumnInfo_GetImage(_swigobj) (_swigobj->GetImage()) +static PyObject *_wrap_wxTreeListColumnInfo_GetImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxTreeListColumnInfo * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListColumnInfo_GetImage",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_GetImage. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxTreeListColumnInfo_GetImage(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListColumnInfo_GetSelectedImage(_swigobj) (_swigobj->GetSelectedImage()) +static PyObject *_wrap_wxTreeListColumnInfo_GetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxTreeListColumnInfo * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListColumnInfo_GetSelectedImage",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_GetSelectedImage. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxTreeListColumnInfo_GetSelectedImage(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListColumnInfo_GetWidth(_swigobj) (_swigobj->GetWidth()) +static PyObject *_wrap_wxTreeListColumnInfo_GetWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + size_t _result; + wxTreeListColumnInfo * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListColumnInfo_GetWidth",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_GetWidth. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (size_t )wxTreeListColumnInfo_GetWidth(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListColumnInfo_SetAlignment(_swigobj,_swigarg0) (_swigobj->SetAlignment(_swigarg0)) +static PyObject *_wrap_wxTreeListColumnInfo_SetAlignment(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _arg0; + wxTreeListColumnAlign _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","alignment", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListColumnInfo_SetAlignment",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_SetAlignment. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo_SetAlignment(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListColumnInfo_SetText(_swigobj,_swigarg0) (_swigobj->SetText(_swigarg0)) +static PyObject *_wrap_wxTreeListColumnInfo_SetText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","text", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListColumnInfo_SetText",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_SetText. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo_SetText(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxTreeListColumnInfo_SetImage(_swigobj,_swigarg0) (_swigobj->SetImage(_swigarg0)) +static PyObject *_wrap_wxTreeListColumnInfo_SetImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","image", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListColumnInfo_SetImage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_SetImage. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo_SetImage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListColumnInfo_SetSelectedImage(_swigobj,_swigarg0) (_swigobj->SetSelectedImage(_swigarg0)) +static PyObject *_wrap_wxTreeListColumnInfo_SetSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","image", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListColumnInfo_SetSelectedImage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_SetSelectedImage. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo_SetSelectedImage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListColumnInfo_SetWidth(_swigobj,_swigarg0) (_swigobj->SetWidth(_swigarg0)) +static PyObject *_wrap_wxTreeListColumnInfo_SetWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","with", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListColumnInfo_SetWidth",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListColumnInfo_SetWidth. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo_SetWidth(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static void *SwigwxPyTreeListCtrlTowxControl(void *ptr) { + wxPyTreeListCtrl *src; + wxControl *dest; + src = (wxPyTreeListCtrl *) ptr; + dest = (wxControl *) src; + return (void *) dest; +} + +static void *SwigwxPyTreeListCtrlTowxWindow(void *ptr) { + wxPyTreeListCtrl *src; + wxWindow *dest; + src = (wxPyTreeListCtrl *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPyTreeListCtrlTowxEvtHandler(void *ptr) { + wxPyTreeListCtrl *src; + wxEvtHandler *dest; + src = (wxPyTreeListCtrl *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPyTreeListCtrlTowxObject(void *ptr) { + wxPyTreeListCtrl *src; + wxObject *dest; + src = (wxPyTreeListCtrl *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxTreeListCtrl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPyTreeListCtrl(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxTreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _result; + wxWindow * _arg0; + wxWindowID _arg1 = (wxWindowID ) -1; + wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg3 = (wxSize *) &wxDefaultSize; + long _arg4 = (long ) wxTR_DEFAULT_STYLE; + wxValidator * _arg5 = (wxValidator *) &wxDefaultValidator; + wxString * _arg6 = (wxString *) &wxPyTreeListCtrlNameStr; + PyObject * _argo0 = 0; + wxPoint temp; + PyObject * _obj2 = 0; + wxSize temp0; + PyObject * _obj3 = 0; + PyObject * _argo5 = 0; + PyObject * _obj6 = 0; + char *_kwnames[] = { "parent","id","pos","size","style","validator","name", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOlOO:new_wxTreeListCtrl",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4,&_argo5,&_obj6)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxTreeListCtrl. Expected _wxWindow_p."); + return NULL; + } + } + if (_obj2) +{ + _arg2 = &temp; + if (! wxPoint_helper(_obj2, &_arg2)) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp0; + if (! wxSize_helper(_obj3, &_arg3)) + return NULL; +} + if (_argo5) { + if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxValidator_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of new_wxTreeListCtrl. Expected _wxValidator_p."); + return NULL; + } + } + if (_obj6) +{ + _arg6 = wxString_in_helper(_obj6); + if (_arg6 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyTreeListCtrl *)new_wxTreeListCtrl(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5,*_arg6); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTreeListCtrl_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj6) + delete _arg6; +} + return _resultobj; +} + +#define new_wxPreTreeListCtrl() (new wxPyTreeListCtrl()) +static PyObject *_wrap_new_wxPreTreeListCtrl(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _result; + char *_kwnames[] = { NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxPreTreeListCtrl",_kwnames)) + return NULL; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyTreeListCtrl *)new_wxPreTreeListCtrl(); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTreeListCtrl_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define wxTreeListCtrl_Create(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (_swigobj->Create(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_wxTreeListCtrl_Create(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxWindow * _arg1; + wxWindowID _arg2 = (wxWindowID ) -1; + wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg4 = (wxSize *) &wxDefaultSize; + long _arg5 = (long ) wxTR_DEFAULT_STYLE; + wxValidator * _arg6 = (wxValidator *) &wxDefaultValidator; + wxString * _arg7 = (wxString *) &wxPyTreeListCtrlNameStr; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxPoint temp; + PyObject * _obj3 = 0; + wxSize temp0; + PyObject * _obj4 = 0; + PyObject * _argo6 = 0; + PyObject * _obj7 = 0; + char *_kwnames[] = { "self","parent","id","pos","size","style","validator","name", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iOOlOO:wxTreeListCtrl_Create",_kwnames,&_argo0,&_argo1,&_arg2,&_obj3,&_obj4,&_arg5,&_argo6,&_obj7)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Create. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Create. Expected _wxWindow_p."); + return NULL; + } + } + if (_obj3) +{ + _arg3 = &temp; + if (! wxPoint_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj4) +{ + _arg4 = &temp0; + if (! wxSize_helper(_obj4, &_arg4)) + return NULL; +} + if (_argo6) { + if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxValidator_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxTreeListCtrl_Create. Expected _wxValidator_p."); + return NULL; + } + } + if (_obj7) +{ + _arg7 = wxString_in_helper(_obj7); + if (_arg7 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_Create(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6,*_arg7); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj7) + delete _arg7; +} + return _resultobj; +} + +#define wxTreeListCtrl__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + PyObject * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl__setCallbackInfo. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl__setCallbackInfo(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetCount(_swigobj) (_swigobj->GetCount()) +static PyObject *_wrap_wxTreeListCtrl_GetCount(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + size_t _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetCount",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetCount. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (size_t )wxTreeListCtrl_GetCount(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_GetIndent(_swigobj) (_swigobj->GetIndent()) +static PyObject *_wrap_wxTreeListCtrl_GetIndent(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + unsigned int _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetIndent",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetIndent. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (unsigned int )wxTreeListCtrl_GetIndent(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetIndent(_swigobj,_swigarg0) (_swigobj->SetIndent(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + unsigned int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","indent", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_SetIndent",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetIndent. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetIndent(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetSpacing(_swigobj) (_swigobj->GetSpacing()) +static PyObject *_wrap_wxTreeListCtrl_GetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + unsigned int _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetSpacing",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetSpacing. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (unsigned int )wxTreeListCtrl_GetSpacing(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetSpacing(_swigobj,_swigarg0) (_swigobj->SetSpacing(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetSpacing(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + unsigned int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","spacing", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_SetSpacing",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetSpacing. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetSpacing(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetLineSpacing(_swigobj) (_swigobj->GetLineSpacing()) +static PyObject *_wrap_wxTreeListCtrl_GetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + unsigned int _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetLineSpacing",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetLineSpacing. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (unsigned int )wxTreeListCtrl_GetLineSpacing(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetLineSpacing(_swigobj,_swigarg0) (_swigobj->SetLineSpacing(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetLineSpacing(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + unsigned int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","spacing", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_SetLineSpacing",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetLineSpacing. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetLineSpacing(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetImageList(_swigobj) (_swigobj->GetImageList()) +static PyObject *_wrap_wxTreeListCtrl_GetImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxImageList * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetImageList",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxImageList *)wxTreeListCtrl_GetImageList(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxTreeListCtrl_GetStateImageList(_swigobj) (_swigobj->GetStateImageList()) +static PyObject *_wrap_wxTreeListCtrl_GetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxImageList * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetStateImageList",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetStateImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxImageList *)wxTreeListCtrl_GetStateImageList(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxTreeListCtrl_GetButtonsImageList(_swigobj) (_swigobj->GetButtonsImageList()) +static PyObject *_wrap_wxTreeListCtrl_GetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxImageList * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetButtonsImageList",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetButtonsImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxImageList *)wxTreeListCtrl_GetButtonsImageList(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxTreeListCtrl_SetImageList(_swigobj,_swigarg0) (_swigobj->SetImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_SetImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetStateImageList(_swigobj,_swigarg0) (_swigobj->SetStateImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_SetStateImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetStateImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetStateImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetStateImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetButtonsImageList(_swigobj,_swigarg0) (_swigobj->SetButtonsImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_SetButtonsImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetButtonsImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetButtonsImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetButtonsImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_AssignImageList(_swigobj,_swigarg0) (_swigobj->AssignImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_AssignImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_AssignImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AssignImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_AssignImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_AssignImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_AssignStateImageList(_swigobj,_swigarg0) (_swigobj->AssignStateImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_AssignStateImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_AssignStateImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AssignStateImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_AssignStateImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_AssignStateImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_AssignButtonsImageList(_swigobj,_swigarg0) (_swigobj->AssignButtonsImageList(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_AssignButtonsImageList(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxImageList * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","imageList", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_AssignButtonsImageList",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AssignButtonsImageList. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxImageList_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_AssignButtonsImageList. Expected _wxImageList_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_AssignButtonsImageList(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_AddColumn(_swigobj,_swigarg0) (_swigobj->AddColumn(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_AddColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","text", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_AddColumn",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AddColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_AddColumn(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxTreeListCtrl_AddColumnInfo(_swigobj,_swigarg0) (_swigobj->AddColumn(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_AddColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeListColumnInfo * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","col", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_AddColumnInfo",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AddColumnInfo. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_AddColumnInfo. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_AddColumnInfo(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_InsertColumn(_swigobj,_swigarg0,_swigarg1) (_swigobj->InsertColumn(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_InsertColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + wxString * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","before","text", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxTreeListCtrl_InsertColumn",_kwnames,&_argo0,&_arg1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_InsertColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_InsertColumn(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} + return _resultobj; +} + +#define wxTreeListCtrl_InsertColumnInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->InsertColumn(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_InsertColumnInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + wxTreeListColumnInfo * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","before","col", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxTreeListCtrl_InsertColumnInfo",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_InsertColumnInfo. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxTreeListCtrl_InsertColumnInfo. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_InsertColumnInfo(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_RemoveColumn(_swigobj,_swigarg0) (_swigobj->RemoveColumn(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_RemoveColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_RemoveColumn",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_RemoveColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_RemoveColumn(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetColumnCount(_swigobj) (_swigobj->GetColumnCount()) +static PyObject *_wrap_wxTreeListCtrl_GetColumnCount(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + size_t _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetColumnCount",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumnCount. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (size_t )wxTreeListCtrl_GetColumnCount(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetColumnWidth(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetColumnWidth(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + size_t _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column","width", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxTreeListCtrl_SetColumnWidth",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetColumnWidth. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetColumnWidth(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetColumnWidth(_swigobj,_swigarg0) (_swigobj->GetColumnWidth(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetColumnWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_GetColumnWidth",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumnWidth. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxTreeListCtrl_GetColumnWidth(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetMainColumn(_swigobj,_swigarg0) (_swigobj->SetMainColumn(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_SetMainColumn",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetMainColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetMainColumn(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetMainColumn(_swigobj) (_swigobj->GetMainColumn()) +static PyObject *_wrap_wxTreeListCtrl_GetMainColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + size_t _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetMainColumn",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetMainColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (size_t )wxTreeListCtrl_GetMainColumn(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetColumnText(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetColumnText(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + wxString * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","column","text", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxTreeListCtrl_SetColumnText",_kwnames,&_argo0,&_arg1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetColumnText. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetColumnText(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} + return _resultobj; +} + +#define wxTreeListCtrl_GetColumnText(_swigobj,_swigarg0) (_swigobj->GetColumnText(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetColumnText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxString * _result; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_GetColumnText",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumnText. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxString (wxTreeListCtrl_GetColumnText(_arg0,_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ +#if wxUSE_UNICODE + _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len()); +#else + _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len()); +#endif +} +{ + delete _result; +} + return _resultobj; +} + +#define wxTreeListCtrl_SetColumn(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetColumn(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + wxTreeListColumnInfo * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","column","info", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxTreeListCtrl_SetColumn",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxTreeListColumnInfo_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxTreeListCtrl_SetColumn. Expected _wxTreeListColumnInfo_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetColumn(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetColumn(_swigobj,_swigarg0) (_swigobj->GetColumn(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetColumn(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnInfo * _result; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_GetColumn",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumn. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListColumnInfo & _result_ref = wxTreeListCtrl_GetColumn(_arg0,_arg1); + _result = (wxTreeListColumnInfo *) &_result_ref; + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxTreeListColumnInfo_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define wxTreeListCtrl_SetColumnAlignment(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetColumnAlignment(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + wxTreeListColumnAlign _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column","align", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxTreeListCtrl_SetColumnAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetColumnAlignment. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetColumnAlignment(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetColumnAlignment(_swigobj,_swigarg0) (_swigobj->GetColumnAlignment(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetColumnAlignment(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeListColumnAlign _result; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_GetColumnAlignment",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumnAlignment. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxTreeListColumnAlign )wxTreeListCtrl_GetColumnAlignment(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetColumnImage(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetColumnImage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column","image", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxTreeListCtrl_SetColumnImage",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetColumnImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetColumnImage(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetColumnImage(_swigobj,_swigarg0) (_swigobj->GetColumnImage(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetColumnImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxPyTreeListCtrl * _arg0; + size_t _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeListCtrl_GetColumnImage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetColumnImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxTreeListCtrl_GetColumnImage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static wxString wxPyTreeListCtrl_GetItemText(wxPyTreeListCtrl *self,const wxTreeItemId & item,int column) { + if (column < 0) column = self->GetMainColumn(); + return self->GetItemText(item, column); + } +static PyObject *_wrap_wxTreeListCtrl_GetItemText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxString * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + int _arg2 = (int ) -1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxTreeListCtrl_GetItemText",_kwnames,&_argo0,&_argo1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemText. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemText. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxString (wxPyTreeListCtrl_GetItemText(_arg0,*_arg1,_arg2)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ +#if wxUSE_UNICODE + _resultobj = PyUnicode_FromWideChar(_result->c_str(), _result->Len()); +#else + _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len()); +#endif +} +{ + delete _result; +} + return _resultobj; +} + +static int wxPyTreeListCtrl_GetItemImage(wxPyTreeListCtrl *self,const wxTreeItemId & item,int column,wxTreeItemIcon which) { + if (column < 0) column = self->GetMainColumn(); + return self->GetItemImage(item, column, which); + } +static PyObject *_wrap_wxTreeListCtrl_GetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + int _arg2 = (int ) -1; + wxTreeItemIcon _arg3 = (wxTreeItemIcon ) wxTreeItemIcon_Normal; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item","column","which", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|ii:wxTreeListCtrl_GetItemImage",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemImage. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxPyTreeListCtrl_GetItemImage(_arg0,*_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static void wxPyTreeListCtrl_SetItemText(wxPyTreeListCtrl *self,const wxTreeItemId & item,const wxString & text,int column) { + if (column < 0) column = self->GetMainColumn(); + self->SetItemText(item, column, text); + } +static PyObject *_wrap_wxTreeListCtrl_SetItemText(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxString * _arg2; + int _arg3 = (int ) -1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","text","column", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|i:wxTreeListCtrl_SetItemText",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemText. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemText. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyTreeListCtrl_SetItemText(_arg0,*_arg1,*_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} + return _resultobj; +} + +static void wxPyTreeListCtrl_SetItemImage(wxPyTreeListCtrl *self,const wxTreeItemId & item,int image,int column,wxTreeItemIcon which) { + if (column < 0) column = self->GetMainColumn(); + self->SetItemImage(item, column, image, which); + } +static PyObject *_wrap_wxTreeListCtrl_SetItemImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + int _arg2; + int _arg3 = (int ) -1; + wxTreeItemIcon _arg4 = (wxTreeItemIcon ) wxTreeItemIcon_Normal; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item","image","column","which", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi|ii:wxTreeListCtrl_SetItemImage",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemImage. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyTreeListCtrl_SetItemImage(_arg0,*_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static wxPyTreeItemData * wxPyTreeListCtrl_GetItemData(wxPyTreeListCtrl *self,const wxTreeItemId & item) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(); + data->SetId(item); // set the id + self->SetItemData(item, data); + } + return data; + } +static PyObject *_wrap_wxTreeListCtrl_GetItemData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeItemData * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemData",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemData. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemData. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyTreeItemData *)wxPyTreeListCtrl_GetItemData(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyTreeItemData_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +static void wxPyTreeListCtrl_SetItemData(wxPyTreeListCtrl *self,const wxTreeItemId & item,wxPyTreeItemData * data) { + data->SetId(item); // set the id + self->SetItemData(item, data); + } +static PyObject *_wrap_wxTreeListCtrl_SetItemData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxPyTreeItemData * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","item","data", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_SetItemData",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemData. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemData. Expected _wxTreeItemId_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxTreeListCtrl_SetItemData. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyTreeListCtrl_SetItemData(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static PyObject * wxPyTreeListCtrl_GetPyData(wxPyTreeListCtrl *self,const wxTreeItemId & item) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(); + data->SetId(item); // set the id + self->SetItemData(item, data); + } + return data->GetData(); + } +static PyObject *_wrap_wxTreeListCtrl_GetPyData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + PyObject * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetPyData",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetPyData. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetPyData. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (PyObject *)wxPyTreeListCtrl_GetPyData(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ + _resultobj = _result; +} + return _resultobj; +} + +static void wxPyTreeListCtrl_SetPyData(wxPyTreeListCtrl *self,const wxTreeItemId & item,PyObject * obj) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(obj); + data->SetId(item); // set the id + self->SetItemData(item, data); + } else + data->SetData(obj); + } +static PyObject *_wrap_wxTreeListCtrl_SetPyData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","obj", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_SetPyData",_kwnames,&_argo0,&_argo1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetPyData. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetPyData. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyTreeListCtrl_SetPyData(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetItemHasChildren(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemHasChildren(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + bool _arg2 = (bool ) TRUE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + int tempbool2 = (int) TRUE; + char *_kwnames[] = { "self","item","has", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxTreeListCtrl_SetItemHasChildren",_kwnames,&_argo0,&_argo1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemHasChildren. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemHasChildren. Expected _wxTreeItemId_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemHasChildren(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetItemBold(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemBold(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + bool _arg2 = (bool ) TRUE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + int tempbool2 = (int) TRUE; + char *_kwnames[] = { "self","item","bold", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxTreeListCtrl_SetItemBold",_kwnames,&_argo0,&_argo1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemBold. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemBold. Expected _wxTreeItemId_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemBold(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetItemTextColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemTextColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","col", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_SetItemTextColour",_kwnames,&_argo0,&_argo1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemTextColour. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemTextColour. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemTextColour(_arg0,*_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetItemBackgroundColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemBackgroundColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","col", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_SetItemBackgroundColour",_kwnames,&_argo0,&_argo1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemBackgroundColour. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemBackgroundColour. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemBackgroundColour(_arg0,*_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SetItemFont(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemFont(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxFont * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","item","font", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_SetItemFont",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemFont. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemFont. Expected _wxTreeItemId_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxFont_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxTreeListCtrl_SetItemFont. Expected _wxFont_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemFont(_arg0,*_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetItemBold(_swigobj,_swigarg0) (_swigobj->GetItemBold(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemBold(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemBold",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemBold. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemBold. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_GetItemBold(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_GetItemTextColour(_swigobj,_swigarg0) (_swigobj->GetItemTextColour(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemTextColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxColour * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemTextColour",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemTextColour. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemTextColour. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxColour (wxTreeListCtrl_GetItemTextColour(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetItemBackgroundColour(_swigobj,_swigarg0) (_swigobj->GetItemBackgroundColour(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxColour * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemBackgroundColour",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemBackgroundColour. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemBackgroundColour. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxColour (wxTreeListCtrl_GetItemBackgroundColour(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxColour_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetItemFont(_swigobj,_swigarg0) (_swigobj->GetItemFont(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemFont(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxFont * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemFont",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemFont. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemFont. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxFont (wxTreeListCtrl_GetItemFont(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxFont_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_IsVisible(_swigobj,_swigarg0) (_swigobj->IsVisible(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_IsVisible(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_IsVisible",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_IsVisible. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_IsVisible. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_IsVisible(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_ItemHasChildren(_swigobj,_swigarg0) (_swigobj->ItemHasChildren(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_ItemHasChildren(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_ItemHasChildren",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_ItemHasChildren. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_ItemHasChildren. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_ItemHasChildren(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_IsExpanded(_swigobj,_swigarg0) (_swigobj->IsExpanded(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_IsExpanded(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_IsExpanded",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_IsExpanded. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_IsExpanded. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_IsExpanded(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_IsSelected(_swigobj,_swigarg0) (_swigobj->IsSelected(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_IsSelected(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_IsSelected",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_IsSelected. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_IsSelected. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_IsSelected(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_IsBold(_swigobj,_swigarg0) (_swigobj->IsBold(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_IsBold(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_IsBold",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_IsBold. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_IsBold. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTreeListCtrl_IsBold(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_GetChildrenCount(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetChildrenCount(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_GetChildrenCount(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + size_t _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + bool _arg2 = (bool ) TRUE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + int tempbool2 = (int) TRUE; + char *_kwnames[] = { "self","item","recursively", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxTreeListCtrl_GetChildrenCount",_kwnames,&_argo0,&_argo1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetChildrenCount. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetChildrenCount. Expected _wxTreeItemId_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (size_t )wxTreeListCtrl_GetChildrenCount(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_GetRootItem(_swigobj) (_swigobj->GetRootItem()) +static PyObject *_wrap_wxTreeListCtrl_GetRootItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetRootItem",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetRootItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetRootItem(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetSelection(_swigobj) (_swigobj->GetSelection()) +static PyObject *_wrap_wxTreeListCtrl_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetSelection",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetSelection. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetSelection(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +static PyObject * wxPyTreeListCtrl_GetSelections(wxPyTreeListCtrl *self) { + wxPyBeginBlockThreads(); + PyObject* rval = PyList_New(0); + wxArrayTreeItemIds array; + size_t num, x; + num = self->GetSelections(array); + for (x=0; x < num; x++) { + wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); + PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), TRUE); + PyList_Append(rval, item); + } + wxPyEndBlockThreads(); + return rval; + } +static PyObject *_wrap_wxTreeListCtrl_GetSelections(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + PyObject * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetSelections",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetSelections. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (PyObject *)wxPyTreeListCtrl_GetSelections(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ + _resultobj = _result; +} + return _resultobj; +} + +#define wxTreeListCtrl_GetItemParent(_swigobj,_swigarg0) (_swigobj->GetParent(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemParent(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemParent",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemParent. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemParent. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetItemParent(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetFirstChild(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetFirstChild(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_GetFirstChild(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + long * _arg2 = (long *) &longzero; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + long temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","INOUT", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:wxTreeListCtrl_GetFirstChild",_kwnames,&_argo0,&_argo1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetFirstChild. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetFirstChild. Expected _wxTreeItemId_p."); + return NULL; + } + } + if (_obj2) +{ + temp = (long) PyInt_AsLong(_obj2); + _arg2 = &temp; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetFirstChild(_arg0,*_arg1,*_arg2)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxTreeListCtrl_GetNextChild(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetNextChild(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_GetNextChild(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + long * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + long temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","INOUT", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxTreeListCtrl_GetNextChild",_kwnames,&_argo0,&_argo1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetNextChild. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetNextChild. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + temp = (long) PyInt_AsLong(_obj2); + _arg2 = &temp; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetNextChild(_arg0,*_arg1,*_arg2)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxTreeListCtrl_GetLastChild(_swigobj,_swigarg0) (_swigobj->GetLastChild(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetLastChild(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetLastChild",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetLastChild. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetLastChild. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetLastChild(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetNextSibling(_swigobj,_swigarg0) (_swigobj->GetNextSibling(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetNextSibling(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetNextSibling",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetNextSibling. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetNextSibling. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetNextSibling(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetPrevSibling(_swigobj,_swigarg0) (_swigobj->GetPrevSibling(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetPrevSibling(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetPrevSibling",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetPrevSibling. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetPrevSibling. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetPrevSibling(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetFirstVisibleItem(_swigobj) (_swigobj->GetFirstVisibleItem()) +static PyObject *_wrap_wxTreeListCtrl_GetFirstVisibleItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetFirstVisibleItem",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetFirstVisibleItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetFirstVisibleItem(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetNextVisible(_swigobj,_swigarg0) (_swigobj->GetNextVisible(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetNextVisible(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetNextVisible",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetNextVisible. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetNextVisible. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetNextVisible(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetPrevVisible(_swigobj,_swigarg0) (_swigobj->GetPrevVisible(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetPrevVisible(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetPrevVisible",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetPrevVisible. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetPrevVisible. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetPrevVisible(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_GetNext(_swigobj,_swigarg0) (_swigobj->GetNext(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetNext(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetNext",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetNext. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetNext. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_GetNext(_arg0,*_arg1)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxTreeListCtrl_AddRoot(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->AddRoot(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxTreeListCtrl_AddRoot(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxString * _arg1; + int _arg2 = (int ) -1; + int _arg3 = (int ) -1; + wxPyTreeItemData * _arg4 = (wxPyTreeItemData *) NULL; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _argo4 = 0; + char *_kwnames[] = { "self","text","image","selectedImage","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiO:wxTreeListCtrl_AddRoot",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3,&_argo4)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AddRoot. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} + if (_argo4) { + if (_argo4 == Py_None) { _arg4 = NULL; } + else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of wxTreeListCtrl_AddRoot. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_AddRoot(_arg0,*_arg1,_arg2,_arg3,_arg4)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxTreeListCtrl_PrependItem(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->PrependItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +static PyObject *_wrap_wxTreeListCtrl_PrependItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxString * _arg2; + int _arg3 = (int ) -1; + int _arg4 = (int ) -1; + wxPyTreeItemData * _arg5 = (wxPyTreeItemData *) NULL; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + PyObject * _argo5 = 0; + char *_kwnames[] = { "self","parent","text","image","selectedImage","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|iiO:wxTreeListCtrl_PrependItem",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3,&_arg4,&_argo5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_PrependItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_PrependItem. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} + if (_argo5) { + if (_argo5 == Py_None) { _arg5 = NULL; } + else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxTreeListCtrl_PrependItem. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_PrependItem(_arg0,*_arg1,*_arg2,_arg3,_arg4,_arg5)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj2) + delete _arg2; +} + return _resultobj; +} + +#define wxTreeListCtrl_InsertItem(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (_swigobj->InsertItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_wxTreeListCtrl_InsertItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxTreeItemId * _arg2; + wxString * _arg3; + int _arg4 = (int ) -1; + int _arg5 = (int ) -1; + wxPyTreeItemData * _arg6 = (wxPyTreeItemData *) NULL; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + PyObject * _obj3 = 0; + PyObject * _argo6 = 0; + char *_kwnames[] = { "self","parent","idPrevious","text","image","selectedImage","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO|iiO:wxTreeListCtrl_InsertItem",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3,&_arg4,&_arg5,&_argo6)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_InsertItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_InsertItem. Expected _wxTreeItemId_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxTreeListCtrl_InsertItem. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg3 = wxString_in_helper(_obj3); + if (_arg3 == NULL) + return NULL; +} + if (_argo6) { + if (_argo6 == Py_None) { _arg6 = NULL; } + else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxTreeListCtrl_InsertItem. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_InsertItem(_arg0,*_arg1,*_arg2,*_arg3,_arg4,_arg5,_arg6)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj3) + delete _arg3; +} + return _resultobj; +} + +#define wxTreeListCtrl_InsertItemBefore(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (_swigobj->InsertItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_wxTreeListCtrl_InsertItemBefore(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + size_t _arg2; + wxString * _arg3; + int _arg4 = (int ) -1; + int _arg5 = (int ) -1; + wxPyTreeItemData * _arg6 = (wxPyTreeItemData *) NULL; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _obj3 = 0; + PyObject * _argo6 = 0; + char *_kwnames[] = { "self","parent","index","text","image","selectedImage","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiO|iiO:wxTreeListCtrl_InsertItemBefore",_kwnames,&_argo0,&_argo1,&_arg2,&_obj3,&_arg4,&_arg5,&_argo6)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_InsertItemBefore. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_InsertItemBefore. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg3 = wxString_in_helper(_obj3); + if (_arg3 == NULL) + return NULL; +} + if (_argo6) { + if (_argo6 == Py_None) { _arg6 = NULL; } + else if (SWIG_GetPtrObj(_argo6,(void **) &_arg6,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 7 of wxTreeListCtrl_InsertItemBefore. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_InsertItemBefore(_arg0,*_arg1,_arg2,*_arg3,_arg4,_arg5,_arg6)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj3) + delete _arg3; +} + return _resultobj; +} + +#define wxTreeListCtrl_AppendItem(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->AppendItem(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +static PyObject *_wrap_wxTreeListCtrl_AppendItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + wxString * _arg2; + int _arg3 = (int ) -1; + int _arg4 = (int ) -1; + wxPyTreeItemData * _arg5 = (wxPyTreeItemData *) NULL; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + PyObject * _argo5 = 0; + char *_kwnames[] = { "self","parent","text","image","selectedImage","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|iiO:wxTreeListCtrl_AppendItem",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3,&_arg4,&_argo5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_AppendItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_AppendItem. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} + if (_argo5) { + if (_argo5 == Py_None) { _arg5 = NULL; } + else if (SWIG_GetPtrObj(_argo5,(void **) &_arg5,"_wxPyTreeItemData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 6 of wxTreeListCtrl_AppendItem. Expected _wxPyTreeItemData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_AppendItem(_arg0,*_arg1,*_arg2,_arg3,_arg4,_arg5)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + if (_obj2) + delete _arg2; +} + return _resultobj; +} + +#define wxTreeListCtrl_Delete(_swigobj,_swigarg0) (_swigobj->Delete(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_Delete(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_Delete",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Delete. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Delete. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Delete(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_DeleteChildren(_swigobj,_swigarg0) (_swigobj->DeleteChildren(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_DeleteChildren(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_DeleteChildren",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_DeleteChildren. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_DeleteChildren. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_DeleteChildren(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_DeleteAllItems(_swigobj) (_swigobj->DeleteAllItems()) +static PyObject *_wrap_wxTreeListCtrl_DeleteAllItems(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_DeleteAllItems",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_DeleteAllItems. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_DeleteAllItems(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_Expand(_swigobj,_swigarg0) (_swigobj->Expand(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_Expand(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_Expand",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Expand. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Expand. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Expand(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_ExpandAll(_swigobj,_swigarg0) (_swigobj->ExpandAll(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_ExpandAll(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_ExpandAll",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_ExpandAll. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_ExpandAll. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_ExpandAll(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_Collapse(_swigobj,_swigarg0) (_swigobj->Collapse(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_Collapse(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_Collapse",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Collapse. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Collapse. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Collapse(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_CollapseAndReset(_swigobj,_swigarg0) (_swigobj->CollapseAndReset(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_CollapseAndReset(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_CollapseAndReset",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_CollapseAndReset. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_CollapseAndReset. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_CollapseAndReset(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_Toggle(_swigobj,_swigarg0) (_swigobj->Toggle(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_Toggle(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_Toggle",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Toggle. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Toggle. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Toggle(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_Unselect(_swigobj) (_swigobj->Unselect()) +static PyObject *_wrap_wxTreeListCtrl_Unselect(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_Unselect",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Unselect. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Unselect(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_UnselectAll(_swigobj) (_swigobj->UnselectAll()) +static PyObject *_wrap_wxTreeListCtrl_UnselectAll(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_UnselectAll",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_UnselectAll. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_UnselectAll(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SelectItem(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SelectItem(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxTreeListCtrl_SelectItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + bool _arg2 = (bool ) TRUE; + bool _arg3 = (bool ) FALSE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + int tempbool2 = (int) TRUE; + int tempbool3 = (int) FALSE; + char *_kwnames[] = { "self","item","unselect_others","extended_select", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|ii:wxTreeListCtrl_SelectItem",_kwnames,&_argo0,&_argo1,&tempbool2,&tempbool3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SelectItem. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SelectItem. Expected _wxTreeItemId_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; + _arg3 = (bool ) tempbool3; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SelectItem(_arg0,*_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_EnsureVisible(_swigobj,_swigarg0) (_swigobj->EnsureVisible(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_EnsureVisible(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_EnsureVisible",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_EnsureVisible. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_EnsureVisible. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_EnsureVisible(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_ScrollTo(_swigobj,_swigarg0) (_swigobj->ScrollTo(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_ScrollTo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_ScrollTo",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_ScrollTo. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_ScrollTo. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_ScrollTo(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_HitTest(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->HitTest(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxTreeListCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeItemId * _result; + wxPyTreeListCtrl * _arg0; + wxPoint * _arg1; + int * _arg2; + int temp; + int * _arg3; + int temp0; + PyObject * _argo0 = 0; + wxPoint temp1; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","point", NULL }; + char _ptemp[128]; + + self = self; +{ + _arg2 = &temp; +} +{ + _arg3 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_HitTest",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_HitTest. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp1; + if (! wxPoint_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxTreeItemId (wxTreeListCtrl_HitTest(_arg0,*_arg1,*_arg2,*_arg3)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); + _resultobj = Py_BuildValue("s",_ptemp); +{ + 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); +} + return _resultobj; +} + +static PyObject * wxPyTreeListCtrl_GetBoundingRect(wxPyTreeListCtrl *self,const wxTreeItemId & item,bool textOnly) { + wxRect rect; + if (self->GetBoundingRect(item, rect, textOnly)) { + wxPyBeginBlockThreads(); + wxRect* r = new wxRect(rect); + PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); + wxPyEndBlockThreads(); + return val; + } + else { + Py_INCREF(Py_None); + return Py_None; + } + } +static PyObject *_wrap_wxTreeListCtrl_GetBoundingRect(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + PyObject * _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + bool _arg2 = (bool ) FALSE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + int tempbool2 = (int) FALSE; + char *_kwnames[] = { "self","item","textOnly", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxTreeListCtrl_GetBoundingRect",_kwnames,&_argo0,&_argo1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetBoundingRect. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetBoundingRect. Expected _wxTreeItemId_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (PyObject *)wxPyTreeListCtrl_GetBoundingRect(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ + _resultobj = _result; +} + return _resultobj; +} + +#define wxTreeListCtrl_EditLabel(_swigobj,_swigarg0) (_swigobj->EditLabel(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_EditLabel(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_EditLabel",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_EditLabel. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_EditLabel. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_EditLabel(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_Edit(_swigobj,_swigarg0) (_swigobj->Edit(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_Edit(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_Edit",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_Edit. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_Edit. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_Edit(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_SortChildren(_swigobj,_swigarg0) (_swigobj->SortChildren(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_SortChildren(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_SortChildren",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SortChildren. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SortChildren. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SortChildren(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetItemSelectedImage(_swigobj,_swigarg0) (_swigobj->GetItemSelectedImage(_swigarg0)) +static PyObject *_wrap_wxTreeListCtrl_GetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeListCtrl_GetItemSelectedImage",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetItemSelectedImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_GetItemSelectedImage. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxTreeListCtrl_GetItemSelectedImage(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxTreeListCtrl_SetItemSelectedImage(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemSelectedImage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxTreeListCtrl_SetItemSelectedImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyTreeListCtrl * _arg0; + wxTreeItemId * _arg1; + int _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item","image", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxTreeListCtrl_SetItemSelectedImage",_kwnames,&_argo0,&_argo1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_SetItemSelectedImage. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeListCtrl_SetItemSelectedImage. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeListCtrl_SetItemSelectedImage(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeListCtrl_GetHeaderWindow(_swigobj) (_swigobj->GetHeaderWindow()) +static PyObject *_wrap_wxTreeListCtrl_GetHeaderWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxWindow * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetHeaderWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetHeaderWindow. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxWindow *)wxTreeListCtrl_GetHeaderWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxTreeListCtrl_GetMainWindow(_swigobj) (_swigobj->GetMainWindow()) +static PyObject *_wrap_wxTreeListCtrl_GetMainWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxWindow * _result; + wxPyTreeListCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxTreeListCtrl_GetMainWindow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyTreeListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeListCtrl_GetMainWindow. Expected _wxPyTreeListCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxWindow *)wxTreeListCtrl_GetMainWindow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + static PyMethodDef gizmoscMethods[] = { + { "wxTreeListCtrl_GetMainWindow", (PyCFunction) _wrap_wxTreeListCtrl_GetMainWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetHeaderWindow", (PyCFunction) _wrap_wxTreeListCtrl_GetHeaderWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemSelectedImage", (PyCFunction) _wrap_wxTreeListCtrl_SetItemSelectedImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemSelectedImage", (PyCFunction) _wrap_wxTreeListCtrl_GetItemSelectedImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SortChildren", (PyCFunction) _wrap_wxTreeListCtrl_SortChildren, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Edit", (PyCFunction) _wrap_wxTreeListCtrl_Edit, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_EditLabel", (PyCFunction) _wrap_wxTreeListCtrl_EditLabel, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetBoundingRect", (PyCFunction) _wrap_wxTreeListCtrl_GetBoundingRect, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_HitTest", (PyCFunction) _wrap_wxTreeListCtrl_HitTest, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_ScrollTo", (PyCFunction) _wrap_wxTreeListCtrl_ScrollTo, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_EnsureVisible", (PyCFunction) _wrap_wxTreeListCtrl_EnsureVisible, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SelectItem", (PyCFunction) _wrap_wxTreeListCtrl_SelectItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_UnselectAll", (PyCFunction) _wrap_wxTreeListCtrl_UnselectAll, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Unselect", (PyCFunction) _wrap_wxTreeListCtrl_Unselect, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Toggle", (PyCFunction) _wrap_wxTreeListCtrl_Toggle, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_CollapseAndReset", (PyCFunction) _wrap_wxTreeListCtrl_CollapseAndReset, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Collapse", (PyCFunction) _wrap_wxTreeListCtrl_Collapse, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_ExpandAll", (PyCFunction) _wrap_wxTreeListCtrl_ExpandAll, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Expand", (PyCFunction) _wrap_wxTreeListCtrl_Expand, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_DeleteAllItems", (PyCFunction) _wrap_wxTreeListCtrl_DeleteAllItems, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_DeleteChildren", (PyCFunction) _wrap_wxTreeListCtrl_DeleteChildren, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Delete", (PyCFunction) _wrap_wxTreeListCtrl_Delete, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AppendItem", (PyCFunction) _wrap_wxTreeListCtrl_AppendItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_InsertItemBefore", (PyCFunction) _wrap_wxTreeListCtrl_InsertItemBefore, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_InsertItem", (PyCFunction) _wrap_wxTreeListCtrl_InsertItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_PrependItem", (PyCFunction) _wrap_wxTreeListCtrl_PrependItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AddRoot", (PyCFunction) _wrap_wxTreeListCtrl_AddRoot, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetNext", (PyCFunction) _wrap_wxTreeListCtrl_GetNext, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetPrevVisible", (PyCFunction) _wrap_wxTreeListCtrl_GetPrevVisible, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetNextVisible", (PyCFunction) _wrap_wxTreeListCtrl_GetNextVisible, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetFirstVisibleItem", (PyCFunction) _wrap_wxTreeListCtrl_GetFirstVisibleItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetPrevSibling", (PyCFunction) _wrap_wxTreeListCtrl_GetPrevSibling, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetNextSibling", (PyCFunction) _wrap_wxTreeListCtrl_GetNextSibling, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetLastChild", (PyCFunction) _wrap_wxTreeListCtrl_GetLastChild, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetNextChild", (PyCFunction) _wrap_wxTreeListCtrl_GetNextChild, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetFirstChild", (PyCFunction) _wrap_wxTreeListCtrl_GetFirstChild, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemParent", (PyCFunction) _wrap_wxTreeListCtrl_GetItemParent, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetSelections", (PyCFunction) _wrap_wxTreeListCtrl_GetSelections, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetSelection", (PyCFunction) _wrap_wxTreeListCtrl_GetSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetRootItem", (PyCFunction) _wrap_wxTreeListCtrl_GetRootItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetChildrenCount", (PyCFunction) _wrap_wxTreeListCtrl_GetChildrenCount, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_IsBold", (PyCFunction) _wrap_wxTreeListCtrl_IsBold, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_IsSelected", (PyCFunction) _wrap_wxTreeListCtrl_IsSelected, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_IsExpanded", (PyCFunction) _wrap_wxTreeListCtrl_IsExpanded, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_ItemHasChildren", (PyCFunction) _wrap_wxTreeListCtrl_ItemHasChildren, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_IsVisible", (PyCFunction) _wrap_wxTreeListCtrl_IsVisible, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemFont", (PyCFunction) _wrap_wxTreeListCtrl_GetItemFont, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemBackgroundColour", (PyCFunction) _wrap_wxTreeListCtrl_GetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemTextColour", (PyCFunction) _wrap_wxTreeListCtrl_GetItemTextColour, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemBold", (PyCFunction) _wrap_wxTreeListCtrl_GetItemBold, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemFont", (PyCFunction) _wrap_wxTreeListCtrl_SetItemFont, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemBackgroundColour", (PyCFunction) _wrap_wxTreeListCtrl_SetItemBackgroundColour, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemTextColour", (PyCFunction) _wrap_wxTreeListCtrl_SetItemTextColour, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemBold", (PyCFunction) _wrap_wxTreeListCtrl_SetItemBold, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemHasChildren", (PyCFunction) _wrap_wxTreeListCtrl_SetItemHasChildren, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetPyData", (PyCFunction) _wrap_wxTreeListCtrl_SetPyData, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetPyData", (PyCFunction) _wrap_wxTreeListCtrl_GetPyData, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemData", (PyCFunction) _wrap_wxTreeListCtrl_SetItemData, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemData", (PyCFunction) _wrap_wxTreeListCtrl_GetItemData, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemImage", (PyCFunction) _wrap_wxTreeListCtrl_SetItemImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetItemText", (PyCFunction) _wrap_wxTreeListCtrl_SetItemText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemImage", (PyCFunction) _wrap_wxTreeListCtrl_GetItemImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetItemText", (PyCFunction) _wrap_wxTreeListCtrl_GetItemText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumnImage", (PyCFunction) _wrap_wxTreeListCtrl_GetColumnImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetColumnImage", (PyCFunction) _wrap_wxTreeListCtrl_SetColumnImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumnAlignment", (PyCFunction) _wrap_wxTreeListCtrl_GetColumnAlignment, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetColumnAlignment", (PyCFunction) _wrap_wxTreeListCtrl_SetColumnAlignment, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumn", (PyCFunction) _wrap_wxTreeListCtrl_GetColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetColumn", (PyCFunction) _wrap_wxTreeListCtrl_SetColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumnText", (PyCFunction) _wrap_wxTreeListCtrl_GetColumnText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetColumnText", (PyCFunction) _wrap_wxTreeListCtrl_SetColumnText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetMainColumn", (PyCFunction) _wrap_wxTreeListCtrl_GetMainColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetMainColumn", (PyCFunction) _wrap_wxTreeListCtrl_SetMainColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumnWidth", (PyCFunction) _wrap_wxTreeListCtrl_GetColumnWidth, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetColumnWidth", (PyCFunction) _wrap_wxTreeListCtrl_SetColumnWidth, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetColumnCount", (PyCFunction) _wrap_wxTreeListCtrl_GetColumnCount, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_RemoveColumn", (PyCFunction) _wrap_wxTreeListCtrl_RemoveColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_InsertColumnInfo", (PyCFunction) _wrap_wxTreeListCtrl_InsertColumnInfo, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_InsertColumn", (PyCFunction) _wrap_wxTreeListCtrl_InsertColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AddColumnInfo", (PyCFunction) _wrap_wxTreeListCtrl_AddColumnInfo, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AddColumn", (PyCFunction) _wrap_wxTreeListCtrl_AddColumn, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AssignButtonsImageList", (PyCFunction) _wrap_wxTreeListCtrl_AssignButtonsImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AssignStateImageList", (PyCFunction) _wrap_wxTreeListCtrl_AssignStateImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_AssignImageList", (PyCFunction) _wrap_wxTreeListCtrl_AssignImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetButtonsImageList", (PyCFunction) _wrap_wxTreeListCtrl_SetButtonsImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetStateImageList", (PyCFunction) _wrap_wxTreeListCtrl_SetStateImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetImageList", (PyCFunction) _wrap_wxTreeListCtrl_SetImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetButtonsImageList", (PyCFunction) _wrap_wxTreeListCtrl_GetButtonsImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetStateImageList", (PyCFunction) _wrap_wxTreeListCtrl_GetStateImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetImageList", (PyCFunction) _wrap_wxTreeListCtrl_GetImageList, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetLineSpacing", (PyCFunction) _wrap_wxTreeListCtrl_SetLineSpacing, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetLineSpacing", (PyCFunction) _wrap_wxTreeListCtrl_GetLineSpacing, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetSpacing", (PyCFunction) _wrap_wxTreeListCtrl_SetSpacing, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetSpacing", (PyCFunction) _wrap_wxTreeListCtrl_GetSpacing, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_SetIndent", (PyCFunction) _wrap_wxTreeListCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetIndent", (PyCFunction) _wrap_wxTreeListCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_GetCount", (PyCFunction) _wrap_wxTreeListCtrl_GetCount, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl__setCallbackInfo", (PyCFunction) _wrap_wxTreeListCtrl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListCtrl_Create", (PyCFunction) _wrap_wxTreeListCtrl_Create, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPreTreeListCtrl", (PyCFunction) _wrap_new_wxPreTreeListCtrl, METH_VARARGS | METH_KEYWORDS }, + { "new_wxTreeListCtrl", (PyCFunction) _wrap_new_wxTreeListCtrl, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_SetWidth", (PyCFunction) _wrap_wxTreeListColumnInfo_SetWidth, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_SetSelectedImage", (PyCFunction) _wrap_wxTreeListColumnInfo_SetSelectedImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_SetImage", (PyCFunction) _wrap_wxTreeListColumnInfo_SetImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_SetText", (PyCFunction) _wrap_wxTreeListColumnInfo_SetText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_SetAlignment", (PyCFunction) _wrap_wxTreeListColumnInfo_SetAlignment, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_GetWidth", (PyCFunction) _wrap_wxTreeListColumnInfo_GetWidth, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_GetSelectedImage", (PyCFunction) _wrap_wxTreeListColumnInfo_GetSelectedImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_GetImage", (PyCFunction) _wrap_wxTreeListColumnInfo_GetImage, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_GetText", (PyCFunction) _wrap_wxTreeListColumnInfo_GetText, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeListColumnInfo_GetAlignment", (PyCFunction) _wrap_wxTreeListColumnInfo_GetAlignment, METH_VARARGS | METH_KEYWORDS }, + { "new_wxTreeListColumnInfo", (PyCFunction) _wrap_new_wxTreeListColumnInfo, METH_VARARGS | METH_KEYWORDS }, { "wxLEDNumberCtrl_SetValue", (PyCFunction) _wrap_wxLEDNumberCtrl_SetValue, METH_VARARGS | METH_KEYWORDS }, { "wxLEDNumberCtrl_SetDrawFaded", (PyCFunction) _wrap_wxLEDNumberCtrl_SetDrawFaded, METH_VARARGS | METH_KEYWORDS }, { "wxLEDNumberCtrl_SetAlignment", (PyCFunction) _wrap_wxLEDNumberCtrl_SetAlignment, METH_VARARGS | METH_KEYWORDS }, @@ -2009,6 +6422,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_unsigned_short","_WXTYPE",0}, { "_unsigned_short","_short",0}, { "_wxSplitterWindow","_wxThinSplitterWindow",SwigwxThinSplitterWindowTowxSplitterWindow}, + { "_wxObject","_wxPyTreeListCtrl",SwigwxPyTreeListCtrlTowxObject}, + { "_wxObject","_wxTreeListColumnInfo",SwigwxTreeListColumnInfoTowxObject}, { "_wxObject","_wxLEDNumberCtrl",SwigwxLEDNumberCtrlTowxObject}, { "_wxObject","_wxSplitterScrolledWindow",SwigwxSplitterScrolledWindowTowxObject}, { "_wxObject","_wxThinSplitterWindow",SwigwxThinSplitterWindowTowxObject}, @@ -2022,6 +6437,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_signed_short","_short",0}, { "_wxScrolledWindow","_wxSplitterScrolledWindow",SwigwxSplitterScrolledWindowTowxScrolledWindow}, { "_unsigned_char","_byte",0}, + { "_wxControl","_wxPyTreeListCtrl",SwigwxPyTreeListCtrlTowxControl}, { "_wxControl","_wxLEDNumberCtrl",SwigwxLEDNumberCtrlTowxControl}, { "_wxControl","_wxRemotelyScrolledTreeCtrl",SwigwxRemotelyScrolledTreeCtrlTowxControl}, { "_unsigned_int","_wxCoord",0}, @@ -2072,6 +6488,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_size_t",0}, { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, + { "_wxEvtHandler","_wxPyTreeListCtrl",SwigwxPyTreeListCtrlTowxEvtHandler}, { "_wxEvtHandler","_wxLEDNumberCtrl",SwigwxLEDNumberCtrlTowxEvtHandler}, { "_wxEvtHandler","_wxSplitterScrolledWindow",SwigwxSplitterScrolledWindowTowxEvtHandler}, { "_wxEvtHandler","_wxThinSplitterWindow",SwigwxThinSplitterWindowTowxEvtHandler}, @@ -2079,6 +6496,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxEvtHandler","_wxRemotelyScrolledTreeCtrl",SwigwxRemotelyScrolledTreeCtrlTowxEvtHandler}, { "_wxEvtHandler","_wxEditableListBox",SwigwxEditableListBoxTowxEvtHandler}, { "_wxEvtHandler","_wxDynamicSashWindow",SwigwxDynamicSashWindowTowxEvtHandler}, + { "_wxWindow","_wxPyTreeListCtrl",SwigwxPyTreeListCtrlTowxWindow}, { "_wxWindow","_wxLEDNumberCtrl",SwigwxLEDNumberCtrlTowxWindow}, { "_wxWindow","_wxSplitterScrolledWindow",SwigwxSplitterScrolledWindowTowxWindow}, { "_wxWindow","_wxThinSplitterWindow",SwigwxThinSplitterWindowTowxWindow}, @@ -2109,12 +6527,17 @@ SWIGEXPORT(void) initgizmosc() { PyDict_SetItemString(d,"wxLED_ALIGN_CENTER", PyInt_FromLong((long) wxLED_ALIGN_CENTER)); PyDict_SetItemString(d,"wxLED_ALIGN_MASK", PyInt_FromLong((long) wxLED_ALIGN_MASK)); PyDict_SetItemString(d,"wxLED_DRAW_FADED", PyInt_FromLong((long) wxLED_DRAW_FADED)); + PyDict_SetItemString(d,"wxTL_ALIGN_LEFT", PyInt_FromLong((long) wxTL_ALIGN_LEFT)); + PyDict_SetItemString(d,"wxTL_ALIGN_RIGHT", PyInt_FromLong((long) wxTL_ALIGN_RIGHT)); + PyDict_SetItemString(d,"wxTL_ALIGN_CENTER", PyInt_FromLong((long) wxTL_ALIGN_CENTER)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMCOLUMN", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMCOLUMN)); wxClassInfo::CleanUpClasses(); wxClassInfo::InitializeClasses(); wxPyPtrTypeMap_Add("wxTreeCompanionWindow", "wxPyTreeCompanionWindow"); + wxPyPtrTypeMap_Add("wxTreeListCtrl", "wxPyTreeListCtrl"); { int i; for (i = 0; _swig_mapping[i].n1; i++) diff --git a/wxPython/contrib/gizmos/gizmos.i b/wxPython/contrib/gizmos/gizmos.i index 1af639a5b7..e677f65e8c 100644 --- a/wxPython/contrib/gizmos/gizmos.i +++ b/wxPython/contrib/gizmos/gizmos.i @@ -19,7 +19,12 @@ #include #include #include + #include +#include +#include +#include "treelistctrl.h" +#include "pytree.h" %} //--------------------------------------------------------------------------- @@ -32,6 +37,8 @@ %extern _defs.i %extern events.i %extern controls.i +%extern controls2.i +%extern gdi.i //---------------------------------------------------------------------- @@ -40,6 +47,8 @@ // Put some wx default wxChar* values into wxStrings. static const wxString wxPyDynamicSashNameStr(wxT("dynamicSashWindow")); static const wxString wxPyEditableListBoxNameStr(wxT("editableListBox")); + static const wxString wxPyTreeListCtrlNameStr(wxT("treelistctrl")); + static const wxString wxPyEmptyString(wxT("")); %} ///---------------------------------------------------------------------- @@ -390,6 +399,521 @@ public: }; + + +//---------------------------------------------------------------------------- +// wxTreeListCtrl - the multicolumn tree control +//---------------------------------------------------------------------------- + +enum wxTreeListColumnAlign { + wxTL_ALIGN_LEFT, + wxTL_ALIGN_RIGHT, + wxTL_ALIGN_CENTER +}; + + + +enum { + wxTREE_HITTEST_ONITEMCOLUMN +}; + + + + +class wxTreeListColumnInfo: public wxObject { +public: + wxTreeListColumnInfo(const wxString& text = wxPyEmptyString, + int image = -1, + size_t width = 100, + wxTreeListColumnAlign alignment = wxTL_ALIGN_LEFT); + + wxTreeListColumnAlign GetAlignment() const; + wxString GetText() const; + int GetImage() const; + int GetSelectedImage() const; + size_t GetWidth() const; + + void SetAlignment(wxTreeListColumnAlign alignment); + void SetText(const wxString& text); + void SetImage(int image); + void SetSelectedImage(int image); + void SetWidth(size_t with); +}; + + + + +%{ // C++ version of Python aware control +class wxPyTreeListCtrl : public wxTreeListCtrl { + DECLARE_ABSTRACT_CLASS(wxPyTreeListCtrl); +public: + wxPyTreeListCtrl() : wxTreeListCtrl() {} + wxPyTreeListCtrl(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator &validator, + const wxString& name) : + wxTreeListCtrl(parent, id, pos, size, style, validator, name) {} + + int OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2) { + int rval = 0; + bool found; + wxPyBeginBlockThreads(); + if ((found = wxPyCBH_findCallback(m_myInst, "OnCompareItems"))) { + PyObject *o1 = wxPyConstructObject((void*)&item1, wxT("wxTreeItemId"), 0); + PyObject *o2 = wxPyConstructObject((void*)&item2, wxT("wxTreeItemId"), 0); + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)",o1,o2)); + Py_DECREF(o1); + Py_DECREF(o2); + } + wxPyEndBlockThreads(); + if (! found) + rval = wxTreeListCtrl::OnCompareItems(item1, item2); + return rval; + } + PYPRIVATE; +}; + +IMPLEMENT_ABSTRACT_CLASS(wxPyTreeListCtrl, wxTreeListCtrl) + +%} + + + + +// These are for the GetFirstChild/GetNextChild methods below +%{ + static const long longzero = 0; +%} +%typemap(python, in) long& INOUT = long* INOUT; +%typemap(python, argout) long& INOUT = long* INOUT; + + +%name(wxTreeListCtrl) class wxPyTreeListCtrl : public wxControl +{ +public: + wxPyTreeListCtrl(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxPyTreeListCtrlNameStr ); + %name(wxPreTreeListCtrl)wxPyTreeListCtrl(); + + bool Create(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxPyTreeListCtrlNameStr ); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxTreeListCtrl)" + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + %pragma(python) addtomethod = "wxPreTreeListCtrl:val._setOORInfo(val)" + + + + // get the total number of items in the control + size_t GetCount() const; + + // indent is the number of pixels the children are indented relative to + // the parents position. SetIndent() also redraws the control + // immediately. + unsigned int GetIndent() const; + void SetIndent(unsigned int indent); + + // spacing is the number of pixels between the start and the Text + unsigned int GetSpacing() const; + void SetSpacing(unsigned int spacing); + + // line spacing is the space above and below the text on each line + unsigned int GetLineSpacing() const; + void SetLineSpacing(unsigned int spacing); + + // image list: these functions allow to associate an image list with + // the control and retrieve it. Note that when assigned with + // SetImageList, the control does _not_ delete + // the associated image list when it's deleted in order to allow image + // lists to be shared between different controls. If you use + // AssignImageList, the control _does_ delete the image list. + // + // The normal image list is for the icons which correspond to the + // normal tree item state (whether it is selected or not). + // Additionally, the application might choose to show a state icon + // which corresponds to an app-defined item state (for example, + // checked/unchecked) which are taken from the state image list. + wxImageList *GetImageList() const; + wxImageList *GetStateImageList() const; + wxImageList *GetButtonsImageList() const; + + void SetImageList(wxImageList *imageList); + void SetStateImageList(wxImageList *imageList); + void SetButtonsImageList(wxImageList *imageList); + void AssignImageList(wxImageList *imageList); + void AssignStateImageList(wxImageList *imageList); + void AssignButtonsImageList(wxImageList *imageList); + + + + // adds a column + void AddColumn(const wxString& text); + %name(AddColumnInfo) void AddColumn(const wxTreeListColumnInfo& col); + + // inserts a column before the given one + void InsertColumn(size_t before, const wxString& text); + %name(InsertColumnInfo) void InsertColumn(size_t before, const wxTreeListColumnInfo& col); + + // deletes the given column - does not delete the corresponding column + // of each item + void RemoveColumn(size_t column); + + // returns the number of columns in the ctrl + size_t GetColumnCount() const; + + void SetColumnWidth(size_t column, size_t width); + int GetColumnWidth(size_t column) const; + + // tells which column is the "main" one, i.e. the "threaded" one + void SetMainColumn(size_t column); + size_t GetMainColumn() const; + + void SetColumnText(size_t column, const wxString& text); + wxString GetColumnText(size_t column) const; + + void SetColumn(size_t column, const wxTreeListColumnInfo& info); + wxTreeListColumnInfo& GetColumn(size_t column); + + // other column-related methods + void SetColumnAlignment(size_t column, wxTreeListColumnAlign align); + wxTreeListColumnAlign GetColumnAlignment(size_t column) const; + + void SetColumnImage(size_t column, int image); + int GetColumnImage(size_t column) const; + + + %addmethods { + // retrieves item's label of the given column (main column by default) + wxString GetItemText(const wxTreeItemId& item, int column = -1) { + if (column < 0) column = self->GetMainColumn(); + return self->GetItemText(item, column); + } + + // get one of the images associated with the item (normal by default) + int GetItemImage(const wxTreeItemId& item, int column = -1, + wxTreeItemIcon which = wxTreeItemIcon_Normal) { + if (column < 0) column = self->GetMainColumn(); + return self->GetItemImage(item, column, which); + } + + // set item's label (main column by default) + void SetItemText(const wxTreeItemId& item, const wxString& text, int column = -1) { + if (column < 0) column = self->GetMainColumn(); + self->SetItemText(item, column, text); + } + + // set one of the images associated with the item (normal by default) + // the which parameter is ignored for all columns but the main one + void SetItemImage(const wxTreeItemId& item, int image, int column = -1, + wxTreeItemIcon which = wxTreeItemIcon_Normal) { + if (column < 0) column = self->GetMainColumn(); + self->SetItemImage(item, column, image, which); + } + + + // [Get|Set]ItemData substitutes. Automatically create wxPyTreeItemData + // if needed. + wxPyTreeItemData* GetItemData(const wxTreeItemId& item) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(); + data->SetId(item); // set the id + self->SetItemData(item, data); + } + return data; + } + + void SetItemData(const wxTreeItemId& item, wxPyTreeItemData* data) { + data->SetId(item); // set the id + self->SetItemData(item, data); + } + + // [Get|Set]PyData are short-cuts. Also made somewhat crash-proof by + // automatically creating data classes. + PyObject* GetPyData(const wxTreeItemId& item) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(); + data->SetId(item); // set the id + self->SetItemData(item, data); + } + return data->GetData(); + } + + void SetPyData(const wxTreeItemId& item, PyObject* obj) { + wxPyTreeItemData* data = (wxPyTreeItemData*)self->GetItemData(item); + if (data == NULL) { + data = new wxPyTreeItemData(obj); + data->SetId(item); // set the id + self->SetItemData(item, data); + } else + data->SetData(obj); + } + } + + + // force appearance of [+] button near the item. This is useful to + // allow the user to expand the items which don't have any children now + // - but instead add them only when needed, thus minimizing memory + // usage and loading time. + void SetItemHasChildren(const wxTreeItemId& item, bool has = TRUE); + + // the item will be shown in bold + void SetItemBold(const wxTreeItemId& item, bool bold = TRUE); + + // set the item's text colour + void SetItemTextColour(const wxTreeItemId& item, const wxColour& col); + + // set the item's background colour + void SetItemBackgroundColour(const wxTreeItemId& item, + const wxColour& col); + + // set the item's font (should be of the same height for all items) + void SetItemFont(const wxTreeItemId& item, const wxFont& font); + + + bool GetItemBold(const wxTreeItemId& item) const; + wxColour GetItemTextColour(const wxTreeItemId& item) const; + wxColour GetItemBackgroundColour(const wxTreeItemId& item) const; + wxFont GetItemFont(const wxTreeItemId& item) const; + + // is the item visible (it might be outside the view or not expanded)? + bool IsVisible(const wxTreeItemId& item) const; + + // does the item has any children? + bool ItemHasChildren(const wxTreeItemId& item) const; + + // is the item expanded (only makes sense if HasChildren())? + bool IsExpanded(const wxTreeItemId& item) const; + + // is this item currently selected (the same as has focus)? + bool IsSelected(const wxTreeItemId& item) const; + + // is item text in bold font? + bool IsBold(const wxTreeItemId& item) const; + + // if 'recursively' is FALSE, only immediate children count, otherwise + // the returned number is the number of all items in this branch + size_t GetChildrenCount(const wxTreeItemId& item, bool recursively = TRUE); + + + // wxTreeItemId.IsOk() will return FALSE if there is no such item + + // get the root tree item + wxTreeItemId GetRootItem() const; + + // get the item currently selected (may return NULL if no selection) + wxTreeItemId GetSelection() const; + + // get the items currently selected, return the number of such item + //size_t GetSelections(wxArrayTreeItemIds&) const; + %addmethods { + PyObject* GetSelections() { + wxPyBeginBlockThreads(); + PyObject* rval = PyList_New(0); + wxArrayTreeItemIds array; + size_t num, x; + num = self->GetSelections(array); + for (x=0; x < num; x++) { + wxTreeItemId *tii = new wxTreeItemId(array.Item(x)); + PyObject* item = wxPyConstructObject((void*)tii, wxT("wxTreeItemId"), TRUE); + PyList_Append(rval, item); + } + wxPyEndBlockThreads(); + return rval; + } + } + + + // get the parent of this item (may return NULL if root) + %name(GetItemParent)wxTreeItemId GetParent(const wxTreeItemId& item) const; + + // for this enumeration function you must pass in a "cookie" parameter + // which is opaque for the application but is necessary for the library + // to make these functions reentrant (i.e. allow more than one + // enumeration on one and the same object simultaneously). Of course, + // the "cookie" passed to GetFirstChild() and GetNextChild() should be + // the same! + + // get the first child of this item + wxTreeItemId GetFirstChild(const wxTreeItemId& item, long& INOUT = longzero) const; + + // get the next child + wxTreeItemId GetNextChild(const wxTreeItemId& item, long& INOUT) const; + + // get the last child of this item - this method doesn't use cookies + wxTreeItemId GetLastChild(const wxTreeItemId& item) const; + + // get the next sibling of this item + wxTreeItemId GetNextSibling(const wxTreeItemId& item) const; + + // get the previous sibling + wxTreeItemId GetPrevSibling(const wxTreeItemId& item) const; + + // get first visible item + wxTreeItemId GetFirstVisibleItem() const; + + // get the next visible item: item must be visible itself! + // see IsVisible() and wxTreeCtrl::GetFirstVisibleItem() + wxTreeItemId GetNextVisible(const wxTreeItemId& item) const; + + // get the previous visible item: item must be visible itself! + wxTreeItemId GetPrevVisible(const wxTreeItemId& item) const; + + // Only for internal use right now, but should probably be public + wxTreeItemId GetNext(const wxTreeItemId& item) const; + + + // add the root node to the tree + wxTreeItemId AddRoot(const wxString& text, + int image = -1, int selectedImage = -1, + wxPyTreeItemData *data = NULL); + + // insert a new item in as the first child of the parent + wxTreeItemId PrependItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxPyTreeItemData *data = NULL); + + // insert a new item after a given one + wxTreeItemId InsertItem(const wxTreeItemId& parent, + const wxTreeItemId& idPrevious, + const wxString& text, + int image = -1, int selectedImage = -1, + wxPyTreeItemData *data = NULL); + + // insert a new item before the one with the given index + %name(InsertItemBefore) + wxTreeItemId InsertItem(const wxTreeItemId& parent, + size_t index, + const wxString& text, + int image = -1, int selectedImage = -1, + wxPyTreeItemData *data = NULL); + + // insert a new item in as the last child of the parent + wxTreeItemId AppendItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxPyTreeItemData *data = NULL); + + // delete this item and associated data if any + void Delete(const wxTreeItemId& item); + + // delete all children (but don't delete the item itself) + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteChildren(const wxTreeItemId& item); + + // delete all items from the tree + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteAllItems(); + + // expand this item + void Expand(const wxTreeItemId& item); + + // expand this item and all subitems recursively + void ExpandAll(const wxTreeItemId& item); + + // collapse the item without removing its children + void Collapse(const wxTreeItemId& item); + + // collapse the item and remove all children + void CollapseAndReset(const wxTreeItemId& item); + + // toggles the current state + void Toggle(const wxTreeItemId& item); + + // remove the selection from currently selected item (if any) + void Unselect(); + void UnselectAll(); + + // select this item + void SelectItem(const wxTreeItemId& item, bool unselect_others=TRUE, + bool extended_select=FALSE); + + // make sure this item is visible (expanding the parent item and/or + // scrolling to this item if necessary) + void EnsureVisible(const wxTreeItemId& item); + + // scroll to this item (but don't expand its parent) + void ScrollTo(const wxTreeItemId& item); + + // Returns wxTreeItemId, flags, and column + wxTreeItemId HitTest(const wxPoint& point, int& OUTPUT, int& OUTPUT); + + %addmethods { + // get the bounding rectangle of the item (or of its label only) + PyObject* GetBoundingRect(const wxTreeItemId& item, bool textOnly = FALSE) { + wxRect rect; + if (self->GetBoundingRect(item, rect, textOnly)) { + wxPyBeginBlockThreads(); + wxRect* r = new wxRect(rect); + PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); + wxPyEndBlockThreads(); + return val; + } + else { + Py_INCREF(Py_None); + return Py_None; + } + } + } + + + // Start editing the item label: this (temporarily) replaces the item + // with a one line edit control. The item will be selected if it hadn't + // been before. + void EditLabel( const wxTreeItemId& item ); + void Edit( const wxTreeItemId& item ); + + // sort the children of this item using OnCompareItems + void SortChildren(const wxTreeItemId& item); + + // get the selected item image + int GetItemSelectedImage(const wxTreeItemId& item) const; + + // set the selected item image + void SetItemSelectedImage(const wxTreeItemId& item, int image); + + + wxWindow* GetHeaderWindow() const; + wxWindow* GetMainWindow() const; + +%pragma(python) addtoclass = " + # Redefine some methods that SWIG gets a bit confused on... + def GetFirstChild(self, *_args, **_kwargs): + val1,val2 = gizmosc.wxTreeListCtrl_GetFirstChild(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1,val2) + def GetNextChild(self, *_args, **_kwargs): + val1,val2 = gizmosc.wxTreeListCtrl_GetNextChild(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1,val2) + def HitTest(self, *_args, **_kwargs): + val1, val2, val3 = gizmosc.wxTreeListCtrl_HitTest(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1, val2, val3) +" +}; + + + + //---------------------------------------------------------------------- //---------------------------------------------------------------------- @@ -399,6 +923,7 @@ public: wxClassInfo::InitializeClasses(); wxPyPtrTypeMap_Add("wxTreeCompanionWindow", "wxPyTreeCompanionWindow"); + wxPyPtrTypeMap_Add("wxTreeListCtrl", "wxPyTreeListCtrl"); %} diff --git a/wxPython/contrib/gizmos/gizmos.py b/wxPython/contrib/gizmos/gizmos.py index dfb3f66d85..9ad14b4827 100644 --- a/wxPython/contrib/gizmos/gizmos.py +++ b/wxPython/contrib/gizmos/gizmos.py @@ -54,10 +54,10 @@ class wxDynamicSashSplitEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDynamicSashSplitEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDynamicSashSplitEvent(wxDynamicSashSplitEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxDynamicSashSplitEvent,_args,_kwargs) + self.this = gizmosc.new_wxDynamicSashSplitEvent(*_args,**_kwargs) self.thisown = 1 @@ -68,10 +68,10 @@ class wxDynamicSashUnifyEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDynamicSashUnifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDynamicSashUnifyEvent(wxDynamicSashUnifyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxDynamicSashUnifyEvent,_args,_kwargs) + self.this = gizmosc.new_wxDynamicSashUnifyEvent(*_args,**_kwargs) self.thisown = 1 @@ -82,28 +82,28 @@ class wxDynamicSashWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(gizmosc.wxDynamicSashWindow_Create,(self,) + _args, _kwargs) + val = gizmosc.wxDynamicSashWindow_Create(self, *_args, **_kwargs) return val def GetHScrollBar(self, *_args, **_kwargs): - val = apply(gizmosc.wxDynamicSashWindow_GetHScrollBar,(self,) + _args, _kwargs) + val = gizmosc.wxDynamicSashWindow_GetHScrollBar(self, *_args, **_kwargs) if val: val = wxScrollBarPtr(val) return val def GetVScrollBar(self, *_args, **_kwargs): - val = apply(gizmosc.wxDynamicSashWindow_GetVScrollBar,(self,) + _args, _kwargs) + val = gizmosc.wxDynamicSashWindow_GetVScrollBar(self, *_args, **_kwargs) if val: val = wxScrollBarPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDynamicSashWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDynamicSashWindow(wxDynamicSashWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxDynamicSashWindow,_args,_kwargs) + self.this = gizmosc.new_wxDynamicSashWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreDynamicSashWindow(*_args,**_kwargs): - val = wxDynamicSashWindowPtr(apply(gizmosc.new_wxPreDynamicSashWindow,_args,_kwargs)) + val = wxDynamicSashWindowPtr(gizmosc.new_wxPreDynamicSashWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -114,34 +114,34 @@ class wxEditableListBoxPtr(wxPanelPtr): self.this = this self.thisown = 0 def SetStrings(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_SetStrings,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_SetStrings(self, *_args, **_kwargs) return val def GetStrings(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetStrings,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetStrings(self, *_args, **_kwargs) return val def GetListCtrl(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetListCtrl,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetListCtrl(self, *_args, **_kwargs) return val def GetDelButton(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetDelButton,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetDelButton(self, *_args, **_kwargs) return val def GetNewButton(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetNewButton,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetNewButton(self, *_args, **_kwargs) return val def GetUpButton(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetUpButton,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetUpButton(self, *_args, **_kwargs) return val def GetDownButton(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetDownButton,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetDownButton(self, *_args, **_kwargs) return val def GetEditButton(self, *_args, **_kwargs): - val = apply(gizmosc.wxEditableListBox_GetEditButton,(self,) + _args, _kwargs) + val = gizmosc.wxEditableListBox_GetEditButton(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEditableListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxEditableListBox(wxEditableListBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxEditableListBox,_args,_kwargs) + self.this = gizmosc.new_wxEditableListBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -153,29 +153,29 @@ class wxRemotelyScrolledTreeCtrlPtr(wxTreeCtrlPtr): self.this = this self.thisown = 0 def HideVScrollbar(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_HideVScrollbar,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_HideVScrollbar(self, *_args, **_kwargs) return val def AdjustRemoteScrollbars(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_AdjustRemoteScrollbars,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_AdjustRemoteScrollbars(self, *_args, **_kwargs) return val def GetScrolledWindow(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_GetScrolledWindow,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_GetScrolledWindow(self, *_args, **_kwargs) if val: val = wxScrolledWindowPtr(val) return val def ScrollToLine(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_ScrollToLine,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_ScrollToLine(self, *_args, **_kwargs) return val def SetCompanionWindow(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_SetCompanionWindow,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_SetCompanionWindow(self, *_args, **_kwargs) return val def GetCompanionWindow(self, *_args, **_kwargs): - val = apply(gizmosc.wxRemotelyScrolledTreeCtrl_GetCompanionWindow,(self,) + _args, _kwargs) + val = gizmosc.wxRemotelyScrolledTreeCtrl_GetCompanionWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRemotelyScrolledTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxRemotelyScrolledTreeCtrl(wxRemotelyScrolledTreeCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxRemotelyScrolledTreeCtrl,_args,_kwargs) + self.this = gizmosc.new_wxRemotelyScrolledTreeCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -187,20 +187,20 @@ class wxTreeCompanionWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(gizmosc.wxTreeCompanionWindow__setCallbackInfo,(self,) + _args, _kwargs) + val = gizmosc.wxTreeCompanionWindow__setCallbackInfo(self, *_args, **_kwargs) return val def GetTreeCtrl(self, *_args, **_kwargs): - val = apply(gizmosc.wxTreeCompanionWindow_GetTreeCtrl,(self,) + _args, _kwargs) + val = gizmosc.wxTreeCompanionWindow_GetTreeCtrl(self, *_args, **_kwargs) if val: val = wxRemotelyScrolledTreeCtrlPtr(val) return val def SetTreeCtrl(self, *_args, **_kwargs): - val = apply(gizmosc.wxTreeCompanionWindow_SetTreeCtrl,(self,) + _args, _kwargs) + val = gizmosc.wxTreeCompanionWindow_SetTreeCtrl(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeCompanionWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTreeCompanionWindow(wxTreeCompanionWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxTreeCompanionWindow,_args,_kwargs) + self.this = gizmosc.new_wxTreeCompanionWindow(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxTreeCompanionWindow) self._setOORInfo(self) @@ -213,10 +213,10 @@ class wxThinSplitterWindowPtr(wxSplitterWindowPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxThinSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxThinSplitterWindow(wxThinSplitterWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxThinSplitterWindow,_args,_kwargs) + self.this = gizmosc.new_wxThinSplitterWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -228,10 +228,10 @@ class wxSplitterScrolledWindowPtr(wxScrolledWindowPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSplitterScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSplitterScrolledWindow(wxSplitterScrolledWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxSplitterScrolledWindow,_args,_kwargs) + self.this = gizmosc.new_wxSplitterScrolledWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -243,38 +243,439 @@ class wxLEDNumberCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_Create,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_Create(self, *_args, **_kwargs) return val def GetAlignment(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_GetAlignment,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_GetAlignment(self, *_args, **_kwargs) return val def GetDrawFaded(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_GetDrawFaded,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_GetDrawFaded(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_GetValue,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_GetValue(self, *_args, **_kwargs) return val def SetAlignment(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_SetAlignment,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_SetAlignment(self, *_args, **_kwargs) return val def SetDrawFaded(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_SetDrawFaded,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_SetDrawFaded(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(gizmosc.wxLEDNumberCtrl_SetValue,(self,) + _args, _kwargs) + val = gizmosc.wxLEDNumberCtrl_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLEDNumberCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLEDNumberCtrl(wxLEDNumberCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gizmosc.new_wxLEDNumberCtrl,_args,_kwargs) + self.this = gizmosc.new_wxLEDNumberCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreLEDNumberCtrl(*_args,**_kwargs): - val = wxLEDNumberCtrlPtr(apply(gizmosc.new_wxPreLEDNumberCtrl,_args,_kwargs)) + val = wxLEDNumberCtrlPtr(gizmosc.new_wxPreLEDNumberCtrl(*_args,**_kwargs)) + val.thisown = 1 + val._setOORInfo(val) + return val + + +class wxTreeListColumnInfoPtr(wxObjectPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def GetAlignment(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_GetAlignment(self, *_args, **_kwargs) + return val + def GetText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_GetText(self, *_args, **_kwargs) + return val + def GetImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_GetImage(self, *_args, **_kwargs) + return val + def GetSelectedImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_GetSelectedImage(self, *_args, **_kwargs) + return val + def GetWidth(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_GetWidth(self, *_args, **_kwargs) + return val + def SetAlignment(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_SetAlignment(self, *_args, **_kwargs) + return val + def SetText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_SetText(self, *_args, **_kwargs) + return val + def SetImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_SetImage(self, *_args, **_kwargs) + return val + def SetSelectedImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_SetSelectedImage(self, *_args, **_kwargs) + return val + def SetWidth(self, *_args, **_kwargs): + val = gizmosc.wxTreeListColumnInfo_SetWidth(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxTreeListColumnInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxTreeListColumnInfo(wxTreeListColumnInfoPtr): + def __init__(self,*_args,**_kwargs): + self.this = gizmosc.new_wxTreeListColumnInfo(*_args,**_kwargs) + self.thisown = 1 + + + + +class wxTreeListCtrlPtr(wxControlPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def Create(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Create(self, *_args, **_kwargs) + return val + def _setCallbackInfo(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl__setCallbackInfo(self, *_args, **_kwargs) + return val + def GetCount(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetCount(self, *_args, **_kwargs) + return val + def GetIndent(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetIndent(self, *_args, **_kwargs) + return val + def SetIndent(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetIndent(self, *_args, **_kwargs) + return val + def GetSpacing(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetSpacing(self, *_args, **_kwargs) + return val + def SetSpacing(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetSpacing(self, *_args, **_kwargs) + return val + def GetLineSpacing(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetLineSpacing(self, *_args, **_kwargs) + return val + def SetLineSpacing(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetLineSpacing(self, *_args, **_kwargs) + return val + def GetImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetImageList(self, *_args, **_kwargs) + return val + def GetStateImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetStateImageList(self, *_args, **_kwargs) + return val + def GetButtonsImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetButtonsImageList(self, *_args, **_kwargs) + return val + def SetImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetImageList(self, *_args, **_kwargs) + return val + def SetStateImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetStateImageList(self, *_args, **_kwargs) + return val + def SetButtonsImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetButtonsImageList(self, *_args, **_kwargs) + return val + def AssignImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AssignImageList(self, *_args, **_kwargs) + return val + def AssignStateImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AssignStateImageList(self, *_args, **_kwargs) + return val + def AssignButtonsImageList(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AssignButtonsImageList(self, *_args, **_kwargs) + return val + def AddColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AddColumn(self, *_args, **_kwargs) + return val + def AddColumnInfo(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AddColumnInfo(self, *_args, **_kwargs) + return val + def InsertColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_InsertColumn(self, *_args, **_kwargs) + return val + def InsertColumnInfo(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_InsertColumnInfo(self, *_args, **_kwargs) + return val + def RemoveColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_RemoveColumn(self, *_args, **_kwargs) + return val + def GetColumnCount(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumnCount(self, *_args, **_kwargs) + return val + def SetColumnWidth(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetColumnWidth(self, *_args, **_kwargs) + return val + def GetColumnWidth(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumnWidth(self, *_args, **_kwargs) + return val + def SetMainColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetMainColumn(self, *_args, **_kwargs) + return val + def GetMainColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetMainColumn(self, *_args, **_kwargs) + return val + def SetColumnText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetColumnText(self, *_args, **_kwargs) + return val + def GetColumnText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumnText(self, *_args, **_kwargs) + return val + def SetColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetColumn(self, *_args, **_kwargs) + return val + def GetColumn(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumn(self, *_args, **_kwargs) + if val: val = wxTreeListColumnInfoPtr(val) + return val + def SetColumnAlignment(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetColumnAlignment(self, *_args, **_kwargs) + return val + def GetColumnAlignment(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumnAlignment(self, *_args, **_kwargs) + return val + def SetColumnImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetColumnImage(self, *_args, **_kwargs) + return val + def GetColumnImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetColumnImage(self, *_args, **_kwargs) + return val + def GetItemText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemText(self, *_args, **_kwargs) + return val + def GetItemImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemImage(self, *_args, **_kwargs) + return val + def SetItemText(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemText(self, *_args, **_kwargs) + return val + def SetItemImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemImage(self, *_args, **_kwargs) + return val + def GetItemData(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemData(self, *_args, **_kwargs) + if val: val = wxTreeItemDataPtr(val) + return val + def SetItemData(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemData(self, *_args, **_kwargs) + return val + def GetPyData(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetPyData(self, *_args, **_kwargs) + return val + def SetPyData(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetPyData(self, *_args, **_kwargs) + return val + def SetItemHasChildren(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemHasChildren(self, *_args, **_kwargs) + return val + def SetItemBold(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemBold(self, *_args, **_kwargs) + return val + def SetItemTextColour(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemTextColour(self, *_args, **_kwargs) + return val + def SetItemBackgroundColour(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemBackgroundColour(self, *_args, **_kwargs) + return val + def SetItemFont(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemFont(self, *_args, **_kwargs) + return val + def GetItemBold(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemBold(self, *_args, **_kwargs) + return val + def GetItemTextColour(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemTextColour(self, *_args, **_kwargs) + if val: val = wxColourPtr(val) ; val.thisown = 1 + return val + def GetItemBackgroundColour(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemBackgroundColour(self, *_args, **_kwargs) + if val: val = wxColourPtr(val) ; val.thisown = 1 + return val + def GetItemFont(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemFont(self, *_args, **_kwargs) + if val: val = wxFontPtr(val) ; val.thisown = 1 + return val + def IsVisible(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_IsVisible(self, *_args, **_kwargs) + return val + def ItemHasChildren(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_ItemHasChildren(self, *_args, **_kwargs) + return val + def IsExpanded(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_IsExpanded(self, *_args, **_kwargs) + return val + def IsSelected(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_IsSelected(self, *_args, **_kwargs) + return val + def IsBold(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_IsBold(self, *_args, **_kwargs) + return val + def GetChildrenCount(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetChildrenCount(self, *_args, **_kwargs) + return val + def GetRootItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetRootItem(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetSelection(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetSelection(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetSelections(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetSelections(self, *_args, **_kwargs) + return val + def GetItemParent(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemParent(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetFirstChild(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetFirstChild(self, *_args, **_kwargs) + return val + def GetNextChild(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetNextChild(self, *_args, **_kwargs) + return val + def GetLastChild(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetLastChild(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetNextSibling(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetNextSibling(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetPrevSibling(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetPrevSibling(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetFirstVisibleItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetFirstVisibleItem(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetNextVisible(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetNextVisible(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetPrevVisible(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetPrevVisible(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def GetNext(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetNext(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def AddRoot(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AddRoot(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def PrependItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_PrependItem(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def InsertItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_InsertItem(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def InsertItemBefore(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_InsertItemBefore(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def AppendItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_AppendItem(self, *_args, **_kwargs) + if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 + return val + def Delete(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Delete(self, *_args, **_kwargs) + return val + def DeleteChildren(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_DeleteChildren(self, *_args, **_kwargs) + return val + def DeleteAllItems(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_DeleteAllItems(self, *_args, **_kwargs) + return val + def Expand(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Expand(self, *_args, **_kwargs) + return val + def ExpandAll(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_ExpandAll(self, *_args, **_kwargs) + return val + def Collapse(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Collapse(self, *_args, **_kwargs) + return val + def CollapseAndReset(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_CollapseAndReset(self, *_args, **_kwargs) + return val + def Toggle(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Toggle(self, *_args, **_kwargs) + return val + def Unselect(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Unselect(self, *_args, **_kwargs) + return val + def UnselectAll(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_UnselectAll(self, *_args, **_kwargs) + return val + def SelectItem(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SelectItem(self, *_args, **_kwargs) + return val + def EnsureVisible(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_EnsureVisible(self, *_args, **_kwargs) + return val + def ScrollTo(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_ScrollTo(self, *_args, **_kwargs) + return val + def HitTest(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_HitTest(self, *_args, **_kwargs) + return val + def GetBoundingRect(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetBoundingRect(self, *_args, **_kwargs) + return val + def EditLabel(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_EditLabel(self, *_args, **_kwargs) + return val + def Edit(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_Edit(self, *_args, **_kwargs) + return val + def SortChildren(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SortChildren(self, *_args, **_kwargs) + return val + def GetItemSelectedImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetItemSelectedImage(self, *_args, **_kwargs) + return val + def SetItemSelectedImage(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_SetItemSelectedImage(self, *_args, **_kwargs) + return val + def GetHeaderWindow(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetHeaderWindow(self, *_args, **_kwargs) + return val + def GetMainWindow(self, *_args, **_kwargs): + val = gizmosc.wxTreeListCtrl_GetMainWindow(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxTreeListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + + # Redefine some methods that SWIG gets a bit confused on... + def GetFirstChild(self, *_args, **_kwargs): + val1,val2 = gizmosc.wxTreeListCtrl_GetFirstChild(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1,val2) + def GetNextChild(self, *_args, **_kwargs): + val1,val2 = gizmosc.wxTreeListCtrl_GetNextChild(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1,val2) + def HitTest(self, *_args, **_kwargs): + val1, val2, val3 = gizmosc.wxTreeListCtrl_HitTest(self, *_args, **_kwargs) + val1 = wxTreeItemIdPtr(val1) + val1.thisown = 1 + return (val1, val2, val3) + +class wxTreeListCtrl(wxTreeListCtrlPtr): + def __init__(self,*_args,**_kwargs): + self.this = gizmosc.new_wxTreeListCtrl(*_args,**_kwargs) + self.thisown = 1 + self._setCallbackInfo(self, wxTreeListCtrl) + self._setOORInfo(self) + + + +def wxPreTreeListCtrl(*_args,**_kwargs): + val = wxTreeListCtrlPtr(gizmosc.new_wxPreTreeListCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -300,6 +701,10 @@ wxLED_ALIGN_RIGHT = gizmosc.wxLED_ALIGN_RIGHT wxLED_ALIGN_CENTER = gizmosc.wxLED_ALIGN_CENTER wxLED_ALIGN_MASK = gizmosc.wxLED_ALIGN_MASK wxLED_DRAW_FADED = gizmosc.wxLED_DRAW_FADED +wxTL_ALIGN_LEFT = gizmosc.wxTL_ALIGN_LEFT +wxTL_ALIGN_RIGHT = gizmosc.wxTL_ALIGN_RIGHT +wxTL_ALIGN_CENTER = gizmosc.wxTL_ALIGN_CENTER +wxTREE_HITTEST_ONITEMCOLUMN = gizmosc.wxTREE_HITTEST_ONITEMCOLUMN #-------------- USER INCLUDE ----------------------- diff --git a/wxPython/contrib/gizmos/treelistctrl.cpp b/wxPython/contrib/gizmos/treelistctrl.cpp new file mode 100644 index 0000000000..a559d95415 --- /dev/null +++ b/wxPython/contrib/gizmos/treelistctrl.cpp @@ -0,0 +1,4764 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: treelistctrl.cpp (derived by treectlg.h) +// Purpose: multi column tree control implementation +// Author: Robert Roebling +// Created: 01/02/97 +// Modified: Alberto Griggio, 2002 +// 22/10/98 - almost total rewrite, simpler interface (VZ) +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// =========================================================================== +// declarations +// =========================================================================== + +// --------------------------------------------------------------------------- +// headers +// --------------------------------------------------------------------------- + +#if defined(__GNUG__) && !defined(__APPLE__) + #pragma implementation "treelistctrl.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + + +#include +#include +#include +#include +#include +#include +#include +#include + +//#include "wx/gizmos/treelistctrl.h" +#include "treelistctrl.h" + + +#ifdef __WXGTK__ + #include + #include +#endif + +// --------------------------------------------------------------------------- +// array types +// --------------------------------------------------------------------------- + +class wxTreeListItem; + +WX_DEFINE_ARRAY(wxTreeListItem *, wxArrayTreeListItems); + +#include +WX_DECLARE_OBJARRAY(wxTreeListColumnInfo, wxArrayTreeListColumnInfo); +#include +WX_DEFINE_OBJARRAY(wxArrayTreeListColumnInfo); + +#if !wxCHECK_VERSION(2, 3, 3) +WX_DEFINE_ARRAY(short, wxArrayShort); +#endif + + +// -------------------------------------------------------------------------- +// constants +// -------------------------------------------------------------------------- + +static const int NO_IMAGE = -1; + +#define PIXELS_PER_UNIT 10 + +const wxChar* wxTreeListCtrlNameStr = wxT("treelistctrl"); + +static wxTreeListColumnInfo wxInvalidTreeListColumnInfo; + + +// --------------------------------------------------------------------------- +// private classes +// --------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +// wxTreeListHeaderWindow (internal) +//----------------------------------------------------------------------------- + +class wxTreeListHeaderWindow : public wxWindow +{ +protected: + wxTreeListMainWindow *m_owner; + wxCursor *m_currentCursor; + wxCursor *m_resizeCursor; + bool m_isDragging; + + // column being resized + int m_column; + + // divider line position in logical (unscrolled) coords + int m_currentX; + + // minimal position beyond which the divider line can't be dragged in + // logical coords + int m_minX; + + wxArrayTreeListColumnInfo m_columns; + + // total width of the columns + int m_total_col_width; + + +public: + wxTreeListHeaderWindow(); + + wxTreeListHeaderWindow( wxWindow *win, + wxWindowID id, + wxTreeListMainWindow *owner, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + long style = 0, + const wxString &name = wxT("wxtreelistctrlcolumntitles") ); + + virtual ~wxTreeListHeaderWindow(); + + void DoDrawRect( wxDC *dc, int x, int y, int w, int h ); + void DrawCurrent(); + void AdjustDC(wxDC& dc); + + void OnPaint( wxPaintEvent &event ); + void OnMouse( wxMouseEvent &event ); + void OnSetFocus( wxFocusEvent &event ); + + + // columns manipulation + + size_t GetColumnCount() const { return m_columns.GetCount(); } + + void AddColumn(const wxTreeListColumnInfo& col); + + void InsertColumn(size_t before, const wxTreeListColumnInfo& col); + + void RemoveColumn(size_t column); + + void SetColumn(size_t column, const wxTreeListColumnInfo& info); + const wxTreeListColumnInfo& GetColumn(size_t column) const + { + wxCHECK_MSG(column < GetColumnCount(), wxInvalidTreeListColumnInfo, wxT("Invalid column")); + return m_columns[column]; + } + wxTreeListColumnInfo& GetColumn(size_t column) + { + wxCHECK_MSG(column < GetColumnCount(), wxInvalidTreeListColumnInfo, wxT("Invalid column")); + return m_columns[column]; + } + + void SetColumnWidth(size_t column, size_t width); + + void SetColumnText(size_t column, const wxString& text) + { + wxCHECK_RET(column < GetColumnCount(), wxT("Invalid column")); + m_columns[column].SetText(text); + } + + wxString GetColumnText(size_t column) const + { + wxCHECK_MSG(column < GetColumnCount(), wxEmptyString, wxT("Invalid column")); + return m_columns[column].GetText(); + } + + int GetColumnWidth(size_t column) const + { + wxCHECK_MSG(column < GetColumnCount(), -1, wxT("Invalid column")); + return m_columns[column].GetWidth(); + } + + int GetWidth() const { return m_total_col_width; } + + // needs refresh + bool m_dirty; + +private: + // common part of all ctors + void Init(); + + void SendListEvent(wxEventType type, wxPoint pos); + + DECLARE_DYNAMIC_CLASS(wxTreeListHeaderWindow) + DECLARE_EVENT_TABLE() +}; + + +// this is the "true" control +class wxTreeListMainWindow: public wxScrolledWindow +{ +public: + // creation + // -------- + wxTreeListMainWindow() { Init(); } + + wxTreeListMainWindow(wxTreeListCtrl *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxT("wxtreelistmainwindow")) + { + Init(); + Create(parent, id, pos, size, style, validator, name); + } + + virtual ~wxTreeListMainWindow(); + + bool Create(wxTreeListCtrl *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxT("wxtreelistctrl")); + + // accessors + // --------- + + // get the total number of items in the control + size_t GetCount() const; + + // indent is the number of pixels the children are indented relative to + // the parents position. SetIndent() also redraws the control + // immediately. + unsigned int GetIndent() const { return m_indent; } + void SetIndent(unsigned int indent); + + // spacing is the number of pixels between the start and the Text + unsigned int GetSpacing() const { return m_spacing; } + void SetSpacing(unsigned int spacing); + + // see wxTreeListCtrl for the meaning + unsigned int GetLineSpacing() const { return m_linespacing; } + void SetLineSpacing(unsigned int spacing); + + // image list: these functions allow to associate an image list with + // the control and retrieve it. Note that when assigned with + // SetImageList, the control does _not_ delete + // the associated image list when it's deleted in order to allow image + // lists to be shared between different controls. If you use + // AssignImageList, the control _does_ delete the image list. + // + // The normal image list is for the icons which correspond to the + // normal tree item state (whether it is selected or not). + // Additionally, the application might choose to show a state icon + // which corresponds to an app-defined item state (for example, + // checked/unchecked) which are taken from the state image list. + wxImageList *GetImageList() const; + wxImageList *GetStateImageList() const; + wxImageList *GetButtonsImageList() const; + + void SetImageList(wxImageList *imageList); + void SetStateImageList(wxImageList *imageList); + void SetButtonsImageList(wxImageList *imageList); + void AssignImageList(wxImageList *imageList); + void AssignStateImageList(wxImageList *imageList); + void AssignButtonsImageList(wxImageList *imageList); + + // Functions to work with tree ctrl items. + + // accessors + // --------- + + // retrieve item's label + wxString GetItemText(const wxTreeItemId& item) const + { return GetItemText(item, GetMainColumn()); } + // get one of the images associated with the item (normal by default) + int GetItemImage(const wxTreeItemId& item, + wxTreeItemIcon which = wxTreeItemIcon_Normal) const + { return GetItemImage(item, GetMainColumn(), which); } + + // get the data associated with the item + wxTreeItemData *GetItemData(const wxTreeItemId& item) const; + + bool GetItemBold(const wxTreeItemId& item) const; + wxColour GetItemTextColour(const wxTreeItemId& item) const; + wxColour GetItemBackgroundColour(const wxTreeItemId& item) const; + wxFont GetItemFont(const wxTreeItemId& item) const; + + // modifiers + // --------- + + // set item's label + void SetItemText(const wxTreeItemId& item, const wxString& text) + { SetItemText(item, GetMainColumn(), text); } + + // get one of the images associated with the item (normal by default) + void SetItemImage(const wxTreeItemId& item, int image, + wxTreeItemIcon which = wxTreeItemIcon_Normal) + { SetItemImage(item, GetMainColumn(), image, which); } + + // associate some data with the item + void SetItemData(const wxTreeItemId& item, wxTreeItemData *data); + + // force appearance of [+] button near the item. This is useful to + // allow the user to expand the items which don't have any children now + // - but instead add them only when needed, thus minimizing memory + // usage and loading time. + void SetItemHasChildren(const wxTreeItemId& item, bool has = TRUE); + + // the item will be shown in bold + void SetItemBold(const wxTreeItemId& item, bool bold = TRUE); + + // set the item's text colour + void SetItemTextColour(const wxTreeItemId& item, const wxColour& col); + + // set the item's background colour + void SetItemBackgroundColour(const wxTreeItemId& item, + const wxColour& col); + + // set the item's font (should be of the same height for all items) + void SetItemFont(const wxTreeItemId& item, const wxFont& font); + + // set the window font + virtual bool SetFont( const wxFont &font ); + + // set the styles. No need to specify a GetWindowStyle here since + // the base wxWindow member function will do it for us + void SetWindowStyle(const long styles); + + // item status inquiries + // --------------------- + + // is the item visible (it might be outside the view or not expanded)? + bool IsVisible(const wxTreeItemId& item) const; + // does the item has any children? + bool HasChildren(const wxTreeItemId& item) const + { return ItemHasChildren(item); } + bool ItemHasChildren(const wxTreeItemId& item) const; + // is the item expanded (only makes sense if HasChildren())? + bool IsExpanded(const wxTreeItemId& item) const; + // is this item currently selected (the same as has focus)? + bool IsSelected(const wxTreeItemId& item) const; + // is item text in bold font? + bool IsBold(const wxTreeItemId& item) const; + // does the layout include space for a button? + + // number of children + // ------------------ + + // if 'recursively' is FALSE, only immediate children count, otherwise + // the returned number is the number of all items in this branch + size_t GetChildrenCount(const wxTreeItemId& item, bool recursively = TRUE); + + // navigation + // ---------- + + // wxTreeItemId.IsOk() will return FALSE if there is no such item + + // get the root tree item + wxTreeItemId GetRootItem() const { return m_anchor; } + + // get the item currently selected (may return NULL if no selection) + wxTreeItemId GetSelection() const { return m_current; } + + // get the items currently selected, return the number of such item + size_t GetSelections(wxArrayTreeItemIds&) const; + + // get the parent of this item (may return NULL if root) + wxTreeItemId GetParent(const wxTreeItemId& item) const; + + // for this enumeration function you must pass in a "cookie" parameter + // which is opaque for the application but is necessary for the library + // to make these functions reentrant (i.e. allow more than one + // enumeration on one and the same object simultaneously). Of course, + // the "cookie" passed to GetFirstChild() and GetNextChild() should be + // the same! + + // get the first child of this item + wxTreeItemId GetFirstChild(const wxTreeItemId& item, long& cookie) const; + // get the next child + wxTreeItemId GetNextChild(const wxTreeItemId& item, long& cookie) const; + // get the last child of this item - this method doesn't use cookies + wxTreeItemId GetLastChild(const wxTreeItemId& item) const; + + // get the next sibling of this item + wxTreeItemId GetNextSibling(const wxTreeItemId& item) const; + // get the previous sibling + wxTreeItemId GetPrevSibling(const wxTreeItemId& item) const; + + // get first visible item + wxTreeItemId GetFirstVisibleItem() const; + // get the next visible item: item must be visible itself! + // see IsVisible() and wxTreeCtrl::GetFirstVisibleItem() + wxTreeItemId GetNextVisible(const wxTreeItemId& item) const; + // get the previous visible item: item must be visible itself! + wxTreeItemId GetPrevVisible(const wxTreeItemId& item) const; + + // Only for internal use right now, but should probably be public + wxTreeItemId GetNext(const wxTreeItemId& item) const; + + // operations + // ---------- + + // add the root node to the tree + wxTreeItemId AddRoot(const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item in as the first child of the parent + wxTreeItemId PrependItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item after a given one + wxTreeItemId InsertItem(const wxTreeItemId& parent, + const wxTreeItemId& idPrevious, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item before the one with the given index + wxTreeItemId InsertItem(const wxTreeItemId& parent, + size_t index, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item in as the last child of the parent + wxTreeItemId AppendItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // delete this item and associated data if any + void Delete(const wxTreeItemId& item); + // delete all children (but don't delete the item itself) + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteChildren(const wxTreeItemId& item); + // delete all items from the tree + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteAllItems(); + + // expand this item + void Expand(const wxTreeItemId& item); + // expand this item and all subitems recursively + void ExpandAll(const wxTreeItemId& item); + // collapse the item without removing its children + void Collapse(const wxTreeItemId& item); + // collapse the item and remove all children + void CollapseAndReset(const wxTreeItemId& item); + // toggles the current state + void Toggle(const wxTreeItemId& item); + + // remove the selection from currently selected item (if any) + void Unselect(); + void UnselectAll(); + // select this item + void SelectItem(const wxTreeItemId& item, bool unselect_others=TRUE, + bool extended_select=FALSE); + // make sure this item is visible (expanding the parent item and/or + // scrolling to this item if necessary) + void EnsureVisible(const wxTreeItemId& item); + // scroll to this item (but don't expand its parent) + void ScrollTo(const wxTreeItemId& item); + void AdjustMyScrollbars(); + + // The first function is more portable (because easier to implement + // on other platforms), but the second one returns some extra info. + wxTreeItemId HitTest(const wxPoint& point) + { int dummy; return HitTest(point, dummy); } + wxTreeItemId HitTest(const wxPoint& point, int& flags) + { int col; return HitTest(point, flags, col); } + // ALB + wxTreeItemId HitTest(const wxPoint& point, int& flags, int& column); + + + // get the bounding rectangle of the item (or of its label only) + bool GetBoundingRect(const wxTreeItemId& item, + wxRect& rect, + bool textOnly = FALSE) const; + + // Start editing the item label: this (temporarily) replaces the item + // with a one line edit control. The item will be selected if it hadn't + // been before. + void EditLabel( const wxTreeItemId& item ) { Edit( item ); } + void Edit( const wxTreeItemId& item ); + + // sorting + // this function is called to compare 2 items and should return -1, 0 + // or +1 if the first item is less than, equal to or greater than the + // second one. The base class version performs alphabetic comparaison + // of item labels (GetText) + virtual int OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2); + // sort the children of this item using OnCompareItems + // + // NB: this function is not reentrant and not MT-safe (FIXME)! + void SortChildren(const wxTreeItemId& item); + + // deprecated functions: use Set/GetItemImage directly + // get the selected item image + int GetItemSelectedImage(const wxTreeItemId& item) const + { return GetItemImage(item, wxTreeItemIcon_Selected); } + // set the selected item image + void SetItemSelectedImage(const wxTreeItemId& item, int image) + { SetItemImage(item, image, wxTreeItemIcon_Selected); } + + // implementation only from now on + + // overridden base class virtuals + virtual bool SetBackgroundColour(const wxColour& colour); + virtual bool SetForegroundColour(const wxColour& colour); + + // callbacks + void OnPaint( wxPaintEvent &event ); + void OnSetFocus( wxFocusEvent &event ); + void OnKillFocus( wxFocusEvent &event ); + void OnChar( wxKeyEvent &event ); + void OnMouse( wxMouseEvent &event ); + void OnIdle( wxIdleEvent &event ); + void OnSize(wxSizeEvent& event); // ALB + void OnScroll(wxScrollWinEvent& event); // ALB + + // implementation helpers + void SendDeleteEvent(wxTreeListItem *itemBeingDeleted); + + void DrawBorder(const wxTreeItemId& item); + void DrawLine(const wxTreeItemId& item, bool below); + + size_t GetColumnCount() const + { return m_owner->GetHeaderWindow()->GetColumnCount(); } + + void SetMainColumn(size_t column) + { + if(column < GetColumnCount()) + m_main_column = column; + } + size_t GetMainColumn() const { return m_main_column; } + + void SetItemText(const wxTreeItemId& item, size_t column, + const wxString& text); + wxString GetItemText(const wxTreeItemId& item, size_t column) const; + + void SetItemImage(const wxTreeItemId& item, size_t column, int image, + wxTreeItemIcon which = wxTreeItemIcon_Normal); + int GetItemImage(const wxTreeItemId& item, size_t column, + wxTreeItemIcon which = wxTreeItemIcon_Normal) const; +protected: + wxTreeListCtrl* m_owner; // ALB + + size_t m_main_column; // ALB + + friend class wxTreeListItem; + friend class wxTreeListRenameTimer; + friend class wxTreeListTextCtrl; + + wxFont m_normalFont; + wxFont m_boldFont; + + wxTreeListItem *m_anchor; + wxTreeListItem *m_current, *m_key_current, *m_currentEdit; + unsigned short m_indent; + unsigned short m_spacing; + int m_lineHeight; + unsigned short m_linespacing; + wxPen m_dottedPen; + wxBrush *m_hilightBrush, + *m_hilightUnfocusedBrush; + bool m_hasFocus; +public: + bool m_dirty; +protected: + bool m_ownsImageListNormal, + m_ownsImageListState, + m_ownsImageListButtons; + bool m_isDragging; // true between BEGIN/END drag events + bool m_renameAccept; + bool m_lastOnSame; // last click on the same item as prev + wxImageList *m_imageListNormal, + *m_imageListState, + *m_imageListButtons; + + int m_dragCount; + wxPoint m_dragStart; + wxTreeListItem *m_dropTarget; + wxCursor m_oldCursor; // cursor is changed while dragging + wxTreeListItem *m_oldSelection; + + wxTimer *m_renameTimer; + wxString m_renameRes; + + // the common part of all ctors + void Init(); + + // misc helpers + wxTreeItemId DoInsertItem(const wxTreeItemId& parent, + size_t previous, + const wxString& text, + int image, int selectedImage, + wxTreeItemData *data); + bool HasButtons(void) const + { return (m_imageListButtons != NULL) + || HasFlag(wxTR_TWIST_BUTTONS|wxTR_HAS_BUTTONS); } + +protected: + void CalculateLineHeight(); + int GetLineHeight(wxTreeListItem *item) const; + void PaintLevel( wxTreeListItem *item, wxDC& dc, int level, int &y, + int x_offset); + void PaintItem( wxTreeListItem *item, wxDC& dc); + + void CalculateLevel( wxTreeListItem *item, wxDC &dc, int level, int &y, + int x_offset); + void CalculatePositions(); + void CalculateSize( wxTreeListItem *item, wxDC &dc ); + + void RefreshSubtree( wxTreeListItem *item ); + void RefreshLine( wxTreeListItem *item ); + + // redraw all selected items + void RefreshSelected(); + + // RefreshSelected() recursive helper + void RefreshSelectedUnder(wxTreeListItem *item); + + void OnRenameTimer(); + void OnRenameAccept(); + + void FillArray(wxTreeListItem*, wxArrayTreeItemIds&) const; + void SelectItemRange( wxTreeListItem *item1, wxTreeListItem *item2 ); + bool TagAllChildrenUntilLast(wxTreeListItem *crt_item, + wxTreeListItem *last_item, bool select); + bool TagNextChildren(wxTreeListItem *crt_item, wxTreeListItem *last_item, + bool select); + void UnselectAllChildren( wxTreeListItem *item ); + + void DrawDropEffect(wxTreeListItem *item); + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxTreeListMainWindow) +}; + + +// timer used for enabling in-place edit +class wxTreeListRenameTimer: public wxTimer +{ +public: + wxTreeListRenameTimer( wxTreeListMainWindow *owner ); + + void Notify(); + +private: + wxTreeListMainWindow *m_owner; +}; + +// control used for in-place edit +class wxTreeListTextCtrl: public wxTextCtrl +{ +public: + wxTreeListTextCtrl( wxWindow *parent, + const wxWindowID id, + bool *accept, + wxString *res, + wxTreeListMainWindow *owner, + const wxString &value = wxEmptyString, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + int style = wxSIMPLE_BORDER, + const wxValidator& validator = wxDefaultValidator, + const wxString &name = wxTextCtrlNameStr ); + + void OnChar( wxKeyEvent &event ); + void OnKeyUp( wxKeyEvent &event ); + void OnKillFocus( wxFocusEvent &event ); + +private: + bool *m_accept; + wxString *m_res; + wxTreeListMainWindow *m_owner; + wxString m_startValue; + bool m_finished; + + DECLARE_EVENT_TABLE() +}; + +// a tree item +class wxTreeListItem +{ +public: + // ctors & dtor + wxTreeListItem() { m_data = NULL; } + wxTreeListItem( wxTreeListMainWindow *owner, + wxTreeListItem *parent, + const wxArrayString& text, + int image, + int selImage, + wxTreeItemData *data ); + + ~wxTreeListItem(); + + // trivial accessors + wxArrayTreeListItems& GetChildren() { return m_children; } + + const wxString GetText() const + { + if(m_text.GetCount() > 0) return m_text[0]; + return wxEmptyString; + } + const wxString GetText(size_t col) const + { + if(m_text.GetCount() > col) return m_text[col]; + return wxEmptyString; + } + int GetImage(wxTreeItemIcon which = wxTreeItemIcon_Normal) const + { return m_images[which]; } + int GetImage(size_t col, wxTreeItemIcon which=wxTreeItemIcon_Normal) const + { + if(col == m_owner->GetMainColumn()) return m_images[which]; + if(col < m_col_images.GetCount()) return m_col_images[col]; + return NO_IMAGE; + } + wxTreeItemData *GetData() const { return m_data; } + + // returns the current image for the item (depending on its + // selected/expanded/whatever state) + int GetCurrentImage() const; + + void SetText( const wxString &text ); + void SetText(size_t col, const wxString& text) // ALB + { + if(col < m_text.GetCount()) + m_text[col] = text; + else if(col < m_owner->GetColumnCount()) { + int howmany = m_owner->GetColumnCount(); + for(int i = m_text.GetCount(); i < howmany; ++i) + m_text.Add(wxEmptyString); + m_text[col] = text; + } + } + void SetImage(int image, wxTreeItemIcon which) { m_images[which] = image; } + void SetImage(size_t col, int image, wxTreeItemIcon which) + { + if(col == m_owner->GetMainColumn()) m_images[which] = image; + else if(col < m_col_images.GetCount()) + m_col_images[col] = image; + else if(col < m_owner->GetColumnCount()) { + int howmany = m_owner->GetColumnCount(); + for(int i = m_col_images.GetCount(); i < howmany; ++i) + m_col_images.Add(NO_IMAGE); + m_col_images[col] = image; + } + } + + void SetData(wxTreeItemData *data) { m_data = data; } + + void SetHasPlus(bool has = TRUE) { m_hasPlus = has; } + + void SetBold(bool bold) { m_isBold = bold; } + + int GetX() const { return m_x; } + int GetY() const { return m_y; } + + void SetX(int x) { m_x = x; } + void SetY(int y) { m_y = y; } + + int GetHeight() const { return m_height; } + int GetWidth() const { return m_width; } + + void SetHeight(int h) { m_height = h; } + void SetWidth(int w) { m_width = w; } + + wxTreeListItem *GetParent() const { return m_parent; } + + // operations + // deletes all children notifying the treectrl about it if !NULL + // pointer given + void DeleteChildren(wxTreeListMainWindow *tree = NULL); + + // get count of all children (and grand children if 'recursively') + size_t GetChildrenCount(bool recursively = TRUE) const; + + void Insert(wxTreeListItem *child, size_t index) + { m_children.Insert(child, index); } + + void GetSize( int &x, int &y, const wxTreeListMainWindow* ); + + // return the item at given position (or NULL if no item), onButton is + // TRUE if the point belongs to the item's button, otherwise it lies + // on the button's label + wxTreeListItem *HitTest( const wxPoint& point, + const wxTreeListMainWindow *, + int &flags, + int level ); + wxTreeListItem *HitTest( const wxPoint& point, + const wxTreeListMainWindow *, + int &flags, int& column /*ALB*/, + int level ); + + void Expand() { m_isCollapsed = FALSE; } + void Collapse() { m_isCollapsed = TRUE; } + + void SetHilight( bool set = TRUE ) { m_hasHilight = set; } + + // status inquiries + bool HasChildren() const { return !m_children.IsEmpty(); } + bool IsSelected() const { return m_hasHilight != 0; } + bool IsExpanded() const { return !m_isCollapsed; } + bool HasPlus() const { return m_hasPlus || HasChildren(); } + bool IsBold() const { return m_isBold != 0; } + + // attributes + // get them - may be NULL + wxTreeItemAttr *GetAttributes() const { return m_attr; } + // get them ensuring that the pointer is not NULL + wxTreeItemAttr& Attr() + { + if ( !m_attr ) + { + m_attr = new wxTreeItemAttr; + m_ownsAttr = TRUE; + } + return *m_attr; + } + // set them + void SetAttributes(wxTreeItemAttr *attr) + { + if ( m_ownsAttr ) delete m_attr; + m_attr = attr; + m_ownsAttr = FALSE; + } + // set them and delete when done + void AssignAttributes(wxTreeItemAttr *attr) + { + SetAttributes(attr); + m_ownsAttr = TRUE; + } + +private: + wxTreeListMainWindow *m_owner; // control the item belongs to + + // since there can be very many of these, we save size by chosing + // the smallest representation for the elements and by ordering + // the members to avoid padding. + wxArrayString m_text; // labels to be rendered for item + + wxTreeItemData *m_data; // user-provided data + + wxArrayTreeListItems m_children; // list of children + wxTreeListItem *m_parent; // parent of this item + + wxTreeItemAttr *m_attr; // attributes??? + + // tree ctrl images for the normal, selected, expanded and + // expanded+selected states + short m_images[wxTreeItemIcon_Max]; + wxArrayShort m_col_images; // images for the various columns (!= main) + + wxCoord m_x; // (virtual) offset from top + wxCoord m_y; // (virtual) offset from left + short m_width; // width of this item + unsigned char m_height; // height of this item + + // use bitfields to save size + int m_isCollapsed :1; + int m_hasHilight :1; // same as focused + int m_hasPlus :1; // used for item which doesn't have + // children but has a [+] button + int m_isBold :1; // render the label in bold font + int m_ownsAttr :1; // delete attribute when done +}; + +// =========================================================================== +// implementation +// =========================================================================== + +// ---------------------------------------------------------------------------- +// private functions +// ---------------------------------------------------------------------------- + +// translate the key or mouse event flags to the type of selection we're +// dealing with +static void EventFlagsToSelType(long style, + bool shiftDown, + bool ctrlDown, + bool &is_multiple, + bool &extended_select, + bool &unselect_others) +{ + is_multiple = (style & wxTR_MULTIPLE) != 0; + extended_select = shiftDown && is_multiple; + unselect_others = !(extended_select || (ctrlDown && is_multiple)); +} + +// --------------------------------------------------------------------------- +// wxTreeListRenameTimer (internal) +// --------------------------------------------------------------------------- + +wxTreeListRenameTimer::wxTreeListRenameTimer( wxTreeListMainWindow *owner ) +{ + m_owner = owner; +} + +void wxTreeListRenameTimer::Notify() +{ + m_owner->OnRenameTimer(); +} + +//----------------------------------------------------------------------------- +// wxTreeListTextCtrl (internal) +//----------------------------------------------------------------------------- + +BEGIN_EVENT_TABLE(wxTreeListTextCtrl,wxTextCtrl) + EVT_CHAR (wxTreeListTextCtrl::OnChar) + EVT_KEY_UP (wxTreeListTextCtrl::OnKeyUp) + EVT_KILL_FOCUS (wxTreeListTextCtrl::OnKillFocus) +END_EVENT_TABLE() + +wxTreeListTextCtrl::wxTreeListTextCtrl( wxWindow *parent, + const wxWindowID id, + bool *accept, + wxString *res, + wxTreeListMainWindow *owner, + const wxString &value, + const wxPoint &pos, + const wxSize &size, + int style, + const wxValidator& validator, + const wxString &name ) + : wxTextCtrl( parent, id, value, pos, size, style, validator, name ) +{ + m_res = res; + m_accept = accept; + m_owner = owner; + (*m_accept) = FALSE; + (*m_res) = wxEmptyString; + m_startValue = value; + m_finished = FALSE; +} + +void wxTreeListTextCtrl::OnChar( wxKeyEvent &event ) +{ + if (event.m_keyCode == WXK_RETURN) + { + (*m_accept) = TRUE; + (*m_res) = GetValue(); + + if ((*m_res) != m_startValue) + m_owner->OnRenameAccept(); + + if (!wxPendingDelete.Member(this)) + wxPendingDelete.Append(this); + + m_finished = TRUE; + m_owner->SetFocus(); // This doesn't work. TODO. + + return; + } + if (event.m_keyCode == WXK_ESCAPE) + { + (*m_accept) = FALSE; + (*m_res) = wxEmptyString; + + if (!wxPendingDelete.Member(this)) + wxPendingDelete.Append(this); + + m_finished = TRUE; + m_owner->SetFocus(); // This doesn't work. TODO. + + return; + } + event.Skip(); +} + +void wxTreeListTextCtrl::OnKeyUp( wxKeyEvent &event ) +{ + if (m_finished) + { + event.Skip(); + return; + } + + // auto-grow the textctrl: + wxSize parentSize = m_owner->GetSize(); + wxPoint myPos = GetPosition(); + wxSize mySize = GetSize(); + int sx, sy; + GetTextExtent(GetValue() + _T("M"), &sx, &sy); + if (myPos.x + sx > parentSize.x) sx = parentSize.x - myPos.x; + if (mySize.x > sx) sx = mySize.x; + SetSize(sx, -1); + + event.Skip(); +} + +void wxTreeListTextCtrl::OnKillFocus( wxFocusEvent &event ) +{ + if (m_finished) + { + event.Skip(); + return; + } + + if (!wxPendingDelete.Member(this)) + wxPendingDelete.Append(this); + + (*m_accept) = TRUE; + (*m_res) = GetValue(); + + if ((*m_res) != m_startValue) + m_owner->OnRenameAccept(); +} + +//----------------------------------------------------------------------------- +// wxTreeListHeaderWindow +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxTreeListHeaderWindow,wxWindow); + +BEGIN_EVENT_TABLE(wxTreeListHeaderWindow,wxWindow) + EVT_PAINT (wxTreeListHeaderWindow::OnPaint) + EVT_MOUSE_EVENTS (wxTreeListHeaderWindow::OnMouse) + EVT_SET_FOCUS (wxTreeListHeaderWindow::OnSetFocus) +END_EVENT_TABLE() + +void wxTreeListHeaderWindow::Init() +{ + m_currentCursor = (wxCursor *) NULL; + m_isDragging = FALSE; + m_dirty = FALSE; + m_total_col_width = 0; +} + +wxTreeListHeaderWindow::wxTreeListHeaderWindow() +{ + Init(); + + m_owner = (wxTreeListMainWindow *) NULL; + m_resizeCursor = (wxCursor *) NULL; +} + +wxTreeListHeaderWindow::wxTreeListHeaderWindow( wxWindow *win, + wxWindowID id, + wxTreeListMainWindow *owner, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString &name ) + : wxWindow( win, id, pos, size, style, name ) +{ + Init(); + + m_owner = owner; + m_resizeCursor = new wxCursor(wxCURSOR_SIZEWE); + + SetBackgroundColour(wxSystemSettings::GetSystemColour( + wxSYS_COLOUR_BTNFACE)); +} + +wxTreeListHeaderWindow::~wxTreeListHeaderWindow() +{ + delete m_resizeCursor; +} + +void wxTreeListHeaderWindow::DoDrawRect( wxDC *dc, int x, int y, int w, int h ) +{ +#ifdef __WXGTK__ + GtkStateType state = m_parent->IsEnabled() ? GTK_STATE_NORMAL + : GTK_STATE_INSENSITIVE; + + x = dc->XLOG2DEV( x ); + + gtk_paint_box (m_wxwindow->style, GTK_PIZZA(m_wxwindow)->bin_window, + state, GTK_SHADOW_OUT, + (GdkRectangle*) NULL, m_wxwindow, "button", + x-1, y-1, w+2, h+2); +#elif defined( __WXMAC__ ) + const int m_corner = 1; + + dc->SetBrush( *wxTRANSPARENT_BRUSH ); + + dc->SetPen( wxPen(wxSystemSettings::GetSystemColour( + wxSYS_COLOUR_BTNSHADOW), 1, wxSOLID)); + dc->DrawLine( x+w-m_corner+1, y, x+w, y+h ); // right (outer) + dc->DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer) + + wxPen pen( wxColour( 0x88 , 0x88 , 0x88 ), 1, wxSOLID ); + + dc->SetPen( pen ); + dc->DrawLine( x+w-m_corner, y, x+w-1, y+h ); // right (inner) + dc->DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner) + + dc->SetPen( *wxWHITE_PEN ); + dc->DrawRectangle( x, y, w-m_corner+1, 1 ); // top (outer) + dc->DrawRectangle( x, y, 1, h ); // left (outer) + dc->DrawLine( x, y+h-1, x+1, y+h-1 ); + dc->DrawLine( x+w-1, y, x+w-1, y+1 ); +#else // !GTK, !Mac + const int m_corner = 1; + + dc->SetBrush( *wxTRANSPARENT_BRUSH ); + + dc->SetPen( *wxBLACK_PEN ); + dc->DrawLine( x+w-m_corner+1, y, x+w, y+h ); // right (outer) + dc->DrawRectangle( x, y+h, w+1, 1 ); // bottom (outer) + + wxPen pen(wxSystemSettings::GetSystemColour( + wxSYS_COLOUR_BTNSHADOW ), 1, wxSOLID); + + dc->SetPen( pen ); + dc->DrawLine( x+w-m_corner, y, x+w-1, y+h ); // right (inner) + dc->DrawRectangle( x+1, y+h-1, w-2, 1 ); // bottom (inner) + + dc->SetPen( *wxWHITE_PEN ); + dc->DrawRectangle( x, y, w-m_corner+1, 1 ); // top (outer) + dc->DrawRectangle( x, y, 1, h ); // left (outer) + dc->DrawLine( x, y+h-1, x+1, y+h-1 ); + dc->DrawLine( x+w-1, y, x+w-1, y+1 ); +#endif +} + +// shift the DC origin to match the position of the main window horz +// scrollbar: this allows us to always use logical coords +void wxTreeListHeaderWindow::AdjustDC(wxDC& dc) +{ + int xpix; + m_owner->GetScrollPixelsPerUnit( &xpix, NULL ); + + int x; + m_owner->GetViewStart( &x, NULL ); + + // account for the horz scrollbar offset + dc.SetDeviceOrigin( -x * xpix, 0 ); +} + +void wxTreeListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) +{ + static const int HEADER_OFFSET_X = 1, HEADER_OFFSET_Y = 1; +#ifdef __WXGTK__ + wxClientDC dc( this ); +#else + wxPaintDC dc( this ); +#endif + + PrepareDC( dc ); + AdjustDC( dc ); + + dc.BeginDrawing(); + + dc.SetFont( GetFont() ); + + // width and height of the entire header window + int w, h; + GetClientSize( &w, &h ); + m_owner->CalcUnscrolledPosition(w, 0, &w, NULL); + + dc.SetBackgroundMode(wxTRANSPARENT); + + // do *not* use the listctrl colour for headers - one day we will have a + // function to set it separately + //dc.SetTextForeground( *wxBLACK ); + dc.SetTextForeground(wxSystemSettings:: + GetSystemColour( wxSYS_COLOUR_WINDOWTEXT )); + + int x = HEADER_OFFSET_X; + + int numColumns = GetColumnCount(); + for ( int i = 0; i < numColumns && x < w; i++ ) + { + wxTreeListColumnInfo& column = GetColumn(i); + int wCol = column.GetWidth(); + + // the width of the rect to draw: make it smaller to fit entirely + // inside the column rect + int cw = wCol - 2; + + dc.SetPen( *wxWHITE_PEN ); + + DoDrawRect( &dc, x, HEADER_OFFSET_Y, cw, h-2 ); + + // if we have an image, draw it on the right of the label + int image = column.GetImage(); //item.m_image; + int ix = -2, iy = 0; + wxImageList* imageList = m_owner->GetImageList(); + if(image != -1) { + if(imageList) { + imageList->GetSize(image, ix, iy); + } + //else: ignore the column image + } + + // extra margins around the text label + static const int EXTRA_WIDTH = 3; + static const int EXTRA_HEIGHT = 4; + + int text_width = 0; + int text_x = x; + int image_offset = cw - ix - 1; + + switch(column.GetAlignment()) { + case wxTL_ALIGN_LEFT: + text_x += EXTRA_WIDTH; + cw -= ix + 2; + break; + case wxTL_ALIGN_RIGHT: + dc.GetTextExtent(column.GetText(), &text_width, NULL); + text_x += cw - text_width - EXTRA_WIDTH; + image_offset = 0; + break; + case wxTL_ALIGN_CENTER: + dc.GetTextExtent(column.GetText(), &text_width, NULL); + text_x += (cw - text_width)/2 + ix + 2; + image_offset = (cw - text_width - ix - 2)/2; + break; + } + + // draw the image + if(image != -1 && imageList) { + imageList->Draw(image, dc, x + image_offset/*cw - ix - 1*/, + HEADER_OFFSET_Y + (h - 4 - iy)/2, + wxIMAGELIST_DRAW_TRANSPARENT); + } + + // draw the text clipping it so that it doesn't overwrite the column + // boundary + wxDCClipper clipper(dc, x, HEADER_OFFSET_Y, cw, h - 4 ); + + dc.DrawText( column.GetText(), + text_x, HEADER_OFFSET_Y + EXTRA_HEIGHT ); + + x += wCol; + } + + dc.EndDrawing(); +} + +void wxTreeListHeaderWindow::DrawCurrent() +{ + int x1 = m_currentX; + int y1 = 0; + ClientToScreen( &x1, &y1 ); + + int x2 = m_currentX-1; +#ifdef __WXMSW__ + ++x2; // but why ? +#endif + int y2 = 0; + m_owner->GetClientSize( NULL, &y2 ); + m_owner->ClientToScreen( &x2, &y2 ); + + wxScreenDC dc; + dc.SetLogicalFunction( wxINVERT ); + dc.SetPen( wxPen( *wxBLACK, 2, wxSOLID ) ); + dc.SetBrush( *wxTRANSPARENT_BRUSH ); + + AdjustDC(dc); + + dc.DrawLine( x1, y1, x2, y2 ); + + dc.SetLogicalFunction( wxCOPY ); + + dc.SetPen( wxNullPen ); + dc.SetBrush( wxNullBrush ); +} + +void wxTreeListHeaderWindow::OnMouse( wxMouseEvent &event ) +{ + // we want to work with logical coords + int x; + m_owner->CalcUnscrolledPosition(event.GetX(), 0, &x, NULL); + int y = event.GetY(); + + if (m_isDragging) + { + SendListEvent(wxEVT_COMMAND_LIST_COL_DRAGGING, + event.GetPosition()); + + // we don't draw the line beyond our window, but we allow dragging it + // there + int w = 0; + GetClientSize( &w, NULL ); + m_owner->CalcUnscrolledPosition(w, 0, &w, NULL); + w -= 6; + + // erase the line if it was drawn + if ( m_currentX < w ) + DrawCurrent(); + + if (event.ButtonUp()) + { + ReleaseMouse(); + m_isDragging = FALSE; + m_dirty = TRUE; + SetColumnWidth( m_column, m_currentX - m_minX ); + Refresh(); + SendListEvent(wxEVT_COMMAND_LIST_COL_END_DRAG, + event.GetPosition()); + } + else + { + if (x > m_minX + 7) + m_currentX = x; + else + m_currentX = m_minX + 7; + + // draw in the new location + if ( m_currentX < w ) + DrawCurrent(); + } + } + else // not dragging + { + m_minX = 0; + bool hit_border = FALSE; + + // end of the current column + int xpos = 0; + + // find the column where this event occured + int countCol = GetColumnCount(); + for (int col = 0; col < countCol; col++) + { + xpos += GetColumnWidth( col ); + m_column = col; + + if ( (abs(x-xpos) < 3) && (y < 22) ) + { + // near the column border + hit_border = TRUE; + break; + } + + if ( x < xpos ) + { + // inside the column + break; + } + + m_minX = xpos; + } + + if (event.LeftDown() || event.RightUp()) + { + if (hit_border && event.LeftDown()) + { + m_isDragging = TRUE; + m_currentX = x; + DrawCurrent(); + CaptureMouse(); + SendListEvent(wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, + event.GetPosition()); + } + else // click on a column + { + SendListEvent( event.LeftDown() + ? wxEVT_COMMAND_LIST_COL_CLICK + : wxEVT_COMMAND_LIST_COL_RIGHT_CLICK, + event.GetPosition()); + } + } + else if (event.Moving()) + { + bool setCursor; + if (hit_border) + { + setCursor = m_currentCursor == wxSTANDARD_CURSOR; + m_currentCursor = m_resizeCursor; + } + else + { + setCursor = m_currentCursor != wxSTANDARD_CURSOR; + m_currentCursor = wxSTANDARD_CURSOR; + } + + if ( setCursor ) + SetCursor(*m_currentCursor); + } + } +} + +void wxTreeListHeaderWindow::OnSetFocus( wxFocusEvent &WXUNUSED(event) ) +{ + m_owner->SetFocus(); +} + +void wxTreeListHeaderWindow::SendListEvent(wxEventType type, wxPoint pos) +{ + wxWindow *parent = GetParent(); + wxListEvent le( type, parent->GetId() ); + le.SetEventObject( parent ); + le.m_pointDrag = pos; + + // the position should be relative to the parent window, not + // this one for compatibility with MSW and common sense: the + // user code doesn't know anything at all about this header + // window, so why should it get positions relative to it? + le.m_pointDrag.y -= GetSize().y; + + le.m_col = m_column; + parent->GetEventHandler()->ProcessEvent( le ); +} + +inline +void wxTreeListHeaderWindow::AddColumn(const wxTreeListColumnInfo& col) +{ + m_columns.Add(col); + m_total_col_width += col.GetWidth(); + //m_owner->GetHeaderWindow()->Refresh(); + //m_dirty = TRUE; + m_owner->AdjustMyScrollbars(); + m_owner->m_dirty = TRUE; + Refresh(); +} + +inline +void wxTreeListHeaderWindow::SetColumnWidth(size_t column, size_t width) +{ + if(column < GetColumnCount()) { + m_total_col_width -= m_columns[column].GetWidth(); + m_columns[column].SetWidth(width); + m_total_col_width += width; + m_owner->AdjustMyScrollbars(); + m_owner->m_dirty = TRUE; + //m_dirty = TRUE; + Refresh(); + } +} + + +inline +void wxTreeListHeaderWindow::InsertColumn(size_t before, + const wxTreeListColumnInfo& col) +{ + wxCHECK_RET(before < GetColumnCount(), wxT("Invalid column index")); + m_columns.Insert(col, before); + m_total_col_width += col.GetWidth(); + //m_dirty = TRUE; + //m_owner->GetHeaderWindow()->Refresh(); + m_owner->AdjustMyScrollbars(); + m_owner->m_dirty = TRUE; + Refresh(); +} + +inline +void wxTreeListHeaderWindow::RemoveColumn(size_t column) +{ + wxCHECK_RET(column < GetColumnCount(), wxT("Invalid column")); + m_total_col_width -= m_columns[column].GetWidth(); + m_columns.RemoveAt(column); + //m_dirty = TRUE; + m_owner->AdjustMyScrollbars(); + m_owner->m_dirty = TRUE; + Refresh(); +} + +inline +void wxTreeListHeaderWindow::SetColumn(size_t column, + const wxTreeListColumnInfo& info) +{ + wxCHECK_RET(column < GetColumnCount(), wxT("Invalid column")); + size_t w = m_columns[column].GetWidth(); + m_columns[column] = info; + //m_owner->GetHeaderWindow()->Refresh(); + //m_dirty = TRUE; + if(w != info.GetWidth()) { + m_total_col_width += info.GetWidth() - w; + m_owner->AdjustMyScrollbars(); + m_owner->m_dirty = TRUE; + } + Refresh(); +} + +// --------------------------------------------------------------------------- +// wxTreeListItem +// --------------------------------------------------------------------------- + +wxTreeListItem::wxTreeListItem(wxTreeListMainWindow *owner, + wxTreeListItem *parent, + const wxArrayString& text, + int image, int selImage, + wxTreeItemData *data) + : m_text(text) +{ + m_images[wxTreeItemIcon_Normal] = image; + m_images[wxTreeItemIcon_Selected] = selImage; + m_images[wxTreeItemIcon_Expanded] = NO_IMAGE; + m_images[wxTreeItemIcon_SelectedExpanded] = NO_IMAGE; + + m_data = data; + m_x = m_y = 0; + + m_isCollapsed = TRUE; + m_hasHilight = FALSE; + m_hasPlus = FALSE; + m_isBold = FALSE; + + m_owner = owner; + + m_parent = parent; + + m_attr = (wxTreeItemAttr *)NULL; + m_ownsAttr = FALSE; + + // We don't know the height here yet. + m_width = 0; + m_height = 0; +} + +wxTreeListItem::~wxTreeListItem() +{ + delete m_data; + + if (m_ownsAttr) delete m_attr; + + wxASSERT_MSG( m_children.IsEmpty(), + wxT("please call DeleteChildren() before deleting the item") ); +} + +void wxTreeListItem::DeleteChildren(wxTreeListMainWindow *tree) +{ + size_t count = m_children.Count(); + for ( size_t n = 0; n < count; n++ ) + { + wxTreeListItem *child = m_children[n]; + if (tree) + tree->SendDeleteEvent(child); + + child->DeleteChildren(tree); + delete child; + } + + m_children.Empty(); +} + +void wxTreeListItem::SetText( const wxString &text ) +{ + if(m_text.GetCount() > 0) m_text[0] = text; + else { + m_text.Add(text); + } +} + +size_t wxTreeListItem::GetChildrenCount(bool recursively) const +{ + size_t count = m_children.Count(); + if ( !recursively ) + return count; + + size_t total = count; + for (size_t n = 0; n < count; ++n) + { + total += m_children[n]->GetChildrenCount(); + } + + return total; +} + +void wxTreeListItem::GetSize( int &x, int &y, + const wxTreeListMainWindow *theButton ) +{ + int bottomY=m_y+theButton->GetLineHeight(this); + if ( y < bottomY ) y = bottomY; + int width = m_x + m_width; + if ( x < width ) x = width; + + if (IsExpanded()) + { + size_t count = m_children.Count(); + for ( size_t n = 0; n < count; ++n ) + { + m_children[n]->GetSize( x, y, theButton ); + } + } +} + +wxTreeListItem *wxTreeListItem::HitTest(const wxPoint& point, + const wxTreeListMainWindow *theCtrl, + int &flags, + int level) +{ + // for a hidden root node, don't evaluate it, but do evaluate children + if ( !(level == 0 && theCtrl->HasFlag(wxTR_HIDE_ROOT)) ) + { + // evaluate the item + int h = theCtrl->GetLineHeight(this); + if ((point.y > m_y) && (point.y < m_y + h)) + { + int y_mid = m_y + h/2; + if (point.y < y_mid ) + flags |= wxTREE_HITTEST_ONITEMUPPERPART; + else + flags |= wxTREE_HITTEST_ONITEMLOWERPART; + + // 5 is the size of the plus sign + int xCross = m_x - theCtrl->GetSpacing(); + if ((point.x > xCross-5) && (point.x < xCross+5) && + (point.y > y_mid-5) && (point.y < y_mid+5) && + HasPlus() && theCtrl->HasButtons() ) + { + flags |= wxTREE_HITTEST_ONITEMBUTTON; + return this; + } + + if ((point.x >= m_x) && (point.x <= m_x+m_width)) + { + int image_w = -1; + int image_h; + + //assuming every image (normal and selected) has the same size! + if ( (GetImage() != NO_IMAGE) && theCtrl->m_imageListNormal ) + theCtrl->m_imageListNormal->GetSize(GetImage(), + image_w, image_h); + + if ((image_w != -1) && (point.x <= m_x + image_w + 1)) + flags |= wxTREE_HITTEST_ONITEMICON; + else + flags |= wxTREE_HITTEST_ONITEMLABEL; + + return this; + } + + if (point.x < m_x) + flags |= wxTREE_HITTEST_ONITEMINDENT; + if (point.x > m_x+m_width) + flags |= wxTREE_HITTEST_ONITEMRIGHT; + + return this; + } + + // if children are expanded, fall through to evaluate them + if (m_isCollapsed) return (wxTreeListItem*) NULL; + } + + // evaluate children + size_t count = m_children.Count(); + for ( size_t n = 0; n < count; n++ ) + { + wxTreeListItem *res = m_children[n]->HitTest(point, theCtrl, + flags, level + 1); + if ( res != NULL ) + return res; + } + + return (wxTreeListItem*) NULL; +} + +// ALB +wxTreeListItem *wxTreeListItem::HitTest(const wxPoint& point, + const wxTreeListMainWindow *theCtrl, + int &flags, int& column, int level) +{ + column = -1; + wxTreeListItem* res = HitTest(point, theCtrl, flags, level); + + if(!res) return res; + if(flags & wxTREE_HITTEST_ONITEMINDENT) { + int x = 0; + for(size_t i = 0; i < theCtrl->GetMainColumn(); ++i) { + int w = theCtrl->m_owner->GetHeaderWindow()->GetColumnWidth(i); + if(point.x >= x && point.x < x+w) { + flags ^= wxTREE_HITTEST_ONITEMINDENT; + flags |= wxTREE_HITTEST_ONITEMCOLUMN; + column = i; + return res; + } + } + } + else if(flags & wxTREE_HITTEST_ONITEMRIGHT) { + int x = 0; + size_t i; + for(i = 0; i < theCtrl->GetMainColumn()+1; ++i) { + x += theCtrl->m_owner->GetHeaderWindow()->GetColumnWidth(i); + } + for(i = theCtrl->GetMainColumn()+1; + i < theCtrl->GetColumnCount(); ++i) { + int w = theCtrl->m_owner->GetHeaderWindow()->GetColumnWidth(i); + if(point.x >= x && point.x < x+w) { + flags ^= wxTREE_HITTEST_ONITEMRIGHT; + flags |= wxTREE_HITTEST_ONITEMCOLUMN; + column = i; + return res; + } + } + } + + return res; +} + + +int wxTreeListItem::GetCurrentImage() const +{ + int image = NO_IMAGE; + if ( IsExpanded() ) + { + if ( IsSelected() ) + { + image = GetImage(wxTreeItemIcon_SelectedExpanded); + } + + if ( image == NO_IMAGE ) + { + // we usually fall back to the normal item, but try just the + // expanded one (and not selected) first in this case + image = GetImage(wxTreeItemIcon_Expanded); + } + } + else // not expanded + { + if ( IsSelected() ) + image = GetImage(wxTreeItemIcon_Selected); + } + + // maybe it doesn't have the specific image we want, + // try the default one instead + if ( image == NO_IMAGE ) image = GetImage(); + + return image; +} + +// --------------------------------------------------------------------------- +// wxTreeListMainWindow implementation +// --------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxTreeListMainWindow, wxScrolledWindow) + +BEGIN_EVENT_TABLE(wxTreeListMainWindow, wxScrolledWindow) + EVT_PAINT (wxTreeListMainWindow::OnPaint) + EVT_MOUSE_EVENTS (wxTreeListMainWindow::OnMouse) + EVT_CHAR (wxTreeListMainWindow::OnChar) + EVT_SET_FOCUS (wxTreeListMainWindow::OnSetFocus) + EVT_KILL_FOCUS (wxTreeListMainWindow::OnKillFocus) + EVT_IDLE (wxTreeListMainWindow::OnIdle) + //EVT_SIZE (wxTreeListMainWindow::OnSize) + EVT_SCROLLWIN (wxTreeListMainWindow::OnScroll) +END_EVENT_TABLE() + + +// --------------------------------------------------------------------------- +// construction/destruction +// --------------------------------------------------------------------------- + +void wxTreeListMainWindow::Init() +{ + m_current = m_key_current = m_anchor = (wxTreeListItem *) NULL; + m_hasFocus = FALSE; + m_dirty = FALSE; + + m_lineHeight = 10; + m_indent = 9; + m_spacing = 9; + m_linespacing = 4; + + m_hilightBrush = new wxBrush + ( + wxSystemSettings::GetSystemColour + ( + wxSYS_COLOUR_HIGHLIGHT + ), + wxSOLID + ); + + m_hilightUnfocusedBrush = new wxBrush + ( + wxSystemSettings::GetSystemColour + ( + wxSYS_COLOUR_BTNSHADOW + ), + wxSOLID + ); + + m_imageListNormal = m_imageListButtons = + m_imageListState = (wxImageList *) NULL; + m_ownsImageListNormal = m_ownsImageListButtons = + m_ownsImageListState = FALSE; + + m_dragCount = 0; + m_isDragging = FALSE; + m_dropTarget = m_oldSelection = (wxTreeListItem *)NULL; + + m_renameTimer = new wxTreeListRenameTimer( this ); + m_lastOnSame = FALSE; + + m_normalFont = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT ); + m_boldFont = wxFont( m_normalFont.GetPointSize(), + m_normalFont.GetFamily(), + m_normalFont.GetStyle(), + wxBOLD, + m_normalFont.GetUnderlined()); +} + + +static const int HEADER_HEIGHT = 23; + +bool wxTreeListMainWindow::Create(wxTreeListCtrl *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator &validator, + const wxString& name ) +{ +#ifdef __WXMAC__ + int major,minor; + wxGetOsVersion( &major, &minor ); + + if (style & wxTR_HAS_BUTTONS) style |= wxTR_MAC_BUTTONS; + if (style & wxTR_HAS_BUTTONS) style &= ~wxTR_HAS_BUTTONS; + style &= ~wxTR_LINES_AT_ROOT; + style |= wxTR_NO_LINES; + if (major < 10) + style |= wxTR_ROW_LINES; +#endif + + wxScrolledWindow::Create( parent, id, pos, size, + style|wxHSCROLL|wxVSCROLL, name ); + + // If the tree display has no buttons, but does have + // connecting lines, we can use a narrower layout. + // It may not be a good idea to force this... + if (!HasButtons() && !HasFlag(wxTR_NO_LINES)) + { + m_indent= 10; + m_spacing = 10; + } + +#if wxUSE_VALIDATORS + SetValidator( validator ); +#endif + + SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_LISTBOX ) ); + +// #ifdef __WXMSW__ +// m_dottedPen = wxPen( "black", 0, wxDOT ); // too slow under XFree86 +// #else + m_dottedPen = wxPen( wxT("grey"), 0, 0 ); +// #endif + + // ALB + m_owner = parent; + m_main_column = 0; + + return TRUE; +} + +wxTreeListMainWindow::~wxTreeListMainWindow() +{ + delete m_hilightBrush; + delete m_hilightUnfocusedBrush; + + DeleteAllItems(); + + delete m_renameTimer; + if (m_ownsImageListNormal) delete m_imageListNormal; + if (m_ownsImageListState) delete m_imageListState; + if (m_ownsImageListButtons) delete m_imageListButtons; +} + + + +//----------------------------------------------------------------------------- +// accessors +//----------------------------------------------------------------------------- + +inline +size_t wxTreeListMainWindow::GetCount() const +{ + return m_anchor == NULL ? 0u : m_anchor->GetChildrenCount(); +} + +inline +void wxTreeListMainWindow::SetIndent(unsigned int indent) +{ + m_indent = indent; + m_dirty = TRUE; +} + +inline +void wxTreeListMainWindow::SetSpacing(unsigned int spacing) +{ + m_spacing = spacing; + m_dirty = TRUE; +} + +inline +void wxTreeListMainWindow::SetLineSpacing(unsigned int spacing) +{ + m_linespacing = spacing; + m_dirty = TRUE; + CalculateLineHeight(); +} + +inline +size_t wxTreeListMainWindow::GetChildrenCount(const wxTreeItemId& item, + bool recursively) +{ + wxCHECK_MSG( item.IsOk(), 0u, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->GetChildrenCount(recursively); +} + +void wxTreeListMainWindow::SetWindowStyle(const long styles) +{ + // right now, just sets the styles. Eventually, we may + // want to update the inherited styles, but right now + // none of the parents has updatable styles + m_windowStyle = styles; + m_dirty = TRUE; +} + +//----------------------------------------------------------------------------- +// functions to work with tree items +//----------------------------------------------------------------------------- + +inline +int wxTreeListMainWindow::GetItemImage(const wxTreeItemId& item, size_t column, + wxTreeItemIcon which) const +{ + wxCHECK_MSG( item.IsOk(), -1, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->GetImage(column, which); +} + +inline +wxTreeItemData *wxTreeListMainWindow::GetItemData(const wxTreeItemId& item) + const +{ + wxCHECK_MSG( item.IsOk(), NULL, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->GetData(); +} + +inline +bool wxTreeListMainWindow::GetItemBold(const wxTreeItemId& item) const +{ + wxCHECK_MSG(item.IsOk(), FALSE, wxT("invalid tree item")); + return ((wxTreeListItem *)item.m_pItem)->IsBold(); +} + +inline +wxColour wxTreeListMainWindow::GetItemTextColour(const wxTreeItemId& item) + const +{ + wxCHECK_MSG( item.IsOk(), wxNullColour, wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + return pItem->Attr().GetTextColour(); +} + +inline +wxColour wxTreeListMainWindow::GetItemBackgroundColour( + const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxNullColour, wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + return pItem->Attr().GetBackgroundColour(); +} + +inline +wxFont wxTreeListMainWindow::GetItemFont(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxNullFont, wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + return pItem->Attr().GetFont(); +} + + + +inline +void wxTreeListMainWindow::SetItemImage(const wxTreeItemId& item, + size_t column, + int image, wxTreeItemIcon which) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->SetImage(column, image, which); + + wxClientDC dc(this); + CalculateSize(pItem, dc); + RefreshLine(pItem); +} + +inline +void wxTreeListMainWindow::SetItemData(const wxTreeItemId& item, + wxTreeItemData *data) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + ((wxTreeListItem*) item.m_pItem)->SetData(data); +} + +inline +void wxTreeListMainWindow::SetItemHasChildren(const wxTreeItemId& item, + bool has) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->SetHasPlus(has); + RefreshLine(pItem); +} + +inline +void wxTreeListMainWindow::SetItemBold(const wxTreeItemId& item, bool bold) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + // avoid redrawing the tree if no real change + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + if ( pItem->IsBold() != bold ) + { + pItem->SetBold(bold); + RefreshLine(pItem); + } +} + +inline +void wxTreeListMainWindow::SetItemTextColour(const wxTreeItemId& item, + const wxColour& col) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->Attr().SetTextColour(col); + RefreshLine(pItem); +} + +inline +void wxTreeListMainWindow::SetItemBackgroundColour(const wxTreeItemId& item, + const wxColour& col) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->Attr().SetBackgroundColour(col); + RefreshLine(pItem); +} + +inline +void wxTreeListMainWindow::SetItemFont(const wxTreeItemId& item, + const wxFont& font) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->Attr().SetFont(font); + RefreshLine(pItem); +} + +inline +bool wxTreeListMainWindow::SetFont( const wxFont &font ) +{ + wxScrolledWindow::SetFont(font); + + m_normalFont = font ; + m_boldFont = wxFont( m_normalFont.GetPointSize(), + m_normalFont.GetFamily(), + m_normalFont.GetStyle(), + wxBOLD, + m_normalFont.GetUnderlined()); + + return TRUE; +} + + +// ---------------------------------------------------------------------------- +// item status inquiries +// ---------------------------------------------------------------------------- + +inline +bool wxTreeListMainWindow::IsVisible(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") ); + + // An item is only visible if it's not a descendant of a collapsed item + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + wxTreeListItem* parent = pItem->GetParent(); + while (parent) + { + if (!parent->IsExpanded()) + return FALSE; + parent = parent->GetParent(); + } + + int startX, startY; + GetViewStart(& startX, & startY); + + wxSize clientSize = GetClientSize(); + + wxRect rect; + if (!GetBoundingRect(item, rect)) + return FALSE; + if (rect.GetWidth() == 0 || rect.GetHeight() == 0) + return FALSE; + if (rect.GetBottom() < 0 || rect.GetTop() > clientSize.y) + return FALSE; + if (rect.GetRight() < 0 || rect.GetLeft() > clientSize.x) + return FALSE; + + return TRUE; +} + +inline +bool wxTreeListMainWindow::ItemHasChildren(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") ); + + // consider that the item does have children if it has the "+" button: it + // might not have them (if it had never been expanded yet) but then it + // could have them as well and it's better to err on this side rather than + // disabling some operations which are restricted to the items with + // children for an item which does have them + return ((wxTreeListItem*) item.m_pItem)->HasPlus(); +} + +inline +bool wxTreeListMainWindow::IsExpanded(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->IsExpanded(); +} + +inline +bool wxTreeListMainWindow::IsSelected(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->IsSelected(); +} + +inline +bool wxTreeListMainWindow::IsBold(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->IsBold(); +} + +// ---------------------------------------------------------------------------- +// navigation +// ---------------------------------------------------------------------------- + +inline +wxTreeItemId wxTreeListMainWindow::GetParent(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->GetParent(); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetFirstChild(const wxTreeItemId& item, + long& cookie) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + cookie = 0; + return GetNextChild(item, cookie); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetNextChild(const wxTreeItemId& item, + long& cookie) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxArrayTreeListItems& children = ((wxTreeListItem*) + item.m_pItem)->GetChildren(); + if ( (size_t)cookie < children.Count() ) + { + return children.Item((size_t)cookie++); + } + else + { + // there are no more of them + return wxTreeItemId(); + } +} + +inline +wxTreeItemId wxTreeListMainWindow::GetLastChild(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxArrayTreeListItems& children = ((wxTreeListItem*) item.m_pItem)->GetChildren(); + return (children.IsEmpty() ? wxTreeItemId() : wxTreeItemId(children.Last())); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetNextSibling(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + wxTreeListItem *parent = i->GetParent(); + if ( parent == NULL ) + { + // root item doesn't have any siblings + return wxTreeItemId(); + } + + wxArrayTreeListItems& siblings = parent->GetChildren(); + int index = siblings.Index(i); + wxASSERT( index != wxNOT_FOUND ); // I'm not a child of my parent? + + size_t n = (size_t)(index + 1); + return n == siblings.Count() ? wxTreeItemId() : wxTreeItemId(siblings[n]); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetPrevSibling(const wxTreeItemId& item) + const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + wxTreeListItem *parent = i->GetParent(); + if ( parent == NULL ) + { + // root item doesn't have any siblings + return wxTreeItemId(); + } + + wxArrayTreeListItems& siblings = parent->GetChildren(); + int index = siblings.Index(i); + wxASSERT( index != wxNOT_FOUND ); // I'm not a child of my parent? + + return index == 0 ? wxTreeItemId() + : wxTreeItemId(siblings[(size_t)(index - 1)]); +} + +// Only for internal use right now, but should probably be public +wxTreeItemId wxTreeListMainWindow::GetNext(const wxTreeItemId& item) const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + + // First see if there are any children. + wxArrayTreeListItems& children = i->GetChildren(); + if (children.GetCount() > 0) + { + return children.Item(0); + } + else + { + // Try a sibling of this or ancestor instead + wxTreeItemId p = item; + wxTreeItemId toFind; + do + { + toFind = GetNextSibling(p); + p = GetParent(p); + } while (p.IsOk() && !toFind.IsOk()); + return toFind; + } +} + +inline +wxTreeItemId wxTreeListMainWindow::GetFirstVisibleItem() const +{ + wxTreeItemId id = GetRootItem(); + if (!id.IsOk()) + return id; + + do + { + if (IsVisible(id)) + return id; + id = GetNext(id); + } while (id.IsOk()); + + return wxTreeItemId(); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetNextVisible(const wxTreeItemId& item) + const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxTreeItemId id = item; + if (id.IsOk()) + { + while (id = GetNext(id), id.IsOk()) + { + if (IsVisible(id)) + return id; + } + } + return wxTreeItemId(); +} + +inline +wxTreeItemId wxTreeListMainWindow::GetPrevVisible(const wxTreeItemId& item) + const +{ + wxCHECK_MSG( item.IsOk(), wxTreeItemId(), wxT("invalid tree item") ); + + wxFAIL_MSG(wxT("not implemented")); + + return wxTreeItemId(); +} + +// ---------------------------------------------------------------------------- +// operations +// ---------------------------------------------------------------------------- + +wxTreeItemId wxTreeListMainWindow::DoInsertItem(const wxTreeItemId& parentId, + size_t previous, + const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + wxTreeListItem *parent = (wxTreeListItem*) parentId.m_pItem; + if ( !parent ) + { + // should we give a warning here? + return AddRoot(text, image, selImage, data); + } + + m_dirty = TRUE; // do this first so stuff below doesn't cause flicker + + // ALB + wxArrayString arr; + arr.Alloc(GetColumnCount()); + for(size_t i = 0; i < GetColumnCount(); ++i) { + arr.Add(wxEmptyString); + } + arr[m_main_column] = text; + wxTreeListItem *item = + new wxTreeListItem( this, parent, arr, image, selImage, data ); + + if ( data != NULL ) + { + data->SetId((long)item); + } + + parent->Insert( item, previous ); + + return item; +} + +wxTreeItemId wxTreeListMainWindow::AddRoot(const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + wxCHECK_MSG(!m_anchor, wxTreeItemId(), wxT("tree can have only one root")); + wxCHECK_MSG(GetColumnCount(), wxTreeItemId(), wxT("Add column(s) before adding the root item")); + + m_dirty = TRUE; // do this first so stuff below doesn't cause flicker + + // ALB + wxArrayString arr; + arr.Alloc(GetColumnCount()); + for(size_t i = 0; i < GetColumnCount(); ++i) { + arr.Add(wxEmptyString); + } + arr[m_main_column] = text; + m_anchor = new wxTreeListItem( this, (wxTreeListItem *)NULL, arr, + image, selImage, data); + if (HasFlag(wxTR_HIDE_ROOT)) + { + // if root is hidden, make sure we can navigate + // into children + m_anchor->SetHasPlus(); + Expand(m_anchor); + } + if ( data != NULL ) + { + data->SetId((long)m_anchor); + } + + if (!HasFlag(wxTR_MULTIPLE)) + { + m_current = m_key_current = m_anchor; + m_current->SetHilight( TRUE ); + } + + return m_anchor; +} + +inline +wxTreeItemId wxTreeListMainWindow::PrependItem(const wxTreeItemId& parent, + const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + return DoInsertItem(parent, 0u, text, image, selImage, data); +} + +inline +wxTreeItemId wxTreeListMainWindow::InsertItem(const wxTreeItemId& parentId, + const wxTreeItemId& idPrevious, + const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + wxTreeListItem *parent = (wxTreeListItem*) parentId.m_pItem; + if ( !parent ) + { + // should we give a warning here? + return AddRoot(text, image, selImage, data); + } + + int index = parent->GetChildren().Index((wxTreeListItem*) idPrevious.m_pItem); + wxASSERT_MSG( index != wxNOT_FOUND, + wxT("previous item in wxTreeListMainWindow::InsertItem() is not a sibling") ); + + return DoInsertItem(parentId, (size_t)++index, text, image, selImage, data); +} + +inline +wxTreeItemId wxTreeListMainWindow::InsertItem(const wxTreeItemId& parentId, + size_t before, + const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + wxTreeListItem *parent = (wxTreeListItem*) parentId.m_pItem; + if ( !parent ) + { + // should we give a warning here? + return AddRoot(text, image, selImage, data); + } + + return DoInsertItem(parentId, before, text, image, selImage, data); +} + +inline +wxTreeItemId wxTreeListMainWindow::AppendItem(const wxTreeItemId& parentId, + const wxString& text, + int image, int selImage, + wxTreeItemData *data) +{ + wxTreeListItem *parent = (wxTreeListItem*) parentId.m_pItem; + if ( !parent ) + { + // should we give a warning here? + return AddRoot(text, image, selImage, data); + } + + return DoInsertItem( parent, parent->GetChildren().Count(), text, + image, selImage, data); +} + +void wxTreeListMainWindow::SendDeleteEvent(wxTreeListItem *item) +{ + wxTreeEvent event( wxEVT_COMMAND_TREE_DELETE_ITEM, m_owner->GetId() ); + event.SetItem((long) item); + event.SetEventObject( /*this*/m_owner ); + m_owner->ProcessEvent( event ); +} + +inline +void wxTreeListMainWindow::DeleteChildren(const wxTreeItemId& itemId) +{ + m_dirty = TRUE; // do this first so stuff below doesn't cause flicker + + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + item->DeleteChildren(this); +} + +inline +void wxTreeListMainWindow::Delete(const wxTreeItemId& itemId) +{ + m_dirty = TRUE; // do this first so stuff below doesn't cause flicker + + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + // don't stay with invalid m_key_current or we will crash in + // the next call to OnChar() + bool changeKeyCurrent = FALSE; + wxTreeListItem *itemKey = m_key_current; + while ( itemKey ) + { + if ( itemKey == item ) + { + // m_key_current is a descendant of the item being deleted + changeKeyCurrent = TRUE; + break; + } + itemKey = itemKey->GetParent(); + } + + wxTreeListItem *parent = item->GetParent(); + if ( parent ) + { + parent->GetChildren().Remove( item ); // remove by value + } + + if ( changeKeyCurrent ) + { + // may be NULL or not + m_key_current = parent; + } + + item->DeleteChildren(this); + SendDeleteEvent(item); + delete item; +} + +inline +void wxTreeListMainWindow::DeleteAllItems() +{ + if ( m_anchor ) + { + m_dirty = TRUE; + + m_anchor->DeleteChildren(this); + delete m_anchor; + + m_anchor = NULL; + } +} + +void wxTreeListMainWindow::Expand(const wxTreeItemId& itemId) +{ + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + wxCHECK_RET( item, _T("invalid item in wxTreeListMainWindow::Expand") ); + + if ( !item->HasPlus() ) + return; + + if ( item->IsExpanded() ) + return; + + wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_EXPANDING, m_owner->GetId() ); + event.SetItem( (long) item ); + event.SetEventObject( /*this*/m_owner ); + + if ( m_owner->ProcessEvent( event ) && !event.IsAllowed() ) + { + // cancelled by program + return; + } + + item->Expand(); + CalculatePositions(); + + RefreshSubtree(item); + + event.SetEventType(wxEVT_COMMAND_TREE_ITEM_EXPANDED); + ProcessEvent( event ); +} + +void wxTreeListMainWindow::ExpandAll(const wxTreeItemId& item) +{ + Expand(item); + if ( IsExpanded(item) ) + { + long cookie; + wxTreeItemId child = GetFirstChild(item, cookie); + while ( child.IsOk() ) + { + ExpandAll(child); + + child = GetNextChild(item, cookie); + } + } +} + +void wxTreeListMainWindow::Collapse(const wxTreeItemId& itemId) +{ + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + if ( !item->IsExpanded() ) + return; + + wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_COLLAPSING, m_owner->GetId() ); + event.SetItem( (long) item ); + event.SetEventObject( /*this*/m_owner ); + if ( m_owner->ProcessEvent( event ) && !event.IsAllowed() ) + { + // cancelled by program + return; + } + + item->Collapse(); + +#if 0 // TODO why should items be collapsed recursively? + wxArrayTreeListItems& children = item->GetChildren(); + size_t count = children.Count(); + for ( size_t n = 0; n < count; n++ ) + { + Collapse(children[n]); + } +#endif + + CalculatePositions(); + + RefreshSubtree(item); + + event.SetEventType(wxEVT_COMMAND_TREE_ITEM_COLLAPSED); + ProcessEvent( event ); +} + +void wxTreeListMainWindow::CollapseAndReset(const wxTreeItemId& item) +{ + Collapse(item); + DeleteChildren(item); +} + +void wxTreeListMainWindow::Toggle(const wxTreeItemId& itemId) +{ + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + if (item->IsExpanded()) + Collapse(itemId); + else + Expand(itemId); +} + +void wxTreeListMainWindow::Unselect() +{ + if (m_current) + { + m_current->SetHilight( FALSE ); + RefreshLine( m_current ); + } +} + +void wxTreeListMainWindow::UnselectAllChildren(wxTreeListItem *item) +{ + if (item->IsSelected()) + { + item->SetHilight(FALSE); + RefreshLine(item); + } + + if (item->HasChildren()) + { + wxArrayTreeListItems& children = item->GetChildren(); + size_t count = children.Count(); + for ( size_t n = 0; n < count; ++n ) + { + UnselectAllChildren(children[n]); + } + } +} + +void wxTreeListMainWindow::UnselectAll() +{ + UnselectAllChildren((wxTreeListItem*) GetRootItem().m_pItem); +} + +// Recursive function ! +// To stop we must have crt_itemGetParent(); + + if (parent == NULL) // This is root item + return TagAllChildrenUntilLast(crt_item, last_item, select); + + wxArrayTreeListItems& children = parent->GetChildren(); + int index = children.Index(crt_item); + wxASSERT( index != wxNOT_FOUND ); // I'm not a child of my parent? + + size_t count = children.Count(); + for (size_t n=(size_t)(index+1); nSetHilight(select); + RefreshLine(crt_item); + + if (crt_item==last_item) + return TRUE; + + if (crt_item->HasChildren()) + { + wxArrayTreeListItems& children = crt_item->GetChildren(); + size_t count = children.Count(); + for ( size_t n = 0; n < count; ++n ) + { + if (TagAllChildrenUntilLast(children[n], last_item, select)) + return TRUE; + } + } + + return FALSE; +} + +void wxTreeListMainWindow::SelectItemRange(wxTreeListItem *item1, wxTreeListItem *item2) +{ + // item2 is not necessary after item1 + wxTreeListItem *first=NULL, *last=NULL; + + // choice first' and 'last' between item1 and item2 + if (item1->GetY()GetY()) + { + first=item1; + last=item2; + } + else + { + first=item2; + last=item1; + } + + bool select = m_current->IsSelected(); + + if ( TagAllChildrenUntilLast(first,last,select) ) + return; + + TagNextChildren(first,last,select); +} + +void wxTreeListMainWindow::SelectItem(const wxTreeItemId& itemId, + bool unselect_others, + bool extended_select) +{ + wxCHECK_RET( itemId.IsOk(), wxT("invalid tree item") ); + + bool is_single=!(GetWindowStyleFlag() & wxTR_MULTIPLE); + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + //wxCHECK_RET( ( (!unselect_others) && is_single), + // wxT("this is a single selection tree") ); + + // to keep going anyhow !!! + if (is_single) + { + if (item->IsSelected()) + return; // nothing to do + unselect_others = TRUE; + extended_select = FALSE; + } + else if ( unselect_others && item->IsSelected() ) + { + // selection change if there is more than one item currently selected + wxArrayTreeItemIds selected_items; + if ( GetSelections(selected_items) == 1 ) + return; + } + + wxTreeEvent event( wxEVT_COMMAND_TREE_SEL_CHANGING, m_owner->GetId() ); + event.SetItem( (long) item ); + event.SetOldItem( (long) m_current ); + event.SetEventObject( /*this*/m_owner ); + // TODO : Here we don't send any selection mode yet ! + + if(m_owner->GetEventHandler()->ProcessEvent( event ) && !event.IsAllowed()) + return; + + wxTreeItemId parent = GetParent( itemId ); + while (parent.IsOk()) + { + if (!IsExpanded(parent)) + Expand( parent ); + + parent = GetParent( parent ); + } + + EnsureVisible( itemId ); + + // ctrl press + if (unselect_others) + { + if (is_single) Unselect(); // to speed up thing + else UnselectAll(); + } + + // shift press + if (extended_select) + { + if ( !m_current ) + { + m_current = m_key_current = (wxTreeListItem*) GetRootItem().m_pItem; + } + + // don't change the mark (m_current) + SelectItemRange(m_current, item); + } + else + { + bool select=TRUE; // the default + + // Check if we need to toggle hilight (ctrl mode) + if (!unselect_others) + select=!item->IsSelected(); + + m_current = m_key_current = item; + m_current->SetHilight(select); + RefreshLine( m_current ); + } + + event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED); + GetEventHandler()->ProcessEvent( event ); +} + +void wxTreeListMainWindow::FillArray(wxTreeListItem *item, + wxArrayTreeItemIds &array) const +{ + if ( item->IsSelected() ) + array.Add(wxTreeItemId(item)); + + if ( item->HasChildren() ) + { + wxArrayTreeListItems& children = item->GetChildren(); + size_t count = children.GetCount(); + for ( size_t n = 0; n < count; ++n ) + FillArray(children[n], array); + } +} + +size_t wxTreeListMainWindow::GetSelections(wxArrayTreeItemIds &array) const +{ + array.Empty(); + wxTreeItemId idRoot = GetRootItem(); + if ( idRoot.IsOk() ) + { + FillArray((wxTreeListItem*) idRoot.m_pItem, array); + } + //else: the tree is empty, so no selections + + return array.Count(); +} + +void wxTreeListMainWindow::EnsureVisible(const wxTreeItemId& item) +{ + if (!item.IsOk()) return; + + wxTreeListItem *gitem = (wxTreeListItem*) item.m_pItem; + + // first expand all parent branches + wxTreeListItem *parent = gitem->GetParent(); + while ( parent ) + { + Expand(parent); + parent = parent->GetParent(); + } + + //if (parent) CalculatePositions(); + + ScrollTo(item); +} + +void wxTreeListMainWindow::ScrollTo(const wxTreeItemId &item) +{ + if (!item.IsOk()) return; + + // We have to call this here because the label in + // question might just have been added and no screen + // update taken place. + if (m_dirty) wxYieldIfNeeded(); + + wxTreeListItem *gitem = (wxTreeListItem*) item.m_pItem; + + // now scroll to the item + int item_y = gitem->GetY(); + + int start_x = 0; + int start_y = 0; + GetViewStart( &start_x, &start_y ); + start_y *= PIXELS_PER_UNIT; + + int client_h = 0; + int client_w = 0; + GetClientSize( &client_w, &client_h ); + + if (item_y < start_y+3) + { + // going down + int x = 0; + int y = 0; + m_anchor->GetSize( x, y, this ); + x = m_owner->GetHeaderWindow()->GetWidth(); //m_total_col_width; // ALB + y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + //x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + int x_pos = GetScrollPos( wxHORIZONTAL ); + // Item should appear at top + SetScrollbars( PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, y/PIXELS_PER_UNIT, x_pos, item_y/PIXELS_PER_UNIT ); + } + else if (item_y+GetLineHeight(gitem) > start_y+client_h) + { + // going up + int x = 0; + int y = 0; + m_anchor->GetSize( x, y, this ); + y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + //x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + x = m_owner->GetHeaderWindow()->GetWidth(); //m_total_col_width; // ALB + item_y += PIXELS_PER_UNIT+2; + int x_pos = GetScrollPos( wxHORIZONTAL ); + // Item should appear at bottom + SetScrollbars( PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, y/PIXELS_PER_UNIT, x_pos, (item_y+GetLineHeight(gitem)-client_h)/PIXELS_PER_UNIT ); + } +} + +// FIXME: tree sorting functions are not reentrant and not MT-safe! +static wxTreeListMainWindow *s_treeBeingSorted = NULL; + +static int LINKAGEMODE tree_ctrl_compare_func(wxTreeListItem **item1, + wxTreeListItem **item2) +{ + wxCHECK_MSG( s_treeBeingSorted, 0, wxT("bug in wxTreeListMainWindow::SortChildren()") ); + + return s_treeBeingSorted->OnCompareItems(*item1, *item2); +} + +int wxTreeListMainWindow::OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2) +{ + // ALB: delegate to m_owner, to let the user overrride the comparison + //return wxStrcmp(GetItemText(item1), GetItemText(item2)); + return m_owner->OnCompareItems(item1, item2); +} + +void wxTreeListMainWindow::SortChildren(const wxTreeItemId& itemId) +{ + wxCHECK_RET( itemId.IsOk(), wxT("invalid tree item") ); + + wxTreeListItem *item = (wxTreeListItem*) itemId.m_pItem; + + wxCHECK_RET( !s_treeBeingSorted, + wxT("wxTreeListMainWindow::SortChildren is not reentrant") ); + + wxArrayTreeListItems& children = item->GetChildren(); + if ( children.Count() > 1 ) + { + m_dirty = TRUE; + + s_treeBeingSorted = this; + children.Sort(tree_ctrl_compare_func); + s_treeBeingSorted = NULL; + } + //else: don't make the tree dirty as nothing changed +} + +inline +wxImageList *wxTreeListMainWindow::GetImageList() const +{ + return m_imageListNormal; +} + +inline +wxImageList *wxTreeListMainWindow::GetButtonsImageList() const +{ + return m_imageListButtons; +} + +inline +wxImageList *wxTreeListMainWindow::GetStateImageList() const +{ + return m_imageListState; +} + +void wxTreeListMainWindow::CalculateLineHeight() +{ + wxClientDC dc(this); + m_lineHeight = (int)(dc.GetCharHeight() + m_linespacing*2); + + if ( m_imageListNormal ) + { + // Calculate a m_lineHeight value from the normal Image sizes. + // May be toggle off. Then wxTreeListMainWindow will spread when + // necessary (which might look ugly). + int n = m_imageListNormal->GetImageCount(); + for (int i = 0; i < n ; i++) + { + int width = 0, height = 0; + m_imageListNormal->GetSize(i, width, height); + if (height > m_lineHeight) m_lineHeight = height; + } + } + + if (m_imageListButtons) + { + // Calculate a m_lineHeight value from the Button image sizes. + // May be toggle off. Then wxTreeListMainWindow will spread when + // necessary (which might look ugly). + int n = m_imageListButtons->GetImageCount(); + for (int i = 0; i < n ; i++) + { + int width = 0, height = 0; + m_imageListButtons->GetSize(i, width, height); + if (height > m_lineHeight) m_lineHeight = height; + } + } + + if (m_lineHeight < 30) + m_lineHeight += 2; // at least 2 pixels + else + m_lineHeight += m_lineHeight/10; // otherwise 10% extra spacing +} + +inline +void wxTreeListMainWindow::SetImageList(wxImageList *imageList) +{ + if (m_ownsImageListNormal) delete m_imageListNormal; + m_imageListNormal = imageList; + m_ownsImageListNormal = FALSE; + m_dirty = TRUE; + CalculateLineHeight(); +} + +inline +void wxTreeListMainWindow::SetStateImageList(wxImageList *imageList) +{ + if (m_ownsImageListState) delete m_imageListState; + m_imageListState = imageList; + m_ownsImageListState = FALSE; +} + +inline +void wxTreeListMainWindow::SetButtonsImageList(wxImageList *imageList) +{ + if (m_ownsImageListButtons) delete m_imageListButtons; + m_imageListButtons = imageList; + m_ownsImageListButtons = FALSE; + m_dirty = TRUE; + CalculateLineHeight(); +} + +inline +void wxTreeListMainWindow::AssignImageList(wxImageList *imageList) +{ + SetImageList(imageList); + m_ownsImageListNormal = TRUE; +} + +inline +void wxTreeListMainWindow::AssignStateImageList(wxImageList *imageList) +{ + SetStateImageList(imageList); + m_ownsImageListState = TRUE; +} + +inline +void wxTreeListMainWindow::AssignButtonsImageList(wxImageList *imageList) +{ + SetButtonsImageList(imageList); + m_ownsImageListButtons = TRUE; +} + +// ---------------------------------------------------------------------------- +// helpers +// ---------------------------------------------------------------------------- + +void wxTreeListMainWindow::AdjustMyScrollbars() +{ + if (m_anchor) + { + int x = 0, y = 0; + m_anchor->GetSize( x, y, this ); + y += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + //x += PIXELS_PER_UNIT+2; // one more scrollbar unit + 2 pixels + int x_pos = GetScrollPos( wxHORIZONTAL ); + int y_pos = GetScrollPos( wxVERTICAL ); + x = m_owner->GetHeaderWindow()->GetWidth() + 2; + if(x < GetClientSize().GetWidth()) x_pos = 0; + //m_total_col_width + 2; // ALB + SetScrollbars( PIXELS_PER_UNIT, PIXELS_PER_UNIT, x/PIXELS_PER_UNIT, + y/PIXELS_PER_UNIT, x_pos, y_pos ); + } + else + { + SetScrollbars( 0, 0, 0, 0 ); + } +} + +int wxTreeListMainWindow::GetLineHeight(wxTreeListItem *item) const +{ + if (GetWindowStyleFlag() & wxTR_HAS_VARIABLE_ROW_HEIGHT) + return item->GetHeight(); + else + return m_lineHeight; +} + +void wxTreeListMainWindow::PaintItem(wxTreeListItem *item, wxDC& dc) +{ + // TODO implement "state" icon on items + + wxTreeItemAttr *attr = item->GetAttributes(); + if ( attr && attr->HasFont() ) + dc.SetFont(attr->GetFont()); + else if (item->IsBold()) + dc.SetFont(m_boldFont); + + long text_w = 0, text_h = 0; + + dc.GetTextExtent( item->GetText(GetMainColumn()), &text_w, &text_h ); + + int total_h = GetLineHeight(item); + + if ( item->IsSelected() ) + { + dc.SetBrush(*(m_hasFocus ? m_hilightBrush : m_hilightUnfocusedBrush)); + } + else + { + wxColour colBg; + if ( attr && attr->HasBackgroundColour() ) + colBg = attr->GetBackgroundColour(); + else + colBg = m_backgroundColour; + dc.SetBrush(wxBrush(colBg, wxSOLID)); + } + + int offset = HasFlag(wxTR_ROW_LINES) ? 1 : 0; + + dc.DrawRectangle(0, item->GetY()+offset, + m_owner->GetHeaderWindow()->GetWidth(), + total_h-offset); + + dc.SetBackgroundMode(wxTRANSPARENT); + int extraH = (total_h > text_h) ? (total_h - text_h)/2 : 0; + int extra_offset = 0; + for(size_t i = 0; i < GetColumnCount(); ++i) { + int coord_x = extra_offset, image_x = coord_x; + int clip_width = m_owner->GetHeaderWindow()->GetColumnWidth(i); + int image_h = 0, image_w = 0; //2; + int image = NO_IMAGE; + + if(i == GetMainColumn()) { + image = item->GetCurrentImage(); + coord_x = item->GetX(); + } + else { + image = item->GetImage(i); + } + + if(image != NO_IMAGE) { + if(m_imageListNormal) { + m_imageListNormal->GetSize( image, image_w, image_h ); + image_w += 4; + } + else { + image = NO_IMAGE; + } + } + + // honor text alignment + wxString text = item->GetText(i); + + switch(m_owner->GetHeaderWindow()->GetColumn(i).GetAlignment()) { + case wxTL_ALIGN_LEFT: + coord_x += image_w + 2; + image_x = coord_x - image_w; + break; + case wxTL_ALIGN_RIGHT: + dc.GetTextExtent(text, &text_w, NULL); + coord_x += clip_width - text_w - image_w - 2; + image_x = coord_x - image_w; + break; + case wxTL_ALIGN_CENTER: + dc.GetTextExtent(text, &text_w, NULL); + //coord_x += (clip_width - text_w)/2 + image_w; + image_x += (clip_width - text_w - image_w)/2 + 2; + coord_x = image_x + image_w; + } + + wxDCClipper clipper(dc, /*coord_x,*/ extra_offset, + item->GetY() + extraH, clip_width, + total_h); + + if(image != NO_IMAGE) { + m_imageListNormal->Draw( image, dc, image_x, + item->GetY() +((total_h > image_h)? + ((total_h-image_h)/2):0), + wxIMAGELIST_DRAW_TRANSPARENT ); + } + + dc.DrawText( text, + (wxCoord)(coord_x /*image_w + item->GetX()*/), + (wxCoord)(item->GetY() + extraH)); + extra_offset += m_owner->GetHeaderWindow()->GetColumnWidth(i); + } + + // restore normal font + dc.SetFont( m_normalFont ); +} + +// Now y stands for the top of the item, whereas it used to stand for middle ! +void wxTreeListMainWindow::PaintLevel( wxTreeListItem *item, wxDC &dc, + int level, int &y, int x_offset ) +{ + int x = level*m_indent + x_offset; + if (!HasFlag(wxTR_HIDE_ROOT)) + { + x += m_indent; + } + else if (level == 0) + { + // always expand hidden root + int origY = y; + wxArrayTreeListItems& children = item->GetChildren(); + int count = children.Count(); + if (count > 0) + { + int n = 0, oldY; + do { + oldY = y; + PaintLevel(children[n], dc, 1, y, x_offset); + } while (++n < count); + + if (!HasFlag(wxTR_NO_LINES) && HasFlag(wxTR_LINES_AT_ROOT) && + count > 0) + { + // draw line down to last child + origY += GetLineHeight(children[0])>>1; + oldY += GetLineHeight(children[n-1])>>1; + dc.DrawLine(3, origY, 3, oldY); + } + } + return; + } + + item->SetX(x+m_spacing); + item->SetY(y); + + int h = GetLineHeight(item); + int y_top = y; + int y_mid = y_top + (h>>1); + y += h; + + int exposed_x = dc.LogicalToDeviceX(0); + int exposed_y = dc.LogicalToDeviceY(y_top); + + if (IsExposed(exposed_x, exposed_y, 10000, h)) // 10000 = very much + { + wxPen *pen = +#ifndef __WXMAC__ + // don't draw rect outline if we already have the + // background color under Mac + (item->IsSelected() && m_hasFocus) ? wxBLACK_PEN : +#endif // !__WXMAC__ + wxTRANSPARENT_PEN; + + wxColour colText; + if ( item->IsSelected() ) + { + colText = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_HIGHLIGHTTEXT); + } + else + { + wxTreeItemAttr *attr = item->GetAttributes(); + if (attr && attr->HasTextColour()) + colText = attr->GetTextColour(); + else + //colText = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT); + colText = GetForegroundColour(); + } + + // prepare to draw + dc.SetTextForeground(colText); + dc.SetPen(*pen); + + // draw + PaintItem(item, dc); + + if (HasFlag(wxTR_ROW_LINES)) + { + int total_width = m_owner->GetHeaderWindow()->GetWidth(); + // if the background colour is white, choose a + // contrasting color for the lines + dc.SetPen(*((GetBackgroundColour() == *wxWHITE) + ? wxMEDIUM_GREY_PEN : wxWHITE_PEN)); + dc.DrawLine(0, y_top, total_width, y_top); + dc.DrawLine(0, y, total_width, y); + } + + // restore DC objects + dc.SetBrush(*wxWHITE_BRUSH); + dc.SetPen(m_dottedPen); + dc.SetTextForeground(*wxBLACK); + + size_t clip_width = m_owner->GetHeaderWindow()->GetColumn( + m_main_column).GetWidth(); + //m_columns[m_main_column].GetWidth(); + if (item->HasPlus() && HasButtons()) // should the item show a button? + { + // clip to the column width + wxDCClipper clipper(dc, x_offset, y_top, clip_width, 10000); + + if (!HasFlag(wxTR_NO_LINES)) + { + if (x > (signed)m_indent) + dc.DrawLine(x - m_indent, y_mid, x - 5, y_mid); + else if (HasFlag(wxTR_LINES_AT_ROOT)) + dc.DrawLine(3, y_mid, x - 5, y_mid); + dc.DrawLine(x + 5, y_mid, x + m_spacing, y_mid); + } + + if (m_imageListButtons != NULL) + { + // draw the image button here + int image_h = 0, image_w = 0, image = wxTreeItemIcon_Normal; + if (item->IsExpanded()) image = wxTreeItemIcon_Expanded; + if (item->IsSelected()) + image += wxTreeItemIcon_Selected - wxTreeItemIcon_Normal; + m_imageListButtons->GetSize(image, image_w, image_h); + int xx = x - (image_w>>1); + int yy = y_mid - (image_h>>1); + dc.SetClippingRegion(xx, yy, image_w, image_h); + m_imageListButtons->Draw(image, dc, xx, yy, + wxIMAGELIST_DRAW_TRANSPARENT); + dc.DestroyClippingRegion(); + } + else if (HasFlag(wxTR_TWIST_BUTTONS)) + { + // draw the twisty button here + dc.SetPen(*wxBLACK_PEN); + dc.SetBrush(*m_hilightBrush); + + wxPoint button[3]; + + if (item->IsExpanded()) + { + button[0].x = x-5; + button[0].y = y_mid-2; + button[1].x = x+5; + button[1].y = y_mid-2; + button[2].x = x; + button[2].y = y_mid+3; + } + else + { + button[0].y = y_mid-5; + button[0].x = x-2; + button[1].y = y_mid+5; + button[1].x = x-2; + button[2].y = y_mid; + button[2].x = x+3; + } + dc.DrawPolygon(3, button); + + dc.SetPen(m_dottedPen); + } + else // if (HasFlag(wxTR_HAS_BUTTONS)) + { + // draw the plus sign here + dc.SetPen(*wxGREY_PEN); + dc.SetBrush(*wxWHITE_BRUSH); + dc.DrawRectangle(x-5, y_mid-4, 11, 9); + dc.SetPen(*wxBLACK_PEN); + dc.DrawLine(x-2, y_mid, x+3, y_mid); + if (!item->IsExpanded()) + dc.DrawLine(x, y_mid-2, x, y_mid+3); + dc.SetPen(m_dottedPen); + } + } + else if (!HasFlag(wxTR_NO_LINES)) // no button; maybe a line? + { + // clip to the column width + wxDCClipper clipper(dc, x_offset, y_top, clip_width, 10000); + // draw the horizontal line here + int x_start = x; + if (x > (signed)m_indent) + x_start -= m_indent; + else if (HasFlag(wxTR_LINES_AT_ROOT)) + x_start = 3; + dc.DrawLine(x_start, y_mid, x + m_spacing, y_mid); + } + } + + if (item->IsExpanded()) + { + wxArrayTreeListItems& children = item->GetChildren(); + int count = children.Count(); + if (count > 0) + { + int n = 0, oldY; + ++level; + do { + oldY = y; + PaintLevel(children[n], dc, level, y, x_offset); + } while (++n < count); + + if (!HasFlag(wxTR_NO_LINES) && count > 0) + { + size_t clip_width = m_owner->GetHeaderWindow()->GetColumn( + m_main_column).GetWidth(); + //m_columns[m_main_column].GetWidth(); + // clip to the column width + wxDCClipper clipper(dc, x_offset, y_top, clip_width, 10000); + // draw line down to last child + oldY += GetLineHeight(children[n-1])>>1; + if (HasButtons()) y_mid += 5; + dc.DrawLine(x, y_mid, x, oldY); + } + } + } +} + +void wxTreeListMainWindow::DrawDropEffect(wxTreeListItem *item) +{ + if ( item ) + { + if ( item->HasPlus() ) + { + // it's a folder, indicate it by a border + DrawBorder(item); + } + else + { + // draw a line under the drop target because the item will be + // dropped there + DrawLine(item, TRUE /* below */); + } + + SetCursor(wxCURSOR_BULLSEYE); + } + else + { + // can't drop here + SetCursor(wxCURSOR_NO_ENTRY); + } +} + +void wxTreeListMainWindow::DrawBorder(const wxTreeItemId &item) +{ + wxCHECK_RET( item.IsOk(), _T("invalid item in wxTreeListMainWindow::DrawLine") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + + wxClientDC dc(this); + PrepareDC( dc ); + dc.SetLogicalFunction(wxINVERT); + dc.SetBrush(*wxTRANSPARENT_BRUSH); + + int w = i->GetWidth() + 2; + int h = GetLineHeight(i) + 2; + + dc.DrawRectangle( i->GetX() - 1, i->GetY() - 1, w, h); +} + +void wxTreeListMainWindow::DrawLine(const wxTreeItemId &item, bool below) +{ + wxCHECK_RET( item.IsOk(), _T("invalid item in wxTreeListMainWindow::DrawLine") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + + wxClientDC dc(this); + PrepareDC( dc ); + dc.SetLogicalFunction(wxINVERT); + + int x = i->GetX(), + y = i->GetY(); + if ( below ) + { + y += GetLineHeight(i) - 1; + } + + dc.DrawLine( x, y, x + i->GetWidth(), y); +} + +// ---------------------------------------------------------------------------- +// wxWindows callbacks +// ---------------------------------------------------------------------------- + +void wxTreeListMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) +{ + wxPaintDC dc(this); + + PrepareDC( dc ); + + if(!GetColumnCount()) return; // ALB + + if ( !m_anchor) + return; + + dc.SetFont( m_normalFont ); + dc.SetPen( m_dottedPen ); + + // this is now done dynamically + //if(GetImageList() == NULL) + // m_lineHeight = (int)(dc.GetCharHeight() + 4); + + int y = 0; //HEADER_HEIGHT; //2; + int x_offset = 0; + for(size_t i = 0; i < GetMainColumn(); ++i) { + x_offset += m_owner->GetHeaderWindow()->GetColumnWidth(i); + } + PaintLevel( m_anchor, dc, 0, y, x_offset ); +} + +void wxTreeListMainWindow::OnSetFocus( wxFocusEvent &event ) +{ + m_hasFocus = TRUE; + + RefreshSelected(); + + event.Skip(); +} + +void wxTreeListMainWindow::OnKillFocus( wxFocusEvent &event ) +{ + m_hasFocus = FALSE; + + RefreshSelected(); + + event.Skip(); +} + +void wxTreeListMainWindow::OnChar( wxKeyEvent &event ) +{ + wxTreeEvent te( wxEVT_COMMAND_TREE_KEY_DOWN, m_owner->GetId() ); + te.SetKeyEvent( event ); + te.SetEventObject( /*this*/m_owner ); + if ( m_owner->GetEventHandler()->ProcessEvent( te ) ) + { + // intercepted by the user code + return; + } + + if ( (m_current == 0) || (m_key_current == 0) ) + { + event.Skip(); + return; + } + + // how should the selection work for this event? + bool is_multiple, extended_select, unselect_others; + EventFlagsToSelType(GetWindowStyleFlag(), + event.ShiftDown(), + event.ControlDown(), + is_multiple, extended_select, unselect_others); + + // + : Expand (not on Win32) + // - : Collaspe (not on Win32) + // * : Expand all/Collapse all + // ' ' | return : activate + // up : go up (not last children!) + // down : go down + // left : go to parent (or collapse on Win32) + // right : open if parent and go next (or expand on Win32) + // home : go to root + // end : go to last item without opening parents + switch (event.KeyCode()) + { +#ifndef __WXMSW__ // mimic the standard win32 tree ctrl + case '+': + case WXK_ADD: + if (m_current->HasPlus() && !IsExpanded(m_current)) + { + Expand(m_current); + } + break; +#endif // __WXMSW__ + + case '*': + case WXK_MULTIPLY: + if ( !IsExpanded(m_current) ) + { + // expand all + ExpandAll(m_current); + break; + } + //else: fall through to Collapse() it + +#ifndef __WXMSW__ // mimic the standard wxTreeCtrl behaviour + case '-': + case WXK_SUBTRACT: + if (IsExpanded(m_current)) + { + Collapse(m_current); + } + break; +#endif // __WXMSW__ + + case ' ': + case WXK_RETURN: + { + wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, + m_owner->GetId() ); + event.SetItem( (long) m_current); + event.SetEventObject( /*this*/m_owner ); + m_owner->GetEventHandler()->ProcessEvent( event ); + } + break; + + // up goes to the previous sibling or to the last + // of its children if it's expanded + case WXK_UP: + { + wxTreeItemId prev = GetPrevSibling( m_key_current ); + if (!prev) + { + prev = GetParent( m_key_current ); + if ((prev == GetRootItem()) && HasFlag(wxTR_HIDE_ROOT)) + { + break; // don't go to root if it is hidden + } + if (prev) + { + long cookie = 0; + wxTreeItemId current = m_key_current; + // TODO: Huh? If we get here, we'd better be the first child of our parent. How else could it be? + if (current == GetFirstChild( prev, cookie )) + { + // otherwise we return to where we came from + SelectItem( prev, unselect_others, extended_select ); + m_key_current= (wxTreeListItem*) prev.m_pItem; + EnsureVisible( prev ); + break; + } + } + } + if (prev) + { + while ( IsExpanded(prev) && HasChildren(prev) ) + { + wxTreeItemId child = GetLastChild(prev); + if ( child ) + { + prev = child; + } + } + + SelectItem( prev, unselect_others, extended_select ); + m_key_current=(wxTreeListItem*) prev.m_pItem; + EnsureVisible( prev ); + } + } + break; + + // left arrow goes to the parent + case WXK_LEFT: +#if defined(__WXMSW__) // mimic the standard win32 tree ctrl + if (IsExpanded(m_current)) + { + Collapse(m_current); + } + else +#endif // __WXMSW__ + { + wxTreeItemId prev = GetParent( m_current ); + if ((prev == GetRootItem()) && HasFlag(wxTR_HIDE_ROOT)) + { + // don't go to root if it is hidden + prev = GetPrevSibling( m_current ); + } + if (prev) + { + EnsureVisible( prev ); + SelectItem( prev, unselect_others, extended_select ); + } + } + break; + + case WXK_RIGHT: +#if defined(__WXMSW__) // mimic the standard win32 tree ctrl + if (m_current->HasPlus() && !IsExpanded(m_current)) + { + Expand(m_current); + break; + } +#endif // __WXMSW__ + + // this works the same as the down arrow except that we + // also expand the item if it wasn't expanded yet + Expand(m_current); + // fall through + + case WXK_DOWN: + { + if (IsExpanded(m_key_current) && HasChildren(m_key_current)) + { + long cookie = 0; + wxTreeItemId child = GetFirstChild( m_key_current, cookie ); + SelectItem( child, unselect_others, extended_select ); + m_key_current=(wxTreeListItem*) child.m_pItem; + EnsureVisible( child ); + } + else + { + wxTreeItemId next = GetNextSibling( m_key_current ); + if (!next) + { + wxTreeItemId current = m_key_current; + while (current && !next) + { + current = GetParent( current ); + if (current) next = GetNextSibling( current ); + } + } + if (next) + { + SelectItem( next, unselect_others, extended_select ); + m_key_current=(wxTreeListItem*) next.m_pItem; + EnsureVisible( next ); + } + } + } + break; + + // selects the last visible tree item + case WXK_END: + { + wxTreeItemId last = GetRootItem(); + + while ( last.IsOk() && IsExpanded(last) ) + { + wxTreeItemId lastChild = GetLastChild(last); + + // it may happen if the item was expanded but then all of + // its children have been deleted - so IsExpanded() returned + // TRUE, but GetLastChild() returned invalid item + if ( !lastChild ) + break; + + last = lastChild; + } + + if ( last.IsOk() ) + { + EnsureVisible( last ); + SelectItem( last, unselect_others, extended_select ); + } + } + break; + + // selects the root item + case WXK_HOME: + { + wxTreeItemId prev = GetRootItem(); + if (!prev) break; + if (HasFlag(wxTR_HIDE_ROOT)) + { + long dummy; + prev = GetFirstChild(prev, dummy); + if (!prev) break; + } + EnsureVisible( prev ); + SelectItem( prev, unselect_others, extended_select ); + } + break; + + default: + event.Skip(); + } +} + +wxTreeItemId wxTreeListMainWindow::HitTest(const wxPoint& point, int& flags, + int& column) +{ + // JACS: removed wxYieldIfNeeded() because it can cause the window + // to be deleted from under us if a close window event is pending + + int w, h; + GetSize(&w, &h); + flags=0; + if (point.x<0) flags |= wxTREE_HITTEST_TOLEFT; + if (point.x>w) flags |= wxTREE_HITTEST_TORIGHT; + if (point.y<0) flags |= wxTREE_HITTEST_ABOVE; + if (point.y>h) flags |= wxTREE_HITTEST_BELOW; + if (flags) return wxTreeItemId(); + + if (m_anchor == NULL) + { + flags = wxTREE_HITTEST_NOWHERE; + return wxTreeItemId(); + } + + wxClientDC dc(this); + PrepareDC(dc); + wxCoord x = dc.DeviceToLogicalX( point.x ); + wxCoord y = dc.DeviceToLogicalY( point.y ); + wxTreeListItem *hit = m_anchor->HitTest(wxPoint(x, y), this, flags, + column, 0); + if (hit == NULL) + { + flags = wxTREE_HITTEST_NOWHERE; + return wxTreeItemId(); + } + return hit; +} + +// get the bounding rectangle of the item (or of its label only) +bool wxTreeListMainWindow::GetBoundingRect(const wxTreeItemId& item, + wxRect& rect, + bool WXUNUSED(textOnly)) const +{ + wxCHECK_MSG( item.IsOk(), FALSE, _T("invalid item in wxTreeListMainWindow::GetBoundingRect") ); + + wxTreeListItem *i = (wxTreeListItem*) item.m_pItem; + + int startX, startY; + GetViewStart(& startX, & startY); + + rect.x = i->GetX() - startX*PIXELS_PER_UNIT; + rect.y = i->GetY() - startY*PIXELS_PER_UNIT; + rect.width = i->GetWidth(); + //rect.height = i->GetHeight(); + rect.height = GetLineHeight(i); + + return TRUE; +} + +/* **** */ + +void wxTreeListMainWindow::Edit( const wxTreeItemId& item ) +{ + if (!item.IsOk()) return; + + m_currentEdit = (wxTreeListItem*) item.m_pItem; + + wxTreeEvent te( wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, m_owner->GetId() ); + te.SetItem( (long) m_currentEdit); + te.SetEventObject( /*this*/m_owner ); + m_owner->GetEventHandler()->ProcessEvent( te ); + + if (!te.IsAllowed()) return; + + // We have to call this here because the label in + // question might just have been added and no screen + // update taken place. + if (m_dirty) wxYieldIfNeeded(); + + wxString s = m_currentEdit->GetText(/*ALB*/m_main_column); + int x = m_currentEdit->GetX(); + int y = m_currentEdit->GetY(); + int w = m_currentEdit->GetWidth(); + int h = m_currentEdit->GetHeight(); + + int image_h = 0; + int image_w = 0; + + int image = m_currentEdit->GetCurrentImage(); + if ( image != NO_IMAGE ) + { + if ( m_imageListNormal ) + { + m_imageListNormal->GetSize( image, image_w, image_h ); + image_w += 4; + } + else + { + wxFAIL_MSG(_T("you must create an image list to use images!")); + } + } + x += image_w; + w -= image_w + 4; // I don't know why +4 is needed + + wxClientDC dc(this); + PrepareDC( dc ); + x = dc.LogicalToDeviceX( x ); + y = dc.LogicalToDeviceY( y ); + + wxTreeListTextCtrl *text = new wxTreeListTextCtrl(this, -1, + &m_renameAccept, + &m_renameRes, + this, + s, + wxPoint(x-4,y-4), + wxSize(w+11,h+8)); + text->SetFocus(); +} + +void wxTreeListMainWindow::OnRenameTimer() +{ + Edit( m_current ); +} + +void wxTreeListMainWindow::OnRenameAccept() +{ + // TODO if the validator fails this causes a crash + wxTreeEvent le( wxEVT_COMMAND_TREE_END_LABEL_EDIT, m_owner->GetId() ); + le.SetItem( (long) m_currentEdit ); + le.SetEventObject( /*this*/m_owner ); + le.SetLabel( m_renameRes ); + m_owner->GetEventHandler()->ProcessEvent( le ); + + if (!le.IsAllowed()) return; + + SetItemText( m_currentEdit, m_renameRes ); +} + +void wxTreeListMainWindow::OnMouse( wxMouseEvent &event ) +{ + if ( !m_anchor ) return; + + // we process left mouse up event (enables in-place edit), right down + // (pass to the user code), left dbl click (activate item) and + // dragging/moving events for items drag-and-drop + if ( !(event.LeftDown() || + event.LeftUp() || + event.RightDown() || + event.LeftDClick() || + event.Dragging() || + ((event.Moving() || event.RightUp()) && m_isDragging)) ) + { + event.Skip(); + + return; + } + + if ( event.LeftDown() ) + SetFocus(); + + wxClientDC dc(this); + PrepareDC(dc); + wxCoord x = dc.DeviceToLogicalX( event.GetX() ); + wxCoord y = dc.DeviceToLogicalY( event.GetY() ); + + int flags = 0; + wxTreeListItem *item = m_anchor->HitTest(wxPoint(x,y), this, flags, 0); + + if ( event.Dragging() && !m_isDragging ) + { + if (m_dragCount == 0) + m_dragStart = wxPoint(x,y); + + m_dragCount++; + + if (m_dragCount != 3) + { + // wait until user drags a bit further... + return; + } + + wxEventType command = event.RightIsDown() + ? wxEVT_COMMAND_TREE_BEGIN_RDRAG + : wxEVT_COMMAND_TREE_BEGIN_DRAG; + + wxTreeEvent nevent( command,/*ALB*/ m_owner->GetId() ); + nevent.SetItem( (long) m_current); + nevent.SetEventObject(/*this*/m_owner); // ALB + + // by default the dragging is not supported, the user code must + // explicitly allow the event for it to take place + nevent.Veto(); + + if ( m_owner->GetEventHandler()->ProcessEvent(nevent) && + nevent.IsAllowed() ) + { + // we're going to drag this item + m_isDragging = TRUE; + + // remember the old cursor because we will change it while + // dragging + m_oldCursor = m_cursor; + + // in a single selection control, hide the selection temporarily + if ( !(GetWindowStyleFlag() & wxTR_MULTIPLE) ) + { + m_oldSelection = (wxTreeListItem*) GetSelection().m_pItem; + + if ( m_oldSelection ) + { + m_oldSelection->SetHilight(FALSE); + RefreshLine(m_oldSelection); + } + } + + CaptureMouse(); + } + } + else if ( event.Moving() ) + { + if ( item != m_dropTarget ) + { + // unhighlight the previous drop target + DrawDropEffect(m_dropTarget); + + m_dropTarget = item; + + // highlight the current drop target if any + DrawDropEffect(m_dropTarget); + + wxYieldIfNeeded(); + } + } + else if ( (event.LeftUp() || event.RightUp()) && m_isDragging ) + { + // erase the highlighting + DrawDropEffect(m_dropTarget); + + if ( m_oldSelection ) + { + m_oldSelection->SetHilight(TRUE); + RefreshLine(m_oldSelection); + m_oldSelection = (wxTreeListItem *)NULL; + } + + // generate the drag end event + wxTreeEvent event(wxEVT_COMMAND_TREE_END_DRAG,/*ALB*/m_owner->GetId()); + + event.SetItem( (long) item ); + event.SetPoint( wxPoint(x, y) ); + event.SetEventObject(/*this*/m_owner); + + (void)m_owner->GetEventHandler()->ProcessEvent(event); + + m_isDragging = FALSE; + m_dropTarget = (wxTreeListItem *)NULL; + + ReleaseMouse(); + + SetCursor(m_oldCursor); + + wxYieldIfNeeded(); + } + else + { + // here we process only the messages which happen on tree items + + m_dragCount = 0; + + if (item == NULL) return; /* we hit the blank area */ + + if ( event.RightDown() ) + { + SetFocus(); + wxTreeEvent nevent(wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, + m_owner->GetId()); + nevent.SetItem( (long) item ); + int nx, ny; + CalcScrolledPosition(x, y, &nx, &ny); + nevent.SetPoint( wxPoint(nx, ny)); + nevent.SetEventObject(/*this*/m_owner); + m_owner->GetEventHandler()->ProcessEvent(nevent); + } + else if ( event.LeftUp() ) + { + if ( m_lastOnSame ) + { + if ( (item == m_current) && + (flags & wxTREE_HITTEST_ONITEMLABEL) && + HasFlag(wxTR_EDIT_LABELS) ) + { + if ( m_renameTimer->IsRunning() ) + m_renameTimer->Stop(); + + m_renameTimer->Start( 100, TRUE ); + } + + m_lastOnSame = FALSE; + } + } + else // !RightDown() && !LeftUp() ==> LeftDown() || LeftDClick() + { + if ( event.LeftDown() ) + { + SetFocus(); + m_lastOnSame = item == m_current; + } + + if ( flags & wxTREE_HITTEST_ONITEMBUTTON ) + { + // only toggle the item for a single click, double click on + // the button doesn't do anything (it toggles the item twice) + if ( event.LeftDown() ) + { + Toggle( item ); + } + + // don't select the item if the button was clicked + return; + } + + // how should the selection work for this event? + bool is_multiple, extended_select, unselect_others; + EventFlagsToSelType(GetWindowStyleFlag(), + event.ShiftDown(), + event.ControlDown(), + is_multiple, extended_select, unselect_others); + + SelectItem(item, unselect_others, extended_select); + + // For some reason, Windows isn't recognizing a left double-click, + // so we need to simulate it here. Allow 200 milliseconds for now. + if ( event.LeftDClick() ) + { + // double clicking should not start editing the item label + m_renameTimer->Stop(); + m_lastOnSame = FALSE; + + // send activate event first + wxTreeEvent nevent( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, + m_owner->GetId() ); + nevent.SetItem( (long) item ); + int nx, ny; + CalcScrolledPosition(x, y, &nx, &ny); + nevent.SetPoint( wxPoint(nx, ny) ); + nevent.SetEventObject( /*this*/m_owner ); + if ( !m_owner->GetEventHandler()->ProcessEvent( nevent ) ) + { + // if the user code didn't process the activate event, + // handle it ourselves by toggling the item when it is + // double clicked + if ( item->HasPlus() ) + { + Toggle(item); + } + } + } + } + } +} + +void wxTreeListMainWindow::OnIdle( wxIdleEvent &WXUNUSED(event) ) +{ + /* after all changes have been done to the tree control, + * we actually redraw the tree when everything is over */ + + if (!m_dirty) return; + + m_dirty = FALSE; + + CalculatePositions(); + Refresh(); + AdjustMyScrollbars(); +} + +void wxTreeListMainWindow::OnSize(wxSizeEvent& WXUNUSED(event)) +{ +// int w, h; +// GetClientSize(&w, &h); +// m_header_win->SetSize(0, 0, w, HEADER_HEIGHT); +} + +void wxTreeListMainWindow::OnScroll(wxScrollWinEvent& event) +{ + // FIXME +#if defined(__WXGTK__) && !defined(__WXUNIVERSAL__) + wxScrolledWindow::OnScroll(event); +#else + HandleOnScroll( event ); +#endif + + if(event.GetOrientation() == wxHORIZONTAL) + { + m_owner->GetHeaderWindow()->Refresh(); +#ifdef __WXMAC__ + m_owner->GetHeaderWindow()->MacUpdateImmediately(); +#endif + } +} + + +void wxTreeListMainWindow::CalculateSize( wxTreeListItem *item, wxDC &dc ) +{ + wxCoord text_w = 0; + wxCoord text_h = 0; + + if (item->IsBold()) + dc.SetFont(m_boldFont); + + dc.GetTextExtent( item->GetText(/*ALB*/m_main_column), &text_w, &text_h ); + text_h+=2; + + // restore normal font + dc.SetFont( m_normalFont ); + + int image_h = 0; + int image_w = 0; + int image = item->GetCurrentImage(); + if ( image != NO_IMAGE ) + { + if ( m_imageListNormal ) + { + m_imageListNormal->GetSize( image, image_w, image_h ); + image_w += 4; + image_h += 2; + } + } + + int total_h = (image_h > text_h) ? image_h : text_h; + +// if (total_h < 30) +// total_h += 2; // at least 2 pixels +// else +// total_h += total_h/10; // otherwise 10% extra spacing + + item->SetHeight(total_h); + if (total_h>m_lineHeight) + m_lineHeight=total_h; + + item->SetWidth(image_w+text_w+2); +} + +// ----------------------------------------------------------------------------- +// for developper : y is now the top of the level +// not the middle of it ! +void wxTreeListMainWindow::CalculateLevel( wxTreeListItem *item, wxDC &dc, + int level, int &y, int x_offset ) +{ + int x = level*m_indent + x_offset; + if (!HasFlag(wxTR_HIDE_ROOT)) + { + x += m_indent; + } + else if (level == 0) + { + // a hidden root is not evaluated, but its + // children are always calculated + goto Recurse; + } + + CalculateSize( item, dc ); + + // set its position + item->SetX( x+m_spacing ); + item->SetY( y ); + y += GetLineHeight(item); + + if ( !item->IsExpanded() ) + { + // we don't need to calculate collapsed branches + return; + } + + Recurse: + wxArrayTreeListItems& children = item->GetChildren(); + size_t n, count = children.Count(); + ++level; + for (n = 0; n < count; ++n ) + CalculateLevel( children[n], dc, level, y, x_offset ); // recurse +} + +void wxTreeListMainWindow::CalculatePositions() +{ + if ( !m_anchor ) return; + + wxClientDC dc(this); + PrepareDC( dc ); + + dc.SetFont( m_normalFont ); + + dc.SetPen( m_dottedPen ); + //if(GetImageList() == NULL) + // m_lineHeight = (int)(dc.GetCharHeight() + 4); + + int y = 2; + int x_offset = 0; + for(size_t i = 0; i < GetMainColumn(); ++i) { + x_offset += m_owner->GetHeaderWindow()->GetColumnWidth(i); + } + CalculateLevel( m_anchor, dc, 0, y, x_offset ); // start recursion +} + +void wxTreeListMainWindow::RefreshSubtree(wxTreeListItem *item) +{ + if (m_dirty) return; + + wxClientDC dc(this); + PrepareDC(dc); + + int cw = 0; + int ch = 0; + GetClientSize( &cw, &ch ); + + wxRect rect; + rect.x = dc.LogicalToDeviceX( 0 ); + rect.width = cw; + rect.y = dc.LogicalToDeviceY( item->GetY() - 2 ); + rect.height = ch; + + Refresh( TRUE, &rect ); + + AdjustMyScrollbars(); +} + +void wxTreeListMainWindow::RefreshLine( wxTreeListItem *item ) +{ + if (m_dirty) return; + + wxClientDC dc(this); + PrepareDC( dc ); + + int cw = 0; + int ch = 0; + GetClientSize( &cw, &ch ); + + wxRect rect; + rect.x = dc.LogicalToDeviceX( 0 ); + rect.y = dc.LogicalToDeviceY( item->GetY() ); + rect.width = cw; + rect.height = GetLineHeight(item); //dc.GetCharHeight() + 6; + + Refresh( TRUE, &rect ); +} + +void wxTreeListMainWindow::RefreshSelected() +{ + // TODO: this is awfully inefficient, we should keep the list of all + // selected items internally, should be much faster + if ( m_anchor ) + RefreshSelectedUnder(m_anchor); +} + +void wxTreeListMainWindow::RefreshSelectedUnder(wxTreeListItem *item) +{ + if ( item->IsSelected() ) + RefreshLine(item); + + const wxArrayTreeListItems& children = item->GetChildren(); + size_t count = children.GetCount(); + for ( size_t n = 0; n < count; n++ ) + { + RefreshSelectedUnder(children[n]); + } +} + +// ---------------------------------------------------------------------------- +// changing colours: we need to refresh the tree control +// ---------------------------------------------------------------------------- + +bool wxTreeListMainWindow::SetBackgroundColour(const wxColour& colour) +{ + if ( !wxWindow::SetBackgroundColour(colour) ) + return FALSE; + + Refresh(); + + return TRUE; +} + +bool wxTreeListMainWindow::SetForegroundColour(const wxColour& colour) +{ + if ( !wxWindow::SetForegroundColour(colour) ) + return FALSE; + + Refresh(); + + return TRUE; +} + +//----------- ALB ------------- +inline +void wxTreeListMainWindow::SetItemText(const wxTreeItemId& item, size_t column, + const wxString& text) +{ + wxCHECK_RET( item.IsOk(), wxT("invalid tree item") ); + + wxClientDC dc(this); + wxTreeListItem *pItem = (wxTreeListItem*) item.m_pItem; + pItem->SetText(column, text); + CalculateSize(pItem, dc); + RefreshLine(pItem); +} + +inline +wxString wxTreeListMainWindow::GetItemText(const wxTreeItemId& item, + size_t column) const +{ + wxCHECK_MSG( item.IsOk(), wxT(""), wxT("invalid tree item") ); + + return ((wxTreeListItem*) item.m_pItem)->GetText(column); +} + +//----------------------------- + +//----------------------------------------------------------------------------- +// wxTreeListCtrl +//----------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxTreeListCtrl, wxControl); + +BEGIN_EVENT_TABLE(wxTreeListCtrl, wxControl) + EVT_SIZE(wxTreeListCtrl::OnSize) +END_EVENT_TABLE(); + +bool wxTreeListCtrl::Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, const wxValidator &validator, + const wxString& name) +{ + long main_style = style & ~(wxRAISED_BORDER|wxSUNKEN_BORDER + |wxSIMPLE_BORDER|wxNO_BORDER|wxDOUBLE_BORDER + |wxSTATIC_BORDER); + if(!wxControl::Create(parent, id, pos, size, style, validator, name)) + return false; + + m_main_win = new wxTreeListMainWindow(this, -1, wxPoint(0, 0), size, + main_style, validator); + m_header_win = new wxTreeListHeaderWindow(this, -1, m_main_win, + wxPoint(0, 0), wxDefaultSize, + wxTAB_TRAVERSAL); + return TRUE; +} + +void wxTreeListCtrl::OnSize(wxSizeEvent& event) +{ + int w, h; + GetClientSize(&w, &h); + if(m_header_win) + m_header_win->SetSize(0, 0, w, HEADER_HEIGHT); + if(m_main_win) + m_main_win->SetSize(0, HEADER_HEIGHT + 1, w, h - HEADER_HEIGHT - 1); +} + +size_t wxTreeListCtrl::GetCount() const { return m_main_win->GetCount(); } + +unsigned int wxTreeListCtrl::GetIndent() const +{ return m_main_win->GetIndent(); } + +void wxTreeListCtrl::SetIndent(unsigned int indent) +{ m_main_win->SetIndent(indent); } + +unsigned int wxTreeListCtrl::GetSpacing() const +{ return m_main_win->GetSpacing(); } + +void wxTreeListCtrl::SetSpacing(unsigned int spacing) +{ m_main_win->SetSpacing(spacing); } + +unsigned int wxTreeListCtrl::GetLineSpacing() const +{ return m_main_win->GetLineSpacing(); } + +void wxTreeListCtrl::SetLineSpacing(unsigned int spacing) +{ m_main_win->SetLineSpacing(spacing); } + +wxImageList* wxTreeListCtrl::GetImageList() const +{ return m_main_win->GetImageList(); } + +wxImageList* wxTreeListCtrl::GetStateImageList() const +{ return m_main_win->GetStateImageList(); } + +wxImageList* wxTreeListCtrl::GetButtonsImageList() const +{ return m_main_win->GetButtonsImageList(); } + +void wxTreeListCtrl::SetImageList(wxImageList* imageList) +{ m_main_win->SetImageList(imageList); } + +void wxTreeListCtrl::SetStateImageList(wxImageList* imageList) +{ m_main_win->SetStateImageList(imageList); } + +void wxTreeListCtrl::SetButtonsImageList(wxImageList* imageList) +{ m_main_win->SetButtonsImageList(imageList); } + +void wxTreeListCtrl::AssignImageList(wxImageList* imageList) +{ m_main_win->AssignImageList(imageList); } + +void wxTreeListCtrl::AssignStateImageList(wxImageList* imageList) +{ m_main_win->AssignStateImageList(imageList); } + +void wxTreeListCtrl::AssignButtonsImageList(wxImageList* imageList) +{ m_main_win->AssignButtonsImageList(imageList); } + +wxString wxTreeListCtrl::GetItemText(const wxTreeItemId& item, size_t column) + const +{ return m_main_win->GetItemText(item, column); } + +int wxTreeListCtrl::GetItemImage(const wxTreeItemId& item, size_t column, + wxTreeItemIcon which) const +{ return m_main_win->GetItemImage(item, column, which); } + +wxTreeItemData* wxTreeListCtrl::GetItemData(const wxTreeItemId& item) const +{ return m_main_win->GetItemData(item); } + +bool wxTreeListCtrl::GetItemBold(const wxTreeItemId& item) const +{ return m_main_win->GetItemBold(item); } + +wxColour wxTreeListCtrl::GetItemTextColour(const wxTreeItemId& item) const +{ return m_main_win->GetItemTextColour(item); } + +wxColour wxTreeListCtrl::GetItemBackgroundColour(const wxTreeItemId& item) + const +{ return m_main_win->GetItemBackgroundColour(item); } + +wxFont wxTreeListCtrl::GetItemFont(const wxTreeItemId& item) const +{ return m_main_win->GetItemFont(item); } + + +void wxTreeListCtrl::SetItemText(const wxTreeItemId& item, size_t column, + const wxString& text) +{ m_main_win->SetItemText(item, column, text); } + +void wxTreeListCtrl::SetItemImage(const wxTreeItemId& item, + size_t column, + int image, + wxTreeItemIcon which) +{ m_main_win->SetItemImage(item, column, image, which); } + +void wxTreeListCtrl::SetItemData(const wxTreeItemId& item, + wxTreeItemData* data) +{ m_main_win->SetItemData(item, data); } + +void wxTreeListCtrl::SetItemHasChildren(const wxTreeItemId& item, bool has) +{ m_main_win->SetItemHasChildren(item, has); } + +void wxTreeListCtrl::SetItemBold(const wxTreeItemId& item, bool bold) +{ m_main_win->SetItemBold(item, bold); } + +void wxTreeListCtrl::SetItemTextColour(const wxTreeItemId& item, + const wxColour& col) +{ m_main_win->SetItemTextColour(item, col); } + +void wxTreeListCtrl::SetItemBackgroundColour(const wxTreeItemId& item, + const wxColour& col) +{ m_main_win->SetItemBackgroundColour(item, col); } + +void wxTreeListCtrl::SetItemFont(const wxTreeItemId& item, + const wxFont& font) +{ m_main_win->SetItemFont(item, font); } + +bool wxTreeListCtrl::SetFont(const wxFont& font) +{ + if(m_header_win) m_header_win->SetFont(font); + if(m_main_win) + return m_main_win->SetFont(font); + else return FALSE; +} + +void wxTreeListCtrl::SetWindowStyle(const long style) +{ + if(m_main_win) + m_main_win->SetWindowStyle(style); + // TODO: provide something like wxTL_NO_HEADERS to hide m_header_win +} + +long wxTreeListCtrl::GetWindowStyle() const +{ + long style = m_windowStyle; + if(m_main_win) + style |= m_main_win->GetWindowStyle(); + return style; +} + +bool wxTreeListCtrl::IsVisible(const wxTreeItemId& item) const +{ return m_main_win->IsVisible(item); } + +bool wxTreeListCtrl::ItemHasChildren(const wxTreeItemId& item) const +{ return m_main_win->ItemHasChildren(item); } + +bool wxTreeListCtrl::IsExpanded(const wxTreeItemId& item) const +{ return m_main_win->IsExpanded(item); } + +bool wxTreeListCtrl::IsSelected(const wxTreeItemId& item) const +{ return m_main_win->IsSelected(item); } + +bool wxTreeListCtrl::IsBold(const wxTreeItemId& item) const +{ return m_main_win->IsBold(item); } + +size_t wxTreeListCtrl::GetChildrenCount(const wxTreeItemId& item, bool rec) +{ return m_main_win->GetChildrenCount(item, rec); } + +wxTreeItemId wxTreeListCtrl::GetRootItem() const +{ return m_main_win->GetRootItem(); } + +wxTreeItemId wxTreeListCtrl::GetSelection() const +{ return m_main_win->GetSelection(); } + +size_t wxTreeListCtrl::GetSelections(wxArrayTreeItemIds& arr) const +{ return m_main_win->GetSelections(arr); } + +wxTreeItemId wxTreeListCtrl::GetParent(const wxTreeItemId& item) const +{ return m_main_win->GetParent(item); } + +wxTreeItemId wxTreeListCtrl::GetFirstChild(const wxTreeItemId& item, + long& cookie) const +{ return m_main_win->GetFirstChild(item, cookie); } + +wxTreeItemId wxTreeListCtrl::GetNextChild(const wxTreeItemId& item, + long& cookie) const +{ return m_main_win->GetNextChild(item, cookie); } + +wxTreeItemId wxTreeListCtrl::GetLastChild(const wxTreeItemId& item) const +{ return m_main_win->GetLastChild(item); } + +wxTreeItemId wxTreeListCtrl::GetNextSibling(const wxTreeItemId& item) const +{ return m_main_win->GetNextSibling(item); } + +wxTreeItemId wxTreeListCtrl::GetPrevSibling(const wxTreeItemId& item) const +{ return m_main_win->GetPrevSibling(item); } + +wxTreeItemId wxTreeListCtrl::GetFirstVisibleItem() const +{ return m_main_win->GetFirstVisibleItem(); } + +wxTreeItemId wxTreeListCtrl::GetNextVisible(const wxTreeItemId& item) const +{ return m_main_win->GetNextVisible(item); } + +wxTreeItemId wxTreeListCtrl::GetPrevVisible(const wxTreeItemId& item) const +{ return m_main_win->GetPrevVisible(item); } + +wxTreeItemId wxTreeListCtrl::GetNext(const wxTreeItemId& item) const +{ return m_main_win->GetNext(item); } + +wxTreeItemId wxTreeListCtrl::AddRoot(const wxString& text, int image, + int selectedImage, wxTreeItemData* data) +{ return m_main_win->AddRoot(text, image, selectedImage, data); } + +wxTreeItemId wxTreeListCtrl::PrependItem(const wxTreeItemId& parent, + const wxString& text, int image, + int selectedImage, + wxTreeItemData* data) +{ return m_main_win->PrependItem(parent, text, image, selectedImage, data); } + +wxTreeItemId wxTreeListCtrl::InsertItem(const wxTreeItemId& parent, + const wxTreeItemId& previous, + const wxString& text, int image, + int selectedImage, + wxTreeItemData* data) +{ + return m_main_win->InsertItem(parent, previous, text, image, + selectedImage, data); +} + +wxTreeItemId wxTreeListCtrl::InsertItem(const wxTreeItemId& parent, + size_t index, + const wxString& text, int image, + int selectedImage, + wxTreeItemData* data) +{ + return m_main_win->InsertItem(parent, index, text, image, + selectedImage, data); +} + +wxTreeItemId wxTreeListCtrl::AppendItem(const wxTreeItemId& parent, + const wxString& text, int image, + int selectedImage, + wxTreeItemData* data) +{ return m_main_win->AppendItem(parent, text, image, selectedImage, data); } + +void wxTreeListCtrl::Delete(const wxTreeItemId& item) +{ m_main_win->Delete(item); } + +void wxTreeListCtrl::DeleteChildren(const wxTreeItemId& item) +{ m_main_win->DeleteChildren(item); } + +void wxTreeListCtrl::DeleteAllItems() +{ m_main_win->DeleteAllItems(); } + +void wxTreeListCtrl::Expand(const wxTreeItemId& item) +{ m_main_win->Expand(item); } + +void wxTreeListCtrl::ExpandAll(const wxTreeItemId& item) +{ m_main_win->ExpandAll(item); } + +void wxTreeListCtrl::Collapse(const wxTreeItemId& item) +{ m_main_win->Collapse(item); } + +void wxTreeListCtrl::CollapseAndReset(const wxTreeItemId& item) +{ m_main_win->CollapseAndReset(item); } + +void wxTreeListCtrl::Toggle(const wxTreeItemId& item) +{ m_main_win->Toggle(item); } + +void wxTreeListCtrl::Unselect() +{ m_main_win->Unselect(); } + +void wxTreeListCtrl::UnselectAll() +{ m_main_win->UnselectAll(); } + +void wxTreeListCtrl::SelectItem(const wxTreeItemId& item, bool unselect_others, + bool extended_select) +{ m_main_win->SelectItem(item, unselect_others, extended_select); } + +void wxTreeListCtrl::EnsureVisible(const wxTreeItemId& item) +{ m_main_win->EnsureVisible(item); } + +void wxTreeListCtrl::ScrollTo(const wxTreeItemId& item) +{ m_main_win->ScrollTo(item); } + +wxTreeItemId wxTreeListCtrl::HitTest(const wxPoint& pos, int& flags, + int& column) +{ + return m_main_win->HitTest(m_main_win->ScreenToClient(ClientToScreen(pos)), + flags, column); +} + +bool wxTreeListCtrl::GetBoundingRect(const wxTreeItemId& item, wxRect& rect, + bool textOnly) const +{ return m_main_win->GetBoundingRect(item, rect, textOnly); } + +void wxTreeListCtrl::Edit(const wxTreeItemId& item) +{ m_main_win->Edit(item); } + +int wxTreeListCtrl::OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2) +{ + // ALB: do the comparison here, and not delegate to m_main_win, in order + // to let the user override it + //return m_main_win->OnCompareItems(item1, item2); + return wxStrcmp(GetItemText(item1), GetItemText(item2)); +} + +void wxTreeListCtrl::SortChildren(const wxTreeItemId& item) +{ m_main_win->SortChildren(item); } + +bool wxTreeListCtrl::SetBackgroundColour(const wxColour& colour) +{ return m_main_win->SetBackgroundColour(colour); } + +bool wxTreeListCtrl::SetForegroundColour(const wxColour& colour) +{ return m_main_win->SetForegroundColour(colour); } + +size_t wxTreeListCtrl::GetColumnCount() const +{ return m_main_win->GetColumnCount(); } + +void wxTreeListCtrl::SetColumnWidth(size_t column, size_t width) +{ m_header_win->SetColumnWidth(column, width); } + +int wxTreeListCtrl::GetColumnWidth(size_t column) const +{ return m_header_win->GetColumnWidth(column); } + +void wxTreeListCtrl::SetMainColumn(size_t column) +{ m_main_win->SetMainColumn(column); } + +size_t wxTreeListCtrl::GetMainColumn() const +{ return m_main_win->GetMainColumn(); } + +void wxTreeListCtrl::SetColumnText(size_t column, const wxString& text) +{ + m_header_win->SetColumnText(column, text); + m_header_win->Refresh(); +} + +wxString wxTreeListCtrl::GetColumnText(size_t column) const +{ return m_header_win->GetColumnText(column); } + +void wxTreeListCtrl::AddColumn(const wxTreeListColumnInfo& col) +{ m_header_win->AddColumn(col); } + +void wxTreeListCtrl::InsertColumn(size_t before, + const wxTreeListColumnInfo& col) +{ m_header_win->InsertColumn(before, col); } + +void wxTreeListCtrl::RemoveColumn(size_t column) +{ m_header_win->RemoveColumn(column); } + +void wxTreeListCtrl::SetColumn(size_t column, const wxTreeListColumnInfo& col) +{ m_header_win->SetColumn(column, col); } + +const wxTreeListColumnInfo& wxTreeListCtrl::GetColumn(size_t column) const +{ return m_header_win->GetColumn(column); } + +wxTreeListColumnInfo& wxTreeListCtrl::GetColumn(size_t column) +{ return m_header_win->GetColumn(column); } + +void wxTreeListCtrl::SetColumnImage(size_t column, int image) +{ + m_header_win->SetColumn(column, GetColumn(column).SetImage(image)); +} + +int wxTreeListCtrl::GetColumnImage(size_t column) const +{ + return m_header_win->GetColumn(column).GetImage(); +} + +void wxTreeListCtrl::SetColumnAlignment(size_t column, + wxTreeListColumnAlign align) +{ + m_header_win->SetColumn(column, GetColumn(column).SetAlignment(align)); +} + +wxTreeListColumnAlign wxTreeListCtrl::GetColumnAlignment(size_t column) const +{ + return m_header_win->GetColumn(column).GetAlignment(); +} + +void wxTreeListCtrl::Refresh(bool erase, const wxRect* rect) +{ + m_main_win->Refresh(erase, rect); + m_header_win->Refresh(erase, rect); +} + +void wxTreeListCtrl::SetFocus() +{ m_main_win->SetFocus(); } diff --git a/wxPython/contrib/gizmos/treelistctrl.h b/wxPython/contrib/gizmos/treelistctrl.h new file mode 100644 index 0000000000..a1e75e9ade --- /dev/null +++ b/wxPython/contrib/gizmos/treelistctrl.h @@ -0,0 +1,509 @@ +// -*- C++ -*- ////////////////////////////////////////////////////////////// +// Name: treelistctrl.h (derived by wx/treectrlg.h) +// Purpose: wxTreeListCtrl class +// Author: Robert Roebling +// Modified by: Alberto Griggio, 2002 +// Created: 01/02/97 +// RCS-ID: $Id$ +// Copyright: (c) 1997,1998 Robert Roebling +// Licence: wxWindows license +///////////////////////////////////////////////////////////////////////////// + + +#ifndef TREELISTCTRL_H +#define TREELISTCTRL_H + +#if defined(__GNUG__) && !defined(__APPLE__) + #pragma interface "treelistctrl.h" +#endif + +#include +#include +#include +#include // for wxListEvent + +#ifdef GIZMOISDLL +#define GIZMODLLEXPORT WXDLLEXPORT +#else +#define GIZMODLLEXPORT +#endif + + +class GIZMODLLEXPORT wxTreeListItem; +class GIZMODLLEXPORT wxTreeListHeaderWindow; +class GIZMODLLEXPORT wxTreeListMainWindow; + +//----------------------------------------------------------------------------- +// wxTreeListColumnAttrs +//----------------------------------------------------------------------------- + +enum wxTreeListColumnAlign { + wxTL_ALIGN_LEFT, + wxTL_ALIGN_RIGHT, + wxTL_ALIGN_CENTER +}; + + +class GIZMODLLEXPORT wxTreeListColumnInfo: public wxObject { +public: + enum { DEFAULT_COL_WIDTH = 100 }; + + wxTreeListColumnInfo(const wxChar* text = wxT(""), + int image = -1, + size_t width = DEFAULT_COL_WIDTH, + wxTreeListColumnAlign alignment = wxTL_ALIGN_LEFT) + { + m_image = image; + m_selected_image = -1; + m_text = text; + m_width = width; + m_alignment = alignment; + } + + wxTreeListColumnInfo(const wxTreeListColumnInfo& other) + { + m_image = other.m_image; + m_selected_image = other.m_selected_image; + m_text = other.m_text; + m_width = other.m_width; + m_alignment = other.m_alignment; + } + + ~wxTreeListColumnInfo() {} + + // getters + wxTreeListColumnAlign GetAlignment() const { return m_alignment; } + wxString GetText() const { return m_text; } + int GetImage() const { return m_image; } + int GetSelectedImage() const { return m_selected_image; } + size_t GetWidth() const { return m_width; } + + // setters + wxTreeListColumnInfo& SetAlignment(wxTreeListColumnAlign alignment) + { m_alignment = alignment; return *this; } + + wxTreeListColumnInfo& SetText(const wxString& text) + { m_text = text; return *this; } + + wxTreeListColumnInfo& SetImage(int image) + { m_image = image; return *this; } + + wxTreeListColumnInfo& SetSelectedImage(int image) + { m_selected_image = image; return *this; } + + wxTreeListColumnInfo& SetWidth(size_t with) + { m_width = with; return *this; } + +private: + wxTreeListColumnAlign m_alignment; + wxString m_text; + int m_image; + int m_selected_image; + size_t m_width; +}; + +//---------------------------------------------------------------------------- +// wxTreeListCtrl - the multicolumn tree control +//---------------------------------------------------------------------------- + +// additional flag for HitTest +const int wxTREE_HITTEST_ONITEMCOLUMN = 0x2000; +extern GIZMODLLEXPORT const wxChar* wxTreeListCtrlNameStr; + + +class GIZMODLLEXPORT wxTreeListCtrl : public wxControl +{ +public: + // creation + // -------- + wxTreeListCtrl() {} + + wxTreeListCtrl(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxTreeListCtrlNameStr ) + : m_header_win(0), m_main_win(0) + { + Create(parent, id, pos, size, style, validator, name); + } + + virtual ~wxTreeListCtrl() {} + + bool Create(wxWindow *parent, wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator &validator = wxDefaultValidator, + const wxString& name = wxTreeListCtrlNameStr ); + + void Refresh(bool erase=TRUE, const wxRect* rect=NULL); + void SetFocus(); + // accessors + // --------- + + // get the total number of items in the control + size_t GetCount() const; + + // indent is the number of pixels the children are indented relative to + // the parents position. SetIndent() also redraws the control + // immediately. + unsigned int GetIndent() const; + void SetIndent(unsigned int indent); + + // spacing is the number of pixels between the start and the Text + unsigned int GetSpacing() const; + void SetSpacing(unsigned int spacing); + + // line spacing is the space above and below the text on each line + unsigned int GetLineSpacing() const; + void SetLineSpacing(unsigned int spacing); + + // image list: these functions allow to associate an image list with + // the control and retrieve it. Note that when assigned with + // SetImageList, the control does _not_ delete + // the associated image list when it's deleted in order to allow image + // lists to be shared between different controls. If you use + // AssignImageList, the control _does_ delete the image list. + // + // The normal image list is for the icons which correspond to the + // normal tree item state (whether it is selected or not). + // Additionally, the application might choose to show a state icon + // which corresponds to an app-defined item state (for example, + // checked/unchecked) which are taken from the state image list. + wxImageList *GetImageList() const; + wxImageList *GetStateImageList() const; + wxImageList *GetButtonsImageList() const; + + void SetImageList(wxImageList *imageList); + void SetStateImageList(wxImageList *imageList); + void SetButtonsImageList(wxImageList *imageList); + void AssignImageList(wxImageList *imageList); + void AssignStateImageList(wxImageList *imageList); + void AssignButtonsImageList(wxImageList *imageList); + + + // Functions to work with tree list ctrl columns + + // adds a column + void AddColumn(const wxString& text) + { AddColumn(wxTreeListColumnInfo().SetText(text)); } + void AddColumn(const wxTreeListColumnInfo& col); + + // inserts a column before the given one + void InsertColumn(size_t before, const wxString& text) + { InsertColumn(before, wxTreeListColumnInfo().SetText(text)); } + void InsertColumn(size_t before, const wxTreeListColumnInfo& col); + + // deletes the given column - does not delete the corresponding column + // of each item + void RemoveColumn(size_t column); + + // returns the number of columns in the ctrl + size_t GetColumnCount() const; + + void SetColumnWidth(size_t column, size_t width); + int GetColumnWidth(size_t column) const; + + // tells which column is the "main" one, i.e. the "threaded" one + void SetMainColumn(size_t column); + size_t GetMainColumn() const; + + void SetColumnText(size_t column, const wxString& text); + wxString GetColumnText(size_t column) const; + + void SetColumn(size_t column, const wxTreeListColumnInfo& info); + wxTreeListColumnInfo& GetColumn(size_t column); + const wxTreeListColumnInfo& GetColumn(size_t column) const; + + // other column-related methods + void SetColumnAlignment(size_t column, wxTreeListColumnAlign align); + wxTreeListColumnAlign GetColumnAlignment(size_t column) const; + + void SetColumnImage(size_t column, int image); + int GetColumnImage(size_t column) const; + + // Functions to work with tree list ctrl items. + + // accessors + // --------- + + // retrieve item's label (of the main column) + wxString GetItemText(const wxTreeItemId& item) const + { return GetItemText(item, GetMainColumn()); } + // retrieves item's label of the given column + wxString GetItemText(const wxTreeItemId& item, size_t column) const; + + // get one of the images associated with the item (normal by default) + int GetItemImage(const wxTreeItemId& item, + wxTreeItemIcon which = wxTreeItemIcon_Normal) const + { return GetItemImage(item, GetMainColumn(), which); } + int GetItemImage(const wxTreeItemId& item, size_t column, + wxTreeItemIcon which = wxTreeItemIcon_Normal) const; + + // get the data associated with the item + wxTreeItemData *GetItemData(const wxTreeItemId& item) const; + + bool GetItemBold(const wxTreeItemId& item) const; + wxColour GetItemTextColour(const wxTreeItemId& item) const; + wxColour GetItemBackgroundColour(const wxTreeItemId& item) const; + wxFont GetItemFont(const wxTreeItemId& item) const; + + // modifiers + // --------- + + // set item's label + void SetItemText(const wxTreeItemId& item, const wxString& text) + { SetItemText(item, GetMainColumn(), text); } + void SetItemText(const wxTreeItemId& item, size_t column, + const wxString& text); + + // get one of the images associated with the item (normal by default) + void SetItemImage(const wxTreeItemId& item, int image, + wxTreeItemIcon which = wxTreeItemIcon_Normal) + { SetItemImage(item, GetMainColumn(), image, which); } + // the which parameter is ignored for all columns but the main one + void SetItemImage(const wxTreeItemId& item, size_t column, int image, + wxTreeItemIcon which = wxTreeItemIcon_Normal); + + // associate some data with the item + void SetItemData(const wxTreeItemId& item, wxTreeItemData *data); + + // force appearance of [+] button near the item. This is useful to + // allow the user to expand the items which don't have any children now + // - but instead add them only when needed, thus minimizing memory + // usage and loading time. + void SetItemHasChildren(const wxTreeItemId& item, bool has = TRUE); + + // the item will be shown in bold + void SetItemBold(const wxTreeItemId& item, bool bold = TRUE); + + // set the item's text colour + void SetItemTextColour(const wxTreeItemId& item, const wxColour& col); + + // set the item's background colour + void SetItemBackgroundColour(const wxTreeItemId& item, + const wxColour& col); + + // set the item's font (should be of the same height for all items) + void SetItemFont(const wxTreeItemId& item, const wxFont& font); + + // set the window font + virtual bool SetFont( const wxFont &font ); + + // set the styles. + void SetWindowStyle(const long styles); + long GetWindowStyle() const; + long GetWindowStyleFlag() const { return GetWindowStyle(); } + + // item status inquiries + // --------------------- + + // is the item visible (it might be outside the view or not expanded)? + bool IsVisible(const wxTreeItemId& item) const; + // does the item has any children? + bool HasChildren(const wxTreeItemId& item) const + { return ItemHasChildren(item); } + bool ItemHasChildren(const wxTreeItemId& item) const; + // is the item expanded (only makes sense if HasChildren())? + bool IsExpanded(const wxTreeItemId& item) const; + // is this item currently selected (the same as has focus)? + bool IsSelected(const wxTreeItemId& item) const; + // is item text in bold font? + bool IsBold(const wxTreeItemId& item) const; + // does the layout include space for a button? + + // number of children + // ------------------ + + // if 'recursively' is FALSE, only immediate children count, otherwise + // the returned number is the number of all items in this branch + size_t GetChildrenCount(const wxTreeItemId& item, bool recursively = TRUE); + + // navigation + // ---------- + + // wxTreeItemId.IsOk() will return FALSE if there is no such item + + // get the root tree item + wxTreeItemId GetRootItem() const; + + // get the item currently selected (may return NULL if no selection) + wxTreeItemId GetSelection() const; + + // get the items currently selected, return the number of such item + size_t GetSelections(wxArrayTreeItemIds&) const; + + // get the parent of this item (may return NULL if root) + wxTreeItemId GetParent(const wxTreeItemId& item) const; + + // for this enumeration function you must pass in a "cookie" parameter + // which is opaque for the application but is necessary for the library + // to make these functions reentrant (i.e. allow more than one + // enumeration on one and the same object simultaneously). Of course, + // the "cookie" passed to GetFirstChild() and GetNextChild() should be + // the same! + + // get the first child of this item + wxTreeItemId GetFirstChild(const wxTreeItemId& item, long& cookie) const; + // get the next child + wxTreeItemId GetNextChild(const wxTreeItemId& item, long& cookie) const; + // get the last child of this item - this method doesn't use cookies + wxTreeItemId GetLastChild(const wxTreeItemId& item) const; + + // get the next sibling of this item + wxTreeItemId GetNextSibling(const wxTreeItemId& item) const; + // get the previous sibling + wxTreeItemId GetPrevSibling(const wxTreeItemId& item) const; + + // get first visible item + wxTreeItemId GetFirstVisibleItem() const; + // get the next visible item: item must be visible itself! + // see IsVisible() and wxTreeCtrl::GetFirstVisibleItem() + wxTreeItemId GetNextVisible(const wxTreeItemId& item) const; + // get the previous visible item: item must be visible itself! + wxTreeItemId GetPrevVisible(const wxTreeItemId& item) const; + + // Only for internal use right now, but should probably be public + wxTreeItemId GetNext(const wxTreeItemId& item) const; + + // operations + // ---------- + + // add the root node to the tree + wxTreeItemId AddRoot(const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item in as the first child of the parent + wxTreeItemId PrependItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item after a given one + wxTreeItemId InsertItem(const wxTreeItemId& parent, + const wxTreeItemId& idPrevious, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item before the one with the given index + wxTreeItemId InsertItem(const wxTreeItemId& parent, + size_t index, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // insert a new item in as the last child of the parent + wxTreeItemId AppendItem(const wxTreeItemId& parent, + const wxString& text, + int image = -1, int selectedImage = -1, + wxTreeItemData *data = NULL); + + // delete this item and associated data if any + void Delete(const wxTreeItemId& item); + // delete all children (but don't delete the item itself) + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteChildren(const wxTreeItemId& item); + // delete all items from the tree + // NB: this won't send wxEVT_COMMAND_TREE_ITEM_DELETED events + void DeleteAllItems(); + + // expand this item + void Expand(const wxTreeItemId& item); + // expand this item and all subitems recursively + void ExpandAll(const wxTreeItemId& item); + // collapse the item without removing its children + void Collapse(const wxTreeItemId& item); + // collapse the item and remove all children + void CollapseAndReset(const wxTreeItemId& item); + // toggles the current state + void Toggle(const wxTreeItemId& item); + + // remove the selection from currently selected item (if any) + void Unselect(); + void UnselectAll(); + // select this item + void SelectItem(const wxTreeItemId& item, bool unselect_others=TRUE, + bool extended_select=FALSE); + // make sure this item is visible (expanding the parent item and/or + // scrolling to this item if necessary) + void EnsureVisible(const wxTreeItemId& item); + // scroll to this item (but don't expand its parent) + void ScrollTo(const wxTreeItemId& item); + //void AdjustMyScrollbars(); + + // The first function is more portable (because easier to implement + // on other platforms), but the second one returns some extra info. + wxTreeItemId HitTest(const wxPoint& point) + { int dummy; return HitTest(point, dummy); } + wxTreeItemId HitTest(const wxPoint& point, int& flags) + { int col; return HitTest(point, flags, col); } + wxTreeItemId HitTest(const wxPoint& point, int& flags, int& column); + + // get the bounding rectangle of the item (or of its label only) + bool GetBoundingRect(const wxTreeItemId& item, + wxRect& rect, + bool textOnly = FALSE) const; + + // Start editing the item label: this (temporarily) replaces the item + // with a one line edit control. The item will be selected if it hadn't + // been before. + void EditLabel( const wxTreeItemId& item ) { Edit( item ); } + void Edit( const wxTreeItemId& item ); + + // sorting + // this function is called to compare 2 items and should return -1, 0 + // or +1 if the first item is less than, equal to or greater than the + // second one. The base class version performs alphabetic comparaison + // of item labels (GetText) + virtual int OnCompareItems(const wxTreeItemId& item1, + const wxTreeItemId& item2); + // sort the children of this item using OnCompareItems + // + // NB: this function is not reentrant and not MT-safe (FIXME)! + void SortChildren(const wxTreeItemId& item); + + // deprecated functions: use Set/GetItemImage directly + // get the selected item image + int GetItemSelectedImage(const wxTreeItemId& item) const + { return GetItemImage(item, wxTreeItemIcon_Selected); } + // set the selected item image + void SetItemSelectedImage(const wxTreeItemId& item, int image) + { SetItemImage(item, image, wxTreeItemIcon_Selected); } + + // implementation only from now on + + // overridden base class virtuals + virtual bool SetBackgroundColour(const wxColour& colour); + virtual bool SetForegroundColour(const wxColour& colour); + + + wxTreeListHeaderWindow* GetHeaderWindow() const + { return m_header_win; } + + wxTreeListMainWindow* GetMainWindow() const + { return m_main_win; } + + +protected: + // header window, responsible for column visualization and manipulation + wxTreeListHeaderWindow* m_header_win; + // main window, the "true" tree ctrl + wxTreeListMainWindow* m_main_win; + + // the common part of all ctors + void Init(); + + void OnSize(wxSizeEvent& event); + + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxTreeListCtrl) +}; + +#endif // TREELISTCTRL_H + diff --git a/wxPython/contrib/glcanvas/gtk/glcanvas.py b/wxPython/contrib/glcanvas/gtk/glcanvas.py index 3f0bd13708..1ad92b3818 100644 --- a/wxPython/contrib/glcanvas/gtk/glcanvas.py +++ b/wxPython/contrib/glcanvas/gtk/glcanvas.py @@ -54,36 +54,36 @@ class wxGLContextPtr(wxObjectPtr): except: pass def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SwapBuffers(self, *_args, **_kwargs) return val def SetupPixelFormat(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetupPixelFormat,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetupPixelFormat(self, *_args, **_kwargs) return val def SetupPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetupPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetupPalette(self, *_args, **_kwargs) return val def CreateDefaultPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_CreateDefaultPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_CreateDefaultPalette(self, *_args, **_kwargs) if val: val = wxPalettePtr(val) ; val.thisown = 1 return val def GetPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_GetPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_GetPalette(self, *_args, **_kwargs) if val: val = wxPalettePtr(val) return val def GetWindow(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_GetWindow,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLContext instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLContext(wxGLContextPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(glcanvasc.new_wxGLContext,_args,_kwargs) + self.this = glcanvasc.new_wxGLContext(*_args,**_kwargs) self.thisown = 1 @@ -94,30 +94,30 @@ class wxGLCanvasPtr(wxWindowPtr): self.this = this self.thisown = 0 def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SwapBuffers(self, *_args, **_kwargs) return val def GetContext(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_GetContext,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_GetContext(self, *_args, **_kwargs) if val: val = wxGLContextPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLCanvas(wxGLCanvasPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(glcanvasc.new_wxGLCanvas,_args,_kwargs) + self.this = glcanvasc.new_wxGLCanvas(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxGLCanvasWithContext(*_args,**_kwargs): - val = wxGLCanvasPtr(apply(glcanvasc.new_wxGLCanvasWithContext,_args,_kwargs)) + val = wxGLCanvasPtr(glcanvasc.new_wxGLCanvasWithContext(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(self) return val diff --git a/wxPython/contrib/glcanvas/mac/glcanvas.py b/wxPython/contrib/glcanvas/mac/glcanvas.py index 163eccb7cc..a63c8ac7d3 100644 --- a/wxPython/contrib/glcanvas/mac/glcanvas.py +++ b/wxPython/contrib/glcanvas/mac/glcanvas.py @@ -54,19 +54,19 @@ class wxGLContextPtr(wxObjectPtr): except: pass def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SwapBuffers(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_GetWindow,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLContext instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLContext(wxGLContextPtr): def __init__(self,this): self.this = this @@ -79,30 +79,30 @@ class wxGLCanvasPtr(wxWindowPtr): self.this = this self.thisown = 0 def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SwapBuffers(self, *_args, **_kwargs) return val def GetContext(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_GetContext,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_GetContext(self, *_args, **_kwargs) if val: val = wxGLContextPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLCanvas(wxGLCanvasPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(glcanvasc.new_wxGLCanvas,_args,_kwargs) + self.this = glcanvasc.new_wxGLCanvas(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxGLCanvasWithContext(*_args,**_kwargs): - val = wxGLCanvasPtr(apply(glcanvasc.new_wxGLCanvasWithContext,_args,_kwargs)) + val = wxGLCanvasPtr(glcanvasc.new_wxGLCanvasWithContext(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(self) return val diff --git a/wxPython/contrib/glcanvas/msw/glcanvas.py b/wxPython/contrib/glcanvas/msw/glcanvas.py index a7b7b8dd67..fa4d7f1c4a 100644 --- a/wxPython/contrib/glcanvas/msw/glcanvas.py +++ b/wxPython/contrib/glcanvas/msw/glcanvas.py @@ -54,22 +54,22 @@ class wxGLContextPtr(wxObjectPtr): except: pass def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_SwapBuffers(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLContext_GetWindow,(self,) + _args, _kwargs) + val = glcanvasc.wxGLContext_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLContext instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLContext(wxGLContextPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(glcanvasc.new_wxGLContext,_args,_kwargs) + self.this = glcanvasc.new_wxGLContext(*_args,**_kwargs) self.thisown = 1 @@ -80,44 +80,44 @@ class wxGLCanvasPtr(wxWindowPtr): self.this = this self.thisown = 0 def SetCurrent(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetCurrent,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetCurrent(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetColour,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetColour(self, *_args, **_kwargs) return val def SwapBuffers(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SwapBuffers,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SwapBuffers(self, *_args, **_kwargs) return val def GetContext(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_GetContext,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_GetContext(self, *_args, **_kwargs) if val: val = wxGLContextPtr(val) return val def SetupPixelFormat(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetupPixelFormat,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetupPixelFormat(self, *_args, **_kwargs) return val def SetupPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_SetupPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_SetupPalette(self, *_args, **_kwargs) return val def CreateDefaultPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_CreateDefaultPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_CreateDefaultPalette(self, *_args, **_kwargs) if val: val = wxPalettePtr(val) ; val.thisown = 1 return val def GetPalette(self, *_args, **_kwargs): - val = apply(glcanvasc.wxGLCanvas_GetPalette,(self,) + _args, _kwargs) + val = glcanvasc.wxGLCanvas_GetPalette(self, *_args, **_kwargs) if val: val = wxPalettePtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGLCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGLCanvas(wxGLCanvasPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(glcanvasc.new_wxGLCanvas,_args,_kwargs) + self.this = glcanvasc.new_wxGLCanvas(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxGLCanvasWithContext(*_args,**_kwargs): - val = wxGLCanvasPtr(apply(glcanvasc.new_wxGLCanvasWithContext,_args,_kwargs)) + val = wxGLCanvasPtr(glcanvasc.new_wxGLCanvasWithContext(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(self) return val diff --git a/wxPython/contrib/iewin/iewin.py b/wxPython/contrib/iewin/iewin.py index 1bc59d7e3a..e6f2b0a9fe 100644 --- a/wxPython/contrib/iewin/iewin.py +++ b/wxPython/contrib/iewin/iewin.py @@ -67,19 +67,19 @@ class wxMSHTMLEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetText1(self, *_args, **_kwargs): - val = apply(iewinc.wxMSHTMLEvent_GetText1,(self,) + _args, _kwargs) + val = iewinc.wxMSHTMLEvent_GetText1(self, *_args, **_kwargs) return val def GetLong1(self, *_args, **_kwargs): - val = apply(iewinc.wxMSHTMLEvent_GetLong1,(self,) + _args, _kwargs) + val = iewinc.wxMSHTMLEvent_GetLong1(self, *_args, **_kwargs) return val def GetLong2(self, *_args, **_kwargs): - val = apply(iewinc.wxMSHTMLEvent_GetLong2,(self,) + _args, _kwargs) + val = iewinc.wxMSHTMLEvent_GetLong2(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMSHTMLEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMSHTMLEvent(wxMSHTMLEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(iewinc.new_wxMSHTMLEvent,_args,_kwargs) + self.this = iewinc.new_wxMSHTMLEvent(*_args,**_kwargs) self.thisown = 1 @@ -90,53 +90,53 @@ class wxIEHtmlWinPtr(wxWindowPtr): self.this = this self.thisown = 0 def LoadUrl(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_LoadUrl,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_LoadUrl(self, *_args, **_kwargs) return val def LoadString(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_LoadString,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_LoadString(self, *_args, **_kwargs) return val def LoadStream(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_LoadStream,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_LoadStream(self, *_args, **_kwargs) return val def SetCharset(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_SetCharset,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_SetCharset(self, *_args, **_kwargs) return val def SetEditMode(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_SetEditMode,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_SetEditMode(self, *_args, **_kwargs) return val def GetEditMode(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GetEditMode,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GetEditMode(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GetStringSelection,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GetStringSelection(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GetText,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GetText(self, *_args, **_kwargs) return val def GoBack(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GoBack,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GoBack(self, *_args, **_kwargs) return val def GoForward(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GoForward,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GoForward(self, *_args, **_kwargs) return val def GoHome(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GoHome,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GoHome(self, *_args, **_kwargs) return val def GoSearch(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_GoSearch,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_GoSearch(self, *_args, **_kwargs) return val def RefreshPage(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_RefreshPage,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_RefreshPage(self, *_args, **_kwargs) return val def Stop(self, *_args, **_kwargs): - val = apply(iewinc.wxIEHtmlWin_Stop,(self,) + _args, _kwargs) + val = iewinc.wxIEHtmlWin_Stop(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIEHtmlWin instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) Navigate = LoadUrl class wxIEHtmlWin(wxIEHtmlWinPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(iewinc.new_wxIEHtmlWin,_args,_kwargs) + self.this = iewinc.new_wxIEHtmlWin(*_args,**_kwargs) self.thisown = 1 diff --git a/wxPython/contrib/ogl/oglbasic.py b/wxPython/contrib/ogl/oglbasic.py index f9270c70d8..c2ed2695e5 100644 --- a/wxPython/contrib/ogl/oglbasic.py +++ b/wxPython/contrib/ogl/oglbasic.py @@ -49,97 +49,97 @@ class wxShapeRegionPtr(wxObjectPtr): self.this = this self.thisown = 0 def SetText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetText,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetText(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetFont,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetFont(self, *_args, **_kwargs) return val def SetMinSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetMinSize,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetMinSize(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetSize,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetSize(self, *_args, **_kwargs) return val def SetPosition(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetPosition,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetPosition(self, *_args, **_kwargs) return val def SetProportions(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetProportions,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetProportions(self, *_args, **_kwargs) return val def SetFormatMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetFormatMode,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetFormatMode(self, *_args, **_kwargs) return val def SetName(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetName,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetName(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetColour,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetColour(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetText,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetText(self, *_args, **_kwargs) return val def GetFont(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetFont,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) return val def GetMinSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetMinSize,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetMinSize(self, *_args, **_kwargs) return val def GetProportion(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetProportion,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetProportion(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetSize,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetSize(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetPosition,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetPosition(self, *_args, **_kwargs) return val def GetFormatMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetFormatMode,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetFormatMode(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetName,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetName(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetColour,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetColour(self, *_args, **_kwargs) return val def GetActualColourObject(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetActualColourObject,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetActualColourObject(self, *_args, **_kwargs) if val: val = wxColourPtr(val) return val def GetFormattedText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetFormattedText,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetFormattedText(self, *_args, **_kwargs) return val def GetPenColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetPenColour,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetPenColour(self, *_args, **_kwargs) return val def GetPenStyle(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetPenStyle,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetPenStyle(self, *_args, **_kwargs) return val def SetPenStyle(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetPenStyle,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetPenStyle(self, *_args, **_kwargs) return val def SetPenColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_SetPenColour,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_SetPenColour(self, *_args, **_kwargs) return val def GetActualPen(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetActualPen,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetActualPen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def GetWidth(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetWidth,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_GetHeight,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_GetHeight(self, *_args, **_kwargs) return val def ClearText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxShapeRegion_ClearText,(self,) + _args, _kwargs) + val = oglbasicc.wxShapeRegion_ClearText(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxShapeRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxShapeRegion(wxShapeRegionPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglbasicc.new_wxShapeRegion,_args,_kwargs) + self.this = oglbasicc.new_wxShapeRegion(*_args,**_kwargs) self.thisown = 1 @@ -150,121 +150,121 @@ class wxPyShapeEvtHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler__setCallbackInfo,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler__setCallbackInfo(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_Destroy,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_Destroy(self, *_args, **_kwargs) return val def _setOORInfo(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler__setOORInfo,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler__setOORInfo(self, *_args, **_kwargs) return val def SetShape(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_SetShape,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_SetShape(self, *_args, **_kwargs) return val def GetShape(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_GetShape,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_GetShape(self, *_args, **_kwargs) return val def SetPreviousHandler(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_SetPreviousHandler,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_SetPreviousHandler(self, *_args, **_kwargs) return val def GetPreviousHandler(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_GetPreviousHandler,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_GetPreviousHandler(self, *_args, **_kwargs) return val def CreateNewCopy(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_CreateNewCopy,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_CreateNewCopy(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDelete,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDraw,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnErase,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnHighlight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnRightClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnMovePre,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnMovePost,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShapeEvtHandler_base_OnEndSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShapeEvtHandler_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyShapeEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyShapeEvtHandler(wxPyShapeEvtHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglbasicc.new_wxPyShapeEvtHandler,_args,_kwargs) + self.this = oglbasicc.new_wxPyShapeEvtHandler(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyShapeEvtHandler) self._setOORInfo(self) @@ -277,506 +277,506 @@ class wxPyShapePtr(wxPyShapeEvtHandlerPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape__setCallbackInfo(self, *_args, **_kwargs) return val def GetBoundingBoxMax(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBoundingBoxMax,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBoundingBoxMax(self, *_args, **_kwargs) return val def GetBoundingBoxMin(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBoundingBoxMin,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBoundingBoxMin(self, *_args, **_kwargs) return val def GetPerimeterPoint(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetPerimeterPoint,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetPerimeterPoint(self, *_args, **_kwargs) return val def GetCanvas(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetCanvas,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetCanvas(self, *_args, **_kwargs) return val def SetCanvas(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetCanvas,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetCanvas(self, *_args, **_kwargs) return val def AddToCanvas(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AddToCanvas,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AddToCanvas(self, *_args, **_kwargs) return val def InsertInCanvas(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_InsertInCanvas,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_InsertInCanvas(self, *_args, **_kwargs) return val def RemoveFromCanvas(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_RemoveFromCanvas,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_RemoveFromCanvas(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetX,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetY,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetY(self, *_args, **_kwargs) return val def SetX(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetX,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetX(self, *_args, **_kwargs) return val def SetY(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetY,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetY(self, *_args, **_kwargs) return val def GetParent(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetParent,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetParent(self, *_args, **_kwargs) return val def SetParent(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetParent,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetParent(self, *_args, **_kwargs) return val def GetTopAncestor(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetTopAncestor,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetTopAncestor(self, *_args, **_kwargs) return val def GetChildren(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetChildren,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetChildren(self, *_args, **_kwargs) return val def Unlink(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Unlink,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Unlink(self, *_args, **_kwargs) return val def SetDrawHandles(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetDrawHandles,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetDrawHandles(self, *_args, **_kwargs) return val def GetDrawHandles(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetDrawHandles,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetDrawHandles(self, *_args, **_kwargs) return val def MakeControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_MakeControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_MakeControlPoints(self, *_args, **_kwargs) return val def DeleteControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_DeleteControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_DeleteControlPoints(self, *_args, **_kwargs) return val def ResetControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ResetControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ResetControlPoints(self, *_args, **_kwargs) return val def GetEventHandler(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetEventHandler,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetEventHandler(self, *_args, **_kwargs) return val def SetEventHandler(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetEventHandler,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetEventHandler(self, *_args, **_kwargs) return val def MakeMandatoryControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_MakeMandatoryControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_MakeMandatoryControlPoints(self, *_args, **_kwargs) return val def ResetMandatoryControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ResetMandatoryControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ResetMandatoryControlPoints(self, *_args, **_kwargs) return val def Recompute(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Recompute,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Recompute(self, *_args, **_kwargs) return val def CalculateSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_CalculateSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_CalculateSize(self, *_args, **_kwargs) return val def Select(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Select,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Select(self, *_args, **_kwargs) return val def SetHighlight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetHighlight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetHighlight(self, *_args, **_kwargs) return val def IsHighlighted(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_IsHighlighted,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_IsHighlighted(self, *_args, **_kwargs) return val def Selected(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Selected,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Selected(self, *_args, **_kwargs) return val def AncestorSelected(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AncestorSelected,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AncestorSelected(self, *_args, **_kwargs) return val def SetSensitivityFilter(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetSensitivityFilter,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetSensitivityFilter(self, *_args, **_kwargs) return val def GetSensitivityFilter(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetSensitivityFilter,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetSensitivityFilter(self, *_args, **_kwargs) return val def SetDraggable(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetDraggable,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetDraggable(self, *_args, **_kwargs) return val def SetFixedSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetFixedSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetFixedSize(self, *_args, **_kwargs) return val def GetFixedSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetFixedSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetFixedSize(self, *_args, **_kwargs) return val def GetFixedWidth(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetFixedWidth,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetFixedWidth(self, *_args, **_kwargs) return val def GetFixedHeight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetFixedHeight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetFixedHeight(self, *_args, **_kwargs) return val def SetSpaceAttachments(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetSpaceAttachments,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetSpaceAttachments(self, *_args, **_kwargs) return val def GetSpaceAttachments(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetSpaceAttachments,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetSpaceAttachments(self, *_args, **_kwargs) return val def SetShadowMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetShadowMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetShadowMode(self, *_args, **_kwargs) return val def GetShadowMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetShadowMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetShadowMode(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_HitTest,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_HitTest(self, *_args, **_kwargs) return val def SetCentreResize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetCentreResize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetCentreResize(self, *_args, **_kwargs) return val def GetCentreResize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetCentreResize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetCentreResize(self, *_args, **_kwargs) return val def SetMaintainAspectRatio(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetMaintainAspectRatio,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetMaintainAspectRatio(self, *_args, **_kwargs) return val def GetMaintainAspectRatio(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetMaintainAspectRatio,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetMaintainAspectRatio(self, *_args, **_kwargs) return val def GetLines(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetLines,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetLines(self, *_args, **_kwargs) return val def SetDisableLabel(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetDisableLabel,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetDisableLabel(self, *_args, **_kwargs) return val def GetDisableLabel(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetDisableLabel,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetDisableLabel(self, *_args, **_kwargs) return val def SetAttachmentMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetAttachmentMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetAttachmentMode(self, *_args, **_kwargs) return val def GetAttachmentMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetAttachmentMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetAttachmentMode(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetId,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetId(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetId,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetId(self, *_args, **_kwargs) return val def SetPen(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetPen,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetPen(self, *_args, **_kwargs) return val def SetBrush(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetBrush,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetBrush(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Show,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Show(self, *_args, **_kwargs) return val def IsShown(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_IsShown,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_IsShown(self, *_args, **_kwargs) return val def Move(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Move,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Move(self, *_args, **_kwargs) return val def Erase(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Erase,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Erase(self, *_args, **_kwargs) return val def EraseContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_EraseContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_EraseContents(self, *_args, **_kwargs) return val def Draw(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Draw,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Draw(self, *_args, **_kwargs) return val def Flash(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Flash,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Flash(self, *_args, **_kwargs) return val def MoveLinks(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_MoveLinks,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_MoveLinks(self, *_args, **_kwargs) return val def DrawContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_DrawContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_DrawContents(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetSize(self, *_args, **_kwargs) return val def SetAttachmentSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetAttachmentSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetAttachmentSize(self, *_args, **_kwargs) return val def Attach(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Attach,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Attach(self, *_args, **_kwargs) return val def Detach(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Detach,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Detach(self, *_args, **_kwargs) return val def Constrain(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Constrain,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Constrain(self, *_args, **_kwargs) return val def AddLine(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AddLine,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AddLine(self, *_args, **_kwargs) return val def GetLinePosition(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetLinePosition,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetLinePosition(self, *_args, **_kwargs) return val def AddText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AddText,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AddText(self, *_args, **_kwargs) return val def GetPen(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetPen,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetPen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def GetBrush(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBrush,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBrush(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) return val def SetDefaultRegionSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetDefaultRegionSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetDefaultRegionSize(self, *_args, **_kwargs) return val def FormatText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_FormatText,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_FormatText(self, *_args, **_kwargs) return val def SetFormatMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetFormatMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetFormatMode(self, *_args, **_kwargs) return val def GetFormatMode(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetFormatMode,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetFormatMode(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetFont,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetFont(self, *_args, **_kwargs) return val def GetFont(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetFont,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) return val def SetTextColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetTextColour,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetTextColour(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetTextColour,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetTextColour(self, *_args, **_kwargs) return val def GetNumberOfTextRegions(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetNumberOfTextRegions,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetNumberOfTextRegions(self, *_args, **_kwargs) return val def SetRegionName(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetRegionName,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetRegionName(self, *_args, **_kwargs) return val def GetRegionName(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetRegionName,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetRegionName(self, *_args, **_kwargs) return val def GetRegionId(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetRegionId,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetRegionId(self, *_args, **_kwargs) return val def NameRegions(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_NameRegions,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_NameRegions(self, *_args, **_kwargs) return val def GetRegions(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetRegions,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetRegions(self, *_args, **_kwargs) return val def AddRegion(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AddRegion,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AddRegion(self, *_args, **_kwargs) return val def ClearRegions(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ClearRegions,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ClearRegions(self, *_args, **_kwargs) return val def AssignNewIds(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AssignNewIds,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AssignNewIds(self, *_args, **_kwargs) return val def FindRegion(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_FindRegion,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_FindRegion(self, *_args, **_kwargs) return val def FindRegionNames(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_FindRegionNames,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_FindRegionNames(self, *_args, **_kwargs) return val def ClearText(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ClearText,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ClearText(self, *_args, **_kwargs) return val def RemoveLine(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_RemoveLine,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_RemoveLine(self, *_args, **_kwargs) return val def GetAttachmentPosition(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetAttachmentPosition,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetAttachmentPosition(self, *_args, **_kwargs) return val def GetNumberOfAttachments(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetNumberOfAttachments,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetNumberOfAttachments(self, *_args, **_kwargs) return val def AttachmentIsValid(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AttachmentIsValid,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AttachmentIsValid(self, *_args, **_kwargs) return val def GetAttachmentPositionEdge(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetAttachmentPositionEdge,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetAttachmentPositionEdge(self, *_args, **_kwargs) return val def CalcSimpleAttachment(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_CalcSimpleAttachment,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_CalcSimpleAttachment(self, *_args, **_kwargs) if val: val = wxRealPointPtr(val) ; val.thisown = 1 return val def AttachmentSortTest(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_AttachmentSortTest,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_AttachmentSortTest(self, *_args, **_kwargs) return val def EraseLinks(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_EraseLinks,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_EraseLinks(self, *_args, **_kwargs) return val def DrawLinks(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_DrawLinks,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_DrawLinks(self, *_args, **_kwargs) return val def MoveLineToNewAttachment(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_MoveLineToNewAttachment,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_MoveLineToNewAttachment(self, *_args, **_kwargs) return val def ApplyAttachmentOrdering(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ApplyAttachmentOrdering,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ApplyAttachmentOrdering(self, *_args, **_kwargs) return val def GetBranchingAttachmentRoot(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchingAttachmentRoot,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchingAttachmentRoot(self, *_args, **_kwargs) if val: val = wxRealPointPtr(val) ; val.thisown = 1 return val def GetBranchingAttachmentInfo(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchingAttachmentInfo,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchingAttachmentInfo(self, *_args, **_kwargs) return val def GetBranchingAttachmentPoint(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchingAttachmentPoint,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchingAttachmentPoint(self, *_args, **_kwargs) return val def GetAttachmentLineCount(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetAttachmentLineCount,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetAttachmentLineCount(self, *_args, **_kwargs) return val def SetBranchNeckLength(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetBranchNeckLength,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetBranchNeckLength(self, *_args, **_kwargs) return val def GetBranchNeckLength(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchNeckLength,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchNeckLength(self, *_args, **_kwargs) return val def SetBranchStemLength(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetBranchStemLength,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetBranchStemLength(self, *_args, **_kwargs) return val def GetBranchStemLength(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchStemLength,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchStemLength(self, *_args, **_kwargs) return val def SetBranchSpacing(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetBranchSpacing,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetBranchSpacing(self, *_args, **_kwargs) return val def GetBranchSpacing(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchSpacing,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchSpacing(self, *_args, **_kwargs) return val def SetBranchStyle(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_SetBranchStyle,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_SetBranchStyle(self, *_args, **_kwargs) return val def GetBranchStyle(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBranchStyle,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBranchStyle(self, *_args, **_kwargs) return val def PhysicalToLogicalAttachment(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_PhysicalToLogicalAttachment,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_PhysicalToLogicalAttachment(self, *_args, **_kwargs) return val def LogicalToPhysicalAttachment(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_LogicalToPhysicalAttachment,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_LogicalToPhysicalAttachment(self, *_args, **_kwargs) return val def Draggable(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Draggable,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Draggable(self, *_args, **_kwargs) return val def HasDescendant(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_HasDescendant,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_HasDescendant(self, *_args, **_kwargs) return val def CreateNewCopy(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_CreateNewCopy,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_CreateNewCopy(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Copy,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Copy(self, *_args, **_kwargs) return val def CopyWithHandler(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_CopyWithHandler,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_CopyWithHandler(self, *_args, **_kwargs) return val def Rotate(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Rotate,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Rotate(self, *_args, **_kwargs) return val def GetRotation(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetRotation,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetRotation(self, *_args, **_kwargs) return val def ClearAttachments(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ClearAttachments,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ClearAttachments(self, *_args, **_kwargs) return val def Recentre(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_Recentre,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_Recentre(self, *_args, **_kwargs) return val def ClearPointList(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_ClearPointList,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_ClearPointList(self, *_args, **_kwargs) return val def GetBackgroundPen(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBackgroundPen,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBackgroundPen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) ; val.thisown = 1 return val def GetBackgroundBrush(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_GetBackgroundBrush,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_GetBackgroundBrush(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) ; val.thisown = 1 return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnErase,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglbasicc.wxPyShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglbasicc.wxPyShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def SetClientData(self, data): self.clientData = data diff --git a/wxPython/contrib/ogl/oglcanvas.py b/wxPython/contrib/ogl/oglcanvas.py index 6a6a7459bd..652eba725a 100644 --- a/wxPython/contrib/ogl/oglcanvas.py +++ b/wxPython/contrib/ogl/oglcanvas.py @@ -50,82 +50,82 @@ class wxDiagramPtr(wxObjectPtr): self.this = this self.thisown = 0 def AddShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_AddShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_AddShape(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_Clear,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_Clear(self, *_args, **_kwargs) return val def DeleteAllShapes(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_DeleteAllShapes,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_DeleteAllShapes(self, *_args, **_kwargs) return val def DrawOutline(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_DrawOutline,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_DrawOutline(self, *_args, **_kwargs) return val def FindShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_FindShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_FindShape(self, *_args, **_kwargs) return val def GetCanvas(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetCanvas,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetCanvas(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetCount,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetCount(self, *_args, **_kwargs) return val def GetGridSpacing(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetGridSpacing,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetGridSpacing(self, *_args, **_kwargs) return val def GetMouseTolerance(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetMouseTolerance,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetMouseTolerance(self, *_args, **_kwargs) return val def GetShapeList(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetShapeList,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetShapeList(self, *_args, **_kwargs) return val def GetQuickEditMode(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetQuickEditMode,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetQuickEditMode(self, *_args, **_kwargs) return val def GetSnapToGrid(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_GetSnapToGrid,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_GetSnapToGrid(self, *_args, **_kwargs) return val def InsertShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_InsertShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_InsertShape(self, *_args, **_kwargs) return val def RecentreAll(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_RecentreAll,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_RecentreAll(self, *_args, **_kwargs) return val def Redraw(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_Redraw,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_Redraw(self, *_args, **_kwargs) return val def RemoveAllShapes(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_RemoveAllShapes,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_RemoveAllShapes(self, *_args, **_kwargs) return val def RemoveShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_RemoveShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_RemoveShape(self, *_args, **_kwargs) return val def SetCanvas(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_SetCanvas,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_SetCanvas(self, *_args, **_kwargs) return val def SetGridSpacing(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_SetGridSpacing,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_SetGridSpacing(self, *_args, **_kwargs) return val def SetMouseTolerance(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_SetMouseTolerance,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_SetMouseTolerance(self, *_args, **_kwargs) return val def SetQuickEditMode(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_SetQuickEditMode,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_SetQuickEditMode(self, *_args, **_kwargs) return val def SetSnapToGrid(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_SetSnapToGrid,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_SetSnapToGrid(self, *_args, **_kwargs) return val def ShowAll(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_ShowAll,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_ShowAll(self, *_args, **_kwargs) return val def Snap(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxDiagram_Snap,(self,) + _args, _kwargs) + val = oglcanvasc.wxDiagram_Snap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDiagram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDiagram(wxDiagramPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglcanvasc.new_wxDiagram,_args,_kwargs) + self.this = oglcanvasc.new_wxDiagram(*_args,**_kwargs) self.thisown = 1 @@ -136,71 +136,71 @@ class wxPyShapeCanvasPtr(wxScrolledWindowPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas__setCallbackInfo,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas__setCallbackInfo(self, *_args, **_kwargs) return val def AddShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_AddShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_AddShape(self, *_args, **_kwargs) return val def FindShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_FindShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_FindShape(self, *_args, **_kwargs) return val def FindFirstSensitiveShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_FindFirstSensitiveShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_FindFirstSensitiveShape(self, *_args, **_kwargs) return val def GetDiagram(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_GetDiagram,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_GetDiagram(self, *_args, **_kwargs) return val def GetQuickEditMode(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_GetQuickEditMode,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_GetQuickEditMode(self, *_args, **_kwargs) return val def InsertShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_InsertShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_InsertShape(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnDragRight,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_base_OnRightClick,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_base_OnRightClick(self, *_args, **_kwargs) return val def Redraw(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_Redraw,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_Redraw(self, *_args, **_kwargs) return val def RemoveShape(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_RemoveShape,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_RemoveShape(self, *_args, **_kwargs) return val def SetDiagram(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_SetDiagram,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_SetDiagram(self, *_args, **_kwargs) return val def Snap(self, *_args, **_kwargs): - val = apply(oglcanvasc.wxPyShapeCanvas_Snap,(self,) + _args, _kwargs) + val = oglcanvasc.wxPyShapeCanvas_Snap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyShapeCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def GetShapeList(self): return self.GetDiagram().GetShapeList() class wxPyShapeCanvas(wxPyShapeCanvasPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglcanvasc.new_wxPyShapeCanvas,_args,_kwargs) + self.this = oglcanvasc.new_wxPyShapeCanvas(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyShapeCanvas) self._setOORInfo(self) diff --git a/wxPython/contrib/ogl/oglhelpers.h b/wxPython/contrib/ogl/oglhelpers.h index 010e72e0a0..d5c9281858 100644 --- a/wxPython/contrib/ogl/oglhelpers.h +++ b/wxPython/contrib/ogl/oglhelpers.h @@ -54,8 +54,7 @@ DEC_PYCALLBACK__WXCP2DBL2INT (OnSizingEndDragLeft); \ DEC_PYCALLBACK__2DBL (OnBeginSize); \ DEC_PYCALLBACK__2DBL (OnEndSize); \ - \ - PYPRIVATE; + PYPRIVATE #define WXSHAPE_IMP_CALLBACKS(CLASS, PARENT) \ @@ -87,7 +86,7 @@ IMP_PYCALLBACK__WXCP2DBL2INT (CLASS, PARENT, OnSizingBeginDragLeft);\ IMP_PYCALLBACK__WXCP2DBL2INT (CLASS, PARENT, OnSizingEndDragLeft); \ IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnBeginSize); \ - IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnEndSize); \ + IMP_PYCALLBACK__2DBL (CLASS, PARENT, OnEndSize) // This one may be difficult... diff --git a/wxPython/contrib/ogl/oglshapes.py b/wxPython/contrib/ogl/oglshapes.py index 4090867d08..1cbd1eeb8f 100644 --- a/wxPython/contrib/ogl/oglshapes.py +++ b/wxPython/contrib/ogl/oglshapes.py @@ -56,129 +56,129 @@ class wxPseudoMetaFilePtr(wxObjectPtr): except: pass def Draw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Draw,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Draw(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Clear,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Clear(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Copy,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Copy(self, *_args, **_kwargs) return val def Scale(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Scale,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Scale(self, *_args, **_kwargs) return val def ScaleTo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_ScaleTo,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_ScaleTo(self, *_args, **_kwargs) return val def Translate(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Translate,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Translate(self, *_args, **_kwargs) return val def Rotate(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_Rotate,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_Rotate(self, *_args, **_kwargs) return val def LoadFromMetaFile(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_LoadFromMetaFile,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_LoadFromMetaFile(self, *_args, **_kwargs) return val def GetBounds(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_GetBounds,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_GetBounds(self, *_args, **_kwargs) return val def CalculateSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_CalculateSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_CalculateSize(self, *_args, **_kwargs) return val def SetRotateable(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetRotateable,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetRotateable(self, *_args, **_kwargs) return val def GetRotateable(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_GetRotateable,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_GetRotateable(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetSize(self, *_args, **_kwargs) return val def SetFillBrush(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetFillBrush,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetFillBrush(self, *_args, **_kwargs) return val def GetFillBrush(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_GetFillBrush,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_GetFillBrush(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) return val def SetOutlinePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetOutlinePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetOutlinePen(self, *_args, **_kwargs) return val def GetOutlinePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_GetOutlinePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_GetOutlinePen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def SetOutlineOp(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetOutlineOp,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetOutlineOp(self, *_args, **_kwargs) return val def GetOutlineOp(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_GetOutlineOp,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_GetOutlineOp(self, *_args, **_kwargs) return val def IsValid(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_IsValid,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_IsValid(self, *_args, **_kwargs) return val def DrawLine(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawLine,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawLine(self, *_args, **_kwargs) return val def DrawRectangle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawRectangle,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawRectangle(self, *_args, **_kwargs) return val def DrawRoundedRectangle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawRoundedRectangle,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawRoundedRectangle(self, *_args, **_kwargs) return val def DrawArc(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawArc,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawArc(self, *_args, **_kwargs) return val def DrawEllipticArc(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawEllipticArc,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawEllipticArc(self, *_args, **_kwargs) return val def DrawEllipse(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawEllipse,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawEllipse(self, *_args, **_kwargs) return val def DrawPoint(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawPoint,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawPoint(self, *_args, **_kwargs) return val def DrawText(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawText,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawText(self, *_args, **_kwargs) return val def DrawLines(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawLines,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawLines(self, *_args, **_kwargs) return val def DrawPolygon(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawPolygon,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawPolygon(self, *_args, **_kwargs) return val def DrawSpline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DrawSpline,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DrawSpline(self, *_args, **_kwargs) return val def SetClippingRect(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetClippingRect,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetClippingRect(self, *_args, **_kwargs) return val def DestroyClippingRect(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_DestroyClippingRect,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_DestroyClippingRect(self, *_args, **_kwargs) return val def SetPen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetPen,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetPen(self, *_args, **_kwargs) return val def SetBrush(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetBrush,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetBrush(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetFont,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetFont(self, *_args, **_kwargs) return val def SetTextColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetTextColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetBackgroundColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetBackgroundColour(self, *_args, **_kwargs) return val def SetBackgroundMode(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPseudoMetaFile_SetBackgroundMode,(self,) + _args, _kwargs) + val = oglshapesc.wxPseudoMetaFile_SetBackgroundMode(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPseudoMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPseudoMetaFile(wxPseudoMetaFilePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPseudoMetaFile,_args,_kwargs) + self.this = oglshapesc.new_wxPseudoMetaFile(*_args,**_kwargs) self.thisown = 1 @@ -189,103 +189,103 @@ class wxPyRectangleShapePtr(wxPyShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape__setCallbackInfo(self, *_args, **_kwargs) return val def SetCornerRadius(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_SetCornerRadius,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_SetCornerRadius(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyRectangleShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyRectangleShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyRectangleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyRectangleShape(wxPyRectangleShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyRectangleShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyRectangleShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyRectangleShape) self._setOORInfo(self) @@ -298,103 +298,103 @@ class wxPyControlPointPtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint__setCallbackInfo(self, *_args, **_kwargs) return val def SetCornerRadius(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_SetCornerRadius,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_SetCornerRadius(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyControlPoint_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyControlPoint_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyControlPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyControlPoint(wxPyControlPointPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyControlPoint,_args,_kwargs) + self.this = oglshapesc.new_wxPyControlPoint(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyControlPoint) self._setOORInfo(self) @@ -407,113 +407,113 @@ class wxPyBitmapShapePtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape__setCallbackInfo(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_GetBitmap,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def GetFilename(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_GetFilename,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_GetFilename(self, *_args, **_kwargs) return val def SetBitmap(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_SetBitmap,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_SetBitmap(self, *_args, **_kwargs) return val def SetFilename(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_SetFilename,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_SetFilename(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyBitmapShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyBitmapShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyBitmapShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyBitmapShape(wxPyBitmapShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyBitmapShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyBitmapShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyBitmapShape) self._setOORInfo(self) @@ -526,184 +526,184 @@ class wxPyDrawnShapePtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape__setCallbackInfo(self, *_args, **_kwargs) return val def CalculateSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_CalculateSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_CalculateSize(self, *_args, **_kwargs) return val def DestroyClippingRect(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DestroyClippingRect,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DestroyClippingRect(self, *_args, **_kwargs) return val def DrawArc(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawArc,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawArc(self, *_args, **_kwargs) return val def DrawAtAngle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawAtAngle,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawAtAngle(self, *_args, **_kwargs) return val def DrawEllipticArc(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawEllipticArc,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawEllipticArc(self, *_args, **_kwargs) return val def DrawLine(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawLine,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawLine(self, *_args, **_kwargs) return val def DrawLines(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawLines,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawLines(self, *_args, **_kwargs) return val def DrawPoint(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawPoint,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawPoint(self, *_args, **_kwargs) return val def DrawPolygon(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawPolygon,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawPolygon(self, *_args, **_kwargs) return val def DrawRectangle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawRectangle,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawRectangle(self, *_args, **_kwargs) return val def DrawRoundedRectangle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawRoundedRectangle,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawRoundedRectangle(self, *_args, **_kwargs) return val def DrawSpline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawSpline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawSpline(self, *_args, **_kwargs) return val def DrawText(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_DrawText,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_DrawText(self, *_args, **_kwargs) return val def GetAngle(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_GetAngle,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_GetAngle(self, *_args, **_kwargs) return val def GetMetaFile(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_GetMetaFile,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_GetMetaFile(self, *_args, **_kwargs) return val def GetRotation(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_GetRotation,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_GetRotation(self, *_args, **_kwargs) return val def LoadFromMetaFile(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_LoadFromMetaFile,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_LoadFromMetaFile(self, *_args, **_kwargs) return val def Rotate(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_Rotate,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_Rotate(self, *_args, **_kwargs) return val def SetClippingRect(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetClippingRect,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetClippingRect(self, *_args, **_kwargs) return val def SetDrawnBackgroundColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnBackgroundColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnBackgroundColour(self, *_args, **_kwargs) return val def SetDrawnBackgroundMode(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnBackgroundMode,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnBackgroundMode(self, *_args, **_kwargs) return val def SetDrawnBrush(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnBrush,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnBrush(self, *_args, **_kwargs) return val def SetDrawnFont(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnFont,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnFont(self, *_args, **_kwargs) return val def SetDrawnPen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnPen,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnPen(self, *_args, **_kwargs) return val def SetDrawnTextColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetDrawnTextColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetDrawnTextColour(self, *_args, **_kwargs) return val def Scale(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_Scale,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_Scale(self, *_args, **_kwargs) return val def SetSaveToFile(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_SetSaveToFile,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_SetSaveToFile(self, *_args, **_kwargs) return val def Translate(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_Translate,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_Translate(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDrawnShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDrawnShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyDrawnShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyDrawnShape(wxPyDrawnShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyDrawnShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyDrawnShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyDrawnShape) self._setOORInfo(self) @@ -716,19 +716,19 @@ class wxOGLConstraintPtr(wxObjectPtr): self.this = this self.thisown = 0 def Evaluate(self, *_args, **_kwargs): - val = apply(oglshapesc.wxOGLConstraint_Evaluate,(self,) + _args, _kwargs) + val = oglshapesc.wxOGLConstraint_Evaluate(self, *_args, **_kwargs) return val def SetSpacing(self, *_args, **_kwargs): - val = apply(oglshapesc.wxOGLConstraint_SetSpacing,(self,) + _args, _kwargs) + val = oglshapesc.wxOGLConstraint_SetSpacing(self, *_args, **_kwargs) return val def Equals(self, *_args, **_kwargs): - val = apply(oglshapesc.wxOGLConstraint_Equals,(self,) + _args, _kwargs) + val = oglshapesc.wxOGLConstraint_Equals(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxOGLConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxOGLConstraint(wxOGLConstraintPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxOGLConstraint,_args,_kwargs) + self.this = oglshapesc.new_wxOGLConstraint(*_args,**_kwargs) self.thisown = 1 @@ -739,142 +739,142 @@ class wxPyCompositeShapePtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape__setCallbackInfo(self, *_args, **_kwargs) return val def AddChild(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_AddChild,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_AddChild(self, *_args, **_kwargs) return val def AddConstraint(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_AddConstraint,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_AddConstraint(self, *_args, **_kwargs) return val def AddConstrainedShapes(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_AddConstrainedShapes,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_AddConstrainedShapes(self, *_args, **_kwargs) return val def AddSimpleConstraint(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_AddSimpleConstraint,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_AddSimpleConstraint(self, *_args, **_kwargs) return val def CalculateSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_CalculateSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_CalculateSize(self, *_args, **_kwargs) return val def ContainsDivision(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_ContainsDivision,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_ContainsDivision(self, *_args, **_kwargs) return val def DeleteConstraint(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_DeleteConstraint,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_DeleteConstraint(self, *_args, **_kwargs) return val def DeleteConstraintsInvolvingChild(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_DeleteConstraintsInvolvingChild,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_DeleteConstraintsInvolvingChild(self, *_args, **_kwargs) return val def FindContainerImage(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_FindContainerImage,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_FindContainerImage(self, *_args, **_kwargs) return val def GetConstraints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_GetConstraints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_GetConstraints(self, *_args, **_kwargs) return val def GetDivisions(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_GetDivisions,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_GetDivisions(self, *_args, **_kwargs) return val def MakeContainer(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_MakeContainer,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_MakeContainer(self, *_args, **_kwargs) return val def Recompute(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_Recompute,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_Recompute(self, *_args, **_kwargs) return val def RemoveChild(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_RemoveChild,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_RemoveChild(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyCompositeShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyCompositeShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyCompositeShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyCompositeShape(wxPyCompositeShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyCompositeShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyCompositeShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyCompositeShape) self._setOORInfo(self) @@ -887,106 +887,106 @@ class wxPyDividedShapePtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape__setCallbackInfo(self, *_args, **_kwargs) return val def EditRegions(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_EditRegions,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_EditRegions(self, *_args, **_kwargs) return val def SetRegionSizes(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_SetRegionSizes,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_SetRegionSizes(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDividedShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDividedShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyDividedShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyDividedShape(wxPyDividedShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyDividedShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyDividedShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyDividedShape) self._setOORInfo(self) @@ -999,177 +999,177 @@ class wxPyDivisionShapePtr(wxPyCompositeShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape__setCallbackInfo(self, *_args, **_kwargs) return val def AdjustBottom(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_AdjustBottom,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_AdjustBottom(self, *_args, **_kwargs) return val def AdjustLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_AdjustLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_AdjustLeft(self, *_args, **_kwargs) return val def AdjustRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_AdjustRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_AdjustRight(self, *_args, **_kwargs) return val def AdjustTop(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_AdjustTop,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_AdjustTop(self, *_args, **_kwargs) return val def Divide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_Divide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_Divide(self, *_args, **_kwargs) return val def EditEdge(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_EditEdge,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_EditEdge(self, *_args, **_kwargs) return val def GetBottomSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetBottomSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetBottomSide(self, *_args, **_kwargs) return val def GetHandleSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetHandleSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetHandleSide(self, *_args, **_kwargs) return val def GetLeftSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetLeftSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetLeftSide(self, *_args, **_kwargs) return val def GetLeftSideColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetLeftSideColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetLeftSideColour(self, *_args, **_kwargs) return val def GetLeftSidePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetLeftSidePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetLeftSidePen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def GetRightSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetRightSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetRightSide(self, *_args, **_kwargs) return val def GetTopSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetTopSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetTopSide(self, *_args, **_kwargs) return val def GetTopSidePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_GetTopSidePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_GetTopSidePen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def ResizeAdjoining(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_ResizeAdjoining,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_ResizeAdjoining(self, *_args, **_kwargs) return val def PopupMenu(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_PopupMenu,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_PopupMenu(self, *_args, **_kwargs) return val def SetBottomSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetBottomSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetBottomSide(self, *_args, **_kwargs) return val def SetHandleSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetHandleSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetHandleSide(self, *_args, **_kwargs) return val def SetLeftSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetLeftSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetLeftSide(self, *_args, **_kwargs) return val def SetLeftSideColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetLeftSideColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetLeftSideColour(self, *_args, **_kwargs) return val def SetLeftSidePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetLeftSidePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetLeftSidePen(self, *_args, **_kwargs) return val def SetRightSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetRightSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetRightSide(self, *_args, **_kwargs) return val def SetTopSide(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetTopSide,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetTopSide(self, *_args, **_kwargs) return val def SetTopSideColour(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetTopSideColour,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetTopSideColour(self, *_args, **_kwargs) return val def SetTopSidePen(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_SetTopSidePen,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_SetTopSidePen(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapesc.wxPyDivisionShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapesc.wxPyDivisionShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyDivisionShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyDivisionShape(wxPyDivisionShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapesc.new_wxPyDivisionShape,_args,_kwargs) + self.this = oglshapesc.new_wxPyDivisionShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyDivisionShape) self._setOORInfo(self) diff --git a/wxPython/contrib/ogl/oglshapes2.py b/wxPython/contrib/ogl/oglshapes2.py index 60d4c2947e..1be62f6cd7 100644 --- a/wxPython/contrib/ogl/oglshapes2.py +++ b/wxPython/contrib/ogl/oglshapes2.py @@ -52,97 +52,97 @@ class wxPyEllipseShapePtr(wxPyShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyEllipseShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyEllipseShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyEllipseShape(wxPyEllipseShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxPyEllipseShape,_args,_kwargs) + self.this = oglshapes2c.new_wxPyEllipseShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyEllipseShape) self._setOORInfo(self) @@ -155,97 +155,97 @@ class wxPyCircleShapePtr(wxPyEllipseShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyCircleShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyCircleShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyCircleShape(wxPyCircleShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxPyCircleShape,_args,_kwargs) + self.this = oglshapes2c.new_wxPyCircleShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyCircleShape) self._setOORInfo(self) @@ -264,58 +264,58 @@ class wxArrowHeadPtr(wxObjectPtr): except: pass def _GetType(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead__GetType,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead__GetType(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetPosition,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetPosition(self, *_args, **_kwargs) return val def SetPosition(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_SetPosition,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_SetPosition(self, *_args, **_kwargs) return val def GetXOffset(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetXOffset,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetXOffset(self, *_args, **_kwargs) return val def GetYOffset(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetYOffset,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetYOffset(self, *_args, **_kwargs) return val def GetSpacing(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetSpacing,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetSpacing(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetSize(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetName,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetName(self, *_args, **_kwargs) return val def SetXOffset(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_SetXOffset,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_SetXOffset(self, *_args, **_kwargs) return val def SetYOffset(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_SetYOffset,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_SetYOffset(self, *_args, **_kwargs) return val def GetMetaFile(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetMetaFile,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetMetaFile(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetId,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetId(self, *_args, **_kwargs) return val def GetArrowEnd(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetArrowEnd,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetArrowEnd(self, *_args, **_kwargs) return val def GetArrowSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_GetArrowSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_GetArrowSize(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_SetSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_SetSize(self, *_args, **_kwargs) return val def SetSpacing(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxArrowHead_SetSpacing,(self,) + _args, _kwargs) + val = oglshapes2c.wxArrowHead_SetSpacing(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxArrowHead(wxArrowHeadPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxArrowHead,_args,_kwargs) + self.this = oglshapes2c.new_wxArrowHead(*_args,**_kwargs) self.thisown = 1 @@ -326,218 +326,218 @@ class wxPyLineShapePtr(wxPyShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape__setCallbackInfo(self, *_args, **_kwargs) return val def AddArrow(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_AddArrow,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_AddArrow(self, *_args, **_kwargs) return val def AddArrowOrdered(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_AddArrowOrdered,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_AddArrowOrdered(self, *_args, **_kwargs) return val def ClearArrow(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_ClearArrow,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_ClearArrow(self, *_args, **_kwargs) return val def ClearArrowsAtPosition(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_ClearArrowsAtPosition,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_ClearArrowsAtPosition(self, *_args, **_kwargs) return val def DrawArrow(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DrawArrow,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DrawArrow(self, *_args, **_kwargs) return val def DeleteArrowHeadId(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DeleteArrowHeadId,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DeleteArrowHeadId(self, *_args, **_kwargs) return val def DeleteArrowHead(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DeleteArrowHead,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DeleteArrowHead(self, *_args, **_kwargs) return val def DeleteLineControlPoint(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DeleteLineControlPoint,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DeleteLineControlPoint(self, *_args, **_kwargs) return val def DrawArrows(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DrawArrows,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DrawArrows(self, *_args, **_kwargs) return val def DrawRegion(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_DrawRegion,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_DrawRegion(self, *_args, **_kwargs) return val def EraseRegion(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_EraseRegion,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_EraseRegion(self, *_args, **_kwargs) return val def FindArrowHeadId(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindArrowHeadId,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindArrowHeadId(self, *_args, **_kwargs) return val def FindArrowHead(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindArrowHead,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindArrowHead(self, *_args, **_kwargs) return val def FindLineEndPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindLineEndPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindLineEndPoints(self, *_args, **_kwargs) return val def FindLinePosition(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindLinePosition,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindLinePosition(self, *_args, **_kwargs) return val def FindMinimumWidth(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindMinimumWidth,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindMinimumWidth(self, *_args, **_kwargs) return val def FindNth(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_FindNth,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_FindNth(self, *_args, **_kwargs) return val def GetAttachmentFrom(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetAttachmentFrom,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetAttachmentFrom(self, *_args, **_kwargs) return val def GetAttachmentTo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetAttachmentTo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetAttachmentTo(self, *_args, **_kwargs) return val def GetEnds(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetEnds,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetEnds(self, *_args, **_kwargs) return val def GetFrom(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetFrom,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetFrom(self, *_args, **_kwargs) return val def GetLabelPosition(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetLabelPosition,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetLabelPosition(self, *_args, **_kwargs) return val def GetNextControlPoint(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetNextControlPoint,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetNextControlPoint(self, *_args, **_kwargs) if val: val = wxRealPointPtr(val) return val def GetTo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetTo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetTo(self, *_args, **_kwargs) return val def Initialise(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_Initialise,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_Initialise(self, *_args, **_kwargs) return val def InsertLineControlPoint(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_InsertLineControlPoint,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_InsertLineControlPoint(self, *_args, **_kwargs) return val def IsEnd(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_IsEnd,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_IsEnd(self, *_args, **_kwargs) return val def IsSpline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_IsSpline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_IsSpline(self, *_args, **_kwargs) return val def MakeLineControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_MakeLineControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_MakeLineControlPoints(self, *_args, **_kwargs) return val def GetLineControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_GetLineControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_GetLineControlPoints(self, *_args, **_kwargs) return val def SetAttachmentFrom(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetAttachmentFrom,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetAttachmentFrom(self, *_args, **_kwargs) return val def SetAttachments(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetAttachments,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetAttachments(self, *_args, **_kwargs) return val def SetAttachmentTo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetAttachmentTo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetAttachmentTo(self, *_args, **_kwargs) return val def SetEnds(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetEnds,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetEnds(self, *_args, **_kwargs) return val def SetFrom(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetFrom,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetFrom(self, *_args, **_kwargs) return val def SetIgnoreOffsets(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetIgnoreOffsets,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetIgnoreOffsets(self, *_args, **_kwargs) return val def SetSpline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetSpline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetSpline(self, *_args, **_kwargs) return val def SetTo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_SetTo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_SetTo(self, *_args, **_kwargs) return val def Straighten(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_Straighten,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_Straighten(self, *_args, **_kwargs) return val def Unlink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_Unlink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_Unlink(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyLineShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyLineShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyLineShape(wxPyLineShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxPyLineShape,_args,_kwargs) + self.this = oglshapes2c.new_wxPyLineShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyLineShape) self._setOORInfo(self) @@ -550,115 +550,115 @@ class wxPyPolygonShapePtr(wxPyShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape__setCallbackInfo(self, *_args, **_kwargs) return val def Create(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_Create,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_Create(self, *_args, **_kwargs) return val def AddPolygonPoint(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_AddPolygonPoint,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_AddPolygonPoint(self, *_args, **_kwargs) return val def CalculatePolygonCentre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_CalculatePolygonCentre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_CalculatePolygonCentre(self, *_args, **_kwargs) return val def DeletePolygonPoint(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_DeletePolygonPoint,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_DeletePolygonPoint(self, *_args, **_kwargs) return val def GetPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_GetPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_GetPoints(self, *_args, **_kwargs) return val def UpdateOriginalPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_UpdateOriginalPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_UpdateOriginalPoints(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyPolygonShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyPolygonShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyPolygonShape(wxPyPolygonShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxPyPolygonShape,_args,_kwargs) + self.this = oglshapes2c.new_wxPyPolygonShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyPolygonShape) self._setOORInfo(self) @@ -671,100 +671,100 @@ class wxPyTextShapePtr(wxPyRectangleShapePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape__setCallbackInfo,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnDelete(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDelete,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDelete(self, *_args, **_kwargs) return val def base_OnDraw(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDraw,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDraw(self, *_args, **_kwargs) return val def base_OnDrawContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDrawContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDrawContents(self, *_args, **_kwargs) return val def base_OnDrawBranches(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDrawBranches,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDrawBranches(self, *_args, **_kwargs) return val def base_OnMoveLinks(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnMoveLinks,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnMoveLinks(self, *_args, **_kwargs) return val def base_OnErase(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnErase,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnErase(self, *_args, **_kwargs) return val def base_OnEraseContents(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnEraseContents,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnEraseContents(self, *_args, **_kwargs) return val def base_OnHighlight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnHighlight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnHighlight(self, *_args, **_kwargs) return val def base_OnLeftClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnLeftClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnLeftClick(self, *_args, **_kwargs) return val def base_OnLeftDoubleClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnLeftDoubleClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnLeftDoubleClick(self, *_args, **_kwargs) return val def base_OnRightClick(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnRightClick,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnRightClick(self, *_args, **_kwargs) return val def base_OnSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnSize(self, *_args, **_kwargs) return val def base_OnMovePre(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnMovePre,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnMovePre(self, *_args, **_kwargs) return val def base_OnMovePost(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnMovePost,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnMovePost(self, *_args, **_kwargs) return val def base_OnDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDragLeft(self, *_args, **_kwargs) return val def base_OnBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnBeginDragLeft(self, *_args, **_kwargs) return val def base_OnEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnEndDragLeft(self, *_args, **_kwargs) return val def base_OnDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDragRight(self, *_args, **_kwargs) return val def base_OnBeginDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnBeginDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnBeginDragRight(self, *_args, **_kwargs) return val def base_OnEndDragRight(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnEndDragRight,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnEndDragRight(self, *_args, **_kwargs) return val def base_OnDrawOutline(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDrawOutline,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDrawOutline(self, *_args, **_kwargs) return val def base_OnDrawControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnDrawControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnDrawControlPoints(self, *_args, **_kwargs) return val def base_OnEraseControlPoints(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnEraseControlPoints,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnEraseControlPoints(self, *_args, **_kwargs) return val def base_OnMoveLink(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnMoveLink,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnMoveLink(self, *_args, **_kwargs) return val def base_OnSizingDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnSizingDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnSizingDragLeft(self, *_args, **_kwargs) return val def base_OnSizingBeginDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnSizingBeginDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnSizingBeginDragLeft(self, *_args, **_kwargs) return val def base_OnSizingEndDragLeft(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnSizingEndDragLeft,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnSizingEndDragLeft(self, *_args, **_kwargs) return val def base_OnBeginSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnBeginSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnBeginSize(self, *_args, **_kwargs) return val def base_OnEndSize(self, *_args, **_kwargs): - val = apply(oglshapes2c.wxPyTextShape_base_OnEndSize,(self,) + _args, _kwargs) + val = oglshapes2c.wxPyTextShape_base_OnEndSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyTextShape(wxPyTextShapePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(oglshapes2c.new_wxPyTextShape,_args,_kwargs) + self.this = oglshapes2c.new_wxPyTextShape(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyTextShape) self._setOORInfo(self) diff --git a/wxPython/contrib/stc/gtk/stc_.cpp b/wxPython/contrib/stc/gtk/stc_.cpp index f522a3d620..7deb374c77 100644 --- a/wxPython/contrib/stc/gtk/stc_.cpp +++ b/wxPython/contrib/stc/gtk/stc_.cpp @@ -1649,6 +1649,43 @@ static PyObject *_wrap_wxStyledTextCtrl_MarkerPrevious(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_MarkerDefineBitmap(_swigobj,_swigarg0,_swigarg1) (_swigobj->MarkerDefineBitmap(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_MarkerDefineBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","markerNumber","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_MarkerDefineBitmap",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_MarkerDefineBitmap(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetMarginType(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetMarginType(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetMarginType(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -2275,6 +2312,38 @@ static PyObject *_wrap_wxStyledTextCtrl_StyleSetCharacterSet(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_StyleSetHotSpot(_swigobj,_swigarg0,_swigarg1) (_swigobj->StyleSetHotSpot(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_StyleSetHotSpot(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + bool _arg2; + PyObject * _argo0 = 0; + int tempbool2; + char *_kwnames[] = { "self","style","hotspot", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxStyledTextCtrl_StyleSetHotSpot",_kwnames,&_argo0,&_arg1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_StyleSetHotSpot. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_StyleSetHotSpot(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetSelForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetSelForeground(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetSelForeground(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3859,6 +3928,128 @@ static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord(PyObject *self return _resultobj; } +#define wxStyledTextCtrl_RegisterImage(_swigobj,_swigarg0,_swigarg1) (_swigobj->RegisterImage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_RegisterImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","type","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_RegisterImage",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_RegisterImage. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_RegisterImage. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_RegisterImage(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_ClearRegisteredImages(_swigobj) (_swigobj->ClearRegisteredImages()) +static PyObject *_wrap_wxStyledTextCtrl_ClearRegisteredImages(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ClearRegisteredImages",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ClearRegisteredImages. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ClearRegisteredImages(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompGetTypeSeparator(_swigobj) (_swigobj->AutoCompGetTypeSeparator()) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_AutoCompGetTypeSeparator",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompGetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_AutoCompGetTypeSeparator(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompSetTypeSeparator(_swigobj,_swigarg0) (_swigobj->AutoCompSetTypeSeparator(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","separatorCharacter", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_AutoCompSetTypeSeparator",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompSetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_AutoCompSetTypeSeparator(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetIndent(_swigobj,_swigarg0) (_swigobj->SetIndent(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -6229,6 +6420,78 @@ static PyObject *_wrap_wxStyledTextCtrl_CallTipSetBackground(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_CallTipSetForeground(_swigobj,_swigarg0) (_swigobj->CallTipSetForeground(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForeground",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForeground(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_CallTipSetForegroundHighlight(_swigobj,_swigarg0) (_swigobj->CallTipSetForegroundHighlight(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForegroundHighlight",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForegroundHighlight. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForegroundHighlight(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_VisibleFromDocLine(_swigobj,_swigarg0) (_swigobj->VisibleFromDocLine(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_VisibleFromDocLine(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -7209,26 +7472,29 @@ static PyObject *_wrap_wxStyledTextCtrl_TextHeight(PyObject *self, PyObject *arg return _resultobj; } -#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_SetUseVerticalScrollBar(_swigobj,_swigarg0) (_swigobj->SetUseVerticalScrollBar(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","show", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetUseVerticalScrollBar",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplay(_arg0); + wxStyledTextCtrl_SetUseVerticalScrollBar(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -7237,76 +7503,422 @@ static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *ar return _resultobj; } -#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetUseVerticalScrollBar(_swigobj) (_swigobj->GetUseVerticalScrollBar()) +static PyObject *_wrap_wxStyledTextCtrl_GetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetUseVerticalScrollBar",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplayExtend(_arg0); + _result = (bool )wxStyledTextCtrl_GetUseVerticalScrollBar(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_AppendText(_swigobj,_swigarg0,_swigarg1) (_swigobj->AppendText(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_AppendText(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + int _arg1; + wxString * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","length","text", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_AppendText",_kwnames,&_argo0,&_arg1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AppendText. Expected _wxStyledTextCtrl_p."); return NULL; } } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_LineEndDisplay(_arg0); + wxStyledTextCtrl_AppendText(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetTwoPhaseDraw(_swigobj) (_swigobj->GetTwoPhaseDraw()) +static PyObject *_wrap_wxStyledTextCtrl_GetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetTwoPhaseDraw",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_GetTwoPhaseDraw(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetTwoPhaseDraw(_swigobj,_swigarg0) (_swigobj->SetTwoPhaseDraw(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","twoPhase", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetTwoPhaseDraw",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetTwoPhaseDraw(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_TargetFromSelection(_swigobj) (_swigobj->TargetFromSelection()) +static PyObject *_wrap_wxStyledTextCtrl_TargetFromSelection(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_TargetFromSelection",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_TargetFromSelection. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_TargetFromSelection(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesJoin(_swigobj) (_swigobj->LinesJoin()) +static PyObject *_wrap_wxStyledTextCtrl_LinesJoin(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LinesJoin",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesJoin. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesJoin(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesSplit(_swigobj,_swigarg0) (_swigobj->LinesSplit(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LinesSplit(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","pixelWidth", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_LinesSplit",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesSplit. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesSplit(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginHiColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginHiColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginHiColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginHiColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginHiColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginHiColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineDuplicate(_swigobj) (_swigobj->LineDuplicate()) +static PyObject *_wrap_wxStyledTextCtrl_LineDuplicate(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineDuplicate",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineDuplicate. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineDuplicate(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplayExtend(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineEndDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); return NULL; } } @@ -8739,6 +9351,34 @@ static PyObject *_wrap_wxStyledTextCtrl_GetXOffset(PyObject *self, PyObject *arg return _resultobj; } +#define wxStyledTextCtrl_ChooseCaretX(_swigobj) (_swigobj->ChooseCaretX()) +static PyObject *_wrap_wxStyledTextCtrl_ChooseCaretX(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ChooseCaretX",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ChooseCaretX. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ChooseCaretX(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetXCaretPolicy(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetXCaretPolicy(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetXCaretPolicy(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -8799,6 +9439,172 @@ static PyObject *_wrap_wxStyledTextCtrl_SetYCaretPolicy(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_SetPrintWrapMode(_swigobj,_swigarg0) (_swigobj->SetPrintWrapMode(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","mode", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetPrintWrapMode",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetPrintWrapMode(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_GetPrintWrapMode(_swigobj) (_swigobj->GetPrintWrapMode()) +static PyObject *_wrap_wxStyledTextCtrl_GetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetPrintWrapMode",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_GetPrintWrapMode(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveForeground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveForeground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveForeground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveBackground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveBackground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveBackground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveBackground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveBackground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveBackground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveUnderline(_swigobj,_swigarg0) (_swigobj->SetHotspotActiveUnderline(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveUnderline(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","underline", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetHotspotActiveUnderline",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveUnderline. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveUnderline(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_StartRecord(_swigobj) (_swigobj->StartRecord()) static PyObject *_wrap_wxStyledTextCtrl_StartRecord(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -9586,6 +10392,84 @@ static PyObject *_wrap_wxStyledTextCtrl_SetLastKeydownProcessed(PyObject *self, return _resultobj; } +#define wxStyledTextCtrl_SaveFile(_swigobj,_swigarg0) (_swigobj->SaveFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SaveFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_SaveFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SaveFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_SaveFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxStyledTextCtrl_LoadFile(_swigobj,_swigarg0) (_swigobj->LoadFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_LoadFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LoadFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_LoadFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + static void *SwigwxStyledTextEventTowxCommandEvent(void *ptr) { wxStyledTextEvent *src; wxCommandEvent *dest; @@ -11012,6 +11896,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextEvent_SetPosition", (PyCFunction) _wrap_wxStyledTextEvent_SetPosition, METH_VARARGS | METH_KEYWORDS }, { "delete_wxStyledTextEvent", (PyCFunction) _wrap_delete_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, { "new_wxStyledTextEvent", (PyCFunction) _wrap_new_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LoadFile", (PyCFunction) _wrap_wxStyledTextCtrl_LoadFile, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SaveFile", (PyCFunction) _wrap_wxStyledTextCtrl_SaveFile, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_SetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_GetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetHScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetHScrollBar, METH_VARARGS | METH_KEYWORDS }, @@ -11035,8 +11921,14 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetLexer", (PyCFunction) _wrap_wxStyledTextCtrl_SetLexer, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StopRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StopRecord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StartRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StartRecord, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveUnderline, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveBackground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_GetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_SetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetYCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetYCaretPolicy, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetXCaretPolicy, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ChooseCaretX", (PyCFunction) _wrap_wxStyledTextCtrl_ChooseCaretX, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_GetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_SetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DelLineRight", (PyCFunction) _wrap_wxStyledTextCtrl_DelLineRight, METH_VARARGS | METH_KEYWORDS }, @@ -11088,6 +11980,17 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_LineEndDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_LineEndDisplay, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplayExtend", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplayExtend, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplay, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LineDuplicate", (PyCFunction) _wrap_wxStyledTextCtrl_LineDuplicate, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginHiColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginHiColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesSplit", (PyCFunction) _wrap_wxStyledTextCtrl_LinesSplit, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesJoin", (PyCFunction) _wrap_wxStyledTextCtrl_LinesJoin, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_TargetFromSelection", (PyCFunction) _wrap_wxStyledTextCtrl_TargetFromSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_SetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_GetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AppendText", (PyCFunction) _wrap_wxStyledTextCtrl_AppendText, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_GetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_TextHeight", (PyCFunction) _wrap_wxStyledTextCtrl_TextHeight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_GetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_SetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, @@ -11121,6 +12024,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetFoldLevel", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldLevel, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DocLineFromVisible", (PyCFunction) _wrap_wxStyledTextCtrl_DocLineFromVisible, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_VisibleFromDocLine", (PyCFunction) _wrap_wxStyledTextCtrl_VisibleFromDocLine, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForegroundHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForeground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetBackground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetHighlight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipPosAtStart", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipPosAtStart, METH_VARARGS | METH_KEYWORDS }, @@ -11198,6 +12103,10 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetUseTabs", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseTabs, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompSetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompGetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ClearRegisteredImages", (PyCFunction) _wrap_wxStyledTextCtrl_ClearRegisteredImages, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_RegisterImage", (PyCFunction) _wrap_wxStyledTextCtrl_RegisterImage, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompSetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetAutoHide", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetAutoHide, METH_VARARGS | METH_KEYWORDS }, @@ -11248,6 +12157,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetCaretForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetCaretForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_StyleSetHotSpot", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetHotSpot, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCharacterSet", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCharacterSet, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCase", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCase, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetUnderline, METH_VARARGS | METH_KEYWORDS }, @@ -11268,6 +12178,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetMarginWidth", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginWidth, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_GetMarginType, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginType, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_MarkerDefineBitmap", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerDefineBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerPrevious", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerPrevious, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerNext", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerNext, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerGet", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerGet, METH_VARARGS | METH_KEYWORDS }, @@ -11455,6 +12366,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EOL_CR", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EOL_LF", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CP_UTF8", PyInt_FromLong((long) 65001)); + PyDict_SetItemString(d,"wxSTC_CP_DBCS", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_MARKER_MAX", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_MARK_CIRCLE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_MARK_ROUNDRECT", PyInt_FromLong((long) 1)); @@ -11481,6 +12393,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_MARK_BACKGROUND", PyInt_FromLong((long) 22)); PyDict_SetItemString(d,"wxSTC_MARK_DOTDOTDOT", PyInt_FromLong((long) 23)); PyDict_SetItemString(d,"wxSTC_MARK_ARROWS", PyInt_FromLong((long) 24)); + PyDict_SetItemString(d,"wxSTC_MARK_PIXMAP", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARK_CHARACTER", PyInt_FromLong((long) 10000)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEREND", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEROPENMID", PyInt_FromLong((long) 26)); @@ -11541,10 +12454,21 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_FIND_MATCHCASE", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_FIND_WORDSTART", PyInt_FromLong((long) 0x00100000)); PyDict_SetItemString(d,"wxSTC_FIND_REGEXP", PyInt_FromLong((long) 0x00200000)); + PyDict_SetItemString(d,"wxSTC_FIND_POSIX", PyInt_FromLong((long) 0x00400000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELBASE", PyInt_FromLong((long) 0x400)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELWHITEFLAG", PyInt_FromLong((long) 0x1000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELHEADERFLAG", PyInt_FromLong((long) 0x2000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXHEADERFLAG", PyInt_FromLong((long) 0x4000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXFOOTERFLAG", PyInt_FromLong((long) 0x8000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELCONTRACTED", PyInt_FromLong((long) 0x10000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELUNINDENT", PyInt_FromLong((long) 0x20000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELNUMBERMASK", PyInt_FromLong((long) 0x0FFF)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED", PyInt_FromLong((long) 0x0002)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED", PyInt_FromLong((long) 0x0004)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_EXPANDED", PyInt_FromLong((long) 0x0008)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED", PyInt_FromLong((long) 0x0010)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LEVELNUMBERS", PyInt_FromLong((long) 0x0040)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_BOX", PyInt_FromLong((long) 0x0001)); PyDict_SetItemString(d,"wxSTC_TIME_FOREVER", PyInt_FromLong((long) 10000000)); PyDict_SetItemString(d,"wxSTC_WRAP_NONE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_WRAP_WORD", PyInt_FromLong((long) 1)); @@ -11556,7 +12480,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EDGE_LINE", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EDGE_BACKGROUND", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CURSORNORMAL", PyInt_FromLong((long) -1)); - PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_VISIBLE_SLOP", PyInt_FromLong((long) 0x01)); PyDict_SetItemString(d,"wxSTC_VISIBLE_STRICT", PyInt_FromLong((long) 0x04)); PyDict_SetItemString(d,"wxSTC_CARET_SLOP", PyInt_FromLong((long) 0x01)); @@ -11629,6 +12553,12 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_LEX_BAAN", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_LEX_MATLAB", PyInt_FromLong((long) 32)); PyDict_SetItemString(d,"wxSTC_LEX_SCRIPTOL", PyInt_FromLong((long) 33)); + PyDict_SetItemString(d,"wxSTC_LEX_ASM", PyInt_FromLong((long) 34)); + PyDict_SetItemString(d,"wxSTC_LEX_CPPNOCASE", PyInt_FromLong((long) 35)); + PyDict_SetItemString(d,"wxSTC_LEX_FORTRAN", PyInt_FromLong((long) 36)); + PyDict_SetItemString(d,"wxSTC_LEX_F77", PyInt_FromLong((long) 37)); + PyDict_SetItemString(d,"wxSTC_LEX_CSS", PyInt_FromLong((long) 38)); + PyDict_SetItemString(d,"wxSTC_LEX_POV", PyInt_FromLong((long) 39)); PyDict_SetItemString(d,"wxSTC_LEX_AUTOMATIC", PyInt_FromLong((long) 1000)); PyDict_SetItemString(d,"wxSTC_P_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_P_COMMENTLINE", PyInt_FromLong((long) 1)); @@ -11854,6 +12784,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_ERR_DIFF_ADDITION", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_DELETION", PyInt_FromLong((long) 12)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_MESSAGE", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_ERR_PHP", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_ERR_ELF", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_ERR_IFC", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_BAT_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAT_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAT_WORD", PyInt_FromLong((long) 2)); @@ -11890,22 +12823,29 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_AVE_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_AVE_NUMBER", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_AVE_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_AVE_KEYWORD", PyInt_FromLong((long) 4)); - PyDict_SetItemString(d,"wxSTC_AVE_STATEMENT", PyInt_FromLong((long) 5)); PyDict_SetItemString(d,"wxSTC_AVE_STRING", PyInt_FromLong((long) 6)); PyDict_SetItemString(d,"wxSTC_AVE_ENUM", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_AVE_STRINGEOL", PyInt_FromLong((long) 8)); PyDict_SetItemString(d,"wxSTC_AVE_IDENTIFIER", PyInt_FromLong((long) 9)); PyDict_SetItemString(d,"wxSTC_AVE_OPERATOR", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD1", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD3", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD4", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD5", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD6", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_ADA_DEFAULT", PyInt_FromLong((long) 0)); - PyDict_SetItemString(d,"wxSTC_ADA_COMMENT", PyInt_FromLong((long) 1)); - PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 2)); - PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ADA_DELIMITER", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_ADA_CHARACTER", PyInt_FromLong((long) 5)); - PyDict_SetItemString(d,"wxSTC_ADA_OPERATOR", PyInt_FromLong((long) 6)); - PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ADA_CHARACTEREOL", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_ADA_STRINGEOL", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ADA_LABEL", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ADA_COMMENTLINE", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_ADA_ILLEGAL", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_BAAN_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENTDOC", PyInt_FromLong((long) 2)); @@ -11973,6 +12913,58 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORD", PyInt_FromLong((long) 17)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR", PyInt_FromLong((long) 18)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTBASIC", PyInt_FromLong((long) 19)); + PyDict_SetItemString(d,"wxSTC_ASM_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_ASM_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ASM_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ASM_STRING", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ASM_OPERATOR", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ASM_IDENTIFIER", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_ASM_CPUINSTRUCTION", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ASM_MATHINSTRUCTION", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ASM_REGISTER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVEOPERAND", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_F_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_F_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_F_STRING1", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_F_STRING2", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_F_STRINGEOL", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_F_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_F_WORD", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_F_WORD2", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_F_WORD3", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_PREPROCESSOR", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_F_LABEL", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_F_CONTINUATION", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_CSS_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_CSS_TAG", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_CSS_CLASS", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_CSS_PSEUDOCLASS", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_PSEUDOCLASS", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_CSS_OPERATOR", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_CSS_IDENTIFIER", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_CSS_VALUE", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_CSS_COMMENT", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_CSS_ID", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_CSS_IMPORTANT", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_CSS_DIRECTIVE", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_CSS_DOUBLESTRING", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_CSS_SINGLESTRING", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_POV_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTLINE", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTDOC", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_POV_NUMBER", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_POV_WORD", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_POV_STRING", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_POV_OPERATOR", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_POV_IDENTIFIER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_POV_BRACE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_POV_WORD2", PyInt_FromLong((long) 10)); PyDict_SetItemString(d,"wxSTC_CMD_REDO", PyInt_FromLong((long) 2011)); PyDict_SetItemString(d,"wxSTC_CMD_SELECTALL", PyInt_FromLong((long) 2013)); PyDict_SetItemString(d,"wxSTC_CMD_UNDO", PyInt_FromLong((long) 2176)); @@ -12020,6 +13012,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_LINECUT", PyInt_FromLong((long) 2337)); PyDict_SetItemString(d,"wxSTC_CMD_LINEDELETE", PyInt_FromLong((long) 2338)); PyDict_SetItemString(d,"wxSTC_CMD_LINETRANSPOSE", PyInt_FromLong((long) 2339)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEDUPLICATE", PyInt_FromLong((long) 2404)); PyDict_SetItemString(d,"wxSTC_CMD_LOWERCASE", PyInt_FromLong((long) 2340)); PyDict_SetItemString(d,"wxSTC_CMD_UPPERCASE", PyInt_FromLong((long) 2341)); PyDict_SetItemString(d,"wxSTC_CMD_LINESCROLLDOWN", PyInt_FromLong((long) 2342)); @@ -12029,12 +13022,22 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_HOMEDISPLAYEXTEND", PyInt_FromLong((long) 2346)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAY", PyInt_FromLong((long) 2347)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAYEXTEND", PyInt_FromLong((long) 2348)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAP", PyInt_FromLong((long) 2349)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAPEXTEND", PyInt_FromLong((long) 2450)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAP", PyInt_FromLong((long) 2451)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAPEXTEND", PyInt_FromLong((long) 2452)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAP", PyInt_FromLong((long) 2453)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAPEXTEND", PyInt_FromLong((long) 2454)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFT", PyInt_FromLong((long) 2390)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFTEXTEND", PyInt_FromLong((long) 2391)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHT", PyInt_FromLong((long) 2392)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHTEXTEND", PyInt_FromLong((long) 2393)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINELEFT", PyInt_FromLong((long) 2395)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINERIGHT", PyInt_FromLong((long) 2396)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWN", PyInt_FromLong((long) 2413)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWNEXTEND", PyInt_FromLong((long) 2414)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUP", PyInt_FromLong((long) 2415)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUPEXTEND", PyInt_FromLong((long) 2416)); PyDict_SetItemString(d,"STC_USE_DND", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxEVT_STC_CHANGE", PyInt_FromLong((long) wxEVT_STC_CHANGE)); PyDict_SetItemString(d,"wxEVT_STC_STYLENEEDED", PyInt_FromLong((long) wxEVT_STC_STYLENEEDED)); @@ -12059,6 +13062,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxEVT_STC_DRAG_OVER", PyInt_FromLong((long) wxEVT_STC_DRAG_OVER)); PyDict_SetItemString(d,"wxEVT_STC_DO_DROP", PyInt_FromLong((long) wxEVT_STC_DO_DROP)); PyDict_SetItemString(d,"wxEVT_STC_ZOOM", PyInt_FromLong((long) wxEVT_STC_ZOOM)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_CLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_CLICK)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_DCLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_DCLICK)); + PyDict_SetItemString(d,"wxEVT_STC_CALLTIP_CLICK", PyInt_FromLong((long) wxEVT_STC_CALLTIP_CLICK)); wxClassInfo::CleanUpClasses(); diff --git a/wxPython/contrib/stc/gtk/stc_.py b/wxPython/contrib/stc/gtk/stc_.py index a3a4fef4a9..93e7f892ef 100644 --- a/wxPython/contrib/stc/gtk/stc_.py +++ b/wxPython/contrib/stc/gtk/stc_.py @@ -112,930 +112,1019 @@ def EVT_STC_DO_DROP(win, id, func): def EVT_STC_ZOOM(win, id, func): win.Connect(id, -1, wxEVT_STC_ZOOM, func) +def EVT_STC_HOTSPOT_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_CLICK, func) + +def EVT_STC_HOTSPOT_DCLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_DCLICK, func) + +def EVT_STC_CALLTIP_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_CALLTIP_CLICK, func) class wxStyledTextCtrlPtr(wxControlPtr): def __init__(self,this): self.this = this self.thisown = 0 def AddText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddText(self, *_args, **_kwargs) return val def AddStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddStyledText(self, *_args, **_kwargs) return val def InsertText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_InsertText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_InsertText(self, *_args, **_kwargs) return val def ClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearAll(self, *_args, **_kwargs) return val def ClearDocumentStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearDocumentStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearDocumentStyle(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLength(self, *_args, **_kwargs) return val def GetCharAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCharAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCharAt(self, *_args, **_kwargs) return val def GetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentPos(self, *_args, **_kwargs) return val def GetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetAnchor(self, *_args, **_kwargs) return val def GetStyleAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleAt(self, *_args, **_kwargs) return val def Redo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Redo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Redo(self, *_args, **_kwargs) return val def SetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUndoCollection(self, *_args, **_kwargs) return val def SelectAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectAll(self, *_args, **_kwargs) return val def SetSavePoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSavePoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSavePoint(self, *_args, **_kwargs) return val def GetStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyledText(self, *_args, **_kwargs) return val def CanRedo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanRedo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanRedo(self, *_args, **_kwargs) return val def MarkerLineFromHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerLineFromHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerLineFromHandle(self, *_args, **_kwargs) return val def MarkerDeleteHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteHandle(self, *_args, **_kwargs) return val def GetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUndoCollection(self, *_args, **_kwargs) return val def GetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewWhiteSpace(self, *_args, **_kwargs) return val def SetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewWhiteSpace(self, *_args, **_kwargs) return val def PositionFromPoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPoint(self, *_args, **_kwargs) return val def PositionFromPointClose(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPointClose,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPointClose(self, *_args, **_kwargs) return val def GotoLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoLine(self, *_args, **_kwargs) return val def GotoPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoPos(self, *_args, **_kwargs) return val def SetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetAnchor(self, *_args, **_kwargs) return val def GetCurLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurLine(self, *_args, **_kwargs) return val def GetEndStyled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndStyled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndStyled(self, *_args, **_kwargs) return val def ConvertEOLs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ConvertEOLs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ConvertEOLs(self, *_args, **_kwargs) return val def GetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEOLMode(self, *_args, **_kwargs) return val def SetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEOLMode(self, *_args, **_kwargs) return val def StartStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartStyling(self, *_args, **_kwargs) return val def SetStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyling(self, *_args, **_kwargs) return val def GetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBufferedDraw(self, *_args, **_kwargs) return val def SetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBufferedDraw(self, *_args, **_kwargs) return val def SetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabWidth(self, *_args, **_kwargs) return val def GetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabWidth(self, *_args, **_kwargs) return val def SetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCodePage(self, *_args, **_kwargs) return val def MarkerDefine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDefine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDefine(self, *_args, **_kwargs) return val def MarkerSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetForeground(self, *_args, **_kwargs) return val def MarkerSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetBackground(self, *_args, **_kwargs) return val def MarkerAdd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerAdd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerAdd(self, *_args, **_kwargs) return val def MarkerDelete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDelete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDelete(self, *_args, **_kwargs) return val def MarkerDeleteAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteAll(self, *_args, **_kwargs) return val def MarkerGet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerGet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerGet(self, *_args, **_kwargs) return val def MarkerNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerNext(self, *_args, **_kwargs) return val def MarkerPrevious(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerPrevious,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerPrevious(self, *_args, **_kwargs) + return val + def MarkerDefineBitmap(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_MarkerDefineBitmap(self, *_args, **_kwargs) return val def SetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginType(self, *_args, **_kwargs) return val def GetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginType(self, *_args, **_kwargs) return val def SetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginWidth(self, *_args, **_kwargs) return val def GetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginWidth(self, *_args, **_kwargs) return val def SetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginMask(self, *_args, **_kwargs) return val def GetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginMask(self, *_args, **_kwargs) return val def SetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginSensitive(self, *_args, **_kwargs) return val def GetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginSensitive(self, *_args, **_kwargs) return val def StyleClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleClearAll(self, *_args, **_kwargs) return val def StyleSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetForeground(self, *_args, **_kwargs) return val def StyleSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBackground(self, *_args, **_kwargs) return val def StyleSetBold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBold(self, *_args, **_kwargs) return val def StyleSetItalic(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetItalic,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetItalic(self, *_args, **_kwargs) return val def StyleSetSize(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSize,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSize(self, *_args, **_kwargs) return val def StyleSetFaceName(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFaceName,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFaceName(self, *_args, **_kwargs) return val def StyleSetEOLFilled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetEOLFilled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetEOLFilled(self, *_args, **_kwargs) return val def StyleResetDefault(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleResetDefault,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleResetDefault(self, *_args, **_kwargs) return val def StyleSetUnderline(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetUnderline,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetUnderline(self, *_args, **_kwargs) return val def StyleSetCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCase(self, *_args, **_kwargs) return val def StyleSetCharacterSet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCharacterSet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCharacterSet(self, *_args, **_kwargs) + return val + def StyleSetHotSpot(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_StyleSetHotSpot(self, *_args, **_kwargs) return val def SetSelForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelForeground(self, *_args, **_kwargs) return val def SetSelBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelBackground(self, *_args, **_kwargs) return val def SetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretForeground(self, *_args, **_kwargs) return val def CmdKeyAssign(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyAssign,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyAssign(self, *_args, **_kwargs) return val def CmdKeyClear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClear(self, *_args, **_kwargs) return val def CmdKeyClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClearAll(self, *_args, **_kwargs) return val def SetStyleBytes(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBytes,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBytes(self, *_args, **_kwargs) return val def StyleSetVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetVisible(self, *_args, **_kwargs) return val def GetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretPeriod(self, *_args, **_kwargs) return val def SetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretPeriod(self, *_args, **_kwargs) return val def SetWordChars(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWordChars,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWordChars(self, *_args, **_kwargs) return val def BeginUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BeginUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BeginUndoAction(self, *_args, **_kwargs) return val def EndUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EndUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EndUndoAction(self, *_args, **_kwargs) return val def IndicatorSetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetStyle(self, *_args, **_kwargs) return val def IndicatorGetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetStyle(self, *_args, **_kwargs) return val def IndicatorSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetForeground(self, *_args, **_kwargs) return val def IndicatorGetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetWhitespaceForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceForeground(self, *_args, **_kwargs) return val def SetWhitespaceBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceBackground(self, *_args, **_kwargs) return val def SetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBits(self, *_args, **_kwargs) return val def GetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleBits(self, *_args, **_kwargs) return val def SetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineState(self, *_args, **_kwargs) return val def GetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineState(self, *_args, **_kwargs) return val def GetMaxLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMaxLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMaxLineState(self, *_args, **_kwargs) return val def GetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineVisible(self, *_args, **_kwargs) return val def SetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineVisible(self, *_args, **_kwargs) return val def GetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineBack(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineBack(self, *_args, **_kwargs) return val def StyleSetChangeable(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetChangeable,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetChangeable(self, *_args, **_kwargs) return val def AutoCompShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompShow(self, *_args, **_kwargs) return val def AutoCompCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompCancel(self, *_args, **_kwargs) return val def AutoCompActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompActive(self, *_args, **_kwargs) return val def AutoCompPosStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompPosStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompPosStart(self, *_args, **_kwargs) return val def AutoCompComplete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompComplete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompComplete(self, *_args, **_kwargs) return val def AutoCompStops(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompStops,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompStops(self, *_args, **_kwargs) return val def AutoCompSetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetSeparator(self, *_args, **_kwargs) return val def AutoCompGetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetSeparator(self, *_args, **_kwargs) return val def AutoCompSelect(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSelect,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSelect(self, *_args, **_kwargs) return val def AutoCompSetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompGetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompSetFillUps(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetFillUps,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetFillUps(self, *_args, **_kwargs) return val def AutoCompSetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle(self, *_args, **_kwargs) return val def AutoCompGetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle(self, *_args, **_kwargs) return val def AutoCompSetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase(self, *_args, **_kwargs) return val def AutoCompGetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase(self, *_args, **_kwargs) return val def UserListShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UserListShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UserListShow(self, *_args, **_kwargs) return val def AutoCompSetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetAutoHide(self, *_args, **_kwargs) return val def AutoCompGetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetAutoHide(self, *_args, **_kwargs) return val def AutoCompSetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord(self, *_args, **_kwargs) return val def AutoCompGetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord(self, *_args, **_kwargs) + return val + def RegisterImage(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_RegisterImage(self, *_args, **_kwargs) + return val + def ClearRegisteredImages(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ClearRegisteredImages(self, *_args, **_kwargs) + return val + def AutoCompGetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompGetTypeSeparator(self, *_args, **_kwargs) + return val + def AutoCompSetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompSetTypeSeparator(self, *_args, **_kwargs) return val def SetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndent(self, *_args, **_kwargs) return val def GetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndent(self, *_args, **_kwargs) return val def SetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseTabs(self, *_args, **_kwargs) return val def GetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseTabs(self, *_args, **_kwargs) return val def SetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentPosition(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetColumn(self, *_args, **_kwargs) return val def SetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def GetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def SetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndentationGuides(self, *_args, **_kwargs) return val def GetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndentationGuides(self, *_args, **_kwargs) return val def SetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHighlightGuide(self, *_args, **_kwargs) return val def GetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetHighlightGuide(self, *_args, **_kwargs) return val def GetLineEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineEndPosition(self, *_args, **_kwargs) return val def GetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCodePage(self, *_args, **_kwargs) return val def GetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetReadOnly(self, *_args, **_kwargs) return val def SetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCurrentPos(self, *_args, **_kwargs) return val def SetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionStart(self, *_args, **_kwargs) return val def GetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionStart(self, *_args, **_kwargs) return val def SetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionEnd(self, *_args, **_kwargs) return val def GetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionEnd(self, *_args, **_kwargs) return val def SetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintMagnification(self, *_args, **_kwargs) return val def GetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintMagnification(self, *_args, **_kwargs) return val def SetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintColourMode(self, *_args, **_kwargs) return val def GetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintColourMode(self, *_args, **_kwargs) return val def FindText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FindText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FindText(self, *_args, **_kwargs) return val def FormatRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FormatRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FormatRange(self, *_args, **_kwargs) return val def GetFirstVisibleLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFirstVisibleLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFirstVisibleLine(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLine(self, *_args, **_kwargs) return val def GetLineCount(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineCount,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineCount(self, *_args, **_kwargs) return val def SetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginLeft(self, *_args, **_kwargs) return val def GetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginLeft(self, *_args, **_kwargs) return val def SetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginRight(self, *_args, **_kwargs) return val def GetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginRight(self, *_args, **_kwargs) return val def GetModify(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModify,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModify(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelection(self, *_args, **_kwargs) return val def GetSelectedText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectedText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectedText(self, *_args, **_kwargs) return val def GetTextRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextRange(self, *_args, **_kwargs) return val def HideSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideSelection(self, *_args, **_kwargs) return val def LineFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineFromPosition(self, *_args, **_kwargs) return val def PositionFromLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromLine(self, *_args, **_kwargs) return val def LineScroll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineScroll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineScroll(self, *_args, **_kwargs) return val def EnsureCaretVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureCaretVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureCaretVisible(self, *_args, **_kwargs) return val def ReplaceSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceSelection(self, *_args, **_kwargs) return val def SetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetReadOnly(self, *_args, **_kwargs) return val def CanPaste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanPaste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanPaste(self, *_args, **_kwargs) return val def CanUndo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanUndo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanUndo(self, *_args, **_kwargs) return val def EmptyUndoBuffer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EmptyUndoBuffer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EmptyUndoBuffer(self, *_args, **_kwargs) return val def Undo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Undo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Undo(self, *_args, **_kwargs) return val def Cut(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Cut,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Cut(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Copy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Copy(self, *_args, **_kwargs) return val def Paste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Paste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Paste(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Clear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Clear(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetText(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetText(self, *_args, **_kwargs) return val def GetTextLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextLength(self, *_args, **_kwargs) return val def SetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetOvertype(self, *_args, **_kwargs) return val def GetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetOvertype(self, *_args, **_kwargs) return val def SetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretWidth(self, *_args, **_kwargs) return val def GetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretWidth(self, *_args, **_kwargs) return val def SetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetStart(self, *_args, **_kwargs) return val def GetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetStart(self, *_args, **_kwargs) return val def SetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetEnd(self, *_args, **_kwargs) return val def GetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetEnd(self, *_args, **_kwargs) return val def ReplaceTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTarget(self, *_args, **_kwargs) return val def ReplaceTargetRE(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTargetRE,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTargetRE(self, *_args, **_kwargs) return val def SearchInTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchInTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchInTarget(self, *_args, **_kwargs) return val def SetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSearchFlags(self, *_args, **_kwargs) return val def GetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSearchFlags(self, *_args, **_kwargs) return val def CallTipShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipShow(self, *_args, **_kwargs) return val def CallTipCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipCancel(self, *_args, **_kwargs) return val def CallTipActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipActive(self, *_args, **_kwargs) return val def CallTipPosAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipPosAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipPosAtStart(self, *_args, **_kwargs) return val def CallTipSetHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetHighlight(self, *_args, **_kwargs) return val def CallTipSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetBackground(self, *_args, **_kwargs) + return val + def CallTipSetForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForeground(self, *_args, **_kwargs) + return val + def CallTipSetForegroundHighlight(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForegroundHighlight(self, *_args, **_kwargs) return val def VisibleFromDocLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_VisibleFromDocLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_VisibleFromDocLine(self, *_args, **_kwargs) return val def DocLineFromVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DocLineFromVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DocLineFromVisible(self, *_args, **_kwargs) return val def SetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldLevel(self, *_args, **_kwargs) return val def GetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldLevel(self, *_args, **_kwargs) return val def GetLastChild(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastChild,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastChild(self, *_args, **_kwargs) return val def GetFoldParent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldParent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldParent(self, *_args, **_kwargs) return val def ShowLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ShowLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ShowLines(self, *_args, **_kwargs) return val def HideLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideLines(self, *_args, **_kwargs) return val def GetLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineVisible(self, *_args, **_kwargs) return val def SetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldExpanded(self, *_args, **_kwargs) return val def GetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldExpanded(self, *_args, **_kwargs) return val def ToggleFold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ToggleFold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ToggleFold(self, *_args, **_kwargs) return val def EnsureVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisible(self, *_args, **_kwargs) return val def SetFoldFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldFlags(self, *_args, **_kwargs) return val def EnsureVisibleEnforcePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy(self, *_args, **_kwargs) return val def SetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabIndents(self, *_args, **_kwargs) return val def GetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabIndents(self, *_args, **_kwargs) return val def SetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents(self, *_args, **_kwargs) return val def GetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents(self, *_args, **_kwargs) return val def SetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDwellTime(self, *_args, **_kwargs) return val def GetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDwellTime(self, *_args, **_kwargs) return val def WordStartPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordStartPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordStartPosition(self, *_args, **_kwargs) return val def WordEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordEndPosition(self, *_args, **_kwargs) return val def SetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWrapMode(self, *_args, **_kwargs) return val def GetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetWrapMode(self, *_args, **_kwargs) return val def SetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLayoutCache(self, *_args, **_kwargs) return val def GetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLayoutCache(self, *_args, **_kwargs) return val def SetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetScrollWidth(self, *_args, **_kwargs) return val def GetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetScrollWidth(self, *_args, **_kwargs) return val def TextWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextWidth(self, *_args, **_kwargs) return val def SetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEndAtLastLine(self, *_args, **_kwargs) return val def GetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndAtLastLine(self, *_args, **_kwargs) return val def TextHeight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextHeight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextHeight(self, *_args, **_kwargs) + return val + def SetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def GetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def AppendText(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AppendText(self, *_args, **_kwargs) + return val + def GetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def SetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def TargetFromSelection(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_TargetFromSelection(self, *_args, **_kwargs) + return val + def LinesJoin(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesJoin(self, *_args, **_kwargs) + return val + def LinesSplit(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesSplit(self, *_args, **_kwargs) + return val + def SetFoldMarginColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginColour(self, *_args, **_kwargs) + return val + def SetFoldMarginHiColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginHiColour(self, *_args, **_kwargs) + return val + def LineDuplicate(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LineDuplicate(self, *_args, **_kwargs) return val def HomeDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplay(self, *_args, **_kwargs) return val def HomeDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplayExtend(self, *_args, **_kwargs) return val def LineEndDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplay(self, *_args, **_kwargs) return val def LineEndDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplayExtend(self, *_args, **_kwargs) return val def MoveCaretInsideView(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MoveCaretInsideView,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MoveCaretInsideView(self, *_args, **_kwargs) return val def LineLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineLength(self, *_args, **_kwargs) return val def BraceHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceHighlight(self, *_args, **_kwargs) return val def BraceBadLight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceBadLight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceBadLight(self, *_args, **_kwargs) return val def BraceMatch(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceMatch,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceMatch(self, *_args, **_kwargs) return val def GetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewEOL(self, *_args, **_kwargs) return val def SetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewEOL(self, *_args, **_kwargs) return val def GetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetDocPointer(self, *_args, **_kwargs) return val def SetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetDocPointer(self, *_args, **_kwargs) return val def SetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetModEventMask(self, *_args, **_kwargs) return val def GetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColumn(self, *_args, **_kwargs) return val def SetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColumn(self, *_args, **_kwargs) return val def GetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeMode(self, *_args, **_kwargs) return val def SetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeMode(self, *_args, **_kwargs) return val def GetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColour(self, *_args, **_kwargs) return val def SearchAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchAnchor(self, *_args, **_kwargs) return val def SearchNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchNext(self, *_args, **_kwargs) return val def SearchPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchPrev(self, *_args, **_kwargs) return val def LinesOnScreen(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LinesOnScreen,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LinesOnScreen(self, *_args, **_kwargs) return val def UsePopUp(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UsePopUp,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UsePopUp(self, *_args, **_kwargs) return val def SelectionIsRectangle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectionIsRectangle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectionIsRectangle(self, *_args, **_kwargs) return val def SetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetZoom(self, *_args, **_kwargs) return val def GetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetZoom(self, *_args, **_kwargs) return val def CreateDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CreateDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CreateDocument(self, *_args, **_kwargs) return val def AddRefDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddRefDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddRefDocument(self, *_args, **_kwargs) return val def ReleaseDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReleaseDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReleaseDocument(self, *_args, **_kwargs) return val def GetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModEventMask(self, *_args, **_kwargs) return val def SetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSTCFocus(self, *_args, **_kwargs) return val def GetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSTCFocus(self, *_args, **_kwargs) return val def SetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStatus(self, *_args, **_kwargs) return val def GetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStatus(self, *_args, **_kwargs) return val def SetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDownCaptures(self, *_args, **_kwargs) return val def GetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDownCaptures(self, *_args, **_kwargs) return val def SetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCursor(self, *_args, **_kwargs) return val def GetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCursor(self, *_args, **_kwargs) return val def SetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetControlCharSymbol(self, *_args, **_kwargs) return val def GetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetControlCharSymbol(self, *_args, **_kwargs) return val def WordPartLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeft(self, *_args, **_kwargs) return val def WordPartLeftExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeftExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeftExtend(self, *_args, **_kwargs) return val def WordPartRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRight(self, *_args, **_kwargs) return val def WordPartRightExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRightExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRightExtend(self, *_args, **_kwargs) return val def SetVisiblePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVisiblePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVisiblePolicy(self, *_args, **_kwargs) return val def DelLineLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineLeft(self, *_args, **_kwargs) return val def DelLineRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineRight(self, *_args, **_kwargs) return val def SetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXOffset(self, *_args, **_kwargs) return val def GetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetXOffset(self, *_args, **_kwargs) + return val + def ChooseCaretX(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ChooseCaretX(self, *_args, **_kwargs) return val def SetXCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXCaretPolicy(self, *_args, **_kwargs) return val def SetYCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetYCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetYCaretPolicy(self, *_args, **_kwargs) + return val + def SetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetPrintWrapMode(self, *_args, **_kwargs) + return val + def GetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetPrintWrapMode(self, *_args, **_kwargs) + return val + def SetHotspotActiveForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveForeground(self, *_args, **_kwargs) + return val + def SetHotspotActiveBackground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveBackground(self, *_args, **_kwargs) + return val + def SetHotspotActiveUnderline(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveUnderline(self, *_args, **_kwargs) return val def StartRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartRecord(self, *_args, **_kwargs) return val def StopRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StopRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StopRecord(self, *_args, **_kwargs) return val def SetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexer(self, *_args, **_kwargs) return val def GetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLexer(self, *_args, **_kwargs) return val def Colourise(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Colourise,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Colourise(self, *_args, **_kwargs) return val def SetProperty(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetProperty,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetProperty(self, *_args, **_kwargs) return val def SetKeyWords(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetKeyWords,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetKeyWords(self, *_args, **_kwargs) return val def SetLexerLanguage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexerLanguage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexerLanguage(self, *_args, **_kwargs) return val def GetCurrentLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentLine(self, *_args, **_kwargs) return val def StyleSetSpec(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSpec,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSpec(self, *_args, **_kwargs) return val def StyleSetFont(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFont,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFont(self, *_args, **_kwargs) return val def StyleSetFontAttr(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFontAttr,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFontAttr(self, *_args, **_kwargs) return val def CmdKeyExecute(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyExecute,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyExecute(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMargins,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMargins(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelection(self, *_args, **_kwargs) return val def PointFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PointFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PointFromPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ScrollToLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToLine(self, *_args, **_kwargs) return val def ScrollToColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToColumn(self, *_args, **_kwargs) return val def SendMsg(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SendMsg,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SendMsg(self, *_args, **_kwargs) return val def SetVScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVScrollBar(self, *_args, **_kwargs) return val def SetHScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHScrollBar(self, *_args, **_kwargs) return val def GetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastKeydownProcessed(self, *_args, **_kwargs) return val def SetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLastKeydownProcessed(self, *_args, **_kwargs) + return val + def SaveFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SaveFile(self, *_args, **_kwargs) + return val + def LoadFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LoadFile(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextCtrl(wxStyledTextCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextCtrl,_args,_kwargs) + self.this = stc_c.new_wxStyledTextCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -1053,143 +1142,143 @@ class wxStyledTextEventPtr(wxCommandEventPtr): except: pass def SetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetPosition(self, *_args, **_kwargs) return val def SetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetKey(self, *_args, **_kwargs) return val def SetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModifiers(self, *_args, **_kwargs) return val def SetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModificationType(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetText(self, *_args, **_kwargs) return val def SetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLength(self, *_args, **_kwargs) return val def SetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLinesAdded(self, *_args, **_kwargs) return val def SetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLine(self, *_args, **_kwargs) return val def SetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelNow(self, *_args, **_kwargs) return val def SetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelPrev(self, *_args, **_kwargs) return val def SetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMargin(self, *_args, **_kwargs) return val def SetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMessage(self, *_args, **_kwargs) return val def SetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetWParam(self, *_args, **_kwargs) return val def SetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLParam(self, *_args, **_kwargs) return val def SetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetListType(self, *_args, **_kwargs) return val def SetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetX(self, *_args, **_kwargs) return val def SetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetY(self, *_args, **_kwargs) return val def SetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragText(self, *_args, **_kwargs) return val def SetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragAllowMove(self, *_args, **_kwargs) return val def SetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragResult(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetPosition(self, *_args, **_kwargs) return val def GetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetKey(self, *_args, **_kwargs) return val def GetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModifiers(self, *_args, **_kwargs) return val def GetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModificationType(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetText(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLength(self, *_args, **_kwargs) return val def GetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLinesAdded(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLine(self, *_args, **_kwargs) return val def GetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelNow(self, *_args, **_kwargs) return val def GetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelPrev(self, *_args, **_kwargs) return val def GetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMargin(self, *_args, **_kwargs) return val def GetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMessage(self, *_args, **_kwargs) return val def GetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetWParam(self, *_args, **_kwargs) return val def GetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLParam(self, *_args, **_kwargs) return val def GetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetListType(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetY(self, *_args, **_kwargs) return val def GetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragText(self, *_args, **_kwargs) return val def GetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragAllowMove(self, *_args, **_kwargs) return val def GetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragResult(self, *_args, **_kwargs) return val def GetShift(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetShift,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetShift(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetControl,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetControl(self, *_args, **_kwargs) return val def GetAlt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetAlt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetAlt(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_Clone,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_Clone(self, *_args, **_kwargs) if val: val = wxEventPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextEvent(wxStyledTextEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextEvent,_args,_kwargs) + self.this = stc_c.new_wxStyledTextEvent(*_args,**_kwargs) self.thisown = 1 @@ -1215,6 +1304,7 @@ wxSTC_EOL_CRLF = stc_c.wxSTC_EOL_CRLF wxSTC_EOL_CR = stc_c.wxSTC_EOL_CR wxSTC_EOL_LF = stc_c.wxSTC_EOL_LF wxSTC_CP_UTF8 = stc_c.wxSTC_CP_UTF8 +wxSTC_CP_DBCS = stc_c.wxSTC_CP_DBCS wxSTC_MARKER_MAX = stc_c.wxSTC_MARKER_MAX wxSTC_MARK_CIRCLE = stc_c.wxSTC_MARK_CIRCLE wxSTC_MARK_ROUNDRECT = stc_c.wxSTC_MARK_ROUNDRECT @@ -1241,6 +1331,7 @@ wxSTC_MARK_CIRCLEMINUSCONNECTED = stc_c.wxSTC_MARK_CIRCLEMINUSCONNECTED wxSTC_MARK_BACKGROUND = stc_c.wxSTC_MARK_BACKGROUND wxSTC_MARK_DOTDOTDOT = stc_c.wxSTC_MARK_DOTDOTDOT wxSTC_MARK_ARROWS = stc_c.wxSTC_MARK_ARROWS +wxSTC_MARK_PIXMAP = stc_c.wxSTC_MARK_PIXMAP wxSTC_MARK_CHARACTER = stc_c.wxSTC_MARK_CHARACTER wxSTC_MARKNUM_FOLDEREND = stc_c.wxSTC_MARKNUM_FOLDEREND wxSTC_MARKNUM_FOLDEROPENMID = stc_c.wxSTC_MARKNUM_FOLDEROPENMID @@ -1301,10 +1392,21 @@ wxSTC_FIND_WHOLEWORD = stc_c.wxSTC_FIND_WHOLEWORD wxSTC_FIND_MATCHCASE = stc_c.wxSTC_FIND_MATCHCASE wxSTC_FIND_WORDSTART = stc_c.wxSTC_FIND_WORDSTART wxSTC_FIND_REGEXP = stc_c.wxSTC_FIND_REGEXP +wxSTC_FIND_POSIX = stc_c.wxSTC_FIND_POSIX wxSTC_FOLDLEVELBASE = stc_c.wxSTC_FOLDLEVELBASE wxSTC_FOLDLEVELWHITEFLAG = stc_c.wxSTC_FOLDLEVELWHITEFLAG wxSTC_FOLDLEVELHEADERFLAG = stc_c.wxSTC_FOLDLEVELHEADERFLAG +wxSTC_FOLDLEVELBOXHEADERFLAG = stc_c.wxSTC_FOLDLEVELBOXHEADERFLAG +wxSTC_FOLDLEVELBOXFOOTERFLAG = stc_c.wxSTC_FOLDLEVELBOXFOOTERFLAG +wxSTC_FOLDLEVELCONTRACTED = stc_c.wxSTC_FOLDLEVELCONTRACTED +wxSTC_FOLDLEVELUNINDENT = stc_c.wxSTC_FOLDLEVELUNINDENT wxSTC_FOLDLEVELNUMBERMASK = stc_c.wxSTC_FOLDLEVELNUMBERMASK +wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED +wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED +wxSTC_FOLDFLAG_LINEAFTER_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_EXPANDED +wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED +wxSTC_FOLDFLAG_LEVELNUMBERS = stc_c.wxSTC_FOLDFLAG_LEVELNUMBERS +wxSTC_FOLDFLAG_BOX = stc_c.wxSTC_FOLDFLAG_BOX wxSTC_TIME_FOREVER = stc_c.wxSTC_TIME_FOREVER wxSTC_WRAP_NONE = stc_c.wxSTC_WRAP_NONE wxSTC_WRAP_WORD = stc_c.wxSTC_WRAP_WORD @@ -1389,6 +1491,12 @@ wxSTC_LEX_PHP = stc_c.wxSTC_LEX_PHP wxSTC_LEX_BAAN = stc_c.wxSTC_LEX_BAAN wxSTC_LEX_MATLAB = stc_c.wxSTC_LEX_MATLAB wxSTC_LEX_SCRIPTOL = stc_c.wxSTC_LEX_SCRIPTOL +wxSTC_LEX_ASM = stc_c.wxSTC_LEX_ASM +wxSTC_LEX_CPPNOCASE = stc_c.wxSTC_LEX_CPPNOCASE +wxSTC_LEX_FORTRAN = stc_c.wxSTC_LEX_FORTRAN +wxSTC_LEX_F77 = stc_c.wxSTC_LEX_F77 +wxSTC_LEX_CSS = stc_c.wxSTC_LEX_CSS +wxSTC_LEX_POV = stc_c.wxSTC_LEX_POV wxSTC_LEX_AUTOMATIC = stc_c.wxSTC_LEX_AUTOMATIC wxSTC_P_DEFAULT = stc_c.wxSTC_P_DEFAULT wxSTC_P_COMMENTLINE = stc_c.wxSTC_P_COMMENTLINE @@ -1614,6 +1722,9 @@ wxSTC_ERR_DIFF_CHANGED = stc_c.wxSTC_ERR_DIFF_CHANGED wxSTC_ERR_DIFF_ADDITION = stc_c.wxSTC_ERR_DIFF_ADDITION wxSTC_ERR_DIFF_DELETION = stc_c.wxSTC_ERR_DIFF_DELETION wxSTC_ERR_DIFF_MESSAGE = stc_c.wxSTC_ERR_DIFF_MESSAGE +wxSTC_ERR_PHP = stc_c.wxSTC_ERR_PHP +wxSTC_ERR_ELF = stc_c.wxSTC_ERR_ELF +wxSTC_ERR_IFC = stc_c.wxSTC_ERR_IFC wxSTC_BAT_DEFAULT = stc_c.wxSTC_BAT_DEFAULT wxSTC_BAT_COMMENT = stc_c.wxSTC_BAT_COMMENT wxSTC_BAT_WORD = stc_c.wxSTC_BAT_WORD @@ -1650,22 +1761,29 @@ wxSTC_AVE_DEFAULT = stc_c.wxSTC_AVE_DEFAULT wxSTC_AVE_COMMENT = stc_c.wxSTC_AVE_COMMENT wxSTC_AVE_NUMBER = stc_c.wxSTC_AVE_NUMBER wxSTC_AVE_WORD = stc_c.wxSTC_AVE_WORD -wxSTC_AVE_KEYWORD = stc_c.wxSTC_AVE_KEYWORD -wxSTC_AVE_STATEMENT = stc_c.wxSTC_AVE_STATEMENT wxSTC_AVE_STRING = stc_c.wxSTC_AVE_STRING wxSTC_AVE_ENUM = stc_c.wxSTC_AVE_ENUM wxSTC_AVE_STRINGEOL = stc_c.wxSTC_AVE_STRINGEOL wxSTC_AVE_IDENTIFIER = stc_c.wxSTC_AVE_IDENTIFIER wxSTC_AVE_OPERATOR = stc_c.wxSTC_AVE_OPERATOR +wxSTC_AVE_WORD1 = stc_c.wxSTC_AVE_WORD1 +wxSTC_AVE_WORD2 = stc_c.wxSTC_AVE_WORD2 +wxSTC_AVE_WORD3 = stc_c.wxSTC_AVE_WORD3 +wxSTC_AVE_WORD4 = stc_c.wxSTC_AVE_WORD4 +wxSTC_AVE_WORD5 = stc_c.wxSTC_AVE_WORD5 +wxSTC_AVE_WORD6 = stc_c.wxSTC_AVE_WORD6 wxSTC_ADA_DEFAULT = stc_c.wxSTC_ADA_DEFAULT -wxSTC_ADA_COMMENT = stc_c.wxSTC_ADA_COMMENT -wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER wxSTC_ADA_WORD = stc_c.wxSTC_ADA_WORD -wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING -wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER -wxSTC_ADA_OPERATOR = stc_c.wxSTC_ADA_OPERATOR wxSTC_ADA_IDENTIFIER = stc_c.wxSTC_ADA_IDENTIFIER +wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER +wxSTC_ADA_DELIMITER = stc_c.wxSTC_ADA_DELIMITER +wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER +wxSTC_ADA_CHARACTEREOL = stc_c.wxSTC_ADA_CHARACTEREOL +wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING wxSTC_ADA_STRINGEOL = stc_c.wxSTC_ADA_STRINGEOL +wxSTC_ADA_LABEL = stc_c.wxSTC_ADA_LABEL +wxSTC_ADA_COMMENTLINE = stc_c.wxSTC_ADA_COMMENTLINE +wxSTC_ADA_ILLEGAL = stc_c.wxSTC_ADA_ILLEGAL wxSTC_BAAN_DEFAULT = stc_c.wxSTC_BAAN_DEFAULT wxSTC_BAAN_COMMENT = stc_c.wxSTC_BAAN_COMMENT wxSTC_BAAN_COMMENTDOC = stc_c.wxSTC_BAAN_COMMENTDOC @@ -1733,6 +1851,58 @@ wxSTC_SCRIPTOL_WORD2 = stc_c.wxSTC_SCRIPTOL_WORD2 wxSTC_SCRIPTOL_COMMENTDOCKEYWORD = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORD wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR wxSTC_SCRIPTOL_COMMENTBASIC = stc_c.wxSTC_SCRIPTOL_COMMENTBASIC +wxSTC_ASM_DEFAULT = stc_c.wxSTC_ASM_DEFAULT +wxSTC_ASM_COMMENT = stc_c.wxSTC_ASM_COMMENT +wxSTC_ASM_NUMBER = stc_c.wxSTC_ASM_NUMBER +wxSTC_ASM_STRING = stc_c.wxSTC_ASM_STRING +wxSTC_ASM_OPERATOR = stc_c.wxSTC_ASM_OPERATOR +wxSTC_ASM_IDENTIFIER = stc_c.wxSTC_ASM_IDENTIFIER +wxSTC_ASM_CPUINSTRUCTION = stc_c.wxSTC_ASM_CPUINSTRUCTION +wxSTC_ASM_MATHINSTRUCTION = stc_c.wxSTC_ASM_MATHINSTRUCTION +wxSTC_ASM_REGISTER = stc_c.wxSTC_ASM_REGISTER +wxSTC_ASM_DIRECTIVE = stc_c.wxSTC_ASM_DIRECTIVE +wxSTC_ASM_DIRECTIVEOPERAND = stc_c.wxSTC_ASM_DIRECTIVEOPERAND +wxSTC_F_DEFAULT = stc_c.wxSTC_F_DEFAULT +wxSTC_F_COMMENT = stc_c.wxSTC_F_COMMENT +wxSTC_F_NUMBER = stc_c.wxSTC_F_NUMBER +wxSTC_F_STRING1 = stc_c.wxSTC_F_STRING1 +wxSTC_F_STRING2 = stc_c.wxSTC_F_STRING2 +wxSTC_F_STRINGEOL = stc_c.wxSTC_F_STRINGEOL +wxSTC_F_OPERATOR = stc_c.wxSTC_F_OPERATOR +wxSTC_F_IDENTIFIER = stc_c.wxSTC_F_IDENTIFIER +wxSTC_F_WORD = stc_c.wxSTC_F_WORD +wxSTC_F_WORD2 = stc_c.wxSTC_F_WORD2 +wxSTC_F_WORD3 = stc_c.wxSTC_F_WORD3 +wxSTC_F_PREPROCESSOR = stc_c.wxSTC_F_PREPROCESSOR +wxSTC_F_OPERATOR2 = stc_c.wxSTC_F_OPERATOR2 +wxSTC_F_LABEL = stc_c.wxSTC_F_LABEL +wxSTC_F_CONTINUATION = stc_c.wxSTC_F_CONTINUATION +wxSTC_CSS_DEFAULT = stc_c.wxSTC_CSS_DEFAULT +wxSTC_CSS_TAG = stc_c.wxSTC_CSS_TAG +wxSTC_CSS_CLASS = stc_c.wxSTC_CSS_CLASS +wxSTC_CSS_PSEUDOCLASS = stc_c.wxSTC_CSS_PSEUDOCLASS +wxSTC_CSS_UNKNOWN_PSEUDOCLASS = stc_c.wxSTC_CSS_UNKNOWN_PSEUDOCLASS +wxSTC_CSS_OPERATOR = stc_c.wxSTC_CSS_OPERATOR +wxSTC_CSS_IDENTIFIER = stc_c.wxSTC_CSS_IDENTIFIER +wxSTC_CSS_UNKNOWN_IDENTIFIER = stc_c.wxSTC_CSS_UNKNOWN_IDENTIFIER +wxSTC_CSS_VALUE = stc_c.wxSTC_CSS_VALUE +wxSTC_CSS_COMMENT = stc_c.wxSTC_CSS_COMMENT +wxSTC_CSS_ID = stc_c.wxSTC_CSS_ID +wxSTC_CSS_IMPORTANT = stc_c.wxSTC_CSS_IMPORTANT +wxSTC_CSS_DIRECTIVE = stc_c.wxSTC_CSS_DIRECTIVE +wxSTC_CSS_DOUBLESTRING = stc_c.wxSTC_CSS_DOUBLESTRING +wxSTC_CSS_SINGLESTRING = stc_c.wxSTC_CSS_SINGLESTRING +wxSTC_POV_DEFAULT = stc_c.wxSTC_POV_DEFAULT +wxSTC_POV_COMMENT = stc_c.wxSTC_POV_COMMENT +wxSTC_POV_COMMENTLINE = stc_c.wxSTC_POV_COMMENTLINE +wxSTC_POV_COMMENTDOC = stc_c.wxSTC_POV_COMMENTDOC +wxSTC_POV_NUMBER = stc_c.wxSTC_POV_NUMBER +wxSTC_POV_WORD = stc_c.wxSTC_POV_WORD +wxSTC_POV_STRING = stc_c.wxSTC_POV_STRING +wxSTC_POV_OPERATOR = stc_c.wxSTC_POV_OPERATOR +wxSTC_POV_IDENTIFIER = stc_c.wxSTC_POV_IDENTIFIER +wxSTC_POV_BRACE = stc_c.wxSTC_POV_BRACE +wxSTC_POV_WORD2 = stc_c.wxSTC_POV_WORD2 wxSTC_CMD_REDO = stc_c.wxSTC_CMD_REDO wxSTC_CMD_SELECTALL = stc_c.wxSTC_CMD_SELECTALL wxSTC_CMD_UNDO = stc_c.wxSTC_CMD_UNDO @@ -1780,6 +1950,7 @@ wxSTC_CMD_DELWORDRIGHT = stc_c.wxSTC_CMD_DELWORDRIGHT wxSTC_CMD_LINECUT = stc_c.wxSTC_CMD_LINECUT wxSTC_CMD_LINEDELETE = stc_c.wxSTC_CMD_LINEDELETE wxSTC_CMD_LINETRANSPOSE = stc_c.wxSTC_CMD_LINETRANSPOSE +wxSTC_CMD_LINEDUPLICATE = stc_c.wxSTC_CMD_LINEDUPLICATE wxSTC_CMD_LOWERCASE = stc_c.wxSTC_CMD_LOWERCASE wxSTC_CMD_UPPERCASE = stc_c.wxSTC_CMD_UPPERCASE wxSTC_CMD_LINESCROLLDOWN = stc_c.wxSTC_CMD_LINESCROLLDOWN @@ -1789,12 +1960,22 @@ wxSTC_CMD_HOMEDISPLAY = stc_c.wxSTC_CMD_HOMEDISPLAY wxSTC_CMD_HOMEDISPLAYEXTEND = stc_c.wxSTC_CMD_HOMEDISPLAYEXTEND wxSTC_CMD_LINEENDDISPLAY = stc_c.wxSTC_CMD_LINEENDDISPLAY wxSTC_CMD_LINEENDDISPLAYEXTEND = stc_c.wxSTC_CMD_LINEENDDISPLAYEXTEND +wxSTC_CMD_HOMEWRAP = stc_c.wxSTC_CMD_HOMEWRAP +wxSTC_CMD_HOMEWRAPEXTEND = stc_c.wxSTC_CMD_HOMEWRAPEXTEND +wxSTC_CMD_LINEENDWRAP = stc_c.wxSTC_CMD_LINEENDWRAP +wxSTC_CMD_LINEENDWRAPEXTEND = stc_c.wxSTC_CMD_LINEENDWRAPEXTEND +wxSTC_CMD_VCHOMEWRAP = stc_c.wxSTC_CMD_VCHOMEWRAP +wxSTC_CMD_VCHOMEWRAPEXTEND = stc_c.wxSTC_CMD_VCHOMEWRAPEXTEND wxSTC_CMD_WORDPARTLEFT = stc_c.wxSTC_CMD_WORDPARTLEFT wxSTC_CMD_WORDPARTLEFTEXTEND = stc_c.wxSTC_CMD_WORDPARTLEFTEXTEND wxSTC_CMD_WORDPARTRIGHT = stc_c.wxSTC_CMD_WORDPARTRIGHT wxSTC_CMD_WORDPARTRIGHTEXTEND = stc_c.wxSTC_CMD_WORDPARTRIGHTEXTEND wxSTC_CMD_DELLINELEFT = stc_c.wxSTC_CMD_DELLINELEFT wxSTC_CMD_DELLINERIGHT = stc_c.wxSTC_CMD_DELLINERIGHT +wxSTC_CMD_PARADOWN = stc_c.wxSTC_CMD_PARADOWN +wxSTC_CMD_PARADOWNEXTEND = stc_c.wxSTC_CMD_PARADOWNEXTEND +wxSTC_CMD_PARAUP = stc_c.wxSTC_CMD_PARAUP +wxSTC_CMD_PARAUPEXTEND = stc_c.wxSTC_CMD_PARAUPEXTEND STC_USE_DND = stc_c.STC_USE_DND wxEVT_STC_CHANGE = stc_c.wxEVT_STC_CHANGE wxEVT_STC_STYLENEEDED = stc_c.wxEVT_STC_STYLENEEDED @@ -1819,6 +2000,9 @@ wxEVT_STC_START_DRAG = stc_c.wxEVT_STC_START_DRAG wxEVT_STC_DRAG_OVER = stc_c.wxEVT_STC_DRAG_OVER wxEVT_STC_DO_DROP = stc_c.wxEVT_STC_DO_DROP wxEVT_STC_ZOOM = stc_c.wxEVT_STC_ZOOM +wxEVT_STC_HOTSPOT_CLICK = stc_c.wxEVT_STC_HOTSPOT_CLICK +wxEVT_STC_HOTSPOT_DCLICK = stc_c.wxEVT_STC_HOTSPOT_DCLICK +wxEVT_STC_CALLTIP_CLICK = stc_c.wxEVT_STC_CALLTIP_CLICK #-------------- USER INCLUDE ----------------------- diff --git a/wxPython/contrib/stc/mac/stc_.cpp b/wxPython/contrib/stc/mac/stc_.cpp index 0aa420109b..d6c081cfb5 100644 --- a/wxPython/contrib/stc/mac/stc_.cpp +++ b/wxPython/contrib/stc/mac/stc_.cpp @@ -1649,6 +1649,43 @@ static PyObject *_wrap_wxStyledTextCtrl_MarkerPrevious(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_MarkerDefineBitmap(_swigobj,_swigarg0,_swigarg1) (_swigobj->MarkerDefineBitmap(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_MarkerDefineBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","markerNumber","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_MarkerDefineBitmap",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_MarkerDefineBitmap(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetMarginType(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetMarginType(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetMarginType(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -2275,6 +2312,38 @@ static PyObject *_wrap_wxStyledTextCtrl_StyleSetCharacterSet(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_StyleSetHotSpot(_swigobj,_swigarg0,_swigarg1) (_swigobj->StyleSetHotSpot(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_StyleSetHotSpot(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + bool _arg2; + PyObject * _argo0 = 0; + int tempbool2; + char *_kwnames[] = { "self","style","hotspot", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxStyledTextCtrl_StyleSetHotSpot",_kwnames,&_argo0,&_arg1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_StyleSetHotSpot. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_StyleSetHotSpot(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetSelForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetSelForeground(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetSelForeground(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3859,6 +3928,128 @@ static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord(PyObject *self return _resultobj; } +#define wxStyledTextCtrl_RegisterImage(_swigobj,_swigarg0,_swigarg1) (_swigobj->RegisterImage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_RegisterImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","type","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_RegisterImage",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_RegisterImage. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_RegisterImage. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_RegisterImage(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_ClearRegisteredImages(_swigobj) (_swigobj->ClearRegisteredImages()) +static PyObject *_wrap_wxStyledTextCtrl_ClearRegisteredImages(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ClearRegisteredImages",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ClearRegisteredImages. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ClearRegisteredImages(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompGetTypeSeparator(_swigobj) (_swigobj->AutoCompGetTypeSeparator()) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_AutoCompGetTypeSeparator",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompGetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_AutoCompGetTypeSeparator(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompSetTypeSeparator(_swigobj,_swigarg0) (_swigobj->AutoCompSetTypeSeparator(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","separatorCharacter", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_AutoCompSetTypeSeparator",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompSetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_AutoCompSetTypeSeparator(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetIndent(_swigobj,_swigarg0) (_swigobj->SetIndent(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -6229,6 +6420,78 @@ static PyObject *_wrap_wxStyledTextCtrl_CallTipSetBackground(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_CallTipSetForeground(_swigobj,_swigarg0) (_swigobj->CallTipSetForeground(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForeground",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForeground(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_CallTipSetForegroundHighlight(_swigobj,_swigarg0) (_swigobj->CallTipSetForegroundHighlight(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForegroundHighlight",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForegroundHighlight. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForegroundHighlight(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_VisibleFromDocLine(_swigobj,_swigarg0) (_swigobj->VisibleFromDocLine(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_VisibleFromDocLine(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -7209,26 +7472,29 @@ static PyObject *_wrap_wxStyledTextCtrl_TextHeight(PyObject *self, PyObject *arg return _resultobj; } -#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_SetUseVerticalScrollBar(_swigobj,_swigarg0) (_swigobj->SetUseVerticalScrollBar(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","show", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetUseVerticalScrollBar",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplay(_arg0); + wxStyledTextCtrl_SetUseVerticalScrollBar(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -7237,76 +7503,422 @@ static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *ar return _resultobj; } -#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetUseVerticalScrollBar(_swigobj) (_swigobj->GetUseVerticalScrollBar()) +static PyObject *_wrap_wxStyledTextCtrl_GetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetUseVerticalScrollBar",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplayExtend(_arg0); + _result = (bool )wxStyledTextCtrl_GetUseVerticalScrollBar(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_AppendText(_swigobj,_swigarg0,_swigarg1) (_swigobj->AppendText(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_AppendText(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + int _arg1; + wxString * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","length","text", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_AppendText",_kwnames,&_argo0,&_arg1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AppendText. Expected _wxStyledTextCtrl_p."); return NULL; } } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_LineEndDisplay(_arg0); + wxStyledTextCtrl_AppendText(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetTwoPhaseDraw(_swigobj) (_swigobj->GetTwoPhaseDraw()) +static PyObject *_wrap_wxStyledTextCtrl_GetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetTwoPhaseDraw",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_GetTwoPhaseDraw(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetTwoPhaseDraw(_swigobj,_swigarg0) (_swigobj->SetTwoPhaseDraw(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","twoPhase", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetTwoPhaseDraw",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetTwoPhaseDraw(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_TargetFromSelection(_swigobj) (_swigobj->TargetFromSelection()) +static PyObject *_wrap_wxStyledTextCtrl_TargetFromSelection(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_TargetFromSelection",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_TargetFromSelection. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_TargetFromSelection(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesJoin(_swigobj) (_swigobj->LinesJoin()) +static PyObject *_wrap_wxStyledTextCtrl_LinesJoin(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LinesJoin",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesJoin. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesJoin(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesSplit(_swigobj,_swigarg0) (_swigobj->LinesSplit(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LinesSplit(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","pixelWidth", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_LinesSplit",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesSplit. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesSplit(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginHiColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginHiColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginHiColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginHiColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginHiColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginHiColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineDuplicate(_swigobj) (_swigobj->LineDuplicate()) +static PyObject *_wrap_wxStyledTextCtrl_LineDuplicate(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineDuplicate",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineDuplicate. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineDuplicate(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplayExtend(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineEndDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); return NULL; } } @@ -8739,6 +9351,34 @@ static PyObject *_wrap_wxStyledTextCtrl_GetXOffset(PyObject *self, PyObject *arg return _resultobj; } +#define wxStyledTextCtrl_ChooseCaretX(_swigobj) (_swigobj->ChooseCaretX()) +static PyObject *_wrap_wxStyledTextCtrl_ChooseCaretX(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ChooseCaretX",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ChooseCaretX. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ChooseCaretX(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetXCaretPolicy(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetXCaretPolicy(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetXCaretPolicy(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -8799,6 +9439,172 @@ static PyObject *_wrap_wxStyledTextCtrl_SetYCaretPolicy(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_SetPrintWrapMode(_swigobj,_swigarg0) (_swigobj->SetPrintWrapMode(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","mode", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetPrintWrapMode",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetPrintWrapMode(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_GetPrintWrapMode(_swigobj) (_swigobj->GetPrintWrapMode()) +static PyObject *_wrap_wxStyledTextCtrl_GetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetPrintWrapMode",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_GetPrintWrapMode(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveForeground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveForeground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveForeground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveBackground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveBackground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveBackground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveBackground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveBackground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveBackground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveUnderline(_swigobj,_swigarg0) (_swigobj->SetHotspotActiveUnderline(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveUnderline(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","underline", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetHotspotActiveUnderline",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveUnderline. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveUnderline(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_StartRecord(_swigobj) (_swigobj->StartRecord()) static PyObject *_wrap_wxStyledTextCtrl_StartRecord(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -9586,6 +10392,84 @@ static PyObject *_wrap_wxStyledTextCtrl_SetLastKeydownProcessed(PyObject *self, return _resultobj; } +#define wxStyledTextCtrl_SaveFile(_swigobj,_swigarg0) (_swigobj->SaveFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SaveFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_SaveFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SaveFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_SaveFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxStyledTextCtrl_LoadFile(_swigobj,_swigarg0) (_swigobj->LoadFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_LoadFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LoadFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_LoadFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + static void *SwigwxStyledTextEventTowxCommandEvent(void *ptr) { wxStyledTextEvent *src; wxCommandEvent *dest; @@ -11012,6 +11896,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextEvent_SetPosition", (PyCFunction) _wrap_wxStyledTextEvent_SetPosition, METH_VARARGS | METH_KEYWORDS }, { "delete_wxStyledTextEvent", (PyCFunction) _wrap_delete_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, { "new_wxStyledTextEvent", (PyCFunction) _wrap_new_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LoadFile", (PyCFunction) _wrap_wxStyledTextCtrl_LoadFile, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SaveFile", (PyCFunction) _wrap_wxStyledTextCtrl_SaveFile, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_SetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_GetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetHScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetHScrollBar, METH_VARARGS | METH_KEYWORDS }, @@ -11035,8 +11921,14 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetLexer", (PyCFunction) _wrap_wxStyledTextCtrl_SetLexer, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StopRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StopRecord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StartRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StartRecord, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveUnderline, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveBackground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_GetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_SetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetYCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetYCaretPolicy, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetXCaretPolicy, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ChooseCaretX", (PyCFunction) _wrap_wxStyledTextCtrl_ChooseCaretX, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_GetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_SetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DelLineRight", (PyCFunction) _wrap_wxStyledTextCtrl_DelLineRight, METH_VARARGS | METH_KEYWORDS }, @@ -11088,6 +11980,17 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_LineEndDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_LineEndDisplay, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplayExtend", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplayExtend, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplay, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LineDuplicate", (PyCFunction) _wrap_wxStyledTextCtrl_LineDuplicate, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginHiColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginHiColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesSplit", (PyCFunction) _wrap_wxStyledTextCtrl_LinesSplit, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesJoin", (PyCFunction) _wrap_wxStyledTextCtrl_LinesJoin, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_TargetFromSelection", (PyCFunction) _wrap_wxStyledTextCtrl_TargetFromSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_SetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_GetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AppendText", (PyCFunction) _wrap_wxStyledTextCtrl_AppendText, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_GetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_TextHeight", (PyCFunction) _wrap_wxStyledTextCtrl_TextHeight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_GetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_SetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, @@ -11121,6 +12024,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetFoldLevel", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldLevel, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DocLineFromVisible", (PyCFunction) _wrap_wxStyledTextCtrl_DocLineFromVisible, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_VisibleFromDocLine", (PyCFunction) _wrap_wxStyledTextCtrl_VisibleFromDocLine, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForegroundHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForeground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetBackground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetHighlight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipPosAtStart", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipPosAtStart, METH_VARARGS | METH_KEYWORDS }, @@ -11198,6 +12103,10 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetUseTabs", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseTabs, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompSetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompGetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ClearRegisteredImages", (PyCFunction) _wrap_wxStyledTextCtrl_ClearRegisteredImages, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_RegisterImage", (PyCFunction) _wrap_wxStyledTextCtrl_RegisterImage, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompSetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetAutoHide", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetAutoHide, METH_VARARGS | METH_KEYWORDS }, @@ -11248,6 +12157,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetCaretForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetCaretForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_StyleSetHotSpot", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetHotSpot, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCharacterSet", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCharacterSet, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCase", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCase, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetUnderline, METH_VARARGS | METH_KEYWORDS }, @@ -11268,6 +12178,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetMarginWidth", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginWidth, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_GetMarginType, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginType, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_MarkerDefineBitmap", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerDefineBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerPrevious", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerPrevious, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerNext", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerNext, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerGet", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerGet, METH_VARARGS | METH_KEYWORDS }, @@ -11455,6 +12366,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EOL_CR", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EOL_LF", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CP_UTF8", PyInt_FromLong((long) 65001)); + PyDict_SetItemString(d,"wxSTC_CP_DBCS", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_MARKER_MAX", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_MARK_CIRCLE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_MARK_ROUNDRECT", PyInt_FromLong((long) 1)); @@ -11481,6 +12393,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_MARK_BACKGROUND", PyInt_FromLong((long) 22)); PyDict_SetItemString(d,"wxSTC_MARK_DOTDOTDOT", PyInt_FromLong((long) 23)); PyDict_SetItemString(d,"wxSTC_MARK_ARROWS", PyInt_FromLong((long) 24)); + PyDict_SetItemString(d,"wxSTC_MARK_PIXMAP", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARK_CHARACTER", PyInt_FromLong((long) 10000)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEREND", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEROPENMID", PyInt_FromLong((long) 26)); @@ -11541,10 +12454,21 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_FIND_MATCHCASE", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_FIND_WORDSTART", PyInt_FromLong((long) 0x00100000)); PyDict_SetItemString(d,"wxSTC_FIND_REGEXP", PyInt_FromLong((long) 0x00200000)); + PyDict_SetItemString(d,"wxSTC_FIND_POSIX", PyInt_FromLong((long) 0x00400000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELBASE", PyInt_FromLong((long) 0x400)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELWHITEFLAG", PyInt_FromLong((long) 0x1000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELHEADERFLAG", PyInt_FromLong((long) 0x2000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXHEADERFLAG", PyInt_FromLong((long) 0x4000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXFOOTERFLAG", PyInt_FromLong((long) 0x8000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELCONTRACTED", PyInt_FromLong((long) 0x10000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELUNINDENT", PyInt_FromLong((long) 0x20000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELNUMBERMASK", PyInt_FromLong((long) 0x0FFF)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED", PyInt_FromLong((long) 0x0002)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED", PyInt_FromLong((long) 0x0004)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_EXPANDED", PyInt_FromLong((long) 0x0008)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED", PyInt_FromLong((long) 0x0010)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LEVELNUMBERS", PyInt_FromLong((long) 0x0040)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_BOX", PyInt_FromLong((long) 0x0001)); PyDict_SetItemString(d,"wxSTC_TIME_FOREVER", PyInt_FromLong((long) 10000000)); PyDict_SetItemString(d,"wxSTC_WRAP_NONE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_WRAP_WORD", PyInt_FromLong((long) 1)); @@ -11556,7 +12480,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EDGE_LINE", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EDGE_BACKGROUND", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CURSORNORMAL", PyInt_FromLong((long) -1)); - PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_VISIBLE_SLOP", PyInt_FromLong((long) 0x01)); PyDict_SetItemString(d,"wxSTC_VISIBLE_STRICT", PyInt_FromLong((long) 0x04)); PyDict_SetItemString(d,"wxSTC_CARET_SLOP", PyInt_FromLong((long) 0x01)); @@ -11629,6 +12553,12 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_LEX_BAAN", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_LEX_MATLAB", PyInt_FromLong((long) 32)); PyDict_SetItemString(d,"wxSTC_LEX_SCRIPTOL", PyInt_FromLong((long) 33)); + PyDict_SetItemString(d,"wxSTC_LEX_ASM", PyInt_FromLong((long) 34)); + PyDict_SetItemString(d,"wxSTC_LEX_CPPNOCASE", PyInt_FromLong((long) 35)); + PyDict_SetItemString(d,"wxSTC_LEX_FORTRAN", PyInt_FromLong((long) 36)); + PyDict_SetItemString(d,"wxSTC_LEX_F77", PyInt_FromLong((long) 37)); + PyDict_SetItemString(d,"wxSTC_LEX_CSS", PyInt_FromLong((long) 38)); + PyDict_SetItemString(d,"wxSTC_LEX_POV", PyInt_FromLong((long) 39)); PyDict_SetItemString(d,"wxSTC_LEX_AUTOMATIC", PyInt_FromLong((long) 1000)); PyDict_SetItemString(d,"wxSTC_P_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_P_COMMENTLINE", PyInt_FromLong((long) 1)); @@ -11854,6 +12784,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_ERR_DIFF_ADDITION", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_DELETION", PyInt_FromLong((long) 12)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_MESSAGE", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_ERR_PHP", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_ERR_ELF", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_ERR_IFC", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_BAT_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAT_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAT_WORD", PyInt_FromLong((long) 2)); @@ -11890,22 +12823,29 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_AVE_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_AVE_NUMBER", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_AVE_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_AVE_KEYWORD", PyInt_FromLong((long) 4)); - PyDict_SetItemString(d,"wxSTC_AVE_STATEMENT", PyInt_FromLong((long) 5)); PyDict_SetItemString(d,"wxSTC_AVE_STRING", PyInt_FromLong((long) 6)); PyDict_SetItemString(d,"wxSTC_AVE_ENUM", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_AVE_STRINGEOL", PyInt_FromLong((long) 8)); PyDict_SetItemString(d,"wxSTC_AVE_IDENTIFIER", PyInt_FromLong((long) 9)); PyDict_SetItemString(d,"wxSTC_AVE_OPERATOR", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD1", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD3", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD4", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD5", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD6", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_ADA_DEFAULT", PyInt_FromLong((long) 0)); - PyDict_SetItemString(d,"wxSTC_ADA_COMMENT", PyInt_FromLong((long) 1)); - PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 2)); - PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ADA_DELIMITER", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_ADA_CHARACTER", PyInt_FromLong((long) 5)); - PyDict_SetItemString(d,"wxSTC_ADA_OPERATOR", PyInt_FromLong((long) 6)); - PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ADA_CHARACTEREOL", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_ADA_STRINGEOL", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ADA_LABEL", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ADA_COMMENTLINE", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_ADA_ILLEGAL", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_BAAN_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENTDOC", PyInt_FromLong((long) 2)); @@ -11973,6 +12913,58 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORD", PyInt_FromLong((long) 17)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR", PyInt_FromLong((long) 18)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTBASIC", PyInt_FromLong((long) 19)); + PyDict_SetItemString(d,"wxSTC_ASM_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_ASM_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ASM_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ASM_STRING", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ASM_OPERATOR", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ASM_IDENTIFIER", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_ASM_CPUINSTRUCTION", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ASM_MATHINSTRUCTION", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ASM_REGISTER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVEOPERAND", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_F_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_F_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_F_STRING1", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_F_STRING2", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_F_STRINGEOL", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_F_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_F_WORD", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_F_WORD2", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_F_WORD3", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_PREPROCESSOR", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_F_LABEL", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_F_CONTINUATION", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_CSS_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_CSS_TAG", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_CSS_CLASS", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_CSS_PSEUDOCLASS", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_PSEUDOCLASS", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_CSS_OPERATOR", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_CSS_IDENTIFIER", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_CSS_VALUE", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_CSS_COMMENT", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_CSS_ID", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_CSS_IMPORTANT", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_CSS_DIRECTIVE", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_CSS_DOUBLESTRING", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_CSS_SINGLESTRING", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_POV_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTLINE", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTDOC", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_POV_NUMBER", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_POV_WORD", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_POV_STRING", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_POV_OPERATOR", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_POV_IDENTIFIER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_POV_BRACE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_POV_WORD2", PyInt_FromLong((long) 10)); PyDict_SetItemString(d,"wxSTC_CMD_REDO", PyInt_FromLong((long) 2011)); PyDict_SetItemString(d,"wxSTC_CMD_SELECTALL", PyInt_FromLong((long) 2013)); PyDict_SetItemString(d,"wxSTC_CMD_UNDO", PyInt_FromLong((long) 2176)); @@ -12020,6 +13012,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_LINECUT", PyInt_FromLong((long) 2337)); PyDict_SetItemString(d,"wxSTC_CMD_LINEDELETE", PyInt_FromLong((long) 2338)); PyDict_SetItemString(d,"wxSTC_CMD_LINETRANSPOSE", PyInt_FromLong((long) 2339)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEDUPLICATE", PyInt_FromLong((long) 2404)); PyDict_SetItemString(d,"wxSTC_CMD_LOWERCASE", PyInt_FromLong((long) 2340)); PyDict_SetItemString(d,"wxSTC_CMD_UPPERCASE", PyInt_FromLong((long) 2341)); PyDict_SetItemString(d,"wxSTC_CMD_LINESCROLLDOWN", PyInt_FromLong((long) 2342)); @@ -12029,12 +13022,22 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_HOMEDISPLAYEXTEND", PyInt_FromLong((long) 2346)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAY", PyInt_FromLong((long) 2347)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAYEXTEND", PyInt_FromLong((long) 2348)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAP", PyInt_FromLong((long) 2349)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAPEXTEND", PyInt_FromLong((long) 2450)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAP", PyInt_FromLong((long) 2451)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAPEXTEND", PyInt_FromLong((long) 2452)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAP", PyInt_FromLong((long) 2453)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAPEXTEND", PyInt_FromLong((long) 2454)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFT", PyInt_FromLong((long) 2390)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFTEXTEND", PyInt_FromLong((long) 2391)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHT", PyInt_FromLong((long) 2392)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHTEXTEND", PyInt_FromLong((long) 2393)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINELEFT", PyInt_FromLong((long) 2395)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINERIGHT", PyInt_FromLong((long) 2396)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWN", PyInt_FromLong((long) 2413)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWNEXTEND", PyInt_FromLong((long) 2414)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUP", PyInt_FromLong((long) 2415)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUPEXTEND", PyInt_FromLong((long) 2416)); PyDict_SetItemString(d,"STC_USE_DND", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxEVT_STC_CHANGE", PyInt_FromLong((long) wxEVT_STC_CHANGE)); PyDict_SetItemString(d,"wxEVT_STC_STYLENEEDED", PyInt_FromLong((long) wxEVT_STC_STYLENEEDED)); @@ -12059,6 +13062,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxEVT_STC_DRAG_OVER", PyInt_FromLong((long) wxEVT_STC_DRAG_OVER)); PyDict_SetItemString(d,"wxEVT_STC_DO_DROP", PyInt_FromLong((long) wxEVT_STC_DO_DROP)); PyDict_SetItemString(d,"wxEVT_STC_ZOOM", PyInt_FromLong((long) wxEVT_STC_ZOOM)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_CLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_CLICK)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_DCLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_DCLICK)); + PyDict_SetItemString(d,"wxEVT_STC_CALLTIP_CLICK", PyInt_FromLong((long) wxEVT_STC_CALLTIP_CLICK)); wxClassInfo::CleanUpClasses(); diff --git a/wxPython/contrib/stc/mac/stc_.py b/wxPython/contrib/stc/mac/stc_.py index a3a4fef4a9..93e7f892ef 100644 --- a/wxPython/contrib/stc/mac/stc_.py +++ b/wxPython/contrib/stc/mac/stc_.py @@ -112,930 +112,1019 @@ def EVT_STC_DO_DROP(win, id, func): def EVT_STC_ZOOM(win, id, func): win.Connect(id, -1, wxEVT_STC_ZOOM, func) +def EVT_STC_HOTSPOT_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_CLICK, func) + +def EVT_STC_HOTSPOT_DCLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_DCLICK, func) + +def EVT_STC_CALLTIP_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_CALLTIP_CLICK, func) class wxStyledTextCtrlPtr(wxControlPtr): def __init__(self,this): self.this = this self.thisown = 0 def AddText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddText(self, *_args, **_kwargs) return val def AddStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddStyledText(self, *_args, **_kwargs) return val def InsertText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_InsertText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_InsertText(self, *_args, **_kwargs) return val def ClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearAll(self, *_args, **_kwargs) return val def ClearDocumentStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearDocumentStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearDocumentStyle(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLength(self, *_args, **_kwargs) return val def GetCharAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCharAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCharAt(self, *_args, **_kwargs) return val def GetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentPos(self, *_args, **_kwargs) return val def GetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetAnchor(self, *_args, **_kwargs) return val def GetStyleAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleAt(self, *_args, **_kwargs) return val def Redo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Redo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Redo(self, *_args, **_kwargs) return val def SetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUndoCollection(self, *_args, **_kwargs) return val def SelectAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectAll(self, *_args, **_kwargs) return val def SetSavePoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSavePoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSavePoint(self, *_args, **_kwargs) return val def GetStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyledText(self, *_args, **_kwargs) return val def CanRedo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanRedo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanRedo(self, *_args, **_kwargs) return val def MarkerLineFromHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerLineFromHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerLineFromHandle(self, *_args, **_kwargs) return val def MarkerDeleteHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteHandle(self, *_args, **_kwargs) return val def GetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUndoCollection(self, *_args, **_kwargs) return val def GetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewWhiteSpace(self, *_args, **_kwargs) return val def SetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewWhiteSpace(self, *_args, **_kwargs) return val def PositionFromPoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPoint(self, *_args, **_kwargs) return val def PositionFromPointClose(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPointClose,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPointClose(self, *_args, **_kwargs) return val def GotoLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoLine(self, *_args, **_kwargs) return val def GotoPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoPos(self, *_args, **_kwargs) return val def SetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetAnchor(self, *_args, **_kwargs) return val def GetCurLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurLine(self, *_args, **_kwargs) return val def GetEndStyled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndStyled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndStyled(self, *_args, **_kwargs) return val def ConvertEOLs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ConvertEOLs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ConvertEOLs(self, *_args, **_kwargs) return val def GetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEOLMode(self, *_args, **_kwargs) return val def SetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEOLMode(self, *_args, **_kwargs) return val def StartStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartStyling(self, *_args, **_kwargs) return val def SetStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyling(self, *_args, **_kwargs) return val def GetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBufferedDraw(self, *_args, **_kwargs) return val def SetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBufferedDraw(self, *_args, **_kwargs) return val def SetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabWidth(self, *_args, **_kwargs) return val def GetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabWidth(self, *_args, **_kwargs) return val def SetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCodePage(self, *_args, **_kwargs) return val def MarkerDefine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDefine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDefine(self, *_args, **_kwargs) return val def MarkerSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetForeground(self, *_args, **_kwargs) return val def MarkerSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetBackground(self, *_args, **_kwargs) return val def MarkerAdd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerAdd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerAdd(self, *_args, **_kwargs) return val def MarkerDelete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDelete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDelete(self, *_args, **_kwargs) return val def MarkerDeleteAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteAll(self, *_args, **_kwargs) return val def MarkerGet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerGet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerGet(self, *_args, **_kwargs) return val def MarkerNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerNext(self, *_args, **_kwargs) return val def MarkerPrevious(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerPrevious,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerPrevious(self, *_args, **_kwargs) + return val + def MarkerDefineBitmap(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_MarkerDefineBitmap(self, *_args, **_kwargs) return val def SetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginType(self, *_args, **_kwargs) return val def GetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginType(self, *_args, **_kwargs) return val def SetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginWidth(self, *_args, **_kwargs) return val def GetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginWidth(self, *_args, **_kwargs) return val def SetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginMask(self, *_args, **_kwargs) return val def GetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginMask(self, *_args, **_kwargs) return val def SetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginSensitive(self, *_args, **_kwargs) return val def GetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginSensitive(self, *_args, **_kwargs) return val def StyleClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleClearAll(self, *_args, **_kwargs) return val def StyleSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetForeground(self, *_args, **_kwargs) return val def StyleSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBackground(self, *_args, **_kwargs) return val def StyleSetBold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBold(self, *_args, **_kwargs) return val def StyleSetItalic(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetItalic,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetItalic(self, *_args, **_kwargs) return val def StyleSetSize(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSize,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSize(self, *_args, **_kwargs) return val def StyleSetFaceName(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFaceName,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFaceName(self, *_args, **_kwargs) return val def StyleSetEOLFilled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetEOLFilled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetEOLFilled(self, *_args, **_kwargs) return val def StyleResetDefault(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleResetDefault,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleResetDefault(self, *_args, **_kwargs) return val def StyleSetUnderline(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetUnderline,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetUnderline(self, *_args, **_kwargs) return val def StyleSetCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCase(self, *_args, **_kwargs) return val def StyleSetCharacterSet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCharacterSet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCharacterSet(self, *_args, **_kwargs) + return val + def StyleSetHotSpot(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_StyleSetHotSpot(self, *_args, **_kwargs) return val def SetSelForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelForeground(self, *_args, **_kwargs) return val def SetSelBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelBackground(self, *_args, **_kwargs) return val def SetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretForeground(self, *_args, **_kwargs) return val def CmdKeyAssign(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyAssign,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyAssign(self, *_args, **_kwargs) return val def CmdKeyClear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClear(self, *_args, **_kwargs) return val def CmdKeyClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClearAll(self, *_args, **_kwargs) return val def SetStyleBytes(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBytes,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBytes(self, *_args, **_kwargs) return val def StyleSetVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetVisible(self, *_args, **_kwargs) return val def GetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretPeriod(self, *_args, **_kwargs) return val def SetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretPeriod(self, *_args, **_kwargs) return val def SetWordChars(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWordChars,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWordChars(self, *_args, **_kwargs) return val def BeginUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BeginUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BeginUndoAction(self, *_args, **_kwargs) return val def EndUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EndUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EndUndoAction(self, *_args, **_kwargs) return val def IndicatorSetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetStyle(self, *_args, **_kwargs) return val def IndicatorGetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetStyle(self, *_args, **_kwargs) return val def IndicatorSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetForeground(self, *_args, **_kwargs) return val def IndicatorGetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetWhitespaceForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceForeground(self, *_args, **_kwargs) return val def SetWhitespaceBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceBackground(self, *_args, **_kwargs) return val def SetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBits(self, *_args, **_kwargs) return val def GetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleBits(self, *_args, **_kwargs) return val def SetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineState(self, *_args, **_kwargs) return val def GetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineState(self, *_args, **_kwargs) return val def GetMaxLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMaxLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMaxLineState(self, *_args, **_kwargs) return val def GetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineVisible(self, *_args, **_kwargs) return val def SetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineVisible(self, *_args, **_kwargs) return val def GetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineBack(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineBack(self, *_args, **_kwargs) return val def StyleSetChangeable(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetChangeable,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetChangeable(self, *_args, **_kwargs) return val def AutoCompShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompShow(self, *_args, **_kwargs) return val def AutoCompCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompCancel(self, *_args, **_kwargs) return val def AutoCompActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompActive(self, *_args, **_kwargs) return val def AutoCompPosStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompPosStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompPosStart(self, *_args, **_kwargs) return val def AutoCompComplete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompComplete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompComplete(self, *_args, **_kwargs) return val def AutoCompStops(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompStops,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompStops(self, *_args, **_kwargs) return val def AutoCompSetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetSeparator(self, *_args, **_kwargs) return val def AutoCompGetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetSeparator(self, *_args, **_kwargs) return val def AutoCompSelect(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSelect,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSelect(self, *_args, **_kwargs) return val def AutoCompSetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompGetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompSetFillUps(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetFillUps,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetFillUps(self, *_args, **_kwargs) return val def AutoCompSetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle(self, *_args, **_kwargs) return val def AutoCompGetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle(self, *_args, **_kwargs) return val def AutoCompSetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase(self, *_args, **_kwargs) return val def AutoCompGetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase(self, *_args, **_kwargs) return val def UserListShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UserListShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UserListShow(self, *_args, **_kwargs) return val def AutoCompSetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetAutoHide(self, *_args, **_kwargs) return val def AutoCompGetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetAutoHide(self, *_args, **_kwargs) return val def AutoCompSetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord(self, *_args, **_kwargs) return val def AutoCompGetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord(self, *_args, **_kwargs) + return val + def RegisterImage(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_RegisterImage(self, *_args, **_kwargs) + return val + def ClearRegisteredImages(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ClearRegisteredImages(self, *_args, **_kwargs) + return val + def AutoCompGetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompGetTypeSeparator(self, *_args, **_kwargs) + return val + def AutoCompSetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompSetTypeSeparator(self, *_args, **_kwargs) return val def SetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndent(self, *_args, **_kwargs) return val def GetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndent(self, *_args, **_kwargs) return val def SetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseTabs(self, *_args, **_kwargs) return val def GetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseTabs(self, *_args, **_kwargs) return val def SetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentPosition(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetColumn(self, *_args, **_kwargs) return val def SetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def GetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def SetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndentationGuides(self, *_args, **_kwargs) return val def GetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndentationGuides(self, *_args, **_kwargs) return val def SetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHighlightGuide(self, *_args, **_kwargs) return val def GetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetHighlightGuide(self, *_args, **_kwargs) return val def GetLineEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineEndPosition(self, *_args, **_kwargs) return val def GetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCodePage(self, *_args, **_kwargs) return val def GetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetReadOnly(self, *_args, **_kwargs) return val def SetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCurrentPos(self, *_args, **_kwargs) return val def SetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionStart(self, *_args, **_kwargs) return val def GetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionStart(self, *_args, **_kwargs) return val def SetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionEnd(self, *_args, **_kwargs) return val def GetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionEnd(self, *_args, **_kwargs) return val def SetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintMagnification(self, *_args, **_kwargs) return val def GetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintMagnification(self, *_args, **_kwargs) return val def SetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintColourMode(self, *_args, **_kwargs) return val def GetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintColourMode(self, *_args, **_kwargs) return val def FindText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FindText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FindText(self, *_args, **_kwargs) return val def FormatRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FormatRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FormatRange(self, *_args, **_kwargs) return val def GetFirstVisibleLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFirstVisibleLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFirstVisibleLine(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLine(self, *_args, **_kwargs) return val def GetLineCount(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineCount,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineCount(self, *_args, **_kwargs) return val def SetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginLeft(self, *_args, **_kwargs) return val def GetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginLeft(self, *_args, **_kwargs) return val def SetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginRight(self, *_args, **_kwargs) return val def GetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginRight(self, *_args, **_kwargs) return val def GetModify(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModify,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModify(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelection(self, *_args, **_kwargs) return val def GetSelectedText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectedText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectedText(self, *_args, **_kwargs) return val def GetTextRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextRange(self, *_args, **_kwargs) return val def HideSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideSelection(self, *_args, **_kwargs) return val def LineFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineFromPosition(self, *_args, **_kwargs) return val def PositionFromLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromLine(self, *_args, **_kwargs) return val def LineScroll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineScroll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineScroll(self, *_args, **_kwargs) return val def EnsureCaretVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureCaretVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureCaretVisible(self, *_args, **_kwargs) return val def ReplaceSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceSelection(self, *_args, **_kwargs) return val def SetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetReadOnly(self, *_args, **_kwargs) return val def CanPaste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanPaste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanPaste(self, *_args, **_kwargs) return val def CanUndo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanUndo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanUndo(self, *_args, **_kwargs) return val def EmptyUndoBuffer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EmptyUndoBuffer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EmptyUndoBuffer(self, *_args, **_kwargs) return val def Undo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Undo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Undo(self, *_args, **_kwargs) return val def Cut(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Cut,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Cut(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Copy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Copy(self, *_args, **_kwargs) return val def Paste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Paste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Paste(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Clear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Clear(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetText(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetText(self, *_args, **_kwargs) return val def GetTextLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextLength(self, *_args, **_kwargs) return val def SetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetOvertype(self, *_args, **_kwargs) return val def GetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetOvertype(self, *_args, **_kwargs) return val def SetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretWidth(self, *_args, **_kwargs) return val def GetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretWidth(self, *_args, **_kwargs) return val def SetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetStart(self, *_args, **_kwargs) return val def GetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetStart(self, *_args, **_kwargs) return val def SetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetEnd(self, *_args, **_kwargs) return val def GetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetEnd(self, *_args, **_kwargs) return val def ReplaceTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTarget(self, *_args, **_kwargs) return val def ReplaceTargetRE(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTargetRE,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTargetRE(self, *_args, **_kwargs) return val def SearchInTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchInTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchInTarget(self, *_args, **_kwargs) return val def SetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSearchFlags(self, *_args, **_kwargs) return val def GetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSearchFlags(self, *_args, **_kwargs) return val def CallTipShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipShow(self, *_args, **_kwargs) return val def CallTipCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipCancel(self, *_args, **_kwargs) return val def CallTipActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipActive(self, *_args, **_kwargs) return val def CallTipPosAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipPosAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipPosAtStart(self, *_args, **_kwargs) return val def CallTipSetHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetHighlight(self, *_args, **_kwargs) return val def CallTipSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetBackground(self, *_args, **_kwargs) + return val + def CallTipSetForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForeground(self, *_args, **_kwargs) + return val + def CallTipSetForegroundHighlight(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForegroundHighlight(self, *_args, **_kwargs) return val def VisibleFromDocLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_VisibleFromDocLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_VisibleFromDocLine(self, *_args, **_kwargs) return val def DocLineFromVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DocLineFromVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DocLineFromVisible(self, *_args, **_kwargs) return val def SetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldLevel(self, *_args, **_kwargs) return val def GetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldLevel(self, *_args, **_kwargs) return val def GetLastChild(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastChild,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastChild(self, *_args, **_kwargs) return val def GetFoldParent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldParent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldParent(self, *_args, **_kwargs) return val def ShowLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ShowLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ShowLines(self, *_args, **_kwargs) return val def HideLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideLines(self, *_args, **_kwargs) return val def GetLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineVisible(self, *_args, **_kwargs) return val def SetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldExpanded(self, *_args, **_kwargs) return val def GetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldExpanded(self, *_args, **_kwargs) return val def ToggleFold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ToggleFold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ToggleFold(self, *_args, **_kwargs) return val def EnsureVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisible(self, *_args, **_kwargs) return val def SetFoldFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldFlags(self, *_args, **_kwargs) return val def EnsureVisibleEnforcePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy(self, *_args, **_kwargs) return val def SetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabIndents(self, *_args, **_kwargs) return val def GetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabIndents(self, *_args, **_kwargs) return val def SetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents(self, *_args, **_kwargs) return val def GetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents(self, *_args, **_kwargs) return val def SetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDwellTime(self, *_args, **_kwargs) return val def GetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDwellTime(self, *_args, **_kwargs) return val def WordStartPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordStartPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordStartPosition(self, *_args, **_kwargs) return val def WordEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordEndPosition(self, *_args, **_kwargs) return val def SetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWrapMode(self, *_args, **_kwargs) return val def GetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetWrapMode(self, *_args, **_kwargs) return val def SetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLayoutCache(self, *_args, **_kwargs) return val def GetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLayoutCache(self, *_args, **_kwargs) return val def SetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetScrollWidth(self, *_args, **_kwargs) return val def GetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetScrollWidth(self, *_args, **_kwargs) return val def TextWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextWidth(self, *_args, **_kwargs) return val def SetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEndAtLastLine(self, *_args, **_kwargs) return val def GetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndAtLastLine(self, *_args, **_kwargs) return val def TextHeight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextHeight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextHeight(self, *_args, **_kwargs) + return val + def SetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def GetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def AppendText(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AppendText(self, *_args, **_kwargs) + return val + def GetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def SetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def TargetFromSelection(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_TargetFromSelection(self, *_args, **_kwargs) + return val + def LinesJoin(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesJoin(self, *_args, **_kwargs) + return val + def LinesSplit(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesSplit(self, *_args, **_kwargs) + return val + def SetFoldMarginColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginColour(self, *_args, **_kwargs) + return val + def SetFoldMarginHiColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginHiColour(self, *_args, **_kwargs) + return val + def LineDuplicate(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LineDuplicate(self, *_args, **_kwargs) return val def HomeDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplay(self, *_args, **_kwargs) return val def HomeDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplayExtend(self, *_args, **_kwargs) return val def LineEndDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplay(self, *_args, **_kwargs) return val def LineEndDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplayExtend(self, *_args, **_kwargs) return val def MoveCaretInsideView(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MoveCaretInsideView,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MoveCaretInsideView(self, *_args, **_kwargs) return val def LineLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineLength(self, *_args, **_kwargs) return val def BraceHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceHighlight(self, *_args, **_kwargs) return val def BraceBadLight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceBadLight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceBadLight(self, *_args, **_kwargs) return val def BraceMatch(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceMatch,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceMatch(self, *_args, **_kwargs) return val def GetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewEOL(self, *_args, **_kwargs) return val def SetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewEOL(self, *_args, **_kwargs) return val def GetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetDocPointer(self, *_args, **_kwargs) return val def SetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetDocPointer(self, *_args, **_kwargs) return val def SetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetModEventMask(self, *_args, **_kwargs) return val def GetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColumn(self, *_args, **_kwargs) return val def SetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColumn(self, *_args, **_kwargs) return val def GetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeMode(self, *_args, **_kwargs) return val def SetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeMode(self, *_args, **_kwargs) return val def GetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColour(self, *_args, **_kwargs) return val def SearchAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchAnchor(self, *_args, **_kwargs) return val def SearchNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchNext(self, *_args, **_kwargs) return val def SearchPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchPrev(self, *_args, **_kwargs) return val def LinesOnScreen(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LinesOnScreen,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LinesOnScreen(self, *_args, **_kwargs) return val def UsePopUp(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UsePopUp,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UsePopUp(self, *_args, **_kwargs) return val def SelectionIsRectangle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectionIsRectangle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectionIsRectangle(self, *_args, **_kwargs) return val def SetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetZoom(self, *_args, **_kwargs) return val def GetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetZoom(self, *_args, **_kwargs) return val def CreateDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CreateDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CreateDocument(self, *_args, **_kwargs) return val def AddRefDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddRefDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddRefDocument(self, *_args, **_kwargs) return val def ReleaseDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReleaseDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReleaseDocument(self, *_args, **_kwargs) return val def GetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModEventMask(self, *_args, **_kwargs) return val def SetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSTCFocus(self, *_args, **_kwargs) return val def GetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSTCFocus(self, *_args, **_kwargs) return val def SetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStatus(self, *_args, **_kwargs) return val def GetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStatus(self, *_args, **_kwargs) return val def SetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDownCaptures(self, *_args, **_kwargs) return val def GetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDownCaptures(self, *_args, **_kwargs) return val def SetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCursor(self, *_args, **_kwargs) return val def GetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCursor(self, *_args, **_kwargs) return val def SetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetControlCharSymbol(self, *_args, **_kwargs) return val def GetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetControlCharSymbol(self, *_args, **_kwargs) return val def WordPartLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeft(self, *_args, **_kwargs) return val def WordPartLeftExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeftExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeftExtend(self, *_args, **_kwargs) return val def WordPartRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRight(self, *_args, **_kwargs) return val def WordPartRightExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRightExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRightExtend(self, *_args, **_kwargs) return val def SetVisiblePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVisiblePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVisiblePolicy(self, *_args, **_kwargs) return val def DelLineLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineLeft(self, *_args, **_kwargs) return val def DelLineRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineRight(self, *_args, **_kwargs) return val def SetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXOffset(self, *_args, **_kwargs) return val def GetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetXOffset(self, *_args, **_kwargs) + return val + def ChooseCaretX(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ChooseCaretX(self, *_args, **_kwargs) return val def SetXCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXCaretPolicy(self, *_args, **_kwargs) return val def SetYCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetYCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetYCaretPolicy(self, *_args, **_kwargs) + return val + def SetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetPrintWrapMode(self, *_args, **_kwargs) + return val + def GetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetPrintWrapMode(self, *_args, **_kwargs) + return val + def SetHotspotActiveForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveForeground(self, *_args, **_kwargs) + return val + def SetHotspotActiveBackground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveBackground(self, *_args, **_kwargs) + return val + def SetHotspotActiveUnderline(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveUnderline(self, *_args, **_kwargs) return val def StartRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartRecord(self, *_args, **_kwargs) return val def StopRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StopRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StopRecord(self, *_args, **_kwargs) return val def SetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexer(self, *_args, **_kwargs) return val def GetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLexer(self, *_args, **_kwargs) return val def Colourise(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Colourise,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Colourise(self, *_args, **_kwargs) return val def SetProperty(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetProperty,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetProperty(self, *_args, **_kwargs) return val def SetKeyWords(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetKeyWords,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetKeyWords(self, *_args, **_kwargs) return val def SetLexerLanguage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexerLanguage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexerLanguage(self, *_args, **_kwargs) return val def GetCurrentLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentLine(self, *_args, **_kwargs) return val def StyleSetSpec(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSpec,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSpec(self, *_args, **_kwargs) return val def StyleSetFont(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFont,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFont(self, *_args, **_kwargs) return val def StyleSetFontAttr(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFontAttr,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFontAttr(self, *_args, **_kwargs) return val def CmdKeyExecute(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyExecute,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyExecute(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMargins,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMargins(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelection(self, *_args, **_kwargs) return val def PointFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PointFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PointFromPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ScrollToLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToLine(self, *_args, **_kwargs) return val def ScrollToColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToColumn(self, *_args, **_kwargs) return val def SendMsg(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SendMsg,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SendMsg(self, *_args, **_kwargs) return val def SetVScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVScrollBar(self, *_args, **_kwargs) return val def SetHScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHScrollBar(self, *_args, **_kwargs) return val def GetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastKeydownProcessed(self, *_args, **_kwargs) return val def SetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLastKeydownProcessed(self, *_args, **_kwargs) + return val + def SaveFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SaveFile(self, *_args, **_kwargs) + return val + def LoadFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LoadFile(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextCtrl(wxStyledTextCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextCtrl,_args,_kwargs) + self.this = stc_c.new_wxStyledTextCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -1053,143 +1142,143 @@ class wxStyledTextEventPtr(wxCommandEventPtr): except: pass def SetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetPosition(self, *_args, **_kwargs) return val def SetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetKey(self, *_args, **_kwargs) return val def SetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModifiers(self, *_args, **_kwargs) return val def SetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModificationType(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetText(self, *_args, **_kwargs) return val def SetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLength(self, *_args, **_kwargs) return val def SetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLinesAdded(self, *_args, **_kwargs) return val def SetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLine(self, *_args, **_kwargs) return val def SetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelNow(self, *_args, **_kwargs) return val def SetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelPrev(self, *_args, **_kwargs) return val def SetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMargin(self, *_args, **_kwargs) return val def SetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMessage(self, *_args, **_kwargs) return val def SetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetWParam(self, *_args, **_kwargs) return val def SetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLParam(self, *_args, **_kwargs) return val def SetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetListType(self, *_args, **_kwargs) return val def SetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetX(self, *_args, **_kwargs) return val def SetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetY(self, *_args, **_kwargs) return val def SetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragText(self, *_args, **_kwargs) return val def SetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragAllowMove(self, *_args, **_kwargs) return val def SetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragResult(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetPosition(self, *_args, **_kwargs) return val def GetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetKey(self, *_args, **_kwargs) return val def GetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModifiers(self, *_args, **_kwargs) return val def GetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModificationType(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetText(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLength(self, *_args, **_kwargs) return val def GetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLinesAdded(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLine(self, *_args, **_kwargs) return val def GetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelNow(self, *_args, **_kwargs) return val def GetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelPrev(self, *_args, **_kwargs) return val def GetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMargin(self, *_args, **_kwargs) return val def GetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMessage(self, *_args, **_kwargs) return val def GetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetWParam(self, *_args, **_kwargs) return val def GetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLParam(self, *_args, **_kwargs) return val def GetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetListType(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetY(self, *_args, **_kwargs) return val def GetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragText(self, *_args, **_kwargs) return val def GetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragAllowMove(self, *_args, **_kwargs) return val def GetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragResult(self, *_args, **_kwargs) return val def GetShift(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetShift,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetShift(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetControl,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetControl(self, *_args, **_kwargs) return val def GetAlt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetAlt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetAlt(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_Clone,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_Clone(self, *_args, **_kwargs) if val: val = wxEventPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextEvent(wxStyledTextEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextEvent,_args,_kwargs) + self.this = stc_c.new_wxStyledTextEvent(*_args,**_kwargs) self.thisown = 1 @@ -1215,6 +1304,7 @@ wxSTC_EOL_CRLF = stc_c.wxSTC_EOL_CRLF wxSTC_EOL_CR = stc_c.wxSTC_EOL_CR wxSTC_EOL_LF = stc_c.wxSTC_EOL_LF wxSTC_CP_UTF8 = stc_c.wxSTC_CP_UTF8 +wxSTC_CP_DBCS = stc_c.wxSTC_CP_DBCS wxSTC_MARKER_MAX = stc_c.wxSTC_MARKER_MAX wxSTC_MARK_CIRCLE = stc_c.wxSTC_MARK_CIRCLE wxSTC_MARK_ROUNDRECT = stc_c.wxSTC_MARK_ROUNDRECT @@ -1241,6 +1331,7 @@ wxSTC_MARK_CIRCLEMINUSCONNECTED = stc_c.wxSTC_MARK_CIRCLEMINUSCONNECTED wxSTC_MARK_BACKGROUND = stc_c.wxSTC_MARK_BACKGROUND wxSTC_MARK_DOTDOTDOT = stc_c.wxSTC_MARK_DOTDOTDOT wxSTC_MARK_ARROWS = stc_c.wxSTC_MARK_ARROWS +wxSTC_MARK_PIXMAP = stc_c.wxSTC_MARK_PIXMAP wxSTC_MARK_CHARACTER = stc_c.wxSTC_MARK_CHARACTER wxSTC_MARKNUM_FOLDEREND = stc_c.wxSTC_MARKNUM_FOLDEREND wxSTC_MARKNUM_FOLDEROPENMID = stc_c.wxSTC_MARKNUM_FOLDEROPENMID @@ -1301,10 +1392,21 @@ wxSTC_FIND_WHOLEWORD = stc_c.wxSTC_FIND_WHOLEWORD wxSTC_FIND_MATCHCASE = stc_c.wxSTC_FIND_MATCHCASE wxSTC_FIND_WORDSTART = stc_c.wxSTC_FIND_WORDSTART wxSTC_FIND_REGEXP = stc_c.wxSTC_FIND_REGEXP +wxSTC_FIND_POSIX = stc_c.wxSTC_FIND_POSIX wxSTC_FOLDLEVELBASE = stc_c.wxSTC_FOLDLEVELBASE wxSTC_FOLDLEVELWHITEFLAG = stc_c.wxSTC_FOLDLEVELWHITEFLAG wxSTC_FOLDLEVELHEADERFLAG = stc_c.wxSTC_FOLDLEVELHEADERFLAG +wxSTC_FOLDLEVELBOXHEADERFLAG = stc_c.wxSTC_FOLDLEVELBOXHEADERFLAG +wxSTC_FOLDLEVELBOXFOOTERFLAG = stc_c.wxSTC_FOLDLEVELBOXFOOTERFLAG +wxSTC_FOLDLEVELCONTRACTED = stc_c.wxSTC_FOLDLEVELCONTRACTED +wxSTC_FOLDLEVELUNINDENT = stc_c.wxSTC_FOLDLEVELUNINDENT wxSTC_FOLDLEVELNUMBERMASK = stc_c.wxSTC_FOLDLEVELNUMBERMASK +wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED +wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED +wxSTC_FOLDFLAG_LINEAFTER_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_EXPANDED +wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED +wxSTC_FOLDFLAG_LEVELNUMBERS = stc_c.wxSTC_FOLDFLAG_LEVELNUMBERS +wxSTC_FOLDFLAG_BOX = stc_c.wxSTC_FOLDFLAG_BOX wxSTC_TIME_FOREVER = stc_c.wxSTC_TIME_FOREVER wxSTC_WRAP_NONE = stc_c.wxSTC_WRAP_NONE wxSTC_WRAP_WORD = stc_c.wxSTC_WRAP_WORD @@ -1389,6 +1491,12 @@ wxSTC_LEX_PHP = stc_c.wxSTC_LEX_PHP wxSTC_LEX_BAAN = stc_c.wxSTC_LEX_BAAN wxSTC_LEX_MATLAB = stc_c.wxSTC_LEX_MATLAB wxSTC_LEX_SCRIPTOL = stc_c.wxSTC_LEX_SCRIPTOL +wxSTC_LEX_ASM = stc_c.wxSTC_LEX_ASM +wxSTC_LEX_CPPNOCASE = stc_c.wxSTC_LEX_CPPNOCASE +wxSTC_LEX_FORTRAN = stc_c.wxSTC_LEX_FORTRAN +wxSTC_LEX_F77 = stc_c.wxSTC_LEX_F77 +wxSTC_LEX_CSS = stc_c.wxSTC_LEX_CSS +wxSTC_LEX_POV = stc_c.wxSTC_LEX_POV wxSTC_LEX_AUTOMATIC = stc_c.wxSTC_LEX_AUTOMATIC wxSTC_P_DEFAULT = stc_c.wxSTC_P_DEFAULT wxSTC_P_COMMENTLINE = stc_c.wxSTC_P_COMMENTLINE @@ -1614,6 +1722,9 @@ wxSTC_ERR_DIFF_CHANGED = stc_c.wxSTC_ERR_DIFF_CHANGED wxSTC_ERR_DIFF_ADDITION = stc_c.wxSTC_ERR_DIFF_ADDITION wxSTC_ERR_DIFF_DELETION = stc_c.wxSTC_ERR_DIFF_DELETION wxSTC_ERR_DIFF_MESSAGE = stc_c.wxSTC_ERR_DIFF_MESSAGE +wxSTC_ERR_PHP = stc_c.wxSTC_ERR_PHP +wxSTC_ERR_ELF = stc_c.wxSTC_ERR_ELF +wxSTC_ERR_IFC = stc_c.wxSTC_ERR_IFC wxSTC_BAT_DEFAULT = stc_c.wxSTC_BAT_DEFAULT wxSTC_BAT_COMMENT = stc_c.wxSTC_BAT_COMMENT wxSTC_BAT_WORD = stc_c.wxSTC_BAT_WORD @@ -1650,22 +1761,29 @@ wxSTC_AVE_DEFAULT = stc_c.wxSTC_AVE_DEFAULT wxSTC_AVE_COMMENT = stc_c.wxSTC_AVE_COMMENT wxSTC_AVE_NUMBER = stc_c.wxSTC_AVE_NUMBER wxSTC_AVE_WORD = stc_c.wxSTC_AVE_WORD -wxSTC_AVE_KEYWORD = stc_c.wxSTC_AVE_KEYWORD -wxSTC_AVE_STATEMENT = stc_c.wxSTC_AVE_STATEMENT wxSTC_AVE_STRING = stc_c.wxSTC_AVE_STRING wxSTC_AVE_ENUM = stc_c.wxSTC_AVE_ENUM wxSTC_AVE_STRINGEOL = stc_c.wxSTC_AVE_STRINGEOL wxSTC_AVE_IDENTIFIER = stc_c.wxSTC_AVE_IDENTIFIER wxSTC_AVE_OPERATOR = stc_c.wxSTC_AVE_OPERATOR +wxSTC_AVE_WORD1 = stc_c.wxSTC_AVE_WORD1 +wxSTC_AVE_WORD2 = stc_c.wxSTC_AVE_WORD2 +wxSTC_AVE_WORD3 = stc_c.wxSTC_AVE_WORD3 +wxSTC_AVE_WORD4 = stc_c.wxSTC_AVE_WORD4 +wxSTC_AVE_WORD5 = stc_c.wxSTC_AVE_WORD5 +wxSTC_AVE_WORD6 = stc_c.wxSTC_AVE_WORD6 wxSTC_ADA_DEFAULT = stc_c.wxSTC_ADA_DEFAULT -wxSTC_ADA_COMMENT = stc_c.wxSTC_ADA_COMMENT -wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER wxSTC_ADA_WORD = stc_c.wxSTC_ADA_WORD -wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING -wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER -wxSTC_ADA_OPERATOR = stc_c.wxSTC_ADA_OPERATOR wxSTC_ADA_IDENTIFIER = stc_c.wxSTC_ADA_IDENTIFIER +wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER +wxSTC_ADA_DELIMITER = stc_c.wxSTC_ADA_DELIMITER +wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER +wxSTC_ADA_CHARACTEREOL = stc_c.wxSTC_ADA_CHARACTEREOL +wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING wxSTC_ADA_STRINGEOL = stc_c.wxSTC_ADA_STRINGEOL +wxSTC_ADA_LABEL = stc_c.wxSTC_ADA_LABEL +wxSTC_ADA_COMMENTLINE = stc_c.wxSTC_ADA_COMMENTLINE +wxSTC_ADA_ILLEGAL = stc_c.wxSTC_ADA_ILLEGAL wxSTC_BAAN_DEFAULT = stc_c.wxSTC_BAAN_DEFAULT wxSTC_BAAN_COMMENT = stc_c.wxSTC_BAAN_COMMENT wxSTC_BAAN_COMMENTDOC = stc_c.wxSTC_BAAN_COMMENTDOC @@ -1733,6 +1851,58 @@ wxSTC_SCRIPTOL_WORD2 = stc_c.wxSTC_SCRIPTOL_WORD2 wxSTC_SCRIPTOL_COMMENTDOCKEYWORD = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORD wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR wxSTC_SCRIPTOL_COMMENTBASIC = stc_c.wxSTC_SCRIPTOL_COMMENTBASIC +wxSTC_ASM_DEFAULT = stc_c.wxSTC_ASM_DEFAULT +wxSTC_ASM_COMMENT = stc_c.wxSTC_ASM_COMMENT +wxSTC_ASM_NUMBER = stc_c.wxSTC_ASM_NUMBER +wxSTC_ASM_STRING = stc_c.wxSTC_ASM_STRING +wxSTC_ASM_OPERATOR = stc_c.wxSTC_ASM_OPERATOR +wxSTC_ASM_IDENTIFIER = stc_c.wxSTC_ASM_IDENTIFIER +wxSTC_ASM_CPUINSTRUCTION = stc_c.wxSTC_ASM_CPUINSTRUCTION +wxSTC_ASM_MATHINSTRUCTION = stc_c.wxSTC_ASM_MATHINSTRUCTION +wxSTC_ASM_REGISTER = stc_c.wxSTC_ASM_REGISTER +wxSTC_ASM_DIRECTIVE = stc_c.wxSTC_ASM_DIRECTIVE +wxSTC_ASM_DIRECTIVEOPERAND = stc_c.wxSTC_ASM_DIRECTIVEOPERAND +wxSTC_F_DEFAULT = stc_c.wxSTC_F_DEFAULT +wxSTC_F_COMMENT = stc_c.wxSTC_F_COMMENT +wxSTC_F_NUMBER = stc_c.wxSTC_F_NUMBER +wxSTC_F_STRING1 = stc_c.wxSTC_F_STRING1 +wxSTC_F_STRING2 = stc_c.wxSTC_F_STRING2 +wxSTC_F_STRINGEOL = stc_c.wxSTC_F_STRINGEOL +wxSTC_F_OPERATOR = stc_c.wxSTC_F_OPERATOR +wxSTC_F_IDENTIFIER = stc_c.wxSTC_F_IDENTIFIER +wxSTC_F_WORD = stc_c.wxSTC_F_WORD +wxSTC_F_WORD2 = stc_c.wxSTC_F_WORD2 +wxSTC_F_WORD3 = stc_c.wxSTC_F_WORD3 +wxSTC_F_PREPROCESSOR = stc_c.wxSTC_F_PREPROCESSOR +wxSTC_F_OPERATOR2 = stc_c.wxSTC_F_OPERATOR2 +wxSTC_F_LABEL = stc_c.wxSTC_F_LABEL +wxSTC_F_CONTINUATION = stc_c.wxSTC_F_CONTINUATION +wxSTC_CSS_DEFAULT = stc_c.wxSTC_CSS_DEFAULT +wxSTC_CSS_TAG = stc_c.wxSTC_CSS_TAG +wxSTC_CSS_CLASS = stc_c.wxSTC_CSS_CLASS +wxSTC_CSS_PSEUDOCLASS = stc_c.wxSTC_CSS_PSEUDOCLASS +wxSTC_CSS_UNKNOWN_PSEUDOCLASS = stc_c.wxSTC_CSS_UNKNOWN_PSEUDOCLASS +wxSTC_CSS_OPERATOR = stc_c.wxSTC_CSS_OPERATOR +wxSTC_CSS_IDENTIFIER = stc_c.wxSTC_CSS_IDENTIFIER +wxSTC_CSS_UNKNOWN_IDENTIFIER = stc_c.wxSTC_CSS_UNKNOWN_IDENTIFIER +wxSTC_CSS_VALUE = stc_c.wxSTC_CSS_VALUE +wxSTC_CSS_COMMENT = stc_c.wxSTC_CSS_COMMENT +wxSTC_CSS_ID = stc_c.wxSTC_CSS_ID +wxSTC_CSS_IMPORTANT = stc_c.wxSTC_CSS_IMPORTANT +wxSTC_CSS_DIRECTIVE = stc_c.wxSTC_CSS_DIRECTIVE +wxSTC_CSS_DOUBLESTRING = stc_c.wxSTC_CSS_DOUBLESTRING +wxSTC_CSS_SINGLESTRING = stc_c.wxSTC_CSS_SINGLESTRING +wxSTC_POV_DEFAULT = stc_c.wxSTC_POV_DEFAULT +wxSTC_POV_COMMENT = stc_c.wxSTC_POV_COMMENT +wxSTC_POV_COMMENTLINE = stc_c.wxSTC_POV_COMMENTLINE +wxSTC_POV_COMMENTDOC = stc_c.wxSTC_POV_COMMENTDOC +wxSTC_POV_NUMBER = stc_c.wxSTC_POV_NUMBER +wxSTC_POV_WORD = stc_c.wxSTC_POV_WORD +wxSTC_POV_STRING = stc_c.wxSTC_POV_STRING +wxSTC_POV_OPERATOR = stc_c.wxSTC_POV_OPERATOR +wxSTC_POV_IDENTIFIER = stc_c.wxSTC_POV_IDENTIFIER +wxSTC_POV_BRACE = stc_c.wxSTC_POV_BRACE +wxSTC_POV_WORD2 = stc_c.wxSTC_POV_WORD2 wxSTC_CMD_REDO = stc_c.wxSTC_CMD_REDO wxSTC_CMD_SELECTALL = stc_c.wxSTC_CMD_SELECTALL wxSTC_CMD_UNDO = stc_c.wxSTC_CMD_UNDO @@ -1780,6 +1950,7 @@ wxSTC_CMD_DELWORDRIGHT = stc_c.wxSTC_CMD_DELWORDRIGHT wxSTC_CMD_LINECUT = stc_c.wxSTC_CMD_LINECUT wxSTC_CMD_LINEDELETE = stc_c.wxSTC_CMD_LINEDELETE wxSTC_CMD_LINETRANSPOSE = stc_c.wxSTC_CMD_LINETRANSPOSE +wxSTC_CMD_LINEDUPLICATE = stc_c.wxSTC_CMD_LINEDUPLICATE wxSTC_CMD_LOWERCASE = stc_c.wxSTC_CMD_LOWERCASE wxSTC_CMD_UPPERCASE = stc_c.wxSTC_CMD_UPPERCASE wxSTC_CMD_LINESCROLLDOWN = stc_c.wxSTC_CMD_LINESCROLLDOWN @@ -1789,12 +1960,22 @@ wxSTC_CMD_HOMEDISPLAY = stc_c.wxSTC_CMD_HOMEDISPLAY wxSTC_CMD_HOMEDISPLAYEXTEND = stc_c.wxSTC_CMD_HOMEDISPLAYEXTEND wxSTC_CMD_LINEENDDISPLAY = stc_c.wxSTC_CMD_LINEENDDISPLAY wxSTC_CMD_LINEENDDISPLAYEXTEND = stc_c.wxSTC_CMD_LINEENDDISPLAYEXTEND +wxSTC_CMD_HOMEWRAP = stc_c.wxSTC_CMD_HOMEWRAP +wxSTC_CMD_HOMEWRAPEXTEND = stc_c.wxSTC_CMD_HOMEWRAPEXTEND +wxSTC_CMD_LINEENDWRAP = stc_c.wxSTC_CMD_LINEENDWRAP +wxSTC_CMD_LINEENDWRAPEXTEND = stc_c.wxSTC_CMD_LINEENDWRAPEXTEND +wxSTC_CMD_VCHOMEWRAP = stc_c.wxSTC_CMD_VCHOMEWRAP +wxSTC_CMD_VCHOMEWRAPEXTEND = stc_c.wxSTC_CMD_VCHOMEWRAPEXTEND wxSTC_CMD_WORDPARTLEFT = stc_c.wxSTC_CMD_WORDPARTLEFT wxSTC_CMD_WORDPARTLEFTEXTEND = stc_c.wxSTC_CMD_WORDPARTLEFTEXTEND wxSTC_CMD_WORDPARTRIGHT = stc_c.wxSTC_CMD_WORDPARTRIGHT wxSTC_CMD_WORDPARTRIGHTEXTEND = stc_c.wxSTC_CMD_WORDPARTRIGHTEXTEND wxSTC_CMD_DELLINELEFT = stc_c.wxSTC_CMD_DELLINELEFT wxSTC_CMD_DELLINERIGHT = stc_c.wxSTC_CMD_DELLINERIGHT +wxSTC_CMD_PARADOWN = stc_c.wxSTC_CMD_PARADOWN +wxSTC_CMD_PARADOWNEXTEND = stc_c.wxSTC_CMD_PARADOWNEXTEND +wxSTC_CMD_PARAUP = stc_c.wxSTC_CMD_PARAUP +wxSTC_CMD_PARAUPEXTEND = stc_c.wxSTC_CMD_PARAUPEXTEND STC_USE_DND = stc_c.STC_USE_DND wxEVT_STC_CHANGE = stc_c.wxEVT_STC_CHANGE wxEVT_STC_STYLENEEDED = stc_c.wxEVT_STC_STYLENEEDED @@ -1819,6 +2000,9 @@ wxEVT_STC_START_DRAG = stc_c.wxEVT_STC_START_DRAG wxEVT_STC_DRAG_OVER = stc_c.wxEVT_STC_DRAG_OVER wxEVT_STC_DO_DROP = stc_c.wxEVT_STC_DO_DROP wxEVT_STC_ZOOM = stc_c.wxEVT_STC_ZOOM +wxEVT_STC_HOTSPOT_CLICK = stc_c.wxEVT_STC_HOTSPOT_CLICK +wxEVT_STC_HOTSPOT_DCLICK = stc_c.wxEVT_STC_HOTSPOT_DCLICK +wxEVT_STC_CALLTIP_CLICK = stc_c.wxEVT_STC_CALLTIP_CLICK #-------------- USER INCLUDE ----------------------- diff --git a/wxPython/contrib/stc/msw/stc_.cpp b/wxPython/contrib/stc/msw/stc_.cpp index 70f55c2596..ac7fbdb933 100644 --- a/wxPython/contrib/stc/msw/stc_.cpp +++ b/wxPython/contrib/stc/msw/stc_.cpp @@ -1649,6 +1649,43 @@ static PyObject *_wrap_wxStyledTextCtrl_MarkerPrevious(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_MarkerDefineBitmap(_swigobj,_swigarg0,_swigarg1) (_swigobj->MarkerDefineBitmap(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_MarkerDefineBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","markerNumber","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_MarkerDefineBitmap",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_MarkerDefineBitmap. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_MarkerDefineBitmap(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetMarginType(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetMarginType(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetMarginType(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -2275,6 +2312,38 @@ static PyObject *_wrap_wxStyledTextCtrl_StyleSetCharacterSet(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_StyleSetHotSpot(_swigobj,_swigarg0,_swigarg1) (_swigobj->StyleSetHotSpot(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_StyleSetHotSpot(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + bool _arg2; + PyObject * _argo0 = 0; + int tempbool2; + char *_kwnames[] = { "self","style","hotspot", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxStyledTextCtrl_StyleSetHotSpot",_kwnames,&_argo0,&_arg1,&tempbool2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_StyleSetHotSpot. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg2 = (bool ) tempbool2; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_StyleSetHotSpot(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetSelForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetSelForeground(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetSelForeground(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3859,6 +3928,128 @@ static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord(PyObject *self return _resultobj; } +#define wxStyledTextCtrl_RegisterImage(_swigobj,_swigarg0,_swigarg1) (_swigobj->RegisterImage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_RegisterImage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + wxBitmap * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","type","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_RegisterImage",_kwnames,&_argo0,&_arg1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_RegisterImage. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxStyledTextCtrl_RegisterImage. Expected _wxBitmap_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_RegisterImage(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_ClearRegisteredImages(_swigobj) (_swigobj->ClearRegisteredImages()) +static PyObject *_wrap_wxStyledTextCtrl_ClearRegisteredImages(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ClearRegisteredImages",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ClearRegisteredImages. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ClearRegisteredImages(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompGetTypeSeparator(_swigobj) (_swigobj->AutoCompGetTypeSeparator()) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_AutoCompGetTypeSeparator",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompGetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_AutoCompGetTypeSeparator(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_AutoCompSetTypeSeparator(_swigobj,_swigarg0) (_swigobj->AutoCompSetTypeSeparator(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","separatorCharacter", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_AutoCompSetTypeSeparator",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AutoCompSetTypeSeparator. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_AutoCompSetTypeSeparator(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetIndent(_swigobj,_swigarg0) (_swigobj->SetIndent(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_SetIndent(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -6229,6 +6420,78 @@ static PyObject *_wrap_wxStyledTextCtrl_CallTipSetBackground(PyObject *self, PyO return _resultobj; } +#define wxStyledTextCtrl_CallTipSetForeground(_swigobj,_swigarg0) (_swigobj->CallTipSetForeground(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForeground",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForeground(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_CallTipSetForegroundHighlight(_swigobj,_swigarg0) (_swigobj->CallTipSetForegroundHighlight(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + wxColour * _arg1; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_CallTipSetForegroundHighlight",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_CallTipSetForegroundHighlight. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_CallTipSetForegroundHighlight(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_VisibleFromDocLine(_swigobj,_swigarg0) (_swigobj->VisibleFromDocLine(_swigarg0)) static PyObject *_wrap_wxStyledTextCtrl_VisibleFromDocLine(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -7209,26 +7472,29 @@ static PyObject *_wrap_wxStyledTextCtrl_TextHeight(PyObject *self, PyObject *arg return _resultobj; } -#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_SetUseVerticalScrollBar(_swigobj,_swigarg0) (_swigobj->SetUseVerticalScrollBar(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","show", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetUseVerticalScrollBar",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplay(_arg0); + wxStyledTextCtrl_SetUseVerticalScrollBar(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -7237,76 +7503,422 @@ static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *ar return _resultobj; } -#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetUseVerticalScrollBar(_swigobj) (_swigobj->GetUseVerticalScrollBar()) +static PyObject *_wrap_wxStyledTextCtrl_GetUseVerticalScrollBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetUseVerticalScrollBar",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetUseVerticalScrollBar. Expected _wxStyledTextCtrl_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_HomeDisplayExtend(_arg0); + _result = (bool )wxStyledTextCtrl_GetUseVerticalScrollBar(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_AppendText(_swigobj,_swigarg0,_swigarg1) (_swigobj->AppendText(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_AppendText(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxStyledTextCtrl * _arg0; + int _arg1; + wxString * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","length","text", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_AppendText",_kwnames,&_argo0,&_arg1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_AppendText. Expected _wxStyledTextCtrl_p."); return NULL; } } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxStyledTextCtrl_LineEndDisplay(_arg0); + wxStyledTextCtrl_AppendText(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + if (_obj2) + delete _arg2; +} return _resultobj; } -#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) -static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxStyledTextCtrl_GetTwoPhaseDraw(_swigobj) (_swigobj->GetTwoPhaseDraw()) +static PyObject *_wrap_wxStyledTextCtrl_GetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxStyledTextCtrl * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetTwoPhaseDraw",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_GetTwoPhaseDraw(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetTwoPhaseDraw(_swigobj,_swigarg0) (_swigobj->SetTwoPhaseDraw(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetTwoPhaseDraw(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","twoPhase", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetTwoPhaseDraw",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetTwoPhaseDraw. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetTwoPhaseDraw(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_TargetFromSelection(_swigobj) (_swigobj->TargetFromSelection()) +static PyObject *_wrap_wxStyledTextCtrl_TargetFromSelection(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_TargetFromSelection",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_TargetFromSelection. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_TargetFromSelection(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesJoin(_swigobj) (_swigobj->LinesJoin()) +static PyObject *_wrap_wxStyledTextCtrl_LinesJoin(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LinesJoin",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesJoin. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesJoin(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LinesSplit(_swigobj,_swigarg0) (_swigobj->LinesSplit(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LinesSplit(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","pixelWidth", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_LinesSplit",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LinesSplit. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LinesSplit(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetFoldMarginHiColour(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetFoldMarginHiColour(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetFoldMarginHiColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetFoldMarginHiColour",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetFoldMarginHiColour. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetFoldMarginHiColour(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineDuplicate(_swigobj) (_swigobj->LineDuplicate()) +static PyObject *_wrap_wxStyledTextCtrl_LineDuplicate(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineDuplicate",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineDuplicate. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineDuplicate(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplay(_swigobj) (_swigobj->HomeDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_HomeDisplayExtend(_swigobj) (_swigobj->HomeDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_HomeDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_HomeDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_HomeDisplayExtend. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_HomeDisplayExtend(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplay(_swigobj) (_swigobj->LineEndDisplay()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplay(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplay",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplay. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_LineEndDisplay(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_LineEndDisplayExtend(_swigobj) (_swigobj->LineEndDisplayExtend()) +static PyObject *_wrap_wxStyledTextCtrl_LineEndDisplayExtend(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_LineEndDisplayExtend",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LineEndDisplayExtend. Expected _wxStyledTextCtrl_p."); return NULL; } } @@ -8739,6 +9351,34 @@ static PyObject *_wrap_wxStyledTextCtrl_GetXOffset(PyObject *self, PyObject *arg return _resultobj; } +#define wxStyledTextCtrl_ChooseCaretX(_swigobj) (_swigobj->ChooseCaretX()) +static PyObject *_wrap_wxStyledTextCtrl_ChooseCaretX(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_ChooseCaretX",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_ChooseCaretX. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_ChooseCaretX(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_SetXCaretPolicy(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetXCaretPolicy(_swigarg0,_swigarg1)) static PyObject *_wrap_wxStyledTextCtrl_SetXCaretPolicy(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -8799,6 +9439,172 @@ static PyObject *_wrap_wxStyledTextCtrl_SetYCaretPolicy(PyObject *self, PyObject return _resultobj; } +#define wxStyledTextCtrl_SetPrintWrapMode(_swigobj,_swigarg0) (_swigobj->SetPrintWrapMode(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","mode", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetPrintWrapMode",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetPrintWrapMode(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_GetPrintWrapMode(_swigobj) (_swigobj->GetPrintWrapMode()) +static PyObject *_wrap_wxStyledTextCtrl_GetPrintWrapMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxStyledTextCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetPrintWrapMode",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetPrintWrapMode. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxStyledTextCtrl_GetPrintWrapMode(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveForeground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveForeground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveForeground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","fore", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveForeground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveForeground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveForeground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveBackground(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetHotspotActiveBackground(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveBackground(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + int tempbool1; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","useSetting","back", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxStyledTextCtrl_SetHotspotActiveBackground",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveBackground. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveBackground(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxStyledTextCtrl_SetHotspotActiveUnderline(_swigobj,_swigarg0) (_swigobj->SetHotspotActiveUnderline(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SetHotspotActiveUnderline(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxStyledTextCtrl * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","underline", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetHotspotActiveUnderline",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetHotspotActiveUnderline. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxStyledTextCtrl_SetHotspotActiveUnderline(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxStyledTextCtrl_StartRecord(_swigobj) (_swigobj->StartRecord()) static PyObject *_wrap_wxStyledTextCtrl_StartRecord(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -9586,6 +10392,84 @@ static PyObject *_wrap_wxStyledTextCtrl_SetLastKeydownProcessed(PyObject *self, return _resultobj; } +#define wxStyledTextCtrl_SaveFile(_swigobj,_swigarg0) (_swigobj->SaveFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_SaveFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_SaveFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SaveFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_SaveFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxStyledTextCtrl_LoadFile(_swigobj,_swigarg0) (_swigobj->LoadFile(_swigarg0)) +static PyObject *_wrap_wxStyledTextCtrl_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxStyledTextCtrl * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxStyledTextCtrl_LoadFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_LoadFile. Expected _wxStyledTextCtrl_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxStyledTextCtrl_LoadFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + static void *SwigwxStyledTextEventTowxCommandEvent(void *ptr) { wxStyledTextEvent *src; wxCommandEvent *dest; @@ -11012,6 +11896,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextEvent_SetPosition", (PyCFunction) _wrap_wxStyledTextEvent_SetPosition, METH_VARARGS | METH_KEYWORDS }, { "delete_wxStyledTextEvent", (PyCFunction) _wrap_delete_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, { "new_wxStyledTextEvent", (PyCFunction) _wrap_new_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LoadFile", (PyCFunction) _wrap_wxStyledTextCtrl_LoadFile, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SaveFile", (PyCFunction) _wrap_wxStyledTextCtrl_SaveFile, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_SetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_GetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetHScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetHScrollBar, METH_VARARGS | METH_KEYWORDS }, @@ -11035,8 +11921,14 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetLexer", (PyCFunction) _wrap_wxStyledTextCtrl_SetLexer, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StopRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StopRecord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StartRecord", (PyCFunction) _wrap_wxStyledTextCtrl_StartRecord, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveUnderline, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveBackground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetHotspotActiveForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetHotspotActiveForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_GetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetPrintWrapMode", (PyCFunction) _wrap_wxStyledTextCtrl_SetPrintWrapMode, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetYCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetYCaretPolicy, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXCaretPolicy", (PyCFunction) _wrap_wxStyledTextCtrl_SetXCaretPolicy, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ChooseCaretX", (PyCFunction) _wrap_wxStyledTextCtrl_ChooseCaretX, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_GetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetXOffset", (PyCFunction) _wrap_wxStyledTextCtrl_SetXOffset, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DelLineRight", (PyCFunction) _wrap_wxStyledTextCtrl_DelLineRight, METH_VARARGS | METH_KEYWORDS }, @@ -11088,6 +11980,17 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_LineEndDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_LineEndDisplay, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplayExtend", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplayExtend, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_HomeDisplay", (PyCFunction) _wrap_wxStyledTextCtrl_HomeDisplay, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LineDuplicate", (PyCFunction) _wrap_wxStyledTextCtrl_LineDuplicate, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginHiColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginHiColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetFoldMarginColour", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldMarginColour, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesSplit", (PyCFunction) _wrap_wxStyledTextCtrl_LinesSplit, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_LinesJoin", (PyCFunction) _wrap_wxStyledTextCtrl_LinesJoin, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_TargetFromSelection", (PyCFunction) _wrap_wxStyledTextCtrl_TargetFromSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_SetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetTwoPhaseDraw", (PyCFunction) _wrap_wxStyledTextCtrl_GetTwoPhaseDraw, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AppendText", (PyCFunction) _wrap_wxStyledTextCtrl_AppendText, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_GetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_GetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_SetUseVerticalScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseVerticalScrollBar, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_TextHeight", (PyCFunction) _wrap_wxStyledTextCtrl_TextHeight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_GetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetEndAtLastLine", (PyCFunction) _wrap_wxStyledTextCtrl_SetEndAtLastLine, METH_VARARGS | METH_KEYWORDS }, @@ -11121,6 +12024,8 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetFoldLevel", (PyCFunction) _wrap_wxStyledTextCtrl_SetFoldLevel, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_DocLineFromVisible", (PyCFunction) _wrap_wxStyledTextCtrl_DocLineFromVisible, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_VisibleFromDocLine", (PyCFunction) _wrap_wxStyledTextCtrl_VisibleFromDocLine, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForegroundHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForegroundHighlight, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_CallTipSetForeground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetBackground", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipSetHighlight", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipSetHighlight, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_CallTipPosAtStart", (PyCFunction) _wrap_wxStyledTextCtrl_CallTipPosAtStart, METH_VARARGS | METH_KEYWORDS }, @@ -11198,6 +12103,10 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetUseTabs", (PyCFunction) _wrap_wxStyledTextCtrl_SetUseTabs, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_GetIndent, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetIndent", (PyCFunction) _wrap_wxStyledTextCtrl_SetIndent, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompSetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_AutoCompGetTypeSeparator", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetTypeSeparator, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_ClearRegisteredImages", (PyCFunction) _wrap_wxStyledTextCtrl_ClearRegisteredImages, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_RegisterImage", (PyCFunction) _wrap_wxStyledTextCtrl_RegisterImage, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompSetDropRestOfWord", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompSetDropRestOfWord, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_AutoCompGetAutoHide", (PyCFunction) _wrap_wxStyledTextCtrl_AutoCompGetAutoHide, METH_VARARGS | METH_KEYWORDS }, @@ -11248,6 +12157,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetCaretForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetCaretForeground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelBackground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelBackground, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetSelForeground", (PyCFunction) _wrap_wxStyledTextCtrl_SetSelForeground, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_StyleSetHotSpot", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetHotSpot, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCharacterSet", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCharacterSet, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetCase", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetCase, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_StyleSetUnderline", (PyCFunction) _wrap_wxStyledTextCtrl_StyleSetUnderline, METH_VARARGS | METH_KEYWORDS }, @@ -11268,6 +12178,7 @@ static PyMethodDef stc_cMethods[] = { { "wxStyledTextCtrl_SetMarginWidth", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginWidth, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_GetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_GetMarginType, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_SetMarginType", (PyCFunction) _wrap_wxStyledTextCtrl_SetMarginType, METH_VARARGS | METH_KEYWORDS }, + { "wxStyledTextCtrl_MarkerDefineBitmap", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerDefineBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerPrevious", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerPrevious, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerNext", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerNext, METH_VARARGS | METH_KEYWORDS }, { "wxStyledTextCtrl_MarkerGet", (PyCFunction) _wrap_wxStyledTextCtrl_MarkerGet, METH_VARARGS | METH_KEYWORDS }, @@ -11455,6 +12366,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EOL_CR", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EOL_LF", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CP_UTF8", PyInt_FromLong((long) 65001)); + PyDict_SetItemString(d,"wxSTC_CP_DBCS", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_MARKER_MAX", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_MARK_CIRCLE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_MARK_ROUNDRECT", PyInt_FromLong((long) 1)); @@ -11481,6 +12393,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_MARK_BACKGROUND", PyInt_FromLong((long) 22)); PyDict_SetItemString(d,"wxSTC_MARK_DOTDOTDOT", PyInt_FromLong((long) 23)); PyDict_SetItemString(d,"wxSTC_MARK_ARROWS", PyInt_FromLong((long) 24)); + PyDict_SetItemString(d,"wxSTC_MARK_PIXMAP", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARK_CHARACTER", PyInt_FromLong((long) 10000)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEREND", PyInt_FromLong((long) 25)); PyDict_SetItemString(d,"wxSTC_MARKNUM_FOLDEROPENMID", PyInt_FromLong((long) 26)); @@ -11541,10 +12454,21 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_FIND_MATCHCASE", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_FIND_WORDSTART", PyInt_FromLong((long) 0x00100000)); PyDict_SetItemString(d,"wxSTC_FIND_REGEXP", PyInt_FromLong((long) 0x00200000)); + PyDict_SetItemString(d,"wxSTC_FIND_POSIX", PyInt_FromLong((long) 0x00400000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELBASE", PyInt_FromLong((long) 0x400)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELWHITEFLAG", PyInt_FromLong((long) 0x1000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELHEADERFLAG", PyInt_FromLong((long) 0x2000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXHEADERFLAG", PyInt_FromLong((long) 0x4000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELBOXFOOTERFLAG", PyInt_FromLong((long) 0x8000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELCONTRACTED", PyInt_FromLong((long) 0x10000)); + PyDict_SetItemString(d,"wxSTC_FOLDLEVELUNINDENT", PyInt_FromLong((long) 0x20000)); PyDict_SetItemString(d,"wxSTC_FOLDLEVELNUMBERMASK", PyInt_FromLong((long) 0x0FFF)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED", PyInt_FromLong((long) 0x0002)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED", PyInt_FromLong((long) 0x0004)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_EXPANDED", PyInt_FromLong((long) 0x0008)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED", PyInt_FromLong((long) 0x0010)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_LEVELNUMBERS", PyInt_FromLong((long) 0x0040)); + PyDict_SetItemString(d,"wxSTC_FOLDFLAG_BOX", PyInt_FromLong((long) 0x0001)); PyDict_SetItemString(d,"wxSTC_TIME_FOREVER", PyInt_FromLong((long) 10000000)); PyDict_SetItemString(d,"wxSTC_WRAP_NONE", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_WRAP_WORD", PyInt_FromLong((long) 1)); @@ -11556,7 +12480,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_EDGE_LINE", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_EDGE_BACKGROUND", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_CURSORNORMAL", PyInt_FromLong((long) -1)); - PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CURSORWAIT", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_VISIBLE_SLOP", PyInt_FromLong((long) 0x01)); PyDict_SetItemString(d,"wxSTC_VISIBLE_STRICT", PyInt_FromLong((long) 0x04)); PyDict_SetItemString(d,"wxSTC_CARET_SLOP", PyInt_FromLong((long) 0x01)); @@ -11629,6 +12553,12 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_LEX_BAAN", PyInt_FromLong((long) 31)); PyDict_SetItemString(d,"wxSTC_LEX_MATLAB", PyInt_FromLong((long) 32)); PyDict_SetItemString(d,"wxSTC_LEX_SCRIPTOL", PyInt_FromLong((long) 33)); + PyDict_SetItemString(d,"wxSTC_LEX_ASM", PyInt_FromLong((long) 34)); + PyDict_SetItemString(d,"wxSTC_LEX_CPPNOCASE", PyInt_FromLong((long) 35)); + PyDict_SetItemString(d,"wxSTC_LEX_FORTRAN", PyInt_FromLong((long) 36)); + PyDict_SetItemString(d,"wxSTC_LEX_F77", PyInt_FromLong((long) 37)); + PyDict_SetItemString(d,"wxSTC_LEX_CSS", PyInt_FromLong((long) 38)); + PyDict_SetItemString(d,"wxSTC_LEX_POV", PyInt_FromLong((long) 39)); PyDict_SetItemString(d,"wxSTC_LEX_AUTOMATIC", PyInt_FromLong((long) 1000)); PyDict_SetItemString(d,"wxSTC_P_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_P_COMMENTLINE", PyInt_FromLong((long) 1)); @@ -11854,6 +12784,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_ERR_DIFF_ADDITION", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_DELETION", PyInt_FromLong((long) 12)); PyDict_SetItemString(d,"wxSTC_ERR_DIFF_MESSAGE", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_ERR_PHP", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_ERR_ELF", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_ERR_IFC", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_BAT_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAT_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAT_WORD", PyInt_FromLong((long) 2)); @@ -11890,22 +12823,29 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_AVE_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_AVE_NUMBER", PyInt_FromLong((long) 2)); PyDict_SetItemString(d,"wxSTC_AVE_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_AVE_KEYWORD", PyInt_FromLong((long) 4)); - PyDict_SetItemString(d,"wxSTC_AVE_STATEMENT", PyInt_FromLong((long) 5)); PyDict_SetItemString(d,"wxSTC_AVE_STRING", PyInt_FromLong((long) 6)); PyDict_SetItemString(d,"wxSTC_AVE_ENUM", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_AVE_STRINGEOL", PyInt_FromLong((long) 8)); PyDict_SetItemString(d,"wxSTC_AVE_IDENTIFIER", PyInt_FromLong((long) 9)); PyDict_SetItemString(d,"wxSTC_AVE_OPERATOR", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD1", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD3", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD4", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD5", PyInt_FromLong((long) 15)); + PyDict_SetItemString(d,"wxSTC_AVE_WORD6", PyInt_FromLong((long) 16)); PyDict_SetItemString(d,"wxSTC_ADA_DEFAULT", PyInt_FromLong((long) 0)); - PyDict_SetItemString(d,"wxSTC_ADA_COMMENT", PyInt_FromLong((long) 1)); - PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 2)); - PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 3)); - PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ADA_WORD", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ADA_NUMBER", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ADA_DELIMITER", PyInt_FromLong((long) 4)); PyDict_SetItemString(d,"wxSTC_ADA_CHARACTER", PyInt_FromLong((long) 5)); - PyDict_SetItemString(d,"wxSTC_ADA_OPERATOR", PyInt_FromLong((long) 6)); - PyDict_SetItemString(d,"wxSTC_ADA_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ADA_CHARACTEREOL", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ADA_STRING", PyInt_FromLong((long) 7)); PyDict_SetItemString(d,"wxSTC_ADA_STRINGEOL", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ADA_LABEL", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ADA_COMMENTLINE", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_ADA_ILLEGAL", PyInt_FromLong((long) 11)); PyDict_SetItemString(d,"wxSTC_BAAN_DEFAULT", PyInt_FromLong((long) 0)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENT", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxSTC_BAAN_COMMENTDOC", PyInt_FromLong((long) 2)); @@ -11973,6 +12913,58 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORD", PyInt_FromLong((long) 17)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR", PyInt_FromLong((long) 18)); PyDict_SetItemString(d,"wxSTC_SCRIPTOL_COMMENTBASIC", PyInt_FromLong((long) 19)); + PyDict_SetItemString(d,"wxSTC_ASM_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_ASM_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_ASM_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_ASM_STRING", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_ASM_OPERATOR", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_ASM_IDENTIFIER", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_ASM_CPUINSTRUCTION", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_ASM_MATHINSTRUCTION", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_ASM_REGISTER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_ASM_DIRECTIVEOPERAND", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_F_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_F_NUMBER", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_F_STRING1", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_F_STRING2", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_F_STRINGEOL", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_F_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_F_WORD", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_F_WORD2", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_F_WORD3", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_F_PREPROCESSOR", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_F_OPERATOR2", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_F_LABEL", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_F_CONTINUATION", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_CSS_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_CSS_TAG", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_CSS_CLASS", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_CSS_PSEUDOCLASS", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_PSEUDOCLASS", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_CSS_OPERATOR", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_CSS_IDENTIFIER", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_CSS_UNKNOWN_IDENTIFIER", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_CSS_VALUE", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_CSS_COMMENT", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_CSS_ID", PyInt_FromLong((long) 10)); + PyDict_SetItemString(d,"wxSTC_CSS_IMPORTANT", PyInt_FromLong((long) 11)); + PyDict_SetItemString(d,"wxSTC_CSS_DIRECTIVE", PyInt_FromLong((long) 12)); + PyDict_SetItemString(d,"wxSTC_CSS_DOUBLESTRING", PyInt_FromLong((long) 13)); + PyDict_SetItemString(d,"wxSTC_CSS_SINGLESTRING", PyInt_FromLong((long) 14)); + PyDict_SetItemString(d,"wxSTC_POV_DEFAULT", PyInt_FromLong((long) 0)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENT", PyInt_FromLong((long) 1)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTLINE", PyInt_FromLong((long) 2)); + PyDict_SetItemString(d,"wxSTC_POV_COMMENTDOC", PyInt_FromLong((long) 3)); + PyDict_SetItemString(d,"wxSTC_POV_NUMBER", PyInt_FromLong((long) 4)); + PyDict_SetItemString(d,"wxSTC_POV_WORD", PyInt_FromLong((long) 5)); + PyDict_SetItemString(d,"wxSTC_POV_STRING", PyInt_FromLong((long) 6)); + PyDict_SetItemString(d,"wxSTC_POV_OPERATOR", PyInt_FromLong((long) 7)); + PyDict_SetItemString(d,"wxSTC_POV_IDENTIFIER", PyInt_FromLong((long) 8)); + PyDict_SetItemString(d,"wxSTC_POV_BRACE", PyInt_FromLong((long) 9)); + PyDict_SetItemString(d,"wxSTC_POV_WORD2", PyInt_FromLong((long) 10)); PyDict_SetItemString(d,"wxSTC_CMD_REDO", PyInt_FromLong((long) 2011)); PyDict_SetItemString(d,"wxSTC_CMD_SELECTALL", PyInt_FromLong((long) 2013)); PyDict_SetItemString(d,"wxSTC_CMD_UNDO", PyInt_FromLong((long) 2176)); @@ -12020,6 +13012,7 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_LINECUT", PyInt_FromLong((long) 2337)); PyDict_SetItemString(d,"wxSTC_CMD_LINEDELETE", PyInt_FromLong((long) 2338)); PyDict_SetItemString(d,"wxSTC_CMD_LINETRANSPOSE", PyInt_FromLong((long) 2339)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEDUPLICATE", PyInt_FromLong((long) 2404)); PyDict_SetItemString(d,"wxSTC_CMD_LOWERCASE", PyInt_FromLong((long) 2340)); PyDict_SetItemString(d,"wxSTC_CMD_UPPERCASE", PyInt_FromLong((long) 2341)); PyDict_SetItemString(d,"wxSTC_CMD_LINESCROLLDOWN", PyInt_FromLong((long) 2342)); @@ -12029,12 +13022,22 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxSTC_CMD_HOMEDISPLAYEXTEND", PyInt_FromLong((long) 2346)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAY", PyInt_FromLong((long) 2347)); PyDict_SetItemString(d,"wxSTC_CMD_LINEENDDISPLAYEXTEND", PyInt_FromLong((long) 2348)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAP", PyInt_FromLong((long) 2349)); + PyDict_SetItemString(d,"wxSTC_CMD_HOMEWRAPEXTEND", PyInt_FromLong((long) 2450)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAP", PyInt_FromLong((long) 2451)); + PyDict_SetItemString(d,"wxSTC_CMD_LINEENDWRAPEXTEND", PyInt_FromLong((long) 2452)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAP", PyInt_FromLong((long) 2453)); + PyDict_SetItemString(d,"wxSTC_CMD_VCHOMEWRAPEXTEND", PyInt_FromLong((long) 2454)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFT", PyInt_FromLong((long) 2390)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTLEFTEXTEND", PyInt_FromLong((long) 2391)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHT", PyInt_FromLong((long) 2392)); PyDict_SetItemString(d,"wxSTC_CMD_WORDPARTRIGHTEXTEND", PyInt_FromLong((long) 2393)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINELEFT", PyInt_FromLong((long) 2395)); PyDict_SetItemString(d,"wxSTC_CMD_DELLINERIGHT", PyInt_FromLong((long) 2396)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWN", PyInt_FromLong((long) 2413)); + PyDict_SetItemString(d,"wxSTC_CMD_PARADOWNEXTEND", PyInt_FromLong((long) 2414)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUP", PyInt_FromLong((long) 2415)); + PyDict_SetItemString(d,"wxSTC_CMD_PARAUPEXTEND", PyInt_FromLong((long) 2416)); PyDict_SetItemString(d,"STC_USE_DND", PyInt_FromLong((long) 1)); PyDict_SetItemString(d,"wxEVT_STC_CHANGE", PyInt_FromLong((long) wxEVT_STC_CHANGE)); PyDict_SetItemString(d,"wxEVT_STC_STYLENEEDED", PyInt_FromLong((long) wxEVT_STC_STYLENEEDED)); @@ -12059,6 +13062,9 @@ SWIGEXPORT(void) initstc_c() { PyDict_SetItemString(d,"wxEVT_STC_DRAG_OVER", PyInt_FromLong((long) wxEVT_STC_DRAG_OVER)); PyDict_SetItemString(d,"wxEVT_STC_DO_DROP", PyInt_FromLong((long) wxEVT_STC_DO_DROP)); PyDict_SetItemString(d,"wxEVT_STC_ZOOM", PyInt_FromLong((long) wxEVT_STC_ZOOM)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_CLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_CLICK)); + PyDict_SetItemString(d,"wxEVT_STC_HOTSPOT_DCLICK", PyInt_FromLong((long) wxEVT_STC_HOTSPOT_DCLICK)); + PyDict_SetItemString(d,"wxEVT_STC_CALLTIP_CLICK", PyInt_FromLong((long) wxEVT_STC_CALLTIP_CLICK)); wxClassInfo::CleanUpClasses(); diff --git a/wxPython/contrib/stc/msw/stc_.py b/wxPython/contrib/stc/msw/stc_.py index a3a4fef4a9..93e7f892ef 100644 --- a/wxPython/contrib/stc/msw/stc_.py +++ b/wxPython/contrib/stc/msw/stc_.py @@ -112,930 +112,1019 @@ def EVT_STC_DO_DROP(win, id, func): def EVT_STC_ZOOM(win, id, func): win.Connect(id, -1, wxEVT_STC_ZOOM, func) +def EVT_STC_HOTSPOT_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_CLICK, func) + +def EVT_STC_HOTSPOT_DCLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_DCLICK, func) + +def EVT_STC_CALLTIP_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_CALLTIP_CLICK, func) class wxStyledTextCtrlPtr(wxControlPtr): def __init__(self,this): self.this = this self.thisown = 0 def AddText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddText(self, *_args, **_kwargs) return val def AddStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddStyledText(self, *_args, **_kwargs) return val def InsertText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_InsertText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_InsertText(self, *_args, **_kwargs) return val def ClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearAll(self, *_args, **_kwargs) return val def ClearDocumentStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ClearDocumentStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ClearDocumentStyle(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLength(self, *_args, **_kwargs) return val def GetCharAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCharAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCharAt(self, *_args, **_kwargs) return val def GetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentPos(self, *_args, **_kwargs) return val def GetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetAnchor(self, *_args, **_kwargs) return val def GetStyleAt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleAt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleAt(self, *_args, **_kwargs) return val def Redo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Redo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Redo(self, *_args, **_kwargs) return val def SetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUndoCollection(self, *_args, **_kwargs) return val def SelectAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectAll(self, *_args, **_kwargs) return val def SetSavePoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSavePoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSavePoint(self, *_args, **_kwargs) return val def GetStyledText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyledText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyledText(self, *_args, **_kwargs) return val def CanRedo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanRedo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanRedo(self, *_args, **_kwargs) return val def MarkerLineFromHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerLineFromHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerLineFromHandle(self, *_args, **_kwargs) return val def MarkerDeleteHandle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteHandle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteHandle(self, *_args, **_kwargs) return val def GetUndoCollection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUndoCollection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUndoCollection(self, *_args, **_kwargs) return val def GetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewWhiteSpace(self, *_args, **_kwargs) return val def SetViewWhiteSpace(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewWhiteSpace,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewWhiteSpace(self, *_args, **_kwargs) return val def PositionFromPoint(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPoint,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPoint(self, *_args, **_kwargs) return val def PositionFromPointClose(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromPointClose,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromPointClose(self, *_args, **_kwargs) return val def GotoLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoLine(self, *_args, **_kwargs) return val def GotoPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GotoPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GotoPos(self, *_args, **_kwargs) return val def SetAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetAnchor(self, *_args, **_kwargs) return val def GetCurLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurLine(self, *_args, **_kwargs) return val def GetEndStyled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndStyled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndStyled(self, *_args, **_kwargs) return val def ConvertEOLs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ConvertEOLs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ConvertEOLs(self, *_args, **_kwargs) return val def GetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEOLMode(self, *_args, **_kwargs) return val def SetEOLMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEOLMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEOLMode(self, *_args, **_kwargs) return val def StartStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartStyling(self, *_args, **_kwargs) return val def SetStyling(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyling,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyling(self, *_args, **_kwargs) return val def GetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBufferedDraw(self, *_args, **_kwargs) return val def SetBufferedDraw(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBufferedDraw,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBufferedDraw(self, *_args, **_kwargs) return val def SetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabWidth(self, *_args, **_kwargs) return val def GetTabWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabWidth(self, *_args, **_kwargs) return val def SetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCodePage(self, *_args, **_kwargs) return val def MarkerDefine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDefine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDefine(self, *_args, **_kwargs) return val def MarkerSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetForeground(self, *_args, **_kwargs) return val def MarkerSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerSetBackground(self, *_args, **_kwargs) return val def MarkerAdd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerAdd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerAdd(self, *_args, **_kwargs) return val def MarkerDelete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDelete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDelete(self, *_args, **_kwargs) return val def MarkerDeleteAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerDeleteAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerDeleteAll(self, *_args, **_kwargs) return val def MarkerGet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerGet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerGet(self, *_args, **_kwargs) return val def MarkerNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerNext(self, *_args, **_kwargs) return val def MarkerPrevious(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MarkerPrevious,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MarkerPrevious(self, *_args, **_kwargs) + return val + def MarkerDefineBitmap(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_MarkerDefineBitmap(self, *_args, **_kwargs) return val def SetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginType(self, *_args, **_kwargs) return val def GetMarginType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginType(self, *_args, **_kwargs) return val def SetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginWidth(self, *_args, **_kwargs) return val def GetMarginWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginWidth(self, *_args, **_kwargs) return val def SetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginMask(self, *_args, **_kwargs) return val def GetMarginMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginMask(self, *_args, **_kwargs) return val def SetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginSensitive(self, *_args, **_kwargs) return val def GetMarginSensitive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginSensitive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginSensitive(self, *_args, **_kwargs) return val def StyleClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleClearAll(self, *_args, **_kwargs) return val def StyleSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetForeground(self, *_args, **_kwargs) return val def StyleSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBackground(self, *_args, **_kwargs) return val def StyleSetBold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetBold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetBold(self, *_args, **_kwargs) return val def StyleSetItalic(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetItalic,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetItalic(self, *_args, **_kwargs) return val def StyleSetSize(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSize,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSize(self, *_args, **_kwargs) return val def StyleSetFaceName(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFaceName,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFaceName(self, *_args, **_kwargs) return val def StyleSetEOLFilled(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetEOLFilled,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetEOLFilled(self, *_args, **_kwargs) return val def StyleResetDefault(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleResetDefault,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleResetDefault(self, *_args, **_kwargs) return val def StyleSetUnderline(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetUnderline,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetUnderline(self, *_args, **_kwargs) return val def StyleSetCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCase(self, *_args, **_kwargs) return val def StyleSetCharacterSet(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetCharacterSet,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetCharacterSet(self, *_args, **_kwargs) + return val + def StyleSetHotSpot(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_StyleSetHotSpot(self, *_args, **_kwargs) return val def SetSelForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelForeground(self, *_args, **_kwargs) return val def SetSelBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelBackground(self, *_args, **_kwargs) return val def SetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretForeground(self, *_args, **_kwargs) return val def CmdKeyAssign(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyAssign,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyAssign(self, *_args, **_kwargs) return val def CmdKeyClear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClear(self, *_args, **_kwargs) return val def CmdKeyClearAll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyClearAll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyClearAll(self, *_args, **_kwargs) return val def SetStyleBytes(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBytes,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBytes(self, *_args, **_kwargs) return val def StyleSetVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetVisible(self, *_args, **_kwargs) return val def GetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretPeriod(self, *_args, **_kwargs) return val def SetCaretPeriod(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretPeriod,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretPeriod(self, *_args, **_kwargs) return val def SetWordChars(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWordChars,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWordChars(self, *_args, **_kwargs) return val def BeginUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BeginUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BeginUndoAction(self, *_args, **_kwargs) return val def EndUndoAction(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EndUndoAction,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EndUndoAction(self, *_args, **_kwargs) return val def IndicatorSetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetStyle(self, *_args, **_kwargs) return val def IndicatorGetStyle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetStyle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetStyle(self, *_args, **_kwargs) return val def IndicatorSetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorSetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorSetForeground(self, *_args, **_kwargs) return val def IndicatorGetForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_IndicatorGetForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_IndicatorGetForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetWhitespaceForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceForeground(self, *_args, **_kwargs) return val def SetWhitespaceBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWhitespaceBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWhitespaceBackground(self, *_args, **_kwargs) return val def SetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStyleBits(self, *_args, **_kwargs) return val def GetStyleBits(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStyleBits,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStyleBits(self, *_args, **_kwargs) return val def SetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineState(self, *_args, **_kwargs) return val def GetLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineState(self, *_args, **_kwargs) return val def GetMaxLineState(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMaxLineState,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMaxLineState(self, *_args, **_kwargs) return val def GetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineVisible(self, *_args, **_kwargs) return val def SetCaretLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineVisible(self, *_args, **_kwargs) return val def GetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretLineBack(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetCaretLineBack(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretLineBack,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretLineBack(self, *_args, **_kwargs) return val def StyleSetChangeable(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetChangeable,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetChangeable(self, *_args, **_kwargs) return val def AutoCompShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompShow(self, *_args, **_kwargs) return val def AutoCompCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompCancel(self, *_args, **_kwargs) return val def AutoCompActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompActive(self, *_args, **_kwargs) return val def AutoCompPosStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompPosStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompPosStart(self, *_args, **_kwargs) return val def AutoCompComplete(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompComplete,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompComplete(self, *_args, **_kwargs) return val def AutoCompStops(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompStops,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompStops(self, *_args, **_kwargs) return val def AutoCompSetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetSeparator(self, *_args, **_kwargs) return val def AutoCompGetSeparator(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetSeparator,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetSeparator(self, *_args, **_kwargs) return val def AutoCompSelect(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSelect,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSelect(self, *_args, **_kwargs) return val def AutoCompSetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompGetCancelAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetCancelAtStart(self, *_args, **_kwargs) return val def AutoCompSetFillUps(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetFillUps,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetFillUps(self, *_args, **_kwargs) return val def AutoCompSetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetChooseSingle(self, *_args, **_kwargs) return val def AutoCompGetChooseSingle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetChooseSingle(self, *_args, **_kwargs) return val def AutoCompSetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetIgnoreCase(self, *_args, **_kwargs) return val def AutoCompGetIgnoreCase(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetIgnoreCase(self, *_args, **_kwargs) return val def UserListShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UserListShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UserListShow(self, *_args, **_kwargs) return val def AutoCompSetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetAutoHide(self, *_args, **_kwargs) return val def AutoCompGetAutoHide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetAutoHide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetAutoHide(self, *_args, **_kwargs) return val def AutoCompSetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompSetDropRestOfWord(self, *_args, **_kwargs) return val def AutoCompGetDropRestOfWord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AutoCompGetDropRestOfWord(self, *_args, **_kwargs) + return val + def RegisterImage(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_RegisterImage(self, *_args, **_kwargs) + return val + def ClearRegisteredImages(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ClearRegisteredImages(self, *_args, **_kwargs) + return val + def AutoCompGetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompGetTypeSeparator(self, *_args, **_kwargs) + return val + def AutoCompSetTypeSeparator(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AutoCompSetTypeSeparator(self, *_args, **_kwargs) return val def SetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndent(self, *_args, **_kwargs) return val def GetIndent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndent(self, *_args, **_kwargs) return val def SetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseTabs(self, *_args, **_kwargs) return val def GetUseTabs(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseTabs,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseTabs(self, *_args, **_kwargs) return val def SetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentation(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentation,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentation(self, *_args, **_kwargs) return val def GetLineIndentPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineIndentPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineIndentPosition(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetColumn(self, *_args, **_kwargs) return val def SetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def GetUseHorizontalScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetUseHorizontalScrollBar(self, *_args, **_kwargs) return val def SetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetIndentationGuides(self, *_args, **_kwargs) return val def GetIndentationGuides(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetIndentationGuides,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetIndentationGuides(self, *_args, **_kwargs) return val def SetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHighlightGuide(self, *_args, **_kwargs) return val def GetHighlightGuide(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetHighlightGuide,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetHighlightGuide(self, *_args, **_kwargs) return val def GetLineEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineEndPosition(self, *_args, **_kwargs) return val def GetCodePage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCodePage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCodePage(self, *_args, **_kwargs) return val def GetCaretForeground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretForeground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetReadOnly(self, *_args, **_kwargs) return val def SetCurrentPos(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCurrentPos,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCurrentPos(self, *_args, **_kwargs) return val def SetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionStart(self, *_args, **_kwargs) return val def GetSelectionStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionStart(self, *_args, **_kwargs) return val def SetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelectionEnd(self, *_args, **_kwargs) return val def GetSelectionEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectionEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectionEnd(self, *_args, **_kwargs) return val def SetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintMagnification(self, *_args, **_kwargs) return val def GetPrintMagnification(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintMagnification,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintMagnification(self, *_args, **_kwargs) return val def SetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetPrintColourMode(self, *_args, **_kwargs) return val def GetPrintColourMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetPrintColourMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetPrintColourMode(self, *_args, **_kwargs) return val def FindText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FindText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FindText(self, *_args, **_kwargs) return val def FormatRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_FormatRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_FormatRange(self, *_args, **_kwargs) return val def GetFirstVisibleLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFirstVisibleLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFirstVisibleLine(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLine(self, *_args, **_kwargs) return val def GetLineCount(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineCount,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineCount(self, *_args, **_kwargs) return val def SetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginLeft(self, *_args, **_kwargs) return val def GetMarginLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginLeft(self, *_args, **_kwargs) return val def SetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMarginRight(self, *_args, **_kwargs) return val def GetMarginRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMarginRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMarginRight(self, *_args, **_kwargs) return val def GetModify(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModify,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModify(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSelection(self, *_args, **_kwargs) return val def GetSelectedText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelectedText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelectedText(self, *_args, **_kwargs) return val def GetTextRange(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextRange,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextRange(self, *_args, **_kwargs) return val def HideSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideSelection(self, *_args, **_kwargs) return val def LineFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineFromPosition(self, *_args, **_kwargs) return val def PositionFromLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PositionFromLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PositionFromLine(self, *_args, **_kwargs) return val def LineScroll(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineScroll,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineScroll(self, *_args, **_kwargs) return val def EnsureCaretVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureCaretVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureCaretVisible(self, *_args, **_kwargs) return val def ReplaceSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceSelection(self, *_args, **_kwargs) return val def SetReadOnly(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetReadOnly,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetReadOnly(self, *_args, **_kwargs) return val def CanPaste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanPaste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanPaste(self, *_args, **_kwargs) return val def CanUndo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CanUndo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CanUndo(self, *_args, **_kwargs) return val def EmptyUndoBuffer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EmptyUndoBuffer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EmptyUndoBuffer(self, *_args, **_kwargs) return val def Undo(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Undo,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Undo(self, *_args, **_kwargs) return val def Cut(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Cut,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Cut(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Copy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Copy(self, *_args, **_kwargs) return val def Paste(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Paste,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Paste(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Clear,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Clear(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetText(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetText(self, *_args, **_kwargs) return val def GetTextLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTextLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTextLength(self, *_args, **_kwargs) return val def SetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetOvertype(self, *_args, **_kwargs) return val def GetOvertype(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetOvertype,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetOvertype(self, *_args, **_kwargs) return val def SetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCaretWidth(self, *_args, **_kwargs) return val def GetCaretWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCaretWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCaretWidth(self, *_args, **_kwargs) return val def SetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetStart(self, *_args, **_kwargs) return val def GetTargetStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetStart(self, *_args, **_kwargs) return val def SetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTargetEnd(self, *_args, **_kwargs) return val def GetTargetEnd(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTargetEnd,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTargetEnd(self, *_args, **_kwargs) return val def ReplaceTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTarget(self, *_args, **_kwargs) return val def ReplaceTargetRE(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReplaceTargetRE,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReplaceTargetRE(self, *_args, **_kwargs) return val def SearchInTarget(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchInTarget,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchInTarget(self, *_args, **_kwargs) return val def SetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSearchFlags(self, *_args, **_kwargs) return val def GetSearchFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSearchFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSearchFlags(self, *_args, **_kwargs) return val def CallTipShow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipShow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipShow(self, *_args, **_kwargs) return val def CallTipCancel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipCancel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipCancel(self, *_args, **_kwargs) return val def CallTipActive(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipActive,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipActive(self, *_args, **_kwargs) return val def CallTipPosAtStart(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipPosAtStart,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipPosAtStart(self, *_args, **_kwargs) return val def CallTipSetHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetHighlight(self, *_args, **_kwargs) return val def CallTipSetBackground(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CallTipSetBackground,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CallTipSetBackground(self, *_args, **_kwargs) + return val + def CallTipSetForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForeground(self, *_args, **_kwargs) + return val + def CallTipSetForegroundHighlight(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_CallTipSetForegroundHighlight(self, *_args, **_kwargs) return val def VisibleFromDocLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_VisibleFromDocLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_VisibleFromDocLine(self, *_args, **_kwargs) return val def DocLineFromVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DocLineFromVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DocLineFromVisible(self, *_args, **_kwargs) return val def SetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldLevel(self, *_args, **_kwargs) return val def GetFoldLevel(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldLevel,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldLevel(self, *_args, **_kwargs) return val def GetLastChild(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastChild,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastChild(self, *_args, **_kwargs) return val def GetFoldParent(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldParent,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldParent(self, *_args, **_kwargs) return val def ShowLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ShowLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ShowLines(self, *_args, **_kwargs) return val def HideLines(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HideLines,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HideLines(self, *_args, **_kwargs) return val def GetLineVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLineVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLineVisible(self, *_args, **_kwargs) return val def SetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldExpanded(self, *_args, **_kwargs) return val def GetFoldExpanded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetFoldExpanded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetFoldExpanded(self, *_args, **_kwargs) return val def ToggleFold(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ToggleFold,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ToggleFold(self, *_args, **_kwargs) return val def EnsureVisible(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisible,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisible(self, *_args, **_kwargs) return val def SetFoldFlags(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetFoldFlags,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetFoldFlags(self, *_args, **_kwargs) return val def EnsureVisibleEnforcePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_EnsureVisibleEnforcePolicy(self, *_args, **_kwargs) return val def SetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetTabIndents(self, *_args, **_kwargs) return val def GetTabIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetTabIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetTabIndents(self, *_args, **_kwargs) return val def SetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetBackSpaceUnIndents(self, *_args, **_kwargs) return val def GetBackSpaceUnIndents(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetBackSpaceUnIndents(self, *_args, **_kwargs) return val def SetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDwellTime(self, *_args, **_kwargs) return val def GetMouseDwellTime(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDwellTime,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDwellTime(self, *_args, **_kwargs) return val def WordStartPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordStartPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordStartPosition(self, *_args, **_kwargs) return val def WordEndPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordEndPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordEndPosition(self, *_args, **_kwargs) return val def SetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetWrapMode(self, *_args, **_kwargs) return val def GetWrapMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetWrapMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetWrapMode(self, *_args, **_kwargs) return val def SetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLayoutCache(self, *_args, **_kwargs) return val def GetLayoutCache(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLayoutCache,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLayoutCache(self, *_args, **_kwargs) return val def SetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetScrollWidth(self, *_args, **_kwargs) return val def GetScrollWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetScrollWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetScrollWidth(self, *_args, **_kwargs) return val def TextWidth(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextWidth,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextWidth(self, *_args, **_kwargs) return val def SetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEndAtLastLine(self, *_args, **_kwargs) return val def GetEndAtLastLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEndAtLastLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEndAtLastLine(self, *_args, **_kwargs) return val def TextHeight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_TextHeight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_TextHeight(self, *_args, **_kwargs) + return val + def SetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def GetUseVerticalScrollBar(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetUseVerticalScrollBar(self, *_args, **_kwargs) + return val + def AppendText(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_AppendText(self, *_args, **_kwargs) + return val + def GetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def SetTwoPhaseDraw(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetTwoPhaseDraw(self, *_args, **_kwargs) + return val + def TargetFromSelection(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_TargetFromSelection(self, *_args, **_kwargs) + return val + def LinesJoin(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesJoin(self, *_args, **_kwargs) + return val + def LinesSplit(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LinesSplit(self, *_args, **_kwargs) + return val + def SetFoldMarginColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginColour(self, *_args, **_kwargs) + return val + def SetFoldMarginHiColour(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetFoldMarginHiColour(self, *_args, **_kwargs) + return val + def LineDuplicate(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LineDuplicate(self, *_args, **_kwargs) return val def HomeDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplay(self, *_args, **_kwargs) return val def HomeDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_HomeDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_HomeDisplayExtend(self, *_args, **_kwargs) return val def LineEndDisplay(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplay,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplay(self, *_args, **_kwargs) return val def LineEndDisplayExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineEndDisplayExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineEndDisplayExtend(self, *_args, **_kwargs) return val def MoveCaretInsideView(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_MoveCaretInsideView,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_MoveCaretInsideView(self, *_args, **_kwargs) return val def LineLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LineLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LineLength(self, *_args, **_kwargs) return val def BraceHighlight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceHighlight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceHighlight(self, *_args, **_kwargs) return val def BraceBadLight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceBadLight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceBadLight(self, *_args, **_kwargs) return val def BraceMatch(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_BraceMatch,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_BraceMatch(self, *_args, **_kwargs) return val def GetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetViewEOL(self, *_args, **_kwargs) return val def SetViewEOL(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetViewEOL,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetViewEOL(self, *_args, **_kwargs) return val def GetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetDocPointer(self, *_args, **_kwargs) return val def SetDocPointer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetDocPointer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetDocPointer(self, *_args, **_kwargs) return val def SetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetModEventMask(self, *_args, **_kwargs) return val def GetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColumn(self, *_args, **_kwargs) return val def SetEdgeColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColumn(self, *_args, **_kwargs) return val def GetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeMode(self, *_args, **_kwargs) return val def SetEdgeMode(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeMode,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeMode(self, *_args, **_kwargs) return val def GetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetEdgeColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetEdgeColour(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetEdgeColour,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetEdgeColour(self, *_args, **_kwargs) return val def SearchAnchor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchAnchor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchAnchor(self, *_args, **_kwargs) return val def SearchNext(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchNext,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchNext(self, *_args, **_kwargs) return val def SearchPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SearchPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SearchPrev(self, *_args, **_kwargs) return val def LinesOnScreen(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_LinesOnScreen,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_LinesOnScreen(self, *_args, **_kwargs) return val def UsePopUp(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_UsePopUp,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_UsePopUp(self, *_args, **_kwargs) return val def SelectionIsRectangle(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SelectionIsRectangle,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SelectionIsRectangle(self, *_args, **_kwargs) return val def SetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetZoom(self, *_args, **_kwargs) return val def GetZoom(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetZoom,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetZoom(self, *_args, **_kwargs) return val def CreateDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CreateDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CreateDocument(self, *_args, **_kwargs) return val def AddRefDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_AddRefDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_AddRefDocument(self, *_args, **_kwargs) return val def ReleaseDocument(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ReleaseDocument,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ReleaseDocument(self, *_args, **_kwargs) return val def GetModEventMask(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetModEventMask,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetModEventMask(self, *_args, **_kwargs) return val def SetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetSTCFocus(self, *_args, **_kwargs) return val def GetSTCFocus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSTCFocus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSTCFocus(self, *_args, **_kwargs) return val def SetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetStatus(self, *_args, **_kwargs) return val def GetStatus(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetStatus,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetStatus(self, *_args, **_kwargs) return val def SetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMouseDownCaptures(self, *_args, **_kwargs) return val def GetMouseDownCaptures(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetMouseDownCaptures,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetMouseDownCaptures(self, *_args, **_kwargs) return val def SetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetCursor(self, *_args, **_kwargs) return val def GetCursor(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCursor,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCursor(self, *_args, **_kwargs) return val def SetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetControlCharSymbol(self, *_args, **_kwargs) return val def GetControlCharSymbol(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetControlCharSymbol,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetControlCharSymbol(self, *_args, **_kwargs) return val def WordPartLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeft(self, *_args, **_kwargs) return val def WordPartLeftExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartLeftExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartLeftExtend(self, *_args, **_kwargs) return val def WordPartRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRight(self, *_args, **_kwargs) return val def WordPartRightExtend(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_WordPartRightExtend,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_WordPartRightExtend(self, *_args, **_kwargs) return val def SetVisiblePolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVisiblePolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVisiblePolicy(self, *_args, **_kwargs) return val def DelLineLeft(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineLeft,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineLeft(self, *_args, **_kwargs) return val def DelLineRight(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_DelLineRight,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_DelLineRight(self, *_args, **_kwargs) return val def SetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXOffset(self, *_args, **_kwargs) return val def GetXOffset(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetXOffset,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetXOffset(self, *_args, **_kwargs) + return val + def ChooseCaretX(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_ChooseCaretX(self, *_args, **_kwargs) return val def SetXCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetXCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetXCaretPolicy(self, *_args, **_kwargs) return val def SetYCaretPolicy(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetYCaretPolicy,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetYCaretPolicy(self, *_args, **_kwargs) + return val + def SetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetPrintWrapMode(self, *_args, **_kwargs) + return val + def GetPrintWrapMode(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_GetPrintWrapMode(self, *_args, **_kwargs) + return val + def SetHotspotActiveForeground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveForeground(self, *_args, **_kwargs) + return val + def SetHotspotActiveBackground(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveBackground(self, *_args, **_kwargs) + return val + def SetHotspotActiveUnderline(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SetHotspotActiveUnderline(self, *_args, **_kwargs) return val def StartRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StartRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StartRecord(self, *_args, **_kwargs) return val def StopRecord(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StopRecord,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StopRecord(self, *_args, **_kwargs) return val def SetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexer(self, *_args, **_kwargs) return val def GetLexer(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLexer,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLexer(self, *_args, **_kwargs) return val def Colourise(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_Colourise,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_Colourise(self, *_args, **_kwargs) return val def SetProperty(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetProperty,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetProperty(self, *_args, **_kwargs) return val def SetKeyWords(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetKeyWords,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetKeyWords(self, *_args, **_kwargs) return val def SetLexerLanguage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLexerLanguage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLexerLanguage(self, *_args, **_kwargs) return val def GetCurrentLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetCurrentLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetCurrentLine(self, *_args, **_kwargs) return val def StyleSetSpec(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetSpec,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetSpec(self, *_args, **_kwargs) return val def StyleSetFont(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFont,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFont(self, *_args, **_kwargs) return val def StyleSetFontAttr(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_StyleSetFontAttr,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_StyleSetFontAttr(self, *_args, **_kwargs) return val def CmdKeyExecute(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_CmdKeyExecute,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_CmdKeyExecute(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetMargins,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetMargins(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetSelection,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetSelection(self, *_args, **_kwargs) return val def PointFromPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_PointFromPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_PointFromPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ScrollToLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToLine(self, *_args, **_kwargs) return val def ScrollToColumn(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_ScrollToColumn,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_ScrollToColumn(self, *_args, **_kwargs) return val def SendMsg(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SendMsg,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SendMsg(self, *_args, **_kwargs) return val def SetVScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetVScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetVScrollBar(self, *_args, **_kwargs) return val def SetHScrollBar(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetHScrollBar,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetHScrollBar(self, *_args, **_kwargs) return val def GetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_GetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_GetLastKeydownProcessed(self, *_args, **_kwargs) return val def SetLastKeydownProcessed(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextCtrl_SetLastKeydownProcessed,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextCtrl_SetLastKeydownProcessed(self, *_args, **_kwargs) + return val + def SaveFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_SaveFile(self, *_args, **_kwargs) + return val + def LoadFile(self, *_args, **_kwargs): + val = stc_c.wxStyledTextCtrl_LoadFile(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextCtrl(wxStyledTextCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextCtrl,_args,_kwargs) + self.this = stc_c.new_wxStyledTextCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -1053,143 +1142,143 @@ class wxStyledTextEventPtr(wxCommandEventPtr): except: pass def SetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetPosition(self, *_args, **_kwargs) return val def SetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetKey(self, *_args, **_kwargs) return val def SetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModifiers(self, *_args, **_kwargs) return val def SetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetModificationType(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetText(self, *_args, **_kwargs) return val def SetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLength(self, *_args, **_kwargs) return val def SetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLinesAdded(self, *_args, **_kwargs) return val def SetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLine(self, *_args, **_kwargs) return val def SetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelNow(self, *_args, **_kwargs) return val def SetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetFoldLevelPrev(self, *_args, **_kwargs) return val def SetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMargin(self, *_args, **_kwargs) return val def SetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetMessage(self, *_args, **_kwargs) return val def SetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetWParam(self, *_args, **_kwargs) return val def SetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetLParam(self, *_args, **_kwargs) return val def SetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetListType(self, *_args, **_kwargs) return val def SetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetX(self, *_args, **_kwargs) return val def SetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetY(self, *_args, **_kwargs) return val def SetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragText(self, *_args, **_kwargs) return val def SetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragAllowMove(self, *_args, **_kwargs) return val def SetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_SetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_SetDragResult(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetPosition,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetPosition(self, *_args, **_kwargs) return val def GetKey(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetKey,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetKey(self, *_args, **_kwargs) return val def GetModifiers(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModifiers,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModifiers(self, *_args, **_kwargs) return val def GetModificationType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetModificationType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetModificationType(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetText(self, *_args, **_kwargs) return val def GetLength(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLength,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLength(self, *_args, **_kwargs) return val def GetLinesAdded(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLinesAdded,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLinesAdded(self, *_args, **_kwargs) return val def GetLine(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLine,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLine(self, *_args, **_kwargs) return val def GetFoldLevelNow(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelNow,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelNow(self, *_args, **_kwargs) return val def GetFoldLevelPrev(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetFoldLevelPrev,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetFoldLevelPrev(self, *_args, **_kwargs) return val def GetMargin(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMargin,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMargin(self, *_args, **_kwargs) return val def GetMessage(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetMessage,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetMessage(self, *_args, **_kwargs) return val def GetWParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetWParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetWParam(self, *_args, **_kwargs) return val def GetLParam(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetLParam,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetLParam(self, *_args, **_kwargs) return val def GetListType(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetListType,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetListType(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetX,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetY,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetY(self, *_args, **_kwargs) return val def GetDragText(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragText,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragText(self, *_args, **_kwargs) return val def GetDragAllowMove(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragAllowMove,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragAllowMove(self, *_args, **_kwargs) return val def GetDragResult(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetDragResult,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetDragResult(self, *_args, **_kwargs) return val def GetShift(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetShift,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetShift(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetControl,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetControl(self, *_args, **_kwargs) return val def GetAlt(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_GetAlt,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_GetAlt(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(stc_c.wxStyledTextEvent_Clone,(self,) + _args, _kwargs) + val = stc_c.wxStyledTextEvent_Clone(self, *_args, **_kwargs) if val: val = wxEventPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStyledTextEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStyledTextEvent(wxStyledTextEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stc_c.new_wxStyledTextEvent,_args,_kwargs) + self.this = stc_c.new_wxStyledTextEvent(*_args,**_kwargs) self.thisown = 1 @@ -1215,6 +1304,7 @@ wxSTC_EOL_CRLF = stc_c.wxSTC_EOL_CRLF wxSTC_EOL_CR = stc_c.wxSTC_EOL_CR wxSTC_EOL_LF = stc_c.wxSTC_EOL_LF wxSTC_CP_UTF8 = stc_c.wxSTC_CP_UTF8 +wxSTC_CP_DBCS = stc_c.wxSTC_CP_DBCS wxSTC_MARKER_MAX = stc_c.wxSTC_MARKER_MAX wxSTC_MARK_CIRCLE = stc_c.wxSTC_MARK_CIRCLE wxSTC_MARK_ROUNDRECT = stc_c.wxSTC_MARK_ROUNDRECT @@ -1241,6 +1331,7 @@ wxSTC_MARK_CIRCLEMINUSCONNECTED = stc_c.wxSTC_MARK_CIRCLEMINUSCONNECTED wxSTC_MARK_BACKGROUND = stc_c.wxSTC_MARK_BACKGROUND wxSTC_MARK_DOTDOTDOT = stc_c.wxSTC_MARK_DOTDOTDOT wxSTC_MARK_ARROWS = stc_c.wxSTC_MARK_ARROWS +wxSTC_MARK_PIXMAP = stc_c.wxSTC_MARK_PIXMAP wxSTC_MARK_CHARACTER = stc_c.wxSTC_MARK_CHARACTER wxSTC_MARKNUM_FOLDEREND = stc_c.wxSTC_MARKNUM_FOLDEREND wxSTC_MARKNUM_FOLDEROPENMID = stc_c.wxSTC_MARKNUM_FOLDEROPENMID @@ -1301,10 +1392,21 @@ wxSTC_FIND_WHOLEWORD = stc_c.wxSTC_FIND_WHOLEWORD wxSTC_FIND_MATCHCASE = stc_c.wxSTC_FIND_MATCHCASE wxSTC_FIND_WORDSTART = stc_c.wxSTC_FIND_WORDSTART wxSTC_FIND_REGEXP = stc_c.wxSTC_FIND_REGEXP +wxSTC_FIND_POSIX = stc_c.wxSTC_FIND_POSIX wxSTC_FOLDLEVELBASE = stc_c.wxSTC_FOLDLEVELBASE wxSTC_FOLDLEVELWHITEFLAG = stc_c.wxSTC_FOLDLEVELWHITEFLAG wxSTC_FOLDLEVELHEADERFLAG = stc_c.wxSTC_FOLDLEVELHEADERFLAG +wxSTC_FOLDLEVELBOXHEADERFLAG = stc_c.wxSTC_FOLDLEVELBOXHEADERFLAG +wxSTC_FOLDLEVELBOXFOOTERFLAG = stc_c.wxSTC_FOLDLEVELBOXFOOTERFLAG +wxSTC_FOLDLEVELCONTRACTED = stc_c.wxSTC_FOLDLEVELCONTRACTED +wxSTC_FOLDLEVELUNINDENT = stc_c.wxSTC_FOLDLEVELUNINDENT wxSTC_FOLDLEVELNUMBERMASK = stc_c.wxSTC_FOLDLEVELNUMBERMASK +wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED +wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED +wxSTC_FOLDFLAG_LINEAFTER_EXPANDED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_EXPANDED +wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED = stc_c.wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED +wxSTC_FOLDFLAG_LEVELNUMBERS = stc_c.wxSTC_FOLDFLAG_LEVELNUMBERS +wxSTC_FOLDFLAG_BOX = stc_c.wxSTC_FOLDFLAG_BOX wxSTC_TIME_FOREVER = stc_c.wxSTC_TIME_FOREVER wxSTC_WRAP_NONE = stc_c.wxSTC_WRAP_NONE wxSTC_WRAP_WORD = stc_c.wxSTC_WRAP_WORD @@ -1389,6 +1491,12 @@ wxSTC_LEX_PHP = stc_c.wxSTC_LEX_PHP wxSTC_LEX_BAAN = stc_c.wxSTC_LEX_BAAN wxSTC_LEX_MATLAB = stc_c.wxSTC_LEX_MATLAB wxSTC_LEX_SCRIPTOL = stc_c.wxSTC_LEX_SCRIPTOL +wxSTC_LEX_ASM = stc_c.wxSTC_LEX_ASM +wxSTC_LEX_CPPNOCASE = stc_c.wxSTC_LEX_CPPNOCASE +wxSTC_LEX_FORTRAN = stc_c.wxSTC_LEX_FORTRAN +wxSTC_LEX_F77 = stc_c.wxSTC_LEX_F77 +wxSTC_LEX_CSS = stc_c.wxSTC_LEX_CSS +wxSTC_LEX_POV = stc_c.wxSTC_LEX_POV wxSTC_LEX_AUTOMATIC = stc_c.wxSTC_LEX_AUTOMATIC wxSTC_P_DEFAULT = stc_c.wxSTC_P_DEFAULT wxSTC_P_COMMENTLINE = stc_c.wxSTC_P_COMMENTLINE @@ -1614,6 +1722,9 @@ wxSTC_ERR_DIFF_CHANGED = stc_c.wxSTC_ERR_DIFF_CHANGED wxSTC_ERR_DIFF_ADDITION = stc_c.wxSTC_ERR_DIFF_ADDITION wxSTC_ERR_DIFF_DELETION = stc_c.wxSTC_ERR_DIFF_DELETION wxSTC_ERR_DIFF_MESSAGE = stc_c.wxSTC_ERR_DIFF_MESSAGE +wxSTC_ERR_PHP = stc_c.wxSTC_ERR_PHP +wxSTC_ERR_ELF = stc_c.wxSTC_ERR_ELF +wxSTC_ERR_IFC = stc_c.wxSTC_ERR_IFC wxSTC_BAT_DEFAULT = stc_c.wxSTC_BAT_DEFAULT wxSTC_BAT_COMMENT = stc_c.wxSTC_BAT_COMMENT wxSTC_BAT_WORD = stc_c.wxSTC_BAT_WORD @@ -1650,22 +1761,29 @@ wxSTC_AVE_DEFAULT = stc_c.wxSTC_AVE_DEFAULT wxSTC_AVE_COMMENT = stc_c.wxSTC_AVE_COMMENT wxSTC_AVE_NUMBER = stc_c.wxSTC_AVE_NUMBER wxSTC_AVE_WORD = stc_c.wxSTC_AVE_WORD -wxSTC_AVE_KEYWORD = stc_c.wxSTC_AVE_KEYWORD -wxSTC_AVE_STATEMENT = stc_c.wxSTC_AVE_STATEMENT wxSTC_AVE_STRING = stc_c.wxSTC_AVE_STRING wxSTC_AVE_ENUM = stc_c.wxSTC_AVE_ENUM wxSTC_AVE_STRINGEOL = stc_c.wxSTC_AVE_STRINGEOL wxSTC_AVE_IDENTIFIER = stc_c.wxSTC_AVE_IDENTIFIER wxSTC_AVE_OPERATOR = stc_c.wxSTC_AVE_OPERATOR +wxSTC_AVE_WORD1 = stc_c.wxSTC_AVE_WORD1 +wxSTC_AVE_WORD2 = stc_c.wxSTC_AVE_WORD2 +wxSTC_AVE_WORD3 = stc_c.wxSTC_AVE_WORD3 +wxSTC_AVE_WORD4 = stc_c.wxSTC_AVE_WORD4 +wxSTC_AVE_WORD5 = stc_c.wxSTC_AVE_WORD5 +wxSTC_AVE_WORD6 = stc_c.wxSTC_AVE_WORD6 wxSTC_ADA_DEFAULT = stc_c.wxSTC_ADA_DEFAULT -wxSTC_ADA_COMMENT = stc_c.wxSTC_ADA_COMMENT -wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER wxSTC_ADA_WORD = stc_c.wxSTC_ADA_WORD -wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING -wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER -wxSTC_ADA_OPERATOR = stc_c.wxSTC_ADA_OPERATOR wxSTC_ADA_IDENTIFIER = stc_c.wxSTC_ADA_IDENTIFIER +wxSTC_ADA_NUMBER = stc_c.wxSTC_ADA_NUMBER +wxSTC_ADA_DELIMITER = stc_c.wxSTC_ADA_DELIMITER +wxSTC_ADA_CHARACTER = stc_c.wxSTC_ADA_CHARACTER +wxSTC_ADA_CHARACTEREOL = stc_c.wxSTC_ADA_CHARACTEREOL +wxSTC_ADA_STRING = stc_c.wxSTC_ADA_STRING wxSTC_ADA_STRINGEOL = stc_c.wxSTC_ADA_STRINGEOL +wxSTC_ADA_LABEL = stc_c.wxSTC_ADA_LABEL +wxSTC_ADA_COMMENTLINE = stc_c.wxSTC_ADA_COMMENTLINE +wxSTC_ADA_ILLEGAL = stc_c.wxSTC_ADA_ILLEGAL wxSTC_BAAN_DEFAULT = stc_c.wxSTC_BAAN_DEFAULT wxSTC_BAAN_COMMENT = stc_c.wxSTC_BAAN_COMMENT wxSTC_BAAN_COMMENTDOC = stc_c.wxSTC_BAAN_COMMENTDOC @@ -1733,6 +1851,58 @@ wxSTC_SCRIPTOL_WORD2 = stc_c.wxSTC_SCRIPTOL_WORD2 wxSTC_SCRIPTOL_COMMENTDOCKEYWORD = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORD wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR = stc_c.wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR wxSTC_SCRIPTOL_COMMENTBASIC = stc_c.wxSTC_SCRIPTOL_COMMENTBASIC +wxSTC_ASM_DEFAULT = stc_c.wxSTC_ASM_DEFAULT +wxSTC_ASM_COMMENT = stc_c.wxSTC_ASM_COMMENT +wxSTC_ASM_NUMBER = stc_c.wxSTC_ASM_NUMBER +wxSTC_ASM_STRING = stc_c.wxSTC_ASM_STRING +wxSTC_ASM_OPERATOR = stc_c.wxSTC_ASM_OPERATOR +wxSTC_ASM_IDENTIFIER = stc_c.wxSTC_ASM_IDENTIFIER +wxSTC_ASM_CPUINSTRUCTION = stc_c.wxSTC_ASM_CPUINSTRUCTION +wxSTC_ASM_MATHINSTRUCTION = stc_c.wxSTC_ASM_MATHINSTRUCTION +wxSTC_ASM_REGISTER = stc_c.wxSTC_ASM_REGISTER +wxSTC_ASM_DIRECTIVE = stc_c.wxSTC_ASM_DIRECTIVE +wxSTC_ASM_DIRECTIVEOPERAND = stc_c.wxSTC_ASM_DIRECTIVEOPERAND +wxSTC_F_DEFAULT = stc_c.wxSTC_F_DEFAULT +wxSTC_F_COMMENT = stc_c.wxSTC_F_COMMENT +wxSTC_F_NUMBER = stc_c.wxSTC_F_NUMBER +wxSTC_F_STRING1 = stc_c.wxSTC_F_STRING1 +wxSTC_F_STRING2 = stc_c.wxSTC_F_STRING2 +wxSTC_F_STRINGEOL = stc_c.wxSTC_F_STRINGEOL +wxSTC_F_OPERATOR = stc_c.wxSTC_F_OPERATOR +wxSTC_F_IDENTIFIER = stc_c.wxSTC_F_IDENTIFIER +wxSTC_F_WORD = stc_c.wxSTC_F_WORD +wxSTC_F_WORD2 = stc_c.wxSTC_F_WORD2 +wxSTC_F_WORD3 = stc_c.wxSTC_F_WORD3 +wxSTC_F_PREPROCESSOR = stc_c.wxSTC_F_PREPROCESSOR +wxSTC_F_OPERATOR2 = stc_c.wxSTC_F_OPERATOR2 +wxSTC_F_LABEL = stc_c.wxSTC_F_LABEL +wxSTC_F_CONTINUATION = stc_c.wxSTC_F_CONTINUATION +wxSTC_CSS_DEFAULT = stc_c.wxSTC_CSS_DEFAULT +wxSTC_CSS_TAG = stc_c.wxSTC_CSS_TAG +wxSTC_CSS_CLASS = stc_c.wxSTC_CSS_CLASS +wxSTC_CSS_PSEUDOCLASS = stc_c.wxSTC_CSS_PSEUDOCLASS +wxSTC_CSS_UNKNOWN_PSEUDOCLASS = stc_c.wxSTC_CSS_UNKNOWN_PSEUDOCLASS +wxSTC_CSS_OPERATOR = stc_c.wxSTC_CSS_OPERATOR +wxSTC_CSS_IDENTIFIER = stc_c.wxSTC_CSS_IDENTIFIER +wxSTC_CSS_UNKNOWN_IDENTIFIER = stc_c.wxSTC_CSS_UNKNOWN_IDENTIFIER +wxSTC_CSS_VALUE = stc_c.wxSTC_CSS_VALUE +wxSTC_CSS_COMMENT = stc_c.wxSTC_CSS_COMMENT +wxSTC_CSS_ID = stc_c.wxSTC_CSS_ID +wxSTC_CSS_IMPORTANT = stc_c.wxSTC_CSS_IMPORTANT +wxSTC_CSS_DIRECTIVE = stc_c.wxSTC_CSS_DIRECTIVE +wxSTC_CSS_DOUBLESTRING = stc_c.wxSTC_CSS_DOUBLESTRING +wxSTC_CSS_SINGLESTRING = stc_c.wxSTC_CSS_SINGLESTRING +wxSTC_POV_DEFAULT = stc_c.wxSTC_POV_DEFAULT +wxSTC_POV_COMMENT = stc_c.wxSTC_POV_COMMENT +wxSTC_POV_COMMENTLINE = stc_c.wxSTC_POV_COMMENTLINE +wxSTC_POV_COMMENTDOC = stc_c.wxSTC_POV_COMMENTDOC +wxSTC_POV_NUMBER = stc_c.wxSTC_POV_NUMBER +wxSTC_POV_WORD = stc_c.wxSTC_POV_WORD +wxSTC_POV_STRING = stc_c.wxSTC_POV_STRING +wxSTC_POV_OPERATOR = stc_c.wxSTC_POV_OPERATOR +wxSTC_POV_IDENTIFIER = stc_c.wxSTC_POV_IDENTIFIER +wxSTC_POV_BRACE = stc_c.wxSTC_POV_BRACE +wxSTC_POV_WORD2 = stc_c.wxSTC_POV_WORD2 wxSTC_CMD_REDO = stc_c.wxSTC_CMD_REDO wxSTC_CMD_SELECTALL = stc_c.wxSTC_CMD_SELECTALL wxSTC_CMD_UNDO = stc_c.wxSTC_CMD_UNDO @@ -1780,6 +1950,7 @@ wxSTC_CMD_DELWORDRIGHT = stc_c.wxSTC_CMD_DELWORDRIGHT wxSTC_CMD_LINECUT = stc_c.wxSTC_CMD_LINECUT wxSTC_CMD_LINEDELETE = stc_c.wxSTC_CMD_LINEDELETE wxSTC_CMD_LINETRANSPOSE = stc_c.wxSTC_CMD_LINETRANSPOSE +wxSTC_CMD_LINEDUPLICATE = stc_c.wxSTC_CMD_LINEDUPLICATE wxSTC_CMD_LOWERCASE = stc_c.wxSTC_CMD_LOWERCASE wxSTC_CMD_UPPERCASE = stc_c.wxSTC_CMD_UPPERCASE wxSTC_CMD_LINESCROLLDOWN = stc_c.wxSTC_CMD_LINESCROLLDOWN @@ -1789,12 +1960,22 @@ wxSTC_CMD_HOMEDISPLAY = stc_c.wxSTC_CMD_HOMEDISPLAY wxSTC_CMD_HOMEDISPLAYEXTEND = stc_c.wxSTC_CMD_HOMEDISPLAYEXTEND wxSTC_CMD_LINEENDDISPLAY = stc_c.wxSTC_CMD_LINEENDDISPLAY wxSTC_CMD_LINEENDDISPLAYEXTEND = stc_c.wxSTC_CMD_LINEENDDISPLAYEXTEND +wxSTC_CMD_HOMEWRAP = stc_c.wxSTC_CMD_HOMEWRAP +wxSTC_CMD_HOMEWRAPEXTEND = stc_c.wxSTC_CMD_HOMEWRAPEXTEND +wxSTC_CMD_LINEENDWRAP = stc_c.wxSTC_CMD_LINEENDWRAP +wxSTC_CMD_LINEENDWRAPEXTEND = stc_c.wxSTC_CMD_LINEENDWRAPEXTEND +wxSTC_CMD_VCHOMEWRAP = stc_c.wxSTC_CMD_VCHOMEWRAP +wxSTC_CMD_VCHOMEWRAPEXTEND = stc_c.wxSTC_CMD_VCHOMEWRAPEXTEND wxSTC_CMD_WORDPARTLEFT = stc_c.wxSTC_CMD_WORDPARTLEFT wxSTC_CMD_WORDPARTLEFTEXTEND = stc_c.wxSTC_CMD_WORDPARTLEFTEXTEND wxSTC_CMD_WORDPARTRIGHT = stc_c.wxSTC_CMD_WORDPARTRIGHT wxSTC_CMD_WORDPARTRIGHTEXTEND = stc_c.wxSTC_CMD_WORDPARTRIGHTEXTEND wxSTC_CMD_DELLINELEFT = stc_c.wxSTC_CMD_DELLINELEFT wxSTC_CMD_DELLINERIGHT = stc_c.wxSTC_CMD_DELLINERIGHT +wxSTC_CMD_PARADOWN = stc_c.wxSTC_CMD_PARADOWN +wxSTC_CMD_PARADOWNEXTEND = stc_c.wxSTC_CMD_PARADOWNEXTEND +wxSTC_CMD_PARAUP = stc_c.wxSTC_CMD_PARAUP +wxSTC_CMD_PARAUPEXTEND = stc_c.wxSTC_CMD_PARAUPEXTEND STC_USE_DND = stc_c.STC_USE_DND wxEVT_STC_CHANGE = stc_c.wxEVT_STC_CHANGE wxEVT_STC_STYLENEEDED = stc_c.wxEVT_STC_STYLENEEDED @@ -1819,6 +2000,9 @@ wxEVT_STC_START_DRAG = stc_c.wxEVT_STC_START_DRAG wxEVT_STC_DRAG_OVER = stc_c.wxEVT_STC_DRAG_OVER wxEVT_STC_DO_DROP = stc_c.wxEVT_STC_DO_DROP wxEVT_STC_ZOOM = stc_c.wxEVT_STC_ZOOM +wxEVT_STC_HOTSPOT_CLICK = stc_c.wxEVT_STC_HOTSPOT_CLICK +wxEVT_STC_HOTSPOT_DCLICK = stc_c.wxEVT_STC_HOTSPOT_DCLICK +wxEVT_STC_CALLTIP_CLICK = stc_c.wxEVT_STC_CALLTIP_CLICK #-------------- USER INCLUDE ----------------------- diff --git a/wxPython/contrib/stc/stc_.i b/wxPython/contrib/stc/stc_.i index 2f0ef5416a..fef927b591 100644 --- a/wxPython/contrib/stc/stc_.i +++ b/wxPython/contrib/stc/stc_.i @@ -114,6 +114,14 @@ def EVT_STC_DO_DROP(win, id, func): def EVT_STC_ZOOM(win, id, func): win.Connect(id, -1, wxEVT_STC_ZOOM, func) +def EVT_STC_HOTSPOT_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_CLICK, func) + +def EVT_STC_HOTSPOT_DCLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_HOTSPOT_DCLICK, func) + +def EVT_STC_CALLTIP_CLICK(win, id, func): + win.Connect(id, -1, wxEVT_STC_CALLTIP_CLICK, func) " //---------------------------------------------------------------------- diff --git a/wxPython/contrib/xrc/xrc.py b/wxPython/contrib/xrc/xrc.py index 79f0b6a62c..0ff99fdb75 100644 --- a/wxPython/contrib/xrc/xrc.py +++ b/wxPython/contrib/xrc/xrc.py @@ -63,96 +63,96 @@ class wxXmlResourcePtr(wxObjectPtr): except: pass def Load(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_Load,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_Load(self, *_args, **_kwargs) return val def LoadFromString(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadFromString,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadFromString(self, *_args, **_kwargs) return val def InitAllHandlers(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_InitAllHandlers,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_InitAllHandlers(self, *_args, **_kwargs) return val def AddHandler(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_AddHandler,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_AddHandler(self, *_args, **_kwargs) return val def InsertHandler(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_InsertHandler,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_InsertHandler(self, *_args, **_kwargs) return val def ClearHandlers(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_ClearHandlers,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_ClearHandlers(self, *_args, **_kwargs) return val def LoadMenu(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadMenu,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadMenu(self, *_args, **_kwargs) return val def LoadMenuBar(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadMenuBar,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadMenuBar(self, *_args, **_kwargs) return val def LoadMenuBarOnFrame(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadMenuBarOnFrame,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadMenuBarOnFrame(self, *_args, **_kwargs) return val def LoadToolBar(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadToolBar,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadToolBar(self, *_args, **_kwargs) return val def LoadDialog(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadDialog,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadDialog(self, *_args, **_kwargs) if val: val = wxDialogPtr(val) return val def LoadOnDialog(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadOnDialog,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadOnDialog(self, *_args, **_kwargs) return val def LoadPanel(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadPanel,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadPanel(self, *_args, **_kwargs) if val: val = wxPanelPtr(val) return val def LoadOnPanel(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadOnPanel,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadOnPanel(self, *_args, **_kwargs) return val def LoadFrame(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadFrame,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadFrame(self, *_args, **_kwargs) return val def LoadOnFrame(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadOnFrame,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadOnFrame(self, *_args, **_kwargs) return val def LoadObject(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadObject,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadObject(self, *_args, **_kwargs) return val def LoadOnObject(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadOnObject,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadOnObject(self, *_args, **_kwargs) return val def LoadBitmap(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadBitmap,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def LoadIcon(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_LoadIcon,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_LoadIcon(self, *_args, **_kwargs) if val: val = wxIconPtr(val) ; val.thisown = 1 return val def AttachUnknownControl(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_AttachUnknownControl,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_AttachUnknownControl(self, *_args, **_kwargs) return val def GetVersion(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_GetVersion,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_GetVersion(self, *_args, **_kwargs) return val def CompareVersion(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_CompareVersion,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_CompareVersion(self, *_args, **_kwargs) return val def GetFlags(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_GetFlags,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_GetFlags(self, *_args, **_kwargs) return val def SetFlags(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResource_SetFlags,(self,) + _args, _kwargs) + val = xrcc.wxXmlResource_SetFlags(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlResource instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlResource(wxXmlResourcePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlResource,_args,_kwargs) + self.this = xrcc.new_wxXmlResource(*_args,**_kwargs) self.thisown = 1 self.InitAllHandlers() def wxEmptyXmlResource(*_args,**_kwargs): - val = wxXmlResourcePtr(apply(xrcc.new_wxEmptyXmlResource,_args,_kwargs)) + val = wxXmlResourcePtr(xrcc.new_wxEmptyXmlResource(*_args,**_kwargs)) val.thisown = 1 val.InitAllHandlers() return val @@ -163,13 +163,13 @@ class wxXmlSubclassFactoryPtr : self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlSubclassFactory__setCallbackInfo,(self,) + _args, _kwargs) + val = xrcc.wxXmlSubclassFactory__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlSubclassFactory instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlSubclassFactory(wxXmlSubclassFactoryPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlSubclassFactory,_args,_kwargs) + self.this = xrcc.new_wxXmlSubclassFactory(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxXmlSubclassFactory) @@ -181,29 +181,29 @@ class wxXmlPropertyPtr : self.this = this self.thisown = 0 def GetName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_GetName,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_GetName(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_GetValue,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_GetValue(self, *_args, **_kwargs) return val def GetNext(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_GetNext,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_GetNext(self, *_args, **_kwargs) if val: val = wxXmlPropertyPtr(val) return val def SetName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_SetName,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_SetName(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_SetValue,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_SetValue(self, *_args, **_kwargs) return val def SetNext(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlProperty_SetNext,(self,) + _args, _kwargs) + val = xrcc.wxXmlProperty_SetNext(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlProperty instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlProperty(wxXmlPropertyPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlProperty,_args,_kwargs) + self.this = xrcc.new_wxXmlProperty(*_args,**_kwargs) self.thisown = 1 @@ -220,86 +220,86 @@ class wxXmlNodePtr : except: pass def AddChild(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_AddChild,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_AddChild(self, *_args, **_kwargs) return val def InsertChild(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_InsertChild,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_InsertChild(self, *_args, **_kwargs) return val def RemoveChild(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_RemoveChild,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_RemoveChild(self, *_args, **_kwargs) return val def AddProperty(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_AddProperty,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_AddProperty(self, *_args, **_kwargs) return val def AddPropertyName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_AddPropertyName,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_AddPropertyName(self, *_args, **_kwargs) return val def DeleteProperty(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_DeleteProperty,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_DeleteProperty(self, *_args, **_kwargs) return val def GetType(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetType,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetType(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetName,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetName(self, *_args, **_kwargs) return val def GetContent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetContent,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetContent(self, *_args, **_kwargs) return val def GetParent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetParent,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetParent(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetNext(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetNext,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetNext(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetChildren(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetChildren,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetChildren(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetProperties(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetProperties,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetProperties(self, *_args, **_kwargs) if val: val = wxXmlPropertyPtr(val) return val def GetPropVal(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_GetPropVal,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_GetPropVal(self, *_args, **_kwargs) return val def HasProp(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_HasProp,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_HasProp(self, *_args, **_kwargs) return val def SetType(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetType,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetType(self, *_args, **_kwargs) return val def SetName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetName,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetName(self, *_args, **_kwargs) return val def SetContent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetContent,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetContent(self, *_args, **_kwargs) return val def SetParent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetParent,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetParent(self, *_args, **_kwargs) return val def SetNext(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetNext,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetNext(self, *_args, **_kwargs) return val def SetChildren(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetChildren,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetChildren(self, *_args, **_kwargs) return val def SetProperties(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlNode_SetProperties,(self,) + _args, _kwargs) + val = xrcc.wxXmlNode_SetProperties(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlNode instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlNode(wxXmlNodePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlNode,_args,_kwargs) + self.this = xrcc.new_wxXmlNode(*_args,**_kwargs) self.thisown = 1 def wxXmlNodeEasy(*_args,**_kwargs): - val = wxXmlNodePtr(apply(xrcc.new_wxXmlNodeEasy,_args,_kwargs)) + val = wxXmlNodePtr(xrcc.new_wxXmlNodeEasy(*_args,**_kwargs)) val.thisown = 1 return val @@ -315,61 +315,61 @@ class wxXmlDocumentPtr(wxObjectPtr): except: pass def Load(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_Load,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_Load(self, *_args, **_kwargs) return val def LoadFromStream(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_LoadFromStream,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_LoadFromStream(self, *_args, **_kwargs) return val def Save(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_Save,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_Save(self, *_args, **_kwargs) return val def SaveToStream(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_SaveToStream,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_SaveToStream(self, *_args, **_kwargs) return val def IsOk(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_IsOk,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_IsOk(self, *_args, **_kwargs) return val def GetRoot(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_GetRoot,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_GetRoot(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetVersion(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_GetVersion,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_GetVersion(self, *_args, **_kwargs) return val def GetFileEncoding(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_GetFileEncoding,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_GetFileEncoding(self, *_args, **_kwargs) return val def SetRoot(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_SetRoot,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_SetRoot(self, *_args, **_kwargs) return val def SetVersion(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_SetVersion,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_SetVersion(self, *_args, **_kwargs) return val def SetFileEncoding(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_SetFileEncoding,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_SetFileEncoding(self, *_args, **_kwargs) return val def GetEncoding(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_GetEncoding,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_GetEncoding(self, *_args, **_kwargs) return val def SetEncoding(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlDocument_SetEncoding,(self,) + _args, _kwargs) + val = xrcc.wxXmlDocument_SetEncoding(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlDocument instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlDocument(wxXmlDocumentPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlDocument,_args,_kwargs) + self.this = xrcc.new_wxXmlDocument(*_args,**_kwargs) self.thisown = 1 def wxXmlDocumentFromStream(*_args,**_kwargs): - val = wxXmlDocumentPtr(apply(xrcc.new_wxXmlDocumentFromStream,_args,_kwargs)) + val = wxXmlDocumentPtr(xrcc.new_wxXmlDocumentFromStream(*_args,**_kwargs)) val.thisown = 1 return val def wxEmptyXmlDocument(*_args,**_kwargs): - val = wxXmlDocumentPtr(apply(xrcc.new_wxEmptyXmlDocument,_args,_kwargs)) + val = wxXmlDocumentPtr(xrcc.new_wxEmptyXmlDocument(*_args,**_kwargs)) val.thisown = 1 return val @@ -379,124 +379,124 @@ class wxXmlResourceHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler__setCallbackInfo,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler__setCallbackInfo(self, *_args, **_kwargs) return val def CreateResource(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_CreateResource,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_CreateResource(self, *_args, **_kwargs) return val def SetParentResource(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_SetParentResource,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_SetParentResource(self, *_args, **_kwargs) return val def GetResource(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetResource,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetResource(self, *_args, **_kwargs) if val: val = wxXmlResourcePtr(val) return val def GetNode(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetNode,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetNode(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetClass(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetClass,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetClass(self, *_args, **_kwargs) return val def GetParent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetParent,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetParent(self, *_args, **_kwargs) return val def GetInstance(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetInstance,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetInstance(self, *_args, **_kwargs) return val def GetParentAsWindow(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetParentAsWindow,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetParentAsWindow(self, *_args, **_kwargs) return val def GetInstanceAsWindow(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetInstanceAsWindow,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetInstanceAsWindow(self, *_args, **_kwargs) return val def IsOfClass(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_IsOfClass,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_IsOfClass(self, *_args, **_kwargs) return val def GetNodeContent(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetNodeContent,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetNodeContent(self, *_args, **_kwargs) return val def HasParam(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_HasParam,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_HasParam(self, *_args, **_kwargs) return val def GetParamNode(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetParamNode,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetParamNode(self, *_args, **_kwargs) if val: val = wxXmlNodePtr(val) return val def GetParamValue(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetParamValue,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetParamValue(self, *_args, **_kwargs) return val def AddStyle(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_AddStyle,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_AddStyle(self, *_args, **_kwargs) return val def AddWindowStyles(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_AddWindowStyles,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_AddWindowStyles(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetStyle,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetStyle(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetText,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetText(self, *_args, **_kwargs) return val def GetID(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetID,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetID(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetName,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetName(self, *_args, **_kwargs) return val def GetBool(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetBool,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetBool(self, *_args, **_kwargs) return val def GetLong(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetLong,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetLong(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetColour,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetSize(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetSize,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetPosition(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetPosition,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetDimension(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetDimension,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetDimension(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetBitmap,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def GetIcon(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetIcon,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetIcon(self, *_args, **_kwargs) if val: val = wxIconPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetFont,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def SetupWindow(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_SetupWindow,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_SetupWindow(self, *_args, **_kwargs) return val def CreateChildren(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_CreateChildren,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_CreateChildren(self, *_args, **_kwargs) return val def CreateChildrenPrivately(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_CreateChildrenPrivately,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_CreateChildrenPrivately(self, *_args, **_kwargs) return val def CreateResFromNode(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_CreateResFromNode,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_CreateResFromNode(self, *_args, **_kwargs) return val def GetCurFileSystem(self, *_args, **_kwargs): - val = apply(xrcc.wxXmlResourceHandler_GetCurFileSystem,(self,) + _args, _kwargs) + val = xrcc.wxXmlResourceHandler_GetCurFileSystem(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxXmlResourceHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxXmlResourceHandler(wxXmlResourceHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(xrcc.new_wxXmlResourceHandler,_args,_kwargs) + self.this = xrcc.new_wxXmlResourceHandler(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxXmlResourceHandler) @@ -512,12 +512,12 @@ wxXmlResource_AddSubclassFactory = xrcc.wxXmlResource_AddSubclassFactory wxXmlResource_GetXRCID = xrcc.wxXmlResource_GetXRCID def wxXmlResource_Get(*_args, **_kwargs): - val = apply(xrcc.wxXmlResource_Get,_args,_kwargs) + val = xrcc.wxXmlResource_Get(*_args,**_kwargs) if val: val = wxXmlResourcePtr(val) return val def wxXmlResource_Set(*_args, **_kwargs): - val = apply(xrcc.wxXmlResource_Set,_args,_kwargs) + val = xrcc.wxXmlResource_Set(*_args,**_kwargs) if val: val = wxXmlResourcePtr(val) return val diff --git a/wxPython/demo/About.py b/wxPython/demo/About.py index 3e22739553..43ac255556 100644 --- a/wxPython/demo/About.py +++ b/wxPython/demo/About.py @@ -1,12 +1,12 @@ import sys -from wxPython.wx import * -from wxPython.html import * -import wxPython.lib.wxpTag +import wx # This module uses the new wx namespace +import wx.html +import wx.lib.wxpTag #--------------------------------------------------------------------------- -class MyAboutBox(wxDialog): +class MyAboutBox(wx.Dialog): text = ''' @@ -29,36 +29,40 @@ sit back and enjoy. Be sure to take a peek at the source code for each demo item so you can learn how to use the classes yourself.

wxPython is brought to you by Robin Dunn and
-Total Control Software, Copyright (c) 1997-2002.

+Total Control Software, Copyright (c) 1997-2003.

Please see license.txt for licensing information.

-

+

- +

''' def __init__(self, parent): - wxDialog.__init__(self, parent, -1, 'About the wxPython demo',) - html = wxHtmlWindow(self, -1, size=(420, -1)) + wx.Dialog.__init__(self, parent, -1, 'About the wxPython demo',) + html = wx.html.HtmlWindow(self, -1, size=(420, -1)) py_version = sys.version.split()[0] - html.SetPage(self.text % (wx.__version__, py_version)) - btn = html.FindWindowById(wxID_OK) + html.SetPage(self.text % (wx.VERSION_STRING, py_version)) + btn = html.FindWindowById(wx.ID_OK) btn.SetDefault() ir = html.GetInternalRepresentation() html.SetSize( (ir.GetWidth()+25, ir.GetHeight()+25) ) self.SetClientSize(html.GetSize()) - self.CentreOnParent(wxBOTH) + self.CentreOnParent(wx.BOTH) #--------------------------------------------------------------------------- - - +if __name__ == '__main__': + app = wx.PySimpleApp() + dlg = MyAboutBox(None) + dlg.ShowModal() + dlg.Destroy() + app.MainLoop() diff --git a/wxPython/demo/AnalogClockWindow.py b/wxPython/demo/AnalogClockWindow.py new file mode 100644 index 0000000000..7d85145a33 --- /dev/null +++ b/wxPython/demo/AnalogClockWindow.py @@ -0,0 +1,79 @@ + + + +from wxPython.wx import * +from wxPython.lib.analogclock import AnalogClockWindow + +#---------------------------------------------------------------------- + +class TestPanel(wxPanel): + def __init__(self, parent, log): + self.log = log + wxPanel.__init__(self, parent, -1) + + c1 = AnalogClockWindow(self) + c1.SetBackgroundColour("RED") + c1.SetHandsColour("BLUE") + c1.SetTickMarkColours("WHITE") + + c2 = AnalogClockWindow(self) + c2.SetBackgroundColour("WHITE") + c2.SetHandsColour("RED") + c2.SetTickMarkColours("BLUE") + + c3 = AnalogClockWindow(self) + c3.SetBackgroundColour("BLUE") + c3.SetHandsColour("WHITE") + c3.SetTickMarkColours("RED") + + c4 = AnalogClockWindow(self, style=wxRAISED_BORDER) + c4.SetTickMarkStyle(AnalogClockWindow.TICKS_CIRCLE) + + c5 = AnalogClockWindow(self) + c5.SetTickMarkStyle(AnalogClockWindow.TICKS_NONE) + + c6 = AnalogClockWindow(self, style=wxSUNKEN_BORDER) + + + # layout the clocks in a grid + gs = wxGridSizer(2, 3, 4, 4) + gs.Add(c1, 0, wxEXPAND) + gs.Add(c2, 0, wxEXPAND) + gs.Add(c3, 0, wxEXPAND) + gs.Add(c4, 0, wxEXPAND) + gs.Add(c5, 0, wxEXPAND) + gs.Add(c6, 0, wxEXPAND) + + # put it in another sizer for a border + sizer = wxBoxSizer(wxVERTICAL) + sizer.Add(gs, 1, wxEXPAND|wxALL, 10) + + self.SetSizer(sizer) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

AnalogClockWindow

+ +This is a nice little clock class that was contributed to by several +members of the wxPython-users group. + + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/ColourDB.py b/wxPython/demo/ColourDB.py index 8e00407dba..05fbccdad1 100644 --- a/wxPython/demo/ColourDB.py +++ b/wxPython/demo/ColourDB.py @@ -127,3 +127,10 @@ def runTest(frame, nb, log): overview = """ """ + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/ContextHelp.py b/wxPython/demo/ContextHelp.py index c115f22c44..7bca0c5156 100644 --- a/wxPython/demo/ContextHelp.py +++ b/wxPython/demo/ContextHelp.py @@ -90,3 +90,10 @@ help into your applicaiton using the wxSimpleHelpProvider class. #---------------------------------------------------------------------- + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/DragAndDrop.py b/wxPython/demo/DragAndDrop.py index e99abc3660..c69091d378 100644 --- a/wxPython/demo/DragAndDrop.py +++ b/wxPython/demo/DragAndDrop.py @@ -206,11 +206,38 @@ def runTest(frame, nb, log): -overview = """\ -This demo shows some examples of data transfer through clipboard or drag and drop. In wxWindows, these two ways to transfer data (either between different applications or inside one and the same) are very similar which allows to implement both of them using almost the same code - or, in other words, if you implement drag and drop support for your application, you get clipboard support for free and vice versa. +overview = """\ +This demo shows some examples of data transfer through clipboard or +drag and drop. In wxWindows, these two ways to transfer data (either +between different applications or inside one and the same) are very +similar which allows to implement both of them using almost the same +code - or, in other words, if you implement drag and drop support for +your application, you get clipboard support for free and vice versa. +

+At the heart of both clipboard and drag and drop operations lies the +wxDataObject class. The objects of this class (or, to be precise, +classes derived from it) represent the data which is being carried by +the mouse during drag and drop operation or copied to or pasted from +the clipboard. wxDataObject is a "smart" piece of data because it +knows which formats it supports (see GetFormatCount and GetAllFormats) +and knows how to render itself in any of them (see GetDataHere). It +can also receive its value from the outside in a format it supports if +it implements the SetData method. Please see the documentation of this +class for more details. +

+Both clipboard and drag and drop operations have two sides: the source +and target, the data provider and the data receiver. These which may +be in the same application and even the same window when, for example, +you drag some text from one position to another in a word +processor. Let us describe what each of them should do. + +""" -At the heart of both clipboard and drag and drop operations lies the wxDataObject class. The objects of this class (or, to be precise, classes derived from it) represent the data which is being carried by the mouse during drag and drop operation or copied to or pasted from the clipboard. wxDataObject is a "smart" piece of data because it knows which formats it supports (see GetFormatCount and GetAllFormats) and knows how to render itself in any of them (see GetDataHere). It can also receive its value from the outside in a format it supports if it implements the SetData method. Please see the documentation of this class for more details. -Both clipboard and drag and drop operations have two sides: the source and target, the data provider and the data receiver. These which may be in the same application and even the same window when, for example, you drag some text from one position to another in a word processor. Let us describe what each of them should do. -""" + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/FancyText.py b/wxPython/demo/FancyText.py index f504ccc21c..959a0dd1b5 100644 --- a/wxPython/demo/FancyText.py +++ b/wxPython/demo/FancyText.py @@ -38,3 +38,11 @@ def runTest(frame, nb, log): overview = fancytext.__doc__.replace("<", "<") + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/FileBrowseButton.py b/wxPython/demo/FileBrowseButton.py index 9967ea355f..798f201259 100644 --- a/wxPython/demo/FileBrowseButton.py +++ b/wxPython/demo/FileBrowseButton.py @@ -74,3 +74,12 @@ overview = """ """ % ( FileBrowseButton.__doc__, FileBrowseButtonWithHistory.__doc__ , str(DirBrowseButton.__doc__) ) + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/FontEnumerator.py b/wxPython/demo/FontEnumerator.py index 67b5f6ef10..3ac7e51d4a 100644 --- a/wxPython/demo/FontEnumerator.py +++ b/wxPython/demo/FontEnumerator.py @@ -24,7 +24,7 @@ class TestPanel(wxPanel): row = wxBoxSizer(wxHORIZONTAL) row.Add(s1, 0, wxALL, 5) row.Add(self.lb1, 0, wxALL, 5) - row.Add(self.txt, 0, wxALL, 5) + row.Add(self.txt, 0, wxALL|wxADJUST_MINSIZE, 5) sizer = wxBoxSizer(wxVERTICAL) sizer.Add(row, 0, wxALL, 30) @@ -32,13 +32,27 @@ class TestPanel(wxPanel): self.Layout() self.lb1.SetSelection(0) + self.OnSelect(None) + wxFutureCall(300, self.SetTextSize) + + + def SetTextSize(self): + self.txt.SetSize(self.txt.GetBestSize()) def OnSelect(self, evt): + #print "OnSelect: " face = self.lb1.GetStringSelection() + #print '\t '+face font = wxFont(28, wxDEFAULT, wxNORMAL, wxNORMAL, False, face) + #print "\t got font" + self.txt.SetLabel(face) + #print "\t set label" self.txt.SetFont(font) - self.txt.SetSize(self.txt.GetBestSize()) + #print "\t set font" + #self.txt.SetSize(self.txt.GetBestSize()) + #print "\t set size" + ## st = font.GetNativeFontInfo().ToString() ## ni2 = wxNativeFontInfo() diff --git a/wxPython/demo/GridDragAndDrop.py b/wxPython/demo/GridDragAndDrop.py new file mode 100644 index 0000000000..aae9d5f2dc --- /dev/null +++ b/wxPython/demo/GridDragAndDrop.py @@ -0,0 +1,104 @@ +""" +Example showing how to make a grid a drop target for files. + +""" + +from wxPython.wx import * +from wxPython.grid import * + +#--------------------------------------------------------------------------- +# Set VIRTUAL to 1 to use a virtual grid + +VIRTUAL = 1 + +class GridFileDropTarget(wxFileDropTarget): + def __init__(self, grid): + wxFileDropTarget.__init__(self) + self.grid = grid + + def OnDropFiles(self, x, y, filenames): + # the x,y coordinates here are Unscrolled coordinates. They must be changed + # to scrolled coordinates. + x, y = self.grid.CalcUnscrolledPosition(x, y) + + # now we need to get the row and column from the grid + # but we need to first remove the RowLabel and ColumnLabel + # bounding boxes + # Why this isn't done for us, I'll never know... + x = x - self.grid.GetGridRowLabelWindow().GetRect().width + y = y - self.grid.GetGridColLabelWindow().GetRect().height + col = self.grid.XToCol(x) + row = self.grid.YToRow(y) + + if row > -1 and col > -1: + self.grid.SetCellValue(row, col, filenames[0]) + self.grid.AutoSizeColumn(col) + self.grid.Refresh() + + + +class FooTable(wxPyGridTableBase): + def __init__(self): + wxPyGridTableBase.__init__(self) + self.dropTargets = {(0,0):"Drag", + (1,0):"A", + (2,0):"File", + (3,0):"To", + (4,0):"A", + (5,0):"Cell"} + def GetNumberCols(self): + return 100 + def GetNumberRows(self): + return 100 + def GetValue(self, row, col): + return self.dropTargets.get((row, col), "") + + + +class SimpleGrid(wxGrid): + def __init__(self, parent, log): + wxGrid.__init__(self, parent, -1) + self.log = log + self.moveTo = None + if VIRTUAL: + self.table = FooTable() + self.SetTable(self.table) + else: + self.CreateGrid(25, 25) + + # set the drag and drop target + dropTarget = GridFileDropTarget(self) + self.SetDropTarget(dropTarget) + self.EnableDragRowSize() + self.EnableDragColSize() + + def SetCellValue(self, row, col, value): + if VIRTUAL: + self.table.dropTargets[row, col] = value + else: + wxGrid.SetCellValue(self, row, col, value) + + + +class TestFrame(wxFrame): + def __init__(self, parent, log): + wxFrame.__init__(self, parent, -1, "DragAndDrop Grid", size=(640,480)) + grid = SimpleGrid(self, log) + + + +#--------------------------------------------------------------------------- + +if __name__ == '__main__': + import sys + app = wxPySimpleApp() + frame = TestFrame(None, sys.stdout) + frame.Show(True) + app.MainLoop() + + +#--------------------------------------------------------------------------- + + + + diff --git a/wxPython/demo/GridSimple.py b/wxPython/demo/GridSimple.py index 89c2ec6e07..267867c434 100644 --- a/wxPython/demo/GridSimple.py +++ b/wxPython/demo/GridSimple.py @@ -64,6 +64,11 @@ class SimpleGrid(wxGrid): ##, wxGridAutoEditMixin): self.SetCellValue(11, 1, "This cell is set to span 3 rows and 3 columns"); + editor = wxGridCellTextEditor() + editor.SetParameters('10') + self.SetCellEditor(0, 4, editor) + self.SetCellValue(0, 4, "Limited text") + # test all the events EVT_GRID_CELL_LEFT_CLICK(self, self.OnCellLeftClick) diff --git a/wxPython/demo/ImageBrowser.py b/wxPython/demo/ImageBrowser.py index 4e234695e0..4a38b95d7c 100644 --- a/wxPython/demo/ImageBrowser.py +++ b/wxPython/demo/ImageBrowser.py @@ -4,7 +4,7 @@ # # Author: Lorne White (email: lorne.white@telusplanet.net) # -# Version 0.5 +# Version 0.5 # Date: Feb 26, 2001 # Licence: wxWindows license #---------------------------------------------------------------------------- @@ -20,11 +20,11 @@ def runTest(frame, nb, log): initial_dir = os.path.join(dir, 'bitmaps') # set the initial directory for the demo bitmaps win = ImageDialog(frame, initial_dir) # open the image browser dialog win.Centre() - if win.ShowModal() == wxID_OK: + if win.ShowModal() == wxID_OK: log.WriteText("You Selected File: " + win.GetFile()) # show the selected file else: log.WriteText("You pressed Cancel\n") - + #--------------------------------------------------------------------------- @@ -38,3 +38,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/LayoutAnchors.py b/wxPython/demo/LayoutAnchors.py index 04b0c3f92c..f4aa323ed6 100644 --- a/wxPython/demo/LayoutAnchors.py +++ b/wxPython/demo/LayoutAnchors.py @@ -136,5 +136,8 @@ overview = """ - +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/Layoutf.py b/wxPython/demo/Layoutf.py index cde4ad405f..b92faffeda 100644 --- a/wxPython/demo/Layoutf.py +++ b/wxPython/demo/Layoutf.py @@ -60,3 +60,12 @@ def runTest(frame, nb, log): overview = Layoutf.__doc__ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index 40f9425b84..fd557f0171 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -12,10 +12,9 @@ #---------------------------------------------------------------------------- import sys, os, time -from wxPython.wx import * -from wxPython.html import wxHtmlWindow -##from wxPython.stc import * +import wx # This module uses the new wx namespace +import wx.html import images @@ -26,9 +25,14 @@ import images _treeList = [ # new stuff ('Recent Additions', [ - 'wxIntCtrl', - 'wxPyColourChooser', 'wxScrolledPanel', + 'ShapedWindow', + 'NewNamespace', + 'PopupMenu', + 'AnalogClockWindow', + 'MaskedEditControls', + 'wxTreeListCtrl', + 'wxGrid_MegaExample', ]), # managed windows == things with a (optional) caption you can close @@ -45,6 +49,7 @@ _treeList = [ 'wxColourDialog', 'wxDirDialog', 'wxFileDialog', + 'wxFileDialog_Save', 'wxFindReplaceDialog', 'wxFontDialog', 'wxMessageDialog', @@ -65,6 +70,7 @@ _treeList = [ # core controls ('Core Windows/Controls', [ + 'PopupMenu', 'wxButton', 'wxCheckBox', 'wxCheckListBox', @@ -73,6 +79,7 @@ _treeList = [ 'wxGauge', 'wxGenericDirCtrl', 'wxGrid', + 'wxGrid_MegaExample', 'wxListBox', 'wxListCtrl', 'wxListCtrl_virtual', @@ -101,14 +108,16 @@ _treeList = [ ('More Windows/Controls', [ #'wxFloatBar', deprecated #'wxMVCTree', deprecated - #'wxRightTextCtrl', deprecated as we have wxTE_RIGHT now. + #'wxRightTextCtrl', deprecated as we have wxTE_RIGHT now. + 'AnalogClockWindow', 'ColourSelect', 'ContextHelp', 'FancyText', 'FileBrowseButton', 'GenericButtons', + 'MaskedEditControls', + 'PyShell', 'PyCrust', - 'PyCrustWithFilling', 'SplitTree', 'TablePrint', 'Throbber', @@ -128,6 +137,7 @@ _treeList = [ 'wxStyledTextCtrl_1', 'wxStyledTextCtrl_2', 'wxTimeCtrl', + 'wxTreeListCtrl', ]), # How to lay out the controls in a frame/dialog @@ -204,9 +214,9 @@ _treeList = [ #--------------------------------------------------------------------------- -class MyLog(wxPyLog): +class MyLog(wx.PyLog): def __init__(self, textCtrl, logTime=0): - wxPyLog.__init__(self) + wx.PyLog.__init__(self) self.tc = textCtrl self.logTime = logTime @@ -218,10 +228,63 @@ class MyLog(wxPyLog): self.tc.AppendText(message + '\n') -class MyTP(wxPyTipProvider): +class MyTP(wx.PyTipProvider): def GetTip(self): return "This is my tip" +#--------------------------------------------------------------------------- +# A class to be used to display source code in the demo. Try using the +# wxSTC in the wxStyledTextCtrl_2 sample first, fall back to wxTextCtrl +# if there is an error, such as the stc module not being present. + +try: + ##raise ImportError + from wx import stc + from wxStyledTextCtrl_2 import PythonSTC + class DemoCodeViewer(PythonSTC): + def __init__(self, parent, ID): + PythonSTC.__init__(self, parent, ID) + self.SetEdgeMode(stc.STC_EDGE_NONE) + self.SetSelBackground(True, wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHT)) + self.SetSelForeground(True, wx.SystemSettings_GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) + + # Some methods to make it compatible with how the wxTextCtrl is used + def SetValue(self, value): + self.SetReadOnly(False) + self.SetText(value) + self.SetReadOnly(True) + + def Clear(self): + self.ClearAll() + + def SetInsertionPoint(self, pos): + self.SetCurrentPos(pos) + + def ShowPosition(self, pos): + self.GotoPos(pos) + + def GetLastPosition(self): + return self.GetLength() + + def GetRange(self, start, end): + return self.GetTextRange(start, end) + + def GetSelection(self): + return self.GetAnchor(), self.GetCurrentPos() + + def SetSelection(self, start, end): + self.SetSelectionStart(start) + self.SetSelectionEnd(end) + + +except ImportError: + class DemoCodeViewer(wx.TextCtrl): + def __init__(self, parent, ID): + wx.TextCtrl.__init__(self, parent, ID, style = + wx.TE_MULTILINE | wx.TE_READONLY | + wx.HSCROLL | wx.TE_RICH2 | wx.TE_NOHIDESEL) + + #--------------------------------------------------------------------------- def opj(path): @@ -231,12 +294,12 @@ def opj(path): #--------------------------------------------------------------------------- -class wxPythonDemo(wxFrame): +class wxPythonDemo(wx.Frame): overviewText = "wxPython Overview" def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, -1, title, size = (800, 600), - style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE) + wx.Frame.__init__(self, parent, -1, title, size = (800, 600), + style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE) self.cwd = os.getcwd() self.curOverview = "" @@ -245,97 +308,97 @@ class wxPythonDemo(wxFrame): icon = images.getMondrianIcon() self.SetIcon(icon) - if wxPlatform == '__WXMSW__': + if wx.Platform == '__WXMSW__': # setup a taskbar icon, and catch some events from it - self.tbicon = wxTaskBarIcon() + self.tbicon = wx.TaskBarIcon() self.tbicon.SetIcon(icon, "wxPython Demo") - EVT_TASKBAR_LEFT_DCLICK(self.tbicon, self.OnTaskBarActivate) - EVT_TASKBAR_RIGHT_UP(self.tbicon, self.OnTaskBarMenu) - EVT_MENU(self.tbicon, self.TBMENU_RESTORE, self.OnTaskBarActivate) - EVT_MENU(self.tbicon, self.TBMENU_CLOSE, self.OnTaskBarClose) + wx.EVT_TASKBAR_LEFT_DCLICK(self.tbicon, self.OnTaskBarActivate) + wx.EVT_TASKBAR_RIGHT_UP(self.tbicon, self.OnTaskBarMenu) + wx.EVT_MENU(self.tbicon, self.TBMENU_RESTORE, self.OnTaskBarActivate) + wx.EVT_MENU(self.tbicon, self.TBMENU_CLOSE, self.OnTaskBarClose) - wxCallAfter(self.ShowTip) + wx.CallAfter(self.ShowTip) self.otherWin = None - EVT_IDLE(self, self.OnIdle) - EVT_CLOSE(self, self.OnCloseWindow) - EVT_ICONIZE(self, self.OnIconfiy) - EVT_MAXIMIZE(self, self.OnMaximize) + wx.EVT_IDLE(self, self.OnIdle) + wx.EVT_CLOSE(self, self.OnCloseWindow) + wx.EVT_ICONIZE(self, self.OnIconfiy) + wx.EVT_MAXIMIZE(self, self.OnMaximize) - self.Centre(wxBOTH) - self.CreateStatusBar(1, wxST_SIZEGRIP) + self.Centre(wx.BOTH) + self.CreateStatusBar(1, wx.ST_SIZEGRIP) - splitter = wxSplitterWindow(self, -1, style=wxNO_3D|wxSP_3D) - splitter2 = wxSplitterWindow(splitter, -1, style=wxNO_3D|wxSP_3D) + splitter = wx.SplitterWindow(self, -1, style=wx.NO_3D|wx.SP_3D) + splitter2 = wx.SplitterWindow(splitter, -1, style=wx.NO_3D|wx.SP_3D) def EmptyHandler(evt): pass - EVT_ERASE_BACKGROUND(splitter, EmptyHandler) - EVT_ERASE_BACKGROUND(splitter2, EmptyHandler) + wx.EVT_ERASE_BACKGROUND(splitter, EmptyHandler) + wx.EVT_ERASE_BACKGROUND(splitter2, EmptyHandler) # Prevent TreeCtrl from displaying all items after destruction when True self.dying = False # Make a File menu - self.mainmenu = wxMenuBar() - menu = wxMenu() - exitID = wxNewId() + self.mainmenu = wx.MenuBar() + menu = wx.Menu() + exitID = wx.NewId() menu.Append(exitID, 'E&xit\tAlt-X', 'Get the heck outta here!') - EVT_MENU(self, exitID, self.OnFileExit) - wxApp_SetMacExitMenuItemId(exitID) + wx.EVT_MENU(self, exitID, self.OnFileExit) + wx.App_SetMacExitMenuItemId(exitID) self.mainmenu.Append(menu, '&File') # Make a Demo menu - menu = wxMenu() + menu = wx.Menu() for item in _treeList: - submenu = wxMenu() + submenu = wx.Menu() for childItem in item[1]: - mID = wxNewId() + mID = wx.NewId() submenu.Append(mID, childItem) - EVT_MENU(self, mID, self.OnDemoMenu) - menu.AppendMenu(wxNewId(), item[0], submenu) + wx.EVT_MENU(self, mID, self.OnDemoMenu) + menu.AppendMenu(wx.NewId(), item[0], submenu) self.mainmenu.Append(menu, '&Demo') # Make a Help menu - helpID = wxNewId() - findID = wxNewId() - findnextID = wxNewId() - menu = wxMenu() + helpID = wx.NewId() + findID = wx.NewId() + findnextID = wx.NewId() + menu = wx.Menu() menu.Append(findID, '&Find\tCtrl-F', 'Find in the Demo Code') menu.Append(findnextID, 'Find &Next\tF3', 'Find Next') menu.AppendSeparator() menu.Append(helpID, '&About\tCtrl-H', 'wxPython RULES!!!') - wxApp_SetMacAboutMenuItemId(helpID) - EVT_MENU(self, helpID, self.OnHelpAbout) - EVT_MENU(self, findID, self.OnHelpFind) - EVT_MENU(self, findnextID, self.OnFindNext) - EVT_COMMAND_FIND(self, -1, self.OnFind) - EVT_COMMAND_FIND_NEXT(self, -1, self.OnFind) - EVT_COMMAND_FIND_CLOSE(self, -1 , self.OnFindClose) + wx.App_SetMacAboutMenuItemId(helpID) + wx.EVT_MENU(self, helpID, self.OnHelpAbout) + wx.EVT_MENU(self, findID, self.OnHelpFind) + wx.EVT_MENU(self, findnextID, self.OnFindNext) + wx.EVT_COMMAND_FIND(self, -1, self.OnFind) + wx.EVT_COMMAND_FIND_NEXT(self, -1, self.OnFind) + wx.EVT_COMMAND_FIND_CLOSE(self, -1 , self.OnFindClose) self.mainmenu.Append(menu, '&Help') self.SetMenuBar(self.mainmenu) - self.finddata = wxFindReplaceData() + self.finddata = wx.FindReplaceData() if 0: # This is another way to set Accelerators, in addition to # using the '\t' syntax in the menu items. - aTable = wxAcceleratorTable([(wxACCEL_ALT, ord('X'), exitID), - (wxACCEL_CTRL, ord('H'), helpID), - (wxACCEL_CTRL, ord('F'), findID), - (wxACCEL_NORMAL, WXK_F3, findnextID)]) + aTable = wx.AcceleratorTable([(wx.ACCEL_ALT, ord('X'), exitID), + (wx.ACCEL_CTRL, ord('H'), helpID), + (wx.ACCEL_CTRL, ord('F'), findID), + (wx.ACCEL_NORMAL, WXK_F3, findnextID) + ]) self.SetAcceleratorTable(aTable) # Create a TreeCtrl - tID = wxNewId() + tID = wx.NewId() self.treeMap = {} - self.tree = wxTreeCtrl(splitter, tID, - style=wxTR_HAS_BUTTONS | - wxTR_HAS_VARIABLE_ROW_HEIGHT + self.tree = wx.TreeCtrl(splitter, tID, + style=wx.TR_HAS_BUTTONS | + wx.TR_HAS_VARIABLE_ROW_HEIGHT ) - #self.tree.SetBackgroundColour(wxNamedColour("Pink")) root = self.tree.AddRoot("wxPython Overview") firstChild = None for item in _treeList: @@ -347,57 +410,56 @@ class wxPythonDemo(wxFrame): self.tree.Expand(root) self.tree.Expand(firstChild) - EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded) - EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed) - EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged) - EVT_LEFT_DOWN (self.tree, self.OnTreeLeftDown) + wx.EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded) + wx.EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed) + wx.EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged) + wx.EVT_LEFT_DOWN (self.tree, self.OnTreeLeftDown) # Create a Notebook - self.nb = wxNotebook(splitter2, -1, style=wxCLIP_CHILDREN) + self.nb = wx.Notebook(splitter2, -1, style=wx.CLIP_CHILDREN) - # Set up a wxHtmlWindow on the Overview Notebook page + # Set up a wx.html.HtmlWindow on the Overview Notebook page # we put it in a panel first because there seems to be a # refresh bug of some sort (wxGTK) when it is directly in # the notebook... if 0: # the old way - self.ovr = wxHtmlWindow(self.nb, -1, size=(400, 400)) + self.ovr = wx.html.HtmlWindow(self.nb, -1, size=(400, 400)) self.nb.AddPage(self.ovr, self.overviewText) - else: # hopefully I can remove this hacky code soon, see bug #216861 - panel = wxPanel(self.nb, -1, style=wxCLIP_CHILDREN) - self.ovr = wxHtmlWindow(panel, -1, size=(400, 400)) + else: # hopefully I can remove this hacky code soon, see SF bug #216861 + panel = wx.Panel(self.nb, -1, style=wx.CLIP_CHILDREN) + self.ovr = wx.html.HtmlWindow(panel, -1, size=(400, 400)) self.nb.AddPage(panel, self.overviewText) def OnOvrSize(evt, ovr=self.ovr): ovr.SetSize(evt.GetSize()) - EVT_SIZE(panel, OnOvrSize) - EVT_ERASE_BACKGROUND(panel, EmptyHandler) + wx.EVT_SIZE(panel, OnOvrSize) + wx.EVT_ERASE_BACKGROUND(panel, EmptyHandler) self.SetOverview(self.overviewText, overview) - # Set up a TextCtrl on the Demo Code Notebook page - self.txt = wxTextCtrl(self.nb, -1, - style = wxTE_MULTILINE|wxTE_READONLY| - wxHSCROLL|wxTE_RICH2|wxTE_NOHIDESEL) + # Set up a notebook page for viewing the source code of each sample + self.txt = DemoCodeViewer(self.nb, -1) self.nb.AddPage(self.txt, "Demo Code") + self.GetDemoFile('Main.py') # Set up a log on the View Log Notebook page - self.log = wxTextCtrl(splitter2, -1, - style = wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL) + self.log = wx.TextCtrl(splitter2, -1, + style = wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL) # Set the wxWindows log target to be this textctrl - #wxLog_SetActiveTarget(wxLogTextCtrl(self.log)) + #wx.Log_SetActiveTarget(wx.LogTextCtrl(self.log)) - # But instead of the above we want to show how to use our own wxLog class - wxLog_SetActiveTarget(MyLog(self.log)) + # But instead of the above we want to show how to use our own wx.Log class + wx.Log_SetActiveTarget(MyLog(self.log)) # for serious debugging - #wxLog_SetActiveTarget(wxLogStderr()) - #wxLog_SetTraceMask(wxTraceMessages) + #wx.Log_SetActiveTarget(wx.LogStderr()) + #wx.Log_SetTraceMask(wx.TraceMessages) self.Show(True) @@ -425,14 +487,14 @@ class wxPythonDemo(wxFrame): self.tree.EnsureVisible(selectedDemo) - wxLogMessage('window handle: %s' % self.GetHandle()) + wx.LogMessage('window handle: %s' % self.GetHandle()) #--------------------------------------------- def WriteText(self, text): if text[-1:] == '\n': text = text[:-1] - wxLogMessage(text) + wx.LogMessage(text) def write(self, txt): @@ -441,13 +503,13 @@ class wxPythonDemo(wxFrame): #--------------------------------------------- def OnItemExpanded(self, event): item = event.GetItem() - wxLogMessage("OnItemExpanded: %s" % self.tree.GetItemText(item)) + wx.LogMessage("OnItemExpanded: %s" % self.tree.GetItemText(item)) event.Skip() #--------------------------------------------- def OnItemCollapsed(self, event): item = event.GetItem() - wxLogMessage("OnItemCollapsed: %s" % self.tree.GetItemText(item)) + wx.LogMessage("OnItemCollapsed: %s" % self.tree.GetItemText(item)) event.Skip() #--------------------------------------------- @@ -478,7 +540,7 @@ class wxPythonDemo(wxFrame): if self.window is not None: if hasattr(self.window, "ShutdownDemo"): self.window.ShutdownDemo() - wxSafeYield() # in case the page has pending events + wx.SafeYield() # in case the page has pending events self.nb.DeletePage(2) if itemText == self.overviewText: @@ -489,19 +551,19 @@ class wxPythonDemo(wxFrame): else: if os.path.exists(itemText + '.py'): - wxBeginBusyCursor() - wxLogMessage("Running demo %s.py..." % itemText) + wx.BeginBusyCursor() + wx.LogMessage("Running demo %s.py..." % itemText) try: self.GetDemoFile(itemText + '.py') module = __import__(itemText, globals()) self.SetOverview(itemText + " Overview", module.overview) finally: - wxEndBusyCursor() + wx.EndBusyCursor() self.tree.Refresh() # in case runTest is modal, make sure things look right... self.nb.Refresh(); - wxSafeYield() + wx.SafeYield() self.window = module.runTest(self, self.nb, self) ### if self.window is not None: @@ -523,7 +585,7 @@ class wxPythonDemo(wxFrame): try: self.txt.SetValue(open(filename).read()) except IOError: - self.txt.WriteText("Cannot open %s file." % filename) + self.txt.SetValue("Cannot open %s file." % filename) self.txt.SetInsertionPoint(0) self.txt.ShowPosition(0) @@ -550,10 +612,10 @@ class wxPythonDemo(wxFrame): def OnHelpFind(self, event): self.nb.SetSelection(1) - self.finddlg = wxFindReplaceDialog(self, self.finddata, "Find", - wxFR_NOUPDOWN | - wxFR_NOMATCHCASE | - wxFR_NOWHOLEWORD) + self.finddlg = wx.FindReplaceDialog(self, self.finddata, "Find", + wx.FR_NOUPDOWN | + wx.FR_NOMATCHCASE | + wx.FR_NOWHOLEWORD) self.finddlg.Show(True) def OnFind(self, event): @@ -568,9 +630,9 @@ class wxPythonDemo(wxFrame): start = 0 loc = textstring.find(findstring, start) if loc == -1: - dlg = wxMessageDialog(self, 'Find String Not Found', + dlg = wx.MessageDialog(self, 'Find String Not Found', 'Find String Not Found in Demo File', - wxOK | wxICON_INFORMATION) + wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() if self.finddlg: @@ -579,8 +641,8 @@ class wxPythonDemo(wxFrame): return else: self.finddlg.Destroy() - self.txt.SetSelection(loc, loc + len(findstring)) self.txt.ShowPosition(loc) + self.txt.SetSelection(loc, loc + len(findstring)) @@ -620,9 +682,9 @@ class wxPythonDemo(wxFrame): except IOError: showTip, index = (1, 0) if showTip: - tp = wxCreateFileTipProvider(opj("data/tips.txt"), index) + tp = wx.CreateFileTipProvider(opj("data/tips.txt"), index) ##tp = MyTP(0) - showTip = wxShowTip(self, tp) + showTip = wx.ShowTip(self, tp) index = tp.GetCurrentTip() open(opj("data/showTips"), "w").write(str( (showTip, index) )) @@ -652,7 +714,7 @@ class wxPythonDemo(wxFrame): TBMENU_CLOSE = 1001 def OnTaskBarMenu(self, evt): - menu = wxMenu() + menu = wx.Menu() menu.Append(self.TBMENU_RESTORE, "Restore wxPython Demo") menu.Append(self.TBMENU_CLOSE, "Close") self.tbicon.PopupMenu(menu) @@ -662,19 +724,19 @@ class wxPythonDemo(wxFrame): def OnTaskBarClose(self, evt): self.Close() - # because of the way wxTaskBarIcon.PopupMenu is implemented we have to + # because of the way wx.TaskBarIcon.PopupMenu is implemented we have to # prod the main idle handler a bit to get the window to actually close - wxGetApp().ProcessIdle() + wx.GetApp().ProcessIdle() #--------------------------------------------- def OnIconfiy(self, evt): - wxLogMessage("OnIconfiy") + wx.LogMessage("OnIconfiy") evt.Skip() #--------------------------------------------- def OnMaximize(self, evt): - wxLogMessage("OnMaximize") + wx.LogMessage("OnMaximize") evt.Skip() @@ -683,14 +745,14 @@ class wxPythonDemo(wxFrame): #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- -class MySplashScreen(wxSplashScreen): +class MySplashScreen(wx.SplashScreen): def __init__(self): - bmp = wxImage(opj("bitmaps/splash.gif")).ConvertToBitmap() - wxSplashScreen.__init__(self, bmp, - wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, + bmp = wx.Image(opj("bitmaps/splash.gif")).ConvertToBitmap() + wx.SplashScreen.__init__(self, bmp, + wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT, 4000, None, -1, - style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP) - EVT_CLOSE(self, self.OnClose) + style = wx.SIMPLE_BORDER|wx.FRAME_NO_TASKBAR|wx.STAY_ON_TOP) + wx.EVT_CLOSE(self, self.OnClose) def OnClose(self, evt): frame = wxPythonDemo(None, -1, "wxPython: (A Demonstration)") @@ -698,7 +760,7 @@ class MySplashScreen(wxSplashScreen): evt.Skip() # Make sure the default handler runs too... -class MyApp(wxApp): +class MyApp(wx.App): def OnInit(self): """ Create and show the splash screen. It will then create and show @@ -706,10 +768,10 @@ class MyApp(wxApp): """ #import locale - #self.locale = wxLocale(wxLANGUAGE_FRENCH) + #self.locale = wx.Locale(wx.LANGUAGE_FRENCH) #locale.setlocale(locale.LC_ALL, 'fr') - wxInitAllImageHandlers() + wx.InitAllImageHandlers() splash = MySplashScreen() splash.Show() return True @@ -724,7 +786,7 @@ def main(): os.chdir(demoPath) except: pass - app = MyApp(wxPlatform == "__WXMAC__") + app = MyApp(wx.Platform == "__WXMAC__") app.MainLoop() @@ -733,76 +795,36 @@ def main(): overview = """ -

Python

- - Python is an interpreted, interactive, object-oriented programming - language often compared to Tcl, Perl, Scheme, or Java. - -

Python combines remarkable power with very clear syntax. It has - modules, classes, exceptions, very high level dynamic data types, and - dynamic typing. There are interfaces to many system calls and - libraries, and new built-in modules are easily written in C or - C++. Python is also usable as an extension language for applications - that need a programmable interface.

- -

wxWindows

- - wxWindows is a free C++ framework designed to make cross-platform - programming child's play. Well, almost. wxWindows 2 supports Windows - 3.1/95/98/NT, Unix with GTK/Motif/Lesstif, with a Mac version - underway. Other ports are under consideration.

- - wxWindows is a set of libraries that allows C++ applications to - compile and run on several different types of computers, with minimal - source code changes. There is one library per supported GUI (such as - Motif, or Windows). As well as providing a common API (Application - Programming Interface) for GUI functionality, it provides - functionality for accessing some commonly-used operating system - facilities, such as copying or deleting files. wxWindows is a - 'framework' in the sense that it provides a lot of built-in - functionality, which the application can use or replace as required, - thus saving a great deal of coding effort. Basic data structures such - as strings, linked lists and hash tables are also supported. - -

-

wxPython

- - wxPython is a Python extension module that encapsulates the wxWindows - GUI classes. Currently it is only available for the Win32 and GTK - ports of wxWindows, but as soon as the other ports are brought up to - the same level as Win32 and GTK, it should be fairly trivial to - enable wxPython to be used with the new GUI. - -

- - The wxPython extension module attempts to mirror the class heiarchy - of wxWindows as closely as possible. This means that there is a - wxFrame class in wxPython that looks, smells, tastes and acts almost - the same as the wxFrame class in the C++ version. Unfortunately, - because of differences in the languages, wxPython doesn't match - wxWindows exactly, but the differences should be easy to absorb - because they are natural to Python. For example, some methods that - return multiple values via argument pointers in C++ will return a - tuple of values in Python. - -

- - There is still much to be done for wxPython, many classes still need - to be mirrored. Also, wxWindows is still somewhat of a moving target - so it is a bit of an effort just keeping wxPython up to date. On the - other hand, there are enough of the core classes completed that - useful applications can be written. - -

- - wxPython is close enough to the C++ version that the majority of - the wxPython documentation is actually just notes attached to the C++ - documents that describe the places where wxPython is different. There - is also a series of sample programs included, and a series of - documentation pages that assist the programmer in getting started - with wxPython. - - """ +

wxPython

+ +

wxPython is a GUI toolkit for the Python programming language. It +allows Python programmers to create programs with a robust, highly +functional graphical user interface, simply and easily. It is +implemented as a Python extension module (native code) that wraps the +popular wxWindows cross +platform GUI library, which is written in C++. + +

Like Python and wxWindows, wxPython is Open Source which +means that it is free for anyone to use and the source code is +available for anyone to look at and modify. Or anyone can contribute +fixes or enhnacments to the project. + +

wxPython is a cross-platform toolkit. This means that the +same program will run on multiple platforms without modification. +Currently supported platforms are 32-bit Microsoft Windows, most Unix +or unix-like systems, and Macintosh OS X. Since the language is +Python, wxPython programs are simple, easy to write and easy to +understand. + +

This demo is not only a collection of test cases for +wxPython, but is also designed to help you learn about and how to use +wxPython. Each sample is listed in the tree control on the left. +When a sample is selected in the tree then a module is loaded and run +(usually in a tab of this notebook,) and the source code of the module +is loaded in another tab for you to browse and learn from. + +""" #---------------------------------------------------------------------------- diff --git a/wxPython/demo/MaskedEditControls.py b/wxPython/demo/MaskedEditControls.py new file mode 100644 index 0000000000..92a6cf3d77 --- /dev/null +++ b/wxPython/demo/MaskedEditControls.py @@ -0,0 +1,540 @@ +from wxPython.wx import * +from wxPython.lib.maskededit import Field, wxMaskedTextCtrl, wxMaskedComboBox, wxIpAddrCtrl, states, months +from wxPython.lib.maskededit import __doc__ as overviewdoc +from wxPython.lib.maskededit import autoformats +from wxPython.lib.scrolledpanel import wxScrolledPanel +import string, sys, traceback + +class demoMixin: + """ + Centralized routines common to demo pages, to remove repetition. + """ + def labelGeneralTable(self, sizer): + description = wxStaticText( self, -1, "Description", ) + mask = wxStaticText( self, -1, "Mask Value" ) + formatcode = wxStaticText( self, -1, "Format" ) + regex = wxStaticText( self, -1, "Regexp Validator(opt.)" ) + ctrl = wxStaticText( self, -1, "wxMaskedEdit Ctrl" ) + + description.SetFont( wxFont(9, wxSWISS, wxNORMAL, wxBOLD)) + mask.SetFont( wxFont(9, wxSWISS, wxNORMAL, wxBOLD)) + formatcode.SetFont( wxFont(9, wxSWISS, wxNORMAL, wxBOLD) ) + regex.SetFont( wxFont(9, wxSWISS, wxNORMAL, wxBOLD)) + ctrl.SetFont( wxFont(9, wxSWISS, wxNORMAL, wxBOLD)) + + sizer.Add(description) + sizer.Add(mask) + sizer.Add(formatcode) + sizer.Add(regex) + sizer.Add(ctrl) + + + def layoutGeneralTable(self, controls, sizer): + for control in controls: + sizer.Add( wxStaticText( self, -1, control[0]) ) + sizer.Add( wxStaticText( self, -1, control[1]) ) + sizer.Add( wxStaticText( self, -1, control[3]) ) + sizer.Add( wxStaticText( self, -1, control[4]) ) + + if control in controls: + newControl = wxMaskedTextCtrl( self, -1, "", + mask = control[1], + excludeChars = control[2], + formatcodes = control[3], + includeChars = "", + validRegex = control[4], + validRange = control[5], + choices = control[6], + choiceRequired = True, + defaultValue = control[7], + demo = True, + name = control[0]) + self.editList.append(newControl) + sizer.Add(newControl) + + + def changeControlParams(self, event, parameter, checked_value, notchecked_value): + if event.Checked(): value = checked_value + else: value = notchecked_value + kwargs = {parameter: value} + for control in self.editList: + control.SetCtrlParameters(**kwargs) + control.Refresh() + self.Refresh() + + + +#---------------------------------------------------------------------------- +class demoPage1(wxScrolledPanel, demoMixin): + def __init__(self, parent, log): + wxScrolledPanel.__init__(self, parent, -1) + self.sizer = wxBoxSizer( wxVERTICAL ) + self.editList = [] + + label = wxStaticText( self, -1, """\ +Here are some basic wxMaskedTextCtrls to give you an idea of what you can do +with this control. Note that all controls have been auto-sized by including 'F' in +the format codes. + +Try entering nonsensical or partial values in validated fields to see what happens. +Note that the State and Last Name fields are list-limited (valid last names are: +Smith, Jones, Williams). Signs on numbers can be toggled with the minus key. +""") + label.SetForegroundColour( "Blue" ) + header = wxBoxSizer( wxHORIZONTAL ) + header.Add( label, 0, flag=wxALIGN_LEFT|wxALL, border = 5 ) + + highlight = wxCheckBox( self, -1, "Highlight Empty" ) + disallow = wxCheckBox( self, -1, "Disallow Empty" ) + showFill = wxCheckBox( self, -1, "change fillChar" ) + + vbox = wxBoxSizer( wxVERTICAL ) + vbox.Add( highlight, 0, wxALIGN_LEFT|wxALL, 5 ) + vbox.Add( disallow, 0, wxALIGN_LEFT|wxALL, 5 ) + vbox.Add( showFill, 0, wxALIGN_LEFT|wxALL, 5 ) + header.AddSpacer(15, 0) + header.Add(vbox, 0, flag=wxALIGN_LEFT|wxALL, border=5 ) + + EVT_CHECKBOX( self, highlight.GetId(), self.onHighlightEmpty ) + EVT_CHECKBOX( self, disallow.GetId(), self.onDisallowEmpty ) + EVT_CHECKBOX( self, showFill.GetId(), self.onShowFill ) + + grid = wxFlexGridSizer( 0, 5, vgap=10, hgap=10 ) + self.labelGeneralTable(grid) + + # The following list is of the controls for the demo. Feel free to play around with + # the options! + controls = [ + #description mask excl format regexp range,list,initial + ("Phone No", "(###) ###-#### x:###", "", 'F^-', "^\(\d{3}\) \d{3}-\d{4}", '','',''), + ("Social Sec#", "###-##-####", "", 'F', "\d{3}-\d{2}-\d{4}", '','',''), + ("Full Name", "C{14}", "", 'F_', '^[A-Z][a-zA-Z]+ [A-Z][a-zA-Z]+', '','',''), + ("Last Name Only", "C{14}", "", 'F {list}', '^[A-Z][a-zA-Z]+', '',('Smith','Jones','Williams'),''), + ("Zip plus 4", "#{5}-#{4}", "", 'F', "\d{5}-(\s{4}|\d{4})", '','',''), + ("Customer No", "\CAA-###", "", 'F!', "C[A-Z]{2}-\d{3}", '','',''), + ("Invoice Total", "#{9}.##", "", 'F-_,', "", '','',''), + ("Integer", "#{9}", "", 'F-_', "", '','',''), + ] + + self.layoutGeneralTable(controls, grid) + self.sizer.Add( header, 0, flag=wxALIGN_LEFT|wxALL, border=5 ) + self.sizer.Add( grid, 0, flag= wxALIGN_LEFT|wxLEFT, border=5 ) + self.SetSizer(self.sizer) + self.SetupScrolling() + self.SetAutoLayout(1) + + + def onDisallowEmpty( self, event ): + """ Set emptyInvalid parameter on/off """ + self.changeControlParams( event, "emptyInvalid", True, False ) + + def onHighlightEmpty( self, event ): + """ Highlight empty values""" + self.changeControlParams( event, "emptyBackgroundColor", "Blue", "White" ) + + def onShowFill( self, event ): + """ Set fillChar parameter to '?' or ' ' """ + self.changeControlParams( event, "fillChar", '?', ' ' ) + + +class demoPage2(wxScrolledPanel, demoMixin): + def __init__( self, parent, log ): + self.log = log + wxScrolledPanel.__init__( self, parent, -1 ) + self.sizer = wxBoxSizer( wxVERTICAL ) + + label = wxStaticText( self, -1, """\ +All these controls have been created by passing a single parameter, the autoformat code. +The class contains an internal dictionary of types and formats (autoformats). +Many of these already do complicated validation; To see some examples, try +29 Feb 2002 vs. 2004 for the date formats, or email address validation. +""") + + label.SetForegroundColour( "Blue" ) + self.sizer.Add( label, 0, wxALIGN_LEFT|wxALL, 5 ) + + description = wxStaticText( self, -1, "Description") + autofmt = wxStaticText( self, -1, "AutoFormat Code") + ctrl = wxStaticText( self, -1, "wxMaskedEdit Control") + + description.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + autofmt.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + ctrl.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + + grid = wxFlexGridSizer( 0, 3, vgap=10, hgap=5 ) + grid.Add( description, 0, wxALIGN_LEFT ) + grid.Add( autofmt, 0, wxALIGN_LEFT ) + grid.Add( ctrl, 0, wxALIGN_LEFT ) + + for autoformat, desc in autoformats: + grid.Add( wxStaticText( self, -1, desc), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, autoformat), 0, wxALIGN_LEFT ) + grid.Add( wxMaskedTextCtrl( self, -1, "", + autoformat = autoformat, + demo = True, + name = autoformat), + 0, wxALIGN_LEFT ) + + self.sizer.Add( grid, 0, wxALIGN_LEFT|wxALL, border=5 ) + self.SetSizer( self.sizer ) + self.SetAutoLayout( 1 ) + self.SetupScrolling() + + +class demoPage3(wxScrolledPanel, demoMixin): + def __init__(self, parent, log): + self.log = log + wxScrolledPanel.__init__(self, parent, -1) + self.sizer = wxBoxSizer( wxVERTICAL ) + self.editList = [] + + label = wxStaticText( self, -1, """\ +Here wxMaskedTextCtrls that have default values. The states +control has a list of valid values, and the unsigned integer +has a legal range specified. +""") + label.SetForegroundColour( "Blue" ) + requireValid = wxCheckBox( self, -1, "Require Valid Value" ) + EVT_CHECKBOX( self, requireValid.GetId(), self.onRequireValid ) + + header = wxBoxSizer( wxHORIZONTAL ) + header.Add( label, 0, flag=wxALIGN_LEFT|wxALL, border = 5) + header.AddSpacer(75, 0) + header.Add( requireValid, 0, flag=wxALIGN_LEFT|wxALL, border=10 ) + + grid = wxFlexGridSizer( 0, 5, vgap=10, hgap=10 ) + self.labelGeneralTable( grid ) + + controls = [ + #description mask excl format regexp range,list,initial + ("U.S. State (2 char)", "AA", "", 'F!_', "[A-Z]{2}", '',states, states[0]), + ("Integer (signed)", "#{6}", "", 'F-_R', "", '','', '0 '), + ("Integer (unsigned)\n(1-399)","######", "", 'F_', "", (1,399),'', '1 '), + ("Float (signed)", "#{6}.#{9}", "", 'F-_R', "", '','', '000000.000000000'), + ("Date (MDY) + Time", "##/##/#### ##:##:## AM", 'BCDEFGHIJKLMNOQRSTUVWXYZ','DF!',"", '','', wxDateTime_Now().Format("%m/%d/%Y %I:%M:%S %p")), + ] + self.layoutGeneralTable( controls, grid ) + + self.sizer.Add( header, 0, flag=wxALIGN_LEFT|wxALL, border=5 ) + self.sizer.Add( grid, 0, flag=wxALIGN_LEFT|wxALL, border=5 ) + + self.SetSizer( self.sizer ) + self.SetAutoLayout( 1 ) + self.SetupScrolling() + + def onRequireValid( self, event ): + """ Set validRequired parameter on/off """ + self.changeControlParams( event, "validRequired", True, False ) + + +class demoPage4(wxScrolledPanel, demoMixin): + def __init__( self, parent, log ): + self.log = log + wxScrolledPanel.__init__( self, parent, -1 ) + self.sizer = wxBoxSizer( wxVERTICAL ) + + label = wxStaticText( self, -1, """\ +These controls have field-specific choice lists and allow autocompletion. + +Down arrow or Page Down in an uncompleted field with an auto-completable field will attempt +to auto-complete a field if it has a choice list. +Page Down and Shift-Down arrow will also auto-complete, or cycle through the complete list. +Page Up and Shift-Up arrow will similarly cycle backwards through the list. +""") + + label.SetForegroundColour( "Blue" ) + self.sizer.Add( label, 0, wxALIGN_LEFT|wxALL, 5 ) + + description = wxStaticText( self, -1, "Description" ) + autofmt = wxStaticText( self, -1, "AutoFormat Code" ) + fields = wxStaticText( self, -1, "Field Objects" ) + ctrl = wxStaticText( self, -1, "wxMaskedEdit Control" ) + + description.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + autofmt.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + fields.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + ctrl.SetFont( wxFont( 9, wxSWISS, wxNORMAL, wxBOLD ) ) + + grid = wxFlexGridSizer( 0, 4, vgap=10, hgap=10 ) + grid.Add( description, 0, wxALIGN_LEFT ) + grid.Add( autofmt, 0, wxALIGN_LEFT ) + grid.Add( fields, 0, wxALIGN_LEFT ) + grid.Add( ctrl, 0, wxALIGN_LEFT ) + + autoformat = "USPHONEFULLEXT" + fieldsDict = {0: Field(choices=["617","781","508","978","413"], choiceRequired=True)} + fieldsLabel = """\ +{0: Field(choices=[ + "617","781", + "508","978","413"], + choiceRequired=True)}""" + grid.Add( wxStaticText( self, -1, "Restricted Area Code"), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, autoformat), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, fieldsLabel), 0, wxALIGN_LEFT ) + grid.Add( wxMaskedTextCtrl( self, -1, "", + autoformat = autoformat, + fields = fieldsDict, + demo = True, + name = autoformat), + 0, wxALIGN_LEFT ) + + autoformat = "EXPDATEMMYY" + fieldsDict = {1: Field(choices=["03", "04", "05"], choiceRequired=True)} + fieldsLabel = """\ +{1: Field(choices=[ + "03", "04", "05"], + choiceRequired=True)}""" + exp = wxMaskedTextCtrl( self, -1, "", + autoformat = autoformat, + fields = fieldsDict, + demo = True, + name = autoformat) + + grid.Add( wxStaticText( self, -1, "Restricted Expiration"), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, autoformat), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, fieldsLabel), 0, wxALIGN_LEFT ) + grid.Add( exp, 0, wxALIGN_LEFT ) + + fieldsDict = {0: Field(choices=["02134","02155"], choiceRequired=True), + 1: Field(choices=["1234", "5678"], choiceRequired=False)} + fieldsLabel = """\ +{0: Field(choices=["02134","02155"], + choiceRequired=True), + 1: Field(choices=["1234", "5678"], + choiceRequired=False)}""" + autoformat = "USZIPPLUS4" + zip = wxMaskedTextCtrl( self, -1, "", + autoformat = autoformat, + fields = fieldsDict, + demo = True, + name = autoformat) + + grid.Add( wxStaticText( self, -1, "Restricted Zip + 4"), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, autoformat), 0, wxALIGN_LEFT ) + grid.Add( wxStaticText( self, -1, fieldsLabel), 0, wxALIGN_LEFT ) + grid.Add( zip, 0, wxALIGN_LEFT ) + + self.sizer.Add( grid, 0, wxALIGN_LEFT|wxALL, border=5 ) + self.SetSizer( self.sizer ) + self.SetAutoLayout(1) + self.SetupScrolling() + + +class demoPage5(wxScrolledPanel, demoMixin): + def __init__( self, parent, log ): + self.log = log + wxScrolledPanel.__init__( self, parent, -1 ) + self.sizer = wxBoxSizer( wxVERTICAL ) + label = wxStaticText( self, -1, """\ +These are examples of wxMaskedComboBox and wxIpAddrCtrl, and more useful +configurations of a wxMaskedTextCtrl for integer and floating point input. +""") + label.SetForegroundColour( "Blue" ) + self.sizer.Add( label, 0, wxALIGN_LEFT|wxALL, 5 ) + + numerators = [ str(i) for i in range(1, 4) ] + denominators = [ string.ljust(str(i), 2) for i in [2,3,4,5,8,16,32,64] ] + fieldsDict = {0: Field(choices=numerators, choiceRequired=False), + 1: Field(choices=denominators, choiceRequired=True)} + choices = [] + for n in numerators: + for d in denominators: + if n != d: + choices.append( '%s/%s' % (n,d) ) + + + text1 = wxStaticText( self, -1, """\ +A masked ComboBox for fraction selection. +Choices for each side of the fraction can be +selected with PageUp/Down:""") + + fraction = wxMaskedComboBox( self, -1, "", + choices = choices, + choiceRequired = True, + mask = "#/##", + formatcodes = "F_", + validRegex = "^\d\/\d\d?", + fields = fieldsDict ) + + + text2 = wxStaticText( self, -1, """ +A masked ComboBox to validate +text from a list of numeric codes:""") + + choices = ["91", "136", "305", "4579"] + code = wxMaskedComboBox( self, -1, choices[0], + choices = choices, + choiceRequired = True, + formatcodes = "F_r", + mask = "####") + + + text3 = wxStaticText( self, -1, """\ +A masked state selector; only "legal" values +can be entered:""") + + state = wxMaskedComboBox( self, -1, states[0], + choices = states, + autoformat="USSTATE") + + text4 = wxStaticText( self, -1, "An empty IP Address entry control:") + ip_addr1 = wxIpAddrCtrl( self, -1, style = wxTE_PROCESS_TAB ) + + + text5 = wxStaticText( self, -1, "An IP Address control with a restricted mask:") + ip_addr2 = wxIpAddrCtrl( self, -1, mask=" 10. 1.109.###" ) + + + text6 = wxStaticText( self, -1, """\ +An IP Address control with restricted choices +of form: 10. (1|2) . (129..255) . (0..255)""") + ip_addr3 = wxIpAddrCtrl( self, -1, mask=" 10. #.###.###") + ip_addr3.SetFieldParameters(0, validRegex="1|2" ) # requires entry to match or not allowed + + + # This allows any value in penultimate field, but colors anything outside of the range invalid: + ip_addr3.SetFieldParameters(1, validRange=(129,255), validRequired=False ) + + text7 = wxStaticText( self, -1, """\ +A right-insert integer entry control:""") + intctrl = wxMaskedTextCtrl(self, -1, name='intctrl', mask="#{9}", formatcodes = '_-r,F') + + text8 = wxStaticText( self, -1, """\ +A floating point entry control +with right-insert for ordinal:""") + self.floatctrl = wxMaskedTextCtrl(self, -1, name='floatctrl', mask="#{9}.#{2}", formatcodes="F,_-R") + self.floatctrl.SetFieldParameters(0, formatcodes='r<', validRequired=True) # right-insert, require explicit cursor movement to change fields + self.floatctrl.SetFieldParameters(1, defaultValue='00') # don't allow blank fraction + + text9 = wxStaticText( self, -1, """\ +Use this control to programmatically set +the value of the above float control:""") + number_combo = wxComboBox(self, -1, choices = [ '', '111', '222.22', '-3', '54321.666666666', '-1353.978', + '1234567', '-1234567', '123456789', '-123456789.1', + '1234567890.', '-1234567890.1' ]) + + grid = wxFlexGridSizer( 0, 2, vgap=10, hgap = 5 ) + grid.Add( text1, 0, wxALIGN_LEFT ) + grid.Add( fraction, 0, wxALIGN_LEFT ) + grid.Add( text2, 0, wxALIGN_LEFT ) + grid.Add( code, 0, wxALIGN_LEFT ) + grid.Add( text3, 0, wxALIGN_LEFT ) + grid.Add( state, 0, wxALIGN_LEFT ) + grid.Add( text4, 0, wxALIGN_LEFT ) + grid.Add( ip_addr1, 0, wxALIGN_LEFT ) + grid.Add( text5, 0, wxALIGN_LEFT ) + grid.Add( ip_addr2, 0, wxALIGN_LEFT ) + grid.Add( text6, 0, wxALIGN_LEFT ) + grid.Add( ip_addr3, 0, wxALIGN_LEFT ) + grid.Add( text7, 0, wxALIGN_LEFT ) + grid.Add( intctrl, 0, wxALIGN_LEFT ) + grid.Add( text8, 0, wxALIGN_LEFT ) + grid.Add( self.floatctrl, 0, wxALIGN_LEFT ) + grid.Add( text9, 0, wxALIGN_LEFT ) + grid.Add( number_combo, 0, wxALIGN_LEFT ) + + self.sizer.Add( grid, 0, wxALIGN_LEFT|wxALL, border=5 ) + self.SetSizer( self.sizer ) + self.SetAutoLayout(1) + self.SetupScrolling() + + EVT_COMBOBOX( self, fraction.GetId(), self.OnComboChange ) + EVT_COMBOBOX( self, code.GetId(), self.OnComboChange ) + EVT_COMBOBOX( self, state.GetId(), self.OnComboChange ) + EVT_TEXT( self, fraction.GetId(), self.OnComboChange ) + EVT_TEXT( self, code.GetId(), self.OnComboChange ) + EVT_TEXT( self, state.GetId(), self.OnComboChange ) + + EVT_TEXT( self, ip_addr1.GetId(), self.OnIpAddrChange ) + EVT_TEXT( self, ip_addr2.GetId(), self.OnIpAddrChange ) + EVT_TEXT( self, ip_addr3.GetId(), self.OnIpAddrChange ) + EVT_TEXT( self, intctrl.GetId(), self.OnTextChange ) + EVT_TEXT( self, self.floatctrl.GetId(), self.OnTextChange ) + EVT_COMBOBOX( self, number_combo.GetId(), self.OnNumberSelect ) + + + def OnComboChange( self, event ): + ctl = self.FindWindowById( event.GetId() ) + if not ctl.IsValid(): + self.log.write('current value not a valid choice') + + def OnIpAddrChange( self, event ): + ip_addr = self.FindWindowById( event.GetId() ) + if ip_addr.IsValid(): + self.log.write('new addr = %s\n' % ip_addr.GetAddress() ) + + def OnTextChange( self, event ): + ctl = self.FindWindowById( event.GetId() ) + if ctl.IsValid(): + self.log.write('new value = %s\n' % ctl.GetValue() ) + + def OnNumberSelect( self, event ): + value = event.GetString() + + # Format choice to fit into format for #{9}.#{2}, with sign position reserved: + # (ordinal + fraction == 11 + decimal point + sign == 13) + # + # Note: since self.floatctrl a right-aligned control, you could also just use + # "%.2f", but this wouldn't work properly for a left-aligned control. + # (See .SetValue() documentation in Overview.) + # + if value: + floattext = "%13.2f" % float(value) + else: + floattext = value # clear the value again + try: + self.floatctrl.SetValue(floattext) + except: + type, value, tb = sys.exc_info() + for line in traceback.format_exception_only(type, value): + self.log.write(line) + +# --------------------------------------------------------------------- +class TestMaskedTextCtrls(wxNotebook): + def __init__(self, parent, id, log): + wxNotebook.__init__(self, parent, id) + self.log = log + + win = demoPage1(self, log) + self.AddPage(win, "General examples") + + win = demoPage2(self, log) + self.AddPage(win, 'Auto-formatted controls') + + win = demoPage3(self, log) + self.AddPage(win, "Using default values") + + win = demoPage4(self, log) + self.AddPage(win, 'Using auto-complete fields') + + win = demoPage5(self, log) + self.AddPage(win, 'Other masked controls') + + +#---------------------------------------------------------------------------- + +def runTest(frame, nb, log): + testWin = TestMaskedTextCtrls(nb, -1, log) + return testWin + +def RunStandalone(): + app = wxPySimpleApp() + frame = wxFrame(None, -1, "Test wxMaskedTextCtrl", size=(640, 480)) + win = TestMaskedTextCtrls(frame, -1, sys.stdout) + frame.Show(True) + app.MainLoop() +#---------------------------------------------------------------------------- +if __name__ == "__main__": + RunStandalone() + + +overview = """ +


+""" + overviewdoc + """
+
+""" + +if __name__ == "__main__": + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/NewNamespace.py b/wxPython/demo/NewNamespace.py new file mode 100644 index 0000000000..97b04d190c --- /dev/null +++ b/wxPython/demo/NewNamespace.py @@ -0,0 +1,47 @@ + +import wx # This module uses the new wx namespace +from wx import html +from Main import opj + +#---------------------------------------------------------------------- + +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + hwin = html.HtmlWindow(self, -1) + hwin.LoadFile(opj('data/wxPackage.html')) + + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(hwin, 1, wx.EXPAND) + + self.SetSizer(sizer) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

Using the New Namespace

+ +This sample isn't really a demo, but rather a place to display the +introductory doc for using the new namespace. + + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/OOR.py b/wxPython/demo/OOR.py index e0e84b0112..d58bc42bbd 100644 --- a/wxPython/demo/OOR.py +++ b/wxPython/demo/OOR.py @@ -136,3 +136,12 @@ and the second will show #2 (working as of 2.3.2) """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/PopupMenu.py b/wxPython/demo/PopupMenu.py new file mode 100644 index 0000000000..97966273e3 --- /dev/null +++ b/wxPython/demo/PopupMenu.py @@ -0,0 +1,148 @@ + +from wxPython.wx import * +import images + +#---------------------------------------------------------------------- + +text = """\ + +Right-click on the panel (or Ctrl-click on the Mac) to show a popup +menu. Then look at the code for this sample. Notice how the +PopupMenu method is similar to the ShowModal method of a wxDialog in +that it doesn't return until the popup menu has been dismissed. The +event handlers for the popup menu items can either be attached to the +menu itself, or to the window that invokes PopupMenu. +""" + +#---------------------------------------------------------------------- + +class TestPanel(wxPanel): + def __init__(self, parent, log): + self.log = log + wxPanel.__init__(self, parent, -1) + box = wxBoxSizer(wxVERTICAL) + + # Make and layout the controls + fs = self.GetFont().GetPointSize() + bf = wxFont(fs+4, wxSWISS, wxNORMAL, wxBOLD) + nf = wxFont(fs+2, wxSWISS, wxNORMAL, wxNORMAL) + + t = wxStaticText(self, -1, "PopupMenu") + t.SetFont(bf) + box.Add(t, 0, wxCENTER|wxALL, 5) + + box.Add(wxStaticLine(self, -1), 0, wxEXPAND) + box.Add(10,20) + + t = wxStaticText(self, -1, text) + t.SetFont(nf) + box.Add(t, 0, wxCENTER|wxALL, 5) + + self.SetSizer(box) + + EVT_RIGHT_UP(self, self.OnRightClick) + + + def OnRightClick(self, event): + self.log.WriteText("OnRightClick\n") + + # only do this part the first time so the events are only bound once + if not hasattr(self, "popupID1"): + self.popupID1 = wxNewId() + self.popupID2 = wxNewId() + self.popupID3 = wxNewId() + self.popupID4 = wxNewId() + self.popupID5 = wxNewId() + self.popupID6 = wxNewId() + self.popupID7 = wxNewId() + self.popupID8 = wxNewId() + self.popupID9 = wxNewId() + EVT_MENU(self, self.popupID1, self.OnPopupOne) + EVT_MENU(self, self.popupID2, self.OnPopupTwo) + EVT_MENU(self, self.popupID3, self.OnPopupThree) + EVT_MENU(self, self.popupID4, self.OnPopupFour) + EVT_MENU(self, self.popupID5, self.OnPopupFive) + EVT_MENU(self, self.popupID6, self.OnPopupSix) + EVT_MENU(self, self.popupID7, self.OnPopupSeven) + EVT_MENU(self, self.popupID8, self.OnPopupEIght) + EVT_MENU(self, self.popupID9, self.OnPopupNine) + + # make a menu + menu = wxMenu() + # Show how to put an icon in the menu + item = wxMenuItem(menu, self.popupID1,"One") + item.SetBitmap(images.getSmilesBitmap()) + menu.AppendItem(item) + # add some other items + menu.Append(self.popupID2, "Two") + menu.Append(self.popupID3, "Three") + menu.Append(self.popupID4, "Four") + menu.Append(self.popupID5, "Five") + menu.Append(self.popupID6, "Six") + # make a submenu + sm = wxMenu() + sm.Append(self.popupID8, "sub item 1") + sm.Append(self.popupID9, "sub item 1") + menu.AppendMenu(self.popupID7, "Test Submenu", sm) + + + # Popup the menu. If an item is selected then its handler + # will be called before PopupMenu returns. + self.PopupMenu(menu, event.GetPosition()) + menu.Destroy() + + + def OnPopupOne(self, event): + self.log.WriteText("Popup one\n") + + def OnPopupTwo(self, event): + self.log.WriteText("Popup two\n") + + def OnPopupThree(self, event): + self.log.WriteText("Popup three\n") + + def OnPopupFour(self, event): + self.log.WriteText("Popup four\n") + + def OnPopupFive(self, event): + self.log.WriteText("Popup five\n") + + def OnPopupSix(self, event): + self.log.WriteText("Popup six\n") + + def OnPopupSeven(self, event): + self.log.WriteText("Popup seven\n") + + def OnPopupEIght(self, event): + self.log.WriteText("Popup eight\n") + + def OnPopupNine(self, event): + self.log.WriteText("Popup nine\n") + + + + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

PopupMenu

+""" + text + """ + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/PrintFramework.py b/wxPython/demo/PrintFramework.py index 36c3ea5a2b..d7a78e1dd4 100644 --- a/wxPython/demo/PrintFramework.py +++ b/wxPython/demo/PrintFramework.py @@ -79,7 +79,7 @@ class MyPrintout(wxPrintout): #------------------------------------------- - self.canvas.DoDrawing(dc) + self.canvas.DoDrawing(dc, True) dc.DrawText("Page: %d" % page, marginX/2, maxY-marginY) return True @@ -176,3 +176,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/PyCrust.py b/wxPython/demo/PyCrust.py index 4d2ae22b32..5bf452e2cc 100644 --- a/wxPython/demo/PyCrust.py +++ b/wxPython/demo/PyCrust.py @@ -1,20 +1,18 @@ - -from wxPython.lib.PyCrust import shell, version +from wx import py #---------------------------------------------------------------------- -intro = 'Welcome To PyCrust %s - The Flakiest Python Shell' % version.VERSION +intro = 'Welcome To PyCrust %s - The Flakiest Python Shell' % py.version.VERSION def runTest(frame, nb, log): - win = shell.Shell(nb, -1, introText=intro) + win = py.crust.Crust(nb, intro=intro) return win #---------------------------------------------------------------------- -overview = shell.__doc__ - +overview = py.filling.__doc__ + "\n\n" + py.crust.__doc__ if __name__ == '__main__': import sys,os diff --git a/wxPython/demo/PyCrustWithFilling.py b/wxPython/demo/PyCrustWithFilling.py deleted file mode 100644 index a90c61649a..0000000000 --- a/wxPython/demo/PyCrustWithFilling.py +++ /dev/null @@ -1,28 +0,0 @@ - -from wxPython.wx import wxSplitterWindow -from wxPython.lib.PyCrust import shell, version, filling - - -#---------------------------------------------------------------------- - -intro = 'Welcome To PyCrust %s - The Flakiest Python Shell' % version.VERSION - -def runTest(frame, nb, log): - win = wxSplitterWindow(nb, -1, size=(640, 480)) - shellWin = shell.Shell(win, -1, introText=intro) - fillingWin = filling.Filling(win, -1, size=(640, 480), - rootObject=shellWin.interp.locals, - rootIsNamespace=1 - ) - win.SplitHorizontally(shellWin, fillingWin) - return win - -#---------------------------------------------------------------------- - -overview = filling.__doc__ - -if __name__ == '__main__': - import sys,os - import run - run.main(['', os.path.basename(sys.argv[0])]) - diff --git a/wxPython/demo/PyShell.py b/wxPython/demo/PyShell.py new file mode 100644 index 0000000000..d93fc9b4ca --- /dev/null +++ b/wxPython/demo/PyShell.py @@ -0,0 +1,23 @@ + + +from wx import py + + +#---------------------------------------------------------------------- + +intro = 'Welcome To PyCrust %s - The Flakiest Python Shell' % py.version.VERSION + +def runTest(frame, nb, log): + win = py.shell.Shell(nb, -1, introText=intro) + return win + +#---------------------------------------------------------------------- + +overview = py.shell.__doc__ + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/PythonEvents.py b/wxPython/demo/PythonEvents.py index d7454aac6b..98301706ff 100644 --- a/wxPython/demo/PythonEvents.py +++ b/wxPython/demo/PythonEvents.py @@ -83,3 +83,10 @@ This demo is a contrived example of defining an event class in wxPython and send + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/ShapedWindow.py b/wxPython/demo/ShapedWindow.py new file mode 100644 index 0000000000..f5097a91f5 --- /dev/null +++ b/wxPython/demo/ShapedWindow.py @@ -0,0 +1,122 @@ + +from wxPython.wx import * +import images + +#---------------------------------------------------------------------- + +class TestFrame(wxFrame): + def __init__(self, parent, log): + self.log = log + wxFrame.__init__(self, parent, -1, "Shaped Window", + style = + wxFRAME_SHAPED + | wxSIMPLE_BORDER + | wxFRAME_NO_TASKBAR + | wxSTAY_ON_TOP + ) + + self.hasShape = False + self.delta = wxPoint(0,0) + + EVT_LEFT_DCLICK(self, self.OnDoubleClick) + EVT_LEFT_DOWN(self, self.OnLeftDown) + EVT_LEFT_UP(self, self.OnLeftUp) + EVT_MOTION(self, self.OnMouseMove) + EVT_RIGHT_UP(self, self.OnExit) + EVT_PAINT(self, self.OnPaint) + + self.bmp = images.getTuxBitmap() + w, h = self.bmp.GetWidth(), self.bmp.GetHeight() + self.SetClientSize( (w, h) ) + + if wxPlatform != "__WXMAC__": + # wxMac clips the tooltip to the window shape, YUCK!!! + self.SetToolTipString("Right-click to close the window\n" + "Double-click the image to set/unset the window shape") + + if wxPlatform == "__WXGTK__": + # wxGTK requires that the window be created before you can + # set its shape, so delay the call to SetWindowShape until + # this event. + EVT_WINDOW_CREATE(self, self.SetWindowShape) + else: + # On wxMSW and wxMac the window has already been created, so go for it. + self.SetWindowShape() + + dc = wxClientDC(self) + dc.DrawBitmap(self.bmp, 0,0, True) + + + def SetWindowShape(self, *evt): + # Use the bitmap's mask to determine the region + r = wxRegionFromBitmap(self.bmp) + self.hasShape = self.SetShape(r) + + + def OnDoubleClick(self, evt): + if self.hasShape: + self.SetShape(wxRegion()) + self.hasShape = False + else: + self.SetWindowShape() + + + def OnPaint(self, evt): + dc = wxPaintDC(self) + dc.DrawBitmap(self.bmp, 0,0, True) + + def OnExit(self, evt): + self.Close() + + + def OnLeftDown(self, evt): + self.CaptureMouse() + pos = self.ClientToScreen(evt.GetPosition()) + origin = self.GetPosition() + dx = pos.x - origin.x + dy = pos.y - origin.y + self.delta = wxPoint(dx, dy) + + + def OnLeftUp(self, evt): + if self.HasCapture(): + self.ReleaseMouse() + + + def OnMouseMove(self, evt): + if evt.Dragging() and evt.LeftIsDown(): + pos = self.ClientToScreen(evt.GetPosition()) + fp = (pos.x - self.delta.x, pos.y - self.delta.y) + self.Move(fp) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestFrame(nb, log) + frame.otherWin = win + win.Show(True) + + +#---------------------------------------------------------------------- + + + +overview = """ +

Shaped Window

+ +Top level windows now have a SetShape method that lets you set a +non-rectangular shape for the window using a wxRegion. All pixels +outside of the region will not be drawn and the window will not be +sensitive to the mouse in those areas either. + + +""" + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/Sizers.py b/wxPython/demo/Sizers.py index ab95d06fd7..0fb4657edc 100644 --- a/wxPython/demo/Sizers.py +++ b/wxPython/demo/Sizers.py @@ -141,11 +141,11 @@ def makeBoxInBox(win): box.Add(wxButton(win, 1010, "one"), 0, wxEXPAND) box2 = wxBoxSizer(wxHORIZONTAL) - box2.AddMany([ (wxButton(win, 1010, "two"), 0, wxEXPAND), - (wxButton(win, 1010, "three"), 0, wxEXPAND), - (wxButton(win, 1010, "four"), 0, wxEXPAND), - (wxButton(win, 1010, "five"), 0, wxEXPAND), - ]) + box2.Add(wxButton(win, 1010, "two"), 0, wxEXPAND) + btn3 = wxButton(win, 1010, "three") + box2.Add(btn3, 0, wxEXPAND) + box2.Add(wxButton(win, 1010, "four"), 0, wxEXPAND) + box2.Add(wxButton(win, 1010, "five"), 0, wxEXPAND) box3 = wxBoxSizer(wxVERTICAL) box3.AddMany([ (wxButton(win, 1010, "six"), 0, wxEXPAND), @@ -159,6 +159,8 @@ def makeBoxInBox(win): box.Add(wxButton(win, 1010, "ten"), 0, wxEXPAND) + ##box.Hide(btn3) + return box #---------------------------------------------------------------------- diff --git a/wxPython/demo/SlashDot.py b/wxPython/demo/SlashDot.py deleted file mode 100644 index eb0ded644e..0000000000 --- a/wxPython/demo/SlashDot.py +++ /dev/null @@ -1,379 +0,0 @@ -#!/usr/bin/python -"""This is SlashDot 1.2 - - It's the obligatory Slashdot.org headlines reader that -any modern widget set/library must have in order to be taken -seriously :-) - - Usage is quite simple; wxSlash attempts to download the -'ultramode.txt' file from http://slashdot.org, which -contains the headlines in a computer friendly format. It -then displays said headlines in a wxWindows list control. - - You can read articles using either Python's html library -or an external browser. Uncheck the 'browser->internal' menu -item to use the latter option. Use the settings dialog box -to set which external browser is started. - - This code is available under the wxWindows license, see -elsewhere. If you modify this code, be aware of the fact -that slashdot.org's maintainer, CmdrTaco, explicitly asks -'ultramode.txt' downloaders not to do this automatically -more than twice per hour. If this feature is abused, -CmdrTaco may remove the ultramode file completely and that -will make a *lot* of people unhappy. - - I want to thank Alex Shnitman whose slashes.pl -(Perl/GTK) script gave me the idea for this applet. - - Have fun with it, - - Harm van der Heijden (H.v.d.Heijden@phys.tue.nl) -""" - -from wxPython.wx import * -from httplib import HTTP -from htmllib import HTMLParser -import os -import re -import formatter - -class HTMLTextView(wxFrame): - def __init__(self, parent, id, title='HTMLTextView', url=None): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, - wxSize(600,400)) - - EVT_CLOSE(self, self.OnCloseWindow) - self.mainmenu = wxMenuBar() - - menu = wxMenu() - menu.Append(201, '&Open URL...', 'Open URL') - EVT_MENU(self, 201, self.OnFileOpen) - menu.Append(209, 'E&xit', 'Exit viewer') - EVT_MENU(self, 209, self.OnFileExit) - - self.mainmenu.Append(menu, '&File') - self.SetMenuBar(self.mainmenu) - self.CreateStatusBar(1) - - self.text = wxTextCtrl(self, -1, "", wxPyDefaultPosition, - wxPyDefaultSize, wxTE_MULTILINE | wxTE_READONLY) - - if (url): - self.OpenURL(url) - - def logprint(self, x): - self.SetStatusText(x) - - def OpenURL(self, url): - self.url = url - m = re.match('file:(\S+)\s*', url) - if m: - f = open(m.groups()[0],'r') - else: - m = re.match('http://([^/]+)(/\S*)\s*', url) - if m: - host = m.groups()[0] - path = m.groups()[1] - else: - m = re.match('http://(\S+)\s*', url) - if not m: - # Invalid URL - self.logprint("Invalid or unsupported URL: %s" % (url)) - return - host = m.groups()[0] - path = '' - f = RetrieveAsFile(host,path,self.logprint) - if not f: - self.logprint("Could not open %s" % (url)) - return - self.logprint("Receiving data...") - data = f.read() - tmp = open('tmphtml.txt','w') - fmt = formatter.AbstractFormatter(formatter.DumbWriter(tmp)) - p = HTMLParser(fmt) - self.logprint("Parsing data...") - p.feed(data) - p.close() - tmp.close() - tmp = open('tmphtml.txt', 'r') - self.text.SetValue(tmp.read()) - self.SetTitle(url) - self.logprint(url) - - def OnFileOpen(self, event): - dlg = wxTextEntryDialog(self, "Enter URL to open:", "") - if dlg.ShowModal() == wxID_OK: - url = dlg.GetValue() - else: - url = None - if url: - self.OpenURL(url) - - def OnFileExit(self, event): - self.Close() - - def OnCloseWindow(self, event): - self.Destroy() - - -def ParseSlashdot(f): - art_sep = re.compile('%%\r?\n') - line_sep = re.compile('\r?\n') - data = f.read() - list = art_sep.split(data) - art_list = [] - for i in range(1,len(list)-1): - art_list.append(line_sep.split(list[i])) - return art_list - -def myprint(x): - print x - -def RetrieveAsFile(host, path='', logprint = myprint): - try: - h = HTTP(host) - except: - logprint("Failed to create HTTP connection to %s... is the network available?" % (host)) - return None - h.putrequest('GET',path) - h.putheader('Accept','text/html') - h.putheader('Accept','text/plain') - h.endheaders() - errcode, errmsg, headers = h.getreply() - if errcode != 200: - logprint("HTTP error code %d: %s" % (errcode, errmsg)) - return None - f = h.getfile() -# f = open('/home/harm/ultramode.txt','r') - return f - - -class AppStatusBar(wxStatusBar): - def __init__(self, parent): - wxStatusBar.__init__(self,parent, -1) - self.SetFieldsCount(2) - self.SetStatusWidths([-1, 100]) - self.but = wxButton(self, 1001, "Refresh") - EVT_BUTTON(self, 1001, parent.OnViewRefresh) - EVT_SIZE(self, self.OnSize) - self.OnSize(None) - - def logprint(self,x): - self.SetStatusText(x,0) - - def OnSize(self, event): - rect = self.GetFieldRect(1) - self.but.SetPosition(wxPoint(rect.x+2, rect.y+2)) - self.but.SetSize(wxSize(rect.width-4, rect.height-4)) - -# This is a simple timer class to start a function after a short delay; -class QuickTimer(wxTimer): - def __init__(self, func, wait=100): - wxTimer.__init__(self) - self.callback = func - self.Start(wait); # wait .1 second (.001 second doesn't work. why?) - def Notify(self): - self.Stop(); - apply(self.callback, ()); - -class AppFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, - wxSize(650, 250)) - - # if the window manager closes the window: - EVT_CLOSE(self, self.OnCloseWindow); - - # Now Create the menu bar and items - self.mainmenu = wxMenuBar() - - menu = wxMenu() - menu.Append(209, 'E&xit', 'Enough of this already!') - EVT_MENU(self, 209, self.OnFileExit) - self.mainmenu.Append(menu, '&File') - menu = wxMenu() - menu.Append(210, '&Refresh', 'Refresh headlines') - EVT_MENU(self, 210, self.OnViewRefresh) - menu.Append(211, '&Slashdot Index', 'View Slashdot index') - EVT_MENU(self, 211, self.OnViewIndex) - menu.Append(212, 'Selected &Article', 'View selected article') - EVT_MENU(self, 212, self.OnViewArticle) - self.mainmenu.Append(menu, '&View') - menu = wxMenu() - menu.Append(220, '&Internal', 'Use internal text browser',True) - menu.Check(220, True) - self.UseInternal = 1; - EVT_MENU(self, 220, self.OnBrowserInternal) - menu.Append(222, '&Settings...', 'External browser Settings') - EVT_MENU(self, 222, self.OnBrowserSettings) - self.mainmenu.Append(menu, '&Browser') - menu = wxMenu() - menu.Append(230, '&About', 'Some documentation'); - EVT_MENU(self, 230, self.OnAbout) - self.mainmenu.Append(menu, '&Help') - - self.SetMenuBar(self.mainmenu) - - if wxPlatform == '__WXGTK__': - # I like lynx. Also Netscape 4.5 doesn't react to my cmdline opts - self.BrowserSettings = "xterm -e lynx %s &" - elif wxPlatform == '__WXMSW__': - # netscape 4.x likes to hang out here... - self.BrowserSettings = '\\progra~1\\Netscape\\Communicator\\Program\\netscape.exe %s' - else: - # a wild guess... - self.BrowserSettings = 'netscape %s' - - # A status bar to tell people what's happening - self.sb = AppStatusBar(self) - self.SetStatusBar(self.sb) - - self.list = wxListCtrl(self, 1100, style=wxLC_REPORT) - self.list.InsertColumn(0, 'Subject') - self.list.InsertColumn(1, 'Date') - self.list.InsertColumn(2, 'Posted by') - self.list.InsertColumn(3, 'Comments') - self.list.SetColumnWidth(0, 300) - self.list.SetColumnWidth(1, 150) - self.list.SetColumnWidth(2, 100) - self.list.SetColumnWidth(3, 100) - - EVT_LIST_ITEM_SELECTED(self, 1100, self.OnItemSelected) - EVT_LEFT_DCLICK(self.list, self.OnLeftDClick) - - self.logprint("Connecting to slashdot... Please wait.") - # wxYield doesn't yet work here. That's why we use a timer - # to make sure that we see some GUI stuff before the slashdot - # file is transfered. - self.timer = QuickTimer(self.DoRefresh, 1000) - - def logprint(self, x): - self.sb.logprint(x) - - def OnFileExit(self, event): - self.Destroy() - - def DoRefresh(self): - f = RetrieveAsFile('slashdot.org','/ultramode.txt',self.sb.logprint) - art_list = ParseSlashdot(f) - self.list.DeleteAllItems() - self.url = [] - self.current = -1 - i = 0; - for article in art_list: - self.list.InsertStringItem(i, article[0]) - self.list.SetStringItem(i, 1, article[2]) - self.list.SetStringItem(i, 2, article[3]) - self.list.SetStringItem(i, 3, article[6]) - self.url.append(article[1]) - i = i + 1 - self.logprint("File retrieved OK.") - - def OnViewRefresh(self, event): - self.logprint("Connecting to slashdot... Please wait."); - wxYield() - self.DoRefresh() - - def DoViewIndex(self): - if self.UseInternal: - self.view = HTMLTextView(self, -1, 'slashdot.org', - 'http://slashdot.org') - self.view.Show(True) - else: - self.logprint(self.BrowserSettings % ('http://slashdot.org')) - #os.system(self.BrowserSettings % ('http://slashdot.org')) - wxExecute(self.BrowserSettings % ('http://slashdot.org')) - self.logprint("OK") - - def OnViewIndex(self, event): - self.logprint("Starting browser... Please wait.") - wxYield() - self.DoViewIndex() - - def DoViewArticle(self): - if self.current<0: return - url = self.url[self.current] - if self.UseInternal: - self.view = HTMLTextView(self, -1, url, url) - self.view.Show(True) - else: - self.logprint(self.BrowserSettings % (url)) - os.system(self.BrowserSettings % (url)) - self.logprint("OK") - - def OnViewArticle(self, event): - self.logprint("Starting browser... Please wait.") - wxYield() - self.DoViewArticle() - - def OnBrowserInternal(self, event): - if self.mainmenu.Checked(220): - self.UseInternal = 1 - else: - self.UseInternal = 0 - - def OnBrowserSettings(self, event): - dlg = wxTextEntryDialog(self, "Enter command to view URL.\nUse %s as a placeholder for the URL.", "", self.BrowserSettings); - if dlg.ShowModal() == wxID_OK: - self.BrowserSettings = dlg.GetValue() - - def OnAbout(self, event): - dlg = wxMessageDialog(self, __doc__, "wxSlash", wxOK | wxICON_INFORMATION) - dlg.ShowModal() - - def OnItemSelected(self, event): - self.current = event.m_itemIndex - self.logprint("URL: %s" % (self.url[self.current])) - - def OnLeftDClick(self, event): - (x,y) = event.Position(); - # Actually, we should convert x,y to logical coords using - # a dc, but only for a wxScrolledWindow widget. - # Now wxGTK derives wxListCtrl from wxScrolledWindow, - # and wxMSW from wxControl... So that doesn't work. - #dc = wxClientDC(self.list) - ##self.list.PrepareDC(dc) - #x = dc.DeviceToLogicalX( event.GetX() ) - #y = dc.DeviceToLogicalY( event.GetY() ) - id = self.list.HitTest(wxPoint(x,y)) - #print "Double click at %d %d" % (x,y), id - # Okay, we got a double click. Let's assume it's the current selection - wxYield() - self.OnViewArticle(event) - - def OnCloseWindow(self, event): - self.Destroy() - - -#--------------------------------------------------------------------------- -# if running standalone - -if __name__ == '__main__': - class MyApp(wxApp): - def OnInit(self): - frame = AppFrame(None, -1, "Slashdot Breaking News") - frame.Show(True) - self.SetTopWindow(frame) - return True - - app = MyApp(0) - app.MainLoop() - - - -#--------------------------------------------------------------------------- -# if running as part of the Demo Framework... - -def runTest(frame, nb, log): - win = AppFrame(None, -1, "Slashdot Breaking News") - frame.otherWin = win - win.Show(True) - - -overview = __doc__ - - -#---------------------------------------------------------------------------- - - diff --git a/wxPython/demo/TablePrint.py b/wxPython/demo/TablePrint.py index 51b075c3da..7b370709d9 100644 --- a/wxPython/demo/TablePrint.py +++ b/wxPython/demo/TablePrint.py @@ -205,3 +205,12 @@ when the framework allows for it. """ % os.path.join(os.path.dirname(wxPython.lib.printout.__file__), "printout.py") + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/Threads.py b/wxPython/demo/Threads.py index 4c165eeb89..05883731b9 100644 --- a/wxPython/demo/Threads.py +++ b/wxPython/demo/Threads.py @@ -244,3 +244,11 @@ ProcessEvent does, it processes it later from the context of the GUI thread. """ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/URLDragAndDrop.py b/wxPython/demo/URLDragAndDrop.py index 16b3b96006..51c1a340ad 100644 --- a/wxPython/demo/URLDragAndDrop.py +++ b/wxPython/demo/URLDragAndDrop.py @@ -121,3 +121,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/Unicode.py b/wxPython/demo/Unicode.py index c6910a05c4..ec8a052bf9 100644 --- a/wxPython/demo/Unicode.py +++ b/wxPython/demo/Unicode.py @@ -139,3 +139,12 @@ and then pass the unicode to the wxPython method. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/XMLtreeview.py b/wxPython/demo/XMLtreeview.py index d57642958e..081ac5f0f6 100644 --- a/wxPython/demo/XMLtreeview.py +++ b/wxPython/demo/XMLtreeview.py @@ -110,3 +110,11 @@ else: overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/bmp_source/Tux.png b/wxPython/demo/bmp_source/Tux.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc18c1296d650b9ad75f9dc61b15d6cb0d09b03 GIT binary patch literal 31315 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 -/home/others/projects/wx2.3/contrib/include/wx/stc/stc.h.html - +/home/work/projects/wx2.4/contrib/include/wx/stc/stc.h.html +
@@ -31,6 +31,30 @@
 #include <wx/wx.h>
 #include <wx/dnd.h>
 
+#ifndef SWIG
+/*
+ * If we're using wx in Dynamic Library format do we
+ * want wxStyledTextCtrl to be in DLL form as well?
+ */
+#if defined(WXUSINGDLL) && \
+    (defined(WXMAKING_STC_DLL) || defined(WXUSING_STC_DLL))
+
+#if defined(WXMAKING_STC_DLL)
+    // When building the DLL WXSTC_DECLSPEC exports classes
+#   define WXSTC_DECLSPEC            WXEXPORT
+#elif defined(WXUSING_STC_DLL)
+    // When using the DLL WXSTC_DECLSPEC imports classes
+#   define WXSTC_DECLSPEC            WXIMPORT
+#endif // defined(WXBUILD_STC_DLL)
+
+#else
+// When building the static library nullify the effect of WXSTC_DECLSPEC
+#define WXSTC_DECLSPEC
+#endif // WXUSINGDLL && (WXMAKING_STC_DLL || WXUSING_STC_DLL)
+
+#endif // SWIG
+
+
 //----------------------------------------------------------------------
 
 // Should a wxPopupWindow be used for the call tips and autocomplete windows?
@@ -50,12 +74,6 @@
 #define wxSTC_START 2000
 #define wxSTC_OPTIONAL_START 3000
 #define wxSTC_LEXER_START 4000
-
-// Redoes the next action on the undo history.
-#define wxSTC_CMD_REDO 2011
-
-// Select all the text in the document.
-#define wxSTC_CMD_SELECTALL 2013
 #define wxSTC_WS_INVISIBLE 0
 #define wxSTC_WS_VISIBLEALWAYS 1
 #define wxSTC_WS_VISIBLEAFTERINDENT 2
@@ -66,6 +84,9 @@
 // The SC_CP_UTF8 value can be used to enter Unicode mode.
 // This is the same value as CP_UTF8 in Windows
 #define wxSTC_CP_UTF8 65001
+
+// The SC_CP_DBCS value can be used to indicate a DBCS mode for GTK+.
+#define wxSTC_CP_DBCS 1
 #define wxSTC_MARKER_MAX 31
 #define wxSTC_MARK_CIRCLE 0
 #define wxSTC_MARK_ROUNDRECT 1
@@ -96,6 +117,7 @@
 #define wxSTC_MARK_BACKGROUND 22
 #define wxSTC_MARK_DOTDOTDOT 23
 #define wxSTC_MARK_ARROWS 24
+#define wxSTC_MARK_PIXMAP 25
 #define wxSTC_MARK_CHARACTER 10000
 
 // Markers used for outlining column.
@@ -174,22 +196,20 @@
 #define wxSTC_FIND_MATCHCASE 4
 #define wxSTC_FIND_WORDSTART 0x00100000
 #define wxSTC_FIND_REGEXP 0x00200000
-
-// Undo one action in the undo history.
-#define wxSTC_CMD_UNDO 2176
-
-// Cut the selection to the clipboard.
-#define wxSTC_CMD_CUT 2177
-
-// Copy the selection to the clipboard.
-#define wxSTC_CMD_COPY 2178
-
-// Paste the contents of the clipboard into the document replacing the selection.
-#define wxSTC_CMD_PASTE 2179
 #define wxSTC_FOLDLEVELBASE 0x400
 #define wxSTC_FOLDLEVELWHITEFLAG 0x1000
 #define wxSTC_FOLDLEVELHEADERFLAG 0x2000
+#define wxSTC_FOLDLEVELBOXHEADERFLAG 0x4000
+#define wxSTC_FOLDLEVELBOXFOOTERFLAG 0x8000
+#define wxSTC_FOLDLEVELCONTRACTED 0x10000
+#define wxSTC_FOLDLEVELUNINDENT 0x20000
 #define wxSTC_FOLDLEVELNUMBERMASK 0x0FFF
+#define wxSTC_FOLDFLAG_LINEBEFORE_EXPANDED 0x0002
+#define wxSTC_FOLDFLAG_LINEBEFORE_CONTRACTED 0x0004
+#define wxSTC_FOLDFLAG_LINEAFTER_EXPANDED 0x0008
+#define wxSTC_FOLDFLAG_LINEAFTER_CONTRACTED 0x0010
+#define wxSTC_FOLDFLAG_LEVELNUMBERS 0x0040
+#define wxSTC_FOLDFLAG_BOX 0x0001
 #define wxSTC_TIME_FOREVER 10000000
 #define wxSTC_WRAP_NONE 0
 #define wxSTC_WRAP_WORD 1
@@ -197,163 +217,11 @@
 #define wxSTC_CACHE_CARET 1
 #define wxSTC_CACHE_PAGE 2
 #define wxSTC_CACHE_DOCUMENT 3
-
-// Move caret down one line.
-#define wxSTC_CMD_LINEDOWN 2300
-
-// Move caret down one line extending selection to new caret position.
-#define wxSTC_CMD_LINEDOWNEXTEND 2301
-
-// Move caret up one line.
-#define wxSTC_CMD_LINEUP 2302
-
-// Move caret up one line extending selection to new caret position.
-#define wxSTC_CMD_LINEUPEXTEND 2303
-
-// Move caret left one character.
-#define wxSTC_CMD_CHARLEFT 2304
-
-// Move caret left one character extending selection to new caret position.
-#define wxSTC_CMD_CHARLEFTEXTEND 2305
-
-// Move caret right one character.
-#define wxSTC_CMD_CHARRIGHT 2306
-
-// Move caret right one character extending selection to new caret position.
-#define wxSTC_CMD_CHARRIGHTEXTEND 2307
-
-// Move caret left one word.
-#define wxSTC_CMD_WORDLEFT 2308
-
-// Move caret left one word extending selection to new caret position.
-#define wxSTC_CMD_WORDLEFTEXTEND 2309
-
-// Move caret right one word.
-#define wxSTC_CMD_WORDRIGHT 2310
-
-// Move caret right one word extending selection to new caret position.
-#define wxSTC_CMD_WORDRIGHTEXTEND 2311
-
-// Move caret to first position on line.
-#define wxSTC_CMD_HOME 2312
-
-// Move caret to first position on line extending selection to new caret position.
-#define wxSTC_CMD_HOMEEXTEND 2313
-
-// Move caret to last position on line.
-#define wxSTC_CMD_LINEEND 2314
-
-// Move caret to last position on line extending selection to new caret position.
-#define wxSTC_CMD_LINEENDEXTEND 2315
-
-// Move caret to first position in document.
-#define wxSTC_CMD_DOCUMENTSTART 2316
-
-// Move caret to first position in document extending selection to new caret position.
-#define wxSTC_CMD_DOCUMENTSTARTEXTEND 2317
-
-// Move caret to last position in document.
-#define wxSTC_CMD_DOCUMENTEND 2318
-
-// Move caret to last position in document extending selection to new caret position.
-#define wxSTC_CMD_DOCUMENTENDEXTEND 2319
-
-// Move caret one page up.
-#define wxSTC_CMD_PAGEUP 2320
-
-// Move caret one page up extending selection to new caret position.
-#define wxSTC_CMD_PAGEUPEXTEND 2321
-
-// Move caret one page down.
-#define wxSTC_CMD_PAGEDOWN 2322
-
-// Move caret one page down extending selection to new caret position.
-#define wxSTC_CMD_PAGEDOWNEXTEND 2323
-
-// Switch from insert to overtype mode or the reverse.
-#define wxSTC_CMD_EDITTOGGLEOVERTYPE 2324
-
-// Cancel any modes such as call tip or auto-completion list display.
-#define wxSTC_CMD_CANCEL 2325
-
-// Delete the selection or if no selection, the character before the caret.
-#define wxSTC_CMD_DELETEBACK 2326
-
-// If selection is empty or all on one line replace the selection with a tab character.
-// If more than one line selected, indent the lines.
-#define wxSTC_CMD_TAB 2327
-
-// Dedent the selected lines.
-#define wxSTC_CMD_BACKTAB 2328
-
-// Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
-#define wxSTC_CMD_NEWLINE 2329
-
-// Insert a Form Feed character.
-#define wxSTC_CMD_FORMFEED 2330
-
-// Move caret to before first visible character on line.
-// If already there move to first character on line.
-#define wxSTC_CMD_VCHOME 2331
-
-// Like VCHome but extending selection to new caret position.
-#define wxSTC_CMD_VCHOMEEXTEND 2332
-
-// Magnify the displayed text by increasing the sizes by 1 point.
-#define wxSTC_CMD_ZOOMIN 2333
-
-// Make the displayed text smaller by decreasing the sizes by 1 point.
-#define wxSTC_CMD_ZOOMOUT 2334
-
-// Delete the word to the left of the caret.
-#define wxSTC_CMD_DELWORDLEFT 2335
-
-// Delete the word to the right of the caret.
-#define wxSTC_CMD_DELWORDRIGHT 2336
-
-// Cut the line containing the caret.
-#define wxSTC_CMD_LINECUT 2337
-
-// Delete the line containing the caret.
-#define wxSTC_CMD_LINEDELETE 2338
-
-// Switch the current line with the previous.
-#define wxSTC_CMD_LINETRANSPOSE 2339
-
-// Transform the selection to lower case.
-#define wxSTC_CMD_LOWERCASE 2340
-
-// Transform the selection to upper case.
-#define wxSTC_CMD_UPPERCASE 2341
-
-// Scroll the document down, keeping the caret visible.
-#define wxSTC_CMD_LINESCROLLDOWN 2342
-
-// Scroll the document up, keeping the caret visible.
-#define wxSTC_CMD_LINESCROLLUP 2343
-
-// Delete the selection or if no selection, the character before the caret.
-// Will not delete the character before at the start of a line.
-#define wxSTC_CMD_DELETEBACKNOTLINE 2344
-
-// Move caret to first position on display line.
-#define wxSTC_CMD_HOMEDISPLAY 2345
-
-// Move caret to first position on display line extending selection to 
-// new caret position.
-#define wxSTC_CMD_HOMEDISPLAYEXTEND 2346
-
-// Move caret to last position on display line.
-#define wxSTC_CMD_LINEENDDISPLAY 2347
-
-// Move caret to last position on display line extending selection to new 
-// caret position.
-#define wxSTC_CMD_LINEENDDISPLAYEXTEND 2348
 #define wxSTC_EDGE_NONE 0
 #define wxSTC_EDGE_LINE 1
 #define wxSTC_EDGE_BACKGROUND 2
 #define wxSTC_CURSORNORMAL -1
-#define wxSTC_CURSORWAIT 3
+#define wxSTC_CURSORWAIT 4
 
 // Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.
 #define wxSTC_VISIBLE_SLOP 0x01
@@ -461,6 +329,11 @@
 #define wxSTC_LEX_BAAN 31
 #define wxSTC_LEX_MATLAB 32
 #define wxSTC_LEX_SCRIPTOL 33
+#define wxSTC_LEX_ASM 34
+#define wxSTC_LEX_CPPNOCASE 35
+#define wxSTC_LEX_FORTRAN 36
+#define wxSTC_LEX_F77 37
+#define wxSTC_LEX_CSS 38
 
 // When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
 // value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -729,6 +602,7 @@
 #define wxSTC_ERR_DIFF_ADDITION 11
 #define wxSTC_ERR_DIFF_DELETION 12
 #define wxSTC_ERR_DIFF_MESSAGE 13
+#define wxSTC_ERR_PHP 14
 
 // Lexical states for SCLEX_BATCH
 #define wxSTC_BAT_DEFAULT 0
@@ -775,24 +649,31 @@
 #define wxSTC_AVE_COMMENT 1
 #define wxSTC_AVE_NUMBER 2
 #define wxSTC_AVE_WORD 3
-#define wxSTC_AVE_KEYWORD 4
-#define wxSTC_AVE_STATEMENT 5
 #define wxSTC_AVE_STRING 6
 #define wxSTC_AVE_ENUM 7
 #define wxSTC_AVE_STRINGEOL 8
 #define wxSTC_AVE_IDENTIFIER 9
 #define wxSTC_AVE_OPERATOR 10
+#define wxSTC_AVE_WORD1 11
+#define wxSTC_AVE_WORD2 12
+#define wxSTC_AVE_WORD3 13
+#define wxSTC_AVE_WORD4 14
+#define wxSTC_AVE_WORD5 15
+#define wxSTC_AVE_WORD6 16
 
 // Lexical states for SCLEX_ADA
 #define wxSTC_ADA_DEFAULT 0
-#define wxSTC_ADA_COMMENT 1
-#define wxSTC_ADA_NUMBER 2
-#define wxSTC_ADA_WORD 3
-#define wxSTC_ADA_STRING 4
+#define wxSTC_ADA_WORD 1
+#define wxSTC_ADA_IDENTIFIER 2
+#define wxSTC_ADA_NUMBER 3
+#define wxSTC_ADA_DELIMITER 4
 #define wxSTC_ADA_CHARACTER 5
-#define wxSTC_ADA_OPERATOR 6
-#define wxSTC_ADA_IDENTIFIER 7
+#define wxSTC_ADA_CHARACTEREOL 6
+#define wxSTC_ADA_STRING 7
 #define wxSTC_ADA_STRINGEOL 8
+#define wxSTC_ADA_LABEL 9
+#define wxSTC_ADA_COMMENTLINE 10
+#define wxSTC_ADA_ILLEGAL 11
 
 // Lexical states for SCLEX_BAAN
 #define wxSTC_BAAN_DEFAULT 0
@@ -873,6 +754,252 @@
 #define wxSTC_SCRIPTOL_COMMENTDOCKEYWORDERROR 18
 #define wxSTC_SCRIPTOL_COMMENTBASIC 19
 
+// Lexical states for SCLEX_ASM
+#define wxSTC_ASM_DEFAULT 0
+#define wxSTC_ASM_COMMENT 1
+#define wxSTC_ASM_NUMBER 2
+#define wxSTC_ASM_STRING 3
+#define wxSTC_ASM_OPERATOR 4
+#define wxSTC_ASM_IDENTIFIER 5
+#define wxSTC_ASM_CPUINSTRUCTION 6
+#define wxSTC_ASM_MATHINSTRUCTION 7
+#define wxSTC_ASM_REGISTER 8
+#define wxSTC_ASM_DIRECTIVE 9
+#define wxSTC_ASM_DIRECTIVEOPERAND 10
+
+// Lexical states for SCLEX_FORTRAN
+#define wxSTC_F_DEFAULT 0
+#define wxSTC_F_COMMENT 1
+#define wxSTC_F_NUMBER 2
+#define wxSTC_F_STRING1 3
+#define wxSTC_F_STRING2 4
+#define wxSTC_F_STRINGEOL 5
+#define wxSTC_F_OPERATOR 6
+#define wxSTC_F_IDENTIFIER 7
+#define wxSTC_F_WORD 8
+#define wxSTC_F_WORD2 9
+#define wxSTC_F_WORD3 10
+#define wxSTC_F_PREPROCESSOR 11
+#define wxSTC_F_OPERATOR2 12
+#define wxSTC_F_LABEL 13
+#define wxSTC_F_CONTINUATION 14
+
+// Lexical states for SCLEX_CSS
+#define wxSTC_CSS_DEFAULT 0
+#define wxSTC_CSS_TAG 1
+#define wxSTC_CSS_CLASS 2
+#define wxSTC_CSS_PSEUDOCLASS 3
+#define wxSTC_CSS_UNKNOWN_PSEUDOCLASS 4
+#define wxSTC_CSS_OPERATOR 5
+#define wxSTC_CSS_IDENTIFIER 6
+#define wxSTC_CSS_UNKNOWN_IDENTIFIER 7
+#define wxSTC_CSS_VALUE 8
+#define wxSTC_CSS_COMMENT 9
+#define wxSTC_CSS_ID 10
+#define wxSTC_CSS_IMPORTANT 11
+#define wxSTC_CSS_DIRECTIVE 12
+
+
+//-----------------------------------------
+// Commands that can be bound to keystrokes
+
+// Redoes the next action on the undo history.
+#define wxSTC_CMD_REDO 2011
+
+// Select all the text in the document.
+#define wxSTC_CMD_SELECTALL 2013
+
+// Undo one action in the undo history.
+#define wxSTC_CMD_UNDO 2176
+
+// Cut the selection to the clipboard.
+#define wxSTC_CMD_CUT 2177
+
+// Copy the selection to the clipboard.
+#define wxSTC_CMD_COPY 2178
+
+// Paste the contents of the clipboard into the document replacing the selection.
+#define wxSTC_CMD_PASTE 2179
+
+// Clear the selection.
+#define wxSTC_CMD_CLEAR 2180
+
+// Move caret down one line.
+#define wxSTC_CMD_LINEDOWN 2300
+
+// Move caret down one line extending selection to new caret position.
+#define wxSTC_CMD_LINEDOWNEXTEND 2301
+
+// Move caret up one line.
+#define wxSTC_CMD_LINEUP 2302
+
+// Move caret up one line extending selection to new caret position.
+#define wxSTC_CMD_LINEUPEXTEND 2303
+
+// Move caret left one character.
+#define wxSTC_CMD_CHARLEFT 2304
+
+// Move caret left one character extending selection to new caret position.
+#define wxSTC_CMD_CHARLEFTEXTEND 2305
+
+// Move caret right one character.
+#define wxSTC_CMD_CHARRIGHT 2306
+
+// Move caret right one character extending selection to new caret position.
+#define wxSTC_CMD_CHARRIGHTEXTEND 2307
+
+// Move caret left one word.
+#define wxSTC_CMD_WORDLEFT 2308
+
+// Move caret left one word extending selection to new caret position.
+#define wxSTC_CMD_WORDLEFTEXTEND 2309
+
+// Move caret right one word.
+#define wxSTC_CMD_WORDRIGHT 2310
+
+// Move caret right one word extending selection to new caret position.
+#define wxSTC_CMD_WORDRIGHTEXTEND 2311
+
+// Move caret to first position on line.
+#define wxSTC_CMD_HOME 2312
+
+// Move caret to first position on line extending selection to new caret position.
+#define wxSTC_CMD_HOMEEXTEND 2313
+
+// Move caret to last position on line.
+#define wxSTC_CMD_LINEEND 2314
+
+// Move caret to last position on line extending selection to new caret position.
+#define wxSTC_CMD_LINEENDEXTEND 2315
+
+// Move caret to first position in document.
+#define wxSTC_CMD_DOCUMENTSTART 2316
+
+// Move caret to first position in document extending selection to new caret position.
+#define wxSTC_CMD_DOCUMENTSTARTEXTEND 2317
+
+// Move caret to last position in document.
+#define wxSTC_CMD_DOCUMENTEND 2318
+
+// Move caret to last position in document extending selection to new caret position.
+#define wxSTC_CMD_DOCUMENTENDEXTEND 2319
+
+// Move caret one page up.
+#define wxSTC_CMD_PAGEUP 2320
+
+// Move caret one page up extending selection to new caret position.
+#define wxSTC_CMD_PAGEUPEXTEND 2321
+
+// Move caret one page down.
+#define wxSTC_CMD_PAGEDOWN 2322
+
+// Move caret one page down extending selection to new caret position.
+#define wxSTC_CMD_PAGEDOWNEXTEND 2323
+
+// Switch from insert to overtype mode or the reverse.
+#define wxSTC_CMD_EDITTOGGLEOVERTYPE 2324
+
+// Cancel any modes such as call tip or auto-completion list display.
+#define wxSTC_CMD_CANCEL 2325
+
+// Delete the selection or if no selection, the character before the caret.
+#define wxSTC_CMD_DELETEBACK 2326
+
+// If selection is empty or all on one line replace the selection with a tab character.
+// If more than one line selected, indent the lines.
+#define wxSTC_CMD_TAB 2327
+
+// Dedent the selected lines.
+#define wxSTC_CMD_BACKTAB 2328
+
+// Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
+#define wxSTC_CMD_NEWLINE 2329
+
+// Insert a Form Feed character.
+#define wxSTC_CMD_FORMFEED 2330
+
+// Move caret to before first visible character on line.
+// If already there move to first character on line.
+#define wxSTC_CMD_VCHOME 2331
+
+// Like VCHome but extending selection to new caret position.
+#define wxSTC_CMD_VCHOMEEXTEND 2332
+
+// Magnify the displayed text by increasing the sizes by 1 point.
+#define wxSTC_CMD_ZOOMIN 2333
+
+// Make the displayed text smaller by decreasing the sizes by 1 point.
+#define wxSTC_CMD_ZOOMOUT 2334
+
+// Delete the word to the left of the caret.
+#define wxSTC_CMD_DELWORDLEFT 2335
+
+// Delete the word to the right of the caret.
+#define wxSTC_CMD_DELWORDRIGHT 2336
+
+// Cut the line containing the caret.
+#define wxSTC_CMD_LINECUT 2337
+
+// Delete the line containing the caret.
+#define wxSTC_CMD_LINEDELETE 2338
+
+// Switch the current line with the previous.
+#define wxSTC_CMD_LINETRANSPOSE 2339
+
+// Duplicate the current line.
+#define wxSTC_CMD_LINEDUPLICATE 2404
+
+// Transform the selection to lower case.
+#define wxSTC_CMD_LOWERCASE 2340
+
+// Transform the selection to upper case.
+#define wxSTC_CMD_UPPERCASE 2341
+
+// Scroll the document down, keeping the caret visible.
+#define wxSTC_CMD_LINESCROLLDOWN 2342
+
+// Scroll the document up, keeping the caret visible.
+#define wxSTC_CMD_LINESCROLLUP 2343
+
+// Delete the selection or if no selection, the character before the caret.
+// Will not delete the character before at the start of a line.
+#define wxSTC_CMD_DELETEBACKNOTLINE 2344
+
+// Move caret to first position on display line.
+#define wxSTC_CMD_HOMEDISPLAY 2345
+
+// Move caret to first position on display line extending selection to
+// new caret position.
+#define wxSTC_CMD_HOMEDISPLAYEXTEND 2346
+
+// Move caret to last position on display line.
+#define wxSTC_CMD_LINEENDDISPLAY 2347
+
+// Move caret to last position on display line extending selection to new
+// caret position.
+#define wxSTC_CMD_LINEENDDISPLAYEXTEND 2348
+
+// Move to the previous change in capitalisation.
+#define wxSTC_CMD_WORDPARTLEFT 2390
+
+// Move to the previous change in capitalisation extending selection
+// to new caret position.
+#define wxSTC_CMD_WORDPARTLEFTEXTEND 2391
+
+// Move to the change next in capitalisation.
+#define wxSTC_CMD_WORDPARTRIGHT 2392
+
+// Move to the next change in capitalisation extending selection
+// to new caret position.
+#define wxSTC_CMD_WORDPARTRIGHTEXTEND 2393
+
+// Delete back from the current position to the start of the line.
+#define wxSTC_CMD_DELLINELEFT 2395
+
+// Delete forwards from the current position to the end of the line.
+#define wxSTC_CMD_DELLINERIGHT 2396
+
+
 // END of generated section
 //----------------------------------------------------------------------
 
@@ -880,8 +1007,11 @@
 class  WordList;
 struct SCNotification;
 
-
-extern const wxChar* wxSTCNameStr;
+#ifndef SWIG
+extern WXSTC_DECLSPEC const wxChar* wxSTCNameStr;
+class WXSTC_DECLSPEC wxStyledTextCtrl;
+class WXSTC_DECLSPEC wxStyledTextEvent;
+#endif
 
 //----------------------------------------------------------------------
 
@@ -1043,8 +1173,8 @@
     // Set the symbol used for a particular marker number,
     // and optionally the fore and background colours.
     void MarkerDefine(int markerNumber, int markerSymbol,
-                         const wxColour& foreground = wxNullColour,
-                         const wxColour& background = wxNullColour);
+                const wxColour& foreground = wxNullColour,
+                const wxColour& background = wxNullColour);
 
     // Set the foreground colour used for a particular marker number.
     void MarkerSetForeground(int markerNumber, const wxColour& fore);
@@ -1070,6 +1200,9 @@
     // Find the previous line before lineStart that includes a marker in mask.
     int MarkerPrevious(int lineStart, int markerMask);
 
+    // Define a marker from a bitmap
+    void MarkerDefineBitmap(int markerNumber, const wxBitmap& bmp);
+
     // Set a margin to be either numeric or symbolic.
     void SetMarginType(int margin, int marginType);
 
@@ -1291,6 +1424,19 @@
     // after the inserted text upon completion.
     bool AutoCompGetDropRestOfWord();
 
+    // Register an image for use in autocompletion lists.
+    void RegisterImage(int type, const wxBitmap& bmp);
+
+    // Clear all the registered images.
+    void ClearRegisteredImages();
+
+    // Retrieve the auto-completion list type-separator character.
+    int AutoCompGetTypeSeparator();
+
+    // Change the type-separator character in the string setting up an auto-completion list.
+    // Default is '?' but can be changed if items contain '?'.
+    void AutoCompSetTypeSeparator(int separatorCharacter);
+
     // Set the number of spaces used for one level of indentation.
     void SetIndent(int indentSize);
 
@@ -1379,14 +1525,14 @@
 
     // On Windows, will draw the document into a display context such as a printer.
     int FormatRange(bool   doDraw,
-                               int    startPos,
-                               int    endPos,
-                               wxDC*  draw,
-                               wxDC*  target,  // Why does it use two? Can they be the same?
-                               wxRect renderRect,
-                               wxRect pageRect);
-
-    // Retrieve the line at the top of the display.
+               int    startPos,
+               int    endPos,
+               wxDC*  draw,
+               wxDC*  target,  // Why does it use two? Can they be the same?
+               wxRect renderRect,
+               wxRect pageRect);
+
+    // Retrieve the display line at the top of the display.
     int GetFirstVisibleLine();
 
     // Retrieve the contents of a line.
@@ -1582,7 +1728,7 @@
     // Ensure a particular line is visible by expanding any header line hiding it.
     void EnsureVisible(int line);
 
-    // Set some debugging options for folding.
+    // Set some style options for folding.
     void SetFoldFlags(int flags);
 
     // Ensure a particular line is visible by expanding any header line hiding it.
@@ -1648,17 +1794,51 @@
     // Retrieve the height of a particular line of text in pixels.
     int TextHeight(int line);
 
+    // Show or hide the vertical scroll bar.
+    void SetUseVerticalScrollBar(bool show);
+
+    // Is the vertical scroll bar visible?
+    bool GetUseVerticalScrollBar();
+
+    // Append a string to the end of the document without changing the selection.
+    void AppendText(int length, const wxString& text);
+
+    // Is drawing done in two phases with backgrounds drawn before foregrounds?
+    bool GetTwoPhaseDraw();
+
+    // In twoPhaseDraw mode, drawing is performed in two phases, first the background
+    // and then the foreground. This avoids chopping off characters that overlap the next run.
+    void SetTwoPhaseDraw(bool twoPhase);
+
+    // Make the target range start and end be the same as the selection range start and end.
+    void TargetFromSelection();
+
+    // Join the lines in the target.
+    // This is an experimental feature and may be changed or removed.
+    void LinesJoin();
+
+    // Split the lines in the target into lines that are less wide than pixelWidth
+    // where possible.
+    void LinesSplit(int pixelWidth);
+
+    // Set the colours used as a chequerboard pattern in the fold margin
+    void SetFoldMarginColour(bool useSetting, const wxColour& back);
+    void SetFoldMarginHiColour(bool useSetting, const wxColour& fore);
+
+    // Duplicate the current line.
+    void LineDuplicate();
+
     // Move caret to first position on display line.
     void HomeDisplay();
 
-    // Move caret to first position on display line extending selection to 
+    // Move caret to first position on display line extending selection to
     // new caret position.
     void HomeDisplayExtend();
 
     // Move caret to last position on display line.
     void LineEndDisplay();
 
-    // Move caret to last position on display line extending selection to new 
+    // Move caret to last position on display line extending selection to new
     // caret position.
     void LineEndDisplayExtend();
 
@@ -1812,6 +1992,9 @@
     void SetXOffset(int newOffset);
     int GetXOffset();
 
+    // Set the last x chosen value to be the caret x position
+    void ChooseCaretX();
+
     // Set the way the caret is kept visible when going sideway.
     // The exclusion zone is given in pixels.
     void SetXCaretPolicy(int caretPolicy, int caretSlop);
@@ -1820,6 +2003,12 @@
     // The exclusion zone is given in lines.
     void SetYCaretPolicy(int caretPolicy, int caretSlop);
 
+    // Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE).
+    void SetPrintWrapMode(int mode);
+
+    // Is printing line wrapped.
+    int GetPrintWrapMode();
+
     // Start notifying the container of all key presses and commands.
     void StartRecord();
 
@@ -1940,6 +2129,7 @@
     void OnMouseMove(wxMouseEvent& evt);
     void OnMouseLeftUp(wxMouseEvent& evt);
     void OnMouseRightUp(wxMouseEvent& evt);
+    void OnMouseMiddleUp(wxMouseEvent& evt);
     void OnContextMenu(wxContextMenuEvent& evt);
     void OnMouseWheel(wxMouseEvent& evt);
     void OnChar(wxKeyEvent& evt);
@@ -1975,7 +2165,7 @@
 
 //----------------------------------------------------------------------
 
-// SWIG can't handle "#if" type of conditionals, onlu "#ifdef"
+// SWIG can't handle "#if" type of conditionals, only "#ifdef"
 #ifdef SWIG
 #define STC_USE_DND 1
 #else
diff --git a/wxPython/demo/data/wxPackage.html b/wxPython/demo/data/wxPackage.html
new file mode 100644
index 0000000000..5b2fb06588
--- /dev/null
+++ b/wxPython/demo/data/wxPackage.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+The wxPython wx Package
+
+
+
+
+
+
+
+

The wxPython wx Package

+

Or, how to survive the new wx namespace changes.

+ +++ + + + + + + + + + + + +
Author:Patrick K. O'Brien
Contact:pobrien@orbtech.com
Organization:Orbtech
Date:2003-05-08
Revision:1.1.2.4
+ +
+

Introduction

+

Big things sometimes come in small packages. This is certainly true +of the new wx package, which is being introduced in wxPython 2.4.1 as +a way to allow the "wx" prefix to be dropped from the names of all +wxPython classes, functions, and constants. This document should +answer all the questions you might have concerning the new wx package. +If not, feel free to contact the author. I hope you like the new wx +package as much as I do.

+
+
+

Why change anything?

+

This change is being made for a couple of reasons. The first reason +is to discourage the use of import *, which is a dangerous +technique that can create name conflicts and bloated namespaces.

+

The second reason is to remove what some perceive to be a "wart." For +example, the following code is rather ugly in that the "wx" prefix on +the wxFrame class name is no longer useful when you're using the wx +module prefix:

+
+from wxPython import wx
+
+class Frame(wx.wxFrame)
+
+

The new wx package allows you to write code like this, instead:

+
+import wx
+
+class Frame(wx.Frame)
+
+

The third reason is that the wxWindows project intends to do the same +thing (implement a new wx namespace and drop the "wx" prefix) and we +want wxPython to lead the way.

+
+
+

What does the new wx package do?

+

As a way of getting to this new syntax as quickly as possible, the +code in this new wx package was created. What it does is alter the +existing wx namespace dynamically. By making the changes on-the-fly +at runtime, we can try out the new syntax before any permanent changes +are made to the underlying class library. The downside of making +these changes at runtime is that there is a slight delay when you +import wx; the upside is that you can start using the new syntax +now.

+
+
+

Will any of this effect my existing code?

+

No. Your existing code will continue to work and be supported for +some time. It will be up to you to decide when to switch to the new +syntax. But all new documentation and code examples will use the new +syntax. So don't wait too long. You wouldn't want anyone calling you +old-fashioned, would you?

+
+
+

How does the new wx package work?

+

It's pretty simple, and pretty clever. The wx directory contains an +__init__.py file, making it a Python package. (In contrast, the +old wxPython.wx module is a module, not a package.) When you import +wx the code in the __init__.py file is executed, and that's +where all the magic takes place. Let's take a look at the code inside +the __init__.py file:

+
+"""wx package
+
+Provides a way to drop the wx prefix from wxPython objects."""
+
+__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
+__cvsid__ = "$Id$"
+__revision__ = "$Revision$"[11:-2]
+
+from wxPython import wx
+
+import types
+
+d_new = globals()
+d_old = wx.__dict__
+
+for old, obj in d_old.items():
+    if type(obj) is types.ModuleType or old.startswith('_'):
+        # Skip modules and private names.
+        continue
+    new = old
+    if old.startswith('EVT_'):
+        # Leave name unmodified; add to the new wx namespace.
+        d_new[new] = obj
+    elif old.startswith('wxEVT_'):
+        # Leave name unmodified; add to the new wx namespace.
+        d_new[new] = obj
+    else:
+        if old.startswith('wx'):
+            # Remove the 'wx' prefix.
+            new = old[2:]
+        # Add to the new wx package namespace.
+        d_new[new] = obj
+
+del d_new
+del d_old
+del new
+del obj
+del old
+del types
+
+del wx
+
+
+

Namespaces in Python are implemented as dictionaries. The dictionary +used to create the wx package's namespace is accessible using the +globals() function. The dictionary used to create the old +wxPython.wx module's namespace is wx.__dict__. Once we have these +two dictionaries, it's a simple matter of iterating through one, +changing the names, adding the renamed object to the other dictionary, +and cleaning up a few local variables and imported modules. Voila!

+
+
+

What about all the other modules, like grid, html, and stc?

+

There's more to wxPython than just the wx namespace. And we've got +those extra modules covered as well. For each of those modules (as +well as the lib package) we've got matching modules in the new wx +package. Let's take a look at a few of them.

+

Here is html.py:

+
+"""Provides a way to drop the wx prefix from wxPython objects."""
+
+__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
+__cvsid__ = "$Id$"
+__revision__ = "$Revision$"[11:-2]
+
+import wx
+from wx import prefix
+
+from wxPython import html
+prefix.rename(d_new=globals(), d_old=html.__dict__)
+del html
+
+del prefix
+del wx
+
+
+

And here is lib/dialogs.py:

+
+"""Provides a way to drop the wx prefix from wxPython objects."""
+
+__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
+__cvsid__ = "$Id$"
+__revision__ = "$Revision$"[11:-2]
+
+import wx
+from wx import prefix
+
+from wxPython.lib import dialogs
+prefix.rename(d_new=globals(), d_old=dialogs.__dict__)
+del dialogs
+
+del prefix
+del wx
+
+
+

As you can see, they both rely on the prefix.rename() function +defined in prefix.py:

+
+"""Renaming utility.
+
+Provides a way to drop the wx prefix from wxPython objects."""
+
+__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
+__cvsid__ = "$Id$"
+__revision__ = "$Revision$"[11:-2]
+
+import types
+
+def rename(d_new, d_old):
+    for old, obj in d_old.items():
+        if type(obj) is types.ModuleType or old.startswith('_'):
+            # Skip modules and private names.
+            continue
+##         mod = d_old['__name__']
+##         if hasattr(obj, '__module__') and not obj.__module__.startswith(mod):
+##             # Skip objects imported from other modules, except those
+##             # related to the current module, such as stc_.
+##             continue
+        new = old
+        if old.startswith('EVT_') or old.startswith('wxEVT_'):
+            # Leave these names unmodified.
+            pass 
+        elif old.startswith('wx'):
+            new = old[2:]
+        if new:
+            d_new[new] = d_old[old]
+
+
+

Again, the technique is very similar to the one used by the wx +package.

+
+
+

How do I use this new wx package?

+

The wx package is automatically created when you install wxPython +version 2.4.1 or higher. So all you have to do is:

+
+import wx
+
+
+
+

What are the issues with converting old code to use the new wx package?

+

Obviously, you need to change your import statements from:

+
+from wxPython import wx
+
+

or:

+
+from wxPython.wx import *
+
+

to:

+
+import wx
+
+

Then you need to refer to wx attributes without a "wx" prefix, such +as:

+
+class MyFrame(wx.Frame):
+
+

In most cases, existing code can be modified with a simple search and +replace.

+

One extra issue you might run into when converting existing code is +that the wx.__version__ attribute is no longer available, since the +new wx namespace doesn't include any private attributes from the old +wxPython.wx namespace. The solution is to use the wx.VERSION_STRING +attribute, which was introduced in wxPython 2.4.1.

+
+
+

Where can I find example programs using the new wx syntax?

+

Example programs are included in the wxPython/samples/wx_examples +directory, and are documented in the wxPythonExamples documentation +file. Also, all the code in the py package uses the new wx syntax. +You can learn more about these in the PyManual.

+
+
+ + + + diff --git a/wxPython/demo/demoMainLoop.py b/wxPython/demo/demoMainLoop.py index 3d66c2ae4c..73146d1d7d 100755 --- a/wxPython/demo/demoMainLoop.py +++ b/wxPython/demo/demoMainLoop.py @@ -9,48 +9,48 @@ in Python. This is not part of the demo framework. """ -from wxPython.wx import * +import wx # This module uses the new wx namespace import time #--------------------------------------------------------------------------- -class MyFrame(wxFrame): +class MyFrame(wx.Frame): def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, - wxPoint(100, 100), wxSize(160, 150)) + wx.Frame.__init__(self, parent, id, title, + wx.Point(100, 100), wx.Size(160, 150)) - EVT_SIZE(self, self.OnSize) - EVT_MOVE(self, self.OnMove) - EVT_CLOSE(self, self.OnCloseWindow) - EVT_IDLE(self, self.OnIdle) + wx.EVT_SIZE(self, self.OnSize) + wx.EVT_MOVE(self, self.OnMove) + wx.EVT_CLOSE(self, self.OnCloseWindow) + wx.EVT_IDLE(self, self.OnIdle) self.count = 0 - panel = wxPanel(self, -1) - wxStaticText(panel, -1, "Size:", - wxDLG_PNT(panel, wxPoint(4, 4)), wxDefaultSize) - wxStaticText(panel, -1, "Pos:", - wxDLG_PNT(panel, wxPoint(4, 16)), wxDefaultSize) + panel = wx.Panel(self, -1) + wx.StaticText(panel, -1, "Size:", + wx.DLG_PNT(panel, wx.Point(4, 4)), wx.DefaultSize) + wx.StaticText(panel, -1, "Pos:", + wx.DLG_PNT(panel, wx.Point(4, 16)), wx.DefaultSize) - wxStaticText(panel, -1, "Idle:", - wxDLG_PNT(panel, wxPoint(4, 28)), wxDefaultSize) + wx.StaticText(panel, -1, "Idle:", + wx.DLG_PNT(panel, wx.Point(4, 28)), wx.DefaultSize) - self.sizeCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(24, 4)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) + self.sizeCtrl = wx.TextCtrl(panel, -1, "", + wx.DLG_PNT(panel, wx.Point(24, 4)), + wx.DLG_SZE(panel, wx.Size(36, -1)), + wx.TE_READONLY) - self.posCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(24, 16)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) + self.posCtrl = wx.TextCtrl(panel, -1, "", + wx.DLG_PNT(panel, wx.Point(24, 16)), + wx.DLG_SZE(panel, wx.Size(36, -1)), + wx.TE_READONLY) - self.idleCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(24, 28)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) + self.idleCtrl = wx.TextCtrl(panel, -1, "", + wx.DLG_PNT(panel, wx.Point(24, 28)), + wx.DLG_SZE(panel, wx.Size(36, -1)), + wx.TE_READONLY) def OnCloseWindow(self, event): @@ -74,7 +74,7 @@ class MyFrame(wxFrame): #--------------------------------------------------------------------------- -class MyApp(wxApp): +class MyApp(wx.App): def MainLoop(self): # This outer loop determines when to exit the application, for # this example we let the main frame reset this flag when it diff --git a/wxPython/demo/encode_bitmaps.py b/wxPython/demo/encode_bitmaps.py index b3d027eb11..5cff6582ce 100644 --- a/wxPython/demo/encode_bitmaps.py +++ b/wxPython/demo/encode_bitmaps.py @@ -60,6 +60,7 @@ command_lines = [ "-a -u -n WizTest1 bmp_source/wiztest1.bmp images.py", "-a -u -n WizTest2 bmp_source/wiztest2.bmp images.py", + "-a -u -n Tux bmp_source/Tux.png images.py", " -u -c bmp_source/001.png throbImages.py", diff --git a/wxPython/demo/images.py b/wxPython/demo/images.py index 8e35d1c1f2..7cee82fd0a 100644 --- a/wxPython/demo/images.py +++ b/wxPython/demo/images.py @@ -1,5 +1,5 @@ #---------------------------------------------------------------------- -# This file was generated by encode_bitmaps.py +# This file was generated by C:\PROJECTS\wx\wxPython\demo\encode_bitmaps.py # from wxPython.wx import wxImageFromStream, wxBitmapFromImage from wxPython.wx import wxEmptyIcon @@ -4060,3 +4060,1318 @@ def getWizTest2Image(): stream = cStringIO.StringIO(getWizTest2Data()) return wxImageFromStream(stream) +#---------------------------------------------------------------------- +def getTuxData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01G\x00\x00\x01h\x08\x06\x00\ +\x00\x00\xc4\xb39\x88\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00 \ +\x00IDATx\x9c\xec\xbd{\x90[\xd7\x9d\xdf\xf9\xb9\xc0\x05\xee\x01\x1a\xdd\xb8\ +\r5\xbb\xd1\xad\x96\x08R4\t\xd2\xb4\xd4R\xf4h9\x9aq{\xec\x1d\xd3\xb3\xde\x0c\ +5\xebJ8\xb3\xceF\xf3\xaa\xd5&U\x1b\xa7\xb2\x95q6\x7f\xacg\xabRQ\xaa65N\xd5n\ +\x8dk\xaaR\xe3\xdd\xa8\x12M\xfe\xb0\x95\xa9YGI\x94X3\xf6jh\xd9\xb1h[\x96ZZ\ +\x99\x04%\x8a\x04)\xaa\x1b\xdd\x04\x81\x83\xe7\xdd?.\x0e\xfa\x02}\x01\\\xa0\ +\x1f\xecn\x9eO\x15\n\xc0}\x9c{.\xba\xf1\xc5\xefu\xce1l\xdbF\xa3\xd1h4\x9d\ +\x84\xeet\x074\x1a\x8df/\xa2\xc5Q\xa3\xd1h|\xd0\xe2\xa8\xd1h4>hq\xd4h4\x1a\ +\x1f\xb48j4\x1a\x8d\x0fZ\x1c5\x1a\x8d\xc6\x07-\x8e\x1a\x8dF\xe3\x83\x16G\x8d\ +F\xa3\xf1A\x8b\xa3F\xa3\xd1\xf8\xa0\xc5Q\xa3\xd1h|\xd0\xe2\xa8\xd1h4>hq\xd4h\ +4\x1a\x1f\xb48j4\x1a\x8d\x0fZ\x1c5\x1a\x8d\xc6\x07-\x8e\x1a\x8dF\xe3\x83\x16\ +G\x8dF\xa3\xf1A\x8b\xa3F\xa3\xd1\xf8\xa0\xc5Q\xa3\xd1h|\xd0\xe2\xa8\xd1h4>hq\ +\xd4h4\x1a\x1f\xb48j4\x1a\x8d\x0fZ\x1c5\x1a\x8d\xc6\x07-\x8e\x1a\x8dF\xe3\ +\x83\x16G\x8dF\xa3\xf1A\x8b\xa3F\xa3\xd1\xf8\xa0\xc5Q\xa3\xd1h|\xd0\xe2\xa8\ +\xd1h4>hq\xd4h4\x1a\x1f\xb48j4\x1a\x8d\x0fZ\x1c5\x1a\x8d\xc6\x07-\x8e\x1a\ +\x8dF\xe3\x83\x16G\x8dF\xa3\xf1A\x8b\xa3F\xa3\xd1\xf8\xa0\xc5Q\xa3\xd1h|\xd0\ +\xe2\xa8\xd1h4>\x98w\xba\x03\x9a\x83\xc1\xfaz\xd1Q\xaf\'&\x12\xc6\x9d\xec\ +\x8bF\xb3\x1dhq\xd4\xf4\xc5+z\xdbu\x8e\x16O\xcd~@\x8b\xa3f\x13\xa3\x08\xe2V\ +\xdb\xd7\x82\xa9\xd9khq\xd4\xb4\xd9iQ\x0crm-\x92\x9a\xbd\x82\x16\xc7\xbb\x9c\ +;)\x88~\xe8\xd8\xa5f\xaf\xa0\xc5\xf1.e\xaf\x89\xa2\x1f\xda\x9a\xd4\xdcIt)\ +\xcf]\xc8~\x10F/\xeb\xebEg\xbf\xf5Y\xb3\xff\xd1\x96\xe3]\xc4~\x17\x18mIjv\ +\x13m9\xde%\xecwa\x14\x9e\x9fqmIjv\x03-\x8ew\x01\x07AHd\xbdS \xe1`\xdc\x97f\ +\xefb\xd8\xb6}\xa7\xfb\xa0\xd9!\xee&\xf1\xd0\xae\xb6f\xbb\xd1\x96\xe3\x01e\ +\xbf\n\xa307\x1e\xc3\xb0_\xefW\xb3w\xd1\t\x99\x03\xc8~\x14\x8ax\\ \x84\x85\ +\x10\x02\x00)%!Y\x01\xa0T\x92\x81\xdaX_/:\xda\x82\xd4l\x17Z\x1c5w\x1c\xaf0\n\ +\x11\xeb\x10H)\xcb\x08a!e\x85fU"\xeb\xfd\xdbr\x7f\x18>\xce\xc4\xc4e-\x92\x9a\ +-\xa1\xc5\xf1\x80\xb1\xdf\xacF\xe5>{\x85Q=@\t\xa4\xfb(\x14V\t\x05\x12\xc9\ +\x9f\xb1\xbe\xfeqG\x0b\xa4f+\xe8\x84\xcc\x01b\xbf\t#lX\x8d\xb6=\x89\x10\x02\ +\xdb\xb6\x11B\x90H$\xa8V]\x05\xacV%\x85B\xa1-\x90\x85\xc2Z +R[\x90\x9a\xad\ +\xa0-\xc7\x03\xc2~\x15\xc6n\x940&\x12\t\x84\x10H)\xa9V\xdd\x98\xa3\x94\x1b\ +\xb1G)-X_\x1bhABb{;\xad\xb9k\xd0\xe2\xa8\xb9c4\xab\x92Pt\xc3\x85V\xcf\xd1\ +\xa8\xd9r\xad\xadV\xbcQ\x10\x8d\nVV\\\xeb\xd1\xb6\')\x14V\x01\x08\xc9J\xdf\ +\x84\x8dN\xd2hFE\x97\xf2\x1c\x00\xf6\xa3\xd5\x08\xb4\xad>)\xa5G\x18]!T\xae\ +\xb6\xebn\xbb\xc9\x1a%\x9a@G\xe2fP\xd9\xcf~\xfd|4w\x16-\x8e\x9a=\x81\x12\xc8\ +\r\xab1\xd6\xde\xa7^\xab}*.\t`\xdbI\xe2\x13I-\x90\x9amG\x8b\xe3>\xe7 |\xe9\ +\x95\xd0\r"\x1a\xdd8\xae[@C\xd1`mh4A\xd11G\xcd\x9e\xc0O U\x9d\xa3z],\x16\x07\ +\x9e\xa3\xe3\x8f\x9a\xedB[\x8e\xfb\x98\x83`5z\xe9\x16;)\xcbHY\xa1PX\xa3X,R,\ +\x16\xdb5\x8f\xa3r\xd0>3\xcd\xce\xa1-G\xcd\x1dC\x98 \x84\xd5~/\xa5$\x91H\xb4\ +\xea\x19\x0b\xed2\x9ej\xb5\xde!\x8c\xfd\xc4Q\x98\x04\xa8\x7f\xd4h\x06\xa3\ +\xc5q\x9frP- \xe5:{\x9f\xbbEQ\x95\xf1\x08\x11kY\x972\xf0\xf0B\xd0\xee\xb5&\ +\x18Z\x1c5w\x8cPT e\xa5]\xec\xad2\xd67o\xdeD\x08A\xa1P\x00\xf0\x15F\xb5\xdd}\ +v\'\xa8\xd0\x16\xa3f;\xd1\xe2\xa8\xb9\xa3t\xbb\xd5\xca\x9dV\xef\xdd\xe7r\x87\ +\x10\xaa\xa4\x8b0]\x81\r:k\x8f\x17m=j\x06\xa1\xc5q\x1frP\\j?Q\xf3\xc6\x13\ +\x95\x95({L]&\xeb@}\xf4\xe4\x8cF\xd3\x0f-\x8e\x9a;\x86*\xdcn\xbb\xc5]\x89\ +\x96\xd2\xc0\xb1\xd3[c}\xfd\xb0\x9e\xb9G\xd3\x13]\xca\xa3\xb9c\xc8\xba;\xbe\ +\x1a6\x04\x12\\Q\\Y\xd9Yat\xf9\xd9N_@\xb3\x8f\xd1\xe2\xb8\xcf8(.\xb5B\x8dliV\ +\xa5+\x88\xb2\xb2\xab\x89\x95\x83\xf6yj\xb6\x0f\xedVk\xee(\xddq\xc4Q\x92+\ +\x1a\xcdN\xa0-G\x8dF\xa3\xf1A\x8b\xa3\xe6\xaeG\xbb\xd6\x1a?\xb48j4\x1a\x8d\ +\x0fZ\x1c5\x1a\x8d\xc6\x07-\x8e\xfb\x08\xed\xfe\xed\x1c\xfa\xb3\xd5t\xa3\xc5\ +Q\xb3\'\x184\x93\xb7F\xb3\xdb\xe8\x7f\xc9\xbb\x085\x16\x19<\xc5\xd7w`\xb2\ +\x065\xad\x98\xf79>\x91$$+]c\xad\xfd\x87\rj4\xbb\x81\x16\xc7\x03\x8cW\x0c;\ +\xb6\x0b\x0bZ"\x14\x1ab\xaa\xaf\xed\xa2\xbd\xb0\x96\xe7Y\xae\xac\x91J%\x01\ +\xdakX\xabG>\x9f\'\x9f\xcfk\x91\xd4\xec*Z\x1c\x0f ~\xebA\xabePm;\xd9^{\xc5\ +\x9d\x16l\x95B\x01\x04\xbb+\x90~\xac\xac\xac\x01\xae\xc5h\xdbI\xd2\xe9Y\xa6\ +\xa6\xa6\x98\x9a\x9a\xc2\xb6mr\xb9K\xedc4\x9a\x9d&\x1ctq#\xcd\x9d\xa7R\xa9~u\ +\xd01\xc2\x04#\xec\xfe\xe65\xab\x92r\xa5N\xadV\xa7\xde\x84Z\xadN\xa3\xd1\xc0\ +4\xc3LM\x1dj\t\xcf!L\xd3\xa4R\xaba\x18\x06\xb5\xda\xd6\x15R\x98Po\x8e~~\xadV\ +\xe7\xd6\xad\xdbT*eB\xa10\x13\x13\x13\x1c=z\x14!b\xac\xad\xadR.W\x0672\x02\ +\x96\x15\xfd\xfd\x1diX\xb3/\xd1\x96\xe3\x01BY\x8c\xfd\xdcO\xb5\xafPX\xc3\xb6\ +\x93\xd8\xf6$\xe9t\x1a\x80|\xfe\xda\x96\\l\x15C\x0cr\xbe\x8a3\xaa\x1f\xe7Bam\ +S\xbf\xdd\xb1\xd6\xcb\x14\n\x05N\x9f>M:\x9d&\x939Bi\xfd\xc2\x8eX\xb9z\x8eG\ +\x8d\x17-\x8e\x07\x88\xa019u\\\xa9$)\x14\xd6\x90R\x92\xc9dZ\xf1\xbdk\xac\xdc\ +\xb8>\x92\xf8\x0c:\'\x1e\x17\xa4\xd3i\x8e\x1f\xcf\x92J\xd9m\x17_\xad0x\xe3\ +\xc6u~\xf4\xa3\x0b\\}/\xd7n\xabT\x92\xee{Y&\x9b=\x89m\xdb\xa4\xa6g\xb8z\xf5\ +\xfa\xf0\x1d\xd4h\x86@\x8b\xe3\x01G\x98\x90\x9a\x9e\xe9Xo\xc5\x1b\xb7+\x95$\ +\xf9|\x1e!D\xdb\x82\x94R"\xb7)\xb6\'L\x98\xbb?\xd3\xb2\xfa2mA\x14B`Y\x82\xc9\ +I\xbb}l6{\x92O|b\x81\xb7\xdf^\xe6\xc2\x85\x0b\xe4r9J%\xd7\x92Ub\x98\xcd\x9e$\ +\x9d\x9e\xddt\x1f\x1a\xcdv\xa3\xc5\xf1\x80\x92J\xb9\t\x8dS\xa7\xb2\xdc\x7f\ +\x7f\x86d\xd2\x15\xa1\xeb\xd7\xafq\xe5\xca\x07\xfc\xf0\x87?h\x0b\x8ekA\xae"\ +\x84\xc0\xb6ml{\xb2c9\x82A\xc4\xe3\xfeK\x15\xc4\xe3\x82L&\xc3\xa9SY&&ll\xdbF\ +\x88\rA\xb4,\xd1\xb1\x1c\xab\x12\xe8\x93\'\xb3,..\xf2\xe2\x8b/r\xfe\xfc\xf9\ +\x8eP@>\x9f\x1f\xa9\x8f\x1a\xcd\xb0hq<\x80\xcc\xcd\xcd\xf0\xe8\xa3\x8fq\xec\ +\xd81fg\xd3$\x93\xae0\x01\xcc\xce\xa6\x99\x99\x99e~\xfe^\xce\x9f\xff>\xcb\ +\xcb\xcb\xae\xebz\xf5:\x85\xc2Z\xdbz\x1c\x06?\x81J\xa5\x92d\xb3\'\xc9f\xb3mQ\ +\xb4,A<.:DQ\x95\xeb\x00\xc4\x84E,\xe6f\xd2S\x936\xb6\xfd\x0c\xd1\xa8\xe0/\ +\xfe\xe2\x15J%I\xa9$\xb9\xf8\xcer;V)\x84\xa5\xc5Q\xb3c\xe8l\xf5>"H\xb6znn\ +\x86\xa5\xa5Os\xfc\xf8q\xe6\xe7\xe7I$\x12n\x9cn\xd2&i\xdbLMMq\xef\\\x1a\x07\ +\x03\xdb\xb6\x89\xc7\x13\xac\xac|H\xb9\\\xa1V\xab\xb3\xbaZ\xc00\x1cL\xd3\x0c\ +\x94\x15\xf6\xcbL\xa7RI\x1e\x7f\xfcI\x8e\x1c\xc9tX\x8b\x89D\x02\xd34\xdb\x82\ +\x98H$\x18O\x8cQ\xaf7\x88\t\x8b\xa4=I\xd84\t\x9b&c\x89\x04\xd1\x88Iz6M\xa9$Y\ +Y\xf9\x10\xa7\xe6N\x84[.W\xa8\x95o\x13\xb1\xc4\xb6e\xd8\x15:c\xadQh\xcb\xf1\ +\x00\x11\x8f\x0b\x1e|\xf0a2\x99\x0c\x93\x93v\xdbMNM\xdaD-\xf7G\xb0Zq-\xad#\ +\x99\xc3T*\xb2m\xb5\xbd\xf6\xda_v\xd4\x19\x8eJ*\x95da\xe1a\xe6\xe6\xd2\xd8\ +\xb6\xcd\xec\xack\x89&\x93v\x87\x95\x08\x1b\x96\xa2\xb2\x16\xd5~\xefR\xacB\ +\x08\x9e|r\x91\x1b7\xf2\xe4r\x97\xda\xb1PY\x878h\xebQ\xb3chq<@\xa4\xd3iN\x9d\ +\xcabY\x1b\xae\xab\x12\xc6n\x0f\xa1\\.\xb7\xe3\x90\x8f<\xb2@\xb5*\xb9p\xe1uJ\ +\xebnIM<.\xda\xa59\xfd\xe8\xde\x9fN\xcf\xb6\x12/v\x87K\x1fk\x8d\xc8QB\xa8\ +\xc4Z\xd1\xdd\xbfjER.\xbbY\xecx\\\xb0\xb8\xf8\x04\xf9\xfc5\x84\xb9\xb1\xb6Li\ +}\xcdw\x04\x90F\xb3\x1dhq< \xc4\xe3\x82\xd3\xa7O#\x84\x1b\xd7S\xee\xac\x17)e\ +\xdbr\x8c\xc5b-+\xcduy\x17\x17\x17\xc9\xe5r\xae\xd5X\x97#Yc\xa9T\x92S\xa7\ +\xb2\x08a\x91L\xda$\x936\xb3\xe9\x19\x92\xf6\xa4+\x901\xb7?\x96\xb5\x11oT\ +\xfdR\x16#\xd0Z\xbbZ\xb4\xc5\x11\xdc!\x85\x8f>\xfa\x18/\xbf\xfcr{9V\xbd4\xab\ +f\'\xd1\xe2x@\xb0\xed$SSSX\x96h[\x841a\x11\xb5D[\x98,\x8f\xb5V\xa9H\x0eg2\\\ +\xbb\x96g\xad\xb0\xca\xb5\xfcu\x1eyd\x81?{\xf1\xc5\x91\xfb\x90\xcd\x9e\xe4\ +\xfe\xfb3\xcc\xce\xa69|\xd8-\xdfQ\xd6\xa3\x12B\xbf\xa1\x8d^J%\xc9\xdc\\\x9a\ +\x95\x95\x02kk\x05\x96\xdfz\x0b)%\xab\xab\x05\xa6\xa6\xa6H\xa7\xd3\\\xbc\x98\ +\x1b\xb9\x8f\x83\xd0\x85\xe0\x1a\x85\x16\xc7\x03\x800!\x939\x82m\xdbLNnXkJ\ +\x98R)\xdb\xf7\xbcRIr\xe4H\x86RIr\xfd\xba["\xf3\xea\xab\x7f9R\x81\xb5\xdb\ +\x87\x0c\xd9l\x96\xd9\xf4\x0c\xd9\x93\'\x99\x99I\x0f\x14\xc3n\xd4\xf1B\x08R)\ +\xb7\x04iyy\xb9mU\x1e?\x9e\xed(\x12\xd7hv\n-\x8e\x07\x84\xb99\xd7J;u2\xcb\ +\xe1L\xa6C\x98T\x0cQ=+\xd4\xebx\\p\xe4H\x06\xcb\x12<\xfa\xe8c\xfc\xe9\x9f\ +\xfe\xd9\xd0\xd7OM\xcfp\xe2D\x96\xa3G2\x9b\xae\xef\xc7\xd5\xaby~|\xe1u.\xe5.\ +c\xdb6\x0b\x0b\x0bd2\x99\x8e>\x95J\x92T\xca\xe6\x93\x9f\\\xc4\xb6m.\\\xb8\ +\x80\x94\x92\x9f\xfc\xe4u=BF\xb3\xe3hq<\x00\x84\xa2\x82\xe9\xe9\x19\x0e\x1f\ +\xcep\xfcD\xb6U\xa2\xe3\x8a\x8b\x94\xb2\x15Kt\xe3zj\x98\xa0\x9fp\xd9\xb6\xcd\ +\x17\xbe\xf0\x05\xfe\xc3\xb7\xfflh\xcb\xcc\xb6\'9r$\xc3D\xd2n\xd73\xfa\xb1\ +\xb2R\xe0\x85\x17^\xe0\x1b\xdf\xf8\x06\xb9\xdc\xa5vR%\x9dN\xb3\xb4\xb4\xc4\ +\x97\xbf\xfceN\x9d\xca\x02\x9d.\xf8\xa9S\xee}I)I\xa7g\xb58jv\x1c-\x8e\x07\ +\x00\xdbN23\xb3\x91%V\xa2\x92\xcb\xe5x\xee\xb9\xe78\x7f\xfe|{\x04L&s\x84g\ +\x9f}\x963g\xcelr\xb7\xe3q\xc1\xc2\xc2\x02s\xf7g\xfa\xc6\xf5\xfc\xb2\xd8\xde\ +\xe2q!6[\xa9\xe0\n\xe3s\xcf=\xc77\xbe\xf1\xc7\xed\xb2!7y\xe4\xce\xe3\xf8\xd2\ +K\xff\x8e\xe5\xe5e\xfe\xe1W~\x8f\xcf\xff\xca\xe7}\xee\xd3M\x1c\xbd\xf2\xca+\ +\xed\xe2u\x8df\xa7\xd0\xcb$\x1c\x00\x84\x88q\xe4H\xa6\xc3-\xbdz5\xcf\xb3\xcf\ +>\xcb\xbf\xfaW/p\xf1\xa2\x9b\x85\x16"F>\x9f\xe7\xcb_\xfe\xbb|\xedk_ce\xa5\ +\xb0\xa9\xadL&\xc3\xf1\xe3\xd9\x9e\xd7\x8a\xc7\x85o\xf9L4\xda9\xea\xa5[\x18K\ +%\xc9\x1f\xfe\xe1\xd7\xf9\xfa\xd7\xbf\xde1&:\x9b\xcdr\xee\xdc\xafs\xf6\xecY\ +\x1e|\xf0a\xf2\xf9<\xbf\xf7\x95\x7f\xc87\xbf\xf9\xe2&\xf1S\xc3\x11\x1f~x\xa1\ +c\xc6p\x8df\'\xd0\xe2x\x00P\x93:(\x8b\xadT\x92|\xfd\xeb_\xe7\xd5W\xcf\x03\ +\xae\xa5\xb7\xb0\xb0\xc0\xd9\xb3gYZZ"\x9b=\xc9\x0b/\xbc\xc0\x0b/\xbc\xb0I\ +\x80\x84\x10<\xf2\xc8\x82;\xa5X\\\xb4\xeb\x1d\xbb\xe9\xde\x16\x8d\x9a\xed\ +\xf3\xbb)\x95$\xaf}\xff<\xff\xfc\x9f\xffA\xc7\xf5\x84I;\xd1\x92\xc9d\xf8\xcc\ +g\x96XZZBJ\xc9s\xcf=\xd7\x9ex\xc2K<.\xc8\x9e8\xe1{\x1d\x8df;\xd1\xe2\xb8\xaf\ +\xf8\xb8\xef\xd6\xa9\xa9\xa9\x8eR\x99B\xa1\xc0\x8b\x9e\x92\x1cYwEH\x95\xd8d\ +\xb3Y\x84\x10<\xf7\xdc?ayy\xb9\xa3-5\xad\x98\xd7m\xf6Z\x8aBX\x08au\xec\x17&$\ +\x12\x89\x9e\xbd\x96R\xf2\xbf\xff\xb3\xafm\x9aEG\xd6]\xd7\xff\xfc\xf9\xf3\ +\xe4r9\x00N\x9e\xccr\xfa\xf4i\x96\x97\x97\xf9\xda\xd7\xbe\xe6\xdb\xde\xe1\ +\xcc\x11l{r\xe8L\xb8F3\x0cZ\x1c\x0f\x00\xd5j\xbd\xa3\x88\xfa\xc7\x17^o\x8b\ +\x8d"\x9f\xbf\xc6\xeb\xaf_\xa0R\x91\xa4\xd3\xee\xd0\xbe\xabW\xaf\xf3\x8do\ +\xfcq\x87uV*Iw\xc8a*I\xb3*\xdbb\x98J%\x99\x9b\x9b!\x9d\x9e%\x9d\x9e%\x95J\ +\xb6\xadG%\x94\xb1\x1e\xae\xeeO~|\x81\xbf\xf8\x8bW|\xf7\x95J\x92W_=\xcf+\xaf\ +\xbc\xc2\xeaj\x81RI2?\x7f/\xcd\xaa\xe4\xfc\xf9\xf3\\\xbf\x9e\xdftN&\x93\xe1\ +\xd8\xb1c\xda\xb5\xd6\xec(Z\x1c\xf7\x15?\xf3\xdd\xaa\\Zp\xc5\xe6\xdf\xbd\xf4\ +\xd2&w\xf4\xea\xd5\xeb\xedzA)\xddB\xebx\\p\xfe\xfc\xf7)\x146\xc7\x1e\x01\xcf\ +\xec7\xa25\x9d\xd8,\xf7\xdf\xef\n\xd3SO\xfd\x02\x9f\xfc\xc5%\xe6\xe6f\x10&T\ +\xab\x92\xb2\xcf\x98\xecRI\xf2\xcdo}k`\xf2$\x9f\xbfF.\x97\xe3\xfa\xf5k\x08\ +\x11#>\x91l\x0b\xba\x1f\xc7\x8e\x1d\xdb\xd2\x18p\x8df\x10:[}\x00P.\xadJ\x84\ +\\\xbcx\xd9\xf7\xb8|\xfe\x1a\xef\xbe\xfb.\x89D\x82\xe9\xe9\x19l\xdb\x15\xa0w\ +\xde^fn\xae3\xdb\xac\xf0N\x00\xe1\x0e\xeb\x93\xed\xe9\xcf\xc0\x1d\x15\x93\ +\xb7\'\xa9V\xfdk\x7f\xa4\x94\\\xb8\xf0\xe3\xbe\xfdO\xa5\x92\xad\xe3.\x90N\ +\xa7[\x8fYr\xb9\x1co\xbd\xb5\xec\x9b\xf9\xced2}\xdb\xd4h\xb6\x8a\x16\xc7\x03\ +@\xb5\xda\xe9\x16\xaf\xaf\xfb[\x82\x85\xc2\x1a\xef\xbe\xfb.\xc7\x8e\x1dk\xaf\ +\x1f\xf3\xe6\x9b\xcb\xbc~\xe1\x02K\x9f^\x02\\1sE\xb0\xd3*\xeb\x9e\xe4A\x08\ +\x0b\xdb\x9e\x04 \x9f\xcf#\xa5\xe4\xf2\xe5\x1c\x99L\x06)7\xc4LJw\xa6q?\\Q\ +\xac\xb4\x8e\xab\x90\xcb\xe5\xc8\xe5r\xed\xe4\x12\xb8\x93\xf3\xfa\xa1\x132\ +\x9a\x9dF\x8b\xe3>bb"a\xac\xaf\x17\x9d\xee\xed\xd5j\xbd\xed.+\x178\x1e\x17\ +\x9b\x16\xcbjV\xdd\x19\xbf\x8b\xc5"\x17/^&\x9fw\x85\xe7\xd2\xa5K\x1d\xed-//\ +\xfb/\xb4U\xef\x14a\xb5\x84*\xb8\x02\xf9\xado\xbd\xc8\xe1\xc3\x1b\xd3\xa5\rJ\ +\x98\xa8\x04M\xb7\xcb\xad\xfa\xa5\xae\xe1\x15[\xd8\x98\xa8B\xa3\xd9It\xcc\ +\xf1\x80\xa1j\x01\x85\xb0|\xeb\x11\x95e\xe8\x8dS\xc2\x86@-//\xf3\xd2K/\x05\ +\x9a\nL-\xd0\xa5\xca\x87r\xb9K\\\xbe\x9c\xa3\\\xde\x10\xbbJe\xf8B\xed\x95\ +\x95\xb5\x8e\xcc\xb6\x16B\xcd\x9d@[\x8e\x07\x80b\xb1\xd8\x8e\r\x96Jn6\xba\ +\xb4\xbe\xb6\xc9\xf2\x93uZ\x93\xc5^jY\x9a\x1b.-\xa8\xa1}\xff\xda\x9d7\xd1\ +\x90\xdc3\x05\xa9q\x83d,D"\xde\xe0v=\x8cS\x85J3\x82\xacT\xa88\x0e \xb9]\x84\ +\x0f\x0bn1\xfa\xeb\xaf_\xe0\x89\'\x16\xdb\xd6\x9e\x9a!hT\xbc\xf1\xcd\x8e{\ +\x91ROt\xab\xd9Q\xb48\x1e\x00\n\x85\x02\xd5\xca\x86[\xfd\xe4\xe2\x13\xae\xe5\ +\xd7c\xae\xc3\x95\x95\xb5\x0e\xf1\x14\xc2\x82\xea\r^z\xe9U.\xfe\xe8\xff\xe2\ +\xccC\r\x1e|\x00\x8e\xde\x1f!.\\/>aY\x14+\rJ\xd4\x99\xb6L\x8a\x950%i\xb0^\ +\xadQ\xb8\x19\xe6Go\x87\xf8`\xf5}\x96\x97\xddYtfg\xd3\x9e,\xf7\xe8\xd3\x8ce\ +\xb3\xd9M\xee\xb9\x94\x92\xb5\xb5\xcdqQ\x8df;\xd1\xe2x\x00\xc8\xe7\xaf\xb1\ +\xb2\xba\x91\x84\xc9\x9e<\x89m\'\xfbZU^\xabR\xca\n\xdf\xfb\xceK\xdc\xfa\xd1\ +\xd7y\xe6\xb3M>6\xddD\xa4#\xc4\x85\x01\xb8S\x1b\x9a\xb2I]\x84(IW0\xc7\x08s\ +\x1b\x87\xc9\x90`\xb5\xd9\xe4\xf3\xbf\xe4\xf0\xf3k\x0e\xef]z\x8b\x1f\xbe\xf4\ +\x7f\x00p\xee\xdc9\x00\x96\x96\x96\xda\xa3u\x86A\x8d\xf5\xf6\xcbV\xaf\xae\ +\xfa\'\x9d4\x9a\xedB\xc7\x1c\x0f\x00j\xc9R\xc5\x91#\x19\xce\x9d\xfbu\xdfa\ +\x7f\xdd\xdc7\x05\xf6\xea\xbf\xa4\xf8\xd6\xdf\xe7\xe3G~\xce\x89\xfb\x1c\xa6\ +\xd3!\xa6\xec\x10S\xb1\x10\x93\xa1\x10\x86\x08Q\x17\x06c\x18-\xc1\x84\xdb\ +\xb8\x16e%\xea>\xc7\x85\xc1\'\x8e\x98\xfc\xf5_\x82\xdf{\xfam\xec\xc2\xb3\xfc\ +\x87\x17\xfeg\n\x85\x02g\xcf\x9e%56\xfc}\x9d;w\x8eG\x1eY\xe8\x10F7\xceY\xe0\ +\x8d7\xde\xd0.\xb5fG\xd1\xab\x0f\xee3\xfcV \xac\xd5\xea\x1c9r\x98\xd3\xa7?\ +\x81m\xdb\xd4juN\x9e\xcc\xf2\xe7\xdf\xfd\x1e\x86\xe1p\xeb\xd6\xedM\xed\x08\ +\x13>\x99\r\xf3\xbb\xff\xb5\xc9S\xc7\x1d\xc6\xac\x10\xb2\xe8\xd00C$\xa2\x0e\ +\xe3\xd1\x102\xec\xd0\x08CTB\x14\xa3-\x88\x00\xab\x850\x17s\r\xdey\xc7\xe0\ +\x83\x0f\xe0g\x17\r"M\x83\x90\x1d"iC&mrH\xfc\x98\xcb?\xfaC\x9c\xf0\x0ck\xb7\ +\xe1\'o\xe6\x02\xdf\xe7\xd1\xa3\x19\x9e{\xee\xb9\xf6\x02]\x8a[\xb7\x8a\\\xb9\ +r\x85?\xfa\xa3?\xc20\x9c@+$\x0e\x8b^\x81P\x03Z\x1c\xf7\x1d\xbd\x96g\x8dD"<\ +\xf5\xd4S\xd8\xb6\x8di\x9aLOOq\xcf=S\xbc\xf8\xe2\x8b\x9b\x04\xe4\xc4\x1c\xfc\ +\xad_\x80\xa7\xffj\x84\xd9I\xa8VC\xbc\x9dw\xb0\x0c\x83\xb9i\x87\xd8\x94A\xcc\ +0h\x84\xdd\xe3\xcb\xa6\x81iB\xdd\x0cA\xdd\x15H\x87&+\xe5&\x1f\xae\x86\xb9Yh\ +\x90{\xbf\xc9\xadr\x13;a\x12\x8f5\x89\x98\x06\x11\xd3`j\xd2!V\xfb.3\xd6eB\ +\xe1&\xab\x05X/\xf5\xbf\xc7\xa3G3\xfc\xf3\xaf\xfd\x01\xbf\xf8\x8b\xbf\xb0i_>\ +\x9f\xe7{\xdf\xfb\x1e/\xbe\xf8"\xeb\xeb\x9bE\x7f;\xd0\xe2\xa8\x01\x1ds<0\xe4\ +\xf3\xf9M\x05\xd4\xbf\xf6kg\xc9\xe7\xf3|\xe5+_i\xbb\xa0\x9f{0\xc4\x99\xc7M\ +\xe6S\x90\x18s\xb0BMnFC\xcc&\x0c\x8e=\xe0`\xcf\x1aL\x86:\xa3-1\x1c\xca\x18\ +\xee\xb3\x08\xe1\xc8&!\xcb\xe4\x81Yx`\xb6\xc9\xcd\x15\x8b\xeb7j j\x8c\xc7\ +\x1d\x0c\x11\x02\x01\xc8\r\x97\xfb\xf1l\x98\x8fgC\\\xbed\xf0\xa7\xaf\xd4\xf9\ +\x7f\xbe\xdf\xe0\xed\xab\x9b\xef\xe3\xd4\xa9,\xff\xf4\xb9\x7f\xc2\xa7\x96>\ +\xbdi\xdf\xcaJ\x81rY\xf2\xedoo\x1e\x1e\xb9\x9d\xe8ud4\xa0\xc5\xf1\xc0p\xf5\ +\xbd\x1c\x17.\\`aa\xa1\xa3\x00\xfb\x99g\x9e\xa1R\x91\xfc\xc1\x1f\xfc\x01\x9f\ +\x98\xfa\x90/~\xd2`:\xd9 \x1a\x0f!\x84\xc1D\x0c\xe6\x92\xd0\x889\x1c\x12\x9d\ +\xa2hHp|\x1c\x0bC\x84\x88\xe1@\xcc5-\xc7\xec&S)\x88\x8b(\x86p\x88\t\x101\x08\ +\x87\x8ep\xbb\x99\x03\xc0\xc1!\x8eA\xe6\xa4\xc1o\xcf\x86\xf8\x9bgB|\xf7\xc7\ +\xf0\xe7\xaf7x7\xefp\xcb8\xcc\x993\x9f\xe3\xd9g\xff\xc7\xf6L\xe0^VV\xdc\xa1\ +\x8b\xcb\xcb\xcb\xbc\xf6\xda_n\xef\x87\xa7\xd1\xf8\xa0\xc5\xf1\x80 \xebp\xe1\ +\xc2\x05\n\x85\x02\xb6m\xb73\xbc\xf1\xb8\xe0\x7f\xf8\xcd_\xe3P\xfd\x02\xe1\ +\xeb\xdfd\xc2\xda\x10F\xdbv\x98\x88\x87\x88Z`\xb5\x841\x1a2\xa86\x1d_QD\x18\ +\xc4\xba69\xa1)\x8c\xe6MbG\x0e\x03\x10\'F\xdd\xaa\xd0t\xae\x11"\x82\x00\xaaN\ +\x88(\r$\x06\x938L\xa6CH\x1b\xfe\x9bY\x87\xcf,\x85\xf9\xf0Z\x88\xe5+\xd7\x88\ +\xcd\x94\x90R\xb2\xb2R\xe8\x98\xa5\\Y\x89\x85B\x81\xe7\x9f\x7f~\xd3\xd4g\x1a\ +\xcdN\xa0\xc5\xf1\x00q\xe1\xc2\xeb\xed\xf9\x19\xdd\x89\x19\xdc5W~\xf8\xef\ +\xfe\x88\xb1\xd5o\x12K@8\xa2,\xc6\x061\xb1!\x8cJ\x14+Q\x07\xa3\xe5\xb1v[\x8e\ +e\t1\x01!\x8f\x85\xd94\x040\x0f@\xd4\nQ\xa7B\xd8\x98%\x14\x8aR\xb3*\xc0\xfd\ +\x98@8\x1e%\xda\xb8L\x13\x08Uk\x08\x1c\xe2F\x88\x92p\x88\x0b\x87C\xb3\x0e\ +\xd5\xd5\x17X{\xf5U~\xf0\xfac\x18\xa9O\x92\x98y\x90L&C\xa5")\x97\xdd)\xcc^~\ +\xf9\xe5]\xf8$5\x1a0z\x8d@\xd0\xecM\xfc\xc6V{\xf9\xa5_Z\xe2\xef}\xf9\xefr8s\ +\x84t:\xcd\xf9\x7f\xf3,\x95\xf7\xbeM,\n\xe1\x88\x83\x10\x06\x860\x98\x8e5pl\ +\xb74g\xacU\xcb\xe8\x08\xb0\xaaF[ \x950\x961\x88\xb5^{\x85\xd1\xb4\xc2`\xcc\ +\x02`DC8\xd5&F\xd4\xddor?\xd4\xaf\xd2t\xee!d|\xd4:\xe1\n\xd4\xdc\xe4P\xa3\ +\x15\x8f\xa4\xec>K\t\xd5B\x93u\xc0(8\x94\xa5\xc3\xb5\xd2,+\xd5y\x8aU\xc9\x8d\ +\xa2\xe0;\xaf\xfc\x80\x1f\xbc\x13\xd9\x95\x12\x1e\x1ds\xd4h\xcbq\xdf\xf1qz\ +\xcd\xeb\x08p\xfe\xfcy.\xe5\xce2\x93\x9e\xe5\xdb\xff\xe2\xcb\x8c\xad~\x9b\ +\xa8\xd1 \x1c\t1a9\x88X\x93\x90\x15"d\x19\x8c\x01\x16\x9d\x1aPm\xb6\xb2\xd1\ +\x1e\x8b1\x86\x03\x18\x94%\x8cy\xb6W\xab3D\xa3\xd7:\x04\x12Z\xc2\x08`\xce\ +\xb9\x85\xb4u\xc0\xf99\xb0yr\xdap\xe8\x08\x8d\xe6%\x84\x80\xf8d\x98\xa8\x05\ +\xd8\x0e%\xe90-\xafs\xbb|\x9d\xdbkM\xaeM\x18\xa4>\x19b\xcc\x94\xbc\xf2\xa6\ +\xd05\x8e\x9a\x1dG\x8b\xe3\xbe\xa3\xb70*\xfe\xf3\x9f~\x9d\xea\x9b\x7f\x9f\ +\xe9\xf101\xcbu\xa5\xadP\x93P\xeb\xafm\x19\x0e\x91\x90+\x8a\x15\xd9l\xc7\x1b\ +\xad\xaaAEt\x19\xa6\xc2\x15\xc5\x18\xb4\xadGhY\x8d\\\x07c\xb6m5FB\xd1\xd6N\ +\xf7\xa9Y\xab\x102>\xa2n\xd61\xb1\xdaV#@\xb8UL\x8e\xb8\x0c\xd2\xa0\x19\x8d@\ +\xb5\x86\x00\xc2\x93!\x84t\xa0\xec\x10\x950i\x8fc\xaf\xdf\xe2\xd8\x0cL\xa7\ +\xa2\x80\x16H\xcd\xce\xa3\xc5\xf1\x80q\x9f-y,\xf563"\x82\xd2\x1f+\xd4$\x16\ +\x83h\x94\x96\xd5\x88k\xa1\x01ua\xb4\xed\xb9js#\xde\xe8\x88\x96;\xcdF\x9c\ +\xb1)\x9b=\xaf\xebZ\x8dsP\xdf\xa8\xcf\tE,\xa8\x83Ik\xf4N\xa4S \xd5\xb60\x15\ +\xc2\x910Xaw\x7fk[\x03\x88\xc7>\x06\x93@\xec\x1d(\x8f\xb1\xf0\xb1[\x84\xabQ\ +\x8a\xa5\x1a?\xcci\x81\xd4\xec\x1cZ\x1c\x0f\x10\x0f\x1d1\xf8\xeb\x8f\xc1\xfd\ +s\x11&\xac\x06\xd0\xb2\x1a#\x06\x11\x00\x9c\x0e\xab\xb1\xee\x897\xc2\xe6\xb2\ +\x9d\x98\xd8H\xc24e\xb3\x1dol\x1as\xc0\xf5\xf6q\xa1\xda\x8c\xfb"\x02\x98s\ +\x1b\r\xd4}\n\x19#>\xeb\xbet\x8b\xa6\x12\xc8\x08P{\x97&\x8f\x13\x9f<\x8e\x11\ +\xaf\x01p\xec\x81[<\xf5P\x98K7$\xa5\x01\x05\xe5\x1a\xcd\xa8\xe8\xb1\xd5\x07\ +\x84\xfb\xa6\xe0o<\x15\xe2\xfe\xb9\x08\xa2\xe5\xdd\x86#a\xac\x90k\xed\x19Q\ +\x87\x980\x08Y\x1bb\xe8M\xc4\x80\xebVw\xe3\x97\x88\x89F[\xc2\xd8r\xa9\x9b\ +\x91\xeb\x9b\xce\x83\xd7\xdc\x04\x8cye\xf3.%\x84\xb5\xca\xc6\xeb\x88\xd5)\ +\x9c\xad}\xb5\xa6\x89!WpD\n\xc7\x8a &o\x13\x9d\x84\xec<\xcc\xda:g\xa2\xd99\ +\xb48\x1e\x00\x84\t\xa7\xe6B\xccO4\x11QZ\t\x980\xf1\x96\xf5(\xe2n\x1c1d\x19D\ +B\x1b.\xb5B\xb9\xd2j\x12\t\xf7$7\xd6\xe8G\xb5:\xd3~m\xd6M\x90\xcf\xb8.\xb4\ +\x97\xfa\xfc\xc6k%\x82\xea\xa1,E?A\x04jM\x93\xdb\xab\x0e\xef_\x84|\xae\xce\ +\x95\xab\xefRZ\xfb\xb9{\x0f\x15\x03\xd1\xd2S\xc3\xb4\x02M\xae1\n\x83\xaa\x02\ +4\x07\x1f\xedV\xef3\xfc\x96J8<\r\x9fz\xc8\x80\xb8I\xd4h\xb4\xb7[\x11\x83J\ +\xcd=4&:\x85\xd1\x12\xa1\xd6\x94c!*Q\x07\xabjP\x95\x9d\xc5\xdfcv\xcb\x8d\xf6\ +\xc4\x1a\xbd\x89\x18w\xc3\x1c\xa6\xf9\x9f\xdd\xe4K[\xe8^\xeb\xfc\xcf\xea\x16\ +N\xaf\xe5\xd8\xe5R7\xa4\xc3\xdaj\x8d\x9f\xbcU\xe5\xea\x95\x08\xa9\xf1&q\xe1\ +\xf0\xd8\x89\x12\xa5\xc9\x9b\xc4q\xc7f\xdf\xb8\xd5@Vj\x9b\x97r\xd0h\xb6\t-\ +\x8e\xfb\x9cx\\\x90\x99\xaa2?\xd1\xc4\xaa5\xc1\n\xb5\xad\xc6J\r&b\x06"\x14\ +\x01j\x1d\xe7\xdd\xc6a\x0c\xa3\x9d\x84\xa9\xe2\x11F5-Y\xa1\xb9\xa9\xe8\xbbZ\ +\x9d!j\xb9\xef#\xd1L{\xbb\x9b|\xb9\xea\x96\xec(1T\xe2\xa7\xf0\xba\xd0>\xc2x{\ +\xd5ae\xd5\xe0\xa7o\x97Y\xf9\xd0\xa2^\x03y\xcb\xe0\x01\xbb\xc9j\xe1\x16c\x15\ +\xa8\x02\x85\x82\xc1\xcaZ\x98\xf7\xd7\x12\x80\x1e-\xa3\xd9\x19\xb48\x1e\x00\ +\xee\xb9\'\x8c\x15\xa9\x13\x8aF\x80\x06\x8dZ\x03,\xd7r4\xa2\x0eF\xb4\xb6\xe9\ +\x9c1\x0c\xa2!\xa3\xedJ[U\x83\n\x9d\x9ed\xac+A\xd3\xb6\x1a\x99\xa5Zi\x126:3\ +\xcf\xcdH\x1d\xb3F\xa7\xcb\xec\x15\xc4nZ\xfb\xcae\x83\xa6l\xf2\xe7\xe7%\xeb\ +\xeb01\x01\xa9\xf1&\x87,\x83\xd9\xb4CY\xbab\\\xad\xc0\x9ac\x02\rV\nu\xa8ha\ +\xd4\xec\x1cZ\x1c\x0f\x00\xf3c5\xaaDQZ\x16\x8e\x84\x81F\xc71!\xcb\xe8p\xa9a\ +\xa3t\xc7+\x92\xe0?L\xb0\x8d1K\xd8\x98\xed\x10N\xd7\x9d~\x8dPw\x99\x8e\xd7r\ +\xf4Z\x8a\x9e\xe3\xcae\x83w\xdfj\xf0\xe37\xc0\xb4\xe0\xa8\x15&\x16\x82\xa8\ +\xdd$&\x0c\x9a\x15\xb0\x0chV\xa0f\x19\xc4\xa9s\xd5pX\x97a\xa0wi\xd1v\xa0g\ +\xe7\xb9\xbb\xd1\xe2x\x00\xa8G\xc2D\xa9A\xab`\x07\\\xabQ\xc4\x1dD(J\xb7K\r\ +\x1b\x82\xa82\xd4\xed\xe1\x82\xc2 &\xdd\x111\xde\xf2\x1d\xf7 7\xce\xd8p\xae\ +\xb5]\xeaf\xad\x02\xb5\xef\xba\xfb\xbbKr\xfcJt\xd4\xcb\xa6\xc9\xda\xf5\x1a\ +\xaf](\xf3\xde\xc50\xf7\xcf\x85\xb8/\x1e&\xda\xca\xb4\x87\xac\x10\xe0\xb4\ +\xb3\xeb\xcd\x8aC\xb3\xe2\xbe\x1fs\xdc}\xd2\x11\x80\xaes\xd4\xec\x0cZ\x1c\ +\xf79\xcd\xaa\xa4$CT[3\xe0D\xe3-Q1]KP\xb9\xd4\x91.#P\tcG\x86\x1a\xdc9\x18\ +\xc5fc\xc9\xb4\xc2T+Mb\xe2^\xf7\xba\xad\xd1/!|b\x8c\xdd%:]\x16e\xb9l\xf0\xfe\ +r\x9d\xd7~\xeaP\xbd\x1d\xe1\x91{\x9bL\xc4\x1c\x8c\x960\x8aP\x14\xc3\xa8\x11\ +\xb2\x0c\x9a\x95\xce\xfe5+\x0e"\xdc$d5\x10F\x8d\x9d.s\xd4\xd6\xe3\xdd\x8b\ +\x16\xc7}\x8e\xac\xc3[\xd7\x0cR6\x1c\x1a\x83y\x0c\x9c\x84\xc3\xb4g4L\xb70\ +\xc2FM\xa3U5\x08[Pr\x1c\x84\x00\xd9\xaa}\xf4\x8e\x88qc\x8d.\xcd\xc8uB\xb5\ +\x19\x1a\xce5\x9a\x91Pg\x8c\x116\ta\xad\xd2@\xfd\x9b\xd5+\rn\x17\x9a\xbcv\ +\xa1\xcc\xc5w\xe0\x81T\x94\xa9\xc3\xee\x9c\x92\xae\x9b\xae4h\xc3\xd2\xf5\n\ +\xa4S\x8d`Dk\x94\xcb\xb0r\x13Vvf"p\x8d\x06\xd0\xe2x \xf8\xc1;\x11\nk\x15\xd2\ +\xe3\x06\x891\xf8+\xc7\x0c\xe2\x9f0\xb8\xd7#\x8c\xde\xa9\xc9\x14m\xab\xb1\ +\xf5$%\xe0\x8d%\xb6\\\xeaz\xa5\x81i\x85\x89Z\xee\x18\xea\x06\xd7\x88Do\xf4\ +\xcc>\xd7\x9a&\xa1j\x8d\xaa\x13\xc2\xb4\xdc\xf3\x9b\xb2\xc9\x079\x83W\x7f\ +\xe4\xd0\xacF8\x9d6\x98L4\x111\xf7\xe2e\xe9\x16\xa9{\xf1Z\x8dN5\xd2>\xee\xcd\ +\x8fL~~\xb53\xa6\xeaG<.\xb0\xed$B\xc4(\x14V\xf5<\x90\x9a\xa1\xd0\xe2x\x00(\ +\x95$\xff\xdfuAz\xbc\xcaX\xd8\xe1\xe7W\x0cn\x16\x1d\x16\x1f68\x9619$:\x8b\ +\x01\xabM\x87h\xc8h[\x8d\x00%\x8b\xf6\xb2\x06\n\xaf\xc5\x08\x80s\x8d\x88\x15\ +nY\x83a\xdf\x98b\xadiR\xaf4P\xe3\x0b\xaak5>\xc8\x19\xbc\xf6S\x87\x95|\x8d\ +\xf9\x89&\xf3\xb3!&bn&]\x84\xa2\x9b\xb2\xe9\xde8#\xb8\xc2(\x9bc8\xd5\x02\xeb\ +e\xf8\xf6\xf7*\xbc_\x18\x1coL\xa7\xd3,--\x91N\xa7\xc9\xe5r\x9c?\x7f\x9e\xab\ +\xef\xe5\x86\xae\x8d\xd4\xae\xf5\xdd\x89\x16\xc7\x03B\xa9$\xc9\xdd\x84\x99\t\ +\x83d\xb4\x01%x\xe5\xcf\x9b\xbcw\xb5\xc9g\x1e\x0e\x11\x9d\x84C\xadc\x1d\x01\ +\x15\x1c\xe2\x86A\xc9i\xad\xf3R1(\t\xc3u\xa7\x8d\xb9V\x1e\xf8z{4L4z\xbd-\x8c\ +\x115A\x84\xa2C\x14]\x8bNY\x8a\xdf;\xdf\xe0\xcdK\r\x8e\x1f2x\xf0p\x98\xb1\ +\xf10\xe3\xe1f[\x18\xfd\xf0Z\x8c\xa5uX/W\xb1"\xae\x80\xbe\xfcf\x98\xf3\x17\ +\x13\x94J\x83\xad\xc0Ba\x15)]\x01\xcdd2\xd8v\x92\xf3\xe7\xbfO>\x7f\x8d\xabW\ +\xfd\x86jP\x93\x0eo\xbe]\xe6\xcd\x1f\x85\xf8O\xaf\x19\xfc\ +\xc5\x9f\xd71\xea\rN\xdd\x1b\xe2\xc4\x8c\xc3\xa1\x94\xc1\xc4\xb8\x83\xd5\xfa\ +W\xeb\xe5J7+\x0e\xcdr\x04Y\x9b\xa0\xb8.Y)\x86\xa8TO\xc0\xc4,\xeb\xd1ORO\xff2\ +\x99\xd3\x9f\xe1\xca\x95\x0f(\x14V\x07\xaeY\x1d\x8b\t\xc0\xc0\xb6m\x12\x89\ +\x04\x00cc\tb1\xc1\xfc\xfc\xbd\xcc\xcf\xdf\xc7\xf4t\x9a\xf5\xe2-\x1a\x8dF_\ +\xb1\xadT\xaa_\xd5\x02yw\xa1\xdd\xea\x03H\xde\xf8\xab<\xfeP\x1ay\xe3<\x8d\ +\x9b\x97)aP\xbbU\xe5\xcf\xbe\x13\xe2\xc4\xbd&\x1f;\xde\xe4\xde\xa4\xc3\xd4$4\ +\xec0\x08\x83\x90\xe3\xc6\x08C\\\xa5i\xccQ\x96\x1f\x10\x8d^\xa7.;\x13\x1fM\ +\xd9\xa4,\xe1\xda5\x87\x0f\x0b5\xd6.\x99|P\xac\xb2~;\xcaX\xa3\xc6}\x13p\xe2\ +\xa1\x08"\x1a&1\xe60a9X\xa6;+\x90B6\xab\xc40\xa88\x9e0\x9et\xdd\xe9j\xb5\x8a\ +l40\xc4a\x9a\x93\x8f16\xf9(Nl\x8a\x98Hc\xc8<\x8eH\xf3\xf4\xd3g\xf9\xc3?\xcc#\ +ee\xe0|\x8eRJ\xae^\xcd\x93N\xa7\x01\xa8T$\x96%\x98\x99\x99eff\x96JE\x92J\xd9\ +\xbc\xf2\xcaw\xf4\xdc\x90\x9a\x0e\xb48\x1e\x10\x84\xe9\xd6<\x16\n\x90H$H\x1d\ +=C\xe2\x81\xbf\xc2;\x7f\xf9\x7f2v\xeb}\x00\x92\x95&o\x7fP\xe7\xed\x0f\xdc\ +\xb5\xa4\xe7f\xe0\xfe9\x10\xc9\x06\xb1\xb8\xebW&\xa2\x16\x13\xb1\xcb\x84,\ +\x93+7\xca\x00\x94K!d\xa5\t2\xc2\xca\xad\x10+\xf9:7\x8b\xee\xf2\t\x99\x99\ +\x06s\x96\xc1\x03)\x88E#\x84#\x0eV\xa8A,\x06\x11\xdc\xa4\x8b\xe33\x15ZY:\xa8\ +4y\xb5\ne\xf7RT\x9b\'\xb1f\xef\xc7\x9c{\x1c\xcbZ\xc4\xb4\x04\xd5\x8a+Z\x8ep\ +\x05.{\xe2\x04KKK\xbc\xf8\xe2\xb7\xfa\n\xda\xca\xca\x1aR\xba\xd6\xe5\xdc\\\ +\x9a\xc3\x873\xed}\x95V\x9b\x96%H\xa7\xd3\xa4\xd3\xb3\x03\xe3\x90:1sw\xa1\ +\xc5\xf1\x00!\xeb\x90\x9a\xb08}\xfa4\x93v\x92X,\xcd\xf1\'\xff\x0e\x97\xff\ +\xfc\x1f\xe1T\x1b\x8cM\xc0\xf8T\x98\xe2\xad&\xb7\x8bM*+\xffg\x02\xd0\x00\x00\ + \x00IDAT\xf0\xeem\x08YM\xe2\xd1\x08\xa1h\x08)\xeb\xd4\xeb\rT\xada\xb1.H\x98\ +\xae\x90\x98f\x93\x19a0vO\x98\x8f\xcdBbL\x15P\xba\x85\xe7j\xc6qpg\x1dw\xaa\ +\xeek\x95|)\xcbZ\xa7\x05Yrg\r\xaa4C\xd4\x98AL\x9e \x9a\xfe<\x8d\xc9\xd34\x80\ +\xa8G\x18\xbd\xc4b1\x96\x96\x968\x7f\xfe\xfc\xc0\xf2\x9cRI\x92\xcf\xe7\xc9\ +\xe5rm\xeb\xd1\xb2\x04\x96%\xda\x02)\x84`z:\xcd\xdc\xdc\x0c\x85\xc2\x9a\xb6 \ +5\x80\x16\xc7\x03\x83\xac\xbb\xd6\xa3mO\xb2\xb0\xb0@\xac\xa5R\x13\xe9Op\xf8S\ +\xff\x98\x8b\xff\xefW\xa0\x0e\xb1f\x93\xc9{\xc2\x88Y\xb7L\xa7\xec@\xd4\n\x93\ +\x98hbMV(\x97B\x84*&M\xcb\xb5$C\x95:`\xb6\x86\xecm \xc2\xae\xbb\xed\x8a\xa02\ +\xa6<\xb3\x8aW!&"\x94\xa5+\xb2\xe5\x96\xd8z\x05\x11\xa0Q\x0b\xe1L|\x1cs\xe63\ +\x84\xe6>\x8b\xd9\nLv\xc7\xc2\xbd"\x19\xb5\x04\x93v\x92aV\xce\xcc\xe5rd\xb3\ +\'\x98\x99q\x87@*\xf7Zq\xeaT\x96T\xca\x1eX\xee\xa3\xad\xc7\xbb\x07-\x8e\x07\ +\x04aB(*\xb0m\x9b\xd4\xe4\x86h\x94\xcbe&\xd2\x9f\xe0\xd0\xb1\xdf`e\xf9O\x88\ +\xd7kH\xe9\x16|[\xadLq\xc2\x8a\x90\xb0\xc2\xccLG\x88\xc5\x1c\x1c\xd9D\xd5)\ +\x96Z\xb5\x8f\x15\x19\xc6)T\x11\xa1(\xb2Ym\xb7\xefT\x8d\xb65\xa8^+\xb1T\x96\ +\xa2S5\xa8\xe1\xd0\xaco\x08c\xb5\xd4\xc4\x88\xcfB\xfaQ\xe2\'\x9em\xb7W\xadH&\ +\x92\x1b\xfd\xf7\x8a\xa4\x12\xc8jE\x12\x8b\xc5\x98\x9a\x9a\n\xfc\xf9HY\xe6\ +\xc2\x85\x1f\xb3\xb8\x18#\xd9j\xdf+\x90B\xb8\xee\xb5m\xdb\\\xbc\x18\xb8Y\xcd\ +\x01F\x8b\xe3\x01\xc1\x15\xc6$B\x08\xca\xe5r\xdbr\x8c\xc5b\x94\xcbe\xee}\xe8\ +\xbf\xc3\xa9\xd5X\xfd\xf97\x89\x96k\x98\x11(\xd7!d\x86X\xa9\x00\x95\x06\xc9|\ +\x13\xd2&\xe0Z\x95\xa25qn\xb8\x0c\xa2Rk\xcd\x0e^\xed\xacOTk[\xb7,D%\x8c\x15e\ +y\xd5[\xefkPi\x1a\xd4k\'h\xd6\x96\t\xdd\xf3 \xe1\x99\xcf\x10\x9d\xfbl\xc7}D-\ +\x81\x94r\x93\xe5\xa8\xf6y-\xc8c\xc7\x8e\x11\x8f\xbb\xc7\xf5s\x85\x9bU\xc9\ +\xca\r\x89\x94\x92l6\x8b\x10\xa2-\x8a\x95\x8a\xbb=\x9f\xcfS,\x16)\x14\n\x08\ +\x93\xbe\x85\xe2\xdaz\xbc;\xd0\xe2x\x80\x10\xc2\x15\xc4\xb2\xac\xb4\xc5\x11h\ +\xbf\xbe\xef\xf4\x19\x00*?\xff\x13\xea50#P-7\xb1\xc2M\x8a\xeb\x11\n\x0e$c\ +\x10w\xeaDB\xee\xa8\x19Q\x81u\xe9N\x1b\xe6T#\x88\x90\x9bmV1\xc4n\xd6\xcb\x9d\ +\xa3lJ\x15w\xe2\xddR%L)\xea\x10O\xac!\xcd%\xc6\x0f\xff*Q\xfbx\xc7\xb1e\x95\ +\x95\xe9\xb8\'\x81\x10\xa2]\xcc\xedeaa\x01\xdbN\xb2r\xa3\x7f"E\t]HV\xb8y\xf3\ +&\xe9t\xba\xc3j\x94\xb2\xcc\xcaJ\x81w\xdeY&\x9f\xcf\x07\x1aA\xa3\x05\xf2\xe0\ +\xa3\xeb\x1c\xf7\x19\xbd\xd66\t;u\xc6\x936\xa6i\xf2\xd4SO\xb5j\xfc\\\xca\xe5\ +2\x91H\x04\xcc\x04\xc9T\x9a\xdbu\x81q\xfb-j\x15\x87j$\x82\xd1h\x12\xaa51Ca\ +\x1a\xc5:!\x1c\xa4t0K\x11\x8a\xe5:\x96\x13A\xd6\x1a\xd4\x9d\x06\xb5J\x13\x1a\ +\x06uO\xd5t\xa5\x0e\xa5\x8a\xd3\xb6\x16K\x950R:T\xab\x10\n\x87\xa85B4#\xd3D\ +\xad\x04\xa1\xd9s\x8c\x7f\xeco\x12\x16\xf7\x00`\xc8\xc3G\x91:\x1f,\xff)N\xb5A)\x1a\x81J\ +\x8d\xd5"\x94\xaba*M7\xf3,#5\xc0@\xe2>[\xad\xff\x16%\x82j}\x9aR%\xec\xce>\ +\x0e\xc8J\x13a\xb9\xcfc\tW\xec\xe2V\x83\xdb\xd6!BG~s\x93\xb5\xa8\xcas\x14QK\ +\xb4\xadE\x00\xdb\xb6\xdb\xafgf\xdc{\x8b\xc5\x04\xe5\xb2\xa4P(\xb0\xb4\xf4i^\ +z\xe9\xdfs\xf1bn\xe0g$\xeb\x90\xcb]"\x9f\xbf\x06@6{\x92hTp\xe3F\x9e\\\xee\ +\xd2\xd0\x13Sh\xeb\xf1`\xa3\xc5\xf1\x80\xd0\xacJ\xa4,\xf7\x8c\xd7)\xd7\xda\ +\x15\xc94\xa9\x87~\x87ft\x8a\x1b\xcb\xff\x82\xe2\xad\x06\x8e\x11\xa2\xbeZC\ +\xc6B4\xabM\x84\x15\xa2\xe47\xd7\x19\xae\xd8\xddj\r\x98\x91\x95&\x95Z\xa7\ +\xc9V\xa95I&\xdcs\xcd\xc8q\x8a\x93\xc7HL?E\xd3#\x8c\xaa\xa0\xdb\x1b\x1f\xf5\ +\n\xa3W\x14\xd5s<.\x88\xc7\x05\xa9\x94\xcd\xcaJ\x01)%\xe9t\x9a\xd3\xa7O\x93\ +\xcf\xe7\x03\x95\xe0\xb8\x02\xe8\x8a\xa0\xfa\xact\xf9\x8e\xc6\x0f-\x8e\xfb\ +\x88\xa0\xcb\x85\xfa\xc5\xe7\x14\xb1X\xac-LS\'\xcf\x12\x9d|\x80k\xff\xe5\x8f\ +Y\xfb\xe8m D\xa5\x04\xd52\x98\x91&1\xcb\xdfO]\xf1\xbc\xbeUtc\x97uO\xf8qj\xd2\ +}v&>Ns\xe63\xc4\xe7>\xbbiA\x83\x92\x93$\x06\x9b\x841\x9dNwX\x8e*\xe1\x02n\ +\xd2E\xbdW\xc7\x16\n\x05\xbe\xf8\xc5/\xf2\xbd\xef}\xd7\xfd\x81\x18b\xc6\x1d\ +\xafP\x8e\x8a\xb6\x1e\x0f.:\xe6\xb8O\x18$\x8c\xf5\xa6;\xb6\xda\xb6\'Y\\\\d|<\ +A\xd4\x12\x8c%\xdc\xb8\\\xa3\xe1Q\r3\x81!\xf3`&\xb0\x123\x8c\xdd\xf7\x8b$\ +\xc6\x92\xc85I\xa9\xfa!\x15\xc7\xc0i\x1a4jn\xdc\xb0\xdf\x03\xa0\xd9t\x05r,\ +\x0e\xd1\xf8\'\x89\xde\x93\xc6\xba\xef)bG\xbfDx\xf2\xc1\x8e~\xaa\xf8\xa7\x8a\ +/\xaa>&\x12\t\xa6\xa6\xa6\xda\xc2\x18\x8f\x0b"\x91\xce\xdfn\xef\xfbH\xc4$\ +\x1c6\xa9T$\x89D\x82\x9b7?\xe2\xad\x9f\xbd10\xee\xb8\x9d\xa4RI\x9cZ\x85pD\ +\xc7\x1e\x0f"\xdar< (\x8bJJ\xc9\xa4\x9ddz&\xbd\xe9\x18o\x19\x8c\xd7\xa5\x8d\ +\xc5b\xc4N\x9e\xe5\xd0\x91E\xde\x7f\xe3%n_\xff\t\xd5\xe2\xbbT\xaa\x9b\x9ahc\ +\x19M"\x89,Q\xa3\x8c\x11\xbe\x97\xa8\xf5!\xe1\xe9\x07I\x1c\xca\xb4\xcbs\xbcj\ +\xae\xacUo\xfc\xd3\xcf\x8dV\xc2\x18\xf4\x9egf\xd2X\x96\xe0\xec\xd9\xb3\xbc\ +\xf2\xcawX\xb9q}\xd7\xd6\xb2\x96\xb2B(*\xb4\xf5x@\xd1\xe2\xb8\x0f\x08\xeaN\ +\x03\xdc\x7f\x7f\x86\xa4=\x89m\xdb\xed\xe1q\xde8\xa4W \xbd\xe5>\xe0\n\xe6\ +\xfc\xa3\xcf`\xc8<\x1f\xac\x82s\xe3?Q+\xbcO\xb3\xb6\x8a\xd1tG\x968!7\x99\x11\ +\x8aL2n\x87\x89\x89q\xea\xc9\xbfJ\xd2>\xb4)\xb9\x02\x1b\xa2\xe8\x15\xe3\xa4\ +\xed\xfa\xddJ\x0cc\xb1\xce$\xcc0\xb8Bj\xf3\xf0\xc3\x0b\x9c9\xf3y^x\xe1\x05\ +\xa8\xefN\xfc\xb0T\x92\x08\xd3-\xc0\xd7\x1c<\x8ca\x86`i\xee\x0cA\xc4Q\x98p\ +\xf4x\x96\xaf\x7f\xfd\xebd\xb3Y`#\xf6X(\xb8\xc9\x0b)\xa5\xefX\xe5~\xa8\xda\ +\xc3p\xe5\xfdM\xfb\x1a\xd6}\x9b\x04V\xe1\x97pQt[\x8c\xe0f\xa5\x83Z\x8c\xbdx\ +\xe5;\xaf\xf0\xdf\xff\xad\xbf\xb5\xeb\x13\xd9\xc6\xe3\x82RI\xa2\xad\xc7\x83\ +\x85\xfe\xcd\xdb\xe3\x04\xb5\x1aCQ\xc1\xb3\xcf>\xcb\'?\xb9\xd8\x91yU\xa5/\ +\xfd\x924\n\xbf\x89\x1e\xda\xc2\x16;\xeesF\xef\xc9!\x94\x15\xe9M\xb8\x00\x9b\ +\xcat\xbc\xcf[\xe5\xc1\x87\x16XZ\xfa4/\xbe\xf8"\xd0\x7f\xd4\xccv"\x84\x85\ +\x10\x16++k\xda\xbd>@\xf8\xd7jh\xf6\x04\xc3\xb8\xd3\xbf\xf8\x8bK|\xfe\xf3\ +\xee\x08\x98n\x0b\xcc\xb2\x82\xb9\xacA\xad\xca\xa8g\xc2\x86\xees\x0c\x99\xdf\ +t\xac\xb2\x14U\\1\x16\xeb\x8c1\xfa\xf5y\x14R)\x9b\xdf\xfa\xcdg\xda\xb3\xef\ +\xc0\xee\xb8\xbcjZ\xb4\xed\xb8\x07\xcd\xdeA\x8b\xe3\x1eF}\xb1\x07}\xc1S\xa9$\ +\xbf\xf5[\xcf0\xe3I\xc2\xc4\xe3\x9b\x05I\x08\xd1!l\n\xbfm\xfd\xe8\'\xa2\xde\ +\xb8c/k\xd1+\xd6\xc3$`\x82\xf0\xf8\x13\x8b\x9c9\xf39\x84pW\x0e\xdb\x8d\xe4\ +\x8c\xb2P\x85\xb0\x86\xfaA\xd3\xecm\xb4[\xbdG\xa9\x96\x8aN|"IHV\xdc/\xfa\xfa\ +\x9a\xef\x17]\x98p\xee\xdc9\x16\x17\x177\xedS\xb10W\x88\\\xd7uu\xb5\xb0I\xdc\ +\x86\x8dC\x06\xc1o\xa4\x0b\xb0c\xa2\xa8\x88\xc7\x05\xbf\xf6\xf4\xd3\x9c?\xff\ +}\xa4\\\xde5\xd7\xba\xb4\xbeF|"\xb9+\xd7\xd2\xec\x0e\xdar\xdc\x83\xd4\xebuG\ +\r\x07\xb4m\xf7\x0b\x17\x9fH\xfaZ\x90\x8f<\xbe\xc83\xcf\xfcf_\xb1QV\xa4e\t&\ +\'\xed@\x96\xe2\xb0\xd6\xa4\x97\x89\xa4\xbd\xc9\x85\x86\r\x0b2\x95\xb2\xdb\ +\xc2\xbd\x13\xb8\xd6\xe3\x99\xf6g\xb7\x1b\xc8zK \xe3B[\x8f\x07\x04-\x8e{\x0c\ +\xf5\xc5r\x83\xfc\xde\xf1\xd2\x9b\x17\x93J\xa5\x92<\xf3\xcc3d2\x19\x84\xf0\ +\x17\x1b%\x98\xee\x02\xf7\xaeK\x1b$\x012\x8a5\xe9\x8d/\x82\xbb\xc0\x95\xd5\ +\x15o\xf4\x8a\xe2N\xc5\xe8\xe2q\xb7\xee1\x939\xe2\xfe0\xec\x92\x7f$\xeb\x1b.\ +\xb6\x16\xc8\xfd\x8fv\xab\xf7 \xcd\xaa\x84V\xcc\x0c6JrBQ\xd1\xae\xe1\x13&<\ +\xf5\xd4/\xf0\xe9O/\x01\xc1\x85FYs\xbd\xb2\xcc\xa3\xe2u\xa3\xbd\xa2\xe8\x97p\ +\xd9\xc9\xc4\x85\x12\xa7G\x1eY\xe0\xe9\xa7\xcf\xb2\xbc\xfc\x16\xa5\xaa\x1e7\ +\xad\x19\x1em9\xee!\x94\xb5!\xeb\xee\xb8\xdfB\xc1}\xa8U\xf6\xbc\x96\xe1\xd1\ +\xe3Y\xbe\xf4\xa5/\x91LnL\xd00\x08\xaf{m\xdb\xc1\xdc\xeb (7zr\xd2\xeeH\xb8t\ +\xbb\xfa\xbb\x11\xffS\x93S\x00\x9c={\x96tz\xb6=c\xd1n\xa3\xad\xc7\xfd\x8d\ +\x16\xc7=\x82\xdf\x17I\x89\x89w\xc2\x05p\xdd\xe93g\xce\xb0\xb4\xb4\xd4\x8e\ +\xdf\r\x837{\xbd\x15\xa2\x96`\xa2%\xce^Q\xb4m\x9bTj\xc3u\xf7\xba\xf6\xbb\xc9\ +\xccL\x9a3g\xce\xd0\xacJ=\x8aE34Z\x1c\xf7\x00\xfd,\x0c\xaf@\x82\xebNg\xb3\'9\ +{\xf6\xec\xc8\xc3\xed\xbc\xc9\x19\xefz-\xc3\x10mY\x9f\xcaZ\xec\x8e+\xaak\xdd\ +IT\xec1>\x91\xdc\xb5\xf1\xd6\xddh\xebq\xff\xa2\xc5q\x9f\x91\x9a\x9e\xe1s\x9f\ +;\xc3\xc2\xc2\xc2\x96\xc4\xc7\xb6m\x92I\x9bt:\xcd\xf4L\x9a\x89\xa4+\x94*\xa9\ +\xd2\x0be-\xce\xce\xa6\xdb\xb1E\xef\xdc\x8bA\xd6t\xd9M\x16\x16\x16x\xea\xa9_\ +\xb8\xa3\x96\xa3\x16\xc8\xfd\x89v6\xee0\xc3~q\x1e|\xf0a\x9e~\xfa\xec\x96\xae\ +\xe9\x15U\xef\x1a-\x95\x8a\xa4\\\x96\xbe\x13\xe6z3\xd0@G\xac\xd3O\xa4\xef\ +\xb4\xd5\xa8\x88\xc7\x05\xbf\xfb;\xbf\xcd\xcb/\xbf\xbck\x13Rh\x0e\x06Z\x1c\ +\xef \xc3\n\xe3\xa9SY~\xe37\xce\x91\xc9d\xb6E|\xbc\xeeo\xa9\xe4\x8a\xa2e\xc9\ +\xf6l>@\xc7\xda\xce\xdd\xd9\xe7\xeeX\xe8^\xe5\x89\xc5\'\xc9d2\xbc\xf9\xe6\ +\xf2\x1d\xeb\x83\x9e\xd6l\xff\xa1\xc5\xf1\x0e1\x8a\xab\xb5\xb0\xb0\xc0\xd2\ +\xd2\xd2\x8e\x8d,\xf1\xa3{*\xb1\xdd\xa8S\xdcnR)\x9b\xa5\xa5O\xddQq\x04-\x90\ +\xfb\r-\x8ew\x80Q\x84qnn\x86\xdf\xfa\xcdg\x98\x9b\xdb\xdeU\x17\x958\xee\xe6\x04\xb8\xc3\xa0\x05ro\xa1\xc5q\x87\xd8\ +\xea?\xba\x94e\x0e\x1f\xceP.\x97\xdb\xe3\x9ew\xd3r\xdc\xcd\xebl\x15%\x8ajmn\ +\xf5Z\xa1\xb6K)9z$\xe3n\xab\xef\xcd\xac\xb5\x16\xc8\xbd\x83\x16\xc7\x1d`\xbb\ +\xfe\xc1\x95\x05\xd4\xbd\xe6\xf4NZt~\xe5C\xf5\xfc\xc0\xb1c\x9c:\x99\xe5\x87\xff\xe5\x87\xdc\xbe\ +]\xa4V\xbbC+p\x05\xc4\xb2\xa2\xbf\x7f\xa7\xfbp\xb7\xa1-\xc7=\x84\x12\noL\xd1\ +k\r\xc6\x84E,\x16#jm\xc4\xfc\xd4\x9a.J\xc8\xfa\xfd\xd8\xf5\xb3\xf0\xbc\xe7*k\ +\xae{Y\x84\xed\xa0{b\x8bn\xf7X\xb9\xf0\xdeX\xa2\x12I\xef\xc2_\xdd\x8b\x80)\ +\x81\xec\xb6\x14\xfdPY\xec\xc7\x9fX\xe4\x9f>\xf7O\xf8\xbb_\xfe{\\\xbc\x98\ +\xeb{\xce\xdc\xdc\x0c\xb6=I\xa1\xb0\xea\x869V\xd6\x06^g;\xd1\xd6\xe3\xee\xa3\ +\xc5q\x8blgM\xa3\x101\xa4,w\xc4\xf4\xa4\xdcp\x9d\x950n\xbc\x17\xed\xb5\xa2\ +\xc1]\x0e\xa0;\xfe7\xcc\xf5\xbd\xe5.\xbb1\x1a\xc7;\x0bPw\xbd\xa2\x12I\xc0W(\ +\xfd\xac\xca~\xab&z\xcf_]-\xb4\xef\xf1\xf3\xbf\xf2y.\xe5.\xf3\xd5\xaf\xfe\ +\xaf=\x05/\x1e\x17d2G\x98\x9a\x9a\x02\xe0\xca\x95+\xd8v\x81|>\xbfo\n\xe55\ +\xc3\xa3\xdd\xea-R\xa9T\xbf\xba\x1d\xed\x84\x9d:\x11\xcbBJ\xc9\xf1\xe3\'9y2\ +\x8bi\x9a$\x12\tR\x936\xb1\x98\xbb$j"\x91h[\x96\x89D\x82D"\xd1vu\x01_w7(\xe5\ +\xb2l\xbb\x9d\xaa\xddQ\xdb\n\x8a\xd7\xd5\xaf\xd5\xdcp@8l"\x84\x1bb\xf0>\x1b\ +\xc6\x86\xa5\xac\xfeo\x95\xab\xef\xfd\x85\xf2\xba\xdc\xde\x87r\xb1\xd5}\xd5\ +\xebu\xc6\xc7\x13|\xfc\xe3\xa7\xc9\xe5.\xf3\xf6\xdb\xcb\xbe\xeeu\xadV\xe7\ +\xa3\x8fn211\x81mO06\x96 \x1e\x8fS\xaf\xd7\xa9T$a\xa7N\xbd\xb9\xa3\x1f\x13\ +\xe0\xfe\xafi\xf7z\xf7\xd0\xe2\xb8\x05\xb6\xb3Pw\xc2N\xb6\xe3\x85\x8f=\xf6\ +\x18\xc7\x8e\x1dC\x08Aj\xd2]Kz,\x91`r\xd2\x15G%\x8c\xa6i\xb6c\x86\xdd(\xd1\ +\xe9\xf5\xde\xefx\x15\xebS\x8fQ\xac\xc6A\xd7\xe9>\xc6{\xacw[$b\x12\x8b\tb1\ +\xc1\xf8\xb8+\x98\xea\x9e\x95X\xaa\xe3M\x8f\xe8\xd5\xeb\xf5v\xccQ=\xbcq\xc9p\ +\xeb\x18\xd5\x86\x12\xe4\xd3\xa7Os\xfe\xfcy\xde\x7f\xff\x8ao\x9f\x95@\x86\ +\xc3&\xeb\xeb\xeb\x08!\xda\xb1X#\x1c\xa6\xd1h\xec\x8aHjq\xdc=\xb48n\x81\xed\ +\xb2\x1a\x01\x8e\x1c9\xd2*\xf2\x9e\xe5\x0b_\xf8\x02\xb3\xe9\x19&\xc6\xc7\xdb\ +\xd6\xe2\xf8x\x82d\xd2\xfd2\xa6Rv\xdb\xd2\xea%Dj{w\x12\xc6+L\xdd"\xa5\xd6\ +\xacV\x024HL\xfd\xc4\xd7\xaf\xed^}\x0b\x8aJ\xe2(\xc1T\x96\xa5\xfa\xa1P}U\t-\ +\xd8\x10J\xa0m5v[\x90\xaa\x1f\xe1\xb0\xc9\xf4\xf4\x14G2\x19^\xfeO\xff\x91[\ +\xb7n\xfb\xf6\xa3V\xab\xb3\xfaa\x9e\xf7?\xc8\xb3\xb6\xb6\x8a\x101\xa6\xa6\ +\xa60\xcd\x08\xa6i\xd2p\x1c\x0c\xc3\xd8\xd1\xe4\x8e\xb6\x1ew\x0f-\x8e#\xb2\ +\x9dV\xa3\x1botc~_\xf8\xc2\x178}\xfa\x13maT\x16\x8a\x12\x02\x95\x85\x0e\xea>\ +\xf7\xcb(w\xef+\x97e\x87\xb8x3\xdc\xb0YL{Y\x80\xdd\xef\x83X\x93\xdd\x0cj[=\ +\x1c\x87M.\xb8:^\xfdo\xab?\x94\xb2$\xab\x15\x89\x83\x9b\xb9\x8eDZn\xb9\x03\ +\xf7\xce\xcf\x13\x89D\xf8\xeew^\xeei\x01\xaa\xed\xe5r\x85\xb5\xb5\x02\xa6i27\ +7\xcf\xf8x\x020Z\xee\xbfC\xb9\xbcs\xa3o\xb48\xee\x0eZ\x1cGd\x18\xabQ\x98\x10\ +m\xb9\x81~V\xc5\xa1C\xf7P\xaf\xd79v\xecc\x9c=\xfb4\xd3\x87\xa6\x98H\xda\x1dn\ +\xb4\xfa;\xf9\x89b/\x01\x1b\x16\xc7\xd9\x88\xe1\xf9]k\x98\xd2\x1d\xbf\xe3z\ +\xf5\xd3\xef\xf50m+\xab\xd1+\x94\xa6ib\xb4r\xbb\xea\xb3\xeb\xb6$\xeb\xf5\x8d\ +r"U\xd0~\xe2D\x96\xef\xff\xe0\x87\\\xba\x94\x1bx\xedZ\xad\xce\xed\xdbE\xd6\ +\xd6V\x99\x9a:D*5E\xa3Qo\x95D5v\xcc\x82\xd4\xe2\xb8;hq\x1c\x91\xa0\xe2\x18\ +\x8f\x0b&\xef\xb9\x87tz\x16p|]6\xd7\xea\x80\xb3g\x9f\xe6\xd1G\x1fe\xcc\x13WT\ +q\xad\xee\xd8\xe2\xa0\xb8\x9d\x1f\xfd\xe2\x90\xde\xfaC\xd5\xefQ\x85\xb6\xd7y\ +\xbd\xfa9\xa8\xffA\xc5\xdf\xcf\x9a\xf4\x8a$\xb0)y\xa3\xdco!\\q\x9d\x98H0u\ +\xcf=\xfc\xdb\x7f\xfbo\x03\x89[\xadV\xe7\xd6\xad\xdb\\\xbf\x9egr\xd2&\x9dN31\ +\x91l\'kvB \xb5k\xbd;hq\x1c\x91 \xe2\x98J%9v\xeccLM\x1dj\xcfr\xd3\xedn\xa9\ +\xa4\xc7\xe2\xe2\x93\x9c\xfb\x1b\x7f}S\xe2E\x15\\w3L\xd2\xa3\xfb\x1c?\xeb\ +\xcc+\xb4*\x96\x19D\x90\xfaY}[\xb1b\xfd\xfa\xdd\xfd\xba\xdf\xf1~"\xe9=\xb7^\ +\xaf\xb7\xddk)e\xdb\xbd\x8e\xc5\x04\xf7\xde{\x1fo\xbe\xf9\x06o\xbe\xb9\x1c\ +\xb8\x8f*a\x13\x8dF\x99\x9a\x9a"\x1e\x8fS,\xde\xa2V\xbe\xbd#I\x1a-\x8e;\x8f\ +\x16\xc7\x11\x08\x12o\x9c\x9b\x9b\xe1\xf4\xe9O \x84\xe0\xca\x95+\xdc\xbc\xf9\ +\xa1o\x1d\xdd\xa1C\xf7\x90H\x8c\xf3\xb7\xff\xf6\xdf\xe6\x81c\xc7Z\x01~\x13\ +\xdb\xb6;\xe2\x8b\xbd\xe8g\xa5\x05\xb1\xe0\xbcm\xf4ri\x07\xc5\x1e{\xb5\xdb\ +\xcfJ\xed\'\xa0\xc3f\xbc\xfb\xdd\xa7\x12I\x85\xd7\x8a\xf4\xfe\x11\x95\xf5\ +\x18\x0e\xbbV\xfa\xdc\xdc<\x7f\xf2\'/\x0ce\xf9\xa9\x84\x8dc\x84H\xa7\xd34\ +\x9b\x0e\xb7\xcb\xe5\x1d\x89?j\xebq\xe7\xd1\xe28\x02\x83\xacFa\xc2\xc9\x8f\ +\x7f\x82\xe9\xe9).]\xca\xf1\xce;\xef\xf6\xfc\x82\x8c\x8f\'x\xfc\xf1\xc7\xf8\ +\xd5_=\xcb\xf8x\xa2]\xbb\x08\x04\xb2\xc2\xfa\xed\x1f6&\xd8\xef\xf8a\xad\xb7\ +\xa0\xe7\x0f\x12\xdca\xda\xeb\x97AWVd\xbd^\xef\x10\xc8\xeea\x85\xca\xbdN\xa7\ +\xd3\xbc\xfb\xee\xbb\xfc\xf4\xa7o\x0cu\x9f\xf5&\xdc\xbe]$\x1a\x8d2=\x9d\xa6\ +\xd1h\xec\xd8\xf0D-\x8e;\x8b\x9e\xecv\x07\x98\xbb?\xc3\xd4\xd4\x14\x17/\xe6\ +\xc8\xe5r\x03\x8f\xffk\x7f\xed,\xe9t\x9a\x99\xd6\x12\xac\xde\x91#\x8aA\xab\ +\x02\xf6\xabI\x0c:\x8a\xe3N\x8e\xf6\xe8\x9e\xa0\xa2\xfbu\x90\xbe\x05\x99\x00\ +\xc3\xb6m\x92I\xb7\xa8\xbe{\xea5)\xddIr\xd5\xfa\xe0_\xfe\xf2\x97G\xae\xf5\\^\ +^\xe6\xbd\xf7r\xa4\xd3il;\xb9#\x93\xea\xea\tqw\x16-\x8e\xdb\x8c0]\xab#\x91H\ +\x90\xcf_\xeb\xfb\xa5\x16&<\xfa\xe8c\x9c9s\xa6=$p\xd0\x97q\x94\xa5S\xfd\xce\ +\xf1;\x7fP\xdb\xbd\xce\x0f\xf2z\x18\xfcD-\xe8=\x0cjW\x95M\xf9\t\xa4\x1aZ\xa8\ +\x86&f\xb3Y>\xfb\xd9\xcf\x0elW\x98\x9bg\x14/\x95$\x85\xc2*\x00\x99\xcc\x91=\ +\xbb$\x83\xa67Z\x1c\x87d\xd0\xafu|"\xc9\xd4\xd4\x14\xf9|\x9eB\xa1\xff\xe4\ +\x04\xf1\x89$_\xfc\xe2\x17I\xa5\xecM\xd6\xe2\xa0/~\xf7td\xfd\x96\x12\xf0\x9e\ +\xd3\xeb\xfc^\xc7\xf5\x1a\xab\x1d\xf4\xf5n\x08\xe7\xb0m{\x05R\r\xc5\xf4Z\x90\ +\x85B\xa1\x9d\xbd\xff\xdd\xdf\xf9\xed\x81V_(\xea\xaeG\x93J\xb9\x0f\xd5\xaf\ +\x95\x1b\xd7\xc9\xe5rLL\xd8\xa4\xd3\xb3{j\xadl\xcd`\xb48n3\xb6=\t\x10hR\x82\ +\xa7\x9e\xfa\x05\x96\x96\x96|\xf7\x05\xb1\x10\xfd\x84\xc2;\xd1\xacb\x90\x08\ +\x06\xbd\xc6(\x0c\x12\xd1\xedr\xe5\x87m[\t\xa4\x10\xa2\xc3\x82T\xf3Z^\xbf\ +\x9e\x07\xe0SK\x9f\xe6\x97\x7f\xe5\x0b\x03\xda\xb1\x80\x8dY\x8cl\xdb\x15\xc9\ +PT\x90\xcf\xe7\xb9q#O:\x9dn/\xec\xb5\x9dh\xd7z\xe7\xd0\xe2\xb8\x8d\xa4RI2\ +\x99\x0c7o\xde\xec\x1bkt\xb3\xa13\xfc\xee\xef\xfcv\xdb\x9d\xde\x8a\x80\xf9\ +\x1d?h[\xaf\xfdA\xae\x13\xc4\xed\x0eJ\x10\xebo\xd4\xeb\r\xba\xaf^.\xb6\x94\ +\xee\x94i\xcaz\xfc\xd2\x97\xbe\xe4k=z\'\x0c\xb6\xedI\x84\x88\xb5\x9f\xbd\x96\ +h.w\x89hT\x90\xc9d\x10\xc2\xda\xb3\x8bzi:\xd1\xe28\x04\xfd~\xa5\xddX\xe3l+\ +\xd6\xd8\xdfjlV%\xe7\xce\xfd:O,>\xb9)\xa6\xd6\x8b^\xfb\xfb]g\xabb\xd5\xab\ +\x9d^\x82\x1d\xa4\x8f\xc3Z\xc2\xc3\\/H\xdb~mt\xbb\xd8\xea\x07KY\x8f\x8b\x8b\ +\x8b\xcc\xdd\x9f\xf1mW\x08\xab-\x86\xb6m{\x1e\x93n"FXHY\xe1\x9dw\x96I\xa5\\\ +\xf7:\x14\xd5\xee\xf5~@\x8b\xe36\x11\x9fHr\xec\xd81\x8a\xc5"\xf9|\xbe\xef\ +\xb1\xa9\xe9\x19\xce\x9d;G*eo\xda7l2\xa4\x9f\xa8\x8e\x1a\x93\x0bz\x8d~\xe2\ +\x14$V9,\xa3\xfe\x80\x0c:&\x1e\x17\xa4R\xae0\xba\xd9e\xbb\x9d\xd5.\x95$ssi\ +\xce\x9e=\xdb\xb7]euv>6,\xc8Ba\x95\xabW]\xf7Z\xb9\xe1\xdb\x85v\xadw\x06-\x8e\ +\xdb\x800iO\x86:\xc8j\x8c\xc7\x05\xe7\xce\xfd:\xd9l\xb6\xe7~\xe8o%\r\xb2\xee\ +\x82$cz\x1d\x17\xf4\x1a\x83\xce\x19$T\xc3\xfe\x08\xec\xc6\xf9J \x958\xaaDY\ +\xa9$\xf9\x95\xcf\x9f\xf1\xbd\'o2\xc7\xfb\xec\x15H\x80\x95\x955\x8f{}D\'g\ +\xf6\x01Z\x1c\x03\xd2\xef\xd795=\xc3\xfc\xfc<\xeb\xeb\x05\xf2\xf9k}\xdb\xb1\ +\xed$\xe7\xce\x9d\x1bx\xbda\xbf<\xa3XgAb\x8d\xbd,\xc0Qj\'\x83\xb4\x15$\x1b\ +\xdd\xbd\xaf\xd7\xf6~\x96m\xafl\xbd\xaa\x1a\xe8n\xe7\xf8\x89,\x99L\xa6\xe3X\ +\xaf\x05\xa8\x84Q\x15\xf0o,\x10Vn\x1fW(\xacq\xe3F\x9e\xf9\xf9y\xd7\x82\xdc\ +\xc6\xd8\xa3\xb6\x1e\xb7\x1f-\x8e[D\xc5\x1a\xa7\xa6\xa6x\xf3\xcd\xe5\xbek\ +\x8b\xc4\xe3\x82\xb3g\xcf\x92\xcdf\xb7\xe4\xf2\x0es\\P\x86\x8d#\x06M\x14\x05\ +\x11\xedQ\xdd\xe1Q\xea\x1c\xfd\xde\x07ign.\xcd\xd2\xd2\xa7\xda\xe7m$c:\x93/\ +\xc5b\xb1\xfd\xda\xbb\x94\x830\xdd\xeb\xa8\x1f\xcft:\xadk\x1f\xf78Z\x1c\xb7H\ +|"\xc9\xf4t\x9a\\\xae\xffh\x98x\xdc\x8dg\x9d;\xf7\xeb\x9b\xac\x96\xa0\xd6N\ +\xd0Xc\x90\xf3\xb7\xda\xae\xf7\xf8\xad\xc43\x83\xf4\xb5\xd7\xb6Q\xc2\x0b~\ +\x04\xbd\xe7EO\x02\xcdM\xc4l\x14\x8f\xabg5\xc1\x88\xfb\xbc\xda\xda^A\xb6F\ +\x0f\x16\nk\xdc\xbcy\x93\xa9\xa9)7\xb3\xad3\xd7{\x16-\x8e\x01\xe8\xe7\xb2\ +\xd8\xf6$\xa9\x94M.\x97\xeb?\x1aFX\x9c={\x96\x85\x85\x05`4\xd7w\x181\xf0\xab\ +w\x0cZ\x04\x1e\xa4\xdda\xfa\xd8\xeb\xf8a\xe3\xaa\xc3d\xd2\x83\xf6e\x18\x16\ +\x16\x16\xb0\xed\rk\xaf[\x14\x950\xba\x8f\xd5\xd6\xfbNO\xa2T\x92\xe4r\x97H$\ +\x12\xa4\xd3\xe9m\xcd\\k\xd7z{\xd1\xe2\xb8\x05\xe2q\xb7vme\xa5\xc0\xd5\xf7r}\ +\x8f\xb3\xedI\xce\x9d;7\xb0\xfcd+\x99\xe4QDJ\xd5\xf2\x95Jr\xdb\xda\xed\xeec\ +\x90\x918A\xda\xf1\xdb\xd6\xaf\x8d\xa0\x02\x1f\xf4\xb8L&C&s\x04p\xadA\xf7\ +\xb9\x8c\x94e\xf2\xf9k\xe4\xf3\xd7(\x14V\xdb\xc2\xa8\x8e\xe9n\xa7PX\xa3X,\ +\x92\xcdfI\xa7\xd3=\xfb\xaf\xb9\xb3hq\xdc\x02\xeeH\x08\x9b\xf7\xde\xcb\xb5\ +\xdd\xa6n\xd4\x08\x8a\xa5\xa5%\xdf\x0cu\x908X\xd08`/\xfc\xda*\x95$++\xae\xfb\ +\xa7\x04r+\x96V\x10\x0bn\xbb\xea.\x83&\x86\x82\xd6M\x06\xfd!\x88\xc7\x05\x0b\ +\x0b\x0f\xb5\xdfKY\xa1PXk[\x88\xeaQZ_ceem\xd3\x0f\x8e\xb7\xcfo\xbc\xf1\x06BX\ +\xdb\x9e\x98\xd1l\x1fZ\x1c\x07\xd0\xcbUqc\x88\xb3\x00\x033\xd4B\x08\x9e>\xfb\ +\xabC%\x15\x82Xk\xa3\xc4\xd4\xbcE\xe7j4\x88\x1aK\x1c\xe4\x1a[\x89U\x06IB\r;\ +\x1af\xbb\x85\xb7\xd75\xd5\xeb\xc5\xc5\'\xdb\xef\xdb\x8f\xf55\x9a\xd5\x8d\ +\xf7\xbd~(\xbd\xb8\xc3\n\xaf\x03h\xd7z\x8f\xa2\xc5qDl;\xc9\xd1\xa3\x19\xae^\ +\xcd\xf7\xcdP\x03d\xb3\'yh\xe1\xe1\xf6\xfbQ\x13 AF\xaa\x0cS\xe7\xe7\xcd\xa6\ +\xf6\xbaNP+k\xd8\xebou4L\xbf\xf6\xfc\xce\x1f$\x9eAc\xa9\x0b\x0b\x0b\x9b\x8a\ +\xb8e\x9d@\x82\xe8\xa5Y\x95\\\xbd\x9agjjj\xb8\x135\xbb\x86\x16\xc7>\xf4\xfb\ +\x15N\xa7g\x89F\x05\xb9\xdc\xa5\x9e\xe7\x0bs#\x1137\xb7\x11[\x1a\xc6\x82\x1c\ +v\xa4J\xd0\xcc7l$\x14\xba\'<\x0e\x9a\x0c\x19\xd4\xc7\xad\xb8\xe9A\xaf\xd7\ +\xef\xfc u\x8dA\xf7+\xdc\t$f\x07\x1e7\x08Yw\xad\xc7h\xd4\xecH\xf2h\xf6\x0eZ\ +\x1cG\xc0M\xb0\xd8\xe4\xf3yVZ\xae\x91\xefq\x13I\xb2\xd9\x93=g\xde\xe9n\x13\ +\x86/W\x19\x86\xad\xb8\xa0A\xda\xed\xc5\xb0\xaer\xafc\xfc\xac\xd7~\x16\xe2\ +\xb0\xf1\xdc \x9fu*e\xb3\xb8\xb88\xb0\xdfA\x90\xb2L4\xea\x8e\xa2\xd9\xce\xcc\ +\xbav\xad\xb7\x07-\x8e#\xa0\xa6\x9f\xca\xe7\xf3=\xdd\xa9T*\x89\x10\x82\xa5\ +\xa5\xa5M#+\xfa\xb1]\xb1;\xbf\xf7\xde\xf3\x95\xd5X\xa9l\x16\x9c~\xe7\xf6\xdb\ +7\xeah\x98\xa0\xc9\xa7^\x16\xedVb\x9f\x83\x04\xd1o\xbf*\xc7\xda*\x85\xc2\x1a\ +\xd5\xaalMx\xb1\xbd\xe3\xad5[G\x8bc\x0fz\xfd\xfa\xaa\x99\xbe\x8b\xc5b\xdf\ +\xa2ow\x12\x83Y\xce\x9c9\x13H\x04F\x11#\x18\x9c]\x1d\xd4\x96e\x89Mn\xb5\xf7\ +\xdcA\x96[\xd0\xbe\xf4\xdb\xbeUW|\xbb\xeb\x19\xfb}n\xa5\x92\xe4\xd4\xc9\xcdU\ +\x07\xa3\xd0\xacJ\xaa\xd5:\xd3\xd3\xee\xf2\x18:k\xbd\xb7\xd0\xe2\x18\x10\xf5\ +\x8f\xabf\xfa.\x16\x8b}EKJI6\x9b\xed(\xdf\xe9W\x84\xdd\xcfr\x1b\xa5\xb6\xb0_\ +[AF\x9f\xf4\xeas\x90s\x86=f\x98\xf3\x82\xb67\xcaH\x99~mx\xb3\xfc\x873\x99m\ +\x11d\xe5uD\xa3f{\x82\n\xcd\xdeA\x8b\xa3\x0f~V\xa3\xfaGV\xe3\xa8\xfbY\x8d\ +\xca\xa5>s\xe6\x8c\xef\xb4d\x8a~\x16\xca(\x99\xe0a\xac5\x85\xb2\x1aw\xcab\ +\x0bb5\xfbm\x1b5k\xedw\\\x90X\xeb0\x16r2\xb9}np\xb5\xea\xfecIY\x1e:\xe3\xdd\ +\x0f\x1dw\xdc:Z\x1c\x03\xd0\xb6\x1a\xe3\xee\xf8h)\xe5\xc09\x1b3\x99#\x81\x12\ +1\xdd\x04\xb5 \xb7\x9a\xcd\xf5\x0e}\xf3Z\x93\xa3XY\xc3\x8e\x86\xf1\x13\xaba\ +\x85}\x14\xcb\xb0\xdbj\x1e5\xcb\xae&\xad\xd5\x1cl\xb48v1\xe8\x177\xc8L\xdfRV\ +XZZj\x97\xef\x8c\x1aO\x84\xd12\xc1A\xad5\x95\x8cQ#d\x82\x9c;\xc8\xc2\x1a&#\ +\x1e\xd4M\x0fZ\x838\xec5\x83X\xa1\xbd\xac\xdc\xfb{\xcc\x0c>*\xbdjN5w\x0e-\ +\x8e\x01P\xee\x8em\'\xdb\xe2\xd8\x0f!,~\xe9\xd3K\xed\xf7A-\x96~\x04\xb1\xc8\ +\xfa\xed\xf3\n\x88\xdf\x171h\x968\xa8\xb8\xf4+\xb7\trN\x90\xed~\xc7\x8dbQ\ +\x06Ixu\xff\xcdN\x9d\xda\x9e\xa4L4\xea\xba%j\x1c\xb6f\xef\xa0\xc5\xd1\xc3 \ +\xab\xd1\xb6\')\x16\x8b\\|g\xb9\xe71ss3d\xb3\'9~\xa2\xf3\xcb\xb3\xd5\x91%\ +\x83\xac\xa3aEAY\x8d\xfd\xfa4\x0c\xc3\nL\xaf\xf3\x86\xb1\xb2\x83Z\x94\x83\ +\xda\x19\xa6\xa4HmO&{\xc7\x925\x07\x03-\x8e\x01Q\xf1\xc6\x9b7o\x0e\x0c\x9c/,\ +<\xd4^\xa4\xa9\x1f\xfdb^\xc3Z\x8a\xc3Zt\x96\xd5\xdb\xa5\r\xf2:h\xbf\xfc\x8e\ +\x19T\xa8\xdd\xcf\xca\x1e\xc6\xea\x1e\xd6Z\x0fZ\x8aT*Ifg\xd3}\xaf\x1d\x94j\ +\xb5\xce\xcd\x9b7\xb7\xa5\xadntRfkhql1\xd8j\x0c\xe6R\x03,-}:P\x8da\x10\x11\ +\xdb\xce\x92\x16\xef\xfb~\x96\xe3\xa0\xd7\xa3\xd6k\xfa\xb59h\x7f\x90\xda\xcd\ +Q\xda\xd9*~\xb5\xa1\xa3P\xad\xeaX\xe3^E\x8bc\x00\xd4R\x08\xd1\xa8\xd9W\x1cS\ +\xa9$\xe9\xf4l\xc7\x88\x98 \x16KP\x8b,\xc8\xa8\x93\xa0\xd7\xf4\xa2\xa6-\x0bJ\ +P\xf1\xda\xc9:H\xbfs\x87\xbd\xde\xa8\xfd\x8b\xc7\x05\x93vr\xcbE\xdb\xf1\xb8 \ +\x1a\x15}gE\xd2\xdc9\xb48\x12\xdc\xfd(\x16%\xcd>\xbf\xf4RV\xb0m\xbbC\x1c\xb7\ +jA\x069\xae\xdb\xa2\x1b\xc6JR\xab\xe4m\xb7e\xe5\xd7\xaf~\xc7\x04aP\x1cp\xd8\ +\xcfz\x98Xc7I{2h\xb7{"\x84\xd5N\xc8h\xf6\x1ew\xbd8\x06\x11F\xef|{\x83\xe6\ +\xde\xcbfO\xf4-\xfc\x86\xfe%,[\xb1\xb6F\x11b\x95\xb9.\x95d\xcf~\x04u\xa3\x83\ +\xf4kPRf\x14\xa1\xda\xea\xe8\xa2QF\x01\xd9\xb6\xbd-\xf30\x16\x8b\xc5\xf6Z3\ +\x9a\xbd\xc5]/\x8eAP\xa3!\xa2Q\xb3\xaf\xe5h\xdb\xc9\xf6d\xa8^\x86\xa9e\xdc\ +\x8a5\xe3w\xcd\xa0_\xf6x|\xf3r\xa4A\xfa7l\xbd\xa1_\xdfG)\x15\xea\xc7(\xb5\ +\xa1\x83\xda\xea>\'\x16\x13[\x1e%c\xdb\x93$\x12\x89M\xeb\xcch\xf6\x06w\xb58\ +\x06u\xa7\xa5\xac \x84h\xafI\xecG<\xee\xae\x13\xa3\xc6R\x8fR\xcb\xd8\xdd\xde\ +\xa0\xf3G-\x9fY[+\xf8\xb65j\xdc\xb1\xdf\xbe \xe5;\xfd\xd8\xea\xf9~\xe7\xf4\ +\xea\xdf0\xa2\xde\x9d\xed\x1f\x85\xedJ\xea\xf4Cg\xacG\xe7\xae\x16\xc7 \xa8\ +\xa0\xbbr?{\xb9Rj=\x10\xb5`\xd2(\xb5\x8c\x83\xd8\x8e\xfa\xbc^t[\x8e\xc3\xf4u\ +\x94\xebm\xcc\xc8\x00\x00 \x00IDAT"\xeaa\xcf\xf7\x1e\xb7\xd5Q<\xbd\xda\x0f\ +\xf2Y\xa9}*V\xbb\x15l\xdb\xa6X,\xf6\xf5F4w\x8e\xbbV\x1c\x03[\x8d\xf5\r\xb7z\ +\xd0\x8c\xcd~+\xc9\xf5\xabe\xecu\xdcN\xd48\xf6\xb3\xf4T\xb6z\x94\xba\xcb\xee\ +c\x83\xf6};2\xef\xc3\x84\x01\x06\xf5\xaf\xbb\xdd 5\x92[\x9dIG\xad\xe1\xb3\ +\x9d\x13Nh\xb6\x8f\xbbR\x1cGq5\x82\x8c}\xf5\x13\xcf\xa0\xf1\xafa,\x98\xed.\ +\xfbP\xd9\xeaa\xeb.\x07\x8dP\xe9GP\x11\xdf\xee,\xfa0\x96\xf4N\xf5\x01\\\x8f$\ +\x95\xb2)\x14\nz\x1e\xc7=\xca])\x8e\xc3\xa2\\\xa8A\x96\x82\xdd\xa7\xbccXk\ +\xb0\xdf\xbe\xed\xfe\xb2v\xd79\x06\xb5\x12\xfb\xf5c\xabq\xc5a\x18%\\1l=\xa6\ +\x1f[q\xabCQ\xc1\xc4\x84\xad\'\x9c\xd8\xc3\xdcu\xe2\xb8\xbe~x\xe4\x00\xb5+\ +\x90\xfe\x19Jw\xe6\xeft\xcf/\xcc0\xf1\xac\xadn\x0f\xba_\xd1]\xe7\xb8\x1d\xe2\ +\x1b\xd4\xd2\xec\xbe\xde(\xa5>\xc3f\xfb\xfb]?\xc8ua\xeb1G\xdbN\xb6\x96\xc5]\ +\xd5n\xf5\x1e\xe5\xae\x13G\xf8\xd9PG\xab/N\xa1P\x18X\x8f\xe6\xfd\xb2l\xd5R\ +\x0c\x12\x93\x1b$\x04\x83b\x85^\x82\xd6\x1a\x06=\xaf\xbb\x8f\xbd\xfa\xdb\xeb\ +\xf8 \xb1\xda\xa0\x9f\xe5\xa0\xcf!H|\xd1\xefZ[\x11\xc7tz\xd6]\x83H\xcf\xc6\ +\xb3g\xb9\xab\xc4q\xd4\xb2\x06!bm\xb7\xba\xd7\x17B\x88Xk\xa1$w\xff0q\xc3abw\ +\xc3\xd4\t\xfa\xf5\xa3\x97\x1b\x17\xb4\xae\xb1\xfbu\xaf\xf3\x86\x15\xc0Qj9\ +\xbd\x04\xb5\x0e\x83\n\xf8N3=\x9d\x1e8/\xa8\xe6\xcerW\x89\xe3\xb0\xb8\xb5\ +\x8b\xee\x92\x07\xb6m#e\xb9g\\Q\x08A\xcc\xc7\xe5\x0eb\rnW\xec\xae\x1f\xea\ +\x1a^q\xf7.\xae\xb5\x1d\t\x8a\xed\x1c\x99\xe2\xd7\xe6V3\xe6\xea\xb8Q?\xd3\ +\xed\xfc[\xb8\xe3\xf4\xaf\xe9d\xcc\x1eF\x8bc\x0f\xe2q7\xbe\xd8\x9d\x84\xf1+\ +\xd7Q\xc4b\xfd\x136\xc3\x8cl\xe9w\xceV\n\xa3\x83X\x8e\xa32J\xb1\xfa0mnW\xc6|\ +\x98\x114\xfd\xc2\x18\xa3\xba\xd5j\xec\xbd\x94\x15\x1do\xdc\xc3hq\xf4A\x98nm\ +\xa3mO\xb6\xadF\xe5V\xf7Z\x83\xda\xb6m\xa2\x01GM\x0cS\xcb\xd7\xef\x98~\xf1\ +\xc5Q2\xb8\xc3\x9c?L,\xb2\x97K;\xaa\xc8\x0f\xb28\x83\xde\xfb\xa8\xb1\xc6\xad\ +\xfe\x90\xa4\xd3i\xae\\\xb9\xa2\x8b\xbf\xf78Z\x1c}\xf0\x8e\x82\x11\xc2-\xb9H\ +$\x12m\xa1\xec&\x95J\x92\xcdf7\xed\x0b\x9a\x94\tb\x1d\x06\xf9\x92\x0e\x137\ +\x1c\xd4\xafA\xe7\x0f\x12\xbc~\xfd\xf5;\xa6\xdfy\xc3Z\x9e\xa3&m\x86%:\xc2\ +\xc4\x13\xf1\xb8h\xcd\x0bzM[\x8d{\x9c\xbbF\x1c\x87I\xc6\x94JrS\x161\x1a5\x91\ +R\xba\xcbr\xf6\x88\x13u\xbb\xac\xc3XL\xdd\xecVb`\x18z\t\xdeVb\x8d\xbd\xb6\ +\x05ms\xab\xd9\xf4 \xed\xf5:o\x94\x89jm;I\xb5Z\xa7PX\xdb\x93\x7fc\xcd\x06w\ +\x8d8\x0eK\xa9\xe4.\xbf\x9a\xcb]\xe2\xc6\x8d<++\x05\n\x85\x82;\x92d\xa2\xf70\ +\xc2a-<\xef\xf5z\xf5c\xd01\xa3\xd2=\x1b\xf8\xa8\xd7\xdaJ\xacq\x98\x92\xa7~\ +\xf1\xc5 \xed\x0c\x93%\x1f$\xce\xa3\x14o\xc7\xe3\x82L\xe6\x08\xef\xbd\x97\ +\xeb\xdbg\xcd\xde@\x8bc\x1fJ%Ii}\x8d\\\xee\x12\x85B\x81\xabW\xf3\xac\xae\x16\ +F\x1a\t3\xe8\xd8 \xa5;\xbd2\xb2Ac\x85\xdd\xd7\xe8\x9eY&Hm\xe0(\xa2\x194\xcb\ +\x1c\xa4\xbdQ\xeaG\xfb\x1d\x1b\xe4s\xf7\xbb\xa6\x94\xfe\xab8\xf6CU>\xe4\xf3\ +\xd7\xb40\xee\x03\xb48\x0e@\xd6\xdd\xacb>\x7f\x8d\xf7\xde\xcb\x91\xcb\xe5|3\ +\xd6BXLN\xf6\x8e9\x06\xcd\xaa\x06\xfd\xd2\x04)\x8c\xee\xe7\xaa*\xfae\\\x83ZQ\ +\xdd\xc7\x04\xb1\xc6F\x19\t\xd3\xef\xfaA\xdb\x1d\xe6\xbc~\xd7\xacTd\xa0\xf5\ +\x84\xbcmd2GZ\xa2\xaa\x0b\xbf\xf7\x03Z\x1c\x03R(\xacQ(\xac\xb2\xb2R`n\xaeS\ +\x1c\x95\xc0\x94\xcbr\xa4\xd1\x1cAF\xc3\x8cbi\x0c\xb2\x1c\xd5\xac0\x83\xda\ +\x0f\xd2\xa7a\xad\xb1a\x8a\xd9\x87\xf9\x11\x19$\xe8\xdb%\xba\xab\xab\x05\xa4\ +,\xf7=\xc7\x8b[\x16&\x86\x12T\xcd\x9dE\x8bc\x00J%wb\x86Ba\xad\x1d/\x1a5\x98\ +\xee\xf7\xe5\x1cFL\x82\xc4&{\x9d\xd3\xcbr\x8c\xc7\x83\xaf!\xb3\x13\xa3IF\x11\ +\xfeab\x8d\xbd\xb6\x8f"\xba\nw\\t\xb0\x19\xbc\xe3qA:=K\xa1\xe0\n\xaaw|\xbe\ +\xfa\xec\xe3q\xe1\x96\x90\xe9\xa2\xf0=\x83\xfeS\x0cI.\x97\xc3\xb6m\x16\x16\ +\x16\xb8p\xe1B\xfb\xcb$e%P\x0cj\x90\xdb;L\x01\xb3\xf7x\x15\x8f\xebg\x91\xc5\ +\xe3\xa2\xa3\x8f\xfd\xb2\xeb\xdb!|A\xdb\x19\xe5s\xe8u\xeeV\t\xda^\x10\x0b\ +\xf0\xe8\xd1L\xc7\x90\xd2B\xa1\x80\x101\xa4\x94\x08\x13\xe2\x13I\xdf\xd9\x9e\ +\xa4,\xb7\x85w\xab\xb1\xc9\x89\x89\x84\xb1\xa5\x06\xeeb\xb4\xe58\x04\xca\x82\ +\xbcp\xe1\x02\x00\x8b\x8b\x8b\xed/S\xb7\xd0\x8c\xe2\x12\x0f\x1b\x83\x0c\x92\ +\x05\x1f\x84\x9f\xe5\x18\xb4.\xb2\xfb\x98ac\x8d\xc3\xb8\xc6\x83\xce\xdd\xeeX\ +\xe3\xa0\xf6._\xce\xf5\xb4\xd6\x8f\x1e\xcd\xf0\xc8#\x0bd2\x99v\xe8BM\\\x92\ +\xcf\xe7)\xad\xafm\xaaqT.\xba;\xbb\x93\xbb\xbco:\x9dfnn\xa6\xc3\xba\xd4\xec\ +\x1e\xdar\xf4!\x1e\x174\xab\xbdgh.\x95$\xcb\xcbo\xb1\xb0\xf00g\xcf\x9eeyy\ +\xb95\xc3\xcap1\xb8^t[\x84~\xdb\x83\x9e?\xe8<\xd5\xe7A1@o\x1b\xbd\xfa7\xac+;\ +\xc8R\xed\xb6\x86\xfb]kP\xdf\x82\xf4\xdfo{\xafm\x97.]\xf2\xedo:\x9d&\x93\xc9\ +P(\x14X^~\xab\xc3\xf5\xee\xfe\x9fZYY#\x1e\xaf\x00\xea\x985l;\x89mO\xba\xd6ek\ +\xd0A:=\xdb\xce\x8eKYv\xe7\xdf\xf4\x11X\xcd\xf6r\xd7\x88\xe3\xc4D\xc2\xf0+\ +\x04\x8f\xc7\x05\x1f\x9b\xa9\xf0h&\xc4\x03\xf3\x10\xb2\x1a\x80\xe4\xc6Ga\xfe\ +\xcb%\xf8\xe9{\t\xa4\xacl\xb6T\xd6\xd7\xb8p\xe1u\x16\x16\x1e&\x9b\xcd\x92\ +\xcf\xe7\x07\xbaZ~"\xe0\xb7m\x90\xc8\x0c\x12\xc9~\xc2\xd1\x8d\xb2\x1c\x87is\ +\xa7\\\xd9a>\x0bE\xf79\xa3\xc6\x1a{m\xefu\xec\xf2\xf2\xdb\x9b\x8eS\xf3y\xe6r\ +9\n\x85\xd5@\x02\xd6\xfd7iV7b\x99J(7\x86\xafn\xf4\xc5\xad\xc1\xf5\xb7^5\xdb\ +\xc3]#\x8e\xdd\xa4\xc6\xe0\x0b\x0f\x1b|\xf6\xc9&\xf7MEH\xce\x86\xb1D\x9d{\ +\xe3\x11\x00*Q\x87j\xa1\xc9\xbb\x97\xca<\xffR\x83\x7f\xfd\xfd\xce\x1a;Y\x07\ +\xb9\xe2\n\xe4\xe3\x8f?\xc9\xa7>\xb5D\xa1P\xd8\x94d\tb\x8d\x0c\x1b\xe3\xeb>\ +\'\xa8\xa5\xd8\x1ds\x04\xd7rT.\xdb\xb0\xfd\xe8w\xdda\xacWo\xff\x82^k\xd09A\ +\xae7jl5\x97\xcbu\xfc\x10*a\x04\xdc\x1a\xc6-Xu\xb2\x0e\xd47\x12h^\xa1L\xa7g\ +\x99\x9eN37\x97&\x9b=\xc1\xc5\x8b\x19~\xf2\x93\xd7\xb9z\xf5:\xc2D[\x92\xdbLx\ +7\x96\x87\xdc+XV\xf4\xf7+\x95\xeaW?\xb5\x10\xe6\x7f9\x17\xe1\x89\x93!\x8e\ +\xcc4\xb9\xef>\x83\xf4\x84\xc1d"D\xc8\x84\x90\t\x11\xc3@\xc4B\xd8ix\xe28\xcc\ +\xa6\x1a\xbc\x95sX/u\xb6Y.WXY\xf9\x90H$\xc2\x83\x0f>H:\x9d&\x95\xda\xa8w\x8c\ +D6\xff\xfetoS\xefK%\xe9\xfb\xda\x0f\xef\xbe^\xeduS*I\xeau\xf7\x1b\xd4h\xd41M\ +\x93D"\xd1>~P?\xba\xfb\xd4\xbd=\xc8\xbeA\xf75\xe8~\x83\x9e?L\xff\xbd\xf8\xb5\ +\xdf\xbd\xed?\xfe\xc7\x97y\xfe\xf9\xe7\xa9\xd5\xea\xc4\xe3\xee\xb4v\xa6\x19!\ +\x9f\xcf\xb3\xbe~\x9bzs\xe8\xdb\xebI\xadV\xa7V\xabs\xeb\xd6m\xd6\xd6\n\xc4b\ +\x02\xd34\x99\x9e\x9e\xe1\xbe\xfb\xe61\xcd\x08\xb5Z\x95\xdbeI\xad\xd6\xa9\ +\x8e:\x19\xb35\xee*q\x04\xf8;\xffU\xfa\xab\xff\xedb\x89\xd9)\xb8\xf7\x90Cj*\ +\x84=\x19&\xd4\xe3\xfb\x161\x0cD$\xc4\xc7\xe6\xe1\xd4\x03a~\xf2v\x93\x8fnu\ +\x1e\xe3\xd4*\\\xbb~\x9d\x95\x955\x0e\x1d\x9a"\x99\xb4\x19\x1f\xef\xbd\xc6u/\ +z}q\x07\tB\xaf\xfd~bP.Kn\xdf.\x02`\x9a&B\x08j\xb5z\xcfk\x0f\x12\x93~\xdb\xfd\ +\xf6\xf5\xbb\xaf ?\x0e\xfd\x84\x7f\xd0\xf1A\xce\xf5\xbb\xbe\xf7\xbc\x95\x95\ +\x02\xcf?\xff/y\xf5\xd5\xef\x030>>\xc6\xd4\xd4!n\xde\xfc\x90\xf5\xf5\xdb\xbe\ +\xedo\x17\xb5Z\x9dJ\xa5L<>\x86\x94\x92\x89\x89\t\xe2\xf1\x18\xf5z\x83b\xf1\ +\x16\xb5r\xa70[V\xf4\xf7w\xb4C\x07\x9c\xbb.[\xfd\xe4\xa9<\xf7\x8c7\xb0m\x87q\ +\xdb j\x8d\x0f<\'l\x81%B<\xb6`\xf0\xcf\xbel\xf2\xd0\x91\xcd?\xc8RVx\xed\xb5\ +\xbf\xe4\xf9\xe7\x9f\xe7\xfc\xf9\xf3\\\xbd\xba\xe1vm5.4\xaa;\x1a\xa4\xceQ\ +\x1d7L\x1f\xfb\x1d;L;\xdd\xfd\x1b&\xae\x19$3>\xec\xb9~\xfb\xba?;)%\x17.\xfc\ +\x18pk\x12U\xf2de%X\xcd\xe3V\x91\xb2B\xa1P\xa0X,\xf2\xee\xbb\xefr\xe3\xc6u\ +\xc0]v\xa1\xdf\x98\x7f\xcd\xf0\xdcU1\xc7\x7f\xf1l\xd5I\x8c9$\x93\x93L\xc4\ +\xd7\xa8\x0b\x83\xf1P\x89F\xc5\x15\xc0~\xc4b\x06\xd1\x8a\xc1C\x19\x87\x7f\ +\xf4\x9b&\xff\xf8\x8f\xeb\xfc\xf8\x92\x9b\xdfQq"!,\xdex\xe3\r\xfe\xcd\xbfy\ +\x01)%KKK\xcc\xcd\xa5\x03\xc5\xe5\x82\xc6\xeb\xfa\xc5\xc9\x86\xads\xf4;\xa6W\ +\x1b\xbd2\xbc\xbd\xda\x19\x86\xa0\xb1\xc6 }\x186C\xad\xf6Q\xbdA\xf3\xca7)}\ +\xf8\x13\x8a\xad\xed\xeay\xa5\x11%\x1a\xae\xb2\xd2\x88R\xafJ\x96\x0e\xff\x88\ +\xdb\xd7\x0c\xde_\x9bh\x8f\x95\xdeM\x84\x10\xad\x82\xf2\r\xc1\xd6\xab\x18n?w\ +\x95[\xfd\xdb\x9fk|5a5\x99HU\x89\t\x08\xd5\xc1\x8a\xb8\xc6s/\xb7\xdaK\xc8\ +\x04\x11\x0bq(\xe1p\xe4\xbe\x10\xef]\x8b\xf2\xc1\xcd\x8d8O\xb9\\\xc10\x1c.]\ +\xca\x91\xcf\xbb\xbf\xe8SSS\x1dc\xaeGq_\xfb\xc5\xf2\xfc\x8e\xeb\xe7f\xd7\xeb\ +\xf5\xf6l<\xca\xad\x0e\xd2\xfe \xb7\xbd\x9f\x8b\xdc\xafO\x83\x08\xe2\x16o\ +\xf5\xdc\xc6\xf5\x97\xb9\xf1\xbd\x7fH\xf9\xea\xffM\xbd\xf8&\xb1\xf02\xa1\xfa\ +[\x18\xb5\xf7\x08\xd7\x7f\x8cY\xbf\xd4~\xb6\xf89\xa7\xef\xaf\xf0\xe4\x890S\ +\xf74Y\xcf\x87\xf9\xd9\xe5\x0f\x87\xbe\xafQ\x88\xc77f\xa7O$\xdc\xb0\x8d\xaa\ +\xa1\xbcy\xf3C\x84\x10\xdc\xba\xb5\xe1\xdak\xb7zk\xdc5\xe2\xf8\xfc\xdf\xb7\ +\x9d\xf1\xf0-,1ITT\x88F`<\x1e\xa6\xd2\x88c\x86j\x81\xc4Q\xa1\x04\xf2\xbeY\ +\xa7\x87@\x1a\\\xb9r\x85+W\xae\x10\x89\x98\xa4\xd3i,K\x04\xfer\x07\x11\x92a\ +\xe2|\xde\xed\xab\xab\x05L\xd3l\'d\xfcb\x8e\x83\xda\xf7;\xc6\xef\xfc^q\xbb~\ +\xf7\x17\xe4\xde\x87I\\\r<\xbf\xf0\x1ek?\xf8\x074J\xdfg<\x19\xc2\x9e\x0c\x11\ +N\x809i`\x8e\xd70\xc7=\xcff\x95h\xa8\xceX"\xc4L\xca`l"\xc4\xcb?Z\xe3r~\xe4\ +\xd5~\x87b||\x8ctz\x16!\xdc\xa4\x8cr\xaf\xa5,\xb3\xbe\xf2\x11F\xd8\xc40\x0c\ +\xc2N\x9dxB\'c\xb6\xca]!\x8e\xff\xea\x7f\xaa:c\x91u\xc6,\x83X\xa4\x81\x15k\ +\x126\x81P\x82x\xbc\x84\xd3\x00\xa7\x11\xcczT\x88X\x88\xf9)\x83\x13SM\xde\ +\xbfap\xf9\xc3\x8d/\x88\x12\x9bb\xf1\x16W\xae|@\xadV\xe7\xe8\xd1\x0c\x93\x93\ +\xf6\x96\x85\xaf\x9b\xa0\xd6\x9bz}\xebVq\x93\xe5\x18\xd4\x15\x1eV\x88\x06%p\ +\xfc\xfa7l\x96y\x18\x91\xf4\xbbF\xf3\xf2\xbf\xa4r\xe3ybc\xe3\xc4\xe3u\x9a6\ +\x84\xc7C\x84b\x82P\xa8A\xc84\xda\x0f\xc7\xf8\xff\xdb{\xf3 I\xae\xfb\xbe\xf3\ +\xf3^\x9eU\xd5=\xdd=\x18`zp\x10#\x12\xe2\t\x8a\xe0a\x1e\x12\xb5\x80\xd7\x1b\ +\x12$\xcb&\xe4\x90(j\x15\xd2r-)\x04\xca6\x82\x92\xb9^\xac\xcc\x10gw\x1dk\xd8\ +k;\x10\xa468\xb6)\tZ\x980\xa4]\x9b0\xc5\x10\x87\x16\xb5\x82l\x89\x1crehV\x02\ +\x06C\x12"\x06\xc41=\x07\xa6\xab\xaf\xac\xbc\xdf\xfe\xf1\xf2eeUguWu\xf7t\xcf\ +\xf4\xe47"\xa3\xaa\xb3\xb22\xb3:_~\xf3\xfb;\x1f(_/V\nk\xdd\x94G\xbfr\x07\x17\ +/^\x1a\xfb\x7f\xb2\x1d\x08!\xca\x94\xa1K\x97.\x91\xa6iYj(,\x9b\x9b\x0f\xae\ +\xf1\x0f\x7f\xca\xe2\x87\xbf\xcf\xe6\xf7\xff\x8b\xd5\xa8\xc6m\xe2\xba\x08\ +\xc8X\x8e&.\xe1\xce"\xdc\xa4\\/\xc4\x1aA\xd0\xc6\xf26\xf79\xd6\xa1\xd5\x12\ +\xbc\xe6M\xf0w?$\xd7\x05i\x82 ,[\x9d\xfd\xf6o?\xce\xa7?}\x9c\xd3\xa7\xcf\xac\ +\x0b~\x8c\x1b\xdc\xd8(\x98R\xf7\xbe\xee\xb3 \x08\xd7\xb5(\x9b\xa4\xc4o3\xdf\ +\xe0\xa4\x9fMr\xee\x9baTPe\xb3\xf3_}\xe1w\x89#\x88\xa3\xa1\x14\x84$\x02\xc7\ +\x1bX\xaci\x1f\xcb\x17\xe4\xae\x83h\x1d\xe5[K\tY\xf7\xcc\xa6\xe7\xb6S\xf0}\ +\xaf(C\xec\x16\x952\xbd\xd2\xd7\x98\xc7!\xf7\xbcI\xf2\xd67Z\xfc\xe8\xfb;\xfc\ +\xf9\xff\x9d\xee\x8e\x9c\xdd\xc7\xd8\xf7\xe4\xf8\xd8\x03\xb1\xf2d\x8e\xe7\ +\x08|\xd9\xf7\xc7T\xa3\xd4Y\xa4\x97I\x91{\x8a\xd7\xccY\xdc9\xaf\xf8\xd8\x07\ +\x1c\x0e\x1e\x1c\x8c\x16\x9a$\xdenw\x91\x13\'Np\xfc\xf8\xa7y\xea\xa9S\x03\ +\xdbl\x14e\x1dUj\xb7]T\x9b\xdcn\x16)\xae\r^\xd4\xbc\x1f\'H\xb3\x93\xd5\x1c\ +\x1b\xedkRb\x8dz\x9aG\xb2\x08d\x17\xb2\xc5\\/+\xa1&\xc9\xeaR`-?\xcb\xc2Y\x87\ + \xde\xc6\x8f\x18\x13\xbe\xad\xe7)\x9a\x9f?\x02P\x92\xa2)#\x0c\x82\x90\x1bg\ +\xe1{\xef\xb4\xb9\xb5\x93@k\x8d\x99\xc3\x0e/\xfeA\xaa\x1a\x92\xdc:\xf6=9\xb6\ +\xbd\x0c\xcf\x11x\x85\xc5\xe5\xb5\x04\xae\xa7\x95\x82R\x1d_{N;\x8d`y\xa9hn\xa2\xeb\ +\xfc\xcdb\xa6\x11\xfe\x81\xb7\xba\x1c:\x98\xe0\xcf\xe9\x07v\x92\xdb\xa5\xd2\ +\x9d9\xec\xec\xca9\xee7\xec[r\xfc\x9d\xbf\x7fT\x19\xd5\xe8\xb7\x15-\x7f\x90\ +\x88\\o\x1aW\xea\x81dT\xe3\xa4\xea1\xf7\x142\x12\xe4\x9eB\xf9\xe0\xce\xc1\ +\xdfx\xaf\xc5{\xee\xb4j\xb77\x04\xf9\xc7\x7f\xfc\x9f9~\xfc8\xbf\xf5[\x8f\xf0\ +\xfc\xf3g\xd7m7\xae:\xab\xdbf\xa3mG\x91K\xb53\xcf$\xc7\xd8l\xbbqL\xf0q\xfd\ +\x8eUL\xea\xc3\xdc\xec\xbdyh\xae\xf3;\xd2\xb7\x0e\xe8)\xc2\x1e\x84=\x08\xba9\ +\xcb\x8b9\xcb\xe1\xee(G\xd0\x0fXC\x88\x06\xed\xb6O\xdb\x83\x0f\xdf\xbd\xca\ +\x9do\xb584?8\xee\x92\xbc\xff\x94\xfe\xeag\xa2F=N\x88}\x19\xad\xfe\xe2\xaf\ +\x84\nu\xb14\xa7\x855\x87c\x87\xa5I\r`\xd9\x1e^+\x998J]\x85\xc8D\xf9j\xf9\ +\xe0\xda\x82XX\xbc\xf6\x06\xf8\x8b\xe7\xb2ue\x86\xa0K\r3%\xe8v\x17y\xee\xb9\ +\xbf\xa4\xdb\xed\xe2\xd867\x1d\x9e\xdf\xd1(\xf6\xa8\xa8\xafm\xdb\xd8\xb6\xfe\ +\xdb\xbc\xaf\xa6\xf3\x8cs\x8cq\xa3\xd6\xdb\xc9Q\xdc\xe8x\xdb\xad\xd3\xae\xee\ +w\xf9\x1b\xbfM\xba\xbc\x80\xed\xeb\x0c\x06\xcb\x9a\xc2q\x86,\x8cL\xa0lH\xd1\ +\xd7{\xa5\'Y]\xc8\xf9\xea\xd3\x19\xcf\x9d\xb7\xe8\xf5\xf6fN\x18\xc7\xb1y\xff\ +\x9bS\xfe\xf6\x07\\^\xfb&\x90\xbe$\t\x15v\xaaH\x04\xd8y\x86J\xc1v\x14i*\xf8\ +\xf4\xef\xc8&\x82=\x01\xf6\x159~\xe9W{\xea\x87\xdf\xa6\x8e\x85\xb1\xc0\xb1\ +\x15\xb6%p\xfcYZ~\x17\xafU\xa8D[\x97\x02\x82\x8b\xcc\x93-\xf9\x1a\xeb`\x08\ +\x12r\xa6\xa4\xe2P\xc7\xe6?\x9fq\xd65\x03Hs\x9d\xea#\x84 \x0c{\x9c:u\x8as\ +\x0b\xe7\xb9\xe1\xe0\x1c7\xdcp#J\x8d\x97\xcc=.)\x0c\x93\x8a\xe3\xd8\xa8BCTI\ +\xb2.\xf02*-h;\xc9\xdd\xe3\xe6(\x8e:\xde\xa8\xdf\xb6\xd5\xfd\xae\xbe\xfc\'\ +\xa4\xab\xa7\xb0\x1d\x81e\x83\xed\xa48\xceP\xe6\x81R\xa4)\xf4RA\xb2\x9a\x93\ +\x9c\xcfx\xb5\x0b\xcf\xbc$9w1 \x8e\xd9\xd1f\x13\xe3\xc0\xb7\xa1\xd5\xe9\xf0\ +\x8b\x7f\x0b\xee|MNkN\xa2R\x85\x8f"D\xe0\xa59a*\xb0\x1dP)\x08\xe0=G\x0e\x1e\ +\xfb\xf7_\r\x1b\x82\x1c\x13Wm\xf9\xe0c\x0f\xc4*wnB&\x17j?_\x05:|7\x82o\x91%\ +\x19\x96c\xf1j\xd7"wn\xe2\x06o\x01\xbf=\x07,\x96\x11j\xb7B\x82\xae\x14D\x996\ +\xa3\xc7)\x1d\x9c\x04\x07g\x05A\xa8x\xfb[\x05?sw\xcc\xf1/\xd6oW5\x8f\xbe\xfc\ +\xe5/\xb3\xba\xba\xca\xfd\xf7G\xdcs\xcf=\x1b\xb68\x1b\xb5~\xa3\xb2\xc2alV\ +\x1eXw\x8cq\xca\xf5&=\xf6F\xbfc\xa7\xf7[\xf7\x19\x80k\xc5T\x1b-\xb9R\xac\x1b\ +\x13m!\x08\x94\xa2\x85"\x00"\xa5\xc9\xf3\xd6NB\xdb\x9d\xe84w\x14\x1f\xb9{\ +\x99\xf7\xdca3wD\x96\xa4\x08@\xa8\xc0\x87v\x04\x01\xe0\xa3 \x84P\x9c\x07vp\ +\xb0\xefs\\5\xe4\xf8\xe8Gz\xcar\xac2\'\xd1\x939p\x0e1=\xe8G\x89\xc2\xd7\xa3\ +\xf8\x063@\x96|\x0b\xcbQ\xe4\xce\x11,\xce\xe3\xfb\x02\xdf:\x87\xebjbl\xf9\ +\x02\xe9\xa58\xb2\xaf\x04\\o\x9a(c[Q\xeaQ0\xfe\xa9[\xe7%V/\xe7\'\xee\xb1\xf9\ +\xb3\xe7%_;3:\xfa\xea\xdb ]\x9fS\xa7\xfe\x8c\x87\x1ez\x88\x17^8\xcbO\xfc\xc4\ +\x87\x06f8\x1c\x87\x98&%\xcc\xad\x12\xe98\xb5\xd7\x93\x92\xf6f\xa9C[y\x00\ +\x98}\x8d\xfa\x8eYw9\xd3\xec\x16\xf5\x14\xae\'\x88s\x1d`+\x8f\xaf*\xae\xba^\ +\x87 Z\xc1\x13\n\x10\xcc\xceY@F\xdb\xdb\xfd^\x8a?t\x97\xe4\xfdwY\xb8\xc5\x14\ +\xea\x86\x18\xc3\xb0 \xf3P\xd1\x16\x9a \xf3b\x8c\xb7\xe3\xa6hf\x12\xec\xb9Y\ +\xfd\xe8Gz\xea\xc7\xbfW\x1d\xc3\x9f\xa7\xe3,\xd3qa\xe6\x80\xa2=#\x99q\x1d\ +\xa6\xa62,1\xc3\x8c\x97\xd2q%\x9e\x7f\x1e\xc7R\xf8\xaeB:\x12\xdb\x16x\xf6\ +\x1aS^N\xdb\x9f\xc5\xb2BZ~\x84c\xeb\x81\xe0\xba}?\xa3\xebM\xe3Y\x01^k\xb2r\ +\xc1I\xa1lH[\x12\xc2\x9c\xa3\xb3\xf0\xa5?_o^\x1bT\xcd\xecK\x97.q\xf6\xecY^z\ +\xe9Eff\xe6\xb8\xe1\x86C\x13\x9b\xb0\xe3\xf8\xe6\xb6S\xbe7\x8e\x89\xbb\x93\ +\xfe\xc1\xed\xeek\xf8;A\x10\x16\xfd\x11WY\\\xec\x92\xbc|\x02;{\x96,\x05\xcf\ +\x17\xb4]9\xe0\x87v\x84@\xc6\x82\x95D\xa1\xa2\x08\x11A\x96B\x94JD&\xf9\xc6\ +\xcbpaI\xa1\xd4\xee\x99\xd6o\xfb.\xc1\xdf\xf9\x11\x87[\x0f\xe7\x1c9d\xd1\xb3\ +\x05N\xaa\xa0\x18b2\x16d\x16$\xc5\xf9\x8bL\xe0\x08\xc1\xd9\x17\xee\xe0\xdf\ +\x7fm\xa91\xab\xc7\xc4\x9e\x92\xa3Q\x8b\x9di\x98\xf1\x96\xe9t`zZ\xe0\xd8\x02\ +[\x80\xd5V\x08[\xe0\xfa\x11\xd2\xcb\x81\x0c\xc7\x16\xf8\x9e@\xb8\x12W\xcc\ +\xe09\x013\x9e\x83\x92\x19-?\xc2\xebH\x84-\x10\xb6`jZ\xfb\x91@\x13\xa3\x10kX\ +B\\Qb\x04M\x8e\xd6\x94\x85\x14\n\x85\xc0J\x13\xfe\xf4\xb9\x8d\x83\x85eS\xd3\ +\xc5K\xfc\x7f\x7f\xf1\x0c\x0b\x0b\x0b\xb4\xdb\xed\x81\xde\x90[\r>lT\xe7\\\ +\xb7\xed8\xd8N)\xe1v\x03)\x93\xfa\x1a\x8dz\xbc|Y\xd7"/-u\xcbJ\x93\xd6\xeaI\ +\xe2\xeei\xbc\x96\x1e+q\xa2hOI\xb2\x08BK!cA\xe4*T1\xc3F\x96ir\\]\xceI2I\xb0\ +\x92\xf1\xfc\xab\x10\x84\xbbC\x8e\xb7\x1d\x82\xfb\xff\x1b\x8b\xb7\xbfQ1;\'I}\ +\x10\xb6\xc0$\xeb\x88\x10R\x0f\xbcX\xe0\xd9}\xa5\x98E\xf0\x9d\x97\x0e6\xe48\ +\x01\xf6\x8c\x1c\xff\xd5\x03\xb1\xea\xf8\x82\x96\x93s\xc0\x05\xdb\x9d\xa3\ +\xe5\xeb\xa8\x9f\xf4\x04\xae+\xb0\x04\x03\x8b\xb24\xe9\xa9\x0c\\_`\x8b\x10\ +\xaf#\x91^N\xa7-\xb4S]@\xcb\x07\xb7\x18-\xae7\xad#\xd3V\x80%\xc4\x8e\x9a\xd1\ +\xa3\xa0l\xb0\x1c=h\xed0\xe7\xf0\x94\\W\x7f=\nFI\xbe\xf8\xe2wXXX`vv\x96\x1bn\ +84\xd0\x8f\x1c\x84_\xbe\xcf\xe5\xae\xd7*\xe6f\ +\x05\xed)A^\x08\x81\x14M\x90"\xd5\x8b%\x04Q\xa2Hl\xad\x1eU\x06\xa7\xbf=\xcd\ +\x17\xfet\xa5!\xc71\xb1g\xe4\xf8\x93\xef\xc9\x8e\xb5\x9c\x9c\x99\x999\xda\ +\x9d\x10\xc7\xd6~9\xaf\xa5\t\x0et\x10\xc5\xb2\xfb\x0b\xb9&\xc9\xf6\x94\x80\ +\xbc\xffj\x89\xc1m\r!\xdaN\n\xb8\x9a\x18\xbd\xad\xa7\xecL\n\x91\t"O+X\xe5\ +\x08\xecTq\xeb!\xc9\x9f~3[7\xcd\x82\x81o\x0f\xdePI\x92r\xfe\xfc\x02\xcf=\xf7\ +\x1cB0\xd0\xd9g3Ss\xab\x91\xec\x8d>\x1bEP\x9b\x99\xd3[9\xfeNw\xf41\xc4X\xd7\ +\xf7p.y\x8al\xf54\x00\xb6\x13c;\xa9&\x16W\x91Y\x9a\x18A\x93c\x96i\xdfd/T\xac\ +\x05\x10\x86\x8a\xd4\xb5\x98s2^^\x14\xac\xf4 \xb3|Zv\xba#f\xb6\x19\x13\xb6\ +\x84\xef9*\xf8\xe8\xbd\x827\xdf\x0e33\xe0\xd8\x82\xc8\xd7VV\'\x05\xa7 E\xd0\ +\x8d1\xf2D\xd7\xfe\xcbX\x13\xe3J\x90\xf1\xca+K|\xfeO\x9b\x86\x14\xe3bO\xc8\ +\xf1\xd1\x8f\xf4\x94\xb4$S-\xb0\x9d^\xe9\x1f4\xe96S\x07\xa6\x81\xb8$9Ct\xae7\ +\x05\xe8bVc.\x97\xc4I\x9f\x14\x85X\xc3\xb3\xf4 \xb7\xa5\x1e\xddW\x92\x18\xb3\ +h\xfd\xfe%\xb9V\x8f@\x94)\xecX`[\xf0\xd53\xf5\xea\xb1\xeeFJ\x92\x94\xc5\x8b\ +\x0b\xbc\xf0\xe2K\x84a\xc8\xa1Cz\n\x86\xcdHj\x14\xb6c\xcen\xd5w8\xae\x9a\x1c\ +u\xbcI\xce\xa3\xee\xb3\xcb\x97\xbb,-u\xcb.6\xc3\x10\x97\xfe\x08+~\xae4\xab-k\ +\x8a\x9c\x18/\x17\xd8\x99`Y)\\DI\x8e\xb6#\x08C\x05\xb9 \xca,\xfd\x90vrn\xbeI\ +\xf2\xe2\xabpi1e%\xda\x19b\x04x\xdd<\xfc\xe0[\x05\x1f\xfa>\xb8\xf9f\x9b\x1bf\ +U\x11h\x14L;\xba\'idk\xff\xa2\x8b\xc0\x95\xfa\xbc\xadB-\x82\x0e:\xe6j\x8a\ +\x0b\xe7c\xfe\xdd\xd7\x1ar\x1c\x17{B\x8e\x7f\xeb\xaf\xa4\xc7\x1c_0s`\x16_\ +\xe6\x08+/\x89Q+@\x8f\xb6\x97\x91\x13#D\x82\x10\x9a\xe0\x84H\xb0\xac),\xdb#\ +\xcb\x06+\xfe=_\xe2Y)\xb6Lp\xfd\xc1\x81q\xa5\x15\xa3\xd9\x7f\xa0\x14\x8e\xd0\ +\xbfC\xd9\x10\xdb\x16*U\x08[\xa2\x84\xc4\xb7F\'\x87\x8fB\x9a\xc3\xda\xda*g\ +\xce<\xcb\xc2\xc2yl\xdb\xe6\xf0\xe1yZ\xad\x8d\xcb\xf36S\x94\x93\x98\xaeU\x8c\ +\xf3\x9dQ\xc7\xdc\xca\xf16R\xac\x9b\xa9\xd9 \x08Y]]\xe5\xd2\xa5K\xd8\xb6]K\ +\x8e\x87\x82\x13d\xe1\x8bd\xa9n\t\x061\xb6-\xc8\x14dJ\x13N\x14j\xa63\xca\xd1\ +\xb1\x05q\xa2\x88\x0b\x12\xc2\xb2\x98\xf32^{\x93$\xcd\x04/\xbf\xaa\xb6E\x8e\ +\xbe\r\xb7\xdf\x04?\xf2\x0e\x8b\x1f{\x0f\xbc\xe1\xbb\x1dn\x9c\x93\x1c\xf0\ +\x14\xb6\xa3U\xa3\xb0\x05\xae\x03\xa9/\xe8 \x98\x92\x92\xd4\xd3\x8a\xd1\x12\ +\xfd\xca/i\xeb\x87\xb7-\x13.]Ly\xfc+NC\x8ecb\xd7\xc9\xf1S\xff\xfd\xdbT\xa7u\ +\x0eiA\xa7\xe5\xe3xAY\xb9\xd2\xea\xf4\xfd\x83q\xaep\xa5\x1e|\x96\xd0\x83\xd5\ +\x95Z\t\xda2\xd1\x1d\xbc\xe5T\xd1XB\x0e\x0c\x08\xa0\x9cEp\xb7\x90E\x0c8\xc0E\ +&\x88Q\xf8-\xad\x1emr\xdaI\xc6\x94\'\xf9\x93\xd3\x93\xdd\xf3\x1f\xed\x86\x1c\xc7\x84\x98\x9d\x9d\xdd\ +|\xab\x1d\xc6c\x0f\xc4\xaa3\r\x07Z\x07\xe8\xcc,\xe1H\xad\x18u\xe5\x8a\x86[\ +\xc9M\xac\xc2\xf2\xb4B\xf3\x8a(\xa2\x17\x0f\x92\xe2N\'uO\x02s\xec@)\xda\x05Y\ +\x873\x92<\xcc\xe9\x85\xb0\xd6\xcd\xf8\xce\xb3\xf0\x8f\x7f;\xe7?\x9d\xce6\ +\xd9\xdbz\x98\xdc\xbc\xf9\xf9y\xee\xbd\xf7\x07\xf9\xa5_\xfa%\x0e\x1f\x9e\x1f\ ++\xf7o\x92\x1c\xc1\xed\xe4,\x8e\xb3\x9f\xadn7\xceq\x06\xd6w\xbf\xc3\xf9\xc5\ +\x9cs\xe7\x16F~\xf7\xe0\x85_C^~\x02\x15;\xf83\x9a\xf9\xa6g$\xae\x14\xac\x04\ +\x19\x9e/K\xe5\x08\xb0\xd6\x83<\xd2~\xc78\x86^\x0f\xa2\\\x92%\x82,\xc9\x88\ +\x95E\x1e\',\x87\x92\x8bk\xb0\xb6\x9a\xb3\xd0\x95tC\xc5j\xd1\xe7\xc4rs\xb2X\ +\x8f\xf5\x1bn\xb0\xb8\xb5\x930\x7f\xd0\xe2\xd0tN\xab\xd3o\x12\xe1\n]\xdc\xd0\ +\xf62Z-8\xe0\xbb\xe59\x9a\xf44\xcf\xd7\xe7j\xee\x85ja\xc3\xf0\xbd\xf0\x9d\ +\xc5\x8c\xf7\xfd\x9c\xd7$;\x8e\x89]\xd4V\x83pU\x8e/\xd7\xc8#\x05\x85I\xadTg]\ +\xa7\x9ca\xa2\xcb"h{\x02\xc6]w\xdd\xb5i\xb2\xf6N$e_\xe9\ +\xaa\x95\xad\x1cc\xa3}\x87\xf9\x01z\xbd\xd1\xc4\x08\x90\xc6\x11\xa6\xc8\xc5\ +\x10N\x14\xe6\xe0\xcb\x81\x87\xf5(x\x8e \x8aLCe\x8b\x16\x90\t\x89t-f\x0f\x00\ +X\x841\xa8\xa4Z\xaf-\x10\x8e\xad\xd7\xb5\x05\xe0\x16\xb7@\xbf\xe0\xa1\xe5\ +\x82\xe5H<\x99!\x0f\xd8\xf8~\x8e\x10\tn1\xb6\xcc\xb9\xd5\x89\x88\xe1F*\x86$o\ +i[\xfc\xe1?\xf2\xd5_\xfdx\xd8\x10\xe4\x18\xd8u\xb3\xfa\xb3\x0f\xdc\xael\xe7U\ +Z\xbeB\xc9\x03x\x9d\x08c\x1d\xea\xe8\xb2\x86\xf1\x1b\x1a\x9f\x891\x91\x87\ +\xff\xae\x0b\x86\x8c\x83\xad~o3H{\xd0\xf7\xe8d [\x8a\xdc\xd6M\x01r\xa1\x98R\ +\x82\xe5\x9e\xe4/\xcen\xcd1\xe58\xbaa\xc4\x85\x0b\x17x\xfa\xe9g82\x7f\x98[n\ +\xb9m"sz;\xd8J\xfa\xce\xa4\xc7\x9f4\xb5\xa8n\xdf\xbd^X\xcc\xb12\xba\xdd\x9a\ +\xb7\xfcU\xe4\xea\x0b\x00\xc4I\xa6\xe7`\xb1\xb5)=lV\x03\x90\xeb\x942[\x80R\ +\x90+p%\xa0\x14\x8e\xad\xcdl\xcb\xd1\xae \x99gXB\xe1\xd9\n\xe9\xd88\xaeU.\ +\xb6\x05\x8ek\xd1\x91\x19\xbePX\xc5\x92N\xe9@K\xcb\xc9q<\xc9\xcc\x94b\xc6\ +\xb2\xb1\xed\x8c\xe9\xd9\xf5\xc4\x18\xb9\n;\xd39\x8d\xd5\xf1<|\xcf\x806\xaf{\ +^\x8f_\xff|cZ\x8f\x83]oY\x16\xc6\xdf"A\xb7y\x92\xde\x12y\xd4\xcf\x1fs\xa5(\ +\x97*\x86\xd5\xa0Qhu\x9f\x8d\x8b+\xa50\xb3\x88\xd2\xa4\x86\xa2\xfc\xac\xe8\ +\x07\xd8\xf2\xa13k1;\xab\xb8\xf7]\x82\xdb\x0em\xed\x18A\xa0;@w\xbbK\x9c\xa9\x1b\xd3f;\xd0Qk\xdbV\xfc\xd0\xfb\xe5\xb1\x7f\xfb\xfb\xa2Q\x90\x1b\ +`\xd7\x95c\xaf\xc8\xc0\x89\x85$v\xd2r\xfe\x0e\xd0>\xc7j\'\xe6\xad`\\Ex%}\x93\ +VQ\xbe\x05Z9\xe6\x9e\xfeMi\x94!}Y\xaa\xc7\x1fy\xa7\xbdnb\xae\xad \x08B\xce\ +\x9e}\x9e\xe3\xc7\x8fs\xe2\xc4\x89\x89\x14d\x15\x93(\xc2q\x95\xe7\xb8\xdd\ +\xca\xb7\xa3:\xeb\xf6]\xc5(\xb3\xda-\xe6\xd2\t\x03\xdd\x08Y\xc5\xfd`H\x14\ +\xe6\xeb\x821\x9e/\x89\xa3\xc1\x0eO\xbe\xd4\x1eK\xd7\xd5\x8b\x99\x8e\xc3U9\ +\x9e\xad}\x92\x9e#8\xe0\xa9\x81\xf7\xb3\x1d=\xaf\x91\xb4U\xb9\xb8\x95\x0e?\ +\x9ePxB\xd1i\r\x06+\x87\'\x83\x9bd\xbcG\x99\x9eL\xce\xf5\xa6\xb9\xb5\x93\xf0\ +\x87\xff\xc8o\x14\xe4\x06\xd8ur\xfc\xd9\xe3\xaeX-\xde\xe7\xd1\x0c\xd2\x13\ +\xa5Ym\xe6u\x81A\xd3\xf9Z\x84\x19\xb4m!\xca9I\xdc0\xc3\x1593\x87\x1d\xe6\xbe\ +\xcbb\xeaF\xc1O\xbc_n)\x081\x8c\xcb\x97\x97XX8\xc7#\x8f<\xc2\xd7\xbfvr\x1d\ +\xc9\xec\xc41\xb6\x13\xa8\xd9N;5\x83Q\x84<\xaaK\x90\xb1\x8aFYGq\x14\x12\xc5\ +\x12i+\xe2x\x11`\xe0a\r\xebM\xea\xd2\xecn\xe9\x94\x1a\xe1&\xb4|\x81/]|\xe9"\ +\\\x85\xdf\xd6\x0b\x80\xdfVxv\xffU\xda\xfd\xcf\x0c!\x9a\x05@z\x92\xce\x8c\ +\xc4k\x89u\xa6\xf4V\x1f\xe8A\xd0\xd6\xee\x9ev@\x16\xe9\xe9A\xe4\x8c@\xccN\ +\x18\x11\xbc\xce\xb0\'\xd3$t\xf8\xee\xe2\xdd\xa2\x8eVW`r\x1c\xafu\x18b\xaf\ +\x12|\x18\x02=\x85\x8c\x13Z(n;\x98\xf3\xbe;-\xdeu4\xa9\xdd\xc7\xa4\x08\x96\ +\x978s\xe6Y\x8e\xff\xcb\xe3\x9c={V\xaf\x1b"\xc9\xcd\x14\xdfv|\x91\xe3~w\x9c\ +\xed\xea\xb6\x19\x87\x90\xab\xdb\x86a\xb8a\xb2\xbcQ\x8e\xaf\xa6G\xc8SA\x98k\ +\xb3\xc6<\xac\x8dj4*r\x18\x8e\xd4}\x00@O\xb5 \xdc\xa4$I\x80\x96\xef\x14\x9f\ +\xa9\xf2\xd5\x90\xe00!\xb6|A\xcb\x17E;\xb4Au\n\xa3S\xdb\xc6A\xbb=X\xb3\xeaJ\ +\xc1\x9c\x94\xdc\xe8\xa7\x8d\xffq\x03\xec\t9\xae\xf1-T\x9c\x01\xba\x19]R\t\ +\xdaFY\x1bW\n\xcc|\xd2\xd7*\xea\xe6\xa5i\x0b\x01-A\xac$r\xd6B\xce\x08fg\x15?\ +\xf7\xd7\xad-F|\xa2\xff\x00\x00 \x00IDAT\x07g\xaa\x08S\xb8|\xe1\xf0v;(\t\xd2\xb3\x02\x0ey\xd3\xdcx$\xe7?\xfc\xc3\xb8!\xc8!\ +\xec\t9\n\xbe\x05@\x98k\xffb\xf5I\xed\xf9\x92^O\x95\x9dt\xf6\x0bLGi\x19\t|\ +\x14\xae\xd07\xdd\xc1y\xddH\xe0\xbf~\x9f\xe0{\x8e\xeeLn\xee\xe5\x0b\xe79y\ +\xf2$\'O\x9e\xdc4X1p\x8ec\x90\xcd83\x02\x8e\xab\x00\xb7\x13|\xd9l\xdf0\xa8\ +\x1c\xeb\x082.\xa6\xa6M8L\x94K\x12\x14*vJ\x92\x03\xd6\x05e\xaa\xeba\xbd\xf9k\ +\x94\x9f!KC|uK\x95P\r1\xae\xdb\xff\xd0\x0c\x99[\x85\xf1\xe1\x1b\xdf\xa3\xd9\ +\x9f\x10k\x1c\xf2\xa69<\x97\xf3\xcf>\xf2\xba\x86 +\xd8\x13r4S!\x18\'x\x15Q\ +\x98\x97A\x19s1\xf7\x03L>Z\xa0T9\x1f\xb2\xdf\xd2\xb9\x8fjVp\xcb\x8c\xe0\xef\ +\xfd\x88\xc3\xc1\x833\xdb>V\x98\xea*\x9a\xc5\xc5\xee\xba\xcf\xc6U\x90;Q\r3\ +\xc9w\x0c6\x8b\x88OJ\xf2\xbe\xef\x8f\xf4;\x96\xcaQ\xf4\xe7\x9e\x0e\xf3x\xe0a\ +]\xf57V\xfd~\xae\x14\x83\xe5\xae\xdez\xa2\xac\xc2\x98\xca\x8e\xec/\xfd\x0e\ +\xf5\x1b\x7fw\xa7`"\xdd&@\x03\xc5\xef\xb0\x02\xa6g\x05\x7f\xe5\xb5\xa7\xf97\ +\x7f\x7f\xb6!\xc8\x02{B\x8eYb\xa60\x98\x1bH\x9f\x88#\xfd\xc4\xac\x96\x10\xee\ +\x07\xf5X%\xf8j\xd2n\xacd\x99\xdas\xa0\r\xb7}\x97\xe0\x83\xef\x99\xa0e\xcf&x\ +\xe1\x85\xb3\xeb\xd6\x8d\xe3G\xacb+\xe9;\xe3\xeck\xd4\xfa\x9d(]\xdcLE\x1a\ +\xc4Q\xc8b\x0c\xd3\x05\x1d\xe4\xa9\x18\xf0\x11Va\x88\xd1\xbc\x9a\xc6(\x9e/\ +\x99n\xf7\xcb\xfe\x0c\xd1U\x97NK\x7ff^\xcdv\xd5W\x03o\xa8l\xd1\xf8\nw\x12F9\ +\x9a{+\xce\x15\xd3m\x8bCs\xf0\x96\xd7\x9eo|\x90\x05\xf6\x84\x1c\r6S\x8e\x06\ +\xd7\xbaz\x1c\xf6\xa1\x1a\xf5hR{:\xb3\x129#\x98\xf1s>\xf0^\x8b7\xdc\xbc3\xc7\ +]^\xeenX:7i\n\xce$y\x89u\xebwj\x06\xc3q\t\xbb\xdd\xf6\xf1\xe52\x9eWO\x8c\x8f\ +\xfd\xdb\xc7\xc9/\xbc\xc8J\xf1\xbc\x92\xb6"\xae\x94\xb0\x9a\x87\xb51\xabM\ +\x16\x85\xa9\xe22\x04\t\xebIm\x18\x9b\xa9\xc4\xe1\xef\x9bc\x0cW\xc0\xec\x14\ +\xb2H\x8fC\xcb\xd3\xf9\xc5\x91\xab\trzFr\xe3\x91\xbc\x89b\xb3G\xe4\xf8\xdf~\ +\xd2-\xafx\x9d\xdfq\x18\xfbA=\xc2`\xee#\xe8\x19\xe3b\xa5/A{V\xe2\xce\xc1l\'\ +\xe7\xe7\xff\xa65j\x17\x13!\x8e\xd3\x01\xc5t\xa5K\t\x87\x15\xe0$\xc49\xc9y\ +\x8c\xab.7\xda\xc7\xe9g\xcf\xf0\xe4\x93O\xf2\xf2\xf2_"VE1\xdb%\xb8I?*\xe6z}\ +\xb3\xbaJ\x84\xe5\xe75\xe95\x9b\x91d\xdd\xf6\xd3m\xab\xd6\xaf\tW\xae\xcb\x94\ +\xe5\x15\xb3\x14\x06m\xda\xed\xa0\xecr\xd5j\tn)T\xe4\xef\xfe\xd3}\x90S\xb7\r\ +\xec\xa9r\xcc\xd3\xfa\xa7\xe2pg\x9ek]9V1`bG\xe0\x86Y\xd9\xb9\xa73k1s@\xf0\ +\xce\xef\xb2\xf8\xe1wm\xffX\xaek\x0f(\xc7q"\xce;Q\r3\xea\xef\x9d<\x8fq\xd0n\ +\xfb\x84\xf9\x81\xf2o\xdf\xf7\x89\xa3\x908\ny\xfc\xf1\xc7\xe9v\x17\xb1R\xfd \ +\x8ar9\x90\xeb8\x8cj`\xa4.M\xab\xda\x13\xc0\x98\xdb\xe3,\x06U\xbf\xa6+\xd7\ +\xcfut\xa5\xee\x01\x93\x18\x0e\xfd\x88\xb6Q\x91o<\xe2\xf3\xf5OE\xea\xf3\xff\ +\xcb\xe1\xeb\x92$\xf7\x8c\x1c\x8d\xdfQ\xc5]T\xec\xe8I\xb5\x8a\x01\xa1Tg \x1f\ +k\xbf(GX\xff[\xc2\x902z\xdd\xf2\xa15/9\xd0\xca\xf8\x99{\xddm\x9b\xd7o}\xeb]\ +\x1c<\xb8\xbe_\xe7N\x98\xd3\x93`\xd2\xc8\xf78\xe7\xb1\xd1~\xab\x9f\xfbr\x99\ +\xa8\x88J\x87a\x88\xeb\xf9\xfc\xc6o>\xc2\x993\xcfr\xdb\xcc2\xbd\xa8\x9f\xc2#\ +m5\xe0s\x8c+\x84\x14\xe7j \xe2[\xed\x97X%\xcca\xdf\xe4f\xa8n_%\xe0\xe1\x06\ +\x12W\xba\xdc\xd5,YD\xd9\x17\xb2\xdd\x0e\x98\xbf\xc1\xe2u7\x7f\xe7\xbaT\x91{\ +\xaa\x1c\xab\xa8v\xe7\xd1s\xc0\xe8\xac\xfe\xfd\xa4\x1a\xeb\xd0\x16\x82\x10A\ +\xd8\x03\xe9K\xda\xb3\x12\x7f^\xf2\xd6y\x8b\x9f\xff\x9b\x16\x07;\x9b\xefc\ +\x18\xbe\rG\x8f\x1e\xe5G\x7f\xf4\xbe\r\xb7\xdb\x8dj\x18\xd8\x9a\x7fr\x9cco\ +\xa6.\xdbm\x1f\xdc\x9b\x00M\x8c\xc9\xd2Y\x1ey\xe4\x11N\x9c\xf8"DK\xccO\x0bZ\ +\x9e\x85+2<\x99\xe3\xba\x0c(\xc7a\xdf\xe0(\x13\xd7\x8c\xd1\xe1\xe0I\xb5\xcb\ +\xd4\xa8%r\xd5:\x024\xbe\xc0\xdd,\xa1\xad\x92\xf109\xcf\xceY\xbc\xed\xd6\x9c\ +g>\x13\xa9\xeb)\x9a\xbdg\xe4\x98;7\x11%\n\xe1\xce\x96~G\x83(\xcc\xcb"\xf9k\ +\xb9\xc6\xbaz\xde\xa3~C\xa0\x14\xed\x08\xfc\x16\xb8"\xc7o\xe9\xb6f\xd6t\xca\ +\xf7\xdd\x01\xf7\xbe\xdb\xa9\xff\xe2\x06\xb8\xf95G9v\xec\x18G\x8f\x1e\xd5\ +\xc7\x18C\xb9m\xb7\x1af\xd2\x1c\xc9Q\xfb\xdaJ\xae\xe5\x86\xbf#\xbe\x80\xe7\ +\xf9,/u\xf9\xec\xe7\x9e\xe4\x89\'>G\xb0\xbc\x04\xde\x0c\xbdT\xa0b\xdd\xbd;\ +\xca%q\xdc\xafb\x19\x85\xba.\xdbU_rU\x85\r\x9b\xe0\xc3\xef\xab\rJ\xaa\x9fU\ +\x830\xbbe5\xd5\xb5\x05\x84A\x92tg%\xef\xb9+\xe0\xeb\x9f\x8a\xd4\xbf\xbc\xff\ +\xe6}O\x92{F\x8e\x0e:\xb7L\xc5\xdd\xb2R\xc6\xc0\xf5\xa6\xf1\xac`\x9diq\xad\ +\xa1\xae{\xca0I\xb6\x85 P\x8a\xb0G\x19\x9ci\xf9\xe0\xcd\t\\\x17\xee}\x97\x98\ +\xc8\xbc~\xf3\x9b\xdf\xc8\xb1c\xc7\xb8\xf7\xde{K\xa2\x98\xb4\xe3\xcdV\xaaa&\ +\xed\xb03N\xe4z\'\xfaCv\x03\x97o~\xe3\x0c\xbf\xf1\x9bZ1\x06\xcbK\x84E@\xbae+\ +\xc21oq\xa3\xf2\xa0\xaf\xec\xc6}ho\xd4E\xe7j\x1f\xdb\xd5q\xdb\x16\x82v;`\xee\ +\x88\xe4\xfd\xefz\x9e\xaf\x7f*R\x9f\xfc\xc5\x1f\xdb\xb7$\xb9\xa7f\xb5i\x10\ +\x1a\xe6q\x99\xefX\x96mU|\x8e\xd7*\xean\x9e\xba\x9b\xa1-\x84V\x8fK9\xb1\x92\ +\xb83\x0e\xedY\x89\x98u\xb9\xf5@\xc6\xcf\xbc_lZZx\xf3\xcd\x87\xf9\xe5_\xfe(\ +\xc7\x8f\x1f\xe7\xbe\xfb\xee\xab%\x9f\xed*\xb4\xcd\xb6\x1f\xf7x\x93b;\x1d\ +\x85\xbe\xf9\x8d3\xfco\xff\xf8!\x9ex\xe2\t\xba\xdd>1\x12-\x01P\x15\x8a\xae\ +\x0b\xbd\x82-\x93\x9a\xe0\xb1\xf1\xc5\r\xab\xbd\xeb\x01\xd5\xdf\xea\xc5\x02w\ +V27;\xcd\xf7\xbf\xe5\xb3{wRW\x18{6\x87\x8c\xe0\r\xc0\x99\xe2\xaf9\x84\xdbE\ +\xcf\xd3\xa7a|\x8e\xb0\xb7\x93fm\x07\xe3\x9e\xb3)-\x04 \xcc\x91"\xa73\'\xb8\ +\x05\x85\xe8I\xde\xf6z\x8b\xbb\xdf\x9c\xf2\xa5?\xcf\xf1m\x90\xaei\xc5\xe5q\ +\xd7]o\xe7\x87~\xe8^\xee\xbe\xfb\x1e\xde\xf1\x8e\xbb\x06\xf7\x1b\x8c\x9e/f\ +\xa7\xaaa\xb6r\xbc\xba\xed7\xfa\xeef\xdb\x8f\xfa\xee\xa9S\xa7\xf8\xd5O\x1c\ +\xe3\xa9\xaf\x9f\xec\x93\xa2\x817\x83\xe5.a\xe6x\x99*<;\xd2\x93\x80\x1a\xe8\ +\xf6=\x8c\xba\xc9\xab\xae\'X\x1ex\x91 B\xfbe\xbf\xfe\xa9H\xbd\xfb\xef\xed\ +\xbf\x89\xbb\xf6n\x82-\xf9,\x86\x0c\x8dY\x1d\xf5\x14\xd3\xb3\x828Z\xc1\xabT\ +\x1d\xec\xd7Ahn\xb0\x81i\x15(\xcc\xeb\x1e\x80\xc2\x9f\xb79\x12\xc5\xfc\xd4\ +\x0f\xda\xf4\xd2\x0c{\xfe\xfby\xef{\xdf\xcb\xfc\xfc}\x86\x87\ +\x1f~\x98c\xc7>1\x92\x18\r|O\xd0"\xa7\xe3\xe6\x03\xca\xb1\xe5\x8b\x81\x06\ +\xcc\xd5\xe4\xecQQ\xea\xfd\x8e\xea\xfdV\xf7\x9b\xeb\xfc\xb3\xfb\x01W\x05\xe7\ +W\x13o]o\xb0\xa7\xa3A\xdd\x05\x1aE\x92\xd7\x1ay\x9a\xf3\x1d\xa8\xa3\xad\x10\ +\xa4\xf0ui\xe1Ms9\xaf\xbd\xdd\xe2\x8f\x9f\xf8g<\xff\xfc\xd9r\xd3I\x02\'[\xad\ +\x86\x19\xb7\xb3\xf7\xa8\xe3\xeddU\xce(\xff\xe2\xc7?\xfeq\x1e~\xf8a^y\xe5\ +\xfc\xba\xcf\x87\xe1\x15^\x9b\xb5\xb8b6\x17\x93sU\xfb1\x0e\xd7U_O\xa8f\x8bT;\ +\xdbg\x91\x0e\x98\xc6\x916\xa7\x87\xbb\xf9\xef\x17\xec\t9>\xf6@\xacL\xa4\x1a\ +\xfa\xca\xd1\xd4W\xbb\xdetm\x15\xc20\xe9\x8dzr_+*\xb3.U\xc9\x10d\xaf\x12\x9c\ +j\xf9 =\x9b\x96/\xb8m*\xe7h\xe7Y\xfe\xddo=4RA\x95\xfb\xda\xa0\xbe\xb9\x8aq\ +\xcc\xe9\x8dr\x19\xc7\x89J\xef\xa4Y?|\x1e_\xfc\xbd/\xf2\xd1\x8f~\x94\xff\xf8\ +{_\x18\xef\xf7z\xe0\xbb\x12\xc7Wt\xdc\xbeY\xed%)\x91\x1a\xad\x1c\xab\xaa\xf1\ +j\x1eW;\x85\xeao\xad\xde\x8bUb\x8c\xf7\xf1\xffa\xcf\x94cT\xe9\x8ad\xda\xd3\ +\x97\x13\nY\xc1@*\xcf0\x89L20\xaff\xa2\x1c\xfe=U\x05\xd9\x1a\xf2\xc7\xb6Z\n5\ ++\x98;\x08o\xbfCr\xe1\x99G\xf9\xfa\xd7N\x96\x9f\x8f\xeaw\xb8\x135\xca\xc3\ +\xfb\xaa;\xceF\xc7\xabb\'L\xf9\xea1\x1ey\xe4\x11~\xe1\xfe\xfby\xea\xa9S\xeb#\ +\xd2\x1b\xa0e+\x0eX\xf9\x80r\x84b\xd6\xbfV\xbf\x94uTC\x88\xfdnR\x0f\x8fI\xa3\ +\x16\x83@\xdf\x97q\xd4\'\xc6^X\xef\xff\xbe\xd6\xb1G\xfd\x1c\x07[\xd2\x9b\x89\ +\x88\x0c\xa2\xac]&\x81WU\xe3v\x93\xc2\xaf\xd6\x01]W>\x06\xd0\xab\xf0H\xcb\ +\xd7\x953\xa1\xefp\xd3\xdc\x0co\xbf\xdd\xe2w>\xfd\xb1\xd2\xbc\xdeL\x99m\xa7\ +\x1af#\\\xe9j\x98Q\xeb\x9f\x7f\xfe,\xf7\xdf\x7f?\x0f>\xf8\xe0Xft\x15\xa6\xaf\ +\xe2r\xd6\x1f\xfe\xa6\xd6\xbf\x17*\x92\xbc\x7f\xe3\x9b^\x8d\xc3\xa5\x81W\xdb\ +\x83v\xa71\xec_]\t\xf4=\x1bG+\xac.\xf7\xa3\xd3\xe1\x92\xcd_\xfdx\xb8\xef\xd2\ +x`\xcf:\x81\x17\x03.QD5O\xfbjW\x9e\xe1\x9a\xcf\xfd\x86\xba\x12C/\x16\xa5z\ +\xec\rq\x83\xe7\xa7\xb4\xfc.\x87\xe6\x147\xaag\xf8\xec\xbf~h[\xc7\x9f\xb4\ +\x1af\xd4vW\xaa\x1afx}\x10\x84<\xf6\xd8\xe3|\xe0\x03\xf7\xf1\xd8c\x8foI\x89\ +\xb6]\xb0\xdc\x9c\x03VN\xa8@%\x83\xb3?V\xbbt\x1b_\xa3I\xfc6\xd8\x8fc\x11\xd6\ +\x93~\x10\xb4K+nuy\x858\xd2\xee\xaf\xa8\xa7\xe8.\xce\xf0\xbe_\xb1\xf6%1\xc2\ +\x1e\x90\xe3c\x0f\xf4\'\xf2\xa9\xfa\x1d\xab\x18n\x0fU7\xcd\xe9~yr\xd7\x95\ +\x96\x99\xd4\x9ea\xb4|h\xfb\x82\xd0wh\xcdJ\xdep\x87\xc37\xff\xdf\xcf\xf2\xd8\ +c\x8f\x03\xdb\x0b\xacl\xe6\xd7\x1b\xb5]\xdd\xfa+Q\r\xd3n\xfb<\xf5\xd4)>\xf8\ +\xc1\x0fq\xff\xfd\xf7s\xfa\xf4\x99\xda\xed\xc6A\x10\x83W\x0c}\x15i\xb39K2\ +\xc2\xcc\xa2\xe5\x8b\xda\xe8\xeb\xf5\xa2\x1c\xabV\x9a!\xc58Z\xe9W\xae\xf5\ +\xf4<;*v\xb8\xb8X\x9f_\xbb_\xb0\'\xca\xb1\xed\xf5\xcdj\xcf\xd63\xb4\x19?\x8f\ +I\xe3\xa9\xc3F5\xaa\xd7:\xeaj\xae\x81\xd2\xf7XU\x903B\xcb\xed\x1b\xa7\x14\ +\xef\xba-\xe7\xc4o\xfe<_\xf9\xca\xc9\xb1\x03+\xe3`\xb3\xefL\xaa\x14\'\xf5yV\ +\xb79}\xfa\x0c\xff\xe0\x1f<\xc8}\xf7}\x80\x13\'Nl\xdbo\xd9vA:\x90:\x16\xc2+\ +\xa6>-\xac\x99\xea\xb4\x1d\xa0}\x8e\xae\x14\x039\x8e\xb0\x7f\xc7_5\xe8\x02\ +\x83j1\\\xb2Q\xb1C/Lx~!\xe3\x83\xff\xfc\xec\xbeU\x8d\xb0\x07\xe48\xeco4\x13\ +\x9e\x9b9z\xcd\xac\x83\xfby \x1al\x94\x9ed\n\xfd\x83P\x9b\xd6-\xbfO\x90I\x0e\ +\xd3\x86 \x0fZ\x1c\xf03\xfe\xd5?\xfd\xe8Djj+\x01\x9aI#\xd4\x1bu\xf1\xd9\xec<\ +\xdam\x9f\xd3\xa7\xcf\xf0\xab\xbfz\x8c\xfb\xee\xbb\x8f\x7f\xf1/\xc6K\xd1\x19\ +\x07\xbe\'\xe8X\n;\xc9J\xe5\x08\xe0\xaa|`\x9a\x04\xd3\xa5\xdb\x98\xd6\xfb1Z]\ +\x97\xaec\x82.\xc6\xb7h\xd4"@/L8\xd7}\xc3@7\xff\xfd\nk\xb3\x89\xcfw\x12\x8f~\ +\xa4\xa7\xa6\xa7\xf4{\xcf\x11x6\xb4;z\x9aJ\xd7\x01\xdb\x16XB\xa02PY\xff\x82I\ +\xbb\xff\xba\x9fP\xf7{\xcc:\x95Ah)\xdcT\x10\xa7\n\x07p\x80$\x85X@\xba\xaaX\ +\x0b\x05y.p\x94\xe2k\xcf\\\xe0+\xa7^\xe4\xdd\xef~7ss\x9bG\x0f\x1d\xc7^\xf7>\ +\x08\xc2\x81\xf5\x1b}g;\xeb7:\x8f \x08\xb9x\xf1\x12\x8f>\xfaox\xf0\xc1\x07\ +\xf9\xbd\xcf?\xc1\xc5W\xd7\xcf\xa2\xb8U\xf86\x1c\x9a\x11\xcc\x1f\x00\x7f\xda\ +\xa2\xd3\x16x\xb6`\xba-\xb1<\x81+r\\_@\x0e\xa0\x88\x13E\xdb\xedk\x08s}\xf6\ +\xcbX4\xf7\x9a*4\x8bI\xd3\xe9\x05z\x16\xc64p \xb3\x08\xf3\x0e\xafv\xd7xe\xd1\ +\xe2\xbf\xfb?V\xf7=1\xc2\x1e\x94\x0f\x06\x91U\x9a\xd5Z5\n:\xad~T\xb0\xae\x8f\ +\\\xf5u\xbf`X\x85\x0c\xbf7\xc5\xfdqaV\x07\xa1B\xf8\x92PI\xfc(%\xf6$\xb3\x9d\ +\x9c\xa5\xc4B\xb8\x16w\x1eI\xf8\xdd\xaf|\x81_\xf8\x85U\x8e\x1d;\xc6]w\xe9&\ +\x14\x934v\xa8\xf3;N\xd2\x94b\x9cz\xea\x8d\xf6y\xf9r\x97\'\x9f|\x92\x87\x1f~\ +\x98S\xa7N]\x91\n\x9e\xb6\xa7\x13\xc0S\xc7\x86 A9\x02\xef\x00\x80\x85\xab\ +\xf2\xb2\x9f\xa3\t\xc8Tk\xab\xeb\xae\xd7\xb5\x84j\xbe\xe20\x0c)\x9a\xfcE\x93\ +s\x1c\xe6\x1dT\xdc\xe5\\\xf70?\xf5\xc9\xfd\x19\x95\x1e\x85]S\x8e\xbf~\x7f\ +\xac\\W\xd2\xf62\x0e\xb4\x04\xb6\xd4\xaa\xd1k\t,\x1b\xdaS\xb2|\x82I{P-\xeew\ +\xd58\xfc\xde\xfc^\x95A\xa6 \x01\xecP\x91\x03q\x94cg\x10%\x90\xc6\x8axE\xb1\ +\x9c\tO\x18F{B\x88\xa0\x831\ +\xb7\xdf\x04\x87g-\x8e\x1e\xcc\x99\x9fU\xcc\x1f\xb4\xb8\xe5`\xce\x819\x1b\ +\xdf\xd7\xdd\x8f\xaa%\x84\xc6\xe7\xa8T\xa7\xcc\xa4\xd8+\xd4\xdd\x0fu\x9d\xab\ +\xaa\xeb\x86s\x15\x87\t\xd1\xf8\x14\x97{\x8a\x95UX\\\xbb\x8d\x07\xfe\xcfK\ +\xd7=1\xc2.)G\xdf\xab4\x0f\xad\x1c1\xea\r\xd6\xb1\xea\xca\x98\xf5\xd7eT\xd3\ +\x89\x8d\xfa\xea]\r\xe4Yw\xfc\xcd\xce\xb5.U\xa4\xda\x11\xc6\x8f B\xd7\x00\ +\xf7\xd0\xad\xdfZ\xc2\xd2\xbdq\x81\x197c\xae-\xc1;\x00kz*\x00Cb\xa7O\x9f\xe1\ +\xf4\xe93|\xf9\xcb_f~~\x9e\xd9\xd9Yfgg9z\xf4(\xf3\xf3\xf3\xe5rpn\x16\xd7\xf3\ +\xa9>8\r\xf1-u\x17\xe9\x85Q\xff\xef\xa5ny\x8c\x17^8\xcb\xd9\xb3z\xe9v\x17\tC\ +\xfd#\xf6\x8a\x0c\x87\xd1\xf6\x8aVe\xb6\xc2q$\x8e\xa3[\x96I\xd7\x81\x11\xbdE\ +\xeb\x94\xe3^\x8d\xad\xcd\x8e9J-VI\xb1J\x88Q\x9a\xb0\xb8\xbaL/\x96\xfc\xecq\ +\x93\x9as\xe9\n\xfe\x82k\x0b\xbbnVG\xa9\x9e\x1fX\xe41\xad\x82\x08\x8d\x7f\'\ +\nsT\xa1\x1e\x83\xa0\xbdn\x92\xad\x8d\x08\x12\xd6\x93\xcc\xd5@\x90\xb0\xb9\ +\xe9\xb7\xc9\x1c\xb4\rv\x87\x1c\xdd\xb6\ +$\x88\x04\x14\x03\xcfs\x84nSV\xf8\xf0\xb5\xe47\xd7*\xa7*\x10=_\xa2T\xf1\xa8\ +\x0f\x18P\x95\xe6\x156\xf6\xc3\\M*r\\\x98\xe8\xbdG_9\xae,i\x82\x94\x9e\xc0\ +\x8b\x14K\xf1\xe8\xef\xcf\xb5\x05\x9dV\xdf\xef\xd8\xa0\x0f\xdfV\xb4s=\xe6\ +\xa4\xad]>Y"P2\x83V\xfdw\xaa\xcaq7a\xc6\xf5\xf0l\x9cB\xe8\x08:\x14\xfeD\xd6\ +\x07Z41\xc6\\XLY]\x93|\xf3l\xc2?9qI\xc0\x08\xe9\xdc`\x00\xbbB\x8e\xa6\x1d\ +\x94\t\xc8\xe8^\x8e\xa24\xad\x8d\x82\xd4\xe8\xfb \xc1(\xa6~\x8b\xa4\x18m\x82\ +\xaf\x04\x19\x9e\xdf\x1f %\n\x02\xad\x8bv\x0f\x97\xeb\xd5\xa9\xd1\xab\x85@M\ +\x128\xf4U\xa3\xebAR(\xc7H\t\x8c\x9f,\x8crz\x11\xa8X?|\x1cG\xd2v\x15\xed\x9a\ +9Q\xaew\x98H\xb5A\x9e\xe6\x80,\xa3\xd5\xa0\xdb\x96\xb5\x00Z\xfd\xff\xbf\xdb\ +\xb6vu|\xd4)\xc58Z\xc1\xf3e\xa5\xc7\xe4\xca@\xb3YC\x8a\xbdP\x11\xc7\xd0\xeb\ +\xc5\xac\xac\xc2\xd3\xcf\xa7\xfc\x93\x13\x1d\xa1\xb5p\x83q\xb1K\xe4\x98a9\ +\x16\x8b\xab\xb2\xccu\x04=gG\x1c+\\7\x86P\xcf\xdf\xa1\xdb!1`j\x03\x03\x84Y>!\ +\x87\x88\x13\n\x85\x15\xe4\x03\r,\x8cof#B\xac3\xd7\xaf\x06\xa2\x8csU\xde\x10\ +q\xd4oI\x9fG9y*\x88\x83BM\xda\x92R\x99\xcb\x1c\x10\x1c=$\xb9\xb8\x947\xeaq\ +\x0cd\x89\x00O\x8fI\x7fz}\xaec\x94\xb5\xcb\xda\xbf\x88\xc7\xee\ +\xd3W\xbf\xe3\xe6eJ\xc5r\xa8s\xf6\xa0 \xce\x02a\x94\x97\x84\x00\x10\x14fy\ +\xdb\xcb A\x93f\xaf\xf8NA\x9c\xb1\x1d\x93\xa7\x82\x90DW\xe6\x84\xfd\xe6\xba\ +\xbdP\x95\xed\xa9\x8cYnL\xf2*i\x9a\x9b\x02XG\x94\xb0q\xc4{\x14\x89\xd6\xa9\ +\xcd\xf2w\x05ZE\xe8\xf4\xa5\xc1$\xde8\xd6\xbf\'\x88$Y\x92\xb1\xb4\xaa\xa3\ +\xd4i\x02a\xa4H\x8b\'\x8aok\x1fm\xb0A\xaa\xcf\xf5\x8e$\xc9\xe9\x14\xa3\xbf\ +\x17\xe9q\x93%\x19\x01\x16m2\xc2\xc2\xafk\xa6Mp\xa4\x1e\x0b^\x91~f\x12\xc3a=\ +\t\x8e"\xc8a\xf7\xccb\x9e\x0f4\x13\x81Ab\x1cl\x04\xd1\xdf\xc6\x90b\x18\xe5\ +\x9c9\xab\xf8\xe7\xffO\xa3\x16\xaf\x04\xf6\xb4\xf1\xc4\xb1\'\x06\x1d\x84\xc7\ +\xee\xeb)O\xe4\xc4\xe8\xa6\x00\xbdHGa5aB\xd1\x81\x14\xdf\xd3f\x84\xefIV*V\ +\xf4\xf4\x14eD\x1c(\x02>\xfd\xa0\x05h\xc5\x19%\n\xcf\x11\x84\x81\x99\xa6\xa1\ +O\x98\xbetK\x85i\xa2\xe6+]U!N\xad,uJ\xd1tm\xda\xd0\xa8\x9cK\xb3\xcelkP\xfd\ +\xbc\xdd\x0e\xe8.\xf6UD\xbf\xaf\x9e&F\xad\x1a3\xc2Bm\x0fw\x96I\x13X\x8a\xad\ +\xf2\x7f\xd5@\xc3\xaf\x19\xe9K\xc5Cq\xaah\xc0\x1cF9>\x109\x12!\x04>\x19*\xd6\ +\xbe\xc7\x08=\x16\x062$\x8a\x1c\xdcQ\xb9\xb6\xc3\xef\xa1oBGa\x8e\xcd`\xfe*\ +\x0c\xe6(\x1aR\xacNc\xbc\xb2\xaa_\x17^\xcd\xf9\x1f~\xa7Q\x8bW\x12WUg\xbaZ\ +\xb2Lr"%\x89\x85\x1e\x92\xb6\x03\xadr\x06\xa4a\x02\xd0\xe9,\x860\xab\xbeL\ +\x83(7&ia6%}\x13=\x16\x92Pi3\xdd-\x9c\xf7\x860#\x92\x81\xc89\x14\xc9\xb7\x1e\ +\xb5iC\xa30\xac2\xaaA\xa0(k#z\xc6\xf7\xd4\xdf\xc6\xe4\xad\x99\x9b$\x8cr\xa2D\ +?<\xf4\xdf\x8a\xd5\x10\xd6R\x08SA\x92\xe4\xc4\xc5\x1c4\x8dz\xd4\xa8V\n\x05\ +\xf1 Y\xa6\ttWa\xb6 \xc98\xc8\xf1$Z=\xb6\x07}\x8f&\xbd\x07t3\x8a8\xd2\xa6vY\ +\xa8\xc0\xe0\x18\xc8"\xad2\x95\xea\xacK\xcb\xd1s?\xe7\x03\x84h\xd0\x0b\x13\ +\x96\x8b\xf5Ad\x95\xd3\x8b\x84Q\xce\xcb\x97ecF\xef\x02v\xa5+\xcfN\xe1\xc1\ +\x0f\xf4\x94)z\xf2D\x8e]\x8c\xa5\x96\xa7\xcd\xa2(\x194\xc5A\xabL\xa3\xb2\xaa\ +\r0\x86a\x88\xd4\x04\x83\xa2\\\xea\xa6\x0eE\xc5\x84\x83\xf6e\xb6\xaau\xb7\ +\xad\xf5\xe9E\xe6\xc61\x84Y\x8d\x84\x0f\xe7\xc9\r;\xe4\xfbiH\xfd\xfc5C\x8cF5\ +\x1as\xaa\xbb\xda7\xa7WC\x88\x85\xa0\x17h\x7f\xe3\xe2\x9a&\xc9W\x03\xc1\xf3\ +\x172^lz\t\x00\xf0\x86\x9buY\xe5\\[p\xb0\xad82\xa3\x98i\xc1\x94\x0fSS\xa2\ +\x1cG\xbe\'\xb1\x1c\xdd\xb1\xbe\xd5\x02\xd7\xa5\xbc\xee\xe6ZW\xfd\xd40\xd81\ +\xdc\x94\x1c\x1aB4\xeb\xaa\x18\xf6+\xf6\xa3\xcf\xa24\xa1\x17Wei%\x18\xcb\xe7\ +\x1b\xaf\xc0\xa7\xfe\xa0!\xc6\xdd\xc0U\xa5\x1c7\xc3C\xff\xa1\xcfB\xff\xe3\ +\xbdkJ\xe4\x92\x19\x99\xb3\x92\xf4U\xa51\xc5=KGq\xa3\xca<\x9b\xe6}\x95@K\xf2\ +\x8c\xf2\x81`\x90\xe5\x08\x02,\xa2\\\x93\xa5\xf1i\xaaX\x9b\xe1FMV#\xe4U\x13|\ +\xd8\xfc\x8e\xa3\x15\x84\x18,\x85\xec\x13\xe2zG\xbc!EXO\x8cQ\xd2\'F\x83^\xa0\ +\xdf\xafF\x9a\x18\x8db\\\xab\xa495\x18D\x98\nf*\xddx\x8c\xef\xd1 \xca%\xf4r\ +\x1c\x04=\xfa\xd7\xdc\x04h\xea\xf2k\rI\xae\xab\xec\xaaI\xc91J1\xccc &\x0cDi\ +\x1d\xe8k]\xb8w\x12\xb8\xb4"\xf9\xe6E\xc5c\x7f\xd2n\x88q\x97pM)\xc7Q\xf8\xb9\ +\xff\xea\xa0\x9a\xb1\xbf\x03\x80\xed\n|\xa9\x10\xae\x85\'\xd6\xfb\xddlg\xdd*\ +Z\xc3*\xc0\xa1hce\x9a\x12heiJ\xcc<\xa9\x9b<\xf8VV\x9a\xdf\xd5\x94\xa2a\x98\ +\xb6l\xe6\x86\xaa{\x85\xc1\xf2/\xa0\xbcY\x82H\xab\xda\xb5\xd5\xa44\xa7WW\xb5\ +b\x04mN\x1b_c\xd0\xcbKr<{)\xe7\x1b\xaf\x8c\xf3\x1f\\\x8f\x03\x07\xaen\'\xff\ +\xf2\xf2\xaa\x82\xb7\x00\xcf\xd0\x7f\xdd\x18\xb7\x1d\x82#\xb3\x02\xdf\x95\ +\xdc\xd0V\x1c\x9c\x16\xcc\xb8\x19\xb7\xcc\xe9Vf\xb6C\xadz\xac^\xeba\xcb\xa1\ +\x0e\x83\xd5\\\xfa\xd5X\x02\xd0W\x89\xc0\x80U\x10\xe5\x92,\x11\x03j\xf1\xd2\ +\x8ad\xe1r\xc6+\xdd7\xf2\xf9?\x7f\xe9\xaa\xbe&\xfb\r\xfb\x82\x1c\xeb\xf0s\ +\xef[U\xad\xb6(;\xaf\x00\xf8\xb2H\xf1\xf1\xea\xc7X\x958\x8d\xfa\x14\x8e\x83J\ +\x92\xf2\x86107\x0e\xe8\\LW\xe5E\x1e\xa6(\x95\xa5\xc9\xbd\x1cN!2\xd1\xcf\xf5\ +\xa9\x1a\x83\xa4\x08}\x07\xbc\xb9Y\xb4\xa2(Tb\xd8\'\xc60\x15\xacFzv\xc2\xcb\ +\x81`1P\x9c\xeb\xaau&\xf5\xd5Nz;\x89\xe5\xe5\xdbU\x954\x0fv\xe0\xce\xdb\xf5\ +\x83\xe6\x86\xb6b\xdaW\xcc\xcf*:\xc5\x8c\x84\xe6\xfa\x1b\xdf\xe30A\xba*/\x03\ +xu\x0fC\xe3f1\xe8\xfb\xa85\xcc\xf5\x1d&D\xa0,\x035.\xa0\xe5P\xb2\x12\xd0\xa8\ +\xc5=\xc4\xbe%\xc7*~\xfc\x9d=\xe5\xf8\x8a\x03E\x8a\x90\xe3\x08\\\xd5\x1f\xb4\ +Fm\x86\xb9\xa0\xe5\xcb\x01\xc5i;\x94iF&\xc5\xa8\xd5q\x06\x14\xa5~\xed\xefO\ +\xd76S*\x0e`\x9d\xc240\n\xc2\xf8\x9a\xea"\x93a\x94si\xd1\xbc\xef+F\x13m\rSA\ +\x94\xcbR5\xbe\x1a\x08\xcew\xb3\x01\xd5x=\x91\xe2Fx\xe3Mk\xcaw%-[\xad\xf3;\ +\xd6\xa9G\xd0]\xa5\xa0o1\x98\x07\xa1;f\xf5\xd1\xb0{\xc4\x10"P*\xc5XY\xe4q\ +\xdf2x5\x92|\xe7RC\x8c{\x89k\xca\xe7\xb8U\xfc_\xffe\xd0\xfe\xb9\xef{\xd6\x94\ +\xe3X%\x89\xf9\xb6*T\x83"Hr\xda\x0e\x08O\xe2%\x19D \\\x1d\x002\x81\xdf^\x94\ +\x94\xca\xd2s\xd6\x07{2\x13%\x8f ,\xf21\xfdL\x9f\xc22YI\x98\xba\xa6\xdc\xa8\ +\xc4\xc1\xc8\xa4Q\x10\xdd\xd5\xfey\x8f"\xc6\xd5\xa2\xfe\xd7\x98\xd3a\x9csqi[\ +\xff\xb2}\x0b\xdf\x1d\x0c\xca\x85\xa9\xc0N\x15S\xe8\xff\xef\x94#J\xdfcX\xf8\ +\xa1\xe3 \xc7r,\x02,\xac\\\xa1\xa4\x9e\x12\xb2\xd7\xa3\xac\xdc\xcaS\xfd:\x0c\ +C\x88\x1a\x9a\x18\x8dJ\x84\xaaR\x04\xd0j\xb1\x17\xe6\xbc\xba\x94\xf1XS\xed\ +\xb2\xa7\xb8.\x94\xe3f\xf8k\xaf\x0f\x94o+\x1c\x1b\xa6\xbc>Y\xd6)\xccV\xe1p\ +\xafF\xcb\xab\xcaR8\x85\xaf\x92\x04\xe9\xf6\x15\xa6A]z\x91A\x95\x14\x8d\t\r\ +\x83\xa4\x08\x83\xc4\x08\x0c\x98\xd3\xbdT\xab\xc6\x17.\xf4\xd3W\x1a\xd58\x88\ +\xbbn\xed\xa9\x96\xad[\xbaM\xfb\x8aC\x9d\xbez\x84~\xe4\x1aX\xe7N\x81\x8d\xad\ +\x05\x83\xaa:\x84\xbeB\xacbiU\x7f\xc7$\xf2w{\x10$\xb0\xd0\x95\xeb\x1e\xe8\rv\ +\x1f\xd7\x85r\xdc\x0c\x7f\xf0\xcdA\xd3\xe5\xaf\xbfyM9\xb6\xee\x8b\x08z\xe0\ +\xfb\xb6\x82\x9e\xc2\x0e2:6\xf4\\\x81\x1f\x15\x81\x9f"\n\xae\x93\xd7\xb5\xaa\ +\x0c\x91\x10f\x85\xba\x84\x18\x07\x97\xa4,\x95\x94\xaeC\x1eW\x9ag\x14o\xab\ +\x15/\xbe\'F\xaaE\xa0P\x8c\x9a\x18\xcd\xba0\xcey\xe1\x02\xb8\xed)\xd1\xf4\ +\x9c\x18\x8d^\xaa+`|\xbb\xf8\xdf\xf5T\xe9^IbPz\xa9\x00\x00\x03\x9bIDAT\x13\ +\xe8\xa1\xcdk}]\xf2\x92 M\xa28P\xf6\x070\xaa\xb2\x0eUB\xac>\xf8\xca\xf3\x88`\ +-\x96\x85ZT\\Xk\x02/W\x0b\x1a\xe58\x06\xdes\xfb\x8c\x9a\xf2\xceQ\xa7.M\t\xda\ +\xa8(\xf9\xb0\xba4\xa8\xb6\x18\xabV\xb9T\xd3s\xc6Q\x8b\xa0\x15#@7\xb8\x99g/t\ +\x9b\x1bk\x13\xbc\xe9\xa6Y\xe5\xb9\xe70\xea\xd1\xb7\xb5\xef\xd1\\\xcfa\xffc\ +\x15\xc3i`\xa0I\xaf\xceJ(\xcd\xf2\xc2\x9f\x08\x9a\x18u\xa3\x10\x88{\xba\xc0\ +\xa1\x17\xe6\xbc\xfc*\x9c[\x12\xeb\x1e\xd4\r\xf6\x0e\r9N\x88\xf7\x1d\r\x94\ +\xb9\xa1\x1c\x1b\x0eu4\x99\xb5\xda}\x13\xbc\x1a\xe01\x11r\xd0\x01\x1a\xd0&\ +\xb9!A\xa3\x0e\r\x86\tq\xa6U\xe7_\x1c$\xc6^A\x98\xa7^jL\xb1qq\xd7\xad:\xac\ +\xbc\x19A\x02%IF\x99,\x83r\x06\xa6\xf8\xc0\xbc7\x88\x862\xba\xa2L\x96\x0f\ +\xc44\xa1$\xc5\xa5@\xb1\xda\x13\x9c\x0f\x04\xbf\xffLC\x8cW\x13\x1ar\xdc\x06\ +\x0cQ\x1e\x9c\xd6cz\xc6\xcdJ\xa5h\xfc\x95\xa6\x8c\xaf\xed\xe8\xfe\x81\x06S\ +\xfe \x11\xd6a\xa9\x92\xc0=\xac\x18\xcd\xdf\xaf\x06\x82(>\xd2(\xc6-\xa0\x8e \ +\xe7:\xfau\xa6\xd5\x7f\xc8\x19\x92t[\x9a\xe0F\x11\xe5F0\xe6\xb3\x8a3\xc2\\\ +\x10$\x94\x15M\x8db\xbc:\xd1\x90\xe3\x0e\xa0\xaa&\xdb-\xd9\xf7Q\x0e\xa1\x9aG\ +\xd9\xb1u\x8e\xa2y\xbf4\xa2\x92eX-V\xab_\x16\x03\x85\xe0\x96\x86\x18\xb7\x81\ +jjO\xd5"\x98\xf2`\xaa\xa5p\x1c\x9d+[%\xc9\xe1|X\x18t\x93H[\x93h\xd5]RU\x8a&/\ +5\xca%\x97WTC\x8cW)\x1ar\xdca\x18\xa2\x84\xfe\x8d\x06:\xb8S\x8dh\xd6\x91\'\ +\xf4\x15a\x15U\xff\xe209\x9e\xb9\xd0\xd4\xd9n\x17FA\x02\x9b\x92\xa4A\x95,\ +\xab0.\x12\xe3B\xe9\x859A\x02I\xa2\xcd\xe7(\x97$IN\x92\xc2\xa5\xb5\x9b\xf9\ +\xda\x0bK\xcd\xf5\xbbJ\xd1\x90\xe3\x15B5]\x04\x06\xc9p\xae\xa3\to\xca\x1b|\ +\x1dFR\xe9$cH\xb1\x97\n\xc28o\x14\xe3\x15@\xd5\xcc\x06\xd6\x91$\xf4\xaf\xe3p\ +0.H(\xdd(I\xa2\xd5\xa1\xed\xc0r&I\xc2"`\x16*V\xd7 WG\x1aR\xbc\x06\xd0\x90\ +\xe3.\xc0\x10%\xf4o8\xa0T\x95U\x12\x84A\xf5Xm9\xd6\x04^\xae<\x8c\x99\r\x83$\ +\t:\'\x12\x06S\xbc\x0c|[\x95\xa6\xb2AR\xa4x\xad\x84\x82\xd5\xe8\x08Q\xb6\xd0\ +\\\xbbk\x08\r9\xee2\xaaD\xb9\x19z\x15\x92ln\xaa\xddG\xd5\x1f\xd9K\xc5\xc0\ +\x9c\xd7\x96\x9b\xe3Q\xdf\x02\xafy\xa0\xed\x0f4\xe4\xb8\xc7\xb8\xeb\xd6\x9e\ +\n\xe3\x1c\xdf\x95\x84qQ\x8aX\xbco\xfc\x89W\x0f\xaa~\xc9q\xd0\x90\xe1\xb5\ +\x8f\x86\x1c\x1b4h\xd0\xa0\x06\xa3[c7h\xd0\xa0\xc1u\x8c\x86\x1c\x1b4h\xd0\ +\xa0\x06\r96h\xd0\xa0A\r\x1arl\xd0\xa0A\x83\x1a4\xe4\xd8\xa0A\x83\x065h\xc8\ +\xb1A\x83\x06\rj\xd0\x90c\x83\x06\r\x1a\xd4\xa0!\xc7\x06\r\x1a4\xa8AC\x8e\r\ +\x1a4hP\x83\x86\x1c\x1b4h\xd0\xa0\x06\r96h\xd0\xa0A\r\x1arl\xd0\xa0A\x83\x1a\ +4\xe4\xd8\xa0A\x83\x065h\xc8\xb1A\x83\x06\rj\xd0\x90c\x83\x06\r\x1a\xd4\xa0!\ +\xc7\x06\r\x1a4\xa8AC\x8e\r\x1a4hP\x83\x86\x1c\x1b4h\xd0\xa0\x06\r96h\xd0\ +\xa0A\r\x1arl\xd0\xa0A\x83\x1a4\xe4\xd8\xa0A\x83\x065h\xc8\xb1A\x83\x06\rj\ +\xd0\x90c\x83\x06\r\x1a\xd4\xa0!\xc7\x06\r\x1a4\xa8AC\x8e\r\x1a4hP\x83\xff\ +\x1f#)\x1ae\xc4\xe8lg\x00\x00\x00\x00IEND\xaeB`\x82' + +def getTuxBitmap(): + return wxBitmapFromImage(getTuxImage()) + +def getTuxImage(): + stream = cStringIO.StringIO(getTuxData()) + return wxImageFromStream(stream) + diff --git a/wxPython/demo/infoframe.py b/wxPython/demo/infoframe.py index 7f19771460..24ea6570e1 100644 --- a/wxPython/demo/infoframe.py +++ b/wxPython/demo/infoframe.py @@ -9,10 +9,10 @@ class MyFrame(wxFrame): wxFrame.__init__(self,None,-1,"Close me...",size=(300,100)) menubar = wxMenuBar() menu = wxMenu() - mID = NewId() + mID = wxNewId() menu.Append(mID,"&Enable output","Display output frame") EVT_MENU(self,mID,output.EnableOutput) - mID = NewId() + mID = wxNewId() menu.Append(mID,"&Disable output","Close output frame") EVT_MENU(self,mID,output.DisableOutput) menubar.Append(menu,"&Output") @@ -63,10 +63,10 @@ if __name__ == "__main__": ## EVT_CLOSE(self,self.OnClose) ## menubar = wxMenuBar() ## menu = wxMenu() -## mID = NewId() +## mID = wxNewId() ## menu.Append(mID,"&Enable output","Display output frame") ## EVT_MENU(self,mID,output.EnableOutput) -## mID = NewId() +## mID = wxNewId() ## menu.Append(mID,"&Disable output","Close output frame") ## EVT_MENU(self,mID,output.DisableOutput) ## menubar.Append(menu,"&Output") diff --git a/wxPython/demo/run.py b/wxPython/demo/run.py index fcf5bd9029..7b83f581fa 100755 --- a/wxPython/demo/run.py +++ b/wxPython/demo/run.py @@ -17,9 +17,9 @@ directory within its own frame window. Just specify the module name on the command line. """ +import wx # This module uses the new wx namespace import sys, os -from wxPython.wx import * #---------------------------------------------------------------------------- @@ -27,32 +27,34 @@ class Log: def WriteText(self, text): if text[-1:] == '\n': text = text[:-1] - wxLogMessage(text) + wx.LogMessage(text) write = WriteText -class RunDemoApp(wxApp): +class RunDemoApp(wx.App): def __init__(self, name, module): self.name = name self.demoModule = module - wxApp.__init__(self, 0) ##wxPlatform == "__WXMAC__") + wx.App.__init__(self, 0) def OnInit(self): - wxInitAllImageHandlers() - wxLog_SetActiveTarget(wxLogStderr()) + wx.InitAllImageHandlers() + wx.Log_SetActiveTarget(wx.LogStderr()) - frame = wxFrame(None, -1, "RunDemo: " + self.name, pos=(50,50), size=(0,0), - style=wxNO_FULL_REPAINT_ON_RESIZE|wxDEFAULT_FRAME_STYLE) + #self.SetAssertMode(wx.PYAPP_ASSERT_DIALOG) + + frame = wx.Frame(None, -1, "RunDemo: " + self.name, pos=(50,50), size=(0,0), + style=wx.NO_FULL_REPAINT_ON_RESIZE|wx.DEFAULT_FRAME_STYLE) frame.CreateStatusBar() - menuBar = wxMenuBar() - menu = wxMenu() + menuBar = wx.MenuBar() + menu = wx.Menu() menu.Append(101, "E&xit\tAlt-X", "Exit demo") - EVT_MENU(self, 101, self.OnButton) + wx.EVT_MENU(self, 101, self.OnButton) menuBar.Append(menu, "&File") frame.SetMenuBar(menuBar) frame.Show(True) - EVT_CLOSE(frame, self.OnCloseFrame) + wx.EVT_CLOSE(frame, self.OnCloseFrame) win = self.demoModule.runTest(frame, frame, Log()) @@ -68,9 +70,9 @@ class RunDemoApp(wxApp): # otherwise the demo made its own frame, so just put a # button in this one if hasattr(frame, 'otherWin'): - b = wxButton(frame, -1, " Exit ") + b = wx.Button(frame, -1, " Exit ") frame.SetSize((200, 100)) - EVT_BUTTON(frame, b.GetId(), self.OnButton) + wx.EVT_BUTTON(frame, b.GetId(), self.OnButton) else: # It was probably a dialog or something that is already # gone, so we're done. @@ -79,8 +81,8 @@ class RunDemoApp(wxApp): self.SetTopWindow(frame) self.frame = frame - #wxLog_SetActiveTarget(wxLogStderr()) - #wxLog_SetTraceMask(wxTraceMessages) + #wx.Log_SetActiveTarget(wx.LogStderr()) + #wx.Log_SetTraceMask(wx.TraceMessages) return True diff --git a/wxPython/demo/simple.py b/wxPython/demo/simple.py index 6b28148228..07a750c639 100644 --- a/wxPython/demo/simple.py +++ b/wxPython/demo/simple.py @@ -5,38 +5,38 @@ # structure of any wxPython application. #---------------------------------------------------------------------- -from wxPython.wx import * +import wx # This module uses the new wx namespace -class MyFrame(wxFrame): +class MyFrame(wx.Frame): """ This is MyFrame. It just shows a few controls on a wxPanel, and has a simple menu. """ def __init__(self, parent, title): - wxFrame.__init__(self, parent, -1, title, size=(350, 200)) + wx.Frame.__init__(self, parent, -1, title, size=(350, 200)) - menuBar = wxMenuBar() - menu = wxMenu() + menuBar = wx.MenuBar() + menu = wx.Menu() menu.Append(101, "E&xit\tAlt-X", "Exit demo") - EVT_MENU(self, 101, self.OnButton) + wx.EVT_MENU(self, 101, self.OnButton) menuBar.Append(menu, "&File") self.SetMenuBar(menuBar) - panel = wxPanel(self, -1) - text = wxStaticText(panel, -1, "Hello World!") - text.SetFont(wxFont(12, wxSWISS, wxNORMAL, wxBOLD)) + panel = wx.Panel(self, -1) + text = wx.StaticText(panel, -1, "Hello World!") + text.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD)) text.SetSize(text.GetBestSize()) - btn = wxButton(panel, -1, "Close") + btn = wx.Button(panel, -1, "Close") btn.SetDefault() - sizer = wxBoxSizer(wxVERTICAL) - sizer.Add(text, 0, wxALL, 10) - sizer.Add(btn, 0, wxALL, 10) + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(text, 0, wx.ALL, 10) + sizer.Add(btn, 0, wx.ALL, 10) panel.SetSizer(sizer) panel.SetAutoLayout(True) panel.Layout() - EVT_BUTTON(self, btn.GetId(), self.OnButton) + wx.EVT_BUTTON(self, btn.GetId(), self.OnButton) def OnButton(self, evt): @@ -44,7 +44,8 @@ class MyFrame(wxFrame): print "OnButton" self.Close() -app = wxPySimpleApp() + +app = wx.PySimpleApp() frame = MyFrame(None, "Simple wxPython App") frame.Show(True) app.MainLoop() diff --git a/wxPython/demo/template.py b/wxPython/demo/template.py index 9be55905b9..8be058bfee 100644 --- a/wxPython/demo/template.py +++ b/wxPython/demo/template.py @@ -1,12 +1,12 @@ -from wxPython.wx import * +import wx # This module uses the new wx namespace #---------------------------------------------------------------------- -class TestPanel(wxPanel): +class TestPanel(wx.Panel): def __init__(self, parent, log): self.log = log - wxPanel.__init__(self, parent, -1) + wx.Panel.__init__(self, parent, -1) #---------------------------------------------------------------------- diff --git a/wxPython/demo/wxCalendar.py b/wxPython/demo/wxCalendar.py index 5c14011608..3b8499d7ce 100644 --- a/wxPython/demo/wxCalendar.py +++ b/wxPython/demo/wxCalendar.py @@ -61,7 +61,7 @@ class TestPanel(wxPanel): monthlist = GetMonthList() - mID = NewId() + mID = wxNewId() self.date = wxComboBox(self, mID, "", wxPoint(100, 20), wxSize(90, -1), monthlist, wxCB_DROPDOWN) @@ -89,7 +89,7 @@ class TestPanel(wxPanel): # scroll bar for month selection - mID = NewId() + mID = wxNewId() self.scroll = wxScrollBar(self, mID, wxPoint(100, 240), wxSize(200, 20), wxSB_HORIZONTAL) self.scroll.SetScrollbar(start_month-1, 1, 12, 1, True) EVT_COMMAND_SCROLL(self, mID, self.Scroll) @@ -99,7 +99,7 @@ class TestPanel(wxPanel): self.dtext = wxTextCtrl(self, -1, str(start_year), wxPoint(200, 20), wxSize(60, -1)) h = self.dtext.GetSize().height - mID = NewId() + mID = wxNewId() self.spin = wxSpinButton(self, mID, wxPoint(270, 20), wxSize(h*2, h)) self.spin.SetRange(1980, 2010) self.spin.SetValue(start_year) @@ -109,7 +109,7 @@ class TestPanel(wxPanel): wxStaticText(self, -1, "Test Calendar Dialog", wxPoint(350, 50), wxSize(150, -1)) - mID = NewId() + mID = wxNewId() bmp = images.getCalendarBitmap() self.but = wxBitmapButton(self, mID, bmp, wxPoint(380, 80))#, wxSize(30, 30)) EVT_BUTTON(self, mID, self.TestDlg) @@ -118,13 +118,13 @@ class TestPanel(wxPanel): wxStaticText(self, -1, "Test Calendar Window", wxPoint(350, 150), wxSize(150, -1)) - mID = NewId() + mID = wxNewId() self.but = wxBitmapButton(self, mID, bmp, wxPoint(380, 180))#, wxSize(30, 30)) EVT_BUTTON(self, mID, self.TestFrame) wxStaticText(self, -1, "Test Calendar Print", wxPoint(350, 250), wxSize(150, -1)) - mID = NewId() + mID = wxNewId() self.but = wxBitmapButton(self, mID, bmp, wxPoint(380, 280))#, wxSize(30, 30)) EVT_BUTTON(self, mID, self.OnPreview) @@ -299,17 +299,17 @@ class CalendFrame(wxFrame): def MakeFileMenu(self): menu = wxMenu() - mID = NewId() + mID = wxNewId() menu.Append(mID, 'Decrement', 'Next') EVT_MENU(self, mID, self.OnDecMonth) - mID = NewId() + mID = wxNewId() menu.Append(mID, 'Increment', 'Dec') EVT_MENU(self, mID, self.OnIncMonth) menu.AppendSeparator() - mID = NewId() + mID = wxNewId() menu.Append(mID, 'E&xit', 'Exit') EVT_MENU(self, mID, self.OnCloseWindow) @@ -318,23 +318,23 @@ class CalendFrame(wxFrame): def MakeToolMenu(self): tb = self.CreateToolBar(wxTB_HORIZONTAL|wxNO_BORDER) - mID = NewId() + mID = wxNewId() SetToolPath(self, tb, mID, images.getDbDecBitmap(), 'Dec Year') EVT_TOOL(self, mID, self.OnDecYear) - mID = NewId() + mID = wxNewId() SetToolPath(self, tb, mID, images.getDecBitmap(), 'Dec Month') EVT_TOOL(self, mID, self.OnDecMonth) - mID = NewId() + mID = wxNewId() SetToolPath(self, tb, mID, images.getPtBitmap(), 'Current Month') EVT_TOOL(self, mID, self.OnCurrent) - mID = NewId() + mID = wxNewId() SetToolPath(self, tb, mID, images.getIncBitmap(), 'Inc Month') EVT_TOOL(self, mID, self.OnIncMonth) - mID = NewId() + mID = wxNewId() SetToolPath(self, tb, mID, images.getDbIncBitmap(), 'Inc Year') EVT_TOOL(self, mID, self.OnIncYear) diff --git a/wxPython/demo/wxCalendarCtrl.py b/wxPython/demo/wxCalendarCtrl.py index 7afc4c37d7..787ab71ae0 100644 --- a/wxPython/demo/wxCalendarCtrl.py +++ b/wxPython/demo/wxCalendarCtrl.py @@ -11,7 +11,10 @@ class TestPanel(wxPanel): self.log = log cal = wxCalendarCtrl(self, -1, wxDateTime_Now(), pos = (25,50), - style = wxCAL_SHOW_HOLIDAYS | wxCAL_SUNDAY_FIRST) + style = wxCAL_SHOW_HOLIDAYS + | wxCAL_SUNDAY_FIRST + #| wxCAL_SEQUENTIAL_MONTH_SELECTION + ) EVT_CALENDAR(self, cal.GetId(), self.OnCalSelected) @@ -55,3 +58,12 @@ version described in the docs. This one will probably be a bit more efficient than the one in wxPython.lib.calendar, but I like a few things about it better, so I think both will stay in wxPython. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxCheckBox.py b/wxPython/demo/wxCheckBox.py index e2e81e3f28..529de660bb 100644 --- a/wxPython/demo/wxCheckBox.py +++ b/wxPython/demo/wxCheckBox.py @@ -11,7 +11,7 @@ class TestCheckBox(wxPanel): wxStaticText(self, -1, "This example uses the wxCheckBox control.", wxPoint(10, 10)) - cID = NewId() + cID = wxNewId() cb1 = wxCheckBox(self, cID, " Apples", wxPoint(65, 40), wxSize(150, 20), wxNO_BORDER) cb2 = wxCheckBox(self, cID+1, " Oranges", wxPoint(65, 60), wxSize(150, 20), wxNO_BORDER) cb2.SetValue(True) @@ -51,3 +51,11 @@ overview = """\ A checkbox is a labelled box which is either on (checkmark is visible) or off (no checkmark). """ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxCheckListBox.py b/wxPython/demo/wxCheckListBox.py index 434ecf2e06..8eec482923 100644 --- a/wxPython/demo/wxCheckListBox.py +++ b/wxPython/demo/wxCheckListBox.py @@ -70,13 +70,15 @@ def runTest(frame, nb, log): +overview = """\ +""" - -overview = """\ -""" - +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxChoice.py b/wxPython/demo/wxChoice.py index 9cd83ce3b2..d92f4f8e45 100644 --- a/wxPython/demo/wxChoice.py +++ b/wxPython/demo/wxChoice.py @@ -46,3 +46,13 @@ def runTest(frame, nb, log): overview = """\ A choice item is used to select one of a list of strings. Unlike a listbox, only the selection is visible until the user pulls down the menu of choices. """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxColourDialog.py b/wxPython/demo/wxColourDialog.py index c4d42aebbf..151db30873 100644 --- a/wxPython/demo/wxColourDialog.py +++ b/wxPython/demo/wxColourDialog.py @@ -29,3 +29,13 @@ This class represents the colour chooser dialog. """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxComboBox.py b/wxPython/demo/wxComboBox.py index 37e52cbb37..13e8fced0d 100644 --- a/wxPython/demo/wxComboBox.py +++ b/wxPython/demo/wxComboBox.py @@ -15,6 +15,7 @@ class TestComboBox(wxPanel): wxPanel.__init__(self, parent, -1) sampleList = ['zero', 'one', 'two', 'three', 'four', 'five', + ##'this is a long item that needs a scrollbar...', 'six', 'seven', 'eight'] wxStaticText(self, -1, "This example uses the wxComboBox control.", @@ -23,6 +24,11 @@ class TestComboBox(wxPanel): wxStaticText(self, -1, "Select one:", wxPoint(15, 50), wxSize(75, 18)) cb = wxComboBox(self, 500, "default value", wxPoint(90, 50), wxSize(95, -1), sampleList, wxCB_DROPDOWN)#|wxTE_PROCESS_ENTER) + ##import win32api, win32con + ##win32api.SendMessage(cb.GetHandle(), + ## win32con.CB_SETHORIZONTALEXTENT, + ## 200, 0) + EVT_COMBOBOX(self, 500, self.EvtComboBox) EVT_TEXT(self, 500, self.EvtText) EVT_TEXT_ENTER(self, 500, self.EvtTextEnter) diff --git a/wxPython/demo/wxEditableListBox.py b/wxPython/demo/wxEditableListBox.py index b8816cad1d..97b951a6e0 100644 --- a/wxPython/demo/wxEditableListBox.py +++ b/wxPython/demo/wxEditableListBox.py @@ -40,3 +40,12 @@ overview = """\ This class provides a composite control that lets the user easily enter and edit a list of strings. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxFileDialog.py b/wxPython/demo/wxFileDialog.py index a73dc06970..a87dc17194 100644 --- a/wxPython/demo/wxFileDialog.py +++ b/wxPython/demo/wxFileDialog.py @@ -1,5 +1,6 @@ from wxPython.wx import * +import os #--------------------------------------------------------------------------- @@ -8,12 +9,18 @@ wildcard = "Python source (*.py)|*.py|" \ "All files (*.*)|*.*" def runTest(frame, nb, log): - dlg = wxFileDialog(frame, "Choose a file", "", "", wildcard, wxOPEN|wxMULTIPLE) + log.WriteText("CWD: %s\n" % os.getcwd()) + dlg = wxFileDialog(frame, "Choose a file", os.getcwd(), "", wildcard, + wxOPEN + | wxMULTIPLE + #| wxCHANGE_DIR + ) if dlg.ShowModal() == wxID_OK: paths = dlg.GetPaths() log.WriteText('You selected %d files:' % len(paths)) for path in paths: log.WriteText(' %s\n' % path) + log.WriteText("CWD: %s\n" % os.getcwd()) dlg.Destroy() #--------------------------------------------------------------------------- @@ -24,14 +31,14 @@ def runTest(frame, nb, log): +overview = """\ +This class provides the file chooser dialog. +""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) - - - -overview = """\ -This class represents the file chooser dialog. - -""" diff --git a/wxPython/demo/wxFileDialog_Save.py b/wxPython/demo/wxFileDialog_Save.py new file mode 100644 index 0000000000..3e404a0ea6 --- /dev/null +++ b/wxPython/demo/wxFileDialog_Save.py @@ -0,0 +1,44 @@ + +from wxPython.wx import * +import os + +#--------------------------------------------------------------------------- + +wildcard = "Python source (*.py)|*.py|" \ + "Compiled Python (*.pyc)|*.pyc|" \ + "SPAM files (*.spam)|*.spam|" \ + "Egg file (*.egg)|*.egg|" \ + "All files (*.*)|*.*" + +def runTest(frame, nb, log): + log.WriteText("CWD: %s\n" % os.getcwd()) + dlg = wxFileDialog(frame, "Save file as...", os.getcwd(), "", wildcard, + wxSAVE + #| wxCHANGE_DIR + ) + dlg.SetFilterIndex(2) + if dlg.ShowModal() == wxID_OK: + path = dlg.GetPath() + log.WriteText('You selected "%s"' % path) + log.WriteText("CWD: %s\n" % os.getcwd()) + dlg.Destroy() + +#--------------------------------------------------------------------------- + + + + + + + +overview = """\ +This class provides the file chooser dialog. + +""" + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxFindReplaceDialog.py b/wxPython/demo/wxFindReplaceDialog.py index c0217aedec..306c825205 100644 --- a/wxPython/demo/wxFindReplaceDialog.py +++ b/wxPython/demo/wxFindReplaceDialog.py @@ -76,3 +76,12 @@ def runTest(frame, nb, log): overview = """\ A generic find and replace dialog. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxFloatBar.py b/wxPython/demo/wxFloatBar.py index ff323abe7e..1daf702276 100644 --- a/wxPython/demo/wxFloatBar.py +++ b/wxPython/demo/wxFloatBar.py @@ -75,9 +75,11 @@ def runTest(frame, nb, log): #--------------------------------------------------------------------------- overview = """\ -wxFloatBar is a subclass of wxToolBar, implemented in Python, which can be detached from its frame. +wxFloatBar is a subclass of wxToolBar, implemented in Python, which +can be detached from its frame. -Drag the toolbar with the mouse to make it float, and drag it back, or close it to make the toolbar return to its original position. +Drag the toolbar with the mouse to make it float, and drag it back, or +close it to make the toolbar return to its original position. """ @@ -87,6 +89,13 @@ Drag the toolbar with the mouse to make it float, and drag it back, or close it +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + + + diff --git a/wxPython/demo/wxFrame.py b/wxPython/demo/wxFrame.py index 428859beec..6fbc2d013f 100644 --- a/wxPython/demo/wxFrame.py +++ b/wxPython/demo/wxFrame.py @@ -43,3 +43,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxGauge.py b/wxPython/demo/wxGauge.py index 21e185a439..754e1b4b21 100644 --- a/wxPython/demo/wxGauge.py +++ b/wxPython/demo/wxGauge.py @@ -52,3 +52,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxGenericDirCtrl.py b/wxPython/demo/wxGenericDirCtrl.py index 7f338e67df..3af690277a 100644 --- a/wxPython/demo/wxGenericDirCtrl.py +++ b/wxPython/demo/wxGenericDirCtrl.py @@ -57,3 +57,10 @@ overview = """\ This control can be used to place a directory listing (with optional files) on an arbitrary window. """ + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxGrid.py b/wxPython/demo/wxGrid.py index 365e0125e6..676be13eb5 100644 --- a/wxPython/demo/wxGrid.py +++ b/wxPython/demo/wxGrid.py @@ -11,6 +11,7 @@ buttonDefs = { 819 : ('GridEnterHandler',' Remapping keys to behave differently '), 820 : ('GridCustEditor', ' Shows how to create a custom Cell Editor '), 821 : ('GridDragable', ' A wxGrid with dragable rows and columns '), + 822 : ('GridDragAndDrop', 'Shows how to make a grid a drop target for files'), } @@ -26,7 +27,7 @@ class ButtonPanel(wxPanel): for k in keys: text = buttonDefs[k][1] btn = wxButton(self, k, text) - box.Add(btn, 0, wxALIGN_CENTER|wxALL, 15) + box.Add(btn, 0, wxALIGN_CENTER|wxALL, 10) EVT_BUTTON(self, k, self.OnButton) self.SetAutoLayout(True) @@ -94,9 +95,6 @@ changes how the ENTER key works, moving the current cell left to right and wrapping around to the next row when needed.

-You can also look at the SWIG interface -file used to generate the grid module for a lot more clues as to -how things work. """ diff --git a/wxPython/demo/wxGrid_MegaExample.py b/wxPython/demo/wxGrid_MegaExample.py new file mode 100644 index 0000000000..17007e58ec --- /dev/null +++ b/wxPython/demo/wxGrid_MegaExample.py @@ -0,0 +1,451 @@ +from wxPython.wx import * +from wxPython.grid import * +import images + +class MegaTable(wxPyGridTableBase): + """ + A custom wxGrid Table using user supplied data + """ + def __init__(self, data, colnames, plugins): + """data is a list of the form + [(rowname, dictionary), + dictionary.get(colname, None) returns the data for column + colname + """ + # The base class must be initialized *first* + wxPyGridTableBase.__init__(self) + self.data = data + self.colnames = colnames + self.plugins = plugins or {} + # XXX + # we need to store the row length and collength to + # see if the table has changed size + self._rows = self.GetNumberRows() + self._cols = self.GetNumberCols() + + def GetNumberCols(self): + return len(self.colnames) + + def GetNumberRows(self): + return len(self.data) + + def GetColLabelValue(self, col): + return self.colnames[col] + + def GetRowLabelValues(self, row): + return self.data[row][0] + + def GetValue(self, row, col): + return str(self.data[row][1].get(self.GetColLabelValue(col), "")) + + def GetRawValue(self, row, col): + return self.data[row][1].get(self.GetColLabelValue(col), "") + + def SetValue(self, row, col, value): + self.data[row][1][self.GetColLabelValue(col)] = value + + def ResetView(self, grid): + """ + (wxGrid) -> Reset the grid view. Call this to + update the grid if rows and columns have been added or deleted + """ + grid.BeginBatch() + for current, new, delmsg, addmsg in [ + (self._rows, self.GetNumberRows(), wxGRIDTABLE_NOTIFY_ROWS_DELETED, wxGRIDTABLE_NOTIFY_ROWS_APPENDED), + (self._cols, self.GetNumberCols(), wxGRIDTABLE_NOTIFY_COLS_DELETED, wxGRIDTABLE_NOTIFY_COLS_APPENDED), + ]: + if new < current: + msg = wxGridTableMessage(self,delmsg,new,current-new) + grid.ProcessTableMessage(msg) + elif new > current: + msg = wxGridTableMessage(self,addmsg,new-current) + grid.ProcessTableMessage(msg) + self.UpdateValues(grid) + grid.EndBatch() + + self._rows = self.GetNumberRows() + self._cols = self.GetNumberCols() + # update the column rendering plugins + self._updateColAttrs(grid) + + # update the scrollbars and the displayed part of the grid + grid.AdjustScrollbars() + grid.ForceRefresh() + + + def UpdateValues(self, grid): + """Update all displayed values""" + # This sends an event to the grid table to update all of the values + msg = wxGridTableMessage(self, wxGRIDTABLE_REQUEST_VIEW_GET_VALUES) + grid.ProcessTableMessage(msg) + + def _updateColAttrs(self, grid): + """ + wxGrid -> update the column attributes to add the + appropriate renderer given the column name. (renderers + are stored in the self.plugins dictionary) + + Otherwise default to the default renderer. + """ + col = 0 + for colname in self.colnames: + attr = wxGridCellAttr() + if colname in self.plugins: + renderer = self.plugins[colname](self) + if renderer.colSize: + grid.SetColSize(col, renderer.colSize) + if renderer.rowSize: + grid.SetDefaultRowSize(renderer.rowSize) + attr.SetReadOnly(true) + attr.SetRenderer(renderer) + grid.SetColAttr(col, attr) + col += 1 + + # ------------------------------------------------------ + # begin the added code to manipulate the table (non wx related) + def AppendRow(self, row): + entry = {} + for name in self.colnames: + entry[name] = "Appended_%i"%row + # XXX Hack + # entry["A"] can only be between 1..4 + entry["A"] = random.choice(range(4)) + self.data.insert(row, ["Append_%i"%row, entry]) + + def DeleteCols(self, cols): + """ + cols -> delete the columns from the dataset + cols hold the column indices + """ + # we'll cheat here and just remove the name from the + # list of column names. The data will remain but + # it won't be shown + deleteCount = 0 + cols = cols[:] + cols.sort() + for i in cols: + self.colnames.pop(i-deleteCount) + # we need to advance the delete count + # to make sure we delete the right columns + deleteCount += 1 + if not len(self.colnames): + self.data = [] + + def DeleteRows(self, rows): + """ + rows -> delete the rows from the dataset + rows hold the row indices + """ + deleteCount = 0 + rows = rows[:] + rows.sort() + for i in rows: + self.data.pop(i-deleteCount) + # we need to advance the delete count + # to make sure we delete the right rows + deleteCount += 1 + + def SortColumn(self, col): + """ + col -> sort the data based on the column indexed by col + """ + name = self.colnames[col] + _data = [] + for row in self.data: + rowname, entry = row + _data.append((entry.get(name, None), row)) + + _data.sort() + self.data = [] + for sortvalue, row in _data: + self.data.append(row) + + # end table manipulation code + # ---------------------------------------------------------- + + +# -------------------------------------------------------------------- +# Sample wxGrid renderers + +class MegaImageRenderer(wxPyGridCellRenderer): + def __init__(self, table): + """ + Image Renderer Test. This just places an image in a cell + based on the row index. There are N choices and the + choice is made by choice[row%N] + """ + wxPyGridCellRenderer.__init__(self) + self.table = table + self._choices = [images.getSmilesBitmap, + images.getMondrianBitmap, + images.get_10s_Bitmap, + images.get_01c_Bitmap] + + + self.colSize = None + self.rowSize = None + + def Draw(self, grid, attr, dc, rect, row, col, isSelected): + choice = self.table.GetRawValue(row, col) + bmp = self._choices[ choice % len(self._choices)]() + image = wxMemoryDC() + image.SelectObject(bmp) + + # clear the background + dc.SetBackgroundMode(wxSOLID) + if isSelected: + dc.SetBrush(wxBrush(wxBLUE, wxSOLID)) + dc.SetPen(wxPen(wxBLUE, 1, wxSOLID)) + else: + dc.SetBrush(wxBrush(wxWHITE, wxSOLID)) + dc.SetPen(wxPen(wxWHITE, 1, wxSOLID)) + dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height) + + # copy the image but only to the size of the grid cell + width, height = bmp.GetWidth(), bmp.GetHeight() + if width > rect.width-2: + width = rect.width-2 + + if height > rect.height-2: + height = rect.height-2 + + dc.Blit(rect.x+1, rect.y+1, width, height, + image, + 0, 0, wxCOPY, True) + + +class MegaFontRenderer(wxPyGridCellRenderer): + def __init__(self, table, color="blue", font="ARIAL", fontsize=8): + """Render data in the specified color and font and fontsize""" + wxPyGridCellRenderer.__init__(self) + self.table = table + self.color = color + self.font = wxFont(fontsize, wxDEFAULT, wxNORMAL, wxNORMAL, + 0, font) + self.selectedBrush = wxBrush("blue", + wxSOLID) + self.normalBrush = wxBrush(wxWHITE, wxSOLID) + self.colSize = None + self.rowSize = 50 + + def Draw(self, grid, attr, dc, rect, row, col, isSelected): + # Here we draw text in a grid cell using various fonts + # and colors. We have to set the clipping region on + # the grid's DC, otherwise the text will spill over + # to the next cell + dc.SetClippingRect(rect) + + # clear the background + dc.SetBackgroundMode(wxSOLID) + if isSelected: + dc.SetBrush(wxBrush(wxBLUE, wxSOLID)) + dc.SetPen(wxPen(wxBLUE, 1, wxSOLID)) + else: + dc.SetBrush(wxBrush(wxWHITE, wxSOLID)) + dc.SetPen(wxPen(wxWHITE, 1, wxSOLID)) + dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height) + + text = self.table.GetValue(row, col) + dc.SetBackgroundMode(wxSOLID) + + # change the text background based on whether the grid is selected + # or not + if isSelected: + dc.SetBrush(self.selectedBrush) + dc.SetTextBackground("blue") + else: + dc.SetBrush(self.normalBrush) + dc.SetTextBackground("white") + + dc.SetTextForeground(self.color) + dc.SetFont(self.font) + dc.DrawText(text, rect.x+1, rect.y+1) + + # Okay, now for the advanced class :) + # Let's add three dots "..." + # to indicate that that there is more text to be read + # when the text is larger than the grid cell + + width, height = dc.GetTextExtent(text) + if width > rect.width-2: + width, height = dc.GetTextExtent("...") + x = rect.x+1 + rect.width-2 - width + dc.DrawRectangle(x, rect.y+1, width+1, height) + dc.DrawText("...", x, rect.y+1) + + dc.DestroyClippingRegion() + + +# -------------------------------------------------------------------- +# Sample Grid using a specialized table and renderers that can +# be plugged in based on column names + +class MegaGrid(wxGrid): + def __init__(self, parent, data, colnames, plugins=None): + """parent, data, colnames, plugins=None + Initialize a grid using the data defined in data and colnames + (see MegaTable for a description of the data format) + plugins is a dictionary of columnName -> column renderers. + """ + + # The base class must be initialized *first* + wxGrid.__init__(self, parent, -1) + self._table = MegaTable(data, colnames, plugins) + self.SetTable(self._table) + self._plugins = plugins + + EVT_GRID_LABEL_RIGHT_CLICK(self, self.OnLabelRightClicked) + + def Reset(self): + """reset the view based on the data in the table. Call + this when rows are added or destroyed""" + self._table.ResetView(self) + + def OnLabelRightClicked(self, evt): + # Did we click on a row or a column? + row, col = evt.GetRow(), evt.GetCol() + if row == -1: self.colPopup(col, evt) + elif col == -1: self.rowPopup(row, evt) + + def rowPopup(self, row, evt): + """(row, evt) -> display a popup menu when a row label is right clicked""" + appendID = wxNewId() + deleteID = wxNewId() + x = self.GetRowSize(row)/2 + if not self.GetSelectedRows(): + self.SelectRow(row) + menu = wxMenu() + xo, yo = evt.GetPosition() + menu.Append(appendID, "Append Row") + menu.Append(deleteID, "Delete Row(s)") + + def append(event, self=self, row=row): + self._table.AppendRow(row) + self.Reset() + + def delete(event, self=self, row=row): + rows = self.GetSelectedRows() + self._table.DeleteRows(rows) + self.Reset() + + EVT_MENU(self, appendID, append) + EVT_MENU(self, deleteID, delete) + self.PopupMenu(menu, wxPoint(x, yo)) + menu.Destroy() + + def colPopup(self, col, evt): + """(col, evt) -> display a popup menu when a column label is + right clicked""" + x = self.GetColSize(col)/2 + menu = wxMenu() + id1 = wxNewId() + sortID = wxNewId() + + xo, yo = evt.GetPosition() + self.SelectCol(col) + cols = self.GetSelectedCols() + self.Refresh() + menu.Append(id1, "Delete Col(s)") + menu.Append(sortID, "Sort Column") + + def delete(event, self=self, col=col): + cols = self.GetSelectedCols() + self._table.DeleteCols(cols) + self.Reset() + + def sort(event, self=self, col=col): + self._table.SortColumn(col) + self.Reset() + + EVT_MENU(self, id1, delete) + if len(cols) == 1: + EVT_MENU(self, sortID, sort) + self.PopupMenu(menu, wxPoint(xo, 0)) + menu.Destroy() + +# ----------------------------------------------------------------- +# Test data +# data is in the form +# [rowname, dictionary] +# where dictionary.get(colname, None) -> returns the value for the cell +# +# the colname must also be supplied +import random +colnames = ["Row", "This", "Is", "A", "Test"] + +data = [] +for row in range(1000): + d = {} + for name in ["This", "Test", "Is"]: + d[name] = random.random() + d["Row"] = len(data) + # XXX + # the "A" column can only be between one and 4 + d["A"] = random.choice(range(4)) + data.append((str(row), d)) + +class MegaFontRendererFactory: + def __init__(self, color, font, fontsize): + """ + (color, font, fontsize) -> set of a factory to generate + renderers when called. + func = MegaFontRenderFactory(color, font, fontsize) + renderer = func(table) + """ + self.color = color + self.font = font + self.fontsize = fontsize + + def __call__(self, table): + return MegaFontRenderer(table, self.color, self.font, self.fontsize) + + +#--------------------------------------------------------------------------- + +class TestFrame(wxFrame): + def __init__(self, parent, plugins={"This":MegaFontRendererFactory("red", "ARIAL", 8), + "A":MegaImageRenderer, + "Test":MegaFontRendererFactory("orange", "TIMES", 24),}): + wxFrame.__init__(self, parent, -1, + "Test Frame", size=(640,480)) + + grid = MegaGrid(self, data, colnames, plugins) + grid.Reset() + + +#--------------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestFrame(frame) + frame.otherWin = win + win.Show(True) + + + +overview = """Mega Grid Example + +This example attempts to show many examples and tricks of +using a virtual grid object. Hopefully the source isn't too jumbled. + +Features: + 1) Uses a virtual grid + 2) Columns and rows have popup menus (right click on labels) + 3) Columns and rows can be deleted (i.e. table can be + resized) + 4) Dynamic renderers. Renderers are plugins based on + column header name. Shows a simple Font Renderer and + an Image Renderer. + +Look for XXX in the code to indicate some workarounds for non-obvious +behavior and various hacks. + +""" + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxImageFromStream.py b/wxPython/demo/wxImageFromStream.py index 6953a2ca4c..1bf4fc7645 100644 --- a/wxPython/demo/wxImageFromStream.py +++ b/wxPython/demo/wxImageFromStream.py @@ -35,3 +35,12 @@ overview = """\ At long last there is finally a way to load any supported image type directly from any Python file-like object, such as a memory buffer using StringIO. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxJoystick.py b/wxPython/demo/wxJoystick.py index 1c4882f40e..69555ee225 100644 --- a/wxPython/demo/wxJoystick.py +++ b/wxPython/demo/wxJoystick.py @@ -195,3 +195,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxLEDNumberCtrl.py b/wxPython/demo/wxLEDNumberCtrl.py index d8907a35c1..4aead17541 100644 --- a/wxPython/demo/wxLEDNumberCtrl.py +++ b/wxPython/demo/wxLEDNumberCtrl.py @@ -46,3 +46,11 @@ def runTest(frame, nb, log): overview = """\ """ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxLayoutConstraints.py b/wxPython/demo/wxLayoutConstraints.py index 4ffa033924..1c65b303df 100644 --- a/wxPython/demo/wxLayoutConstraints.py +++ b/wxPython/demo/wxLayoutConstraints.py @@ -114,10 +114,13 @@ def runTest(frame, nb, log): -overview = """\ -Objects of this class can be associated with a window to define its layout constraints, with respect to siblings or its parent. +overview = """\ +Objects of this class can be associated with a window to define its +layout constraints, with respect to siblings or its parent. -The class consists of the following eight constraints of class wxIndividualLayoutConstraint, some or all of which should be accessed directly to set the appropriate constraints. +The class consists of the following eight constraints of class +wxIndividualLayoutConstraint, some or all of which should be accessed +directly to set the appropriate constraints. left: represents the left hand edge of the window @@ -135,10 +138,21 @@ centreX: represents the horizontal centre point of the window centreY: represents the vertical centre point of the window -Most constraints are initially set to have the relationship wxUnconstrained, which means that their values should be calculated by looking at known constraints. The exceptions are width and height, which are set to wxAsIs to ensure that if the user does not specify a constraint, the existing width and height will be used, to be compatible with panel items which often have take a default size. If the constraint is wxAsIs, the dimension will not be changed. +Most constraints are initially set to have the relationship +wxUnconstrained, which means that their values should be calculated by +looking at known constraints. The exceptions are width and height, +which are set to wxAsIs to ensure that if the user does not specify a +constraint, the existing width and height will be used, to be +compatible with panel items which often have take a default size. If +the constraint is wxAsIs, the dimension will not be changed. -wxLayoutConstraints() -------------------------------------------- - -Constructor. """ + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxListCtrl.py b/wxPython/demo/wxListCtrl.py index d640ecddb6..501b148a3c 100644 --- a/wxPython/demo/wxListCtrl.py +++ b/wxPython/demo/wxListCtrl.py @@ -98,6 +98,7 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): self.list = TestListCtrl(self, tID, style=wxLC_REPORT | wxSUNKEN_BORDER + | wxLC_EDIT_LABELS #| wxLC_NO_HEADER #| wxLC_VRULES | wxLC_HRULES ) @@ -121,6 +122,7 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): EVT_LIST_COL_BEGIN_DRAG(self, tID, self.OnColBeginDrag) EVT_LIST_COL_DRAGGING(self, tID, self.OnColDragging) EVT_LIST_COL_END_DRAG(self, tID, self.OnColEndDrag) + EVT_LIST_BEGIN_LABEL_EDIT(self, tID, self.OnBeginEdit) EVT_LEFT_DCLICK(self.list, self.OnDoubleClick) EVT_RIGHT_DOWN(self.list, self.OnRightDown) @@ -218,6 +220,8 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): #event.Veto() # doesn't work # this does self.list.SetItemState(10, 0, wxLIST_STATE_SELECTED) + event.Skip() + def OnItemDeselected(self, evt): item = evt.GetItem() @@ -233,6 +237,10 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): self.log.WriteText("OnItemActivated: %s\nTopItem: %s" % (self.list.GetItemText(self.currentItem), self.list.GetTopItem())) + def OnBeginEdit(self, event): + self.log.WriteText("OnBeginEdit") + event.Allow() + def OnItemDelete(self, event): self.log.WriteText("OnItemDelete\n") @@ -265,30 +273,30 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): def OnRightClick(self, event): self.log.WriteText("OnRightClick %s\n" % self.list.GetItemText(self.currentItem)) - # only do this part the first time + # only do this part the first time so the events are only bound once if not hasattr(self, "popupID1"): self.popupID1 = wxNewId() self.popupID2 = wxNewId() self.popupID3 = wxNewId() self.popupID4 = wxNewId() self.popupID5 = wxNewId() + self.popupID6 = wxNewId() EVT_MENU(self, self.popupID1, self.OnPopupOne) EVT_MENU(self, self.popupID2, self.OnPopupTwo) EVT_MENU(self, self.popupID3, self.OnPopupThree) EVT_MENU(self, self.popupID4, self.OnPopupFour) EVT_MENU(self, self.popupID5, self.OnPopupFive) + EVT_MENU(self, self.popupID6, self.OnPopupSix) # make a menu menu = wxMenu() - # Show how to put an icon in the menu - item = wxMenuItem(menu, self.popupID1,"One") - item.SetBitmap(images.getSmilesBitmap()) - menu.AppendItem(item) - # add some other items - menu.Append(self.popupID2, "Two") + # add some items + menu.Append(self.popupID1, "FindItem tests") +# menu.Append(self.popupID2, "Two") menu.Append(self.popupID3, "ClearAll and repopulate") menu.Append(self.popupID4, "DeleteAllItems") menu.Append(self.popupID5, "GetItem") + menu.Append(self.popupID6, "Edit") # Popup the menu. If an item is selected then its handler # will be called before PopupMenu returns. @@ -308,8 +316,6 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): self.log.WriteText("Popup three\n") self.list.ClearAll() wxCallAfter(self.PopulateList) - #wxYield() - #self.PopulateList() def OnPopupFour(self, event): self.list.DeleteAllItems() @@ -318,6 +324,10 @@ class TestListCtrlPanel(wxPanel, wxColumnSorterMixin): item = self.list.GetItem(self.currentItem) print item.m_text, item.m_itemId, self.list.GetItemData(self.currentItem) + def OnPopupSix(self, event): + self.list.EditLabel(self.currentItem) + + def OnSize(self, event): w,h = self.GetClientSizeTuple() self.list.SetDimensions(0, 0, w, h) diff --git a/wxPython/demo/wxListCtrl_virtual.py b/wxPython/demo/wxListCtrl_virtual.py index 7dffd52fdd..c6af18cf2c 100644 --- a/wxPython/demo/wxListCtrl_virtual.py +++ b/wxPython/demo/wxListCtrl_virtual.py @@ -53,7 +53,7 @@ class TestVirtualList(wxListCtrl): return item.GetText() def OnItemDeselected(self, evt): - print evt.m_itemIndex + self.log.WriteText("OnItemDeselected: %s" % evt.m_itemIndex) #--------------------------------------------------- diff --git a/wxPython/demo/wxMDIWindows.py b/wxPython/demo/wxMDIWindows.py index 7eef8a39c9..9df21dc221 100644 --- a/wxPython/demo/wxMDIWindows.py +++ b/wxPython/demo/wxMDIWindows.py @@ -52,3 +52,12 @@ it. Here are a couple samples of how to use it. """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxMVCTree.py b/wxPython/demo/wxMVCTree.py index 808f8870b3..17d71cd211 100644 --- a/wxPython/demo/wxMVCTree.py +++ b/wxPython/demo/wxMVCTree.py @@ -51,13 +51,22 @@ def runTest(frame, nb, log): overview = """\ -wxMVCTree is a control which handles hierarchical data. It is constructed in model-view-controller architecture, so the display of that data, and the content of the data can be changed greatly without affecting the other parts. + +wxMVCTree is a control which handles hierarchical data. It is +constructed in model-view-controller architecture, so the display of +that data, and the content of the data can be changed greatly without +affecting the other parts. Multiple selections are possible by holding down the Ctrl key. -This demo shows the wxPython directory structure. The interesting part is that the tree model is late-bound to the filesystem, so the filenames are not retrieved until the directory is expanded. In mvctree.py are models for generic data, and both the early and late-bound filesystem models. +This demo shows the wxPython directory structure. The interesting part +is that the tree model is late-bound to the filesystem, so the +filenames are not retrieved until the directory is expanded. In +mvctree.py are models for generic data, and both the early and +late-bound filesystem models. -There is also support for editing, though it's not enabled in this demo, to avoid accidentally renaming files! +There is also support for editing, though it's not enabled in this +demo, to avoid accidentally renaming files! """ @@ -65,6 +74,7 @@ There is also support for editing, though it's not enabled in this demo, to avoi - - - +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxMenu.py b/wxPython/demo/wxMenu.py index bdbf93489b..c209977197 100644 --- a/wxPython/demo/wxMenu.py +++ b/wxPython/demo/wxMenu.py @@ -7,6 +7,8 @@ from wxPython.wx import * +import time + #------------------------------------------------------------------- class MyFrame(wxFrame): @@ -68,14 +70,24 @@ check the source for this sample to see how to implement them. menu5 = wxMenu() menu5.Append(501, "Interesting thing\tCtrl+A", "Note the shortcut!") - menu5.AppendSeparator() menu5.Append(502, "Hello\tShift+H") + menu5.AppendSeparator() + menu5.Append(503, "remove the submenu") + menu6 = wxMenu() + menu6.Append(601, "Submenu Item") + menu5.AppendMenu(504, "submenu", menu6) + menu5.Append(505, "remove this menu") + menu5.Append(506, "this is updated") + menu5.Append(507, "insert after this...") + menu5.Append(508, "...and before this") menuBar.Append(menu5, "&Fun") self.SetMenuBar(menuBar) # Menu events + EVT_MENU_HIGHLIGHT_ALL(self, self.OnMenuHighlight) + EVT_MENU(self, 101, self.Menu101) EVT_MENU(self, 102, self.Menu102) EVT_MENU(self, 103, self.Menu103) @@ -97,9 +109,25 @@ check the source for this sample to see how to implement them. EVT_MENU(self, 501, self.Menu501) EVT_MENU(self, 502, self.Menu502) + EVT_MENU(self, 503, self.TestRemove) + EVT_MENU(self, 505, self.TestRemove2) + EVT_MENU(self, 507, self.TestInsert) + EVT_MENU(self, 508, self.TestInsert) + + EVT_UPDATE_UI(wxGetApp(), 506, self.TestUpdateUI) # Methods + def OnMenuHighlight(self, event): + # Show how to get menu item imfo from this event handler + id = event.GetMenuId() + item = self.GetMenuBar().FindItemById(id) + text = item.GetText() + help = item.GetHelp() + #print text, help + event.Skip() # but in this case just call Skip so the default is done + + def Menu101(self, event): self.log.write('Welcome to Mercury\n') @@ -146,8 +174,49 @@ check the source for this sample to see how to implement them. def Menu502(self, event): self.log.write('Hello from Jean-Michel\n') + + def TestRemove(self, evt): + mb = self.GetMenuBar() + submenuItem = mb.FindItemById(601) + if not submenuItem: + return + submenu = submenuItem.GetMenu() + menu = submenu.GetParent() + + #menu.Remove(504) # works + menu.RemoveItem(mb.FindItemById(504)) # this also works + #menu.RemoveItem(submenuItem) # doesn't work, as expected since submenuItem is not on menu + + + def TestRemove2(self, evt): + mb = self.GetMenuBar() + mb.Remove(4) + + + def TestUpdateUI(self, evt): + text = time.ctime() + evt.SetText(text) + + + def TestInsert(self, evt): + # get the menu + mb = self.GetMenuBar() + menuItem = mb.FindItemById(507) + menu = menuItem.GetMenu() + + ID = wxNewId() + ##menu.Insert(9, ID, "NewItem " + str(ID)) + item = wxMenuItem(menu) + item.SetId(ID) + item.SetText("NewItem " + str(ID)) + menu.InsertItem(9, item) + + + #------------------------------------------------------------------- +wxRegisterId(10000) + def runTest(frame, nb, log): win = MyFrame(frame, -1, log) frame.otherWin = win diff --git a/wxPython/demo/wxMessageDialog.py b/wxPython/demo/wxMessageDialog.py index 17dcf7d741..b75d907739 100644 --- a/wxPython/demo/wxMessageDialog.py +++ b/wxPython/demo/wxMessageDialog.py @@ -25,39 +25,14 @@ def runTest(frame, nb, log): overview = """\ -wxMessageDialog() ----------------------------------- - -wxMessageDialog(wxWindow* parent, const wxString& message, const wxString& caption = "Message box", long style = wxOK | wxCANCEL | wxCENTRE, const wxPoint& pos = wxDefaultPosition) - -Constructor. Use wxMessageDialog::ShowModal to show the dialog. - -Parameters -------------------- - -parent = Parent window. - -message = Message to show on the dialog. - -caption = The dialog caption. - -style = A dialog style (bitlist) containing flags chosen from the following: - -wxOK Show an OK button. - -wxCANCEL Show a Cancel button. - -wxYES_NO Show Yes and No buttons. - -wxCENTRE Centre the message. Not Windows. +Show a message to the user in a dialog +""" -wxICON_EXCLAMATION Shows an exclamation mark icon. Windows only. -wxICON_HAND Shows a hand icon. Windows only. -wxICON_QUESTION Shows a question mark icon. Windows only. -wxICON_INFORMATION Shows an information (i) icon. Windows only. -pos = Dialog position. -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxMimeTypesManager.py b/wxPython/demo/wxMimeTypesManager.py index 39ba2074dc..d6356389d4 100644 --- a/wxPython/demo/wxMimeTypesManager.py +++ b/wxPython/demo/wxMimeTypesManager.py @@ -173,3 +173,11 @@ def MyBitmapsFunc( index ): mimetypes_wdr.MyBitmapsFunc = MyBitmapsFunc + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxMiniFrame.py b/wxPython/demo/wxMiniFrame.py index fd7c6c7f45..b92e300eda 100644 --- a/wxPython/demo/wxMiniFrame.py +++ b/wxPython/demo/wxMiniFrame.py @@ -45,3 +45,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxMultipleChoiceDialog.py b/wxPython/demo/wxMultipleChoiceDialog.py index 6e3fb5de55..c7f93764e1 100644 --- a/wxPython/demo/wxMultipleChoiceDialog.py +++ b/wxPython/demo/wxMultipleChoiceDialog.py @@ -25,3 +25,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxNotebook.py b/wxPython/demo/wxNotebook.py index ced491b69d..1f46c2c6e8 100644 --- a/wxPython/demo/wxNotebook.py +++ b/wxPython/demo/wxNotebook.py @@ -14,7 +14,7 @@ import sys class TestNB(wxNotebook): def __init__(self, parent, id, log): wxNotebook.__init__(self, parent, id, style= - #0 + #wxNB_TOP wxNB_BOTTOM #wxNB_LEFT #wxNB_RIGHT @@ -59,11 +59,11 @@ class TestNB(wxNotebook): win = self.makeColorPanel(wxCYAN) self.AddPage(win, "Cyan") - win = self.makeColorPanel(wxWHITE) - self.AddPage(win, "White") +## win = self.makeColorPanel(wxWHITE) +## self.AddPage(win, "White") - win = self.makeColorPanel(wxBLACK) - self.AddPage(win, "Black") +## win = self.makeColorPanel(wxBLACK) +## self.AddPage(win, "Black") win = self.makeColorPanel(wxNamedColour('MIDNIGHT BLUE')) self.AddPage(win, "MIDNIGHT BLUE") @@ -88,16 +88,17 @@ class TestNB(wxNotebook): def OnPageChanged(self, event): old = event.GetOldSelection() new = event.GetSelection() - self.log.write('OnPageChanged, old:%d, new:%d\n' % (old, new)) + sel = self.GetSelection() + self.log.write('OnPageChanged, old:%d, new:%d, sel:%d\n' % (old, new, sel)) event.Skip() def OnPageChanging(self, event): old = event.GetOldSelection() new = event.GetSelection() - self.log.write('OnPageChanging, old:%d, new:%d\n' % (old, new)) + sel = self.GetSelection() + self.log.write('OnPageChanging, old:%d, new:%d, sel:%d\n' % (old, new, sel)) event.Skip() - #---------------------------------------------------------------------------- def runTest(frame, nb, log): diff --git a/wxPython/demo/wxOGL.py b/wxPython/demo/wxOGL.py index 17f0015899..2094959821 100644 --- a/wxPython/demo/wxOGL.py +++ b/wxPython/demo/wxOGL.py @@ -106,7 +106,7 @@ class MyEvtHandler(wxShapeEvtHandler): def OnLeftClick(self, x, y, keys = 0, attachment = 0): shape = self.GetShape() - print shape.__class__ + print shape.__class__, shape.GetClassName() canvas = shape.GetCanvas() dc = wxClientDC(canvas) canvas.PrepareDC(dc) diff --git a/wxPython/demo/wxPageSetupDialog.py b/wxPython/demo/wxPageSetupDialog.py index 61ae29290d..df344ec6ab 100644 --- a/wxPython/demo/wxPageSetupDialog.py +++ b/wxPython/demo/wxPageSetupDialog.py @@ -21,13 +21,15 @@ def runTest(frame, nb, log): +overview = """\ +""" - - -overview = """\ -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxPlotCanvas.py b/wxPython/demo/wxPlotCanvas.py index 1a9f7b2271..5f1a42ed91 100644 --- a/wxPython/demo/wxPlotCanvas.py +++ b/wxPython/demo/wxPlotCanvas.py @@ -37,3 +37,11 @@ def runTest(frame, nb, log): overview = wxPlotCanvas.__doc__ #--------------------------------------------------------------------------- + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxPrintDialog.py b/wxPython/demo/wxPrintDialog.py index 183cbe801c..b70e484dd5 100644 --- a/wxPython/demo/wxPrintDialog.py +++ b/wxPython/demo/wxPrintDialog.py @@ -5,12 +5,18 @@ from wxPython.wx import * def runTest(frame, nb, log): data = wxPrintDialogData() + + data.EnableSelection(True) data.EnablePrintToFile(True) data.EnablePageNumbers(True) - data.EnableSelection(True) + data.SetMinPage(1) + data.SetMaxPage(5) + data.SetAllPages(True) + dlg = wxPrintDialog(frame, data) if dlg.ShowModal() == wxID_OK: - log.WriteText('\n') + data = dlg.GetPrintDialogData() + log.WriteText('GetAllPages: %d\n' % data.GetAllPages()) dlg.Destroy() #--------------------------------------------------------------------------- @@ -18,14 +24,12 @@ def runTest(frame, nb, log): +overview = """\ +""" - - - - - - -overview = """\ -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxProcess.py b/wxPython/demo/wxProcess.py index d8104e5e75..b9bd6ceb66 100644 --- a/wxPython/demo/wxProcess.py +++ b/wxPython/demo/wxProcess.py @@ -152,3 +152,12 @@ child process to exit its main loop. """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxProgressDialog.py b/wxPython/demo/wxProgressDialog.py index 09f6c08b56..ec7bff1bd3 100644 --- a/wxPython/demo/wxProgressDialog.py +++ b/wxPython/demo/wxProgressDialog.py @@ -30,9 +30,12 @@ def runTest(frame, nb, log): +overview = """\ +""" - -overview = """\ -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxRightTextCtrl.py b/wxPython/demo/wxRightTextCtrl.py index 7fe10cef6f..b2fa3e970b 100644 --- a/wxPython/demo/wxRightTextCtrl.py +++ b/wxPython/demo/wxRightTextCtrl.py @@ -47,3 +47,10 @@ def runTest(frame, nb, log): overview = wxPython.lib.rightalign.__doc__ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxSashWindow.py b/wxPython/demo/wxSashWindow.py index a8b472c2c1..17105b0a9d 100644 --- a/wxPython/demo/wxSashWindow.py +++ b/wxPython/demo/wxSashWindow.py @@ -114,17 +114,13 @@ def runTest(frame, nb, log): +overview = """\ +""" - - - - - - - - -overview = """\ -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxScrolledMessageDialog.py b/wxPython/demo/wxScrolledMessageDialog.py index e50d1e7c9e..a9715c6af2 100644 --- a/wxPython/demo/wxScrolledMessageDialog.py +++ b/wxPython/demo/wxScrolledMessageDialog.py @@ -17,8 +17,14 @@ def runTest(frame, nb, log): +overview = """\ +""" -overview = """\ -""" + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxScrolledPanel.py b/wxPython/demo/wxScrolledPanel.py index 079f878dc6..89da9f3871 100644 --- a/wxPython/demo/wxScrolledPanel.py +++ b/wxPython/demo/wxScrolledPanel.py @@ -15,12 +15,14 @@ class TestPanel(wxScrolledPanel): desc = wxStaticText(self, -1, "wxScrolledPanel extends wxScrolledWindow, adding all " "the necessary bits to set up scroll handling for you.\n\n" - "Here are three fixed size examples of its use, and the " - "mail demo panel is also using it." + "Here are three fixed size examples of its use. The " + "demo panel for this sample is also using it -- the \nwxStaticLine" + "below is intentionally made too long so a scrollbar will be " + "activated." ) desc.SetForegroundColour("Blue") vbox.Add(desc, 0, wxALIGN_LEFT|wxALL, 5) - vbox.Add(wxStaticLine(self, -1), 0, wxEXPAND|wxALL, 5) + vbox.Add(wxStaticLine(self, -1, size=(1024,-1)), 0, wxALL, 5) vbox.AddSpacer(20,20) words = text.split() diff --git a/wxPython/demo/wxScrolledWindow.py b/wxPython/demo/wxScrolledWindow.py index 53d8b4a130..67ac26e2fa 100644 --- a/wxPython/demo/wxScrolledWindow.py +++ b/wxPython/demo/wxScrolledWindow.py @@ -64,7 +64,7 @@ class MyCanvas(wxScrolledWindow): self.DoDrawing(dc) - def DoDrawing(self, dc): + def DoDrawing(self, dc, printing=False): dc.BeginDrawing() dc.SetPen(wxPen('RED')) dc.DrawRectangle(5, 5, 50, 50) @@ -92,6 +92,11 @@ class MyCanvas(wxScrolledWindow): dc.SetTextForeground(wxColour(0, 0xFF, 0x80)) dc.DrawText("a bitmap", 200, 85) +## dc.SetFont(wxFont(14, wxSWISS, wxNORMAL, wxNORMAL)) +## dc.SetTextForeground("BLACK") +## dc.DrawText("TEST this STRING", 10, 200) +## print dc.GetFullTextExtent("TEST this STRING") + font = wxFont(20, wxSWISS, wxNORMAL, wxNORMAL) dc.SetFont(font) dc.SetTextForeground(wxBLACK) @@ -106,16 +111,20 @@ class MyCanvas(wxScrolledWindow): dc.SetPen(wxPen('RED')) dc.DrawEllipticArc(200, 500, 50, 75, 0, 90) - y = 20 - for style in [wxDOT, wxLONG_DASH, wxSHORT_DASH, wxDOT_DASH, wxUSER_DASH]: - pen = wxPen("DARK ORCHID", 1, style) - if style == wxUSER_DASH: - pen.SetCap(wxCAP_BUTT) - pen.SetDashes([1,2]) - pen.SetColour("RED") - dc.SetPen(pen) - dc.DrawLine(300, y, 400, y) - y = y + 10 + if not printing: + # This has troubles when used on a print preview in wxGTK, + # probably something to do with the pen styles and the scaling + # it does... + y = 20 + for style in [wxDOT, wxLONG_DASH, wxSHORT_DASH, wxDOT_DASH, wxUSER_DASH]: + pen = wxPen("DARK ORCHID", 1, style) + if style == wxUSER_DASH: + pen.SetCap(wxCAP_BUTT) + pen.SetDashes([1,2]) + pen.SetColour("RED") + dc.SetPen(pen) + dc.DrawLine(300, y, 400, y) + y = y + 10 dc.SetBrush(wxTRANSPARENT_BRUSH) dc.SetPen(wxPen(wxColour(0xFF, 0x20, 0xFF), 1, wxSOLID)) diff --git a/wxPython/demo/wxSingleChoiceDialog.py b/wxPython/demo/wxSingleChoiceDialog.py index df2d2b1b0e..aa649eb750 100644 --- a/wxPython/demo/wxSingleChoiceDialog.py +++ b/wxPython/demo/wxSingleChoiceDialog.py @@ -16,17 +16,17 @@ def runTest(frame, nb, log): +overview = """\ +This class represents a dialog that shows a list of strings, and allows the user +to select one. Double-clicking on a list item is equivalent to single-clicking +and then pressing OK. +""" - - - - - -overview = """\ -This class represents a dialog that shows a list of strings, and allows the user to select one. Double-clicking on a list item is equivalent to single-clicking and then pressing OK. - -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxSpinButton.py b/wxPython/demo/wxSpinButton.py index 0095fbad77..ed64a713e5 100644 --- a/wxPython/demo/wxSpinButton.py +++ b/wxPython/demo/wxSpinButton.py @@ -46,3 +46,10 @@ def runTest(frame, nb, log): overview = """\ """ + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxSpinCtrl.py b/wxPython/demo/wxSpinCtrl.py index 164397d1a0..2e57bca067 100644 --- a/wxPython/demo/wxSpinCtrl.py +++ b/wxPython/demo/wxSpinCtrl.py @@ -34,3 +34,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxSplitterWindow.py b/wxPython/demo/wxSplitterWindow.py index 206244f6c0..33359b3ba1 100644 --- a/wxPython/demo/wxSplitterWindow.py +++ b/wxPython/demo/wxSplitterWindow.py @@ -37,11 +37,6 @@ def runTest(frame, nb, log): splitter.SetMinimumPaneSize(20) splitter.SplitVertically(p1, p2, 100) -## splitter.SetSize((300,300)) -## print splitter.GetSashPosition() -## splitter.SetSashPosition(100) -## print splitter.GetSashPosition() - return splitter @@ -50,41 +45,16 @@ def runTest(frame, nb, log): - - - - - - - - - - - overview = """\ -This class manages up to two subwindows. The current view can be split into two programmatically (perhaps from a menu command), and unsplit either programmatically or via the wxSplitterWindow user interface. - -wxSplitterWindow() ------------------------------------ - -Default constructor. - -wxSplitterWindow(wxWindow* parent, wxWindowID id, int x, const wxPoint& point = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style=wxSP_3D, const wxString& name = "splitterWindow") - -Constructor for creating the window. - -Parameters -------------------- - -parent = The parent of the splitter window. - -id = The window identifier. +This class manages up to two subwindows. The current view can be split +into two programmatically (perhaps from a menu command), and unsplit +either programmatically or via the wxSplitterWindow user interface. +""" -pos = The window position. -size = The window size. -style = The window style. See wxSplitterWindow. +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) -name = The window name. -""" diff --git a/wxPython/demo/wxStaticBitmap.py b/wxPython/demo/wxStaticBitmap.py index d281d60237..7dfc51722b 100644 --- a/wxPython/demo/wxStaticBitmap.py +++ b/wxPython/demo/wxStaticBitmap.py @@ -38,10 +38,12 @@ def runTest(frame, nb, log): +overview = """\ +""" - - -overview = """\ -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxStaticText.py b/wxPython/demo/wxStaticText.py index f143ddb5cb..c40d886405 100644 --- a/wxPython/demo/wxStaticText.py +++ b/wxPython/demo/wxStaticText.py @@ -24,10 +24,9 @@ class TestPanel(wxPanel): str = "This is a different font." text = wxStaticText(self, -1, str, (20, 100)) - font = wxFont(18, wxSWISS, wxNORMAL, wxNORMAL, False, "Arial") - w, h, d, e = self.GetFullTextExtent(str, font) + font = wxFont(18, wxSWISS, wxNORMAL, wxNORMAL) text.SetFont(font) - text.SetSize(wxSize(w, h)) + #text.SetSize(text.GetBestSize()) wxStaticText(self, -1, "Multi-line wxStaticText\nline 2\nline 3\n\nafter empty line", (20,150)) wxStaticText(self, -1, "Align right multi-line\nline 2\nline 3\n\nafter empty line", (220,150), style=wxALIGN_RIGHT) diff --git a/wxPython/demo/wxStatusBar.py b/wxPython/demo/wxStatusBar.py index d7241a1b5b..ac7dedd0f1 100644 --- a/wxPython/demo/wxStatusBar.py +++ b/wxPython/demo/wxStatusBar.py @@ -104,5 +104,16 @@ def runTest(frame, nb, log): overview = """\ -A status bar is a narrow window that can be placed along the bottom of a frame to give small amounts of status information. It can contain one or more fields, one or more of which can be variable length according to the size of the window. -""" +A status bar is a narrow window that can be placed along the bottom of +a frame to give small amounts of status information. It can contain +one or more fields, one or more of which can be variable length +according to the size of the window. """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxStyledTextCtrl_1.py b/wxPython/demo/wxStyledTextCtrl_1.py index d23c1a6636..fa0d742ebf 100644 --- a/wxPython/demo/wxStyledTextCtrl_1.py +++ b/wxPython/demo/wxStyledTextCtrl_1.py @@ -2,6 +2,8 @@ from wxPython.wx import * from wxPython.stc import * +import images + #---------------------------------------------------------------------- debug = 1 @@ -212,7 +214,8 @@ def runTest(frame, nb, log): # setup some markers ed.SetMarginType(1, wxSTC_MARGIN_SYMBOL) ed.MarkerDefine(0, wxSTC_MARK_ROUNDRECT, "#CCFF00", "RED") - ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA") + #ed.MarkerDefine(1, wxSTC_MARK_CIRCLE, "FOREST GREEN", "SIENNA") + ed.MarkerDefineBitmap(1, images.getFolder1Bitmap()) ed.MarkerDefine(2, wxSTC_MARK_SHORTARROW, "blue", "blue") ed.MarkerDefine(3, wxSTC_MARK_ARROW, "#00FF00", "#00FF00") diff --git a/wxPython/demo/wxStyledTextCtrl_2.py b/wxPython/demo/wxStyledTextCtrl_2.py index 516383f50f..4a5433e14a 100644 --- a/wxPython/demo/wxStyledTextCtrl_2.py +++ b/wxPython/demo/wxStyledTextCtrl_2.py @@ -1,7 +1,7 @@ from wxPython.wx import * from wxPython.stc import * - +import images import keyword #---------------------------------------------------------------------- @@ -53,6 +53,7 @@ class PythonSTC(wxStyledTextCtrl): self.SetViewWhiteSpace(False) #self.SetBufferedDraw(False) + #self.SetViewEOL(True) self.SetEdgeMode(wxSTC_EDGE_BACKGROUND) self.SetEdgeColumn(78) @@ -85,6 +86,7 @@ class PythonSTC(wxStyledTextCtrl): EVT_STC_UPDATEUI(self, ID, self.OnUpdateUI) EVT_STC_MARGINCLICK(self, ID, self.OnMarginClick) + EVT_KEY_DOWN(self, self.OnKeyPressed) # Make some styles, The lexer defines what each style is used for, we @@ -108,9 +110,9 @@ class PythonSTC(wxStyledTextCtrl): # Number self.StyleSetSpec(wxSTC_P_NUMBER, "fore:#007F7F,size:%(size)d" % faces) # String - self.StyleSetSpec(wxSTC_P_STRING, "fore:#7F007F,italic,face:%(times)s,size:%(size)d" % faces) + self.StyleSetSpec(wxSTC_P_STRING, "fore:#7F007F,face:%(helv)s,size:%(size)d" % faces) # Single quoted string - self.StyleSetSpec(wxSTC_P_CHARACTER, "fore:#7F007F,italic,face:%(times)s,size:%(size)d" % faces) + self.StyleSetSpec(wxSTC_P_CHARACTER, "fore:#7F007F,face:%(helv)s,size:%(size)d" % faces) # Keyword self.StyleSetSpec(wxSTC_P_WORD, "fore:#00007F,bold,size:%(size)d" % faces) # Triple quotes @@ -130,10 +132,15 @@ class PythonSTC(wxStyledTextCtrl): # End of line where string is not closed self.StyleSetSpec(wxSTC_P_STRINGEOL, "fore:#000000,face:%(mono)s,back:#E0C0E0,eol,size:%(size)d" % faces) - self.SetCaretForeground("BLUE") - EVT_KEY_DOWN(self, self.OnKeyPressed) + + # register some images for use in the AutoComplete box. + self.RegisterImage(1, images.getSmilesBitmap()) + self.RegisterImage(2, images.getFile1Bitmap()) + self.RegisterImage(3, images.getCopyBitmap()) + + def OnKeyPressed(self, event): @@ -145,7 +152,9 @@ class PythonSTC(wxStyledTextCtrl): # Tips if event.ShiftDown(): self.CallTipSetBackground("yellow") - self.CallTipShow(pos, 'param1, param2') + self.CallTipShow(pos, 'lots of of text: blah, blah, blah\n\n' + 'show some suff, maybe parameters..\n\n' + 'fubar(param1, param2)') # Code completion else: #lst = [] @@ -156,17 +165,22 @@ class PythonSTC(wxStyledTextCtrl): #self.AutoCompShow(0, st) kw = keyword.kwlist[:] - kw.append("zzzzzz") - kw.append("aaaaa") - kw.append("__init__") - kw.append("zzaaaaa") - kw.append("zzbaaaa") + kw.append("zzzzzz?2") + kw.append("aaaaa?2") + kw.append("__init__?3") + kw.append("zzaaaaa?2") + kw.append("zzbaaaa?2") kw.append("this_is_a_longer_value") - kw.append("this_is_a_much_much_much_much_much_much_much_longer_value") + #kw.append("this_is_a_much_much_much_much_much_much_much_longer_value") kw.sort() # Python sorts are case sensitive self.AutoCompSetIgnoreCase(False) # so this needs to match + # Images are specified with a appended "?type" + for i in range(len(kw)): + if kw[i] in keyword.kwlist: + kw[i] = kw[i] + "?1" + self.AutoCompShow(0, " ".join(kw)) else: event.Skip() diff --git a/wxPython/demo/wxTextEntryDialog.py b/wxPython/demo/wxTextEntryDialog.py index af93b747f3..3fd27aee90 100644 --- a/wxPython/demo/wxTextEntryDialog.py +++ b/wxPython/demo/wxTextEntryDialog.py @@ -17,14 +17,15 @@ def runTest(frame, nb, log): +overview = """\ +""" - - -overview = """\ - -""" +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxTimeCtrl.py b/wxPython/demo/wxTimeCtrl.py index 09465642dd..e6a5aeed2f 100644 --- a/wxPython/demo/wxTimeCtrl.py +++ b/wxPython/demo/wxTimeCtrl.py @@ -1,68 +1,114 @@ from wxPython.wx import * from wxPython.lib.timectrl import * +from wxPython.lib.timectrl import __doc__ as overviewdoc +from wxPython.lib.scrolledpanel import wxScrolledPanel #---------------------------------------------------------------------- -class TestPanel( wxPanel ): +class TestPanel( wxScrolledPanel ): def __init__( self, parent, log ): - wxPanel.__init__( self, parent, -1 ) + wxScrolledPanel.__init__( self, parent, -1 ) self.log = log - panel = wxPanel( self, -1 ) - grid = wxFlexGridSizer( 0, 2, 20, 0 ) - text1 = wxStaticText( panel, 10, "A 12-hour format wxTimeCtrl:") - self.time12 = wxTimeCtrl( panel, 20, name="12 hour control" ) - spin1 = wxSpinButton( panel, 30, wxDefaultPosition, wxSize(-1,20), 0 ) + text1 = wxStaticText( self, -1, "12-hour format:") + self.time12 = wxTimeCtrl( self, -1, name="12 hour control" ) + spin1 = wxSpinButton( self, -1, wxDefaultPosition, wxSize(-1,20), 0 ) self.time12.BindSpinButton( spin1 ) - grid.AddWindow( text1, 0, wxALIGN_RIGHT, 5 ) - hbox1 = wxBoxSizer( wxHORIZONTAL ) - hbox1.AddWindow( self.time12, 0, wxALIGN_CENTRE, 5 ) - hbox1.AddWindow( spin1, 0, wxALIGN_CENTRE, 5 ) - grid.AddSizer( hbox1, 0, wxLEFT, 5 ) + text2 = wxStaticText( self, -1, "24-hour format:") + spin2 = wxSpinButton( self, -1, wxDefaultPosition, wxSize(-1,20), 0 ) + self.time24 = wxTimeCtrl( self, -1, name="24 hour control", fmt24hr=True, spinButton = spin2 ) + text3 = wxStaticText( self, -1, "No seconds\nor spin button:") + self.spinless_ctrl = wxTimeCtrl( self, -1, name="spinless control", display_seconds = False ) - text2 = wxStaticText( panel, 40, "A 24-hour format wxTimeCtrl:") - self.time24 = wxTimeCtrl( panel, 50, fmt24hr=True, name="24 hour control" ) - spin2 = wxSpinButton( panel, 60, wxDefaultPosition, wxSize(-1,20), 0 ) - self.time24.BindSpinButton( spin2 ) + grid = wxFlexGridSizer( 0, 2, 10, 5 ) + grid.Add( text1, 0, wxALIGN_RIGHT ) + hbox1 = wxBoxSizer( wxHORIZONTAL ) + hbox1.Add( self.time12, 0, wxALIGN_CENTRE ) + hbox1.Add( spin1, 0, wxALIGN_CENTRE ) + grid.Add( hbox1, 0, wxLEFT ) - grid.AddWindow( text2, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM, 5 ) + grid.Add( text2, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM ) hbox2 = wxBoxSizer( wxHORIZONTAL ) - hbox2.AddWindow( self.time24, 0, wxALIGN_CENTRE, 5 ) - hbox2.AddWindow( spin2, 0, wxALIGN_CENTRE, 5 ) - grid.AddSizer( hbox2, 0, wxLEFT, 5 ) - + hbox2.Add( self.time24, 0, wxALIGN_CENTRE ) + hbox2.Add( spin2, 0, wxALIGN_CENTRE ) + grid.Add( hbox2, 0, wxLEFT ) - text3 = wxStaticText( panel, 70, "A wxTimeCtrl without a spin button:") - self.spinless_ctrl = wxTimeCtrl( panel, 80, name="spinless control" ) + grid.Add( text3, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM ) + grid.Add( self.spinless_ctrl, 0, wxLEFT ) - grid.AddWindow( text3, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM, 5 ) - grid.AddWindow( self.spinless_ctrl, 0, wxLEFT, 5 ) - - buttonChange = wxButton( panel, 100, "Change Controls") - self.radio12to24 = wxRadioButton( panel, 110, "Copy 12-hour time to 24-hour control", wxDefaultPosition, wxDefaultSize, wxRB_GROUP ) - self.radio24to12 = wxRadioButton( panel, 120, "Copy 24-hour time to 12-hour control") - self.radioWx = wxRadioButton( panel, 130, "Set controls to 'now' using wxDateTime") - self.radioMx = wxRadioButton( panel, 140, "Set controls to 'now' using mxDateTime") + buttonChange = wxButton( self, -1, "Change Controls") + self.radio12to24 = wxRadioButton( self, -1, "Copy 12-hour time to 24-hour control", wxDefaultPosition, wxDefaultSize, wxRB_GROUP ) + self.radio24to12 = wxRadioButton( self, -1, "Copy 24-hour time to 12-hour control") + self.radioWx = wxRadioButton( self, -1, "Set controls to 'now' using wxDateTime") + self.radioMx = wxRadioButton( self, -1, "Set controls to 'now' using mxDateTime") radio_vbox = wxBoxSizer( wxVERTICAL ) - radio_vbox.AddWindow( self.radio12to24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) - radio_vbox.AddWindow( self.radio24to12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) - radio_vbox.AddWindow( self.radioWx, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) - radio_vbox.AddWindow( self.radioMx, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) + radio_vbox.Add( self.radio12to24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) + radio_vbox.Add( self.radio24to12, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) + radio_vbox.Add( self.radioWx, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) + radio_vbox.Add( self.radioMx, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ) - box_label = wxStaticBox( panel, 90, "Change Controls through API" ) + box_label = wxStaticBox( self, -1, "Change Controls through API" ) buttonbox = wxStaticBoxSizer( box_label, wxHORIZONTAL ) - buttonbox.AddWindow( buttonChange, 0, wxALIGN_CENTRE|wxALL, 5 ) - buttonbox.AddSizer( radio_vbox, 0, wxALIGN_CENTRE|wxALL, 5 ) + buttonbox.Add( buttonChange, 0, wxALIGN_CENTRE|wxALL, 5 ) + buttonbox.Add( radio_vbox, 0, wxALIGN_CENTRE|wxALL, 5 ) + + hbox = wxBoxSizer( wxHORIZONTAL ) + hbox.Add( grid, 0, wxALIGN_LEFT|wxALL, 15 ) + hbox.Add( buttonbox, 0, wxALIGN_RIGHT|wxBOTTOM, 20 ) + + + box_label = wxStaticBox( self, -1, "Bounds Control" ) + boundsbox = wxStaticBoxSizer( box_label, wxHORIZONTAL ) + self.set_bounds = wxCheckBox( self, -1, "Set time bounds:" ) + + minlabel = wxStaticText( self, -1, "minimum time:" ) + self.min = wxTimeCtrl( self, -1, name="min", display_seconds = False ) + self.min.Enable( False ) + + maxlabel = wxStaticText( self, -1, "maximum time:" ) + self.max = wxTimeCtrl( self, -1, name="max", display_seconds = False ) + self.max.Enable( False ) + + self.limit_check = wxCheckBox( self, -1, "Limit control" ) + + label = wxStaticText( self, -1, "Resulting time control:" ) + self.target_ctrl = wxTimeCtrl( self, -1, name="new" ) + + grid2 = wxFlexGridSizer( 0, 2, 0, 0 ) + grid2.Add( 20, 0, 0, wxALIGN_LEFT|wxALL, 5 ) + grid2.Add( 20, 0, 0, wxALIGN_LEFT|wxALL, 5 ) + + grid2.Add( self.set_bounds, 0, wxALIGN_LEFT|wxALL, 5 ) + grid3 = wxFlexGridSizer( 0, 2, 5, 5 ) + grid3.Add(minlabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL ) + grid3.Add( self.min, 0, wxALIGN_LEFT ) + grid3.Add(maxlabel, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL ) + grid3.Add( self.max, 0, wxALIGN_LEFT ) + grid2.Add(grid3, 0, wxALIGN_LEFT ) + + grid2.Add( self.limit_check, 0, wxALIGN_LEFT|wxALL, 5 ) + grid2.Add( 20, 0, 0, wxALIGN_LEFT|wxALL, 5 ) + + grid2.Add( 20, 0, 0, wxALIGN_LEFT|wxALL, 5 ) + grid2.Add( 20, 0, 0, wxALIGN_LEFT|wxALL, 5 ) + grid2.Add( label, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5 ) + grid2.Add( self.target_ctrl, 0, wxALIGN_LEFT|wxALL, 5 ) + boundsbox.Add(grid2, 0, wxALIGN_CENTER|wxEXPAND|wxALL, 5) + + vbox = wxBoxSizer( wxVERTICAL ) + vbox.AddSpacer(20, 20) + vbox.Add( hbox, 0, wxALIGN_LEFT|wxALL, 5) + vbox.Add( boundsbox, 0, wxALIGN_LEFT|wxALL, 5 ) + outer_box = wxBoxSizer( wxVERTICAL ) - outer_box.AddSizer( grid, 0, wxALIGN_CENTRE|wxBOTTOM, 20 ) - outer_box.AddSizer( buttonbox, 0, wxALIGN_CENTRE|wxALL, 5 ) + outer_box.Add( vbox, 0, wxALIGN_LEFT|wxALL, 5) # Turn on mxDateTime option only if we can import the module: @@ -72,23 +118,31 @@ class TestPanel( wxPanel ): self.radioMx.Enable( False ) - panel.SetAutoLayout( True ) - panel.SetSizer( outer_box ) - outer_box.Fit( panel ) - panel.Move( (50,50) ) - self.panel = panel - + self.SetAutoLayout( True ) + self.SetSizer( outer_box ) + outer_box.Fit( self ) + self.SetupScrolling() + EVT_BUTTON( self, buttonChange.GetId(), self.OnButtonClick ) EVT_TIMEUPDATE( self, self.time12.GetId(), self.OnTimeChange ) EVT_TIMEUPDATE( self, self.time24.GetId(), self.OnTimeChange ) EVT_TIMEUPDATE( self, self.spinless_ctrl.GetId(), self.OnTimeChange ) - EVT_BUTTON( self, buttonChange.GetId(), self.OnButtonClick ) + + EVT_CHECKBOX( self, self.set_bounds.GetId(), self.OnBoundsCheck ) + EVT_CHECKBOX( self, self.limit_check.GetId(), self.SetTargetMinMax ) + EVT_TIMEUPDATE( self, self.min.GetId(), self.SetTargetMinMax ) + EVT_TIMEUPDATE( self, self.max.GetId(), self.SetTargetMinMax ) + EVT_TIMEUPDATE( self, self.target_ctrl.GetId(), self.OnTimeChange ) + def OnTimeChange( self, event ): - timectrl = self.panel.FindWindowById( event.GetId() ) - self.log.write('%s time = %s\n' % ( timectrl.GetName(), timectrl.GetValue() ) ) + timectrl = self.FindWindowById( event.GetId() ) + ib_str = [ " (out of bounds)", "" ] + + self.log.write('%s time = %s%s\n' % ( timectrl.GetName(), timectrl.GetValue(), ib_str[ timectrl.IsInBounds() ] ) ) + def OnButtonClick( self, event ): if self.radio12to24.GetValue(): @@ -99,16 +153,53 @@ class TestPanel( wxPanel ): elif self.radioWx.GetValue(): now = wxDateTime_Now() - self.time12.SetWxDateTime( now ) - self.time24.SetWxDateTime( now ) - self.spinless_ctrl.SetWxDateTime( now ) + self.time12.SetValue( now ) + # (demonstrates that G/SetValue returns/takes a wxDateTime) + self.time24.SetValue( self.time12.GetValue(as_wxDateTime=True) ) + + # (demonstrates that G/SetValue returns/takes a wxTimeSpan) + self.spinless_ctrl.SetValue( self.time12.GetValue(as_wxTimeSpan=True) ) elif self.radioMx.GetValue(): from mx import DateTime now = DateTime.now() - self.time12.SetMxDateTime( now ) - self.time24.SetMxDateTime( now ) - self.spinless_ctrl.SetMxDateTime( now ) + self.time12.SetValue( now ) + + # (demonstrates that G/SetValue returns/takes a DateTime) + self.time24.SetValue( self.time12.GetValue(as_mxDateTime=True) ) + + # (demonstrates that G/SetValue returns/takes a DateTimeDelta) + self.spinless_ctrl.SetValue( self.time12.GetValue(as_mxDateTimeDelta=True) ) + + + def OnBoundsCheck( self, event ): + self.min.Enable( self.set_bounds.GetValue() ) + self.max.Enable( self.set_bounds.GetValue() ) + self.SetTargetMinMax() + + + def SetTargetMinMax( self, event=None ): + min = max = None + + if self.set_bounds.GetValue(): + min = self.min.GetWxDateTime() + max = self.max.GetWxDateTime() + else: + min, max = None, None + + cur_min, cur_max = self.target_ctrl.GetBounds() + + if min != cur_min: self.target_ctrl.SetMin( min ) + if max != cur_max: self.target_ctrl.SetMax( max ) + + self.target_ctrl.SetLimited( self.limit_check.GetValue() ) + + if min != cur_min or max != cur_max: + new_min, new_max = self.target_ctrl.GetBounds() + if new_min and new_max: + self.log.write( "current min, max: (%s, %s)\n" % ( new_min.FormatTime(), new_max.FormatTime() ) ) + else: + self.log.write( "current min, max: (None, None)\n" ) #---------------------------------------------------------------------- @@ -118,93 +209,7 @@ def runTest( frame, nb, log ): #---------------------------------------------------------------------- -overview = """ -

-wxTimeCtrl provides a multi-cell control that allows manipulation of a time -value. It supports 12 or 24 hour format, and you can use wxDateTime or mxDateTime -to get/set values from the control. -

-Left/right/tab keys to switch cells within a wxTimeCtrl, and the up/down arrows act -like a spin control. wxTimeCtrl also allows for an actual spin button to be attached -to the control, so that it acts like the up/down arrow keys. -

-The ! or c key sets the value of the control to now. -

-Here's the API for wxTimeCtrl: -

-    wxTimeCtrl(
-         parent, id = -1,
-         value = '12:00:00 AM',
-         pos = wxDefaultPosition,
-         size = wxDefaultSize,
-         fmt24hr = False,
-         spinButton = None,
-         style = wxTE_PROCESS_TAB,
-         name = "time")
-
-
    -
    value -
    If no initial value is set, the default will be midnight; if an illegal string - is specified, a ValueError will result. (You can always later set the initial time - with SetValue() after instantiation of the control.) -
    size -
    The size of the control will be automatically adjusted for 12/24 hour format - if wxDefaultSize is specified. -
    -
    fmt24hr -
    If True, control will display time in 24 hour time format; if False, it will - use 12 hour AM/PM format. SetValue() will adjust values accordingly for the - control, based on the format specified. -
    -
    spinButton -
    If specified, this button's events will be bound to the behavior of the - wxTimeCtrl, working like up/down cursor key events. (See BindSpinButton.) -
    -
    style -
    By default, wxTimeCtrl will process TAB events, by allowing tab to the - different cells within the control. -
    -
-
-
-
SetValue(time_string) -
Sets the value of the control to a particular time, given a valid time string; -raises ValueError on invalid value -
-
GetValue() -
Retrieves the string value of the time from the control -
-
SetWxDateTime(wxDateTime) -
Uses the time portion of a wxDateTime to construct a value for the control. -
-
GetWxDateTime() -
Retrieves the value of the control, and applies it to the wxDateTimeFromHMS() -constructor, and returns the resulting value. (This returns the date portion as -"today".) -
-
SetMxDateTime(mxDateTime) -
Uses the time portion of an mxDateTime to construct a value for the control. -NOTE: This imports mx.DateTime at runtime only if this or the Get function -is called. -
-
GetMxDateTime() -
Retrieves the value of the control and applies it to the DateTime.Time() -constructor, and returns the resulting value. (mxDateTime is smart enough to -know this is just a time value.) -
-
BindSpinButton(wxSpinBtton) -
Binds an externally created spin button to the control, so that up/down spin -events change the active cell or selection in the control (in addition to the -up/down cursor keys.) (This is primarily to allow you to create a "standard" -interface to time controls, as seen in Windows.) -
-
EVT_TIMEUPDATE(win, id, func) -
func is fired whenever the value of the control changes. -
- -""" - - +overview = overviewdoc if __name__ == '__main__': import sys,os diff --git a/wxPython/demo/wxTimer.py b/wxPython/demo/wxTimer.py index b58a628a1d..0aa39e8ee1 100644 --- a/wxPython/demo/wxTimer.py +++ b/wxPython/demo/wxTimer.py @@ -71,14 +71,6 @@ def runTest(frame, nb, log): - - - - - - - - overview = """\ The wxTimer class allows you to execute code at specified intervals. @@ -87,8 +79,7 @@ The wxTimer class allows you to execute code at specified intervals. - - - - - +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxToggleButton.py b/wxPython/demo/wxToggleButton.py index 74d34d3f77..9e90ae9887 100644 --- a/wxPython/demo/wxToggleButton.py +++ b/wxPython/demo/wxToggleButton.py @@ -48,3 +48,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxToolBar.py b/wxPython/demo/wxToolBar.py index 9867b98f05..83b99599cc 100644 --- a/wxPython/demo/wxToolBar.py +++ b/wxPython/demo/wxToolBar.py @@ -57,12 +57,12 @@ class TestToolBar(wxFrame): EVT_TOOL_RCLICKED(self, -1, self.OnToolRClick) # Match all EVT_TIMER(self, -1, self.OnClearSB) - if wxPlatform != "__WXMAC__": - tb.AddSeparator() - cbID = wxNewId() - tb.AddControl(wxComboBox(tb, cbID, "", choices=["", "This", "is a", "wxComboBox"], - size=(150,-1), style=wxCB_DROPDOWN)) - EVT_COMBOBOX(self, cbID, self.OnCombo) + tb.AddSeparator() + cbID = wxNewId() + tb.AddControl(wxComboBox(tb, cbID, "", choices=["", "This", "is a", "wxComboBox"], + size=(150,-1), style=wxCB_DROPDOWN)) + EVT_COMBOBOX(self, cbID, self.OnCombo) + tb.AddControl(wxTextCtrl(tb, -1, "Toolbar controls!!", size=(150, -1))) tb.Realize() diff --git a/wxPython/demo/wxTreeCtrl.py b/wxPython/demo/wxTreeCtrl.py index 9a6a24f468..5aeed4fa2f 100644 --- a/wxPython/demo/wxTreeCtrl.py +++ b/wxPython/demo/wxTreeCtrl.py @@ -167,7 +167,7 @@ class TestTreeCtrlPanel(wxPanel): event.Skip() - def OnActivate(self, evt): + def OnActivate(self, event): self.log.WriteText("OnActivate: %s\n" % self.tree.GetItemText(self.item)) diff --git a/wxPython/demo/wxTreeListCtrl.py b/wxPython/demo/wxTreeListCtrl.py new file mode 100644 index 0000000000..e5b05a9106 --- /dev/null +++ b/wxPython/demo/wxTreeListCtrl.py @@ -0,0 +1,103 @@ + +from wxPython.wx import * +from wxPython.gizmos import wxTreeListCtrl + +import images + +#---------------------------------------------------------------------- + +class TestPanel(wxPanel): + def __init__(self, parent, log): + self.log = log + wxPanel.__init__(self, parent, -1) + EVT_SIZE(self, self.OnSize) + + self.tree = wxTreeListCtrl(self, -1, style = wxTR_DEFAULT_STYLE + #| wxTR_ROW_LINES + #| wxTR_NO_LINES | wxTR_TWIST_BUTTONS + ) + isz = (16,16) + il = wxImageList(isz[0], isz[1]) + fldridx = il.Add(wxArtProvider_GetBitmap(wxART_FOLDER, wxART_OTHER, isz)) + fldropenidx = il.Add(wxArtProvider_GetBitmap(wxART_FILE_OPEN, wxART_OTHER, isz)) + fileidx = il.Add(wxArtProvider_GetBitmap(wxART_REPORT_VIEW, wxART_OTHER, isz)) + smileidx = il.Add(images.getSmilesBitmap()) + + self.tree.SetImageList(il) + self.il = il + + # create some columns + self.tree.AddColumn("Main column") + self.tree.AddColumn("Column 1") + self.tree.AddColumn("Column 2") + self.tree.SetMainColumn(0) # the one with the tree in it... + self.tree.SetColumnWidth(0, 175) + + + self.root = self.tree.AddRoot("The Root Item") + self.tree.SetItemText(self.root, "col 1 root", 1) + self.tree.SetItemText(self.root, "col 2 root", 2) + self.tree.SetItemImage(self.root, fldridx, which = wxTreeItemIcon_Normal) + self.tree.SetItemImage(self.root, fldropenidx, which = wxTreeItemIcon_Expanded) + + + for x in range(15): + txt = "Item %d" % x + child = self.tree.AppendItem(self.root, txt) + self.tree.SetItemText(child, txt + "(c1)", 1) + self.tree.SetItemText(child, txt + "(c2)", 2) + self.tree.SetItemImage(child, fldridx, which = wxTreeItemIcon_Normal) + self.tree.SetItemImage(child, fldropenidx, which = wxTreeItemIcon_Expanded) + + for y in range(5): + txt = "item %d-%s" % (x, chr(ord("a")+y)) + last = self.tree.AppendItem(child, txt) + self.tree.SetItemText(last, txt + "(c1)", 1) + self.tree.SetItemText(last, txt + "(c2)", 2) + self.tree.SetItemImage(last, fldridx, which = wxTreeItemIcon_Normal) + self.tree.SetItemImage(last, fldropenidx, which = wxTreeItemIcon_Expanded) + + for z in range(5): + txt = "item %d-%s-%d" % (x, chr(ord("a")+y), z) + item = self.tree.AppendItem(last, txt) + self.tree.SetItemText(item, txt + "(c1)", 1) + self.tree.SetItemText(item, txt + "(c2)", 2) + self.tree.SetItemImage(item, fileidx, which = wxTreeItemIcon_Normal) + self.tree.SetItemImage(item, smileidx, which = wxTreeItemIcon_Selected) + + + self.tree.Expand(self.root) + + + def OnSize(self, evt): + self.tree.SetSize(self.GetSize()) + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

wxTreeListCtrl

+ +The wxTreeListCtrl is essentially a wxTreeCtrl with extra columns, +such that the look is similar to a wxListCtrl. + + +""" + + + + +if __name__ == '__main__': + #raw_input("Press enter...") + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) + diff --git a/wxPython/demo/wxWave.py b/wxPython/demo/wxWave.py index 7d60ac09c4..1ea3c4998b 100644 --- a/wxPython/demo/wxWave.py +++ b/wxPython/demo/wxWave.py @@ -42,3 +42,12 @@ def runTest(frame, nb, log): overview = """\ """ + + + + + +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) diff --git a/wxPython/demo/wxXmlResourceHandler.py b/wxPython/demo/wxXmlResourceHandler.py index 531457c651..87d8598447 100644 --- a/wxPython/demo/wxXmlResourceHandler.py +++ b/wxPython/demo/wxXmlResourceHandler.py @@ -11,7 +11,7 @@ resourceText = r''' 200,100 - + 10,10 diff --git a/wxPython/distrib/README.1st.txt b/wxPython/distrib/README.1st.txt index 4b55d30398..29509c6a73 100644 --- a/wxPython/distrib/README.1st.txt +++ b/wxPython/distrib/README.1st.txt @@ -36,7 +36,7 @@ Clear as mud? Good. Let's get started. 2. Make a build directory and configure wxGTK. - cd wxPythonGTK-2.3.3 # or whatever the top-level dir is + cd wxPythonSrc-2.4.0 # or whatever the top-level dir is mkdir build cd build ../configure --with-gtk \ @@ -72,7 +72,6 @@ Clear as mud? Good. Let's get started. step, depending on where your WXPREF is.) make - cd ../build make install @@ -104,11 +103,23 @@ Clear as mud? Good. Let's get started. site-packages directory (such as to your home directory) then you can add "--root=" after the "install" command. To use wxPython like this you'll need to ensure that the directory - containing wxPyrthon is contained in in the PYTHONPATH environment + containing wxPython is contained in the PYTHONPATH environment variable. -5. That's all, except for the having fun part! +5. If you havn't already, get a new copy of the demo and documentation + to go with the wxPython you just built and installed. See + http://wxpython.org/download.php#documentation + + +6. Change to the demo directory and run it like this: + + python demo.py + + +7. That's all, except for the having fun part! + + -- Robin Dunn diff --git a/wxPython/distrib/README.viewdocs.txt b/wxPython/distrib/README.viewdocs.txt index de7b3f7ee9..07910c9d12 100644 --- a/wxPython/distrib/README.viewdocs.txt +++ b/wxPython/distrib/README.viewdocs.txt @@ -13,5 +13,5 @@ automatically and add them to the list. The zip file just needs to contain a .hhp file that defines the contents of the book. See the docs on wxHtmlHelpController for details. -If you'd still ike to view these docs in your regular browser you can +If you'd still like to view these docs in your regular browser you can simply unzip each of the books into their own directory. \ No newline at end of file diff --git a/wxPython/distrib/mac/wxPythonOSX/build b/wxPython/distrib/mac/wxPythonOSX/build index 6fca6f4226..955467a1d9 100755 --- a/wxPython/distrib/mac/wxPythonOSX/build +++ b/wxPython/distrib/mac/wxPythonOSX/build @@ -214,6 +214,9 @@ if [ -z "$skipinstall" ]; then mv -f $INSTALLROOT$PREFIX/lib/wx $INSTALLDEVEL$PREFIX/lib mv -f $INSTALLROOT$PREFIX/bin/wx* $INSTALLDEVEL$PREFIX/bin + # TODO for $INSTALLROOT and $INSTALLDEVEL ? + # chown -R root:admin + # chmod -R g+w fi popd diff --git a/wxPython/distrib/mac/wxPythonOSX/resources/Welcome.txt b/wxPython/distrib/mac/wxPythonOSX/resources/Welcome.txt index db55898478..d46dd152e1 100644 --- a/wxPython/distrib/mac/wxPythonOSX/resources/Welcome.txt +++ b/wxPython/distrib/mac/wxPythonOSX/resources/Welcome.txt @@ -1,5 +1,5 @@ Welcome! -This program will install wxPython 2.4.0.7 for MacPython-OSX 2.3. +This program will install wxPython 2.4.1.1 for MacPython-OSX 2.3. -Build date: Fri Mar 21 14:00:06 PST 2003 +Build date: Fri Jun 13 10:07:30 PDT 2003 diff --git a/wxPython/distrib/mac/wxPythonOSX/resources/postflight b/wxPython/distrib/mac/wxPythonOSX/resources/postflight index 915d404aef..bfa196a360 100755 --- a/wxPython/distrib/mac/wxPythonOSX/resources/postflight +++ b/wxPython/distrib/mac/wxPythonOSX/resources/postflight @@ -4,15 +4,15 @@ /usr/local/bin/python -O $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython # and in the demo -/usr/local/bin/python $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py /Applications/wxPythonOSX-2.4.0.7/demo +/usr/local/bin/python $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/../compileall.py /Applications/wxPythonOSX-2.4.1.1/demo # Make the demo/data dir writable -chmod a+w /Applications/wxPythonOSX-2.4.0.7/demo/data +chmod a+w /Applications/wxPythonOSX-2.4.1.1/demo/data # and the wxPython pacakge should be group writable chgrp -R admin $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython -chgrp -R admin /Applications/wxPythonOSX-2.4.0.7 +chgrp -R admin /Applications/wxPythonOSX-2.4.1.1 chmod -R g+w $2/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/wxPython -chmod -R g+w /Applications/wxPythonOSX-2.4.0.7 +chmod -R g+w /Applications/wxPythonOSX-2.4.1.1 exit 0 diff --git a/wxPython/distrib/make_installer.py b/wxPython/distrib/make_installer.py index 6aa2b83421..962c32103e 100644 --- a/wxPython/distrib/make_installer.py +++ b/wxPython/distrib/make_installer.py @@ -25,9 +25,7 @@ AppCopyright = Copyright DefaultDirName = {code:GetInstallDir|c:\DoNotInstallHere} DefaultGroupName = wxPython %(SHORTVER)s for Python %(PYTHONVER)s AlwaysCreateUninstallIcon = yes - -;; SourceDir = . -;; OutputDir is relative to SourceDir +AdminPrivilegesRequired = yes OutputDir = dist WizardStyle = modern UninstallStyle = modern @@ -61,7 +59,6 @@ Name: core; Description: "wxPython modules and library"; Types: full compact Name: docs; Description: "Documentation"; Types: full Name: demo; Description: "Demo application"; Types: full Name: samples; Description: "Sample applications"; Types: full -Name: tools; Description: "Tools"; Types: full ;;------------------------------------------------------------ @@ -94,10 +91,24 @@ Source: "wxPython\lib\editor\*.py"; DestDir: "{app}\wxPython\lib\editor" Source: "wxPython\lib\editor\*.txt"; DestDir: "{app}\wxPython\lib\editor"; Components: core Source: "wxPython\lib\mixins\*.py"; DestDir: "{app}\wxPython\lib\mixins"; Components: core Source: "wxPython\lib\PyCrust\*.py"; DestDir: "{app}\wxPython\lib\PyCrust"; Components: core -Source: "wxPython\lib\PyCrust\*.txt"; DestDir: "{app}\wxPython\lib\PyCrust"; Components: core -Source: "wxPython\lib\PyCrust\*.ico"; DestDir: "{app}\wxPython\lib\PyCrust"; Components: core -Source: "wxPython\lib\PyCrust\wxd\*.py"; DestDir: "{app}\wxPython\lib\PyCrust\wxd"; Components: core Source: "wxPython\lib\colourchooser\*.py"; DestDir: "{app}\wxPython\lib\colourchooser"; Components: core +Source: "wxPython\lib\colourchooser\*.py"; DestDir: "{app}\wxPython\lib\colourchooser"; Components: core +Source: "wxPython\py\*.py"; DestDir: "{app}\wxPython\py"; Components: core +Source: "wxPython\py\*.txt"; DestDir: "{app}\wxPython\py"; Components: core +Source: "wxPython\py\*.ico"; DestDir: "{app}\wxPython\py"; Components: core +Source: "wxPython\py\*.png"; DestDir: "{app}\wxPython\py"; Components: core +Source: "wxPython\py\tests\*.py"; DestDir: "{app}\wxPython\py\tests"; Components: core +Source: "wxPython\py\wxd\*.py"; DestDir: "{app}\wxPython\py\wxd"; Components: core + +Source: "wx\*.py"; DestDir: "{app}\wx"; Components: core +Source: "wx\lib\*.py"; DestDir: "{app}\wx\lib"; Components: core +Source: "wx\lib\colourchooser\*.py"; DestDir: "{app}\wx\lib\colourchooser"; Components: core +Source: "wx\lib\editor\*.py"; DestDir: "{app}\wx\lib\editor"; Components: core +Source: "wx\lib\mixins\*.py"; DestDir: "{app}\wx\lib\mixins"; Components: core +Source: "wx\py\*.py"; DestDir: "{app}\wx\py"; Components: core +Source: "wx\tools\*.py"; DestDir: "{app}\wx\tools"; Components: core +Source: "wx\tools\XRCed\*.py"; DestDir: "{app}\wx\tools\XRCed"; Components: core + %(LOCALE)s @@ -142,25 +153,34 @@ Source: "CHANGES.txt"; DestDir: "{app}\wxPython\docs"; Comp Source: "licence\*.txt"; DestDir: "{app}\wxPython\docs\licence"; Components: core Source: "%(WXDIR)s\docs\htmlhelp\wx.chm"; DestDir: "{app}\wxPython\docs"; Components: docs Source: "%(WXDIR)s\docs\htmlhelp\ogl.chm"; DestDir: "{app}\wxPython\docs"; Components: docs - -Source: "wxPython\tools\*.py"; DestDir: "{app}\wxPython\tools"; Components: tools -Source: "wxPython\tools\XRCed\*.txt"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools -Source: "wxPython\tools\XRCed\sawfishrc"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools -Source: "wxPython\tools\XRCed\*.py"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools -Source: "wxPython\tools\XRCed\*.xrc"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools -Source: "wxPython\tools\XRCed\*.ico"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools -Source: "wxPython\tools\XRCed\*.sh"; DestDir: "{app}\wxPython\tools\XRCed"; Components: tools - -Source: "scripts\*.bat"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\*.py"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\helpviewer"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\img2png"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\img2py"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\img2xpm"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\xrced"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\pyshell"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\pycrust"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools -Source: "scripts\pycwrap"; DestDir: "{code:GetPythonDir}\Scripts"; Components: tools +Source: "docs\*.txt"; DestDir: "{app}\wxPython\docs"; Components: docs +Source: "docs\*.css"; DestDir: "{app}\wxPython\docs"; Components: docs +Source: "docs\*.html"; DestDir: "{app}\wxPython\docs"; Components: docs +Source: "docs\*.conf"; DestDir: "{app}\wxPython\docs"; Components: docs +Source: "docs\screenshots\*.png"; DestDir: "{app}\wxPython\docs\screenshots"; Components: docs + +Source: "wxPython\tools\*.py"; DestDir: "{app}\wxPython\tools"; Components: core +Source: "wxPython\tools\XRCed\*.txt"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\sawfishrc"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\*.py"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\*.xrc"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\*.ico"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\*.png"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\*.sh"; DestDir: "{app}\wxPython\tools\XRCed"; Components: core +Source: "wxPython\tools\XRCed\src-images\*.png"; DestDir: "{app}\wxPython\tools\XRCed\src-images"; Components: core + +Source: "scripts\*.bat"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\*.py"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\helpviewer"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\img2png"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\img2py"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\img2xpm"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\pyalacarte"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\pyalamode"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\pyshell"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\pycrust"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\pywrap"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core +Source: "scripts\xrced"; DestDir: "{code:GetPythonDir}\Scripts"; Components: core Source: "samples\doodle\*.py"; DestDir: "{app}\wxPython\samples\doodle"; Components: samples Source: "samples\doodle\*.txt"; DestDir: "{app}\wxPython\samples\doodle"; Components: samples @@ -170,15 +190,17 @@ Source: "samples\doodle\superdoodle.iss"; DestDir: "{app}\wxPython\samples\doo Source: "samples\wxProject\*.txt"; DestDir: "{app}\wxPython\samples\wxProject"; Components: samples Source: "samples\wxProject\*.py"; DestDir: "{app}\wxPython\samples\wxProject"; Components: samples -Source: "samples\StyleEditor\*.txt"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples -Source: "samples\StyleEditor\*.py"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples -Source: "samples\StyleEditor\*.cfg"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples +Source: "samples\StyleEditor\*.txt"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples +Source: "samples\StyleEditor\*.py"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples +Source: "samples\StyleEditor\*.cfg"; DestDir: "{app}\wxPython\samples\StyleEditor"; Components: samples Source: "samples\pySketch\*.py"; DestDir: "{app}\wxPython\samples\pySketch"; Components: samples Source: "samples\pySketch\images\*.bmp"; DestDir: "{app}\wxPython\samples\pySketch\images"; Components: samples Source: "samples\frogedit\*.py"; DestDir: "{app}\wxPython\samples\frogedit"; Components: samples +Source: "samples\hangman\*.py"; DestDir: "{app}\wxPython\samples\hangman"; Components: samples + Source: "samples\embedded\*.py"; DestDir: "{app}\wxPython\samples\embedded"; Components: samples Source: "samples\embedded\*.cpp"; DestDir: "{app}\wxPython\samples\embedded"; Components: samples Source: "samples\embedded\*.txt"; DestDir: "{app}\wxPython\samples\embedded"; Components: samples @@ -187,6 +209,10 @@ Source: "samples\embedded\*.unx"; DestDir: "{app}\wxPython\samples\embe Source: "samples\embedded\*.ico"; DestDir: "{app}\wxPython\samples\embedded"; Components: samples Source: "samples\embedded\*.xpm"; DestDir: "{app}\wxPython\samples\embedded"; Components: samples +Source: "samples\wx_examples\basic\*.py"; DestDir: "{app}\wxPython\samples\wx_examples\basic"; Components: samples +Source: "samples\wx_examples\hello\*.py"; DestDir: "{app}\wxPython\samples\wx_examples\hello"; Components: samples +Source: "samples\wx_examples\hello\*.jpg"; DestDir: "{app}\wxPython\samples\wx_examples\hello"; Components: samples + Source: "src\winxp.manifest"; DestDir: "{code:GetPythonDir}"; DestName: "python.exe.manifest"; Components: core Source: "src\winxp.manifest"; DestDir: "{code:GetPythonDir}"; DestName: "pythonw.exe.manifest"; Components: core @@ -194,24 +220,29 @@ Source: "src\winxp.manifest"; DestDir: "{code:GetPythonDir}"; DestN ;;------------------------------------------------------------ [Run] +;; Compile the .py files +Filename: "{code:GetPythonDir}\python.exe"; Parameters: "{code:GetPythonDir}\Lib\compileall.py {app}\wxPython {app}\wx"; Description: "Compile Python .py files to .pyc"; Flags: postinstall; Components: core + ;; Recreate the tool scripts to use the paths on the users machine -Filename: "{code:GetPythonDir}\python.exe"; Parameters: "{code:GetPythonDir}\Lib\compileall.py {app}\wxPython"; Description: "Compile Python .py files to .pyc"; Flags: postinstall; Components: core -Filename: "{code:GetPythonDir}\python.exe"; Parameters: "CreateBatchFiles.py"; WorkingDir: "{code:GetPythonDir}\Scripts"; Description: "Create batch files for tool scripts"; Flags: postinstall; Components: tools +Filename: "{code:GetPythonDir}\python.exe"; Parameters: "CreateBatchFiles.py"; WorkingDir: "{code:GetPythonDir}\Scripts"; Description: "Create batch files for tool scripts"; Flags: postinstall; Components: core ;;------------------------------------------------------------ [Icons] -Name: "{group}\Run the DEMO"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "{app}\wxPython\demo"; Parameters: "demo.py"; IconFilename: "{app}\wxPython\demo\wxpdemo.ico"; Components: core -Name: "{group}\PyCrust"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pycrust"; IconFilename: "{app}\wxPython\lib\PyCrust\PyCrust.ico"; Components: core -Name: "{group}\PyShell"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pyshell"; IconFilename: "{app}\wxPython\lib\PyCrust\PyCrust.ico"; Components: core +Name: "{group}\Run the wxPython DEMO"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "{app}\wxPython\demo"; Parameters: "demo.py"; IconFilename: "{app}\wxPython\demo\wxpdemo.ico"; Components: core +Name: "{group}\PyCrust"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pycrust"; IconFilename: "{app}\wxPython\py\PyCrust.ico"; Components: core +Name: "{group}\PyShell"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pyshell"; IconFilename: "{app}\wxPython\py\PyCrust.ico"; Components: core +Name: "{group}\PyAlaMode"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pyalamode"; IconFilename: "{app}\wxPython\py\PyCrust.ico"; Components: core +Name: "{group}\PyAlaCarte"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\pyalacarte"; IconFilename: "{app}\wxPython\py\PyCrust.ico"; Components: core Name: "{group}\wxWindows Reference"; Filename: "{app}\wxPython\docs\wx.chm"; Components: docs Name: "{group}\wxOGL Reference"; Filename: "{app}\wxPython\docs\ogl.chm"; Components: docs Name: "{group}\licence.txt"; Filename: "{app}\wxPython\docs\licence\licence.txt"; Components: core Name: "{group}\README.txt"; Filename: "{app}\wxPython\docs\README.txt"; Components: core Name: "{group}\CHANGES.txt"; Filename: "{app}\wxPython\docs\CHANGES.txt"; Components: core Name: "{group}\Sample Apps"; Filename: "{app}\wxPython\samples"; Components: samples -Name: "{group}\Resource Editor"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\xrced"; IconFilename: "{app}\wxPython\Tools\XRCed\xrced.ico"; Components: tools +Name: "{group}\Resource Editor"; Filename: "{code:GetPythonDir}\pythonw.exe"; WorkingDir: "c:\"; Parameters: "{code:GetPythonDir}\Scripts\xrced"; IconFilename: "{app}\wxPython\Tools\XRCed\xrced.ico"; Components: core +Name: "{group}\wxPython Docs"; Filename: "{app}\wxPython\docs\wxPythonDocs.html"; Components: docs ;;------------------------------------------------------------ @@ -228,12 +259,14 @@ Type: files; Name: "{app}\wxPython\lib\mixins\*.pyc"; Type: files; Name: "{app}\wxPython\lib\mixins\*.pyo"; Type: files; Name: "{app}\wxPython\lib\PyCrust\*.pyc"; Type: files; Name: "{app}\wxPython\lib\PyCrust\*.pyo"; -Type: files; Name: "{app}\wxPython\lib\PyCrust\decor\*.pyc"; -Type: files; Name: "{app}\wxPython\lib\PyCrust\decor\*.pyo"; -Type: files; Name: "{app}\wxPython\lib\PyCrust\wxd\*.pyc"; -Type: files; Name: "{app}\wxPython\lib\PyCrust\wxd\*.pyo"; Type: files; Name: "{app}\wxPython\lib\colourchooser\*.pyc"; Type: files; Name: "{app}\wxPython\lib\colourchooser\*.pyo"; +Type: files; Name: "{app}\wxPython\py\*.pyc"; +Type: files; Name: "{app}\wxPython\py\*.pyo"; +Type: files; Name: "{app}\wxPython\py\tests\*.pyc"; +Type: files; Name: "{app}\wxPython\py\tests\*.pyo"; +Type: files; Name: "{app}\wxPython\py\wxd\*.pyc"; +Type: files; Name: "{app}\wxPython\py\wxd\*.pyo"; Type: files; Name: "{app}\wxPython\tools\*.pyc"; Type: files; Name: "{app}\wxPython\tools\*.pyo"; Type: files; Name: "{app}\wxPython\tools\XRCed\*.pyc"; @@ -253,6 +286,13 @@ Type: files; Name: "{app}\wxPython\samples\StyleEditor\*.pyc"; Type: files; Name: "{app}\wxPython\samples\StyleEditor\*.pyo"; Type: files; Name: "{app}\wxPython\samples\frogedit\*.pyc"; Type: files; Name: "{app}\wxPython\samples\frogedit\*.pyo"; +Type: files; Name: "{app}\wxPython\samples\hangman\*.pyc"; +Type: files; Name: "{app}\wxPython\samples\hangman\*.pyo"; +Type: files; Name: "{app}\wxPython\samples\hangman\*.txt"; +Type: files; Name: "{app}\wxPython\samples\wx_examples\basic\*.pyc"; +Type: files; Name: "{app}\wxPython\samples\wx_examples\basic\*.pyo"; +Type: files; Name: "{app}\wxPython\samples\wx_examples\hello\*.pyc"; +Type: files; Name: "{app}\wxPython\samples\wx_examples\hello\*.pyo"; Type: files; Name: "{app}\wxPython\demo\data\*.pyc"; Type: files; Name: "{app}\wxPython\demo\data\*.pyo"; Type: files; Name: "{app}\wxPython\demo\dllwidget\*.pyc"; @@ -261,6 +301,24 @@ Type: files; Name: "{app}\wxPython\samples\embedded\*.pyc"; Type: files; Name: "{app}\wxPython\samples\embedded\*.pyo"; Type: files; Name: "{app}\wxPython\samples\pySketch\*.pyc"; Type: files; Name: "{app}\wxPython\samples\pySketch\*.pyo"; +Type: files; Name: "{app}\wx\*.pyc"; +Type: files; Name: "{app}\wx\*.pyo"; +Type: files; Name: "{app}\wx\lib\*.pyc"; +Type: files; Name: "{app}\wx\lib\*.pyo"; +Type: files; Name: "{app}\wx\lib\colourchooser\*.pyc"; +Type: files; Name: "{app}\wx\lib\colourchooser\*.pyo"; +Type: files; Name: "{app}\wx\lib\editor\*.pyc"; +Type: files; Name: "{app}\wx\lib\editor\*.pyo"; +Type: files; Name: "{app}\wx\lib\mixins\*.pyc"; +Type: files; Name: "{app}\wx\lib\mixins\*.pyo"; +Type: files; Name: "{app}\wx\py\*.pyc"; +Type: files; Name: "{app}\wx\py\*.pyo"; +Type: files; Name: "{app}\wx\tools\*.pyc"; +Type: files; Name: "{app}\wx\tools\*.pyo"; +Type: files; Name: "{app}\wx\tools\XRCed\*.pyc"; +Type: files; Name: "{app}\wx\tools\XRCed\*.pyo"; + + ''' @@ -380,7 +438,7 @@ def main(): verglob = {} execfile("wxPython/__version__.py", verglob) - VERSION = verglob["ver"] + VERSION = verglob["wxVERSION_STRING"] SHORTVER = VERSION[:3] WXDLL, PYTHONVER = find_DLLs() diff --git a/wxPython/distrib/make_static_setup.py b/wxPython/distrib/make_static_setup.py new file mode 100644 index 0000000000..7ba0d9f7a9 --- /dev/null +++ b/wxPython/distrib/make_static_setup.py @@ -0,0 +1,111 @@ +#!/bin/env python +#--------------------------------------------------------------------------- +# This script generates a template that can be used in the Python +# build process (on posix systems) in order to staticly link the +# wxPython modules into the Python executable. The output of this +# script should be put into a file named Setup.local (or perhaps just +# concatenated to Setup) in the Modules dir of the Python source +# distribution, then just build Python like normal. +# +# You can use any of the command-line args that setup.py understands +# with this script too in order to control what modules are built and +# which compile options and such are used. +# +# This script must be run from the wxPython directory. +#--------------------------------------------------------------------------- + + +import sys, os, re + +# if you need to change some setup.py flags do it here before it is +# imported. Just append to sys.argv. +sys.argv.append("BUILD_GLCANVAS=0") +sys.argv.append("BUILD_OGL=0") +sys.argv.append("BUILD_DLLWIDGET=0") +#sys.argv.append("CORE_ONLY=1") + +import setup + + +def printitem(st): + if st: + print '\\\n\t', st, + + +def buildflags(items, flag, path=None): + st = '' + for item in items: + if path is not None and item[0] != '/': + item = os.path.join(path, item) + st += "%s%s " % (flag, item) + return st + + +def buildmacros(items): + st = '' + for item in items: + if len(item) == 1: + st += "-U%s " % item[0] + elif item[1] is None: + st += "-D%s " % item[0] + else: + st += "-D%s=%s " % item + return st + + +# Python's makesetup can't handle -D flags with = in them, so we need to workaround +def fixmacros(st): + defs = [] + pat = re.compile(r'-D([A-Za-z0-9_]*)=([A-Za-z0-9_]*)') + match = pat.search(st) + while match is not None: + name = match.group(1) + value = match.group(2) + defs.append("m_%s = -D%s=%s" % (name, name, value)) + st = st[:match.start()] + ("$(m_%s)" % name) + st[match.end():] + match = pat.search(st) + + return st, defs + + + +def main(): + cwd = os.getcwd() + + print """\ +# This file is autogenerated by %s and should be +# placed in the /Modules/Setup.local file before +# Python is built. + +*static* + +""" % sys.argv[0] + + for ext in setup.wxpExtensions: + eca = " ".join(ext.extra_compile_args) + macros = buildmacros(ext.define_macros) + + eca, defs = fixmacros(eca) + print "\n".join(defs) + macros, defs = fixmacros(macros) + print "\n".join(defs) + + print ext.name, + for s in ext.sources: + printitem(os.path.join(cwd, s)) + printitem(buildflags(ext.include_dirs, '-I', cwd)) + printitem(buildflags(ext.library_dirs, '-L')) + printitem(buildflags(ext.libraries, '-l')) + printitem(macros) + printitem(eca) + # filter out some options that makesetup can't handle, but it shouldn't hurt to remove these... + ela = filter(lambda x: x not in ['-pthread', '-rdynamic'], ext.extra_link_args) + printitem(" ".join(ela)) + + print; print; print + + + +if __name__ == "__main__": + main() + diff --git a/wxPython/distrib/makerpm b/wxPython/distrib/makerpm index f9e7604374..6d6088d515 100755 --- a/wxPython/distrib/makerpm +++ b/wxPython/distrib/makerpm @@ -136,14 +136,16 @@ if [ -z "${skipcopy}" ]; then cp -pf --link ${wxdir}/* ${tarver} > /dev/null 2>&1 # copy all top dirs except CVS, build, demos, utils, samples, and wxPython - for d in art contrib debian distrib docs include lib locale misc src; do - cp -Rpf --link ${wxdir}/$d ${tarver} #> /dev/null 2>&1 + for d in art contrib debian distrib docs include lib locale misc patches src; do + if [ -e ${wxdir}/$d ]; then + cp -Rpf --link ${wxdir}/$d ${tarver} #> /dev/null 2>&1 + fi done # now do the same thing for wxPython, skipping it's build dirs and such mkdir ${tarver}/wxPython cp -pf --link ${wxdir}/wxPython/* ${tarver}/wxPython > /dev/null 2>&1 - for d in contrib demo distrib distutils samples scripts src wxPython; do + for d in contrib demo distrib distutils docs licence samples scripts src wx wxPython; do cp -Rpf --link ${wxdir}/wxPython/$d ${tarver}/wxPython #> /dev/null 2>&1 done diff --git a/wxPython/distrib/wxPythonFull.spec.in b/wxPython/distrib/wxPythonFull.spec.in index fa0745bb6f..15bb0ea82b 100644 --- a/wxPython/distrib/wxPythonFull.spec.in +++ b/wxPython/distrib/wxPythonFull.spec.in @@ -28,8 +28,12 @@ # build the name of the real wx-config from the port, flags, etc. %define dbgflg %(if [ "%{debug_flag}" = "1" ]; then echo d; fi) %define uniflg %(if [ "%{unicode}" = "1" ]; then echo u; fi) +%define DBGFLG %(if [ "%{debug_flag}" = "1" ]; then echo D; fi) +%define UNIFLG %(if [ "%{unicode}" = "1" ]; then echo U; fi) %define wxconfigname %{wxpref}/bin/wx%{lcport}%{uniflg}%{dbgflg}-%{ver2}-config +# turn off the generation of debuginfo rpm (RH9) +%define debug_package %{nil} #---------------------------------------------------------------- Summary: Cross platform GUI toolkit for Python using wx%{port} @@ -43,13 +47,18 @@ Packager: Robin Dunn Group: Development/Python BuildRoot: %{_tmppath}/%{name}-buildroot Prefix: %{pref} -#BuildRequires: %{python} Provides: wxPython = %{version} Provides: wxPython%{port} = %{version} +Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so +Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2}) +Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so +Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2}) + + # old wxPython packages -Obsoletes: wxPython +Obsoletes: wxPython wxPython%{port} %description @@ -127,8 +136,6 @@ cd $WXDIR/wxPython WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" \ build -## WX_CONFIG="$WXDIR/build/wx-config --inplace --prefix=$RPM_BUILD_ROOT%{wxpref}" \ - # Build wxrc (XRC resource tool) but don't use the makefiles since they expect @@ -138,7 +145,7 @@ WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" wCC=`$WX_CONFIG --cc` wCXX=`$WX_CONFIG --cxx` -for f in wxrc.cpp ../../src/xrc/*.cpp; do +for f in wxrc.cpp ../../src/xrc/xml.cpp ../../src/xrc/xmlres.cpp; do echo $f $wCXX `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f done @@ -147,9 +154,6 @@ for f in ../../src/xrc/expat/xmlparse/xmlparse.c ../../src/xrc/expat/xmltok/xmlr $wCC `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f done -# the handlers are not needed -rm xh_*.o xmlrsall.o - $wCXX `$WX_CONFIG --libs` *.o -o wxrc strip wxrc @@ -189,8 +193,10 @@ for s in \ img2png \ img2py \ img2xpm \ + pyalacarte \ + pyalamode \ pycrust \ - pycwrap \ + pywrap \ pyshell \ xrced; do cp scripts/$s $RPM_BUILD_ROOT/%{pref}/bin @@ -201,6 +207,37 @@ done cp $WXDIR/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT/%{pref}/bin +# Copy icons and make menu entries +#-- This only works for Mandrake. Is there a cross-distro way to do it? +##mkdir -p $RPM_BUILD_ROOT/%{_iconsdir} +##mkdir -p $RPM_BUILD_ROOT/%{_miconsdir} +##mkdir -p $RPM_BUILD_ROOT/%{_menudir} +##install -p -m 644 $WXDIR/wxPython/wxPython/py/PyCrust_32.png $RPM_BUILD_ROOT/%{_iconsdir}/PyCrust.png +##install -p -m 644 $WXDIR/wxPython/wxPython/py/PyCrust_16.png $RPM_BUILD_ROOT/%{_miconsdir}/PyCrust.png +##install -p -m 644 $WXDIR/wxPython/wxPython/tools/XRCed/XRCed_32.png $RPM_BUILD_ROOT/%{_iconsdir}/XRCed.png +##install -p -m 644 $WXDIR/wxPython/wxPython/tools/XRCed/XRCed_16.png $RPM_BUILD_ROOT/%{_miconsdir}/XRCed.png +## +##cat > $RPM_BUILD_ROOT/%{_menudir}/%{name} <> FILELIST $GFL $RPM_BUILD_ROOT %{wxpref}/lib >> FILELIST $GFL $RPM_BUILD_ROOT "%{wxpref}/lib/libwx*" >> FILELIST $GFL -r $RPM_BUILD_ROOT %{wxpref}/share >> FILELIST +###GFL -r $RPM_BUILD_ROOT %{_iconsdir} >> FILELIST +##$GFL -r $RPM_BUILD_ROOT %{_menudir} >> FILELIST $GFL $RPM_BUILD_ROOT %{wxpref}/include > DEVELLIST $GFL -r $RPM_BUILD_ROOT %{wxpref}/include/wx >> DEVELLIST @@ -226,6 +265,13 @@ $GFL $RPM_BUILD_ROOT %{wxconfigname} >> DEVELLIST $GFL $RPM_BUILD_ROOT %{wxpref}/bin/wx-config >> DEVELLIST +#---------------------------------------------------------------- +##%post +##%{update_menus} +## +##%postun +##%{clean_menus} + #---------------------------------------------------------------- %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT @@ -237,7 +283,7 @@ $GFL $RPM_BUILD_ROOT %{wxpref}/bin/wx-config >> DEVELLIST %defattr(-,root,root) %doc docs/preamble.txt docs/licence.txt docs/readme.txt docs/changes.txt %doc wxPython/README.txt wxPython/CHANGES.txt - +%doc wxPython/docs/* %files -n wxPython%{port}-devel -f DEVELLIST %defattr(-,root,root) diff --git a/wxPython/distrib/wx_conv.py b/wxPython/distrib/wx_conv.py new file mode 100644 index 0000000000..1ac2d1b819 --- /dev/null +++ b/wxPython/distrib/wx_conv.py @@ -0,0 +1,220 @@ +""" +Convert modules from the old 'from wxPython.wx import *' style to +the new 'import wx' style. + +Author: dfh@forestfield.co.uk (David Hughes) + + +This should probably go in the tools package and have a startup script +like the others, but I don't think it's ready for prime-time yet. So +just put it in distrib for now so it doesn't get lost... + +--Robin +""" + + +import os, sys, time +import string +t0 = time.time() + + +import wx +print 'length = ', len(wx._newnames) + +for key in ['true', 'True', 'false', 'False']: # use native Python not wx. + if key in wx._newnames: + del wx._newnames[key] + +import wx.calendar, wx.gizmos, wx.glcanvas, wx.grid, wx.help, wx.html, \ + wx.htmlhelp, wx.iewin, wx.ogl, wx.stc, wx.wizard, wx.xrc +import wx.lib +##import wx.lib.activexwrapper, wx.lib.analogclock, wx.lib.anchors, \ +import wx.lib.activexwrapper, wx.lib.anchors, \ + wx.lib.buttons, wx.lib.calendar, wx.lib.ClickableHtmlWindow, \ + wx.lib.colourdb, wx.lib.colourselect, wx.lib.dialogs, \ + wx.lib.ErrorDialogs, wx.lib.evtmgr, wx.lib.fancytext, \ + wx.lib.filebrowsebutton, wx.lib.gridmovers, wx.lib.grids, \ + wx.lib.imagebrowser, wx.lib.imageutils, wx.lib.infoframe, \ + wx.lib.intctrl, wx.lib.layoutf, wx.lib.multisash, \ + wx.lib.popupctl, wx.lib.printout, wx.lib.rcsizer, \ + wx.lib.rightalign, wx.lib.sheet, wx.lib.stattext, \ + wx.lib.throbber, wx.lib.timectrl, wx.lib.wxPlotCanvas, \ + wx.lib.wxpTag +import wx.lib.mixins, wx.lib.editor, wx.lib.colourchooser +import wx.lib.mixins.grid, wx.lib.mixins.imagelist, \ + wx.lib.mixins.listctrl +## wx.lib.mixins.listctrl, wx.lib.mixins.rubberband +import wx.lib.editor.editor, wx.lib.editor.images, wx.lib.editor.selection +import wx.lib.colourchooser.canvas, wx.lib.colourchooser.intl, wx.lib.colourchooser.pycolourbox, \ + wx.lib.colourchooser.pycolourchooser, wx.lib.colourchooser.pycolourslider, wx.lib.colourchooser.pypalette + +wxlist = [] +for kd in wx._newnames.items(): + wxlist.append(kd) +wxlist.sort() + +n = 0 +for item in wxlist: + n += 1 +## print n, item +print 'length = ', len(wx._newnames) +print 'imports completed in ', time.time()-t0, 'secs' + +base_path = 'G:/wxConvert/Test1' +exclude_dir = ( 'wx', 'wx_cc', 'reportlab', 'sqlite') # MUST exclude wx if it is below base_dir, others optional + +other_subs = { 'true': 'True', + 'false': 'False' + } + +punct = string.punctuation.replace('_','') # exclude single underscore +punct = punct.replace('.','') # and period +punct = punct.replace('*','') # and asterisk, all allowed in names +punctable = string.maketrans(punct, ' '*len(punct)) # map punctuation characters to spaces +numfiles = 0 + +#---------------------------------------------------------------------------- + +class AFile: + " file object - collection of properties relating to current instance" + def __init__(self, subsdict): + self.subsdict = subsdict.copy() # dictionary of universal and local substitutions to make + self.importing = [] # list of wx modules being imported + +#---------------------------------------------------------------------------- + +def visit(noargs, thispath, contentlist): + """ Function is called by os walk for every directory in base_path, + including base_path itself. Contentlist is a list of files/dirs in thispath. + Wx conversion function is called for every qualifying file in list + """ + path = thispath + base = 'something' + while base: # check if thispath or a parent is excluded + path, base = os.path.split(path) + if base in exclude_dir: + print 'Excluded:', thispath + return + + for item in contentlist: + pathname = os.path.join(thispath, item) + if os.path.isfile(pathname) and pathname[-3:].lower() == '.py': + wxconvert(pathname) + +def wxconvert(pathname): + """ Scan each line of text in pathname. Replace each occurrence of any key in wx._newnames + dictionary with the content stored under that key + """ + global numfiles + afile = AFile(other_subs) + infile = open(pathname, 'r') + linelist = infile.readlines() + infile.close() + + lnum = 0 + outlist = [] + for line in linelist: + lnum += 1 + tokenlist = line.replace('.__', ' ').translate(punctable).split() # split on white space and punctuation + line, status = checkimports(afile, line, tokenlist) # return line with 'import' modifications + if not status: + print 'Unable to convert line %d in %s' % (lnum, pathname) + break + else: + for key in afile.subsdict: # do other changes first + if line.find(key) >= 0: + line = line.replace(key, afile.subsdict[key]) + for token in tokenlist: # change wx names + if token in wx._newnames: + candidate = wx._newnames[token] + module = candidate[:candidate.rfind('.')] + if module in afile.importing: + line = line.replace(token, candidate) + outlist.append(line) + else: + outfile = open(pathname, 'w') + outfile.writelines(outlist) + numfiles += 1 + print 'Converted:', pathname + outfile.close() + +def checkimports(afile, line, tlist): + """ Scan tokenlist for wxPython import statement. Add to afile.subsdict any + name changes that are necessary for the rest of the current source file. + Add to afile.importing any new import modules + Return a tuple (status, newstring) - + line, possibly modified if an import statmeny + status: 0: unable to handle complexity, 1: OK + """ + aline = line + if len(tlist) == 0: return (aline, 1) + indent = '' + for ch in line: + if ch in string.whitespace: + indent += ' ' + else: + break + + if tlist[0] == 'import': # import module [as name] [module [as name]...] + skip = False + for t in tlist[1:]: + if skip: + skip = False + elif t == 'as': + skip = True + elif t.startswith('wx'): + aline = aline.replace(t, rename_module(afile, t)) + elif (tlist[0] == 'from' and + tlist[1] == 'wxPython' and + tlist[2] == 'import'): # from wxPython import module + if len(tlist) > 4: # ...[as name] [module [as name]...] + return ('', 0) # too complicated + module = rename_module(afile,tlist[-1]) + aline = indent = 'import ' + module + '\n' + elif (tlist[0] == 'from' and + tlist[1].startswith('wxPython') and + tlist[2] == 'import'): # from module import .... + if tlist[-1] <> '*': # ...name [as name] [name [as name]...] + aline = aline.replace(tlist[1], rename_module(afile, tlist[1])) + skip = False + for t in tlist[3:]: + if skip: + skip = False + elif t == 'as': + skip = True + else: + elem = t.split('.') + if elem[-1].startswith('wx'): # remove wx prefix from last element of name + elem[-1] = elem[-1][2:] + afile.subsdict[t] = '.'.join(elem) # and apply to each occurrence in source + else: # from module import * + module = rename_module(afile,tlist[1]) + aline = indent = 'import ' + module + '\n' + return (aline, 1) + +def rename_module(afile, t, type='A'): + """ Substitute wx for wxPython.wx or wx, and wx.foo.bar for wxPython.foo.bar in token + foo.bar => wx.foo.bar is also permitted (from wxPython import foo.bar) + """ + if t in ['wx', 'wxPython.wx']: + module = 'wx' + elif t.startswith('wxPython'): + module = t.replace('wxPython', 'wx') + elif t.startswith('wx'): + module = t + else: + module = 'wx.' + t + if module not in afile.importing: + afile.importing.append(module) + return module + +def main(): + " Convert every file in base_dir and all subdirectories except in exclude_dir list" + + os.path.walk(base_path, visit, None) + print '%d files converted in %.2f seconds' % (numfiles, time.time() - t0) + +#---------------------------------------------------------------------------- + +if __name__ == '__main__': + main() diff --git a/wxPython/distrib/wx_create.py b/wxPython/distrib/wx_create.py new file mode 100644 index 0000000000..baf85ae6b7 --- /dev/null +++ b/wxPython/distrib/wx_create.py @@ -0,0 +1,116 @@ +""" +wx_create.py + +Originally written by David Hughes +Massivly hacked by Robin Dunn + +This automatically creates all the stub modules that are required in +the wx package in addition to __init__.py + +The module names to make stubs for are found by scanning the wxPython +package directory. The default directory searched is ../wxPython, but +you can specify a different one on the command-line if needed. + +The content of each module (.py file) is taken from wxmodule_template +with appropriate substitution of the %name% tokens + +""" + +import os, sys, glob + +wxmodule_template = """ +\"\"\"Renamer stub: provides a way to drop the wx prefix from wxPython objects.\"\"\" + +__cvsid__ = \"\x24Id: \x24\" +__revision__ = \"\x24Revision: \x24\"[11:-2] + +from wx import _rename +from wxPython%(prefix)s import %(suffix)s +_rename(globals(), %(suffix)s.__dict__, modulename='%(name)s') +del %(suffix)s +del _rename +""" + +wxPython_dir = "../wxPython" + +subpackage_list = ['.', + 'lib', 'lib/mixins', 'lib/editor', 'lib/colourchooser', + 'py', + 'tools', 'tools/XRCed', + ] + +skip_modules = [ '__init__', '__version__', + 'wx', 'windows', 'windows2', 'windows3', 'events', 'fonts', 'misc', + 'misc2', 'gdi', 'mdi', 'controls', 'controls2', 'cmndlgs', + 'stattool', 'frames', 'image', 'printfw', 'sizers', 'clip_dnd', + 'filesys', 'streams', 'htmlhelp', 'oglbasic', 'oglshapes', + 'oglshapes2', 'oglcanvas', 'stc_', 'utils', 'dllwidget_', + + 'PyAlaModeTest', + ] + + + + + +# Check for command-line arg +if len(sys.argv) > 1: + wxPython_dir = sys.argv[1] + +# check wxPython_dir +if not os.path.exists(wxPython_dir) or not os.path.isdir(wxPython_dir): + print wxPython_dir, "does not exist or is not a directory!" + sys.exit() + +# check current location +if os.path.basename(os.getcwd()) <> 'wx': + print 'This must be run from inside the target "wx" directory' + sys.exit() + + +# build the modules and subpackages as needed +for subdir in subpackage_list: + # create subdir if needed + if not os.path.exists(subdir): + os.mkdir(subdir) + + # create __init__.py if needed + if os.path.isdir(subdir): + fname = os.path.join(subdir, '__init__.py') + if not os.path.exists(fname): + f = open(fname, 'w') + f.write("# Python package\n") + f.close() + else: + print subdir + 'exists but is not a directory' + sys.exit() + + # find the .py files there and make renamer stubs for them here + src = os.path.join(wxPython_dir, subdir, "*.py") + for srcname in glob.glob(src): + suffix = os.path.splitext(os.path.basename(srcname))[0] + if suffix in skip_modules: + continue + prefix = subdir.replace('/', '.') + if prefix == '.': + prefix = '' + name = suffix + else: + name = prefix + '.' + suffix + prefix = '.' + prefix + + fname = os.path.join(subdir, suffix+".py") + + content = wxmodule_template % globals() + f = open(fname, 'w') + f.write(content) + f.close() + print fname + ' created' + + + +sys.exit() + + + + diff --git a/wxPython/docs/PyManual.txt b/wxPython/docs/PyManual.txt new file mode 100644 index 0000000000..55c5170c4b --- /dev/null +++ b/wxPython/docs/PyManual.txt @@ -0,0 +1,225 @@ +=============== + The Py Manual +=============== + +------------------------- + Py - Served Fresh Daily +------------------------- + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ + +.. _Orbtech: http://www.orbtech.com/ + +.. contents:: + + +Introduction +============ + +This document will show you how to use the Py programs and the Py +library of Python source code modules. Py is the new name for the +project that began as PyCrust. Py is officially part of wxPython_, +and includes PyCrust, so PyCrust is no longer distributed separately. + +.. _wxPython: http://www.wxpython.org/ + + +Developer Reference +=================== + +Source code documentation for developers is available at: + +http://www.orbtech.com/www/wx/epydoc/public/wx.py-module.html + + +What is Py? +=========== + +Besides being `a delicious dessert`_, Py is the name for a collection +of whimsically-named Python programs and modules that began as the +PyCrust project. So Py is really several things: a set of standalone +programs, including the original PyCrust program, a library of Python +source code modules that can be used in your own programs, a set of +decorator classes that enhance the wxPython class library, and as many +examples of bad "pie" puns as I can come up with. (If you're going to +do something, you might as well do it all the way, right?) Py uses +Python and wxPython, so it works equally well on Windows, Linux and +Mac OS X. + +.. _a delicious dessert: http://www.wikipedia.org/wiki/Pie + + +PyCrust is dead! Long live Py! +============================== + +This project began with a program I created called PyCrust - an +interactive, graphical Python shell, developed using the wxPython GUI +toolkit. For about two years, PyCrust was hosted on SourceForge_. +Shortly after I created PyCrust, the wxPython folks started including +it in their distribution. As the PyCrust project grew, it reached a +point where I thought the original PyCrust name was too confining. I +was using the PyCrust code base to develop programs that weren't just +Python shells any more. + +Around that same time, the wxPython folks asked me if I'd be willing +to move all my wxPython-related projects into the `wxPython CVS +repository`_, and become part of the wxPython_/wxWindows_ developer team. +I decided the time was right to restructure the PyCrust project. +During the move, the PyCrust package was renamed to "py" (lowercase +"p") and the collection of programs and modules as a whole became +known as "Py" (with a capital "P"). + +.. _wxPython CVS repository: http://cvs.wxwindows.org +.. _SourceForge: http://www.sf.net/projects/pycrust/ +.. _wxWindows: http://www.wxwindows.org/ + +The original goal of PyCrust was to be the best interactive, graphical +Python shell (of course, I claimed it was the "flakiest" Python +shell). And that was all I wanted it to be. But little by little I +found myself developing a wider variety of tools for wxPython +applications. Eventually I'll create a debugger (PySlice, perhaps) +and whatever else is needed to one day become a complete wxPython +application development environment (PyFactory?). In the mean time, +PyCrust is still the flakiest Python shell, and the other Py programs +are equally tasty. + +At this point, Py has standalone programs that include Python code +editors (PyAlaCarte and PyAlaMode), interactive Python shells (PyCrust +and PyShell), and a runtime wrapper (PyWrap). The runtime wrapper +utility provides you with runtime introspection capabilities for your +wxPython programs without having to include PyCrust or PyShell in your +program, and without having to alter one line of your source code. + +Py also contains a collection of modules that you can use in your own +wxPython applications to provide similar services, either for your own +use during development, or as an interface for users of your programs. +These modules are the same ones used by all the Py programs. In +addition, Py contains a set of decorator classes that enhance the +wxPython class library, by dynamically attaching docstrings and call +signatures at runtime. + + +Py standalone programs +====================== + +These are the standalone applications in the Py collection: + +* PyAlaCarte +* PyAlaMode +* PyCrust +* PyFilling +* PyShell +* PyWrap + + +PyAlaCarte +========== + +PyAlaCarte is a Python source code editor. It is designed to have a +simple, single-file interface. As a standalone application, it is +good for simple, short editing tasks. But it is really meant to be +more of an example of how to embed the Py editor into a wxPython +application. + + +PyAlaMode +========= + +PyAlaMode is a Python source code editor. + + +PyCrust +======= + +PyCrust is an interactive, Python shell. But it's more than just a +shell. It includes a tabbed notebook containing a namespace tree +(PyFilling), and several other things. + + +PyFilling +========= + +PyFilling is a namespace viewer. It isn't really useful as a +standalone program, but it does illustrate how to make use of the +underlying ``filling`` module. + + +PyShell +======= + +PyShell is an interactive, Python shell. It shares the same base code +as PyCrust, but doesn't have any of the extra features that appear in +the PyCrust notebook interface. + +.. figure:: /screenshots/PyShell.png + + PyShell running on Mandrake Linux 9.1. + + +PyWrap +====== + +PyWrap is a runtime utility that lets you run an existing wxPython +program with a PyCrust frame at the same time. Inside the PyCrust +shell namespace, the local variable ``app`` is assigned to your +application instance. In this way you can introspect your entire +application within the PyCrust shell, as well as the PyFilling +namespace viewer. And through the use of the Py decorator classes, +PyCrust can display wxPython function and method signatures as well as +docstrings for the entire wxPython library. + + +Py modules +========== + +Py was designed to be modular. That means graphical code is kept +separate from non-graphical code, and many of the Py modules can be +used by other programs. Likewise, other programs can supply some of +the modules needed by Py. For example, you could supply a customized +interpreter module and plug it in to the PyCrust standalone +application. As long as it supports the minimum functionality +required, PyCrust will work just as well with your interpreter as with +its default interpreter. + + +Decorator classes +================= + +Py contains a set of decorator classes that enhance the wxPython class +library, by dynamically attaching docstrings and call signatures at +runtime. + + +Projects using Py +================= + +* `Conflict Solver`_ +* Gnumed_ +* PyGist +* PythonCard_ +* RPy_ +* SciPy_ +* Sim42_ +* wxGasp_ + +.. _Conflict Solver: http://conflictsolver.sourceforge.net/ +.. _Gnumed: http://www.gnumed.org/ +.. _PythonCard: http://www.pythoncard.org/ +.. _RPy: http://rpy.sourceforge.net/ +.. _SciPy: http://www.scipy.org/ +.. _Sim42: http://www.sim42.org/ +.. _wxGasp: http://linus.yorktown.arlington.k12.va.us/CS/APCSC/student_sites/David_Mayo/wxGasp + + +History of changes +================== + +This section lists all the changes that have been made to the Py +programs and modules, since the beginning. + +.. include:: ../wxPython/py/CHANGES.txt + diff --git a/wxPython/docs/default.css b/wxPython/docs/default.css new file mode 100644 index 0000000000..7343b12bc9 --- /dev/null +++ b/wxPython/docs/default.css @@ -0,0 +1,208 @@ +/* +:Author: David Goodger +:Contact: goodger@users.sourceforge.net +:date: $Date$ +:version: $Revision$ +:copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. +*/ + +.first { + margin-top: 0 } + +.last { + margin-bottom: 0 } + +a.toc-backref { + text-decoration: none ; + color: black } + +dd { + margin-bottom: 0.5em } + +div.abstract { + margin: 2em 5em } + +div.abstract p.topic-title { + font-weight: bold ; + text-align: center } + +div.attention, div.caution, div.danger, div.error, div.hint, +div.important, div.note, div.tip, div.warning { + margin: 2em ; + border: medium outset ; + padding: 1em } + +div.attention p.admonition-title, div.caution p.admonition-title, +div.danger p.admonition-title, div.error p.admonition-title, +div.warning p.admonition-title { + color: red ; + font-weight: bold ; + font-family: sans-serif } + +div.hint p.admonition-title, div.important p.admonition-title, +div.note p.admonition-title, div.tip p.admonition-title { + font-weight: bold ; + font-family: sans-serif } + +div.dedication { + margin: 2em 5em ; + text-align: center ; + font-style: italic } + +div.dedication p.topic-title { + font-weight: bold ; + font-style: normal } + +div.figure { + margin-left: 2em } + +div.footer, div.header { + font-size: smaller } + +div.sidebar { + margin-left: 1em ; + border: medium outset ; + padding: 0em 1em ; + background-color: #ffffee ; + width: 40% ; + float: right } + +div.system-messages { + margin: 5em } + +div.system-messages h1 { + color: red } + +div.system-message { + border: medium outset ; + padding: 1em } + +div.system-message p.system-message-title { + color: red ; + font-weight: bold } + +div.topic { + margin: 2em } + +h1.title { + text-align: center } + +h2.subtitle { + text-align: center } + +hr { + width: 75% } + +ol.simple, ul.simple { + margin-bottom: 1em } + +ol.arabic { + list-style: decimal } + +ol.loweralpha { + list-style: lower-alpha } + +ol.upperalpha { + list-style: upper-alpha } + +ol.lowerroman { + list-style: lower-roman } + +ol.upperroman { + list-style: upper-roman } + +p.caption { + font-style: italic } + +p.credits { + font-style: italic ; + font-size: smaller } + +p.label { + white-space: nowrap } + +p.sidebar-title { + font-family: sans-serif ; + font-weight: bold ; + font-size: larger } + +p.sidebar-subtitle { + font-family: sans-serif ; + font-weight: bold } + +p.topic-title { + font-weight: bold } + +pre.address { + margin-bottom: 0 ; + margin-top: 0 ; + font-family: serif ; + font-size: 100% } + +pre.line-block { + font-family: serif ; + font-size: 100% } + +pre.literal-block, pre.doctest-block { + margin-left: 2em ; + margin-right: 2em ; + background-color: #eeeeee } + +span.classifier { + font-family: sans-serif ; + font-style: oblique } + +span.classifier-delimiter { + font-family: sans-serif ; + font-weight: bold } + +span.interpreted { + font-family: sans-serif } + +span.option { + white-space: nowrap } + +span.option-argument { + font-style: italic } + +span.pre { + white-space: pre } + +span.problematic { + color: red } + +table { + margin-top: 0.5em ; + margin-bottom: 0.5em } + +table.citation { + border-left: solid thin gray ; + padding-left: 0.5ex } + +table.docinfo { + margin: 2em 4em } + +table.footnote { + border-left: solid thin black ; + padding-left: 0.5ex } + +td, th { + padding-left: 0.5em ; + padding-right: 0.5em ; + vertical-align: top } + +th.docinfo-name, th.field-name { + font-weight: bold ; + text-align: left ; + white-space: nowrap } + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + font-size: 100% } + +tt { + background-color: #eeeeee } + +ul.auto-toc { + list-style-type: none } diff --git a/wxPython/docs/docutils.conf b/wxPython/docs/docutils.conf new file mode 100644 index 0000000000..f369f22820 --- /dev/null +++ b/wxPython/docs/docutils.conf @@ -0,0 +1,6 @@ +[options] + +output_encoding: iso-8859-1 +source-link: 1 +datestamp: %Y-%m-%d %H:%M UTC +generator: 1 diff --git a/wxPython/docs/screenshots/hello-linux.png b/wxPython/docs/screenshots/hello-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b67fc8d934a22035ad89c0b144ef41f1d05bb6b5 GIT binary patch literal 62715 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

$xuQl^eP%unccHwA}3NgUg-Pv>KTeX zxliA~)Y%xlI5BJwzYTf{EhNwf{9;{Q9`i+w4<>a72Rx(N$7o)&QUi7Z?}HgBbMv{` zFPaB`|Nfi5^?BZArF=Gw`r zUI1C^^=7Y!zsu2X>%QLm0%?PS$qz^4SWzVoJp`3iRV*y8mEtx3tyFVrycV~~rF%R2 zf=PWOyihA3;1r~&BWHSf?KBSMWZC48E<~&{CQi$7SzQ@dMASLQeOBfl~nP(OJ!ex<4+VqYdj+{}mWzs_JwPNQN#mM+tNy+osbu=FhY2cqquKPsXaPr8`XZaj40i-XyVp*Z=3WxT3 zpow>$P%!U!nQE4lT%5LEoB|I5upZoup`fJ1yGMZF5K+CaYJCObX^NNd&_91<8wCA2 zf`UBdO7}fD1-ae=F*^1A`lV%P-VF|EQ>Uuo*_!&i4y1Kn8q$92U0IeBEh{T4u;x*n zFiZ6j^3Gp(u3|DG@qXg@Z{r7=yXc94>4^P@m&9w0z3yfJ89+(8^LnWGes3ak&|1uw zeXq~r_A@-`A6XmFx!7g$&NrcK5P72%8zY@`3;y@NZ-##Jemy)qY{F|Nc94DFE+;n^ z5CwL2oW-MucQaM|TG*_}JBq3OzPNxM@*<3u{$*Vy65kQ-@$D&e6X8#9&4G2e z>u8$!>XYq$o7^C?c*18s)N5g!QBh~sH=-16w?b6|3CPlhftjt=Zpdl6PF-rk z%k;$)TRy9yHrtGnED9JmWmVwSz}fp2Hk>`XTp!=CN32=;q~WoP$DB|$px`wI+PYc1 zDLpJsp06HreE7h}l&-3RB0^^F{6|o1k(vfak3z4{pPA!zMdtI`$EWuzUTNBX2h`cO z2{>s44|X@`;^5KNb5~dMA3r1?inBvIR&^zu2k$kNBqRZ=mi4sA8=jjKd+{`dO0Vcy zdk9g6G}o*kY|>Hy>gNL``W&!mq0hj%8Xq5fe7uwzbzSl*0TVM5I%W)QTx*s>Gwuz6 zgtPK1=;`A}Ypbi1AH@vRi0^4Z-o&#Nd3=n+gy{iV2nT=51GvS^@oQq zj`|cO-Ft8O1a1Y)$wGg6jhmVvfg7(04Xgz}t$}EWdZqJJBi``%90K{z-)8$MsX1VWNoSAf2#1wiu|Unno8pV83o*GiYtjy)txfrx{GmlhQ%iuC!g6 zS{skP#t6&w?MYCPIn9QXzG1HoR}5sZB89Lmb;aBO_Lzi(vz6*zIqeqzb^U)-baCAS zs0ojzg{r4EfB7ox{f>@1jb}d-hce{fvn2Q$eG*OSbiFm3Qc~kwE0N_f#%F6b^=I## z$NpITY#?^cYrUj|y3vGJKrHxRgW*yOPm*Kj&fsg_dwX&E*K;@I{I~$%Q6+vv|L*T2 zL!fOIA!k}`}Bsv+Vw4QYg| z0$^kB|8OUKswI8*NKYY|w&3WWnf`2%`*{+_A7c(2^0D9$x$n{~NT}oNz?^=z9W=ac z+>&cVlDQLSXYg-gfR7k*>G2qYKvEC_Z9q7^0VQG%`m3!z61-D;)!@^IhMgYZ<&cL0 zB^i)wAcqSIvMYc0z)3uikT^?D3PgqMW!MlC63iU}@l&P{)~Xt~!=a&jRDo@M0-fI= zjfcpz>1F|gmXKMcPWfDMh*y6z^Yz;+7(k#g?UI# zy4RK_HoEvZCWV~;T=J+Z3Y6{IMkiO-t<{krpSk@PkgWB96js5WfwT|*T2^=}b@J)9 zNtSznmCN4V{%4a{OJsn6-u3;!$jwtJ7^E07q;W?Sza3P7|8=)jJYTUPz7NjG#3Ua4 zui+WI&UwzQlOj-Wxu2a4MHxAs+1QE*WGe1)df$%7odeY4xHr#22z>3kJEEba4hHe5_Lv7kcrq}-`;Do zq99-5uj$XihQye9ldZGyEia)3f7WZ6@GNx~ouH}Qn|0n=KAbxQ_z}AoM|>snIAS;C z-NA`UkUz*5mR5Cf>w@ zOV!1UaeZrxFP<*E{S7N?d^J!rw6P)-`kKr40RvZEUA?-B+VcDS`7_qQ>*-G*!TBwm z&Rql}sHv*om2;&Vs(R$2*P(2<+-&8tSQ=82&O$9`X9@$u9k~xswoul^b{F(*)f%3D z2xQztpa)u1V~2d7HNw*_HgI@gQ}uh}QK#LXOP6WS9I517o`4VT1i43v3Dgq{Ahn8@ z4kea@FON79QQ08^htf1SLH|i=dkqwbux80%d>kJJV0as&OQ-a~q}{FF>1(=h+s3h#hizGDTu~t;DUbeno2zN%%-lnhnD3!T{LQLN3J-8)ek4stJk_ z3+#&HYE&{zbMo>6FaEPP=ShydE$1rYp^Ld2%dTWd@w?7hmf*qXy1pDhF)1i0%pP71 zu>kSal&mCopAg_iU=Eq&xSyU?nb2z`EPNdJWPHp`Xz5te=If_Q3#8DdMpQ@7@88?9 zloCf#^&t&kpK_Jrs@lZqhJW3VA>z?mA%hoxFT0cs9=--;{9<|Nb!MfJhl2qMl$Iup--ZUFQg-oORU#i>R-UhfAR!^S%vKSd^QO(- zU+@xJ^Rv@HK!q%MckMd$+(z^C1HC3|y{QJFD+Of>6dX`4TAVQX+6|XIT3b1*`YH~; z9EbSr&5B4(+yw0w`;(;BpSGu6VU1SPlG&IbmRl#bm}iWOh}gYHS)AROPN}|+&YcQe*{!f#k*(yA!kdm+~{BZa8La!wKs^O?P`8+=VSNO z&vkZ<6&Tb@N6OJGfxG>{g&+-^t#_WD`s^4q$H$rSlKiW3-{L8-Nsx!$nwuQPGz7=v(8j_=2Oe-(&m$e6etsw;=4Luer6erHGncOjv zhC!{)>@*%F-WL{LK0UvkB<_B&F*)tp`g%kq*efq257!cj6NK(dZii6<(h3aOm~@Gz ztHc!fy12bMI+wF-(fg#5ah&fscXo^mnXSn);XO<(_=m_=bDn7s5Re!f2_T7)xsy$* z(Ba5ubPw9G7nKik{!M0P%)yl7^z`)U$w|XMD&Vhs_nuy0TkG< zJ9n3#-UWVgXP{$1fCbrqW1>1KN+p{@=n zMp@`f=_^_#z#9K3THp`CS2!aB12CcBFGmV&Zr!??ALMOmx$rgn{;&3{cZuLq<6g7` zrTOf2OSv6^Z`Fd@)hPFWh|J1J8HwF1i}Lp|56Y)q{kMW^riG5)Qvu;Y))YG+0nQByUCoIA?lfUUa$ z>S60wB7+~aQm8-`&=$!;jdYFauSeZ2F4kEcZ}tf}e0;u`k?S&5=ge4eZV_$hr=A~6 z?12PV69z`9$Y)t4V*LE9u?t5>qIk{Lqi#O1k~NiIUTTsel&J|q;U8n~Ds$j1APxDd zcLAM_-qO_6V^^Sj|+`_z5Y*iClHAPP-Zj@7UKURKE^Zc(S-{zW*O}f_2st?oEi;vKXCqvhP z-N@w2e!1Qq331VP4mbC&(G~B+?8p>uqgDBgoBam?W$1TZ5~T%bS3%+Kt@}RvcWG2g zY#j2r2U04_ArR)xb||>pC`vGja5Gl^?f!nklj^kor3{}+!$x--N#iVSA2w~e7os#7 zG-A{-sLpn+zF&!jfi;?NVhC#}1cIXG)rbvOB5(^z61an#wbuB7jeT3(&d`=;Q18_F z>m~x=2Wk<6I=!{_MxBa4-r(o_kB0A?>L$~WBI!PEPRG94cBpa4E>7|K={4K9XjWjs0w*-%V>To`h&s0Ah%dxc7!3@H~m+l0fVge&NpX1+Bij z4U1x77QZ$oYx}Kh^pITPhPo`pU1SW> zJLr=Z{&ZJOUSYib+rJJO3!lfOjot?k2+UNTf+W5)Its>s?7+5y;j9>4&OZ%{iAg~lR*8#XnhLPm zK}Ve|E0p7P&P2Ah@bt)Pjuk)5R!mW}z@xu2Vb#^z*c#+M8!CUxFoPpT<>9U0Yg3Xs0PaP^`~;)h#|6a@>86y zS>8N7+%g9Y_JDqchIc_=Sv~%5b}gfblkaXnuvBoC;q*)k^77=MtItDq%Gd9cP@`a3 zHb*w6)A5o7p2yvpqR>(8StFm~g$&&`r~7%Ls=Y^g1;TYg=o6wq~$}IsG%3+e9Nje~rspyCW`DhL_Ntmah0y zZLJ50caUY^F)=`rK26+mll0shd_b8%o?B8}{v0^u_5=0FED%$55|Wb4NxioV-A2+A zW`KnPSSerGO!CKPn)$DS0uwJ_lmU$K_p{ZIPOK<|d{0WB!8B{=Gwo2gHu!XmToLe| zv~E?dHzhihmFM8_Z-?!jD{X-tDp^Z3TTLbWt1DHKPGYxZ6IHar+c2q6zD&~}o%}tv z_lnxQeqt~fClOU>w#uE5W32fsAV$CiU-g@TQVJ&J7CZ#d)kc;!5?TVpiyc?r^9!fz z_beB8T$=Kgzjt+^p22~&z$C7Fkj=&@Y9twqaPm(S@GU=Zp8ESsmeT#SuDm>EN6yM> zado5=;Ku7LlK+6V^mirKb+*}O3+M^KiwO@T|9+EY`SMo>vD!MX)!y&Xeq)R$%^v5E@b*$Nd8{BO1s5JJ+4N~VLN5;H?N<-dJ0CT zFD*&dZph3bc%=4?7_?CT&qkt_@u>o%9zaLD-OkX#bc6w@RsN8=mnxZ8~4JV%n<+t3qIsMTB)7*S8b^bLf z!K1_RW&6a&zQ3~ty+=2%G$DZ{3WXxf(avWQZnP`$C`X%kU5MUKfOIZ=sXvG9F~(eX z6`dCYtk1@VlVs-Qe*w`X?CjnAbKZ>ywkO&3@OX(*IR)OKr~b3WZ_g@8BJ!D`yu7^N zSbD!T@DkC;4|{^4I3+({YimUA;1fN)k31FSYm>G3){C>P$0t}t5I9?n_pINS7`ydlnfXTQaiA-q|yh8A4_`Ih#uMxUcLj6he|DA=&Hq`2AkL{`mg!eU)@R zpU?9=@Add-qLMnlgSzI`AfH@^-8(H5XlA0@xbViqIC%fI8Y-JyY#)Lm1g@N=W&ZTa z-Fz(q;c>%*?EY%^MXjub6aA(vx(SxRVtkW#UpQK!ayy%bQ)}}0J^;u%f`kwF^eiql;g+_E4u>+9(O2-O%(q7XEOYBNs;cR=a##tC(|h^1W5@qhI<71Ns){zOfkVx3;0+L zTH|3U{`DXw16_p_%Y%R;Xdv!p2Z*M23lP(~ED)r49e^dj5!KGmMWNK^E|MMwG)+5J zH+jyGb?bN4e@#nc$>>e!o(CR@020ad_$$|N%j>?85fNZ%VUQE-4l#@{LrXRoQ^|Jx z5H3{xxUyv*!C4sX$RR8E@yA)bBIAoFq}I87+*ct?G;qi=wRmZEnl2{VC{Wr>2(p!R zFRy)=a!e=qWZnMRU{yUd$ao1PZC>u~xTJ0aK_-KgyD#w-W~7LVw`2Fe(?}N=7mwi1 z^!VBaEZ=UW)!TQ*lIIqsMfLzwef5|91Pv-lH5198I zPQlDDPXd9j)}0=UkxcBi9A120dOnf6=6~Z^jteXIQF-zG}?|pH4W?J3O zkBrbm4IJwu$78mx+!Sp-*lLgyaYqv>2TC#kd1xnsF;=Nrj(OX!Z0i~!3 zN3QtI8)x5_%aIe8qnojUNZRMAsauKrlQmuNA(s)*}ID-H``L}tIW+P%94!;#az;%Oab z=v><`K=M<`l66r2g zRbStWjBA|I*9!zmZZktZ%SY@PJTE)ngdf6t+hyXRP=F%BOy|ZY<~pI1A=|qd%Ugbn zSp`}CVq%i=*Hnd)Bb*WXqIrCBUe~l2q`vw*mqIDWQ_CgYO9CSGVy;&#`y(5hC!(X- zHy?}4T&>bCxsaKe%KI@@$k-R!3qTGc%n-(rnaVs#nD!csx-vg&g#T<&i0aq8&sWc3 zZ>TLUEhWAFR%t1qo-K8-Jr|dR&$VTBst`1;eJjieB63hqBwAEYTytwFI!jrhztwz( zl%pJxn|5aDi|_89?)&$Q+_xANcrssR#H0~e=psO84z|1Q?(WONYDh|y_sI~l9k$^S zmzN_R$=u2$9GvE9zm4oeTXVZ#t@$d)y2hltQa7cgvsHPf)OnQ?S!Er*)_=CD0?iz! z2`weLX_-sG(wx=3B{5kf#{NQsgx~CbzA8_ZRj;A(*qNjp1CR~7>Z*JY27i!Kl_^@6 z4`pR-9T`DGAQUvP#o4CM{*89vN$$@OVz#XM%wg*$mI;5tyyEwlcQJWy)))GVh+PJP znD+T~pJ)rj#W+>LB-PV$z=bM~@}+2cJR=xbaH;8B4#D9vt16z|@Bkh@S6?wvRYRx+ z8`EY!fT#~2UbN5$LjGoE-;hh*SGN>uD^^)zAf_Fp!j1cXRT7k_l(jJJE|@Vea78KnfiC#C z%XVtq;dvbjBPO^uB0f|S2-J4yV+yv$%~~WwN9P==91snHRw0O5!9Oqkx8tJoS5Ufw zOi#3N?U}wHb@qvf!si3dt}gN0iI-G>*Y~)Wqz(3yj!MDH(Hv2UT%leJiWRwyS(cwc zwHW`rHxHy$7sS1e5gxE812P3g1u8jxBnb!sk&H9f8J48J32TBA3nbTw9O6<-=H@>k4A6r zFG!bl-T~elSbulp>WSrJqjpCJ?Z_-YKYt>aw=&i9wU}b4Mpjysnj1|F=JsFo-UI&V9BuJTFK8in^wtpKIOpX(Ad^`?*Df! z!mRYOiw7_rEn_AJb#+I7GVk$r$+fH%Mk$CXBfa&;@=H~imB>l)vgRH0<%+L{EBS!S zO8oB;op`TsdTtUfeD;Hx&1u*D54Idn>U&B{V^mT_F5p+Yz$yB`$1*#-I*HrX%%E&y zc%+;=qpvMFtk+6_NdeW0AH6dyW@CBvr_xnVL`UUsS3E^yr4rw^)7^u?R_A9b85p{D z=r>gMwm=mZ^W#O;LVt;!@uLcTlp+IVa8)Id>mKeImV#6MlZ6hWNr2^%hv4!rlW%s5N%y~a>K>R z?`LX@m01;$AM7~7UNSxAL(+!JsTZ6r|6 z^Twdj`nB$hKRYzUGQay2Rrgp|iHnKfop>pvnABj|*f)Fuex>JWPzLn&U5HWuJ29!6 ztXFoXDgc#Z_!mQ)3s5kafN2eZNdyPB+AvHZ(>r}$>RA#j&u&5L!~XvM_wV0f$^uhd z3$D8op?&SiZp*0|e3mLtk$`fXU7sE~ZFa!h%l%AxDYgD|4fFCtnifvrc|t&~5-P(LZ78=a1F!-0VqH z6^6zopF7ERn^nbMEI(Q-#Hso^L*zbm<%kD=R3BNa|l`IU9OYL@kL!`RAO^ zwAG?m@L8oXhS-Y;`4_qN>1OFM#;g$$5aLk?IXS*c=vZt2 zc-CDtY5cwR0jJoGeQJiUo={1Ij`<%T3pdoxv$G#{=`}Jwy9Id~UjX&~@&%z|@8kp_ zSxYAV8=vl%&a8P;%7QPf)%8VG5gB=TJT2E8jdPm;SW zzXt3r7l}Ob+ZtJG3}%ZYnY~-3kPm%$cCMmkCn_q6s)M|%jS|8(hEn_i8zQ+2q-c@cnFaw_dE2; zYZ6*mP5w4M7;$zG*I+xGq9D9^oNpN0^chlLlGO|99zPCkA?vPeXgGMZG?v}uehtOv zHU9fS88Zp1qp6fQ;!Z`vPH6+!BjPZLzj4C_m`V)f%mDu}>DKRq>D&DxW-9qtVr9*n zTbX=_!GTvH0h#?*;z-lzaobgwVH~pc+S6t%dArLg-eO%k-V*hKdpEQx%+d+p*9~*y zp{>1-ML$tj&=WLf%7~GFmOIjR#_;_mPWKQFt_0eD+@X|$+BVRO{sTo{-08^O_fw7q zwyZ-}hjICNPt4H4v)m+B)R{L_eBR<1p{xailnvhoqzlC&5<;^i0yZ72Kh*F4ou7@0 zatR~~q6PKbZ)Egpp*+AElaRn*taC%nsMg}7Vj|hU6KAQZRs2S7=<5q&B6p?bY`Yh>OKtTqT}M}gj^abxj{y2%Jwx- zHhCTQd~^wc;12K_RK&oIok+M zO;HmaabmZLkYV~G%$%X!CEBub$3cS4s|Mm{ET$U|gi?ztD~BAb%ZwJ-*xAcUOJfzd zR?p)f;?(3zq_X=X!3FkSwuZb?GUB170VV_8zp$RjZ&Y$$>S{T+nb&HkKBN2GImJQ5 zl&x1s484ZaotL6v$k^FtRyo?1HVa#779R5b6mAANN@Yf{CYG|;aV7lxv&2c;I_t{S z1D?&h2a7D2*|H0GGV)A`erOr87C_lOsXgYQoY>XfeKO<&3@w%ho_NecUuIEpu^+(t zfWXo2uF@hbP}cWB?|)rnzbSD77O~e z@vx#MXdM52uCkt6+X1fX)2Q|hQBfN5Ln1N#^XJdUd~86#=%TZ=FiV!TO?pJ3NV7_M zc6K&|Y}x4wGKsr zWnpbgXms1vF-_nx0&7F-ES7`~;b{KDMf#6PGXT*=kB&G?IZm$l$-`m@b-5^-TN(0? zzO}`qUX82jl`9yK zT-5CP4zz|wM(4XLnXf)jpk<&01OjpnzWOX&DEgFshi6*K^DU9cpQJLOYSh>a0b82< zUmk6i{wW2@@Yr`NI^{mRvwqy)?R0i7e%z%dCkdG}I#f@9YV=H|$$$XmJ!u9x=jDb6 zSCtbrE+2#`OTJ*tkz;w0%fk9ST=#StkyyG!B9X8+Y&sJ!L9Zv++aklcis2Azb-{Sk zMUud*VL{>S#uxq9TOz+T$V^b-c|19(+~|p)iVviup{*DxWrqcy=#UW{-WldDB4S;I zQUM!^Fp~hd^O&=1I+|C)3q}LCfILNGWTeM=oY<5$EseubVqU<-O-@baO;R=(Y}O_B zU041?p{S{WF8}PHXX5{EZ0SnE?S~a$Yww1d7k-*qs}RNa2$I@}MB>hlkJ>Ot$q582 zzo@feU$%6U`{K~CU(U4B;IwtsXE^K(a z6=#qB2!r>+j~_q~N?$Q)oSa*GL;M0=Wl|^f6S8`nfImUQXNDfw7P)?%!t}DDCT+VZ zkw)L`?RejNY)(|OAX5xqcQaE3*Ljp+clSj~*)+nk?Q%sGbA7>19v+v#>r?~rxP4mQOd)J(4>_cY$=ADs=p;KJPTia$$iS)Y-_o$ z$-O`Io7+0T5*6c<_wGvjZ?Dc~I5pl(R`qUp5L@-b^=7)&$&fIw%L40nv@|uJL*n06 zzu9##)8NGlLi2WEQD{0GK>3s8~Jsk$WZs)3|@Wscd7B%uAfxXv@{;S4Gztx zv9W;WVi7boQxG2qKTWqwm)DXs+6LOkB$@+fXl-j7SMpQAk4m^8{+?Z8ywS3oz-;1o zlO`&0*m{y@^DCl#?!>|xGyfGrRFF+reAGjnEXp#CC9*mlD5A39Jv+@T1PQ{j8HpUUHWh0Sn4mU{Y*q2&*S1@fL(37& z(A=_IVE|eJN+9Y~+hzA|b7QM*&ZTTjWf&Ks2@P`Fae|tQ0$`*DDJ|{KUniB`mqOgG zjkQS+`}IZxSyuatSh3a}bH?8LI3#X();VZGI^f^7&Uul)^=*spAuo)CB{+UOHbvn-CaUsq_EB9wF;tS1eA+4x zCk>~wh;fB5 zyS|w7dE{4D%z|spZ%^^=N|fT|XmZtP&{IL5?lMy;2?>dMi%!O(Pro*Ngo zCj39c#MhOT!aqYhtxwZMQjFgq*piE;F8GkJe|IDz%wU8XJsYbQWsPW|k)!?nF1QDd z#Ggh-StLkcW;&c7J$e?ETT@e$mBj`{tWtbZz2C^G!SW5Y+|TsPx}Xu$bRLWBcwKU4 zI;~qVZNkFBL*wI5LW^01t*r>H0F+~RSWb~t)rP6B`&a1q;M5GXX5z<}HyQssllfvb zC{T{<#FdXB>7`fxwQzTwQ@|KNj0I~7PC0R8V&X9r{npoB)uct&n*9K2 z3kN_snwkRVK0ecXFFJ%fLt>J4h>`ZzNw_I4o}tPE`AHfm?=1Ro!($%^M3nC_gNop1 zNBQ&$ln=;c4B^$h?onKdJW_gIDkAi zHr+k5zE&+bK}4W(VwmABbX(x&KSR<$o%sW=Eb!J++4RqcXF?vvAP?Fl0y}-~w-`0Y zn{jb>f9tLG`vFmt8yg#5lZQ3d*?VzHeCSM8AWtkUEjuk-7l-n(Whh^Upt{XQJ%Iz8 zbaaHfJnu=lPwr~Nz*ZL(713W1d)`d|4Eb)Rn8#d!lM)YO2et&0s&3uqnWac=ZlH@& zJXN4=I~!3|OvQ!n)rYqVautMQWa?PuP?&C3Lq!Wu!~_w5Cn(_2Oz1qw6ruY z@7CDHea^er02M$7|5iWmRP8GvRF`ROkj~9)e>>)towm-!oV5RNq7LI4&%;#3>?>T! zIw0E1!)pt22xUEW3|M?N-s#!>B7UmqzM=C8Tmj-<##7VNP4)|=PJs&(&(5ek@Lp`Q z5Uz3U{gp7=ty{FQIpM?$-3D*a&X;A+)b9KxF^oYX_d!5lVfz9_-JY4#vnzJ=LF>-n z)D`uZ$nRRrpy@9A|C}DJk+5+8}d38>MjPQ&r+zu%>kUYx#MW2WgfDKljcm zg29{o9Azv=7z3G6OSWLQ+>=wE5v#k4Z8Q(g#(F4Ieg9(b1{yi$X1BKH5<8dk`?tFor=L&-0zvu!Ko!7S9+2yV zI#r_pM*B<9B}lO8>3nKFj(i371t`+3J>DZrNX&3>cxv`S+;RG0)#t2z=tg2Cz4rff zPQwX;xqt6Z-QD503S63kPau&pgskskruxM4CPc$9aKBgTxe;$`{)Y0V+}ngsiw9q} zglS0*lOHN-YFO&WK#SCMF&Ah@2NC$nf`VRudJInSDo;>L|GySsti)v6A4023)fvtK zotGj@o6NxqZ_w7BPnK8R6s0WOcy0c9XFQzCvZg~{(f~5HLU73$?^^RRuL$mBu^?7j zGWAITrhW>0Mom{x7m(r0Oq6~V&zMJ%@dB&!IkI{~exXIr;>|cLxVVYJx38^t0>q|R zHhsP;96B4NM8EyDcFszdFPRYQW@pfL%>n#s*dCl}k3ux}b;QG85fA{VI%-z6e&$&O zK}FF;NF=-0D!7O`fI(L)@wEaMXy|UJsr(0n*BodS$Zkm?htH|qxCStkdi~u?D-<+z z(Qh6f{@66det`Z9Lb{*@E$S7KJfDeSFDouaP=_wM*ESrKoH;)_HZnphmyq`+J)H=b z1sV^~`eaP+Q{x!~^hzfy9!5^DWM^h3b6m0K0$xw^YUiQe4U{Cbdo zb^lM)^x+TDxCWoqjr1?RGKN7FS>5yaSb4D!(U9j%2sP#6R{a;MLFXe*sFBt9IeL5R zk9l|}M6w6yr&yMaiAzgExc-9s6y;DWxzJrLEGsKoYK4jzlN=bvnR4-*;wxK5QcrJ& zD7)AsAU(rr&tb$i9a!2pgtUfwcxSa19d6%lPbBc9b6f@L#Hu$P+Tx8^@js9|St)pQ zXcCyM#2wps@HlKBI^{>>pRC@D>JaS`4J60H>fV8A4oief&3)wdo}U!0tMtv7iswEY zlm96fzYr3l+{hz4NM?$ee>e8vl`}tz79u>!Z>pgbfj8$`23ZMD;|K+!h~2fW)gkkxx3?E$ zb7>hF>w5?|4nw6APDljJdBb-a7}!L#w`6m2 z4{(G!2y9*L#;6heQ+7*FGXs1D-VbOq`NLNKI_o3DVAvk7o}djey@HV`u1~%l!%D+0 z|4Hrj!>xm|J<_bRqR)qd0_$mky?%Fh2%oygaA_vh4O4B|{Ua*sq>hfgot~KCH*~3naem{Qf#!qbljfDCqrfSsNu3s2&!1mXNddR<@Y~59w~XpX z#tojy)jh*LU`{7GT@WL8n1QDedR}Oj1l)0V68J06kCn4G~6hwx95hP$HP|m8cOqNQ2Ug3(=%=J5zx1CLir`~F6X>u#w z(Khb3bj#xtM$FATa$7^sL=M_$k7~=`&efpJq4#D^omh6Qxr0^g-1Hye?<6YR!zm`s zB|QZ089_%+=J5A-RsUB|K4w%q?oKuBLq>Q#l-=GE0sbO^p-xq)?8v_JSQ(oH*1Ljs znRgN?H>gS29M3kF`#eb}?DC2WWlE=@e`P<~pf79O{RP5@iwRFAmVr$J$RtcIwsZ+@ zKLh0nq4#F!@(V4d$Un6DBt~6o3Z~!_R3jjYK&dVNSq4TLqyZ5SBKonGhTRX@?xK@? zMFKd@HgN~2KYl;%-gVNiZft0Pk^kcG_nW7?T_yU9YIT2+Rj=yC^`EDuguCV!1c}>n zn%jeS12Bcf+p}?j3dk_Qm_lu$2EgKU6*Z+x%@OU)b!)kZLcUWkrl>;K4?pKI2E0{3*$(NvNQaj=gF&GiEtmji-q&I>VCq2E^ zU93nch`I`6O{LxISWWVQsRr5jhR7fN?aRAIpZ!kYgGDEuNnnJXajhX16#)?d3Sl=; z;N4YMH!OLduaatxhQOy3gR~P5EK4<3Yo|K3U7;!JO~1hdFZ&&Sil1GTHzO!z^=thK z^`Gxj)BHHQX8K{jC3AYyx8Z2)Ah5sELD6U2?j8E+1Cw^ByaBtrmKz>77Wy-9PWb%z z+wrq2Wpvr7`t!0U#;j0*b;v)Ra7K+eoJ&>%?P%y@FE39ai-e&7M$wfmr>WW-nd)Ww z6J*ixk=bnK!bg0Qy!EV@}+iX>v}? zZ7c%xpyf6a{Y~)bJ}C3@^{oxG0rxw5SbWvNfSC=d->Rxb#?-;#ch=Q_in;=E)@M@S z7v(SpE%zDHc$M{Co}^qpqP}4BBcO!!D=ki%9*AU=aA_r|Ub0P>n(+Bk(ayHFJJv+E zCWTT_`Li>pVx&RSdRZc)ml1WM{DyL3I>ET!TXSp!5Q4={TOFMfu|Pv>{G_1Q6lN*! z%jdy6pDVwQ+ZQ4-V6V^L}s$HvXvBS;YEPg(u2lMQ|1`#QIEb>JpN6Rmw;xl_KDj z9Ic4`tiS;7L!i=%OfmWU2(HTmv>@<%3>l>W5t;`$I>s(s0m00nDF>4FAN?7>C8KF` zC05jgYnosz)*$KN(6mqsEb3E^TaZK$M`JffDf@kW2W~kOnzyB;e|V*LI?0jzF@+8h z+{&Y^X54gCkV?!LMfuwSp#G8)=pU$Ca}B;z@VQ4iyqAY@p2?|0SFZrM?nTMCGaI$l6;2yITz<7$0DtM!`? zKdM>^&uYAZ3}K+#py0*JWW@AQ812*h724p^J1tNK`8Kur`QdC`lt6=vZu%$nq-fIDcQ%p5oHBD#>0Id*19Z%1PI)!R`-em}MQX+TVRHrj8 z!VD7U&z(C5qW?5i0+pbeH7)Jdb`<&` zvw67SZX{{GX?v&tZkE(W!-~Jt=gLc<=75_Bz)b4x+bwnwu37bW{G3`8K;*b*s>1+% z&T`BC>fomRwjDLMz7{sTI9ccAbno8q+QZvUH5*lfHvb?txp%?UT(*3j=@f66A19;W z7Ty@7&r;cOW-q)Y`qt~)TA>eyVYF4?12?|qSNfe91$PlKVPSISZTP&vzW^ch1lv;M zx>2ht*@Sy~H~JhO8hlxDgP&X6nEg8=mPB*?=-kV%(;`YU!lIzopKWFy_6X&UO0=z8 zB=oc0bj78qmfo-Vo4zD<4lKT1UB}5{PG4)OZvA_q)NeIh{ngja$z%nRP1~!#&^wKn zpZFj)KR>Tta6P#TxJTPly~32T&#AhjUDtYcu2XU;B~tQzo^|f&>*EUhwzdsutqcSG zZ^g?pABKJhaC{CcQsVIQ^Tl|xr4t}}TSKbJd(GU#(!*Vh*lEb0<~sgzR)g|4UC`mB zH>ZZ^%r!4i8t0;QeU}nj_isz;1&qYqiOvmWe1OF0pR{8RlgJtGaAd!5A^F@IICZGx zo3RMBs%WlzsJ1Gm*mtcjwW}x244k3F{5VH}m|4C5pUIM2JW87Vdwe5b$w6{K-o0eWr z>xX~i`*-g&1>GhdRZH&vd_^y{oii~DZ!pX+$IkmqVs~;sXkC)$^|YW z#@(A4@ARZvAMFeFufr$-=oapFYIw+cp}wV}B4FoOG-wE4g}wq6@+*jGSFYi6ny7tN zt$)1`SI=z4MNSGmB*UO*+GG;gN!aR%E75sv=A8*BrwS;>avYGbovFS6))V6t%Y|1} z$GLY4&{2zLs>|>3_pet9vg4gixBdXLGo@bVZ)(cH7AHR)m&b>a4Y6t@67dy$zE-RN zH1R~4;lJUTe#W?J!WR%qwFg4>diIVgNYdL4GBTidoBBF7w$*z2Dv%?f8q+V)ow5AB zPOhk#&eQ4>`meEAu-OHpd=?<7oyaWk{2xHX9w4(SR~snXwDt9$IH?Z9Q%9F^0o|-& zFSzzv`cNp4YvG!-^i|qc*v>OD^8C|B>9zmP#!37IF6E+1$`v?`XHrvBC$)1mf>tS2 z(W_kd zHLTG8FA8`6@V*d@l7PDh`837LEA^?4tlUw|(NuNecL|B0b)n@xOh?_&& zA*_Oyb9Eo5b`K>xgt}!84{Bas2*LK=bgz>!^{02?HCTWq2>{f?IrgLRp`l6$ z_S7lTO(UHA0MG;2x6S?Q*Xe9ur zC-s|R#vekF`xth<<)^7sUTChpXM;Gf zRGx_b=QktmjNv`0m3V0z0T-B}Bq8tqOX%Arq*&wHfOnJ6MUt>iY<|P@uAPZtNO*&e z$x#An6du;0rxVN6=&JwTK>RGEA90Yq6^JG<7fZxWgW}_O6(=}7AxTW;o~f1HsXILI z<@ZJkN|`BV;j@RePyMNa27gyc^v6;kpaR%`E`hKaP)!-OT)sQP49>64kYu>2O%XPW z0tD*6SQ+LYHn&iUVdd}_UC%ll&J|$>80pI~qmPwu`xip_cDkg{Gs!XqDCG1RlJjGU zMODW3H4u7LR#txf`c*EM?5p80)68uf=ip4LfsHa>sf6{QC~}+{gz1HF&|MG%1iQ*- z{l^^d-5tLGWj=M7r)-SMiqb)zXDgL~)KRRgqVZt!99 zm6AvHqd(Sta+adx21ndqpRXkVfRy(p+>eQbO&x|~O8m)|DxTe6g`+y9jgW8o_k>EH zWYrn7GglBx3W4=U(4(JEk404F<>ggYx;i)jr;?thN;18o8%ct!ckhDG3gO~UT0P8P zrF{M>?d3WJ9GqVpuOC~2Dd*l`TIA7A_Dbzi>0J}A3o6$Kj`EixN|(6Rz)gv)2~ADS1XUhP>;T2lUhsVF3(L`YCtk5T zijxLC>m)%0Z^eMLcz^TJqulq$Dbv2bpanI$`QSKOQ5cxz?@IdP^jM9-bNrKfyU7+} zEHQ1`#t?~$6d?>R#(IexrW^Uz`Br@{CjBTbDhhpXmTrOQeXEboT98eCjk~`8Q1$5c z!KY-a-6Z@AEq)EgAztN41u+F9$7&;Ci$05wx53aw|4icaO4-Y7Dph!7+fphZF&pABgf4O084Zua90C5Lo})eU<)MER0^SAhp&A zi{Aen7dSLJ3WJ!BxXA@Q<|uOn~}=~gTeW=bFy z()8?Fq30rvxF=T$ZO;MOhnEA*ON;^+0AjVJOULSoYY6BW08mNoz8uXR9a3sfu+`8$ z8QLnGCK%Q!;glL(NwkkJ8(&sW+_|ql{8l)Q8MhB&Lc*KoC5lLpd(=O;ia~IAo~4|%MDvkW zH^bGL6A92O`tH`Q0JUa=gAFYK8|;v-L7H8Kj%V=IZPF}OA(&e^0Qw;I^XJ7^yNc){ z=U~c#svO$a1wc7$t-2@5@r(bGK9NA~EhQ-la11t41J%}dbvtgYqSH^k`C5)(dCn?wOkmzk^SR0nlG9wmpUKpYMYs#f=Du+amS~u4eW~d$U$mLTK`MTCuarQx3 zs-<9Fe55*0IwANync<)K^rLF#b&7u8v$t@)rdTDU0)+9E#)GF#S~)S4LLQbra4TM3R+yIJ#CMxhSa5MJlQ+#G0Jn)=hR)hj$ zI%~0nm)V&W23HhwO)K<;cYI!Q=ayFujD{u1*a!0no0iM)pDA`z)Px1W1R^n)HII)? z!aIIpM?nxWEa2C3U@zV{R!x|7hO}_Jy^7Vfa`wh1E8TiE2r>uauU~RJseKjz9{2Qs z{@^$OW69p0lg1`$n8BIV=5nXa*86VMS5A_nT0>}i@ueBpAOki0roy8($KI9WiZe5M-xr08!c zByz`J6l`1hcaF4o_{D8=>~K%3A`IMVtUdGB(GfLMQfhiQ9sk+3qx$8lY6O2GBzilE zdXVN^_t+Bb+<{*ZCq0LEw6db+1R63N`D<~} z03GRp#0Hf;kk%#8;{9ewI)~9`NlzQV{r{j~|3Z3m$M~%jKST zsvop_2kHY^B!?%p9m@+vOglqF@B-Pa7icq7$-ZT>ZLMxU8C$x6xHtS3jIb~$-nap# z3w$5IqNQ&j`gYd2WfAyrlzdDcZ9X~7w8O*K#l;{09Du~Z4XBVywRHEydbW1QFJ&!w z3~P8~zP^lq3-mZXw!goBOo0dqn{5N2>pP{!z#X5%!O3TQ4MTDv*V7Is*hIeuCDE~I zzOg>AiBGv-`bfh0;DRpAWG1{QJy;_{!x=2c5Typgf4?Nz=$|6^Hhg5RP`+%)<1^KF zH=f?=Is_fWEZ8$1?=BVu-}ZX{s;Z>q46&>H@1V_d%g?#Fxv(;FK(Go>^PfGyOMvSq zho92FtUM}TH^V_B`;HZD1nBw>4i31LA-w?XVgQ)TytGXp{qjX@K)f7e&k!??MF=yy zrw7YXuSckaOLj;g4bhXPTyF!9AZZj#8ywtJ@zj+cq4IOBLzhEty?O23vp8QVtqHq| z(?bx7+(jQbjlm2R&}iTc|px;L4p465W&$PWf9nds~Q(K<*uA(#99mb3nsA z&j-PXloZ{!OB~{NhjFr+fbz{1x8=d1e%Zh9*w+^fC+#1FK$qu+5Eo^?fqR!*y7~7f zTJ^O-wWH*?7j2;aX+2%tAI{?-r+azz2TSZ_)ak4BtF1jFPvJdwN#a&UUo=a%f-YAi z&3O;7`>i!Sz_78=h0C!Ow9h&> zuiX6DI-sg4KpsidrV%oJewvac z8rbj|0eTH97>}>bu3sZar(j@-FiY%wJ+>5n>ZUA`Cju5bhH-}7*_WsIjaMdr+Y93M zp9EW;BxUl85<*+KgPt;9RVZted|u?*=yPG(bLYQ0R&V|L_n&zMAPfasg|Ki2q8Z=3 z-l7tRoX1anXSsRqL_hC#eNJ_%UQ$w0&|XvLLJDnHUh}5xN4YPWu52^p9`brR$(H&Z z*%k(|w_eRUf5C@^yD(KkJfMOfCe;gump6h+ z>4To-SNcW0p+=zei-5AFKXYa>@aTYEVpRrwv=FU<``oOEcloBEre@56Y<8(HF0L8W zYx;jJz;EEagxy<(QJGKL+|mT^-<{DqOUc;)g2fS!5R_(~c7sMn9^A|JLzpBuD6G0?WJ z0netYu711|6T`w%l6iB#)Yu=dgX9Pz>L8j{AdwO~_hBE(sdm=`gr=ql$tjj2Ok}m;LUsZWR`NC*X zCvU3`OZa|=5gA$r*!!mU56~o4f}x=yZ3r0;-@d^w{-dKYH^1_{y+axj)@G$#U+{pU z0Sw%(QrTdX{`3|~!Q{WKz&Ipc*WR8xD4`0zosZeav z3e|k~g({jgGcrSWTB8bC0Y=b`ZIn`2FWk8-VEwXYUWcWqe1Uz8YNfda0H# z+Oaw#mt|@I#8Z#_C7r5%M!*FdEj3=+@XdxD)BsZgaz6eOR_lam09hs2jZ!oa6pUs1 zVh=;uM8nL@W?8ugGO-Dkhy?CMNaEX?4h(b(g#B@24<0WA-wDkT-*?+|$cP2j(+yBDmQ#22)98Xf`xxdi<9H$~M$bmXbRINBa-%?2IOjf-4BGqN`VZ;sv zWvtJ>rDXzfFiJV5jr`dL>`p`f0qR*uJR)O8T0e!Fg&{`;z;aKhQ4I|Z8ho@NNWs%z z-G|i(wtfBm^6`#t;}_^?BFqL5Ki%sXf+vjojKod`ecH~cbP0RYP zp(Pv{bN@Ge``C{>qJS)N&3kfX%LtPaqK}8XlvP>y%;}%EFMN}0q`fmU!_YD)hM`-< zu)p!#r#CI4mp)n+Ao~juo`B^67Y}IS#mP?H$nOf@%Vk`~Xg#_zzT&0{r|qwTFE1 zdb4*VaO1SJSsWkvujK@VQkuT%U!b6b_h=(Gl1(gNe;aIKl9Ja>u7ypnhk z^l5I5FB-J}W(*8hoW3k1tnNYP@<{g~LIvx+O^9eZ{jYor)Zo0E)qrK<(O=8~qwv7c+~+f`klp0z zuCz43bv`F(34KF`^x~D{>0CigI5ap2Ta*1^Z-Ryt7CWO^pQai?SPUVi&~%+d^b@XE z3MOz1oqB2H;^XhAsQJPC#Ixv;RV^vaysKPce|PrB$Hy07aYNJ5-il-GuR915M>}Ls z{o3@D{YZV00lX^)K-xx_)i>WmS=!V#ui=ypBGN{2v<->e6%y^vg0D+t^u1RGa(T1; z{{B~?{`nPzj=I9nZvEG<#HjxObO8_&z-2#J9Xjx0je4I_*;OzS*t(&CD{ggDY;nwC zGu~P4E(*QTj^(irIm71HYeq+zbgtCzj2Z#o2kl)p^y2d?<;5Vs1wZoDZdYj8ZnqCI zM#dAikA{Q}^^@DdnE8M0A^E;dgqh=q*$8d^cWzsy`hGk~-6=a1@y@{_7^OA+ls1>A z#KMaUkwA8~uOAz8>ZY2{9{etl7QZ27Ca%kq9Pw)M(kVeTO-i1}lEK1FP5kb}y`G}7 zruX(+u9CN?r(DX{s;cz>5eBf35MBJBth&B_AN*a5fX^GP)cb$Z(UUsdo-;Z8b|G+gID0?f z2(pJ9ZpWBI0iA^Pa03HmX@d@;am*buJM`>+KeymvgjA9Uv-0yN6*}@Dm?ttCby(9b z=6+jR)jM1Y`v9{68#f^pqdXz}p1y(NOrnZV;YppN-`02aQ*KB}2`Ou-sr5Gc@0Ehu z3e$cvgi@Yr=5n&L-?yvkO8Z9vW@xK)D}Vn6Zsl{yvh5#FrKk7LR~A0k(P()~ArH~& zc`BZmo{=jl53eBvGJiM+9!^>x21QvI;A8F6MWk*r#kH>-9Qp&wU+6&nWOd5Azy4rz z;+Cw@TN_P0#?i(GGQ}eF2)5~jpEWI^f^?k}dS{|}X}Kl9Z01uo2Fs^qtg-XtnH$M2xRS6#i?~(1ez2tb&v*{!_mAf2bg}LRDIUhR-w%U~ApUui zV7!WTGxLRy4hhRxlsLpjcdzAyuU+d7~KbfPMdHbs08RE)b!-?bi2*c=>Z;V%)%*%Wqrmq`DK8IWk7?8Cj&UWC456!Kf(6~D(|>Si z^Sz<1!ClGj<*BQylYe*PG!riCrrV~sbsfQ$NIb6DYiVz6K_LLobu^bv>=q@tNTosg z-!Oh`wC{Rm_4Ih7yl8J*cS;Ow&V9XbTCn?+d9WEC&vY5qC5O!aJZyn|rgrvG!NI`^ zx$9iKhOdwBTm>%Uh4K$qJBDp8NvX1{GYgb#Ncj*Bhhd5G$7StB+>C3Ro1Tokf~4|C zG`uIT6s;5TSt8nXGWuVaggCPLw7a0%@`(nPj0kcz=OTJ*p~cizWJsnV?iP9+#AE+O7KQW%*n6lo=5tDm}wV3j^|uq@@?ay6gLl0R9ERsGj^J)T6>IkOA?pcRu zYXW+)xUp>paiQG4v~GL9oayGkIS)P4r>@uRy^vq@)QgvvpJ<@FqD7Dme_maZYEf`7_+yZq;erdc<@E*nkwjY(I%2 zCx?W3JR8hOugha)E4_cwYuh@|ljCeezjQ5nMrE;O;_B@#rKpn&E}1y`?KKJZq@-}; z(|>ai-lSNvx*TlvA|jEh)aa$n%ZCpkwYlN|-0+d}jzE4IuXXD^Pf=uDTzcm&yZFQS z0!;EpeS*okbx`~lEim z@H{yheb#zVh>3;wmb(OOt25{*_kzzZXpJNDAY915#}%N#o;WQb$sm3LG`IJ^y5l9a zcB!}d=*h!*t|*VpNkIFI?z+Jv2Bpx}{*eVImv@8NSIeIl)!g`H#|Fl}ZhXm^{FBV0 zi&@UyA9{5;{7WY3Ym+e#qSf6)y9z#z1mmIacRv4UcIbmXK-jznhhB!2urF|;L;y-Y zh$bJtt#$zTQP_4*c;MOj-Z%dH{b(0NkbeW3^Sf8TJ`cOat}eCZ3&hX!F|pHs9+MDm zXb}WY#8w~gxNdYl#1~*FZpjI!X^iYdy?#36^3{?#^!G}#idG+4gyIYC5y{_e?YlX_ z2To)_g?U$TJQ#7h4GUb^@y}i=u9JKBAhZnzRVUw5K$>e$*NAyb@P0I_35PUf07pv z^5arOa$mlDbhHil_SOZ*K&zc7sX>cY(`8XxDN?kmIeAoBq5hiMPpjvx7_x&rj?3c- zXY?C=q-(}cs9^xlw!F8W{bzmu$hD51#8jdJU}smJMI}Ax?N9n`#X@*}AChlM{Nom5 zd!>AYGiM64NaUX%v<0`ygI=zVyoqQU5L;(60_eA&-eG=PP#=7J09BSEZF#{3fxfLv z_EK5;T-`)vbU#L{wk&u$Q>G>rKP!F(<304oA?C?w6uzDC8hwm`vC;3qKW%3OEMPVV z!43y@cY0j3p-&uHzYA7(dmtc<8J1bJ)xa~X>=>%kiN;~7 z?4nzgSCO5gpII+lh`)3%t8EZ9{_UHRP(GMrR?=Ei(P|?PwMKy8@cMP{q9?RimFxk&0bt@XLg^feEx zb7`$6fS%eJ30ZLfDqGS;)iVP)#VhE9ErxG}hyN(v?)K77NoWy9aB#JXrQyiYkr4R? zn1{(BSVrX$L`G5mSLGrl5L=*@PGA@&MclXbsjH?9Dq@+W0COj` zz1roGva(;mf${C*m7kez`)MJ;k!YuA>r_Egq8x@c{r@@VblizkrL#n8wk=VQ<`{CH z;OAkyr_Glvmn-ssktO4jW49%5Y{8RfkqdfyUC5pRw8|o7W1l5xl%-^4v$|~m{h8)` z+V`XYD=P!^<^kw)kD;c&D`nZ>yPI>(t@U{FdZ2)^A#Q$q`yY79f0;Z_`{*YrcjXFG zc1#1~SmhT#ack4m0!)!B9Y8(k9rNM1Ym*jk%O)lCOr-I>IOAzg<*S7a0)(90IbfH2cy#_jS=k#vvhN3RT)njrC7n>aC77mOm}vLjOx;{xLPgh^ zSHNAi&$E#4ukNK8G9k_9{E>+8kyWxJ?&WlW*yLXOyLXr!i+oNW?fP>34uYL2Yjl^b_@F)=vO`kn zkI(xs^U~54@R@SaVgzWwGImRjD69<-J%EsXQ>u-oXH>HjPyhS(FJ!esO`MFT(s*S` zIz*oTH<_&T*0J*S~S>s)KJKx_st!al@A(gHh2qaGlQA{%7}O77v9U z2(MtfgGF($vXUDb!ALiZAtPe8@tr7 zQ2G>e${{q&zS!#(!>8c;9=n`~`Xr&VI zyJj+L4O$-jO*?a|w|F^##RsAyJ0eU^r|)rfGt_gKkJ@fA|p4bO<)IV9%#}Rq$=8ap-F~ zJvjtHQ_?Mxk9`m@uaTr7DlIDgq@Y`{oFnvazItA)rypl6MYm z$sMqTfqoh?9VXu9H8!$|->+LM!l;k*(i2nV1tGN0U*b9?4kIb1MR50r67o}iKxE9` z=yc`5E4?W2o3H@A@V*jZ$7`j0g+UjmsSD0Ts1EioVVAGczPrH^{yEHDbL1hUjwJ;C z{&A(bc}Z@op%2C;u$6X}BGbo0Zwuxas|FpFLRhlfdX9M)!AHpWea1wW^_AKXai@4< zdS1{4q$q%!)%5b(qLQB2h<^}d<9+X_4~Y&1qdfKM&U`bB>JG9b&(3!3=tFWxu20#MbG`Uzyme}lhV z_$f=*7TeX4eC)^+W218O_x~W%+0oI>S>7ke%F3~W=>lu?eHRx9VocZkRO{Lys(`t0 z5@{r{MuF_W#73j=wSvex*65OS>D<{U=usI+lKPfh7e<+RFv$g&ICOUzKa)yWvoCOC z!Ju7N4l-xg(Ms#d1A%kr4&dOrq!ut|nY*`{aJmml@YiJ}puvWz@>|z5o(x<(E$kI; z7m71`B0EN*mM+pV#>M5FXGSDCw963pqHyyDhEb6?VHv&W&L$|lT9yK*%xh6(CTUDk zgbgNLJDww3^vdMw&cB@f$A}1U;g^vpGj0 ztA^kHam4~+;oI9L5tE#5J5t3wmhZqz@Bp+?*K5ZNYi_=ZCCZzMH|e9VMuo3nnMEj` zv|Wx{(HGWiDH;@0O^B<@Z`b-;gJXCS_eC=pz zO3zRH*93uBo*16!#I`LKC2VvG4Eqy&`kE^X%3|Fz$Y?kZPIg;CVm}9Y$YWzA&QY)o z(S8NED)Fv3*NpuAtuS|Thhi>-!cC$VnU`fk%}H>NY&#>YUqqmg9e<-_{Z0Yyqh1J+ zF~GNyNk+GB^*(^SJ0Z4sA8+q74?8+ptIz}0x>ns|Z8?L5bUAy&{l%@P%sDeRPTP<4fSFE0(Il z5Y~rLrK`{jl44AnSM*qtqdu@~jc@cN$)_xdrgK+4XZNUNb?>c-HUiyWeMer%IRj*K?JNB41N?H zm3332Zj9cI#Z93uf)$HEYXy&}f)%6R7urwiRTSDR_*(1!b49##N+5%WKd{7wH(R^R zSuy#)mZ>n8n^fl_z;4oja$jt=sK7M3qf~1pyIfBs_2K;C`VM#YR~T*q71qgR#lb#C@TXn_pwB0}kVcbEdje=9m3 zFm%e6^{*~11$(7=@cy0XMW`PUNWe}Pu+)ve#t0|iiLZv+nJ)Du3=e;W`U{vBkEvTM z>B_$pdBI|$SItnwrJ%l^!D(;!Uf}Lp#n2=$q zs78q(S)1sj;!e^b6|C@hvOm4?mgN z*br4ZQ;y{QlzuQJ8**~=YeQ0NP(oiHTJ$ql#o@o^3&?X|DE9sRV|Z{x8h*#-Ci&=s zBov@d8w`&?p=4aqf_(m-;DGC?k{W_L&p_!undgdW@@?`FVGdTWT&rIqjB1N-gOt4( z6ij4$M!p*XG#vY^>vOdk9L-{4n=p(8KMyH^sai52aoEAy#aBd2Qjw?cMH-h2T})Ho ztnN3d*L)GUTQ|A$`hhMo!g_Dfxcr*ePtANCE;Tj-aj|hRt-&FxCs9Q<^HQD&6gSC< zFoGL;ZbKo)q3^YwAX#1mNo2)nz4c_{J19e$ZihFBEX15G?Coj{z)Y=MYE-jTi-X5GjdH?>*SON;EDKG#-nE;BN-k;V_lhAMcCQ$ed zS@4tx6fI4Z4hz_9vf}1psg>SG(*{}?Yf~eUWuO;ThR|XZ;CzvidtzxhmcECVYNe80|}KfoYEN;As`EMGs+Sd zb91x#GPANs=5=)p&%uU4mC8`3jA&a&P=J87wknaB z=n;Ss?%lgLP@v+_moJSA|m0*WromMhBwUFER@WuXIXFD-o z+FmZ^=99}C2nECbal-5fh(-YT9|NCu{S9Mp znMUW%(zBclDHZ*4BMiWzB9h$d9xthYD>7L_f(jmx^KdEL+#Qc`EYVf>e#hcos!~EG z9lcgn=y2%T+5T03?0HmH#2w`#%|#^sR;-eLmi1V*Rlg5>LSe(tjLLl9E@xPSedb2ebhRC&B5g&}UkYzQK<_Q4 z_USW%98Wx5Q<801YyK=B;$Y=IC9{;sowv*VhktfysD(|d!R3HRegSv(_}9f@O{u$} zsFjoAt^W@WDv$=ei!q?T=sqCH-KgLfN>7sMm4B7v0)lDs^G^ivbDqa;nONLyZLK6U zYXY7%8f?+ZK3uf!Cjm2xID)T zV~zROiin?g8}Jr7-2vLrR-b%@(|+Gn&>%chn4of*L|S-^4J24Hw{hUyn=A5(u zK#DY8t1BG~nFi5ir9ZxXBZ@e{ewe8C+&;c2kXGTh*?As}B0Ep{g1>$<<4;k0B@uIj zh&%Eb{1|i@RZ=Bw^nEz;+?SfgV~9oXX1qV08eG6`1t5 zpuivOXJ`U zijv>G!MDcLLZ^7ueY!ZNVz zAegcW5vok7JlK}k_p)L+w-pfjb7^ZI-k!z1E{2Sf*VBF~OPhcQ^eQK?uX0lnLlXNY zD$--4f06z^+TQ{JaX2~v=$tD$>GFx%ukbfN!A&E{28j&tuYizFTmL6`_r2kje88q? zM!)hl-)(FbRZt$>mS_!0<^60XEPoBN{tw^V}?dWK9Eco4boo&3928FGJ z)AcM(6gImJKmZFlJ)8!?X1PT(TM-UkW2=}CD00Vo!b2Z7WzzSR6Iq8AoYefJuc2i^ z;lsO-IZLpcT8d`WJ0zNzUolO-9q1E`2>~)!5;8YpWl2gH=6G?5l5?3T=lNq`NB4utbM9rsT7lrtUVqmu8E1o2b`iG=GJA*nsZ*o#fRp zu`uKZuwjyjrjLDSha#H+@KQkOl7Qz^`+Kl+L8vEIQ#G>)ND#olbP9+*MOX#rN*= z9h0ggQP3{kDzIY>Q)u&a(MKZ?{0Z)drmF(B&ZVi%5G{rQNb(R6CvxGO85PJLRbq&c#@X5+vgS z6v2$lTv&8)u5)!WHErkLF8iZX7*Blu5cL!hyY}lBD<>yeSHoSm<|wWw071ih@RxO8 z(&a_af6arVZvd&P&)BBL5G~Pg>i2IS=(DFY+-=VlPA2C!u`mz! zF*Qt|{zG;er@*z*uS~PJ1@c+4-FuO=J=HCt=lASiK57Op{C!EbojuUNfN|jWXw}QA zH|_m#TOCV;43JN?Q^N2H4h^tNwrih5fcc3?lVVXMR2DaXG~jej7~A0d!J^tl*EB4f zls&qHyHx0GW28^pqdP?xu>Jnw6jqLo#S8tNqF+k%U#S;>kDrku02-~!_em5$UF1tWlCv|4fROP>&Jx%+c$m&eI8(C~*Sdmz<$Du!GUg4Qg{7q%PV7DQ zPSK71ukn`y>W>>ze3H^>h@LZ^+@X(C{;X^G&^bUHMV)|4fC)!I*`Wcv=TL5emt{Fb zrC=63$AjoAa4QWA5UO*)zG?AH7d<2e8|@4SJQj@oddceYx^9_Zhhj0JAVX-6smlt`-WG<1=#Wyk8M!2l*V0(B_gQr`zdh z;Kp6-@s#YfWud@(bck9-j#p}KoF5O_xIVU6Ex1}@dBUIBTaeWRB zG;G@lLKsMX?jEv#VOH^g93-}QqWhQ1e!7gWFE3ZRzK895rGaVc*1jx;D)b)@2tpK< z>MA26gBJX^lSW)r#3{|J85IHI7+d5Ny#z8fwPgH{Yl1xm?nJl5u{dCD?@iJ-$BG=R z_p+bg%LMLA1q{;)(=22H|G5Af6Mn^pJO`U_l97$Jya=13A_wtwcWhSAV!+pIKx!{- zf;dd-OQt+D(>S}nf3V_f6)Cij2oqO$2pd(ZFFp`{^Q$NmwAjgU5QeMw%Uhk6WbzwD zR5(Vx#DD_7`RMRp7<&mib|zqz>YNx-LW=<=V(6Ln6oSHpBZ}H%LQy5!8{*lGr@6r! z3(syxcg(`O#KFC=d#II$O27lOc_D>FQRkye>v^kfdh+^hy%1}$=R?N|e^nVfEwAs~ zKP&baC6VB}5_!K?4e6msDym5^X$%eyW)vA38G+N|Qnof3Q5Y;&GK$2=j1Av``)E59 zt}(?`>2%Ekp0tE{Y%Dh*P;5uM1%FIU1p{dBn;h~8WFfI?+ z$UmJN8iG!n%IO}U)XVcIH4UOeI5IIAmq0{ z4%q_^F$qx%95^8-n-_g2JXC>4phipbfh7rCMpY(j;2sBo)+GcF^HW9K!>&tdL*Ku{ zff5$Q$S>X_pVa_aXiu$!f>5rY4>^&=5-e`*gTvz*?&T^hrlXAsvR%U4Cfs(f{aF(f5s~*Q4V-H7M|KpKu59gT zyw0GhyDHD@5;gx>R4}}aOG?QiuXLsB86GYhr_?#@SIOQpgX@ivF3|b9$fRkaU0^{Z z0p3rPEz2heHGmIo87is=3Lk_C4S2XU4LhL6AmAFAisu~TQ9V$71kO0GI5 z0p3D7mUZ0;tLtb)*7P4fr*ONmGm3xa@cVaKPd}2sxUYt$hcDVM17dCc7zM({2$q`E=OPqx2SL5o6Vo&#-CtoZ0hO`k=P=D2 zSn|3#W_>P-Jcw^_Fi)mw_LsGKD)@nXQ$3U{! zOU~mb=(CpNn`AQxHGn(zv=@uBF+JB;gH(;+H1Ov2gg^z@$^2JS0#NiHFTg(0^wxC@ z(Ad*{kM4TQ=;;~_cojK7fDm9i^L3WLX^602xBxqY$WPpHt!=xVu|#$K%yK?!EH~Q2 zbHL~dR>Xp0hmcdwispYmfHMOgP@?jCv^u6OL04H8xFX%@C0vzt&9FGpFWd-ZtUQ@A zi}q-03?hrGL{n~erA$N~Kvwccvoy^Xe!Li{Fh;e zL+s)9Tz3ST9GTgv#^sn0A5TgYCOsXbpSTx6M)M7IKjUZPjJ7`i8DqjeWc| zOP|~!u%H;O=FHcxl(NMZ0FRr?Wo|+687x=RG_o?^fxm-`j2j@da3_QE@P|hhSYYFj z(D+fqQAH=I%T#=)HTV&R5h5aiHwE!t`#~-F`Gj0)ezNPMQY3tBAGxGSy1E*CZH1*{ zmQ42`EW|OuNbTCQuB?^yMpzgCmY^pjAjxh&R>#mrxdTiSTVrN&xw$c)+PRR$-s;i)skR~2g?bBsN6!&(DhYh`mUL%@~4OkO^PBhD=HSybzEkosE@!z z+dFZWm4>5-hKFQuUMoWoB=`>KAD}M=3S*b8DE;c%8dSyphrPZnJChGAfO~Os3hOzy z0TY0)TTmMkDBBs8=5&oUUR??9;PP8hkrr<%LaHk zGIgD#5_j;ReQv{g8L(?`@SiV{Jzgwhd_$`woVGgVko!;+4CPmZXcm9M%QYM1fqDh} zgU<7ovH{zU7{)tLsLsq-J$iJVgd^1s?D){|@%H?MLmko=;%SLQ2=E?$Icbv=D!Q=+ zGw9lft45ZlGeaf%_rF_w+G^t3Kz20k%{?7_rXQdP)+YAf?2z$(HVg+#iGu?lZXVnv zVG0T&Ebih8!BmpoGcVeu!bI+|oLf^*v?rL&1%AvKIC*C$9tei;WZ*n@ufu=(1W^kZ zEvJlg7xlUHVi+Rb($Pv!+B_n2Ij^;XrwLYqXK`$h;D61cAkc$j&O%wX3&8)ozgb6Gknfdittp%TbUj{px1924M;s;my@da}Om z=D0x+MYBO~@L%ayEw0$%FXcDIn_S4-BwfpDY8V)4pfG*Gk-CP<`v5_8kbC*-TkX#3 z$nMULF5^SDM6_PKtpD7557G&>pvv zx}vhO)iBM;l!*F3D5PG9O?~Hm(SVMJcGgNNhT%noU+OawI<}u) zhqN2B)?q1{Mv_{@p8vch|4to}o%X$y?=AY4?(%)n6D(>FnV~J>xLtmWj(UvAtk8(e zs7dbY>xh3X)+`_Z9h97u{JY;|#|q10f^}HtLWnV2+!$xjMmq$6S&6>5g|<>)Q)aPj z%JT|@?(iD!nOfo2)hp@RF$I`@(8Rda33lC+WIKjb((UZl)raLW8Wp$XaR-^p#Uw&-YD(46o<4G!_~ewuJ=(9zk-;BO>J{wUN# z=Ao>;O1oLAGojToCLLb}}zt4d6Bwy&{pT4=^Wm*XmBV z>GjB^Wcy1)tXBR67w`99i~Jp7ts>8aQbqv(&Cn1IAXsKfSLEkdzxb$0?-)p;onB-L z6G}>yH5TttuuQL#_L)+!_c@DZv11oaXcAQuA;@Nl>FJ+KW1s*?O<->e?M;GE#T(jg!jsqeJ7f7>iqn2VfC z)v#Hh)gDl__VGGZ*MB>2lIWhE`lgh>ry8=>f!qNgBItUduQgU2ys4_{)qtvIcRcoQ zwt)S|D`VUnhx-L_kEZfYTAE; zzsF0b0Qd(U{VQ!BbI-0zj;Uj}+Q_NxRMp%T3XYG?i#qCHRXhJ?6gl-&*_q~~$MDBO zszm{&n?e3?f68|^w8b=Jy3N7u=q*|egf;Eqq#G2W4Jqh+lhk*v@AH1bO5Zv?B_*X& zd&1(jTrSwnfyQgZNQ&PCofk-FrE@g7B4MBBTz21{X8`IW&#Lz4L7s*fP7`(w3^it1A7y+)LGs-ojI(UzmPoMmdZatwn_3HzBp(QXb1*F}8 zHm`kFKUBYbX=7`<@YM1MWXRUB{|=8K?#ZRE!9`I6O&>c4B0jUey|WDP){u?cXVTs? zt<>2v-f+k%G8?4Kx<|L&iYs!81!jCnaj_m_=Wj#w2$?eY_N}n}6|RwqzfD*?mGTn>d&p>7 z*eRlbmRedW5%a<+qq=Duh&5nmyTrznB^c0-*gFCjZu3<2Ujp>NrMD|0WO^Nvi10Qs z!R+3JVHZ0UJ6Vp9xtQEA-}x)XmXmMuObxf7!b?$ytlVZR_>KK2SN}^a?O7WGX z@My8(KVn?OPj^&Xo9DfI1v;3ZgM$lie!TS$a;6WLiMB2+<&Y0PqO{x#AO9_d?C?Ng zx~$_D}T%TV{1%dD3`mmnR~i6Nqm_0+Ki53 zn2~~%s5iDBKBrCX8z=eTJyk%3C5XlWzL&K+J4kyG`&B5AF(C-{Uyw$Z4+}5NzA<3S zdT&Jw_(yA9O4iz;`s{P(F2sKiPfWyJebPoAU7%v&4mnO+6H(8m&QD_ct8HUXXu+@D z_-1;4r{dA-wU8yMJrLMqQ5JPRzuVf{0AK3xxEK&tP6XvY=N@y)d*+$C^_16BR+`f) zS>-?~2UW-N%1YzBh9w$t5BhGvl-0gDcS8rh6oL(*{1h(@M58aM(f4@*=bpSDmO+gE zI2*HAlKksz@p^(aE{ha6n==suZ01b2Bl3hgiZHy46od@6E-pv~dlg+kvbxT~-XCM$}bdjK%W9re^w z96ksLsB;-BsJG2oMD~#6Q?N|#1T%+giu(fo)_4_bcs1SMz(;(ybA}{ezk9d1zm$`mlk+`}NXgN~1-Niei<~OP z1=RHN^E8?iXc_TbpGR)!MphSj6P+x2IO07p$x4WKz9{Gs%8bfoe*|wgIE3VC7J+X1 z59I#=VKF?X*B+1!U^qzT^;b`|OPz)Jqoe`t2U10@%K$M?wRXkBF$DL9SuFnL%Dz%a z$mz$udafr?Ss4(DkufOQvGi~6I;ekt0QulcJM2f2)mfy?+S>O7lIA~9?(v-^5$NB( z{t!;2(0Cu2wCtR$v+h-vV;V-WcUIcN4@en#`h_0XpBO)mIC(E(CGm3Z4e>HC0P)p| z?3moXL!v22!h{q2-tN@(ly(?2roEcGoCzYxPio(U)VTgC-uehK(UT99AqI?R>3^XF z?x?!F!iJYG=g;8TAd=1LThbZ~`00B)WOv*b+~ojL)|a;87=4YAs~D+u`Fw(j1q{wT z7Oubr2$9!=tjw4!?M z%|b}nV_yTI_4G6*^0;|m)4Y21*!l&`z;cgzZrdlvtaO*UOY(RI@n@Qj4h8M?&jR(W zH&=ezBkSZOOz7^L@N_0!#-w;fW=sBSRzt)FYBTF8iI1YK1s%RiP|VQg_U(d?=NNAL zCWy{KtI5DxP%5(-UI|$1!`65DcwYWw9>9N0#%3NMv6_GvBz}hq3J);C5)sz*m1Rc1 zxetqOoB5^bv6Jtx-T3EutH`Bm*~#Me}$= z$ws&bR;^lZSXUyz_1+VJ8)ma z6wSym5+Za-)gYC^*4X%bwOEe_f|6XgYku#S(5efR#o#$fM# zkY2!02i{KclrZtK#1RO2_0VGkxdxL;5|c`zeUyY4vc@&gr!y0ZS`r>5CT{&f_DMPa zCXL>oSG5(SZZb%!^mB|E8tR%B*v@<;^CZFM>WBx zykYxqU(gE3q-Z#=`IOtW^Gr&{kp@U*zS9zrVc)c9VP=-rkf`~OT9-t#C~~3TG)e8R zyf5Lu@L1&r(O_iEt0E^sjR%tlcR;FjMvok*qRX+C_np^r=Dz(5spL0>xz(gVC%H72 zUn0@^Cb)yiFwDx7Kc#!g3)$fpw4R=h!HWR~ertd00&p_c&t9DUB};%X%UMDQtMXH3 zAtKKIel+f<#-kQOUqzwc-$;9Uo|I+#bi;H#XrsgB=eL2eslgGl9~@d#R1$+?gOX~} zT@pctD#bee?fo%mCzIwHDIv7V+{X~6x88~Ibe}7?;qMxOP#0y9)bfH_;oUo!YrzZl zd#r|RnWNTqNu0lrqW0J4WF=ZgwQpFQJ|pptV+k7wRC&xYirVQqbOdqpdHpAdPXQ`)$|Eo`~tD6fwT5LaL{O~VV!^+{;=|9=W2Q7j2cQTSBlW(#m-gLBz zy3~dtde+JEM9WN@HBc)Sn_?hTucyW@hO=S7-=(ea?f8`M6K}>sY=LJaB8m>}tU}3% ziYu{A#@)Qw`)KF*VDb>}FqL4`m!F<=Q~ci{qsqI0M$6XSz}DU7*4#gPH}2mrvlupM z5@sati4~#!+Y|ed{P}ssd3N}x&9lYPWG#GDJ9(4LkU!1y)Cvj9^N|BRMD<{KOrx1B64r$PN8 z`t53p`XiW9!d0MGQf~V0CM~bV_Zy1#$EYe3v<12PN6_0qw1A3tnd@QmH1t(Uaup>q+>r+jj*@H}k8MqP zaSZV{#Rf7M97S1B?Ci`W)^_9FFdPW}-8!`ej5JR;-9xsdLm)!3&->xSC?adThm_ld zA1Ji(9^cDN=e@`n#6F=zL}zvnFXal}n$vW6ipo*Gtopf2{}uF3TBrNFgIz=SulZ7- zTJJ6Xg$*p|wHFhwi2kmsU}5e0;LOasPwH~`x^7Bbs|H3MkR^yPK3Q{+SN_2IG{%qX zXMI~`UF`34bGm7@hc4o1+J({~lD-&&5Jh=7l;>9UTy;-BrM-dG5n(<+B%A zG++dP#68$-!VKS#DMFi^Tab~w*2?S}vL*cuKJI21Y}#y?oWLmEIAT{j&h- zGs~V*KCBvZu^v1r>JPoW!Gc8zOL%A#z;lvf=Wk_Y1t6~|z00XjaErV|a)oBXA^RGZ zATtRb0};`?(uWVl)6JR#t`su5HZ9LYTz}kl?t&hH2IW#*H)1aOz+r->_81;zWXJ3o zpQ33VcMY;$;i3!KDYN_yz8kQHVH(>XrJ>2eEZ(}F^s(8h)z0*L>+yIiG}Oy5*?ILG zJO_%j8JU??Az&ztpYl^ekcfM?zFEa6g)O&zihinp=;f6}{O}ox5O${=fi!3?ast2U zaitObIj-YiuW^DAd*9O+MEzxX% zXy)p*`+evYvLXlLxDeRzz>3Mq(Qy<=TJR`A^ayWP@w9>ArO3Q0h9ShQ1c@capEu1D z$rT2F`cZ-=P@ zr&TTaxq6{aRsi&MJX8_wxfw-K9oBDO%`Q1#=kQePFd7VRjJVFIGFI;~4?{IK)9?Ko zp|0ceHdmi7>!?4HqZR|c(7mK$JJSL|h%$Km12lNgWndZzZjVz)_&7LNJ^eF%dOQs? zJynSL`1I)vuKYW76@K!t9DwzsTrPg_$v8=Fs3G&0^&g(k2dT_y3rmgS@$i_s3*Lf0 zNH5PMbJwS3SCOUKN7@Tj6^KXPb!f14#3{o?1aT&iGzx@+euf41A>!%0C3+TpXL))s^61f{T5Ef~U(=^U zTED!BziGojD&t%s^#=|_E`)sKFh2KCR*L-Acuo$EPni30#@xb+?_9?l%&1r6 zE^at5yjBVp7IleIt~}x069EaJtjF9(0000G+^F0nsn@>BTvAIyi>dj+6RSI^Dp)e} zUI1O?<|=Hk=_g71xb1ariRh`9%#YR{!-jYH+Vnm(rh1l-qRDE^h$ra`(+7vA(Hk?T zJ2Hr_%Y}DTAkJ9qVlj zQ46qEc&GYF4nCU?~278)&Od%ys+ZBX1O{Pnym_=io{lE3_4Tl0BEs)?M3$1v z;?oO`+%TsX*YhC64}y8`i*GeOK|~1l5QemQWVuTgIF%~zgHvj7uo?6skApY*&tL)& z(qazdSSarn05zzcD>peXpex8+RrkMCv*w1>%$D)00EUpRf>4 z1HEYn__R(Is_<^jziVNo5nBL(1|K}ks!UvxQti_O8=&1qn#)gm@f+(JzrF)PlhR?e zK)3##4k?%!%$?Z$iKT6 zKAbjp413S1KfA{KOhy0l_!N#m_=Q|9)IkdBgn2QW>G2p;tL?a0Nmx+p7?xP%30jDUEz(oarHJ~V zV0j9FuHb`(KEV!P6vXHM!Y6QOyc(=rG&F?6=A*~S49&?5I2pbp=V7z?m^xTgQqrKr zplp~wnDnlG>Y|BYY8)S6=>(a{qr&Ali|+S|tb`9Afjb1UcfL(eKVZ2joFIp|_5+FKB%b;rZ21b~HV_%GMp+%Ey;5 zk04~{?7RmKkAx!Z3AZV>Dr~A)o^#&3ocG7u*=FX!^OIuYvTr32wVLd_oH~z9*651b zkSxxy)1_4z;MK-3e$!IcU4Wl2peljD$-@@E>bw(1#<2&=50B|byLRI7a=8_+4sC60 zE^;)01afp;(u~=_Hgeo#E4}!iWZXc}#Pp=ErC<`6In&x*Aan#Syhu6{GUW3gJY{zR zy$FkoQ_9{nmA-tbOkWr?5oyf==R6$wsdnvOm3L7AF(9JqSAJ+D%JT7uXrbzUnRd+h zub+A<>8W;Mt<8ERdF_R#jDuqa;P0_Mqeol^Ea< zi-h|&pxb57WIj^qy2#8H%697pL-F6xkUrcrJSAw^o0V&tdMnjd z=~jc@2`qm`s)P2=<{{dzTnA+zm4d+o(x*Pqg#NX1j)`hGUw#!ixFHa%^aQP*>KfJ% z>PnAYf3XraqIZLLT_1vacqGC#^gnAk>DZ-G_=w{@xTIi50ykX(!B$h1jw8VhB=JvK z6uXu1&UR!Xd~wb~2_PzV9Na1}I0B)$UI`;Y1Dxg!X1tMLf3Vv5A5|F+Wj|>oamQ`Q zJ9JS_wZqrK$;d$-t&<3QoOYRrz}ekH&N6xhOz2v>O=V;<_}2Md?Dsd2 zhXIUvYNx^@7Pn9%_(})URejHNez+7TM2|f8|4KUVcq;$@ zjc1inMxSFO+3O$_m2t9VXYY}f6|y5TPWH?yWMt>a9@!B(C@VWzi6fGgY<{ov`}U6> z#&O)|eeU~yzpm?gURpxX24ZUr&}y7vfYjX4#zxG&d?}T`N7jpt-@zL4WIb@YKC+xK zE^Z1yV&@4%`0x0@TPN>_Tv7oPrUK0n%oXGj8Y5oLl5|lB5Al)OYY}-7%!Y!|)-qd~ z9*xcCoB6*EZr9u0Af7zA7iL|e#~v!917mo)s$b@HUYY{Gdnm1IIwZ?aU(9fyGtz&< z#2U()8s~;WSsUcWH1`B7d=tqukDs99TFf#Nj3}m8{N6KSnF3}EaFpKTx_1TznM-#o z+~x`iYe@F998z28SZuBlIkxyk)j}Q4%OE^Mb?w3Sk~4zeN6tmv@#Sv1GZ{yL5nnhuSGw^? zvo96a2TZu%zn`dg5#`ZVy^(ioo|4?w-H?vRIGFrZXzy?tUkC1iWoS5{;mcm)Lo0X~K{I+Qw*-d212=tQhjLBK+Q&f7de z3A%{xCq7#dFVh>dZk!w%+Jqq|D=O^2a9*3nOF4rVCWH~>WUkF(Wh%NgW30ClaN>$_ zF4J1Iu$7HQui~6CgLoY2CpAUzx69glmZa+UZ#wePzzrY~o~h==j4 z%_N>T8Xn#7W*Aj^nBgWn)I~f^@bdwXrkmpZWKwh#6Ny5CT^Z-w!OFy>`MhHu95rx9 zfW&QP!re05B_?sHsgHE^)H~HlNJyxfN#t7!JD6~*nhkkeiBjlWx>*|XTJ$_gV&ONV zYky(;isPGi5VlF~<-BRA9#qNjakM(Z(FR?Yt9eI4`U+k9JHq7;^7iv|!&jXEj$mB_r6NmU_t<75YM%lW>+)jnGf_7JEA3bQQMOUR$ z?-$?rd4n;|dax#qmj5S@=cI{SzqdU0)4kY__3P@~B4T37q>g~-l%7l{y%KcZJqL3Nnx5Me&cV|RUwuXw8VX5l+-YX=8XS&>M&6hyuS>3OD~w7zI<0|nAt6dpGX zz9uFKFXfS1FZM<#m9BiQ)dy9EK;FISgHYNOloZ;iKE8aXQhL`a{qqTVL?;HbjY<$m zahWEivfQ#_ATbZ0F>xGdzg*ft6Dcc;ppQ``zU~e4 z{~iPYyfdRHE+L_GiM&UFb}Hhz4LRJigZm-rO1Ms2cr8VU;i?XcroRx*{RAz8e0bZA zJ<-xM0ArFJ6OAz!#JWSh33}#@Tl-y`u=ToE!t28WWWSwPKUr|8pd~_-99Ig^Xk>>V27ltiw&$V@lNeo!OnG9h0o|3R0+u6+Q%ccs$2ohPuUWv)wL2 zawb&;9Xz0NIUD{5S6t9Xy4Ydjle^X=z~5^tK}`yMvzI^w0_+AG<bqTo4y^rM72;S->Ewf;blqC6Saon7cf4c9)JBbs_CPfaXg zyzpD`8@hK+ekN7z1_|lKMi-c+ zJIWz^?i|8ZML|}t{gItK+jP(X$0(VB83~$JnGLiTY}NPdbFZnDMlh}R1F*8S;+w$) zkn?o)7l>b`FY5p<0AkIAsD|td{OvOANB)PDhUGrS9?j0rlUjTg7kJ<5j*5{A@(amy zy~YcdhhNZTc_kmhc9e|J z)aYP_wKnTqW;diQY%y>@2rcZm-7;nDMw zz2E4apH~SZrcX#WGIa%O@)x!j(o9}HoW70KcA%UYB8lf1jlaiHYET~V5O?1==~CyL z(AB24$8&95Y8lXOza*p@48umP>a@2d|H!?P)W*>0l@Q_f|Tk@4&?l^#=>z-*F1) zy)+0BK(od4Q;D#&(Hx1({rMEQ52a{UBLQ}tIE~*hn9|r-mYA*%fz=Q zP8IP2e>-f~q_K+vzkM{j#Zgp0qEYpYxpQfL_ni>jE8vU<%^5#Gf#MSYtVxTB#X6Cw zme{StFTSB+5ues#jf_ugGTBh!$?%}WQCrJ@uhz{tC14%+NcX&H3gL5oL~t!&kxX6Q z?Uorw7wu9EPn-Mc$EmD;wV%csdNPR8Zr4ptOuXv1yW-!tXn-CFohswW#$D>17t5y3 zGtlqGt*zf}v>#-isf2BRz0(-q=X#Ly6kLCRhz|kQ!tzxB*oVl>gACksdbnoX6hn=+ zWv<4)J3DZebiDtzuHP>^;%Vta-XG?pch7L136nY^Dyt3G?P?lGDNY+>cFgU%Z@PCe zF0tN8W7){enyhGjkf9BV79~rbUwAnMdOrE&-I(JIfxn*2t8&+Z;<4$6RblH*o)Kk{ zuZ`@aw9AAsx&`r_xnio+1q$qSuI5UQ9(mi^I#^mpE=FSXk%bOwG=3dCM^0<;3KsLf zl5|Q-n;BtPwhM-F(i{R4Lzo%I{rK@_PDR@`T7kgdpK6 z>bzW}V+KqRk3q2^yBp!fEAFrQ4KZ&qahBRBfMyMTpo-{@`rZW+^LV+->mJ&H%wLz3 zY*5$-?%lLOXL~_G7~Ee-_Doc{n%{nXDWVf>={18mm^m;0;_PKuqkO*omX@DFn01l@ zSiD(w|4wVgvndLtSEf`N4lF)eTN3cJ*NYNr3{h8Fuen|-iz-g6VYy>WH{9pS5bns3 z#~Q4!yhYNkYgqcxezu6oDcGjoNl+Yrhi?Yx!^QRSeSq z-uM2Pq5g!H-ofh}=9-ot!$Jb1=b9o!)5De~-D(MW-7{3{*RNTR?&_%l7h zWT~NXiG^te%p%zPnJXI`((cDU!8LY00zW2vR;;?3+GZcCb>FWCxCT- zD}a=m5+e5yy}Z|Z8ekN2xzBJ6>LWq{!c7FJ;AR!K(56-GCKxZzRK1i9^Zj99LAZ_q%M|$Ach8O0hUCh{baZ z*!Esjq7PF!ywibu+pV5w*@jKm_WRP!XI0hRq!fcgV%_Uqj)>aSx$_M^FC`&J`N9i# zP@2xzjlCnzD}~0+q+}wmxP`*0FGgpO@8ReaSI5eKw>X!kyQ<8*re|{!ElWq~XI1Xe z@7k^glBh*zsOgPM!T1dCne(+!P$PcyIfF6S=dsd>{$xE@G>Q$ZMx2R}QPpoT7^pmO zS=-;Tfo+SkvvoiKDu@5?zijcRe^>MkT_pUr3tXlF`o= zsS)0D*bXtBYKKQs6=mKkd9NtsXO`1dMEif(jfuC#hJUWp+HX4Y-lE5$W*Qt**8~jR zWd+^tX_(sYX`DU0pZ1hEfI+_DnG}*?TPc4*T^^Im)>?p^PIElR;x9l$6^ahgdO=TO zfgp`Yywc)tGI=3X{b)`JG94^jOiF_4RjOHolKO|5N2!eg&Z}F!Uf&*WxsipDd?XP- zDI)a|g+_vAZKu`4TZv}}Lub6Dg{pOCe6;Gi6T6s)S5__(91zD_PKSO~>ANo%SyV#F z_R_{A{ui~b2w%e8trg!uRCctQREZw)&&*Eg-rf_al3S1B$v*ye_rXr@cJ#x~i^G$f z^X;ptWrKHjoIihEUglC0m-FLOMyn%9BuVm0v}|-=GcO0`BMVtvOkC?9Ys}DknoorV zt}W(?JB4s%`S*Lx(336jE|D!LXwz}AU}Mm{JLoPlR4COFPvI3!`&QGKV87lM#%)sc zjn8sz2Qohz?1br#q8P2x&H|Zz3F@VaybNdV0-h=&H*RVs3fJS zxf$Q|Jo9v|?4^|_(}h4sNWimX@3wmiUON{l=9g_)`mnor#lYLww-QqVOn?cEoxi_E zvaU*0G(FW7H~dz;^bMM+HX+svtzls5kn)`$;*r{ldNS)*TvoP@pQToq!KUxv!|5wa+o;o88BRjkNpiHw5omi3ygmv2_VwtThh) zeus(j0|<2T9Gzi0?hdwT+e{2|Oz)G^$Bw4zqgZJJ(AXT`W9YK|DRv)G0M)7L?9h>S zs#ExN@&$NpywA3Uq~Y8J5^}AJBwY-RoSweSm?6ygu9=bWM6wR~gzU>Dm??v{_WoviY#uK-uR*;8IS3-da6y3jhrxoc z^CmK9;w$gS*kD>0xeO=;O6FAw&*j*MSD3Jh?1>#Axw(nCLQsnIxOHb>WplGe5^P^J zX{sl{>IIb$ZXTgMXz@?;#(5h;wyt^?MQy;_3ec%>^AtzlKu@c+IKcrsZ=;=p)f=^I z>cNW4u3B}tVJ`*|Ya{gQm?$Igb>7Z%ZTL_zC1phCu#tcd6!AeW3!s16i2tIxz_k?- z5rHqSo%P=+b22~pT{8&3GEP(a4Ks&FsD2r#)<_@Dgvd*zn( z)s9ZD2IW4Yv?#_7f3cwEkY6+fMSFejOp0WBm?fa6!6+W~X&^b1p|u2G?HmMv%Md;u zo#4~oUMoXjzX4Ous^cRC<`;+)et?g`<3E|j+*qLl{=o-)A-UYk5mV=Z49qao5_s}78%GgFcrOXE1s7M(dAqL1T4lDp7r*P9Mi-MR zoa4V6x#xB|PNZmnW`znINvJhX&N=2}gYo=UN`9vAdRK#`9B989(Gys8}Wk-3Qpp6Crd zzEl7U9R{58m#_R3vvxS#90KgJRN%2M=jBGQhzO$wMAv03tG$_?cRNKy3>I2+!~7^F zd*>W#@9fEy9#6<%T!4~Cu-pg1O9f`ac(8A4t-et!g#ahs<^}2^&{AN72f^s_HIVRH zTU)_g6u8~XLt^|@be$r|7Ym_7xFfv&{`)p8Jy;j5P^=b=!QiuXkUz)QkpV^27Zqih z;+V0R&jD^Tyr&9kPC!Rr-#c2+*+jik=f2blUdXOD@or+VvXl-653hO~lq0B^1B=}g znPX$7`sWw!T&j0D!&jrEsxn}&Mk(Ogl^0k7Aofo2?l%mXpd4?u=_VEO4a4SIX(x-*a2>72r6v+W1I-NTH(h``g za|RP)V*$HyJj`-Jv+PduQ6));iIM^x+$+7ZYAKT0JLO;ZQeqkoW?jQuaVn}0ulK>E z_Y58c!c<w6sEw$Z`VEQegkg;N&ZVmmbS0)t7>`J2KJo{MqH)iMHE5VT8M z;{hD>_GxM#r{yukbSL$4PL911ml9k=-1XhR6jF>r2}qPT{2=cX4ulo%ltFj#e8M$J zXz)cAGBhE#KlYvysGDv4`7`c4Q^Yy;f-F=X%<>2_A8&6U(Q#RCu^i7|$bmzSFU68R z8IgvBsU|RMf>t*+9@INuxp`&kQ;`;H4-KY7A6s7&r;*e0Pr~@6%WDLAp%yRNR_v`3 z;Ig=rWid?s_hQ>u(W3tTo13OoLfLCp!yWEs_V&0ZAC6{V<%2hOL=I3ymbI$jQ%lfJOrQIA4?nU+O2%|8h<`CBd4ZFF?og?C&si%C`cr zCsp;>G*N?{&m$T; zckssv8i7K)7Pl$_miQq>1aIl1o&~%Osk9zD8cbuN5Y|vvCkh{Fho00G77v zA0VX!o+T((Vfoaq1%uU~I+MHb-r}$LxDHhKL@HMEGjQ9kS-dPTF#`i5!=LVd2!(f!4|J9HOyzA#bX>wLf~Qmx+~JZ+Zsmtu%>5j@~1}2yQn%gni(Jpp^m7& z-avJ=XVVB8K9ZInRw)+%usDAUPAjaB7mSL^4QUl=6lXxK`5M88oNKz^)dY<`l2!R_@%GWPH;cp^ zxY|bd1Su^3rPpOl&zYVMoujL2@}toeRp-0Bm@_A+&!X@b9NrY&t+kZdtTx?j}vl>NGnNMtK7V&94qbLiG(uvM%@01x~;VYpo*yi=P z>)SBDnGzA9h#d{Fe6i2F0A33i99F*|ib%5T>vRjbLsKIs9PP&}rZ*$`vjr#Tzd3J3 z=iArWsi;_H%M(h94pu*(u{&hs3NZHX#>+$*L}OZR+|;qw7dj-xdJ0=*;LNWykAG&g z-WH_({a@L5ab+j}@z=PZoAV2(1?`*gvEzA!AATvo zcgJgyvblNVW5KqAi^~Zv=oEJlcmQ8A zZ-0;f@s7^I?gOhCxUeD+5C|#Yb3GIY;Fa)7oeJ;<=`0~50=WQ+3dTUxt@LUJ*aU4a zuHgg(1dHEgI*LAnaqr{=@DaTngs6 z7s)5G5ZkR>e^zjCypfYl{o03*o1ZZj8*X@TE%fuR_meQONs4qLf6a6Vk!~cOPHsY%DCRSI@`C zrg0;vR}a1aou-sHb>hjhYt5PsCk6>6LYM>t7x*3ejh|ms!H_+qP$V8(UR4z$rcSd8 zCx&8uWc0sdC>Pe(EgRN$0}6|a1*rxNgKFb16IR1r$S327)2Zm`-8#0?)6?hpSO8b3 z|44HG@PG~@A}JY3CY)`ss-7>W_bY=jwAa-5cm{{V{$iOD_w%L*576z`_14e(QEI|KSjEJ| zfs*2UL%kz~Z0FC7`l&3zfA?fgr1UsdvPfN!NH&YBNVQ^UCQ!hX2zxQcb*$v0~Bnr`ABIZtD5;@ob<{wP0=2yoIo7jc=!kX24RX-PuA>F`;#X z4orglwasdU&IJZ!xy|qA zTObHRV&m*|)4spKY#$j%z;rZXPcUCNHlbEZ)9~teD)ST~BqrKrn~*g5wI4H!a*#C>JGEUE8-4v!f%} zhW;r##3jo^XjaqFTpuC1iHJFT^KA&TXvfD*&$PI>vr~lb1p~tog>LtRhYr(lczEO| zKJ`Vx^SyGdL18ZJC@$FYW;!djvvYGSUDKtlM0NX|HrS=`p}7@_*-`!TyR&oa?99#0 z*5G71%j3_9$@D0#TJi|X_=HY~I2fsn4c*{iT+GY|8@-R!`=vMrR#!?gjan=|HybIb zP`E~?`&}5JFBT>yCZms%5^BoS)KpANjBE)iI932|iqd3|lBB*! z{7AU5-Wjn>q^{;bU%{(TUio3*-|G!#g?;+ezn}j7F8f0;LZgCN)v?ZVVinT~WA*pA zdo0nSQ~aM=y}j!UfmJB6svflk?Opa!mwhIOg#QENrmlohZ?1~L)g7-F6L(9k*$jbD zbKbl>j`?qkiuh6Tb0GRXP~VmrkGv&4?1FyH!gRbbkb)IK8SK;v@>t;jG{e$a7|f)7 z1!3gg&^{*0^^^=T-j(TIcobaRk7@23qR+8kIi2t46*Q`q;c;;{X(-tvT6SH@IXQBF zhBRVUHPN^_NV7?Zd0ngq5R`C4<&f&^9rO5D6mjxiXy6R)C&`PD-LgD3@_giPa9#Kn zBv(b8DyK|w&FcnP)GVe%+g1t`E2!9QbK=zQwRM*GvyOtNLW3C@84XhfYl(Pmr95Zz z7t}14Y!tV1m9g!$`g9%~WRt4}_LSc28vecK&}h^yt3^nfx-RxBGtu|m$Z)r~BxuJ*kf!u0#NVh_G)J0S=UAOgZ?u64Os?(%x^eLpMF z7Dv(bI6`k!ux&fS*o3mL?f!b+VBhg>sII< z34Sb*%gJUk8GnDexM{zjqdV+~#$`u0X_zwP^BV+?e+`ULm~>$>lStmt~h%#%jDH|Fb?(=2SMTlAQ= zJAqVt{3zUn5}YRF&zXUv%1iR1H6IkmT< z2{;0c0)#HBMxt7A8M072@LUq3TxE$A<+o|#Vj(+jql0FQ?zn_^=g!$YRfe&oNkQNV z4C~Tp6&KhA{{?F9C_b;}<3ZdX3`6@Whqu|?RRD79>Jn^%xHA-p#p%`?j{$H3eo|X0=?2&FM&%V%K>$tR%+^E|v}k)WP4@PoVH&x83<4N+(jt1pebkC-A-% zAoG_jQ!amdI60WsY;!bGP(VhIN6*jCH(V%|iDwt4(`FcY_?tld7)%yce`3| zYA~A_UOzlEMmr!Ci?!ZtWuyhsT#E%s*wT)jrNF`Pq_oW%LjJ*Cf zjY2Lpa>4mMGsdxfV}Eui$r7o;mos7>p&u}pDS#~`qNk`xGMI~(zsSnQmS2>UnCNso zi7lM}9QF{9p~E996hz2Ea(_|NMHb}k`#2{iFCR4oa>e6(I-BLT4Xp+( ziwGhPK@}ngIu}yvoI=n-y?8B(Aj9~*x9dB2MHIa-OWBQe{)+xc-uXf+ZQc6pOC4Oc z1{EWS6YQ`7NsG~@Y#1HIiX(H51!@<*SE~k-YQgZ}mk1SPGxOIsHfl+($-6n6gRS z+X>Bh$eg6qrRAI^^Zo~-XRsk(#YXy_CFBod9LBfZklg z5K^z}O-^kYfnXdQ93+VlR2TMs@z5z`4wrK@61$EowqPp%qp`$a++LObux+gJn45yP ziPwN-rc4~z^MCe!T2gC-tyuEB>3Z?S16eB;-^7ncJ;ca>#2&~a_WgXln*}XZc6Du@ zGTrF*;U=*V#jzO*xt3#zx9>>ca?H!42zH2WFr7k4FflexN=cbNMqY3t?vWJtn=0vQ znH!Pnc;zPSelIV*YnacQTy~#n10v0`DTEB$?#m zezBP=Fx|kGE?UEuMi!dpFFHVjcI&?@Y{9X8b=QW23len0FDU|5C)>-hpD7cxp^5OG z97N723Oy)Vb&y=|zcNC@Aqx}nz>OCZQ~WO=OAD(K*V>M^Q~{pVT*kCPfn1HsqlkU? zZ$++4=gL)$ofTf;STT>V_i`HzvrvIUK#ecG3%QX(+pmrs#`{6i*o9o`9soA4RO`^_ ziZELQi(;^qB!%<%yt9DkGOCl{nX1BdrlZrSnzP_=Fcyf$1maVI;o(CelCO5S+4=hN zCG_Q`^LQ{_VYXms$3UY}gg?Y}@jR~@al2g)`kGCq3EYb&ZUw{5a=?ETCW?l|r=^8g zQ4)xJz1|%t6-)QcOwW&uj0_y)O*)@6y4|hoxV^hu+>8V3LXs+w@R%*S3^(l*l3|y| zoSgw>IgOPdQ`jlCGt@!jT9frayTzLH2Y;1FhO#ZbDJi{SftD=UOM~^-6mVsHdUxNA=blOm2hqrqJ0BA6II$xUM`>2#HIS^b>MG9pHOWQAtI8OebwRXhFiK47jfC2n$GB-H!SnePOQzr+#v#$re>9a}wXXxj`rzNvTx4bd+Sb?CmnoIt#E2#VE00g4 z{4OAd35Rqk&VyTM#$~g1KTbCTq4zW@cvO?RpbfV`xJ_7r~Ozhnk`Vq(=Jd7o^wZ=xA;eAS>2F zbfvS~ZQmbF3~3aZWhqGBIemY={gVCXuVliMuI~ZJcMRyR=KGJ32zdS*U?zrgoXoaZ z{oXjrZ-K_)F2bLhKm_dQZ*;x*`BhoVNUeXN95- z9mS?2Jv2Vuj-QKXhWlYf@N!Z@N_3o@*ec$G*x%tJn(F+&?az};U*cG~yB%J=e=C*= zmUN)UwC)Z3WQV|ZSjk@bhqTKRC@StBEL58lUv55edj5o8qn{pIj4TOX~G-|Iqu#DO<7VT0Lj3mKNBL7@QJopNyzs3~S zbibae=4j<{U`bGGW3d|6qBFJ(>o@>KsDMzkC>8KB3Dad3iJ|y#bt*UuI=AMoU{09P zmuWPvoU1Dvrss-ABXhsLGi=>3)ZfQ_Eahgym@{c>H?X3NH``+a~@f3o){E&={6zfaQoff2O`K4p!>*@U25m z{KvlNN@{9q4%T5i;G}b~T?PQ}KdtD+JqIwnGx)UtuR!8dM7y5uzjMZl3V1kFa%hx( zWTcA6lW^4H;IKTscQTbtUO7mSp@6j#eAj~(oUC^Hbf}vS0!!N8;R73FhD69T#svac z8^u?eMlyMqU{7WDvLrh{f?uynB+&MKsn6pkePWa7_fho61~?0D(241>R-6X^L_2|3 zFuClpeZW=yHXogzmz)uBg!cG*F>e>F>a_{j7ekDP32|T%st_rSSD0EN<|?2bEI9rq z31gKQ0Itb)A91P#VVN3*5{@3en~{C@;cYY`KuxlA&JN*jQQu3S)Or?P_CZMMoqH!i zD~Gh^JBu1RtOR?D8AJ82%H}g8XD%g~G$LfYG>e|fzUz9Rq+c9o@KzVN=WVl6ZuvfF z(YABw>G~^a$kRtf#T|*dHF;&!RxVAd zDk>dW*T=`l<>lo7)QraCoVRR(*!er|G)ssx+BUiPlvXiv3eQkv@JLIB`xvjNmJ-bu z^9sYYMHkjp*4f!vSU7m{Fvs4UiK|KU+r-2K92^`_BIL)tLF}B&eIt8jAc|w8O>VLP zegP~GGjm?*5X8F{m$w(Zg9GUn^0Uv>0_xAV_xJ84Byzy>Ie3JQZK@)&w+84`O0K_f zWXkW8qfaK;edt%?PBNr=@dt+flvVmm_b=UaVT{|b?iZX%>E4?cadJgZAL{vLNG$f~ zsE6J&X86ZDnj{RpUiv+9-5lIhT(zA&`+vM%&zo=K`T0iTn>Bhpi@+^|Snz-xJ@p%* zNIP%I^5Nlun0ah$jEag1KyDNV=Aa&t_pAAgF*%vrQl!m)F671Gc?W3Wg!OF_YkeQUE ztm;r*T3XuJ$U;gQ#Aab@YinVV$G&Lb_L$AL$n@CUz5AF_^%H$e_})r0MsH4HMPCK*~A_7&`*P#O`U_XMSFRB z#m!69hV90cly@Jr>?KlyG>C!NB`p|M{RAvx{3Kn}Aaf0+-JCel6@q!8$mAs@G%4{F zB?>fXU{(M>iqQxe2j<8f`LOH9x@`-+&&~OD`=#47V+?!8M1MGPq)tzfYMZu7N&ENx z%hwL)&s&^E!G-R{09)p~bBV1>#bQ&%rGg6fIkDa-A|fKqKL`veG)MkO!@AX-ot}g4 z*z0Rsdr`TWp_G)A6+OSNqf|XUKw$t&-)VobJT;N(#m&v_<>duLuA`$0yGQkGd0>xl5h|4#q<4aWn;Vvoe-P-Vv89EcZpiF-%rbb)80Ai20P(yG~AHDJxTziZpVxdHCVAsZUoz7QnUoQm&6?Wopd@zm}Jcwg9BvI+{UKMey@Kz zi+d*L&(7i^*eP}=Z?Jf?(~4|7hCeh*kP;A$Kf$unNVN0cIk`aY>8Bw>)^>mPMg?zT zHcn2e$P)tJ*S#&BE!mR9Gc0}-RO3I-q?;%ZdXJBfy%X`Zx1@Y`w>z&-7vW^t?)%WA zsmsr7o#^gnx5u?1Ee;rXF)xMX<>!fVd~bjTRz{RL_U(26QP1Z|rIX;zn*bTk2q#uj zkxh9(b8#SK%9v}x+J#i-Dze!j!WarCW`Q3i(7X}15=xXcyMgo4MC7@3vp3`D$ONp= zwgop$QA-Op4JgAOrI#)!D5y>yj*AQp#^-s>EZpYhX6Fyz9Xb$rZ=E1K2e`-JGXskO zN$77#sd8h9^2+gi4dYKUCoVXOxeJGpgSx*8sJ6S^&sTl=NH4tyEr>P?)C-odk;4BdWI96;@-lrA>9h5YPUO|jVIG|b#-+L z$eW0$q6ZxK0Q<3JIe2W6mqCFnprL~mCz*UEuZ#-!iWd^lhS1b5jpn7yl3a&9+JyO2bnB6joe*uE~R@|o$qx(NL0JK-?2^3ZyjnFA#VNrJ=e!2tLv=Fl3~#r%0|;w%2vr-kw1(Sihn~f?^pO znXH%?BnvzOx5NHmlhw*<4u@_-c(J#FBlo`$ZQb7!QLv1p^jK3A6=T*+k<=Fc3&u?8 z-lnDy+CwPunk`Me{*t={;*{Fn1_lC4jrKNAAB3H5cl$$tQhCi9fdL6^UNqj2X5f2u z#zhI+9AfZxKZ?G&si`ajE;KDOGcza0&cdpRt5Uwv_#BP}DXZkno+~Cloc$#3=6i0> zo`r>l|I$=x4U*71K4$6Y!6OCAe+9Hpk}b0eT15>E-b&$D=9KZf-+?N7Iq0e%YkE(W zgJhj@v}nQV!paI{t$q-tzoVj3@VtT~=EXIEQ41`U_ytF1I=`XE5Zv zTx@=KHyYNnUEH?ux1R5B|pT3g0VlPS=Q5uyQ@Xet0yMI?$t{CV6vKc^PsK4lf5!dyA2 z0kBI3Jv+awA}Q=e8%piV$7shTHFn{F(1@V&)p8@GqoorR#x2QE1oS5$d>zPBVEv_t zv%$xcBpoRd1>!R$O_UqSDj)<71uQe-wI#~SFJIhM<_A zZ`Sxe(T~It&YU!4n6jqZ`+%dA%m>@mrFqNOO6YP?D!0io(*2Obt4k+)>TAIfqm|Y3lpAI`c%p*8C67T(rn3dvu^s19woV{P@mY ze5cqr;mDC9RYzUjpF1P71sw*Q$Aja`(GHL>&_;uP(JaPy0tF+>v)NO24pSWU*5<%> z&Z+h1i$P>=I2W&-tJ00RRupKf3eOcf1WsAHAH?WsO;TtmESwqBW~b?;W#vQ_Em#Dw zLwtT;tQ5$|#9$O?B%{M-nWu`AZTtQB$Q=1&(vCHCb!Ew%1G)*<3fMhrjoe^_71AVd zPR7=}z+z!bRC}J$h!ePfgMex%q&!GcqRrs|!nUTnn*g({q9UkQQ>uCuAAz!P=lj{M zqy0r%PR{7ptfiqLiMCSMMdp+$)5gF2H1Udsi`%EJm=Yl-9s|sL3-L9-m@>RUc-OEd zVQwh^2Gp^qOZ&bZ^=9*W0czS@b7FbN^vkP_mOF~xHhUR9J)o)D%M<%joG=y1>0Ys2 ztYH>+NVeG7)8;p6vy3X+O1bD0i5aNhTtbn7l+^tiA}J~bbCft!v{dE*9tDt*9cW_Y z$U(EdfVc$Wqq1yMA;lY8TcNy(C*o(5OsrqObO#4lbH`@E{P7UP$XCKEyTsEWkQv8Z z;os-m8pWI>IL`oduC}%|5GX4P%b=ly2Hjq@>(#2mUVn%_Ww5GrK7eK<(^iA+7C?%j z2P*EH0&1JZy9k}DyP#)aQjnm~F>?n!#lz%F9IKRv?r6jt(aWM!Dx3&4da%8Zw zND+Hh)PuZm)3q)jY-!J>Jl!R0slZf|D{`ZIv-)^Iy#};Kyzr z`kXCLx|=1*wUIn{?Atk~#BU^MHHj1eNjtU0{ zS9|u)wFAEw89^;EGOI8($86ydBmhVmA*<{l@5=(Bu^$ZS06G_|jV1;yTcRW}Ja+Ce zi`&TS*sdwl^>Fmt20{QjL?Ej{3t}vK0XJ4nB_2HZR<}MjU(WNNe5|b>#7REqsPj%3+yA}#^(z$?_+av=1YVR z8*rx)XOt;OA4a`URcHZ}EP&e`V~eK(bRhz=3NadrhMo9Z6qNopLz`}TMx<_TtBXdF z(6!^=nX;*iM^SmZr}ZVm#qYd9{%Dyk$W3-O7W>Nem|WoREk3(kYX9D4%Z9yIcOG3@ z3}A^|Fg7B%O@|IEp+4$jM}AJAR&6?FUR~Z@dtdW+FluL>w|+ zaN*67Ku}VFCDgDmcG)z`_`7R`;mbEHF|fQI4in4#2tr0Bth5gwpfzu8>x3Z^#{Np# zU4C2T;qw75E3(i6RA4m$wn;TP>TnneejOuUg(*DJiK%VIP5CO&cP~qHGmVyyS>PkvVM5h~~Z=n7l3HnVE z>N+RZbnL9G;H`GHw$n$Bs}T&#{E+VEE7)b~pt*gF=1}UUyY7mcE%HG7w7-AH#KnO+ z&kBouJU2J9;RRU*a`uwM#7qIya=WglWg$fTRkz(=g;6_X)s>Z%)pU@WS`J=o(ZFuf zG@J38mYcYl6#`?X_|3~Jev1m1+*mXS${vPKPlc8P0HGANUO|O3aRLCcU*YJRx{9&? zMfk_X`8mPYS-~vtEz|R^yDB-~gMywchAT9Q1GWH0RrDfy|#q(MWR9HSRRLsm1m+QDWa6?OghlMNi4E ze+@OgTj*y$ggXU_*3L#t3XUWrLFnqxQrfqE)m9#+Eodol#6XHt0rbcr3_(i;EozdrogE~5;ex~`GzYlvc=5dT zIy@Ddl1>OEmSSF9Yui7k2WCLu!*06`!o9q* z)X?T@0ziFJie!6%5FEESwQMuNhI^|boHJ3P?N@Lb6VbJ{=pv|sg=q;_xB_e>2wahm zlx23dk!tDCg~?+>3H%NxNIK9yBEHfnVJ>br5^eD!MWify#z4eQxK>|lTLRy~vv3GY zD=Q5jA~rUqbkTwK=||*@D*gWuP-!g5e*WyxnHykV!O)797y{`v_n>0r<(2uRuPH@t z;o_1Wn{f!H5>#kzX=w;cQ5_eK6^zf#Z6tMP&jD8@RN~!!VP%!$`F_$8Dq0Qa4ebfE z>3uh}R9DBSz)(xYN|Z4;Z%BsHR#TO=(psVSC?_i$7;Jytbg}YswKMae5j>hMJ$&tW z{O~4~N+&ZT9Z=fdL6DY{1^fC{=?9S`4CFJ#LJMS;=5^ybq-^VTa1XQTcLUKG<-$hC zI><*;UaCy3BDzIP(Jghcv*}-)JZ{o3q^Nkf^s4D&1p3)gixu??C2{Wb_7=(+?y#6F zxs#4PAF|Z2absyIcY5^qw24V5U;OzF{!EBpQcsyYA&2NzdOX$+u^gSe^N(v&#pS2i`V>gy39^)hz2 z-Gs{4uhBj{G}yM#Bun^tJgpnW@g5_p9u)}^p@~zd)o8ad@%fHi*Ydre77(-`zDK~V zLK#m(c7wxi(ENSntukHy66{NbGxyOc&KL`{13r?x!IlCtaw1!caKCpBOqv}3 zmQ!cWAXJuuOUB2NGBRFX9SUfp=M%0gJzvM(d}=_rz^ai&id>1Lyu_WMx#+=QZJ@tV za#{Cgvbfo~nQKNhnG(Skcy4<^3sEv+XkRiV6O&GDWTu#F*UY`NHmdUW^78UxV`J0X z){MD85e{NLUtd>;qA>lQ8+vSdYS3S1R~9gD-^R(8jM13al*v6JfbWL)(q;57J8FSl z=V>S_t#H1pk#Py`mC2hF!DU%+EnI9>4(>>6Q8gsFra`B?VOxU`SC`Th&MC;F3iA&g z+mHy62$EuQxW$(e!V5GO;4ii#2nYKbNMzRF`H`QBh%zi3R4`1~AOA;5@x`x*#W%8#g8JG5!lLeOs+F z+Guf84l75Kd3#)tdwBD1<-*en$0So!ioyUVqEM_D{C?p&vc6>0B85uYC+^uwb@MNB7`-(-bqoI8AK2f`&JildM=m7>m+ zEmm?(Wlo)ula_64v?hhL;L!{?JR0rQ1@w#(FwB>I%sK z-%nK~b){<0*6}0;S9=Q<#)0R8j($H&XnmYad=^OoC=OKaCZ3U}>l(2o~TXK`JA zrlG1h&D4OuIy&6QCm^=hRyN!o_hjLav?5CXl9efp>eT^V4FL}nL3uR{^uG*o+KT#p zM-JdhTJ)H#X_R#RMl4*9x*MF~R?ILk>cCJRQv2cYb-y~dqCN$kwYT40H&JZy!DJXw zTfIop8rF#J5N6>tCYNO-Y;-^OgmTo$%KxZ;9*mhBj#9JA%9JDB$LZ7{IxaaFqL0v{ zC!o`Ydi8-(%!Q<^u4K-;^j^H^ce=#BHpRsutkI&|L|CgOxDK{dyx$q^lq8F8F(^XSeGiE~Guw>nIz(t*h z?tO0q+FCp08P(M0fn5uC`e66d-J(8AOChDA(xhPu=|D>XO@T(BprHYs5x@#c-d=PB zN~F)19_TuWVhLTpbzJyrfuUP$Y{xSGV)YQ(o9YWb2UmLZc&7AMokLAN(nBOwICE{^ zv8|KNO<`pd;g_z7fHL?NSv`35b?mf}*)#_F*V{=>SeC#Bv%i-z>@ok1&O_THEfQAr zgguKQEwz3zH*)%YSOoj?*`sS@gP(Vl z-=xhF!QVKO*_)~|sA`>tjE|rr0SHd=9P#LnuWxsfZQr-~(2pA{Y4)M{1F<;#2d^zi z#BNA`sp17Zro#O4#wIDPy#w z$F&B!RITQ*zv9Lue>Lk1HK@wEO^-G^dwUYjx&t#m1QNAH zK_15HV2E4F)uKIhH0v<7Tgob033koXTCGjKmU7Itc_MXd(~?B;Xn!sc9Wb{&m-#qZ z`lw({Hc2i$l1>FBv7At~B5Jep(obItO&g^fo0EVPB%Ywj5qN{*SXo;;cWeRm0R)h)9(uHx zke094y`m`^P(DABp=0J=%4FH+$0y|#WiH;>_49Q=QTz54piG@OQ&PXyIk3mnXjK01 zUxvBQ@lS_YkBz}GxWAGL`9h&dLt~ppQb-UaVm6;ohMB+;T1XMq0FAsC!1C#w@dR)f z>SI0vg<1e;*rdcH&roep_iduEy>hj0`B~|1_0y{}kiY-=hg2cC9dYGkD2M)&DuPr5 zN;XUy7`&h`R16LCkGc>Iru4n%c*2%M1KO7iks;u5!LuLXrh3B*Y(&9u&} ze{)`a`kc8o08DVxKc_S^k1wXEEs)d83w$6>d@g4!w|xTs64hDNN_Bw%K4_H*L`$fI z(Qluc@ucJXEiYyOyP&g4fT)Xz|NRPZKD|P{W&>#BI$`G4oRsojnp#Z=2#8zXwR)3X z=u@OxDg#7?ODSg}{QOP|Y|N$nC1cs>Uj~Jj+g)C|TRhHoGCo&*F9^*|EdWR{{>upC zL~KMCE-SHAK|{@mXRg>DujoN!)-$5DhsY11TxHIfj_(>au}7BCM^goJzbJee5f9UJ zn8!f%ojB<9FyI!nL)*9BIHJpoe-diih+Qp3UcOMQ)AN@Jv{@Q5`=)ub$-?(k!dT@G)w?j@^@Z1xeC8Rvh*gDIFB6qe9Y%Z=SFW+`Q zfEQTGg&j~YtEwuxWdQkezwheh5K<)O#1$4Qs8+2VfP?U@-ef5P(C)l>A|*w|!UQlT z113qtjFA0$TL9F5adENK6+V5}W5U4R;c*l=(MRtwDc)VQAiJ7Cd8$%*t*~@R znkiY9?4j7&=nI6o1ljb|{=KBOM3jRy;DMxTPRhjdlt|LZ0T<1}6eO)7Ke@~IXZ(qI z3hv<>%gq#R)K_UZr=Hdg~Bqn(2-WeBQe2l;>`suhLXoR?W_BB~MVL zOCyjWLn#B4x>-)|$lnljbzGMn&34?LkCgUcm_m88>C9%iszC~u-srG#qeo2jlgo1E zCKYuKiW(Dlvbvs6z9TJR=0ZGjVX-R!^y-{Lf=7ltvX^1Y_Mn31NzUyVA%mtLS$ql zz!<(a^Zo5RkkOYp5Qca_;)cf&Bink@{lS38MkD0m4I`M(;vhW0d^PYOy^S#rW`J=h zOoEIbMZNYG%E|F|k0B`mDLYinGjOjU!SkbVl1Udv%OX;-1=*-Lm*#I?bDJ zDz((N}%Q(IQJY-+D$r8Q$ z9#C@>JmgW@hrgILcw{?F4<<6Xr@s+5V0|hHt)jNAsi zSOhU9R)KR@At50mtU)C~A!2prUHG_(WZ6Op&krCI{mQA#mcx2Uz8qKp(?!;rMYjm| zT0r@DNMx_low$K0+fB!8Ezz4HaPaoI*irrH?CMIuc~1qgA2C8$Q6+WTgE^>HpWZ3aOsm(7q7%76`9kRcR2|+BCXDe&%fiFO@;N3Jwm#i*#H69KV9%_T`rwI+i;GF8Ext8fNm4On*x>oaSF%Cw zXvfujKfJ(A13qNfT)R1E?Nr*^b#)8*)^tD1-QQxCo$ftWoV+0=Sj?i;(Y;~YJULc< z`?6j9HvM+(s%74`bOqc@6Viz=q^J}I0SOTnnwx*U(SqnsmT~z09_r=6>2|%D`SbRX zJ7dQvAunr$deEDt&*1)eItS>{ywB!~TwGjgrG`gF!a_p{zVFzuxC)auY!Xi)C~n`p z(FCGCi_KNS-YCW);pcXWDOkEei{a0M;Pe zIAM}F-e;_6#Lhn6{L%cFI+hLZ%wWd>pzE{EXoYdFi2A)e#5;%=<`UuTHU!uCPLGHE zx>aG??~(?yKitlR#qE)?UuN?bYsP^#FtF%P4TrOVP#Ff07FTR=@C#DHj3tLcc}Uk| z$4>b8`0?1@i<_I3bwo8dYaPx|NiAX-Q30rSJ)D1 z^s)VLri>slTU*er$oycmn2yI8zLnodhLc2bkzGUPX;q|nb4xF=z$}57TwR>4ce=O8 z#x@s*d5&7-ELM%nljqBL3p_*-(aKD>1?v{!=J`YFd%KvQD8Y3L?MYibjE#*+kZ-Qe zEP9+Ba{cVr?vGupR@7A0fG_+WYHIY?}=>ES8BF-qq7*3kGS@<^%bsP$p&fy z(Y&oN1r`bz2!ykSL+0tyEI zq}ZZ4MWXjSs4UFg!rO_j3F4mMQZM1^!TZW7R6vTF74dh^;Mlb4Py-FJqN}7ttU2w9 z&WvR0pCp7Bgh0;S>R`D_1qLf?U3^)FEGO3lXteGKXSx4aQwI zRVvJZTn5L&MWI0vG2INJFp8n{2~{BRWNZM}7FD=5wY>S&?2daen~UzC0HY{`EXW4?y^ftrdh`Qti&XesFn*KyF0R^ zleOcmo%bBxt6+ixCB`HLa}4{W&2i*F96R&Rv?1_=GP<)yQkjIQ1OWjy!n?*~wKtpD z5wUNHb0jkKfH-`#lyJYTK_yUh=LifOhXnFNWr$18 zLe?dMKx#Pv?)NuXJ>Eu>iGn{HZPrKQb#)4qnFXXmIy(3~;Pl-0_3m^1CE1@9_8j*s zJ+I)i<2QGLGVt*50DmGd?5G|_PiapJ;!KzG84CBLo)YMU=pl9^7R&~|ygsk)9~Nzl zDZ=pp=q$^?b|CBgQS!SxJOX&_0n+yNc6-eB{iYRNA-B8)Yl@(q5VJXN{dP7vRDN7U zKKcz{5*@&-A#GA0%o%TPI?0Y!zD^945QA4wGHNuV@gSZvp5ks>=~!OWISUj-O;Y$I zkYr>(e>s*Yf2LeE4>m%W04Ep{5}7x0^2+jZeceHqaQX<8zqqqSb3S8{c2Tq`r6Ig#@_6Ad zMG2G%Yq}Pz6;wi>+daUrRw}KAb;{dw+D2dh@>`l}z%#=R7+l4K$Ts9i8*jVm6pkxI zlwBV155(vnz5De# z$U*jee>7e4!V@$DOo5S@PUw{-%x2VCOa{Z`4AtJ(3TRMYo}Q|-+Y+kdGlyd+JZLZ& zg|J7$$)|$MA>s<+r9yAfV5l{6TDLbgqOhl?2@V~(T`zN0u`|fu<8g#m;4RbhU1tMJ z=8n@%2dA(z*k@RPRHFvj5nbS!3ePhVjF7OS>h3@n`Q8o_k(}XxBy2cQr|D>pnrR0? zTJ;v!1Z%g3Z&S+8f)G_ zgVc;8+7#2_zJoL1gvn6D2$W@+Ao3lGNa61rG$;2)Pv4rOO7li@vZa3w=Nt8SeYpXq z-%KC1SlYA^sz%W)1u`<`$6pi8LoJ+;06d>U(&0o_)-1K&=TQ`364=N6V_@;eIy7@K z^w@EVbmvj%><`h z7B}J0)6>QBZ!23{D=SF1<>lYEt({SrbbW>6Cig+0LNf5MBL$45r6aNUUhieRv(j=o zd|Qj72?)xn;2j+uiFt)#S>S(LNr6z4t?3S$xeFrPooS=F2KE%9(N?YIc&FB2t4^j{ zx&ctfFRG8NW!7-|jZtj{nH1WU<2&mb1><~y(ULwYrfGmFF^9J-EuxhwF z`Gtf%Wtt=^{)XA;xfZnua|zQ?3jUgWU^4W=G1=>r)XffP{AfGuK1WJLrX=j-wOMTi zbaF#{#ahEUaXU9Tro`jpD61J}xh!rs1pFwm#g!F5z<{XxCi4srC>^KYHxH%RmuK`6 z*DTw*P?;w+O^`E-BoY{CN%eaC$!cU2?X?h7x;VMQn>#H*M0B6}9(L=(nl=u`tsc+& z>F#dtQLO8+eD0ZmUwqZ5hVd#n5QjQL6YO~v0yh-ss;sj&SP@^N6JW+3g)P@qqejs4n~F>6(65k z7?-971^VxKY`-r~U$Q#tteSKa)(Er)4fFXi&p(Gq9)uhJoIs@(k8E$lvL0)_2qF*=FV=u+_!iA9kP27^0*JhxJfb1x%y z)OnuHuzNi|FNi6!ZnPWYry6*rwT+GUX<@|p4UwSKpC2ucHWflpngg-MGteD$7lOMP z>ayP`Wu{NQnTvc|x$N3N>Xa=TupaErFfcv9-nc%sCY!s@tBO7cvY~l=?(lth5VCI3 zYnd7$y6|VD8wRVU%_i12JZ>orauDzDt^eFf*{!8k?oJ9Zlyd|YHa4Q_y#G8pIc)z- zG-d&?vRs$>^Irq8)wf2OBUOH#IcKTjsu=MJZNUw4`gyUgn? zGA3ey7wYiAhr3p1z?yLSB9lD=5pNJyN>c3GqMK4$Ej48#i-8 zK8vszcJ0vINq*qRFWA#U=|=d4G+?IR?JSZdH6Q7?uAUNyPz``b z3_B3yA+Gq$va3TIpsU8PxRY!M-@}1@1TMOv3cxRGa9OY*ZdFqi{E_>yy`mLN5vB7- z%h`Xab{1Sq_Ro*UK5h;UWD=n_d;gunTXO8K+Kxh2!6jkyJyOe`4tLnc9=C@RHcMqL z2j{lsZT6(^C9)e|Q&X|Z?QFkBJq-*=r^r22%ph9JOTJ9X@XC}Hnz7QrNFJ$j3SCxk zq)nh*?`H(aqRCdO{76m?!IW24PNus@Kjm`A;Dj&8RD*^*v_;=Deb-UO#Jf}fQ&Ji^ z?`&*~&$Wp$E;|u$K2=Vez`BG=P9>?a$xJmVJ}ZOBTwH_KlyFm|T8f#v0;q7BWsG~4 zK=?m4TrHEsW-*8NTfp_s-+z}2FcO^Kjuk#8v%5Sl#g@Jo2YD(ujmF}M$=Fl5LXr<1 z-8RSzq!3|fXUJ}Oi*ZQ}ab(UlSxmJ#?s8d7mNZ-0F0n0YB6sdI87~Z)kV_xpV6rg4 zfYjB8S~fgFv8G~&2fuU5=2?QDW&pCv-+2D3)1B(I@Hm3G9NrK`OP|M`P$d~FIi_q^ zZqD|Wbd{;kg8ZWd&@<1e=Lqv2E4fATxE-q2B@qY&CVBS1=Jh z1A~NS^Fyh8`orbc+I~yvPuX@m@tGVRZ}6~M!H9+Ma9~!mu`z^0r5j`50jg``USnzmdt{L+Y9yx*jv%NoVQFyMhQtM0j5;Ja==P$U`n zwv^A*b%;)5_#MmVsyJL@r&ChY8MgQR^^qNE_^U|B+)#4S^nWS(iU!X)LvZetn!^|^ z^(KP#vpUNppUdelFP5+818-JyY+fr9$$s`g5H2=wim{#a`*deDu9!rvq!qmGWxjV= zaKaN5mz17~xJZ_BBy#A zvOed;Prb8M#q6M-4P9L*D9M5N+2i9?p`MqAKWp{1rGiK9>MMM;>-EU#7-wgX5W!0n zv5&=i_M!G+pO|-PIRg4eE6LX*-$sLR-gu#7|>!*W2=rOti zmIq_W!6i*njH{Q{%u+x`U&~X-Kk|hio2W7FZzWL*t&OF4dEg;eJAL() zrK%N0b-igTWL+$+Ca96Tg=~L{6x=VXTCKAv<*|3%*FXwMo(0a!E5AZ~>w6wHw;a2W zK7tE<9|FBm0;vKQGvV2Iu z>pJ|?#cZuse@?dN`8XR^I}+8}cSTcsz{k}S{wt<8eMKaz6$Jig_pO7aAjYtSvNXX-Lt@3PQ%xoKu0?8MWOr;FnKB$e$rZ=B0Ea!WP zJ%kfRwr}uDG?_@qFJl)WCZ<8g7+nNX8es;Bm;=@)iM`pqG@|Tyj#Mibp#THBN-0MK zG$26Ycm1XF%Q5ZpJTdf8)0wJP*)6y|GMY1A>75xbR5*Qt=Q)AKHwzY<=lvldhx#J} zGN#FH;CqcOfM)RU@W^9g{YsT6x%>UKC3o2+Mq^L=-B8;oVkYS9I|z1%lZ%_1lWbkz z_Ro1iUkp=kNl$Z6VPR!i8y7AzCnwj{M%Qj7BU}lh{qMUMW9l@j09*|QYlt@UrFC)5 zW8HR)RT>3e=iq%~r2ru{25ja28>RLb|4@V^x`?VEn;L`0q~aQ3eHdOzw?kff_HUCZ zw3H*1RTpKPSg{ruenKP(QJy+L~T363U z&&lysm&76IsRS)z3${DqoVh3x9J&cdQT zzdhe2_SIk@?4|k?olh#juh8%)YN~?Fb{P zuCF#D+0@@!uZz7$B)=PXF7{tg85kqqn7p&lV%7HY8;Qn3ALIL0h8@kw$Y`=urKHjD zz+tpG5CTKiO)TgWDe3-nod}%LKg&9}S*xd*x-j{qRmq$)Muk6aP-s3Mww$aU4Sg?L z>4Ecz{_YF5)j&q>3nkhvvtcW~e@PuQMUmZFo#+@3h$~`=I3CiN(p>#(5b~20QFc$CbBtg*>Ht~7cs?8sqJDv>St)5RCi_5E&X>o$na!?Vs z%~g>tDHT}GhL;>0bEfd~r(xH7eA`u}K;L6-&@-K$D+YJ^KGbFs3FD9G)5(r>=Q`sE zdS65SnhDhDG!gF2G4H({{nGpMILofhev2<~KlpFJ9RYv4 zlXOcViil2RTVnC32sdG$T>ihRqSH57O`1jyGUWklDI~#cUf6^SqpmsTVi zHmEBJAX*tnRyrhX3oW%+(DS@XPQJ+!EHsLA@K>vaFaQq#c=Zw_k`);l&y^QoyZF2( zOJ2gMVuoBVtSL#%l(GGu3a8E{rY20_Y;5ofx@Y5&ITW+zs6BAyXt=3iuzXMF$&!)f zWn3^vw*!rxq^+o92gq?5p(kUcRJd~oM0PfyovU4=%t-#Amd;Dbs?vtUkoi2=_fRy* z*7_a>GtVUFCTFI`9VM5#<;m4Q$=u_XU?D=8P(vEY>k}M~`TbbNpjMI){5(JD6A5kz z8jP0GKb^a`bbD3z45K)qB=XUD0%9_u8_`*3yM3PrBQc3j!Y>O6PZ+Nu^JsPKP5$O0 zUIgI8Jm!0oEA(5Nda92!Y}g1wTaCWbvL+KK0oNhBZ^zuYxr~anDunF06MDsa6ac^Qa@ zU#=R@YElE*s78b1dS>eq4n*R@86r_an<5=zX!tTIBp7p ztZc0sL(T#xVUds@6%dl8;MgQV=$S>&^6tu?>70s9cET*EJ`Y!|zJG}k-@@e6e!0Jb zn0sDa75~|EEp4nWGe8#~k~Ye8kTC6!&8=~a!n^U+pB+{v`&E~;SYLLoT*$nC57<*@ zAV^s2viP$ajiDI=L!W?zD?#fV=g&jS0Yi|RxeudHfqqu$pXd_<;v0;dA2mhmouvj= zMflypOs*I{-u$tlJwZA7Lb6=X;?AwFxVn)%l%1r}2S^c$l6lne1bv_L1Bv8PIu4c` zvhwWkHSy&snAk3(u%s1Bj&{dg=mV>82Xt#NovQB8zbCyX&j3HP`tHY-r*aNotKD24 z0GAO4baWNCn91AMXE3dGAZ4e@PQ%XNA88ocHIo1A{l4ES<<`|bMjwB**&!{RFh=(y zuZ7QmX?^JOU&=j=YHs$DKoV7X&V}@pvZnTlc{P0y<%mTsqvGY|#Iypxa{3cY_vBv& zDrW3d~$Qv+P9v z_Li2GDs|DL!OD=uys7;<)<3_wqHhIFNOeHU0fD$Vvq8Y z#!D8L7Gc2%NdGxiBAbjFoI|8+k_QB2t&l4+@z^c@!^DU=(V)z}yzYJq6-XSDs;ph_ zO$~Yn&KHQve0s4#;~V=->O@KKi4XixqDjS7{tS56K^EtAc;HBw49VcNTLl0R>)6h$ zEC{vGY(qH*4xoRZ>`wysUvNsl+%jehBos(+O8BD)Ugob!Zqts*kHhO z33J9#iQykh!(UpKw*nvJBC}LAcNB8M0LxZ5T!T&;i|H_I#LB2#a-)~xz_tKt5sPeDi^rwjeRaQgOQPJe7I83Dcq%l~ zR|-UHC)Aab=@r|?0e%Y$L5Lva79|j0e+Znqf32>vo@`dfxXP8Jph2(=%74BeJO(_yH=2!stK&Xjw(kbq z&2Wc$P5qky_6bhJ&Y7!kzXUEt(nv}Xeq0s#{&-ZC+z*9%VvG8>f2mpO+*EXMP@d;i z)L1x>pQ!pH-$+YM&p?C2{*)yZY-wY{+SQPdB=+*(v+2!xxvavsH3m&7`7+^e^95w2 z1;iGD2naELHioDMJm}G*VlJu5BsR7-u;JiZF=9=csi_gjM29XDUemu_WA3;G1&99p zGvP2r_gdFA((~|8@=$WDH|&v@n=-wTpg<49<58y&*h*R+n}{Idim>${iPAL@3|maH zAvT&jSWFa;K*8hT;b-S3j*Afg!lB544vh;CuyCmqe59lt4ITA-_>^VmuFW=o?hw2G zUa}pkn3T6PYL znto^Kt1Gm8iqg~rff&8dBSDouaN$4q!wJq?hF}U&0wi|6{#g(dkb!@de*)S2py6HP zXnDD)-sJ6cr8ZZTwbhn7%v}kRbU%JU@jb6BmrlTIHu*god+&Cvt6{)la_|)Y(Dv}q z2DV3wmoQqCZs0TVCooWODF5S;`=i%=YqiyG_5FD+5ZZ#BtrJx?s7#cKYn9u;<@u#NP~3r*a%9eH4ojnu+QA}*D^`nTe$JEAzSIQ~t2&%eJgE)a8s04vCp zwUdLeuK#9!Vu$6-CJ>r+#Rgzgxhy7MF^_J%uo$#?(@u{ol$tD@=^^`t^SP18ek5mW zYkRgeR-W056Im5bYjyozPb@~m+CZxA(p<2%l19}Nt1Tj4XRWL!ztw|7$sPQ5Wm336 zcIzdu;@V&18hLP&5|JZI$uMz#t{#KKOvl6+WZ7dl2W&FXD1_baQ)yUJ+6|wIaWh8| zlio>H18LvW3_NxmCWRW0gJUUTb^-#1b_mvu?rbg zEND^E!T4&`c-G6&qQW=MfX{A|m@DV~?iR!_#X6V$X<}*Vu^aGydy8=E%EJ17c9x0F z&VM3DF`aX}TDye_!6$%S9c}S=wFINP_G@95+Vlq43*w@Ex{23$F_AeqxKjSn;Bor6 zNlS03&k3x|tL)Z0eJ)2Omn&=j-ERDSf5r}Mn{U@cP~VOXicKSK zhN*|-^EK{1nf_)Tjt9trU_|Cek+Pk7j@s6Ye9Zvl60pow2SB;_BVaRUaRh)ftd(m! zEg0$~;!Y2?jFu#W(o>dK^)FSjmyXmPRZ}EM5F~?ja2xCZK7f?~F!d@DtPwHnqNLpU z_#H_jYv)x|RSU)}DtRkW5Z8%c6;Y6BQ8826FWBmpW!F~TDS%eL$dVD=x_%Qe2Y68c zXv580CHf)HLJ%wj;C)nf;%n{DYs-6J%_{01ovT@YbsQX5q|nq`OQBuD$N!V(eVm!? zn77qzrOYzY3jqUe=oHZh!W*qV#hH3-vBf$SfPU1_nbX^$7AvaTcWDVxw6pRqUmAfy7l%jQcGJM+U zA6l&%hnShEGf50p4q*>NUth#d2}{<`EDTO@7?jHDTJ4vbsS*qxhNGZTEnz3{(Ic%6 zOyV?Dj&B&$boq0$Eizyv0u@ZxHbY8bc;M&6U&jH94dn&0OP);Pb1b5c7^u&9335ul zx2%9`-2U~UmU3hS3rku#r()7+5>Qd&hl>g6$wkCOW`7F(90-9PfIM(Y=_WNvm@5zH zz@R?B;AOA528B#A$I{uK8uBq4{Mizl@ z3jmi;lNBu9K^1_uD{1Ti=&r!>??(hiF+ib!REl3bna{AwLOr6+)OFEB@_s6f{*BMK z%n?vnD`05w{^W<5-84)9<2V4n{GlMs%htZ~l};-O=c%#@v_P{Nffqx~`8$J!2GikZ zPVJ?fzv&m}pTKJSrH_S_Jb@s6gpkF^%jg#x{!)75wi;>zQsRX=xlZX<5=Vt=(zoh1 z8vJlTmf{C-+4+RmH`b}@5mYD?No?ompMUAHLcI<&@yIzK7DWTg~+0f?(D`ui;ZwRGyk=`8o?0h_5zQ(Y3{KE|YwpQP< zLsGM8eEd7D4)f}?BKOYlvDKNcFu>U9e%Q2ItI-Y7I8=n&j0#ErD<>B@Vwq}=I@-uj zRF=Sfim?w{Vew1=q{4dref{4z0BlR2^4~laNm0>&xx5}x_H{z5xx5=IbCb(wKP5#y zp$?I%agoxDd{lFYN`P#Wb|>~WDcXQN-dj*$oE=a&jVnBq4$XTr51f(P+uFp}6QRnFi4<2LB>nVHnlXth(2Ag_qv z{IdoEc&gF~Btt3Tvph0nP^tdEurgVw)vdRRlHD{%DV~N>+}0gf^1zf^EF?!7Km1>M z0d%s_`?)r^(+->Y>9sS1fxdn5M^8ia>voIqUQWJqSDuVz*HWIO90 zpGL9bq-+|CFN%Cb@-=&-FFv!aB^5l&M?;C1O1v9$iJPEb^0`B10Et*~aPYb&EHk^s ziX`j{QwUQktfRd_t0kvgMQJTBBOJ795+=k~K}P?-y*)YiK;*&qC{??O#-;WIB~|%zBJqd!|3V6iw7!f+X#Fa ziOZH<^0vv5BssOo+26$;?P;BEUxCaI55TWR5%Q{UDWSj(HROwygO`rQwOCaB(f#%Y zJh5bAF*D=4_uK{(Ghnq`zWSq4nUJAR?=>*}+yigh9PbLt;DFrFs6Sq%HK1|OGat9~ z^dtrEU=`GK_C|1w1pap4t(%u|H++&xpj^vbt;}U{B0Lwpcgpn^2Mt?QH;FM=o~e-+ z?Jm2Iv8?1yS3y+oHybEZ$R{^(c!*&>A9H*+3|aJ z*U??-1xFKQu!y;Ri*eI4)fF_F47Uui_-%b04Zu0Ev}ds@YuAH{>CrMav-F3Z&i;83 zX%UF&n$y2V(e3?sbHC=m>9ca!gRjL^hO)*&$Z~GhLF?Vi5&sR|U+FIUG%Aa#vBcJCZfQC7p z$zERBC<a?8eh4l_o699zQX+#dHCSF~A1Z*ueLD;y+&QB93BYg%vb zp1a}=cdbBdXsqq{0NOkqN+a>@=z!Pa{ccp$9(L|#{?&m4nMB+a(J8$_&(HI9AcBZsT z1{-{?=%i(KD|kHKaDOZ0vfA}SfvHXVqwdMep1l--PSc(gYU3Q z^=v|1?$0`t68HDBx>oauj-cOAP)r@}D4|f$!|Itw^Kg`iHIHL9=34mi;=_tegWpU} z?x{iblbVV<+bxZiVr6KzWE}(w_CkhIX6i6;^k4cNr)nDx7)y;A(}{R_`oG5u`M>_% z>2v!05T{noO=>}=at8bh&Av1c$-JeD<}hkw%MMnv8+;3_;5nMt$~$|qo@eKeIk_d# z8d_R%O}gIRyn{F~q3mk>t5DFCnd?9MY!)-G3W<40Jvx; zm|ea30xiAKj6#>mh<$`++H@D$-7V1JwESz6Y$HldQE4&DzwKNXEA~f5)sgDKu+iIl}*riI4de{SYQ5fV4vt3kt1>lxUv|e_Bat$9E9W>bFWp3}@ zGFD$(OmxRZ9G6*J<`$U6ypx@qTRC;c?}p>nTu9!^60Li*sKmw#0F^{4noB!Ye!IsQ z!8Wb8I|-A=?5q|`pS?ld`8-}?)z+NuG~Z6x>3k zNuwYDhd$BoN62Zq{2}-{5>n!L?G^@u#7OC1H>^!s=#H0}ZZK+on{;oJ5{f=e_KW>_ zA_D3yI+x;+nh?Z{r|#8H^WwT7+58NnDEXC)N(1B%-qyIm7^(5o?(9|*);f8%9r}qp z4A6d4HCD)B@1~a2pNaCntUguG*J_kwN260;G6z1(OIbdHfh$x1VzL_m8=%*&%i;HA z0*`!_Hvm0TaI$bO(%@bv$ungF&jjG}u(Gf)>Pe7=PbPfKjMoo_Y<>XXxjzQK&5;w4 zqL=wB#eKuu?+_LWT-wgg^S{!?#M<(m6MST$f`H@;UX&BzK%ztCQ?tWumA+W$>Zl>Eh}r=Dxm>`9)52%_1iRX6F@+66qa%x#qe9u2HCAvQ`b;h3mDaNv z9jeO_a@dSISO3FZ^ZuXjVJZJZp&+gEJ|&yJtz-}Fchfz!WZqZu?*OFt`xytLs*V&KP}5h+?$mOk&SCc&B$;|Qq%;3mZTf*+=ZnQtPHx_7D5#7ia4LIj#rZJPjx5=)bW2nF5b0M|m zk60pez^EOIHK;T7h*<&oK#?#UEKE`7q^gKP6*x)IbNr&BE^rCnXrf0?X0eeD+BU+HH$;Wj>_XVMZa7l2=;e8^M%#SJzO`sh^H zG%E-gap_oLu%nKY-}b< zSbWy@Hpt-+12W?o*(GV2hqJI#F1{2@l%~Tnx@-p=tVAd2gI%Y%dwp_0n)%T;Be3O% zb3Lp^Cg=`nF%D@7ks5I0#c$#59?zEk2A`cogphUQ*;F7=F+YXaME(wX+<@6L<{KRHT75{MqZ9*3`j%VcnTnR@Nqju&WE-pyBOvmiwK%)EZ4aBsi0u{@n8jQl*w0 z#!6|DBMnrIV}wSbIizuLZxlSldpuxPl4++0KFo_7r#-B;xfzWza__+B*f=<7mpQUk z=29R(=gvQIS$+-){YV8X}ag$g=l`HFy?=KqJmjn#U-~Si<4YpY*C^* zAnw{*+bYAkm8`;}5#ATtui!qCRxY}v&=)g)_%R%^g6a6hA0$y-PE7;xb zrhRX{@wfgK|6$SvV5bNGYBd@aRy+Z|Sr41lEa9+V6*lFthPT_)I5ze;-QIpqP0eVT zln8-znbSjN93NWQmG_syG-}`-nN0|(6XrEw4vK?>BGfZVK0HqhD-)g5TeWHfOy3h zoudt_d|=%caDAHZG3xun{P}(|M)LW-%9!oi%+49!8W}@4YUf}J&3fZaM4=#4p<<7Z zCjNCqp%Xe}o;4o^`5M%Q0_fc423YLId83L>LS@~_j@-8WXD;H--~w@^p%Xe`bz#&q zAh-9)A5W-h%tpvA{gx5&gyBw5(@dbY;1gR<2|E+fFD+hcYrSnwpF-vbKobu&C+YzH z^q1tc+9i`uWHcne>u60IrQ9E3QEGw8G`HF74m1AfyZf4_gN}~G<@S7n5jtGQ;DN>7 zuvvRxtKH$;hBn^)Tk5*@a#8KH5H=RKgc5M{7?`gar1KGY*{AZc^+0!a%{Hx3{+?SrAqcM+@cJMqdWS;MCsL z--4uCSt~o>yhTC*JP&Sb*odT>BDzG<@!WUf`5W+iU@ z7?X)QiG$)DHl)z9{j6uC5vomwXJ&C&!_FzTXs#R{*&w+=u<(L!?yEr_T3_l8?(fK! zf`i4SCj;+`Nq8NQE05P!7o$lL#s;6C!=&64u`1=2=T@2FKJJ3;b$$bdK*%$n=h}U8 z&t?l8wTzPsmoC{3*lh|rLI1-4coZ0ca~H{hCpyY zpiaQ5n!L@O0Zi@UDDQ6z(j>aQ zrnFN*JdKuzrhUlzJaH<7kd>-6yJuQ5M6Qx~->tn-%ho3?roy;XauDe&p9B2el?ndD z%V^Wp$eB&Z1}8n!EuG>uhr`M&$Mbc{{_S{RbPGmhGO=elSciT z+)JX;u#t@qg=?JdfiL1xeD4!ufs}vy!5jxwRm=p+s#;caDn*kK+P|G!w|@A)vNi(8 zS=VUvkr7MJ@^VoSZ-;JoW^VFt#Ya8|kMgN_Nwerm{bt!}xf5>sDNtdemw?IAbIey5 zz=d@VRIpX+OpPbv7`n1@z}yG|ts?5>%E=!Zvg+NftBda9u@Uj#d+PQTe3 z?(0`isA+;Ib(yQKOujW^0uaTA^M&fNPAcqpzyoMe@+==MCn+OaFnFC2C2DqW#Nu8} zWhJm_9emBpSN}RJ^pD-ORudZ2!73Dn?_Zp7s&q;o@;ricu#9;kzE4tJWUue3cw0yJ zVnBu@;u*9%ql)+)RL8@Dl~!jWJ)Fz0 zbi6A88tRd;DB1RF^+5Z?ZF}GQC4J!QA5Cr0ND#nB`gP@M82J7V)|y35D?DHMD>&d` z<2>ZQ?f?#fZ#e(hEhaIS3G5>q41wAdY+m-mJyhoef!lFFdi4TYf#f9yR4&UB$`z|_ zi*I!DfB8R^)BU1EkA=n}68I^M3ZKUZLVCmJwJ({pLI?%?(3f1A6C%7>+sN*AsUwr| zaI7-^qycCM*_Dnvomhs%oVJ(*2&D!w0#YyuRYvULBOs#8x7Fi-Y9$cI`6Xuzd>)GkBsb zynAxf#=$w&ybe{pp_XAp3P~O%oHWvp!K?Tn@r>)>(OU|iY_~k3%yU#O{7#!Mp#Ke; zbCiG5>en`dXLKgI{0G46uJ5|yyO0d@;bYfukvJ}ZAoHkJoZP2*Gr6RTOjiIC(TtOd znYi?jWwYWzHFriPYDG#cXk_Wr*#RznEKyk@_9M(s7rGH=Ca z0bqkSTh!9fIzGmUCFWnX`F8F#CoPzgA$$uC*MIM-_-u{e>pR1_wod4Q8fswVj8#Py zg>VuW*_O>|msVkQ|KrrM<7)`m3B6@D8`1zNJj{rOi>pkU;+`3B40B)4L8p)ilJyF4 z;P5XZH1||xTBuA>;HFO;dqQN|K`)(w3xw*Y+gU0BpDLv+O&X@9ojr)h$>UJyVJ?#F zEogdnle;{pUIpQuzCPG$MOiC|U0Jy;VD3eh7@b%i;b%aoknd1ah7CC9;`xkJSlGof zPbZWGm3YIeeP;(XnvMYHI$B;(1DIS;?u_t1&vqtK=NyTO6*7ILLKQqBN zinGy{Yz^{9pZ-B)7H1!PPxPHtmy}D;6ityGI9~wABW2edH%5q1dl|^!5gTrKyM#z| zs0&6TY42tT)gAPZiC6cR%!LC{g_An?(6%2;j&p&k6l!|VBH=t$6?}$9+S;0$P~t9= z^4QEKZ6-ZfEM>RjBL}Yc=dpxJAWP&eiBVi+nxB;;o$CfcyQM>n&-W0q9M|kqO_0K{h9mz{b_;JB)>e z6?Z#F6Ff3b!FQem+M>VP5zrN43we&TPMY50{kt8-o<9|R`Y`Icyr{mD* z_V$~K6_{E!PXIU-xIE`%67`I;-a0I4drPaHJy-9P3N9XUIsuV$$=m$+KKW<@9s;#| znOOrn*vq1Y40%wz5<^G)gO&&TQhkdf2m0LX^uZ8Q1gI+cOwWq8Q{z`Ehq7;j|IVm; z)2o0fApNQks6oOZJFD}6Cj)$j5iiUO%`4cz@TF>S>!62tO(2(I(0Ku~`wF7r7*i3xrr^|0t!wS57W+HYeN2N&X{$-12s1YbvT4~$x^5>;doVY;XlDBRM zRj@6TH-1&fLQ${5^^kK2Qg0W#*-2F~YnJnl9xeWn4yHD`-DER$Z8C&%A=uy2X!-JR zNw3&AZySZ%X+X&>kA@E?=@(EMJvV)PLABHu$;B3nSiA-y9qUfRqhvM*X4@s5u$XS> zLuu3Ya^XQ01=(1U?T1W#T)4D<<9&2n$@AW6g!WVs`#E+gT)nZmydA1G7C8_LR`Pk9 z-UlgZ8ef3hPoofb7P7Yp9DS z6b=^+(S-Jc-O8Qi_#ACXoXlBu{`P@8p=?pz%+TPQCE1=}9LENE09jj1QzPWts z?hauk_tk6pQjyk)BK^la;7}%&X&|SDI=7N9WIdJBhCm4FM~zyiKvhboM`T!`10!UD zg&I_?eO_F8S1UAFC(|S>jroP%Ny=I+f>G?x$|3q#Zl}BkfVT(2a9EHu+$+dKwXD~= zlhbp_9jJ_1-LlPjqdi2`?x@KSC!)07&2p9Ch@KbKxud`P*8r=HKj5)Mu|D4V?>y4` zj}e(@2b%IaMnuZe{ZDQCS2dv=?tFGJ5@%c29e1GWi;yx>mo&?yQ_`JGFJPbMxn!g4 zMW*ysZL+ND*4#I{YI^vd?OW4=ImRpjbd|^o5~09&X;o3z2moWHr&1UtqRkM~la%og zI!zJ2*yy64$CJCWr~x(SX?Er08C!L2Tr5a1pdvtsls=dLn#6_jYVSx{91yQWsFVQ#KgQtyT8OjU_RiLJr9rEz{?u`9jy4~ zdFjG8ysxA1<|1>+M&@l6S*fD*oncb;t9E6VrDZn7^Z1O=#0grAVbd#b8>ihWjj)-< zGYpHnNo;uMOVCT0Kq|r)n-@L8*Qw6KEZD5$>xCgjq&QUU*tKTu`uH?1dlDX)BvZEf z-WS_GA%D5(MQ5UHO2N~&wT?z(2_*wa!;FCTll{nv0Yfm|W)%@RiTV?1Oj4P_$#OjQMAqRD1C zj&)~S1V487jy#FHTZ}K0kgj*%jyh51Ok2*D%I`2ERtD}}n_Tx55_$YY&h_xqL?5}* zKj~CIs`I(Q1zdmY@g{ERw*-=NV~>f&_rA{x*Y&+*4aucJq3N7sYg?w_>WiV<2ql=8 z;Wy5hw>x%?{tZ{*!iK^dO3opL#uyAP}(;gz+dibMhI&eZhwllocf4HqE!Afsm(i2b8@$l?j{Op8@NE7Kt+kc1y52gD4ADqna>nimT(8H3d+I}KQ%YU zYY~|>cIGI=QZ}nmR7zn@k`pCJnDoTPDiktVeBsd)u9KkOZcT>$+u zMz5P|zh3u3jA`zHPKZg)C`705Yh--zm68XoX@7k+zwAZjFChw@dbp1^6anPpBJQv& z!C{`i@*hQ2RYfb6HRpzKQ)>n<_1l7>DeRf}6MpWUCfe-DV{%+Da~rRdtinDW>$>9U zA}{=03`MoJwQuCZ3j4Fk#YJNa_^05%+9?i(ld4Xkq=>s#$rLPAM#G#3-zTY1J9Nhx zm#lM8saLhbQp6V=TR+w9X}f$z3c|O_kU-Mta_pu@j=iC9%#5)M-78yIpBz_~)NF2M zrLC@d-yKU1E(``2nHL>z+SR?^<$nqUT<|=ptJyUeiR2A9)9CLeY0`EWCajp-IN0s< zcrus7M$O3jeZKB8GYb!58+bpLcFL7SubGt7lT%^FZ#p>poB4;VTsk;@cT2VFtz{%z zI5VzbCkNFn^Kw+`a3u4GHAwi%HhmT+2%Wq5tlOR9B3#5?IS`+!XqREQsQYB~RTT99 z(MrOU`_*kR6_u`@sGZiVg z*gkv1?)NVcboBI3^;>6Eg8Ipkk^p2>-KAS?lQoWjTQnsIj6Qt~$w`F$Jix19=gh+c zk`L3I-(4>;MpBZtBnulc_B@Gi-#%KyC7s}d#C`WH=}gK~QarDyGg>bCt4r$O6o1%r z*x&Ad$nxUG7Oz;Z6R(ctV`t9Lre7v#*ui(8tv(1E=d6-UwD(QsO$7=anVVG4<#q-_ zfUApxgYC;veE=F#=;YKCTIo4->r`%fJ~^e|@bC1@GaT}o*Pf09xop2}NX)*V%@ga; z-{FIaXsCA%?K|O^`YqOpnEO_NKd40Xh6N++I84|UTaiXA7Y$86=#eR9WhCix`P{_{ zL%r+)lR~8Z;dtXDJmv)80iPMu%g*xt!NWbfyv(9BXDCRD4jFNabbQQKuzf4O0+1)c zZKnQ99v@s}fCY*<$iRPJtig9bec7iXCtxQNGqMVnsX!^rvVAaVE2>Q=GNM}mCkHjO z{2Z=)t(oeTU4WDU=d+RoYDPo*0v?+4E8*ukITiA1lQGO8ojT`i*@8v_Qs_IB%R)CQ@U0GM=*E7YcUMPm#aN8ucw+}Qef9_V;l9r}+V3<;(utF| zGUxfT78P|g${Ht68jVk@Wl>S((<6|0{_$tx0_!K>jn!ONUz~TxH^c=IL|5oZD1dnfyZ^bR{Wq$I zi$u!i{dPzmfzq7p7b6)*#E-q%pkD(38J8c(!lbb8kteU3>zma0&R6=F> z3o;-G!7sBe&ZXRKWNArsder_oe)%6o=NMhr7DeGSR%6??ZL_g$Ta9fuwr!)a-Keph zG&bLP`JXXz@6FkFues*@CVV6MO@ub)D*+kRVfdkOM<4V4)@QHMv`^#JFn6Xz?Vobq zl|v{X#LlnksVYg6_@Lppk4v#RpXjUJGT7u|Z1k}E_?YixCqADUYn3IS^rfqtU)cMd zKNe!jqxUZ73dsMmCVaaBLtyxQKMzPdg$@C!mI5<44C%nsIFJt0gjAsPEHop2`7i2R z(Ycunn}?HA=fTX%fz^hS|2SIsYsDn~Mz6i7=doJ1QHfd5*URkSL}|>vXKYp4mm3=7 zC!Bj&EimI#6}Psg!bn|`C@bPUNrXt0y`Mj;Xj~>&5@4u>5fv>h{p|sasZuo3taqKi z=VxSjiB&=gz!~AJ#{Ht&5_}DjTp^_(v|=2^`lWKLR>8l=i@2xhl`Myo6nZ|}xTvtc zj+)7_Qmk4T+`#32ks#`u>Q=R`8j;Vi#2>S546B93qYDUKZDwObxLLB9{?cu zfBK|?(SNJaLXc1MxS84MD#i`!8om1sFJ}weS`7lVFyrgUnAaDXGp9Aoo$=3? zmzP|4MagZSD|af-1S=vg0iWJ*%bDNO`2SlUKecyB-| zmg)NTIhp4PrLDI4lWi@X%?gD`V;rqZb-@W&%WI^C*s9s&43<5kIi=|QM6={Rn#-Bl z25749cLP)-?Uu^dA?a^~d~Dc?0To&hszbu0F(BX*B!7vqn`#xQK9L&gAs|?>%~MF= z>B|ovA?K0y!4_oDdluRPL}6hdf1qo1BBdSov__eWITBFU2E4oM|}1ZZgd z-v41}TFpQA|GCFyK80nqK;k_HpIGJt2cbS+v{F22h3j_w9EFDU3-=Vo6IC)n8HS_G z>Fqc>MrH|f{#0Z--(l_^=oJb+bq35Jx3Gb(0ZgtP&M~CScd#|)vXVO95)wE+Cyw1L zUKg5NRNr7c(yZ*yCMr4m!V{+e!+ERi7*MAAwRz>|eH7aCk`B@ca5;Tfy}`G}mrx^; zQB`Zj>jtX-I1ZgZa@jt5vMpmEMCYojweZ;k^g%2Q7M5kZmFq<7q&yRFHN?%<`upJ!i zP&@K2@2qQ#X2xbFCTFMVsW-c>`ns-q+iYK8%Vqv_hN(sb?-eS?GZ>HrNFn`T!y#ZY z{Nbc^>fd|4U72l1cG=9`(7CdjT54Y4re-}?iI&8`bPP^VzVF0E4>NhPORD;oVR}&j zbr~Oq79piQ)h7stlwY%%mqm{rUTtnFiDQ!n8u1UdKK$C&*A z1lT^~>iqtH=?6qgdKC#dn=O7H5gga%?jO$MTx{f4@D`HxW}*X`#}zX*c<$_%|ZQcQhaga zIyz8oTx%qAEo2SKtcF2rs31a-)IzK|RDNQ%+=egD!xSteycz+!(do-;jMI^vmUs8y zeM!T>ATmSiAS_9lq&fhj{J>J-Fc6jdV;40XKRLgpMGI%~7PZ(1kO5?1L4Lsu%M?aU zp0Cv#fpzNtF`CDVlE~LY&z2%H!YG^0&C2_`x@*hO~Re$x3rkIBu$~k zf-9ojAov?jI0G~tT7<=6^?03^{{4L9xs%j4Aus1&L|6xeUBwI@w~clu<=?6?+!cq! z6Meff83FUFRXuXCN{W_m=-ae}{H6KQc{ypy73Xms+Z*jEid>7}yh$ zG@`;&sJxczGnGLM55~u*H_V#{2o~SZ{CE2LbJp8Lh9V+y?b{0~8VJ;lH0AZx!`G8j z($bj7HJ#M05?AfNfPeQFxYRzyL5W!P63_hL{DDY)!s06o?8@?aBexEG$@nUXNuYa; zOI~dlCT|_HjT|Y5A-t-ip+rS56a6deJ1Yq#Bc``VclLx9T6B$GPm(C$o(!V2!?4lC z?v{qnbd(%IjSesRQ+=P?|JdqDg%VAZynUqzKs87bky=6PA5(Sgcg6hQlL<|XpUxI+ z0EcZ1n1a@IfA`)%p%m9Z`iog*CyBa(pOL=!(v85!&-I$rsTf!PpOBRd$kOfqE(3ib z->{bKWk}dfvHsv0~dC?^qI0>9bh=-Zo9xW z%1%rONdU{@*NRG1pDLi=8n8A|F@y|6*CU`trZ3sMb>h2I;-*lq(rq>ceAc1Go=D05 z>?9rqffqsFvx1+1cnwY+7v~Y~owoa$K3GZamzS+gI=Z5S> zXVjv#q6s4=^A7AsNMq$=GrY7k38qLO%u#GLo$NI+-b_JGBr2-27AKo4S+eN3=zUc1+Ot0!O1pJ-; z+ux8nZU?M9nx~DQo|VZB633EYNJ5CqGYUF^Fc*wzj(l_vw{vl}q?EI}n%dG7_JSJZ z-&5<&mZ>OVknz(9*=VlJd6y3X1D-J8V}gvSS~DYPqsiV?Np@=G(dg}J%+Eim<-LS= z4agO>qn~KQj;#3k{WRmWKRO*^P<*v(Tzw&geEtK&#h6TjsTS+rt5BI{pBr_-R9_Y5u_Zyf4-@j zt&~yq#tyM?AUQQBB`f!6_TIvaUq6lErXpBf&+o_{@khMW$OVOs+QYaOrXI+LT26HY zg)ysz0f=|G^I{4O`=WhI=-{7hAGfQTjv6l@f{gMcGb!b38E6 zOw1TTPEJYKUL0ZJWNR^$rposzF*X9(OnIORZc-`7MX`mA{bHrn?7HtWFs{{;EDCuB z8UXD6JX^Ius+>S*T?KN0M#36e)p}mJ9HbAc^EEIZy($Z?gnu0GqxW$eO-8lWcTFVK zw8-@S32rP#EViEBGl_NIidh^-Xef0+-@5D!v9_?Uw>r4}%%)APYs~2PNVKWVEvjW1 zRwbfL;o5ZzykIf|NfGDw9+AH}q*bTWX|>%uu;QpPS*lb6DVL(E1f;W}T9yft{yqQ) z^05YZKfGsimuNM7pLazRI-A>V0jgF##&SCN$Z*ks(hX4{!Co@@7iynH|J$AEZlb9! z?1L;FG98EKi5HPTK>D@&&oD+jrBBfc&_0^wT7##(XhsV9alq#N)*nvbvl9r#;jkXn zCt@n3B_xg{Lxm@dc!S=t80H3VuSS03Ye%TF5`ONar9t;BNNd2kuS>38t=ip zKyfXqV@;Cl4{hxzUo-cPF3^zL%TttNCM6jccZg16!B7R)5V=n4nLNQSpsE1mcMhj1 zRxrT3d%@bc=>Bt{`ARLN+y%{E(NDTab>np+Lt_Yg%aohD$T1BlHtzphnL!r<%0Za1 zNX&-GtNzyb9%WcC_4FSBNp%cUqBB;4*fP9s9#Yv?W*0P?!J6{_`}qQgFMF>>X)JM~ zI2M=g;F3kgf&};lJRWYWS!oD;ZCj!q5ObdB=>Pw0eqhS6%psttnISf0%)5PYLa9ei zQ$G#MGnlLjPBs9HW(!US{S0#=@)WLP5y-Zk(Jh!Gj{dE z*gUJ|aI4s`@}Q6#S1D8AVB-Xlz_-UNjqwd>Y{>OL;^tr~^llS&854C6&Kp2bPMQDv zz#{W+m5wKPEHP@C$_Gg!a`@sgu}D%f2G6`>F_3>j9Wiz{R7k={GA%T(18ogr*>X*Kv$jEX*f+ zrt=MIyIKKCq35ksW(m2?r-BeMmvU>xuhEYzPDlhPq-%eyCOf%ZVPb0oF1e;zLGS(V zF8&{r+m4knk^NNss$@2@EzFNE#c27a3(-t6W(qoTX}ZoZGWLfPhj!ESK15jGxf6{M zrhLRXu{fd$n<}W8l@f&L&kv#qM1+GoZDG#Td;>3ff*Pi)H zdY$gMtkbmr8Gc%=z;Z=g_6c`sWvD_oE7HlPq}r9?8eYi(em=_~taVx3T&Hd&8cH5= zW2%DjSDGKIipDHw@?$PsqSXD^nKO}}Gc252nRU~uJ?m<wVGf4|7Lif&w)@J zT_gzJ>SYcuP(jH+j7_XZ?LwsQU9{$UhLe9JyicR}1k9zBAals36jl&ZyMP%}@MT=_ zh*39Sz{K%$a^WRFI};Y+P)43w8g}Q;^>YGoFw+I_tbGDveDCc9Egr0@>!Vzb7Wq0REXQr$Q2S$X){ns&_0 zyzvsN&Kd|s3k1c0%wjrO5Kg2^Bl!57O5%P<<~nc>`JXvuQ}cu8U0(0EG7yuH9U=1%VqYwb>rP-RI3NxS+*fChL`-3{bN?x#+*)e3|Sgbk(l zbeCa?ihlogdy3S5u8Yq{B>$pdQ&f8bl)O}Dsgin|2>WCre(7PW83~1M51;N>D26E~0 zN$FJMR|s8jH6Vw51VHs4BLf3uO<&&E^QfTv)mH2b7LV(Rui*3U2z^#nB@N^6_eQ|y zosn|Y>f+7A^j|T zfml?#M_C~}#r4ATmBZzQ()1776=(!F2CQ{vpnNtv0m68BhL2M*a=&qzNeLAP5DUj= z0y(~*v?YPQDI7JaRrn9Xs=?F87giIBrFI?e>ZYchS3@e()*&}FtTZPRgX-_0p=w^9 zZf;7IMI;7d(?pWZW=Lk~K=PeXz~?0Myl!$wXq?$=6RDEh zv0Sy<1^l1A?jn+F3UWkQnH0f|gvqd=7tJs!7Pr@=lj_3Z(gOgNlK^62ZLPhoGsRIQ z-KJ)KH%ue)Fu{l-?CRAm@p9+FV}QljVMW&21TeZR0VcoT>)2HSy&9z=(L(O? z;J$Mm2JF<>*a7%3x2m=(jRu9Q5JQc(#7NrFHe<0>%=toT?SbIqJ+P_?13kk%Cu12m z21F=s+X(tpInM=E3?Umy-XlsXlyc~$N*UaT7NiqG0{@_tVy^`|jJN7lOb+%IsnW(v zs^rdw#5{v?8g;H5bo2+1-@?I=iWw~INYKEdc{8upN33$j$tIi)fr^fbL+8gs>A+qg zuxltZdHs%8?>0JPGD>4E*9!tOKJ-l1O@kggk8wvK!rlHD3>9sYXdayHGhqx0mcCRY#_uk%5~lJVs6^)0Mw5mU0&RJv2Zc}yd` z^b|T~tWy7Q0Ea=R%5a)Dc8P9`?6WOtA9q=PeTzzk$`n-3?T={mBVbIH@teM1tx_@`d-!K`bpqy-h6h~Eci@yE z;IPHwi?2Z}wp(CymGhS6rPNz1i$AE00>X+(ndG%zMIW2o0-cI2CC$WDevqQVr%6^z zmvlRK00FIkXS?%B@MtB}eSHI3xkIMtQMgcG2g33I@P48AUSLSy?m0n^l zsBr-TCa5Fwzp^Hc8)awWRKe30Wwh!=US0f(%TRz?Q#ri?o_{e> zWJ!&G@G1j%@KCF$hbVtjtjQsCU2_Xo#0IFIT7Cvd*EZhLX3b(IrsDl1%6}y%;P$C5 z;s;?vJPDd|o(8dhc$qK3gp@_@U&@*9%wxBfU^oDZeGvHqYC+kG9B!SRfd+tJV$s?C zyK@fv9q{NV*tt15pxtd)3%l}$bUukW3rF=2<2Tyl;;;9*AuBmT$?9A91pIQmDL;VI z#}qnQWv{L4w3Kp^^e9BRk+k@IkasUfnNKnXg!%o2L=zGMPP%|En?X@r9AcxkzfpxU ztk_1zEjs>WC{pG3&qr(lA1()b&E816Q_FMk&nh&DD$$9i$sLH7N+%VGpGOB)D*dN4 zZY*dAe1KiJT={3`nV2;B&{S<&w))dp4VzPHmCpQR(vuo)x)fFwD^B#`(eY|FLWO9X z@o;5QQelv;T2_Wb17(2_QuP1fehZt~%Cl}Dbpd3=J$m0Zfrc$2e1Uq~)y7*=$!8(A z2dhNrd1;lk`~M9}fI&2=(taOJ?pT&EfdKGGB-)LzSbFw@;caz;32^f z((ZB)k9_w9zZPm0CRof~*~GAPLckN8tIT~j`Ad1iX@?`N+fG2yDbQo&jhX}e3ZlXg z2p`*ee*-M*)Kkov9!vo*+&pG4Iv^ni;X$_+q7f9&|^PiI%NAvsY{r*D>aP zhXk!!)90>x$9`n{eRmR_UEF7)BthVN9}jRv0L2Rj-H~TTD85JI1xaDi5qO;bdiqX; zFZ2v0`25X0uaj&W84bhabS0Du*R=XZP+7I#O^Q_VxdS&ts(olEdLHTK8ThNi`06mYz@P z4>CLG6A2a|rL_#?Ii)}#jg!5-+1c6W3pH>s`o`$O6BB8IzCw&Lnug}V$J~2|$-(I! z#xl-;C=Z2VE<97xUM!QqIs#y>augz-d_;&S28huy$uu!ldMw8DZiqsD&cxmB7aQM9 zg{S%6E}F*jfIJ{eqnZbrufrA;Fr`Qn%>{nIzOatZaHvhht4YZV#v0&Dcs+c>C17eLwWI>T(CnFMbWyfM!wBRt=d@^wUz?1mXl-2r-=Y+`l$G z0K_TL*E~MA5hIV#l#HX)s+xSMRweXZX<5WkRpv;i{gDE5PWu)3Kk*qn=Ig2S1wuq% z)pj0{lTwv2x`45>2EPVx<<$*0p0FxJ;PvqoaZm{3x~4$|zT6?kLS`3)bg)i#nhHNz zRnKLLMxNHvsZ;j_0s^K+V?K(del~MmyMbb2GXB|zAcSS~dWQE(N-A~xc;oq5?7S%PHQ>elN-`yTBL>0H!U%=WEAyk-EY3ie8p%B5VAy^b@>ey z;@K8sl<+UUEXEj@&cJsGTcin^WRm#(B<#z3k0a5P?c(E%yHxDN!~_H!MxSEmJFiBr z@1yP?UT(ozvTTBa1fOr)NukkwtmNb+2@tUlpcn)WGyG4wP1Q7Jv}TYNuQQ;3X9>8# zb--*9-9Os$K6!0_&F`UDj^d-Iyl{6giDx`BOuZa{f801s5&w{D4E7tWMAL7PBTf{h zN&og5CI>MK7Iy(0>pvQbU^y1jl@9GtiU+MxQh=2K0Ky2;V(m9G0Ju2K)G7vEhbi(| z93MA`@nmbsJBc2yu0bWkdex;DwoYNcQd4g)8$B4?cY+>pd(-(X)Lm@g-l?H2-(mN) zJ6$W5Y(wz^KmvaZQZf%VU20w%+t4FdA1QabijI4^lqp!LuoBcgHUg=d=6xQj7=uY4U=-#pg<(2t2h-!0+` z*b0{egBRF3Mi;JMQ$lzq1WH|TeFWFUBHL@@oMrJPQB*5Ni}TosBO%ZZu)ee+q=R?y z+kF}*@pEf2+f*?i^xHl=V;#tCWK_0-UE^Tn*S)RdSYZ~se;?u`%B=rxC}yozlLV;w zRp<3ybg5#V!Z_dVVk8TubT?3hjxvN$+{x8-2ZeKX#;ga+re}qthVG~9gTqg&GEq+s zS-cw(xgV-(XCD*_>TO_}@3z{PM(E!TdKaoSIADm)#IA;(l0GLMZGZ`twaic-%D4DE zqhycV6EbUng_CbQLu#i($*d?#Cu@h>NKxN;oE)aHpM4rNi#^a$)K%9ocQ7*WleC?a z!40623+rFcMQGhUr_itv}F9o^#Z zs+V=*jk({0W60*P!=dBFu0T~w1s!ByMxKn3MsiwN)28Eq7kd9;$id0!f?Gd=6l_eW zD@WQxoeyuN~vD*lTvuunbQ-Jo|D&Y_R@_@YTb=c|K@ zPR_Lv$|cOU+!n#cuZrvL!K=Goj##>2jn%~^D*P9qdl|<*UacZVw=1E1(hzSa`@QcI zVy2}EnJ+Ca?PY3VYtg9=!1H}tG z07$cjQowZJ%cS+czltC5=Oz>bIUJsY;J2(m%ED#Fl?mW2(1g!QGplbDOJ;CyvUbm)^c>R3=BlJuze^*V-l0EvL`hQt%12%y=@r-{}{|4Y%OlO8({k^Co z7J!Bt#&d#C#g=#mwU7F?cj*bwcMU{)BI=ME;kCa{LYb&GUK#)lU{qVp7%9_BDa1a& z(BWIIvPFCT8vF^A!H5+^g=zg=N!WAzd|-_K^K+#1`J(AzN4k6Ta%OxS*|5b= zuoNv`RZ|lyxy8*f{H)W(ie(U#CiOu_c?=GK7h_*HM@sEh5<};hn}huM5qFc?equxq z&c3j`B{9|mob|!y{|~n?@26l;5uOyZ)*qgRbo>X8-dFF8`bFHYkCr5t!r|t9S-s6~eNA1&`RCfg^#}u$8Q~g1-K+?#$x!o3y zam5*YO2Ez7vhW$DabF#a?sDx%BE!vVudN2Ufn?1z1|L)>@OxRXJZ>RdpUnp4P?s5_QVJ+R5eVdn7Z?#A zRx=z2{8SuJ*0Gm-%UpDv?d$F$YoaI5AGW}79VDKFrAaF&n6{D+$~JqYD62qCsFj+V zlA)HM(NP4e&i(9uv2ufvg`V`gvomugR71}f9Wuh-xLAA`f_mI49TJvqW09dU%Jz{A z>g~eaz2h3hyowx;jgo@f2!)I+N|)3PZChsq+}EJncu+KR+i~Fw0M~!PDuUi(zJq)o zgs@stSGMzSEt)#IS~~-#y1vF#m3U@U7X?(&KYlAD{yfE@W^TEtYi*^akjrco-;+U_ z;KBSqGc0yj`kxIgqw!(E`>Mt+;11D`jq(}^;W>tZXY!xBcUGqM3YuO~B zhME@;YBM=DKZ?i&U3s3{E(%L|`ThC3>xqT!J8{oxwET~9$I}&p$kW6jpJMwRX|Cxn z0RJBE(DOp!K6KJ>NFq&%7Gww25LZSX2Ae{%u>er6`Vi8YjDl=mjnvbW$upQ-An@9$ zP=@SL)^l^v*sytmg$7Uj9;yu9KXuuI! z<)<`!Fe7sMT)o~eHZT5CZ6~cf*x3n7x&2jUc295UTlwhfso+TrD=LNY^2#JQF=VQX zz&drQYb#p>GFCB5qGe$YSNvV#djn~s#il(&xZ_x7m*>f(I?sjYZ-BRJMCIWj$&?XP zAm%M1_e8zacP+(vwaXqm2F;GYK?CcB#5v5mwEWkQ>8Lrq7`0_fQt>>K9C`U!;JXzyWh97S%=@uGD92 z4MZC9lfEFCQt+V_6O>H6`dZ2Rgx7a)u;KrDzoX1yL3U9#*zUvAwG0)@ zgaR!xM~IiLWjg||TM3N$g1x6{%j!b`zd`fM8lKqyfu3;M8xjA^llYu5ZjM~r%yfw- zov!u`y7yA0f6p9FC5&k+DGB9Mojj`oA?39(MwoaC{=&dBq5d1Ou;Gtjaxs`RR=1}a z#@#}QZjwF3upv#FRtNNzs|>9|%-w6`ddFlG)HXFWzxutwM|%xFdjg;qq?=+FFU*KQ z9$-&3b*T)LH^ZT$-%kvqoFJxW02Gx3J-_}yTZ){Nyx9$>#Bie)$6Zz3sk+cdV$4XC%8lrejkJZ1 z#aVG7x+tK(e=C7*LIl0saG4$Uz|qNc9Q{9Z-)-wUMyT84!)^b4HT)wYBRnYlzK`}D zy_DOk@%dNyS9720^0`Hxulv82zaspY7}5J4pxKI9KiBj;zM$@53355eSHS#-BRFhV zK;kD*{t?9$Am0*c_u)#XB7YM%7S)_CaD-O$`}_Ne52zpM=vbYr`11M!1B%=ECFtAo zsEM_PMw|?;iLsKf$l1pFMA8{9EFTpY3Z((fFi=_q&6T$4@LZa$gK}$ z;#p;^W+OhkN)%3;bc=p5rfL#`csx$MeTMruTl50^&$OO?;K@ayI}_=Cj)&O(OifmZ zN3@_(O%toj;*D~=8meTo*PEK+{?i~htJ3-WUZ0EYNE~XKRtpu|s@NIFD)2=qGevIrzEnm)C521F9JRbp382ZyDdFv14AMd{_rI z%xS}k7%GUQJ`=b75MuuUN8~%$;3}E!j-g62^jz=5vW{GR$9>Xy6ddfwmXN5PX!H~?WMDr}JuoePDka|<-gXoIe3Nija2An1lm7qWo;#Ip6wtjQU zZd~BZ&@)siUetoKA};5NfJvQ<2%c_T2JY2;<_%@$r30A+f_{8cM*{=KKTlYChsRBh z(^Ue6iDl$2jG&Rr-QferLkg>8G&CAXORSIM>@_IC^VS!{yTy0$U*DfamL6d(?Hx-g zPZX!6{@uG~u{+85>;y0!_R%L)?tEuLe|OMz|F_28t|5JjWW>Rf#DZT~WuG=Fe_pK8 ziXNHD5alXp@7>-jtpIf=W^yF6y`Z87XDI)5Xz+O$xGgZZF@O63bm*LxX4UT*LUxH~ zUmu$v7jq>83jtOP?*nkIpo>CLRh6m@C@@Q<>mSfVWw}3L?Rwq;JVBXo6JV1wakfW?_WpqZ~!Bym%pY$kzM zM-5vw<>J7Ht5!OCJfhq0I+&K{dzldmhgqxJfpR_;V!L-JMBK0owBy8s68r!BS!tU^ z#^V)_62+ps}pjBXHMTFQgT$tm zf?fu;Cn)4A-Qg{F3_^*XLLtP2E%;aUH?tnG-$Z}uKq zTG*t5B#ELtY_{%X@l*@xwxx^~3kcJT17W+A^C^)5zk^LU?6#m65FrO_7<-e_PpIgq z3DnfXy1Mj0t=l>pLTm0%LL=ytGD*%i#SDS8{WuTTpB*ap6gq^C_y$zMwD@nWNPg*j zx4U#kbu;`nabwVF3h6A-apitdtKU`((g!=&)%XI*Bvar1nh`=LUIhc%J;z~or@ zaE*|(yssR2RF9_etFUjuQofUsZW;O;yBM2`{mIkaLmmtR3=L%~cY*mQUNbA8t>kEY z2XWlht0)(d?qyY7>lu4^>NL)pKs+?)5G2jGl9xQAnnH8B{u_X~&$;?~<|t?DUGF`L zR*S}OC()@4zds-vAOkzXB5ltDKd-$Os5F$T+6R%z;Y76!$D|C z{HhOI<7r0_`}i{$T$wAx3~lI}Ja3l?FKEmv(mKH>$BC~cAZP;$uVOC&r;lpa>`>Y%v;vVr5i!=@kNa$k-mNV$~baK~cz&pukGMDm} zEtcAucwlc4h(9rVIqg*3wYCLV0c#Mbal3|NNYn!Hc}an(ysXa|PNQ}Mfjg*|GC?*- z$1sX-^RkSwc-*j2NVHV2FbB4xn&SdMXr7Huo^-8Z)%XSi422I2)q1PTpE1{Gy_Npj z{Q3j9{cbr=($CrbPcmD9QQ4IW7~;Hx$9g*4#W)uQbO_KUx{G}kW^~+bc zt|-LcO|{d>Sj`6dWD+xv{<#OoUdx+H1W_}mbi8=QPRrK|g;ExF?0g+fapNxB^g8sau{4LUn;~%)jiwF;fT9M|^XFa`26Y#M>zIh@WsOn8 zPUzbeVso*_f*#Ky)CkUz5`~!kQ3=w7rsa=xq^ftgvez8d>;QBn!&S%C^V&~AU>O^Z z4)0wrTc6rDkJOHX@W)5Q(`r>qnJwb|Duj%S?JWrBKsjPMi&^SVC@0o{{}kn^t%p&n z)|dpPhm@1FtV+{V8KxE@tY^2Nbr>?MFQm3bI2H15U@89pns^-S3xuP)+}*vjR=)$~ z4BH00RMpJB(pYqt5Yhf5<^~&wM^1B;wtZmpaCh6tN|`H{+nZuzoACV{(f+G#-NxER zZ&MG03(~!slvM9XMKL3!3Z}i|0#DcR?NLVi5bg4AmiwuBL7@xiJ#uz&spsB)^Tfu$ zFPxx;+i&2Jj*Of$BM&9Vm`33U-N_o*3Tc4B48i{P+Jwp3P%w7&&|ZCF0BP zx~=vxPGR-2xwRF81Z$5A*3hh!T0(i0m6`p^7xfOaZ>kY=oYwJm!#)O+H$vDeohY40 z4k8=mq>z%qXuQ4O!4X}SfVP^N9aihL;2eS0vf6KOUHn{0WWr&YXW?DrdC5kD zz+<_g%Gj97CwIfOp-jJEb=d0u-+Vpm4&W?nb(>y+B95K|oiqeS+^yvelHOBZM?=Bf z@3;N`{)MfEQ=3Y<6MuuqjRlxX3PvyFtCOQKGP1J$zD5T|C|jEMkhuqoFl9UXxeSVZ zxP1vQ;Nc%6vcdlr4`JVb5x{pj*Rv%Y=WGZJ$eH>RWz5mSS#}l-v^i`GblVnN{#@S} zA(LRDAAwdvjWihNLBguv6AV`o0+Cc{Zni9Qu}AIc-)o$=d^lSI?!3tMH)}R^{mNG- z&VTZUQb$t&m}4}YTsqUYFa*?>l|T_wRT~TlF6aBVw%%hlzN&m&xSNo&QBYmCB{lMr zVUv-V)fNv#bgpzpR(e!>x^vHhJaHch@KAAPOs@0~8Hf}8N~(3VJ{J}@GMt|r)CIGk zhDO8b5IsO2X)@8WMztox{nsady5xqF*s5cgv6ld!?Fv(_l?vU!?@%9NDG zkzt3P2Genr6=P87zEeCwd%Q>5quAA{RLf{(5(KJW(ZU{<&6Z|do9Yr8A<=xM5oPPN zE`caUU556zaB#42aOOGO=Rld{|Aq7o{e6bo5oHx3LPB#P(*w@{$MO90amApY8(3{5 zS&kxa9AfG}zpc$K>pKmjzr48ga{vqcQIEbj@2V$*dU%0m5*oc~G zTBiH5oq?5K1kO6D0T5u~;^GI%G1YR_2y#@mKD!%Z80rZi^mZg~*m;Qf%CHn6-Ghj` zhoTsRg`*Qd3T+!iv2nI&Aiq$%bm{MQ{ER^ zC+hNXhs7*dc(XJpt6}~2+tyPby&H#;RNSO})yn0qrx}F^&1KK;!dKwC?lazC`(+S7 zIs)7QA3#`$hKssMSV;%Uy}2G#cV~s&S+#=0sV+DQiHM(Rx_T&B5vAg>Fb-jBe=%(^ zD|rqVZo9AB{nh{CpArlUhAN60HjdPdNx09FH-~U9^T{Mwl}p~F5QlN}c$zPf-7PV~ z>_cUehA)fX@;e72&S9J|?D4ca?wUl=mJ@$N{2Lz!&+U;i1|Olx!u5CH+nsBB1!4uz zBFZ}M=VgH(rULz5DA)iA&QBVJF`czGhfRqq_|9LW#?PRKu`Y=@~~11=$0_$rxec)V_~xH;^ifEO6T5dF{>3((U4EY9%r>MOZ&w|+1B=YyN#jazT4|q_3!c=XrG7U4d8wl z3>j@So;CTz#wHS_<(u9jQd7XX`IS^oK&R91EL9An*`A@!+t4c_KC^dmF%?eu@^Krl zE|<&EQY^M;JNRNqTp0k(8tS7D&;Ylfg7Cth`wj+wp#NT8U|C>YVCXz41ftr;g!VNn zk2}GLxvWpRk|M_5Haah3EIuv+?KcS>E1lOShG0g2j0^|b0~8c^n$-o(3!$SbUvv7- z2PlDZ#K|ZB`#P--?iHehjwXxgAaz_`ciUokeQ0Xlee+i)^RJ~C4C$>%!xyHU@Hb=) zFxh<jTh)jvrYCod8yv`B5NKv4>_&{CQe&G;x*5ok zC9T{$%(+4YPWQ1F*du=PBoN*KcMIa~e!rb8FyU}mi8$`q34+TXC?LL`s^1Wo$(mMh zJdDlaL`R^OpO)g(l5>ydC+GjSe6{jYWQ14ug*a{Dk>c%EiR}N&;j9y*l@QS zUBabo=wuB4EFfM+D*Vd;xPhN$V9%gIVg0(vIFUgr{pJxUO6nMkLR8A`WX1)sLqlNp zG58oW=Y$7$vkcWQQ0X+)!=Tl?_--@t^zvM>BY|AB_^?QdQ>5sj)Rbch#<_B4e~5*b;T z=`klZj8u5)eFy)F6;x$a&Wx#InxlHs#oh)ZFDa`eg^W?H97=J3ZQ0%}*^*2B-xAnS z5gRe>d`9hiATrx8W=QMJ^#{0tvzkwhO-%{x$FMFEv-T^T>@nd7Nc08Jw#K0|BkM-n zD}`kZ2SJL8#SI{g&!Dph_yaqW?Jq+uCBOb()GCHgAr}P+f+3NU3BI}^Es4e%%==TA z20k#|PHR?W%t(P%vDlnAsaK+i{I2VEZF|;%Lf5C1xvw{f4x>Gx)-ccS)hA&~X*ntA zuwj-OjRwK;N2if4s`AB#L$gUDoB=oAVpB45AWX0a@No}rD02hqeolnII9lAfIKyDf zB*2L^X+zhFcTWgjL|w<|5gU2?=-Z~IVg$m)dG{Ydm5rX9W(Jq#4Lp zdbw+m<}o3K>k;Wjp+U`3UPlqCtE%oy0x*f*m%44Xww3|sN*h}#1?T22p3&5J{T63* zaN2A)z9|4$ay%;--y*!j`J8hPARh*kaDwI>9~Z4cA__uDzb{}}j?c{W01C}6k-pE( zFxDpUMg)!q6C)bE0+aFk`?26Q5c}1#$aw%5f%ljI>%2VCY)%3zv=4TC<`$y9QNO(K zW6674>lH(csiz)bwJDKG)abM!tU=TPa?%i{m|onHM0B8Cn;0YeY1iEP4roJBt29Z9 z6WYx;wHRnr1SLnHZrbO5e6+qWpPEu3_g5-i%+U`aL)7>@KCPYMlG2Pq{!~>NeYW8p zq;jUESjg(o#DU~sVVKzHiU7fYyx`xw+Upn$x+|*NAayttzpuxPz`+OYHAb)J3qU2* zA+5^K?&VG5oxce57sjBeV+^=z{I*a~V9vwEgU+Gc=@{txWw=z53gC&J`k9$n=!K^< zGD$G|gjxBJF!bt-ph}@tWwJCM#HR z_De+pXpg=*n#TRz(+7d6&j%QAEYn&a6?hy8+7!Vbr}nP5chO$y9peR@on~*t`XL6@6S0wW|Hh=8EIk9AG7L>4t(aIv`GL7wewCnFR9V81 zBfB{M5A42{8ojsEDb|_yM@~kdrfTUp&tJfP%JYKZ3#)+T#xwTeyH?|9>yOyS5UHqW zzB%JxLI!Q#zu-9yjiIHYQ`MRRvMFk81ss5>c()!vi~T$;@qK&hgX`F9q-~G_O_pKp z`XERrD%@4742Du74U5h8R(G=Z%XO6#H)UbvE$Zk%p4bD-tJuti@Q@S-S3wYr6Z=&g zK!ASW(gd}>U{C^F^p;HS(K6ADp#oGPR>EduAOx`|GMzimueG+YGU^Azp_$qA!+>y` zxu#LL5of=lF(>N^^TC$XI&sysbt|6L1sgm?ljUbVqO9T+t|v%4zRv~>D#Z?J#3vwu zG3SZ*skyrIqU00^anY0Oahx{G+GPqUYP?_<{@f-}@TH1Ju@yNDYAB#5+U%)*MbY0` zx!K>)yDWSsX^+9KSPo$1vf4A%Z3Rr4Nk*R?carfq_%{Xp1{h6Zf-(hVBJ?x;G~_ia zicG-s8XC9yKwdfTY5uWTvE5I3veBwndN=EXhbe*oM*jrxz)+kKAz?uJ-!(fD3U=v zoCl3(SB{6-Ldx;B6rWgDXA4`|41f)A6&qH_6CF>L|%pr`3~(C6M4X4;wR-(eRa$3s||_cOIv4+e}L> z#<|Kgrs~ZDSNiof7(D#!g{4muE~eX%9XwC+JN&WxAg#T*#>aZxf_iq~MSU|eFW9e?`P625o1W9QmT)KOSr5kA} zLFw-95`jf&5Xs;8eBXC3{+!tv&YrwKD_O~UpROEIT>)8d>;G@1a6IGa)m#UN_i~bT^|>Yvt}KFlj?|W#=ocV z)4w1noMwRqhSBx)e)68GI2z;mHV*REWbRA(rKX^l=aHNKjA^YV=xI};w%6UX@(&c0 zbq^bgh)vCHbepmuFdZk6pqz|pHXj;rXB*az!|Kd>3>VDa7>i=%s}l7wjqHk#RnCty zthMOsC@4VaJc>IipAzx>2?(HGti-GJ*hQX(JqiLL7^P~N*31pX=PYKxM#2zG{=S{R zadsy_)K2;A_;VLYFv2)djrbLg8E6=B7popeVnT|VxxqcW7u~u)abaQ}9K=I1h=tZS zwG(ItR3qZ!?8bL%Ld%c++TW3F zW=5n*ac6MA(FL!_6mJFXSG2v78jd86+&+Lk3Zx~4!{fLr9z=^&!m&;}Po-96>FuP5 z*xA_F0M*7)!+nRyLuP*2^mh`hKys5m$HSA8zkYeNG-D3y@`BHKb#o_y$u)TMtKS)8 z{YyT3GzTl8UOhyXP#%sCzrJ&PCCgWj5!&mv+{}`ANF6mam5+8jD%wCOgc6&|KerwN zWlD@z40fCt5VwE}eH>9$0%=%pXWFFrT07_|5w7=Umk8v%tHY9S`~38%?ln0!#!!#m zH;p~UI*zok9`{(&_DJ88-B(FgYT5j@;0V|V2Lj;Ni=0sNNUgKcubY5P{rO?kqZi-r zHU?)jKk+V}QXHqN8fAV(iiK@QU?r^V`FxF2#9*lANdd|z!4?$Y=E1X>RRpui4x?td z0GvW&ZgpIjvTqOjJU~Y24B)yP>fOVV1@c8`vY#C6kWT`P0r7m$TDdc$HzBHdhii@y z==tBE_nVRyI@~O?6)rwmf}ay`+tQagr>)Mi&&HuOTZ}#=vdTaQMF>=_AZu05o!z6` z>6Ae;0CwT;Uo7>P5Wjp`y@z5 znfh6G6MOe=}Rm4fa``4_O2^mTMXy(2h0fkbc|8qwVx zKmd>{>S@XS6*wSI^KsS{%A3AX0z&w=trNctA9cIDiQQ@=utu zorOv>Le!MPPPn4J_$RWnw4bAeM*$646gWK>0BNA3rY0^`8nCS$7G{>^9ZN81Z5F)7 zZ(S|?j(>&dONj9^TRP+k@S2D^ZYpG7{|JGg`9wK%(sE(OCctFOJoEiNk@j1RPJsv{ z_a60U$TljtUVr&+{2hTdwlGxDnPlX35zO!VM3{n-`M}qlz8W?3rrsOd?|FG6ELx)1 zwZdEWy=0#s06&P0kmpAQ_wr6mK@c`-Ls8NUuW5rkk}M71rQ&kQYw)3dlRU1ruYg%r z7HGat6S$`si1EvI$nU8V=*MvV&iW##M=!_}ydEr(#~_lPAKzTDG!?~_Y}c@C?0aZ4 zPVt$U92T`0ftZdtG8#CzZy<_gb2a{0oanI}S|QqV51b9CG!Fo`-*==aNvO;#H)z=L z`+KP8T8H+lb|~Uj+Qz5SI2{Q`zisLLAKv2|VcLZLEfOBIdgPs^`?*Nh>soo_Xi+Eb zLP*vONan(tgRZ6$<>a{DbO!w(Fi`8AItIwroN!;B%w&Us57f1;(A zZh6c&50Ld00ZTRox+~6SJZWS!kwV$`L4ydsqZJAdALTPuqE*I~MF2XKdket(4SgRt zPK<^gGf$npqiU0Z%bgC!@d+d3^VYMft`N?mBpnL@Jj?uS>19b!8m!+~;W^JV^I_Uu zP`eG4sP1=Gb9PD@_Ns0WZ1=hB-LAi@@4wf+t2ehj$z;vLI~%67~!NV8|;%MRB!m?^qL zR=lG=(ngs7aTTRd{sK$Z5*I0Xr;_$6y^W>eI=epU$9O*$n9Fp&Mk+F6z{SQSJ)uOG zZZ=UaC*y!tC>^gd-^5CruZ{G{o!`ElxH!E$<8j4|CWr|d#HRTVQrznoW?+lri}8~L|?UcSM-d*tQV zb`LkIhpp@oED@;$_i_+^{B7~=u=&foF=j_rzpU}eb<&uC85zB0GLtLhZPMXSqK#t8 z{CvUmcY{mw+jqXmkZryKIi!PZQQ}11`=BTr!@zkSCCz z&Tgw$Gu^6ybu7j`CkW9%_@GxZqC$&VA;t^d+&+20_zOtWv*Ztr_N$HwUZD?K4aNA+ z)y=$0fZYiG&EPt<%?tQwUoeiVn!$oe4=0|DpuRwTm~NkDo$k-uDB`J``tA2;;{$** zX&OWQ{7{irtd?9w!1`0meG&>kfP&qi9o>;J(`dc!1N{BT*T!^7iJZ%C?!iiiB#aD{ zs(hFBSmJZ_dF1Av{^Q1i!`jsG{iioilQ|@CpAX_GlrHfLtIX<>##h@;zuuC6;&il~ z$k?KYq8^Gd6O=%E?NT9;e0zw)#E@g6oh5^AdAbcUgJHx=Xd>I_G3!q8A*t{U^`n3C zF1u*CBfS9JHHDE-L;KFLw;oSE@Yw)GtV80}qh;%HLxf8K%~t^gi9Oy#?DRd*Oc);B z;|L4v*IE}kje4GhBFPCOUtm8nyL~1>l;Lj;gUymwWa|hS8Xr1jMv3FF%235Z@M2M9 zvMG@-wTlc)X-h#c@GZ#JBK4H-5~@H`;D*_tQX<98F=291H7iLOD~D>AtJL%3%G?aG z)6DNiLScK}oq&z{K6T&4aJ=90*e=t2@MI;9d4|?{-XPZhHRsx3@o1kP;^fTwI%~a$ zo}T_QlS$0J-}ykM*s8g41)#FEqI1V$B_trjLTmW5?2t4f!PzhfJCm50K#EJ;WD?EF z8*Jid*o*@U@M(rlm2DBP?({S1z)S*Ml7ke_o7-qldZS46R`qEvNFSO>F)AXX5PIr+ z6=Z9sDM^yv&ejy`)SP+DCu7@ni5(x~&Bz+ww)h5%ggvCzY!k4(UJg~5wPg~@B<@V> zjFP=1%{{Q#Y?(*vqXiiny)?_0eYlMeSuJqZVf^}$RS`o0PgnD*^Ud=noevdv08DS%e<}V;T zdOPx#no;VSMj(g5*ULS!?A)mgFJl{fuG;~FDhp>^X4+LliCJGGr+bt3Cv<$J(7CsQ zp_D#YZh$9cMUKw@ph~YiCdBDNU!TgA}5~xa2)G(Qg1sOI( zT+B@SsmBs4SK|T{!P}(#WB!FKhDLbHO1)Lra7yzUWi%PryLa^`Ms+4+m`+ly-wFyU z8XF0>A_WnH`W`?J^}tNugm)~?BxpdX36V37!ClcK;dnKSqM6EzoJyJOgREmj%l?e# ze%HJ6eyg~Y<6~?a<5%K=7-pQ1MUeK;Vd3|ycC?ak^YWrmB|)WNWs*>PnPA&b+~%Q!3yE)y=_ky9W=yc9SVT?CtXyrXGvgy^(7kR z@UpQv)u%ep1?zI|hyREsg;3`RVdZROgEWvA3ZzUfHw~1^TL4L{u;+(^?Pg$!-##Ff z@S?g1a4Jg% z_TS;JPw?cw*W5FSTCsKaei7F;c*k75@)Pd0<4G6zZaLFuG?P_Gwj|a^H4Ruj_;7I+ z@QRN~k%}dkzv$~1IcI|#R&sLDc)}gcq~I*+#Itr(4zi`KV?aGhnQ+{J zU_}Z@*TQ%06m{XlQZLWQ$k^SrPOfIop$OwCTy9~VPmeM~M^?YJn&EVfgjHYlL}fd+ zR5mH3yHQJL0DGT0C1f(|Ol42im5Lj`a}`?2LB8u9Q-kU6Ob(|w#7YHWJN`rS)0CBg zh3CWfjau~f*r{3+=<eC6_fnsI^xr19T$@k8vICa)B}rEcb!mjz=GeIPSQzjU+W z$BK31WoqnfSRQF{sZKg`~7lzJ_Rr@8bCSx+O6voh852eP(KcMYCq`t zYbmbJE9z%aidq#G{Zvnq7o7Z(mMkZdq|MU8!ou8~>Z!ktNin?J#Sk$Y+cNmDzADZt zTX6+tMHSyYf5cO7F0AZON3qOSQMJMswV;IS_gg0~>gbmwB)c&15=ucf=QyLDPAz-C zF)@=~nSr{sft$RILc)!2P>`g}hqN4QQGSTLbK*tJ;kK--vH;mvK4`GH^eM`?V1q*)EAiA1FY>8z? zWfg1^J1OQs>ys67+>CYmSNgWh;(1`uitE3CQjmkwBs_2XLc z1!yYW`n&nj;4)UR4~bYID5>=2uTAQD{U_nTII$)dz^LRqpQ2;qUsW`#y}W#$07ZZLfym zaB8xAg}-7U{AJ7TYVq2TGFlVUWQ8o`4yFtXgsX^>H!(NdNTpNZbB$lIUPraY()SI9&fA8D*~I_c*_bT_tu_HrwSsoZkEBow-evVKYYxq;q<&JQmwge9>cD5RgCNUvIc?Ktq zmUdsof~3}e)hVOJzSF7PP++gM(wK{Gk%Wd)M>*%C&;_?)8S3knK+-6F6P%Dcq)KF4 z_SQ(8SUqVIHuyj@==aZ^^gt<{qr9|i%=?zi)Gq3YQFHcfKa}K>cVmFAOqlS9N3H0>w>Cd;i%Fo2a7(&%UYw!5h zbW`UbIG}XvWjBk~$nrG%P*xiqbhS(ZGss;+lFZfv^KFmQQ9XWDL3=3Q;dr=|n=2v_ zaoqT@^4BADu|a94b4s_?Q1Jq)X4bUkRoEv?yorcZ{89{gvSGL=UEJQ{)#eH>1F6s7 zWa`Tar@nK4_qsl>h zQ}3H!I>za#uggDRSd3A9SZ@G=*8%c3P$uR5Ag^HhNIwT_!;(nTbZ0)+ySrMPyy)OId( zVzZ7In5jvIIx+beY`meF9Qx??!8*8F-GV7W|C)Xu5`*7w%YC>scKnCeD)J+0QHnnE z5hJsRzRJq^m&e58>-*Eh!9Wie?xcA&9S+#n0pLiQBfjR| zW{dTmP;+>_7PSE8V~>aW%5woD-_T2&-lD+E31MJ}lCvx3|8a`E0mU(VZV`Rj^@5ZP z5{3^1yiEfJX(E~4=IWx3c^8kMWS{jHbtw1<2$S6Gba?)US-AJ2WYqtYck+6n{QSg* zBvY<>Q{i~U{}y2p;x8}4_FJ2!ZU~%IY{t;l$VcV>-nT?vgc|%2U7K^l_vHeH#%5OO zOyqU5d@BVuS{Ol;E!np%=42*CNW!msf;V3SYnb62{J&X#soYgNTIVwix<~sNcKy)Z zvSRU!L=IRuAP&k)6%bHtuaMMPhFC?%Ik&DZt3kYV&%JxgqMP@kmiguj7Q8P&MQ z@i$aw(XfW6=RgFT=x;V|#UfS#wA4QafBOI=-GAIsz!l{Wn@BUOh1IF&@^O+ko0S#P zKrj&N2+&!0ILEh|{WwHwoen0UP-vdGPn}5V@tldV3I6DVO!EUDuzXVDd9Kte$@BHmR~~?9d9XT%FF=!`aZV+7gLpqp!>W4bU4P#rW zkh7e>Df4FYhvts1qNywsP`d@&q^$v6sZ8?yIjiaV#y7(GoG;qkmNYLohK{W6^h|tQ zL~HP3+6AlmE-o*37RPgh6Z4q$ee+CM{1f2!qUV`12$ZA^KCMPB6C)#`KZi$05kd%T zMi+huUyQJHn&me(HhRNqw_2Q+mS>8cot=Av8In`vVVCotler zR0PGMOI=@&%J<4K1nOng3tim%UEC_pO|Sb6TiLed`b+ST5brDvdbnnajfb+Ki3<29y+R}6?x$X&7mkXcfp|FFd@Q&go*p;hxR~o zP%mBwydLTfT1Zb%pDWV}-PaZ_HdyrQ zZ;ZY3gWX>{KZuixdNWJ8$n2cn<%Q?PrDrTwEat_<3O_9ahhDR089A#sNBlJ%!o}R#wj3KT=>~%ewaXwgo~St zjK8D}W!#=GTHh%3*M?f)ZA}d){Oj#*$`ensgkv0k?O$Hk>6yCu`+v(eMn>OVme;>wKjcej2aKW@%5M3EEoso0K= zA?l5JVCM$q+*-@xu;38+a2jxc4SJoYX#qWBw! zIrji4F&gG{Xw>Jn7wdMR7L-?D@VwvG6RSSRU!+hVvPw(Td$f73{6kB-{bcU-+LqKm zj~c)aWt;o8kefKbdN8atHL$P5qMjoXN?{@W)`xD0o zjT=VNqK{5Ct|b}Z5J&syiWW4Wvd|e(e47QWS+o_!5{b~M0T7r)VIi+Jv2)DhlyIWji7(iU7?-PuX|?d`)YM#$Y9?A!`CfqX{b zDjHFb_$Rz_TNZvn!#*BZL_s4Zrf*4TNq6u7wm$*UJuNr0I=G@GZJc z<%$34zCQ`=kK_tl0!2ysni?_P0nVOq( z$-lE_jqX^zyBoX%+Vw8gpc+a}PQqhmrmx>Wc?R%{sJX@MM$-VX+rO%7|JP|-ZOx+I zs4unen~XO~Ez{8hR;Fk^)T5tAZuZw zAYXHo?)43oBG%b|NI+jXUrsG>uJNgk7%=XHayTP2VYuhJjKuGlBg0Pea;Vg<05t7b+uohYRYE-YwUM zekVcioKa9&poNLR%7o!K7=6nlEW!;GF=ZT4sZnE-u3Afgd0C-RfjLl-!nFSlhxbYs zQYa*Th_nGV9sf+KL-dS{mgeVen~a6ut%8BS#G$??@cXy_vhjv!LMXS!CnpDmv9PdC zff80s4EuWj(fjdy$($}RfNr}YMYYuve0X@6)MkSF5EJk4V!6g`Vw3~=-Ij{lX_ zi8(n3Sbr4AF>65S{g-`%aISHtEs8D;OjiLh6>^ATuRA1n^3}O?C%h+p#s-m6C}4;- z92*{wc909PRiNvh>~A7#W2mjI1sdP1-D4k!qLm7~ecwjKnMc8A-T%9F3zrG;0L_C2 zH*)GA{9+kk3j>(%o4|8L=P;4-c6iL#&aSPkt(n)1A|P!!N(9J8Kv}lcwe_D{%zHbj zr`tWCd&@iWg(DcbIyyxJM7YW2nE@4_X{MP34Er|z;BPtnpb_H;cTM!0>9&V9rn zA24qG3wqXhSsI=C3+l*aExz5stGP2{%|Gv0d=K{nf{R*RH%12$r%~`90Xo!2G;&c7 z#<5^|W-b>YCMNNB(YtZ~#?5>8;EPn43>N^|aT(WJPCx|#pWBb@rme127XO-&SM>E1 zL1+WepBow)nwzgWw;s83W_GZAI$xy8UY<8Y76hsiJA7E{;4>RI{KExL)7!8)(yQwd z0C+)yS^`!-{iv3mQzs`U`(v3vcLGxO&}e?{@5^4v%M%e31G2&(Aj@asU2W165Zp<} zxC`J)CKeXBb#DQOWjx6%{M_`FCI^`3q@P+Q_W%rjeC$q;>Y{~26@I!0JBx?lQi%b! zVP=4*nGoEkeyd^}JjQ%My)Z7Vwx<)0eHW8j=!i{D2?cEA6`p}8)st)g9VLAOz(*y= zwpwrIaM*goTn}pi;TriJBa{)^ockc*P&JLt<~Z^`sKBO?pC2f?N&j>QNsA`Mgh|aUI5_+LeEi<5ZgqiX@Kqpcq2ntc{n*E+NOY= zj$GIW>l6+1LJ7cq5CJy0^J;QpVr*m*l7n=L4v$oPx-C2;<>^ehjAE6R zhGpCTDyif_;`NG?MWf1i5`{Zr-}w_3zO@|vNKi=n`P4Qy7_`(>yT1w+qtJ($w?B(l?R| zMH>a0w(Df9e7lM&If7&F<@V3cU>Fl^nAuP2QVCjwSr zGu_v(*Vfmu6?=ozv_-YCr!l)N3pzUiWKkorqobohX!|&hl&@%Q-__+UHNa^-PbwsH zbi57r_y3p3?zc#Yixw!Ah?3HPg4CUsrf&v}GYvSYvT6)S3g-&cT}jSag>BD}vroitUy~LW4J*ied21dbpIF)1osNG^N7!S2_^>D6 zl)*A>D(OnoeR}CTJ3E`U)XN=s7N3h7*-@s>qSm`qV<_G%r#O_ z#}ZF2SOwcM1IS!f-)!EJhoeR6zhRE@Eo2XrQu5A$LP@_8VvJff4cOw`$&VzYm7pja z8YZOO7rtL6!bRVAP77=7(=b-6UlA-cRlt*UNC{u+=SoS*jo`6K%>MDi_K;L5qc}aM zVLE%LuDnhbEoftS8jOa+TuE)HOUB4&xu5oqduJl*#(^4-0yCnhMAzt6Nl?+A0x4Yp zf_JXvtr{H*O3XISzOo^LW*2H=14pzgV17*inpt`a433u#m&Y_t{fum}V=JSgP3GHW zVK3d=)Dyr;s-w%W5GN&>G75Pa`ea$l6l-~=`a7NWbyw9oX>h36$eAhdW#3T*FX7d7 zPe3}~uc=HN4V!6N&?6okZ6(ft6}f|x^HXS9p-=P-cv|wIe3k`F@i$+#5ukPyVDjj0|??%{_lT0cV)bFmhkw*?$rm}wKqgZVr z)XJ4~gJ`gSUhx)#hkscfJY0|(QB_q1)_8#0N9JrWwe}fHpj0i%rfe zhe&kODM-uP>eIoE9?E;qmi}<;9h@)y+5?4S^H;ddR%Zk7GeC!Z-WJsu&;Q-<&Ju4% zfFbwYG)D0gFKMC`+Pw-6|Dm&nWEENd++n(+oA@eavC)<7JQ=BN67b(Pzgzo4y@0*x z-0|I8!jWBsz*Di*=2i{)&j_%n@*f_nYqJ1!$RnMJ?Jg1=GmhFBn|d+b_QhiPVr2?2 zu&DjJM(MnY=_yxNM2fgZqW_^Ti=2*q|UQS7Gaba{sqOQ>jsn{G*637~_;KL-G z{=Kg4wDe0h^Y0#DBoTtyXj2rpLQx@B7<9%tp1QiEmTxIuN8l^En|x`J(|+^Y_FP~! z`S(;!=9ncgN}z61i+_ls;NmZxturU|Ao9n`Nvj3yZx}EL6k@jqDf_obV~b(DIt^fj zL2MIsX-1iuDKzxbbNHk*LgwQ(3+a5tyLp!{ZT|Nre6&@VYH4YWIt53O215R=gXAFX z<8tWE%d1E*MC-qcyganyw2GHrz?;kP>_8z8ZVUb@DB7y(i8jl{z)M4W@@aq;1Rk4! zIPexq+N#7xQR=v>U)S=|CkiJoen^tK z(%6cgY`6yV3D4b&@i{5AtO`>8zpqQQUMJ63I!uqZ*gBMs)AEus)+(M?kDJ_vS@+th z4ppQf0vq-JeiqT;5@#+@A}t7{9y`M)c@Jhb&-5;J+eH-4PF*bKu!)%b-%riYe?8AA zFxWm5IY00GRld0Lkc=nZP39Bp0p!g-%RKk^%P1WI=+5+i@0e#sw6}PeuJJVlv^RQ% zFFA+%`(gYmg2usgKgy^zuKg7Y`2Tkc;Q8{_3Fut0I--0ugK6)a_+|tY=Y`=~>|7e@ z4&9l*o{>GH@IeuZY%;EWlkDsj*T~-d zPv76;e;*Bx~>rdv0$D@7-&&uWSxlTF+R25_E^f-Gco%N2tmO(kA$1vWxGznG`x<*Kg1d)7Lht_fLji7!Ho=DVE;ARu z;=wgiIS!=FXX;SJt2L~e|GO+V^kl6fx0{*Dfct-!%)lw0Z$3<83{U+z@UkH0&wzNp zaYxXG($eq8m`lEslmENO8ZjxUNxy^S)rR`~^tr2T1^K!zdD7tBtEZ+MkiWl+h4gGV ziN3q$onVcX9yM=dyB0KT9%_-E2+|(Y7?~l;z7%=i%|TH+z~(VoG6Q3JVQ%rCHVn=Qt*HtWTQ!uS+EU6GD>Y zVvJD95z6z58z-KZHfD+J&c{jX)b!R=+Ti0!grpwIZD4a;JfywvStq;yh2~W-4&Pi2 zMjqyPiVL#dy)3EBS2o;!{ItoLDr0&567|ZTd#=~JZ1sO@oT#BioKeKs?)&)8>2ugp zvPf|59RqE`1^m=5-=-O=^VMzb>2;Boiv!Nr_2V6FhoAay%l&)Th19|5l=+RNTp_kS zRY)s7X4yq_pu_8~xI1G%-rs>ZCY&c4OnWA&lR0M}lq7g4-jy_agNC z$!^03^`3qt$(ZSFNJT6DTh7^qPxi?T&pVA?35nyjGuP_K$J90}dj_hmlN_7;c_eJa zZEE#3E_#~CS=bws!CE%|#hgkcqdwpVs1M_>#umh9k3U`>H@q-RRN&@2^c&u9>TP0o z;OVA8{HrqW7$V*8KBeQq&y3Q(9d>vn716 zG0@EZc}8j2hjwAhR2d7yg@izHpio8_BP3*56u!naBLj8MwCvk=oquYw)?x)V5!e|` zWrH*LCTnec`gmJvNMk7}=$&`rQWK;41K409DoV;hpmWQ%d98Zfmbirq`!( z9d%RFdN0s9Vs|JY5U3pDEoQ^-m6g?prluLxtQjv9(p!8$y}Y=%Xo*e?yuzAhtSKih zo5eqoBaU~UD*r~#@hGMOI#V|lr^FZn(OSTTFob{=v2{|yg}U8|!uaw2c`!wa!~a;D zLe7mXCgL%}AR`1WB^=_k=>gM(jAZ@J^pxOmV+KA)`Nl7>N~ zY$^Mj31Bw#X7MzxVNCvUdv@XM*>HiCq+5WKpFGbaUd~rG9x+@sHa(j zd&_9>Qs_a4bu4U-RlM!98sYCjqvbVIt*7d?i_GCuZ6^yIuY=ldcA9qSXld`^;m9Cj zi&&ylwWMMFbES_`_nn(K&D2)1K2SiQ?!4b4EEZS#-g3Vy(1UYl$2ry4T- z9B}5LtLweVuD$}!m{h*@?)2oew>kaTROo9VXQdpH=?apnSTx2{p8XrS> ztmn@{I__7bpBx?CkLxz$HQwHrpW)%y@_TWn(L8u?7mqP#sJwi7Zcakv zJ}n)sM9`&=Xx=!#^Hi*(oMvurtYQiabC#BaA?4_my7-ZflUI35%hhDHrAd`g#(<`h zZ+-?#j00W3ZC>`NvO$7^nv`#x?bJ=&-99}((NJxv`rTvQZw^c_6htE;PjO=SLhdw$Lj`ziIOZiQaU@w6jB65OQL zMpfN(x4j+Gld0u*ez;-Ao2kNPZD^wu_TU~IUA^<6oHNqgAieue?y|79wswQ@&aX1< zs+QxIEadi1cD<_}2QyU9neJ9iU>mt1sT+5cK;6?U;}>w_v!rJ zJs~3@`TC`9Twq+iyHvl@IBQ@v1(X9Hd{YY#DJ9!s#+~6G)aiP0aUol%!In0(>H$Xw zf(IxbaQc}6YEnfdGdVroUtr!d=DU{cLyu`5wAR!k*T2ikNCb&SFUQE?%KSO;R~_Y| z?zX6Y!C{?W)Z%~gGJR}p4An^@B*&C&#TNsM?Y1~NI&vKU7}ISLD%I|u`|#PTt@*a# zlbu-@^U^m`_q!n-ZZ9xv%|Qj$nH0F2 z<|8(|bw^hh>>$+P3-t6?N2nsX&ORVwQAYycjmacV z7Ydo95>a$bXXz+7dNrYlhdKmC`LFm^_IyN>P)?Jd88b#49UK~)nrf%EYFGzk3N-|C z@FBdIH1smZ8MX3BWx%~E;eMqh2OLJIjVk-(>}&#z9B=V(V>Cy|wd9RR2_xp9()<<# zY`I%xVs85@ib?3@BR`VPUMs#b9fyuE{CoHAiD4wq|GbYPqqhmheWTQ@!AnxG#<51! z^@GM) zr|IPBYS{dz!8uUX8D)Iqq#;e$QTBQ6aC!NBlZ-*!y~8CPwc2`qAyz9q$#A zvP&8q#$t`RJ-7SELNvnP&99T;%LcWz)zt98pmy0k?#3bxfvZ}rp8ELkH9~o0vOvbS z68oL$uk6X0$5G$Y($XYMAuHP)t!7{o-r{+8-~4JW&J_T@t!ZHT(_NKnhE0vuvu264)DzcnD7Fv&HJg$wQV8 zy)_?oxLFltR8gqFz)viS)nze@$sN9*oU7Wd{j9B7d1AYLE`Jot8kx>Cd-c^wF=%LN z_G!7#?LP7={_gOXF+K)NAean9hEfGL{QN3NiNh9}Xt}-t0B{kefuIQMcxP=0ZjDQl(2@&^>q*;R!=zuLd zE8lZ->^h$z*Ws=xn3Er^nv{?fpP*({Ylzq2hVWYHHPhC9-xbs4&MFNPcJcE&kDxMn zhxa0dUsyO(sd##3#_*LB3%RCs6(TmZk&B_vJ$l`jjZaSV3s>B_FYY`0Y?zr@NJ&YF zopsmO-{4u{LN+%ynUY^PJ3I4bsTAKUFBzMdxcQ?X*4URYQNHYGyI)YKHE`?&bm z^4^mtT?e?r^Kw{g?%Q~kSc_;#IMh;#Ln?KOGSd9NY^Nzf$h(GyEUgr^QZhQRFAihn zv9Ympb0(yV0cw)&OW_k(U5a821SMevnC~4O9h-L6^78WbUAYX<8m_0T9R~po?el4B z|F+I&O?$TzJ92XQ5!Nmg63qxl@8$Nu^+jiP4VbIo||3~xum7*qSKE`!>Zg(a%y zdE@)~6y-IIC+_2guKP})WD6lO?I@&T3WYqmyyoZ^t*)Q$@Di5TZl-Wv_#K-AL&+l= z-{s+FySce=A=TQ#LURkIHQ{vSUV%7D=b5_4K~LL~7~PN2T1 zHLLr5X^wD+K{_)u*L*TuYod^eJ@S%~)T2m(T&5l zfD6-0lQ#40li!}0LfNRAsgLMoFl1wyzSh@U3=*Y8Khe<@fI-7M7c~$NMypmLsC%`6 z6%A{~KunPV0zlO_OcSWuDc?x*mBYb>h4xK>iL&y`&Voyyp=<%u>wW!vpQV_N!s?E~ zYqI&qImFttXU}8{f2^#q6zk~f#`{usai3`MJX{l#`#p$|53jb&$x>Ncm%Q;6qf;-r z$HlQw7)2MWC+~`^A70)&AwJ9(b+4&i_F*CST}{(x2#+-16Qd`LaGFtLPocl+-3ARk zRcp}PFkL|P;Nl9*#N88rF*<3O(rcyxexG&ey}gZ%jmXH`iOa?lk0&F%MDzNrGD|N`p1!)`#>{seG%pK>!{Py4 zQ+i?hzZXCsPEN*j-`3vKU)eeN5i;@%K8b`8Mkb_}_>QIN`k(9sUZ1UdHW;&zM|_Yn zwwS5o8fYeaib=809vt{!pN(Elw$3VxN}=RQO8DmSuZ`fd(Lf+DtqE2LY`{a9w1GRt zy1JZG^kIRWg9D*L*Z~drc7t)H0av6<;ZTlHE%`$~2}xewH)^FhIXMSs0o4W{D=T~8 zXuMDs#n__E5)ocrDGn5z;FjIYt7?NoA29&3#KpzK82AMQ9^08tj*s^c<4zP;Vg&^S z$%qfH76>H2?e%<}_|!sYIY<-$`U>0f;<%n6l3B7L3`W&~kC>CnIPJZXv{K0? z{>lG(ey)N^68HRl!Q~1&Q3Nid8g~_sN%JHxv1xmTQZd*%L=iI1&fDiktF1MJ)Jw5}7E40lFWcJ_3mGkU2zjy~{kL>q|=3jVRIdw1#b z+DtT1Cwl9WW@Q974l$_tj7DSpVisw!7AGbxOfA-RrVPJ*6Zz>a5u zqodTSr^7*3ois3+ z+LO+76jERJNJjs)ePq^^6yz>(giQFG014NrI{W)Vmuo^(PIV1m<+Wf2nI^Bq=DCGO)@J-eLAeSF3{>KqC$Zewt6^<@;v=<>j2Q9%|FrG*nW5 zD&pUO!bLo4+xsC~kd>LsJ6KeS-7DKDEM%Oi)77oxV$O=!*U?!y@RhUE*Vot9zE`m- zvOLpaH}aG9o^~}DFa}(DhK3slXPXWVJB{l*%Xy{8^rDj^BbwUUwXXA_J3B6P=IIMo z*~f>!tO5hCF6&;s=m-t;2WXq%_U!Eb{> zb5&5#kMnP9C0;+jh4|`Zl*%%IN~zXCTFP2mub!^RIr%jPyZv4112q$Tw!a!_j^8XX z%8wi{sdJk8@k4_{1d34*X<$2(#!k8fQApniOqRQ%ue-ge6* z@j9zM@&b&$k^bmUv7~Nlg4^eSV4{0^=s=}K(fJ`3PL#{FkjTJ=AJT;FI!tsia)A=2 zOv!FYea%!aQKYFpD95WpvcMO*V?8}RR%|WiosnSO^=xiwyuqw%mr&aA@ zM8P4DoZa}oyhq{;9dhhBE`>V7c6H|bR3*2dj88jk!wnjq>zR$Akaa?Oc^5Lz++*Tk z7RgB|oZrQwU`0?$mCnzDg~{e!o&pI+?W}bhuTZG%$?9c5!^&Co_4F*_!82r4bg;97 z;^7Vs^)h}$5FQBC;M>T8-n~lzCY-L>6eXIdX6+2i6DaalaeJx(3w~HVUMy?)gF(KQ z?iaqCAw6APFupv+QdktVTW;2)j0n$)=68jNJHLE%;!b+<{7rw&Dw6XFTMA?aEP|CZn_NM`Qlg%_!m)BR~;NY+(AV3CQNyK&aUmxy@O-)TTn016L zjwE{tt{fxcp-@lN4Jin^0S$A`A~2oe%!UR8P-yw7Y=@fC+0uncIRKhSd6R zuFWidxx>eI=>Wm_u;izSu>vUc`2-3%ad6gbPW|zi>6v3EuR$8o%x8j&C^0%rQqUoD zoe1E>FatNh;6f#wX=J%HrU8S z7}ry0(d3VnAFaw1AP_zI_do_|O`5l*zTN)!Xu=e;<~fkgz2@5rz*Lv!i>shuE{Urs zp^vI+XmL8!#?NASR8ajMekWJ!=~5j2`)HqJs?}oU44TN$CpHB|2yz(;`DDE6mcUT! z2Vo4C1veM6Xf|AS9UVE}L1`#H=>waN-4g|-_qsTmum@IJjKO zoV2Ov)S<2NBGyUkz|8>684P>DB$ z`yE^k^1gLcyov1LE3Wguon*GPhHKU-EO!`nxG1d+C3fAXsweS0M`OM%8=M75B&)G# zKVW&MaC5y|)n@LjsyYNfB}Ed=K0#RW-;I1aH44IrFa{_*41e_RSwNviG)e0FRDhae zErj9R#VvgL)WXkBHP`xA;jB-*Q;hJqb6c*4=WnJIvYSrgu2C+`i`_Q?9lG;45*i7i zfN9I%m|6>e@#y9oK~#B@rW)h_8>8$M|(Mzb8kRBf_qNK=XhB`H6o^Mv6_FX`&0vve$LijYdb5OJ|_dGx|IA*KKojKEI~ z8xY|A1K;qn$)K7ZX&5cVOpi4@YA4!RAzaH#nXy)0+6?&_MdzbI(Y-fPt-}3GR8&+# zq{H1^bJ%P2i&(b$Fm2@>Z`13=f zoj$(XqVxUx?N6W10$K|T?=V_rvki1)uqaZ<3!XPtSC1_3fqlX6t`3~xVIl< zI$Dp9b`QZ_YK+dQW?!qXmnF^*zCL?RK-OQQ02Remnj$rj!fKR@w zy}e@T=vhEMl9Do)m-zMl{yc0zCp0Hfd~%*P30)9)Y^Zq`g;d{oFi^eQd@!sb|Ki9l zh2a*2#iZAUkJj`QS*XFQ`gU1ZKGooBng)Ueip!F^ES$ftt9x`7P>kah#sHIni831~ zRhDM$a=pCHAJb-}(qqi{I;=Y+pV~!BwbSDNkSFMavJ2W*&q@;cTg%t`REqz$j0wel zcNoJXUQ-PLSJk{XeIHJ9Q%5|dP4@k8`@Cc@_eHp_Pk@9e^<(*9uZW?a5Ar$ejTPTl ztG=H)oU^~hb_pb}7Z-1Vrl}slIXC@t>A*)M9H>q{j4;yiU%&n|&dtm;dGF=}(gL`+ z6ocFL*NHj*-Ig*hnTez1#U~k}L2U(8pG|%MhO>M9zDd16qGhpR{_+$psYh|2vCADG z=ZhaC^s&$14?e_r0tO4zjSe%76qc^VN0lDhWercOab7^(?k=34pOeSPiP7CGCSCIo zNlZ*k)YsQPjd9IpgP4IHIb!!~_k>==BYZXUv1x07kB?740GyE`MsAWi!%cXwN5>RF z-p2pc%y9H$(;A(2xLo`0k$pDhoe1V+C=t~VjfE-%LLrs$?Wtt`EV0u3(rnXU!mu%( z-*}Jhoa7;$Lv({$cATfkr^XPLtVcF;G{9`7vYXF2)sTQSE5^;04ZN}^zZQ2K%vmC* zV*c10Yi(#!u!hTNlwM-5X;H9)6(FwA;1#1Y<)z-)-Svi}>zw1OmxaM>(^Tu;wgxO$4dB5m+LPA^yH10MhzmC^q7xJv7~A;*J@FqjzxY4h$g z?k`s5r399DWNy4mxEKgdh;Uaod>z)*R2sMZt>wb>@t+*77$MHqXBc(uygSO*@SMtSkPSgjYwJpI!y6MK`@reAM}wMbQnJvF=N^02pZ#Vo+>&sbHdc@K3j?ispVu<@4aqVvHw=6MQFG7qoHQkG_I;QHovAU0PXlPI^ zyb@woV+M6thHxuY>xeT>PELcp;?5{C>=dvMl3#pis&MR%y$_Spq|hC^2gS>T=~LhX ztuD6`8^&P8_h6vL3#mX|R?hjCyvJb7Dsg$d66rsxDzyE(<)Uf+%7rhB7%!~mBR=kr zufJCZGH%5ZcfPTbhT-Yz8k&smN=LGy-NRvmqdwIJ%^M{-yghB#M^%jBjuVxu!rTQI zqOkVwVqB(neJQNrZ?~u-q-rlZLHP*Xx zEhH#Z0*a)wvolNQ{CGz4WiM^rYHZQMkzWg)0Gu>Rrm(+XNnSHE1(7#RAij;->FkiB zmVvwpFqv;TLCw^)-CXS|rW~GOf+XOiC&$P8Vg(a%9}V&mv9w@=wFdfgXT+hGPe5~Y z#=3&9QnmDqd8mp1&saLS2$Z0&#l?vJ&Qg}UW7gPF=Nu091>{|`Np5zw40KFKR~Dj% z$_)s_rZG@`S3%NO?t^l zNp1MDitKYG0vqe<#<53r_4W5;;8CB0Zqas1b9Da|lRg?)`8|YTE?OW^)gKgJJt$A` zE;>0#Y^>oKN(lkVXM5uvuIX269ABJsR+-ad@jgc=^L%>_d0bq=TLl$Ah|}a!0&}qt z#t;o*5JWv$;du83q;n#pVPOzF7_N^?TK&%nt(i<7pOT0W8OWWyjV%o+qzv!(^)KIa zgw0DLY=>t(9s++p1=!egqosgYVi*V6CPmgiV(ioGvp>3!W0TXS^+W@swjcb^@=1by zH^wv5dlE^6R1;*HaEHHIdi(ZmmXpKhwi}&^nB>K30y-ZC@=pLs&R^6Ar?J?3a0&{F zwgSpa6?}1NdcA5&={e=Y2`tjDn+^pS^cr*1ZYTjQEo}}hjY5=ya3WU1x4f`UO*eI~ z`iV4*xDyh7`*n~s3?|bWlJQt7UIh9C)0B!EE=+2eZauSBiEN^wr4>jjt*fi!d)Z(; zkls?Y`x-(@Mj9o1KaPs~E?ys>3Iu|7Pi?IESfg^ex#>VDoR{nkfhob{@IV(cr%6HF zRpOPa#L7Uks2jQNYY`sj9}MO`4RAds$-9ypO289Nd<~0&G2lUX-(oszyi^8O@Pq8U zK4>65W+Ho{rF)+N$h$5r&Mn)b5J<22(0VZ>9?kYte5xgfQx!ur^aNfV+Z`x>lce(EuBM90JItbIbnnZ`Ix*WA z9}J?iu|ekEYRcIfP8a0r3;lWFKYRe;=H5XV-IKxtA&}6gS^aoGdV6}zR7}CRARNAI zL+F`CW4OOuEuf4tX2`vBIY`H8Wk~5yj3`dr{wpR~yEc_m;7LdYf9=~*n=M}!f`GKw zJO=p%{1WSZF^rnoF+<+KHnSAvtjy%U+{V8w15xvWa3afqQ&hSoGigJJMYN&6PdGap zyG-aiM6AsSjMaWeF@00$bC0%?p^Z@Z8{7q9Qp_Hd2?BXL0A-x1_8lDhRCjy0*J}nP z7k>v*iGAheHCZPvD0sX%z;hrLygW^tnN@{7-y#=X--;49uYEhU@loJ}ezNU+dJHmX zXHDn1MfjP9SmhXLto|8`aY0vGqU&5{{hALZ8);peFA|?oahd!c^%NBpnVa!{3Bxng zyA>)m(7Z+e-~gq-$3kwJVr-P zuVmC7YR&+2gA)uWjqo?OLU;(nVYoO;!h`P5tD!I;*22-nKcBO`b%%r8#L@9Fxs04< zz)}pm7m^GQw_BzIg>0M0h4Fj&Mkhpl@&DBY5MzaBz zL-v}mnyP97m{t=C6!OPDsSY>Q6Zd3%O1!v3U_f8g)fGt`B|3}Gw^X+r;RT_LB-5Y` zZ{W>jTjY_bhJWw%=HoA^W zS&yHx$s#+cShCv!vSvYt~dk8n&8;_SEMEH}#Cqmy?gpX!<0cF$M z8v_IrN{E9TrUn$`_wKi(?|9yF)JP#b2h}A!r;K z16+OxgqLJdn6xWk1-HLCU{(1cEl*2eBNX8>+F5B9X|44<8m>AC?NJ%0jEx zUF%F5dlL$r$wewVJ)31??6YfFZmrd$oM%wNiI)A$d5RZ-K?B^Rq@-%Gc}Q0xBboMU{|o|#JnM!BN_0yk;ozQ#0QjHQng32ik!ejWhiP_M_Z!R z^LuS-6S0J0Zw72j$+abY_t`;;V%0a_TUb>)dRYdFBdR<)*h--yn_0pU&4ix{!@aw+ zv%!(QCPaU>rYbb+HFG{QndS{wSUA<<{o8!DyTvsXycH7)+ZWpr4mun^!nR(f@z6BR zO-)sscUFnhjjbQ}Hgn4KR)4y=YHRae&-3s6gw^bfxB*OQWv zJizyKvT80X6v=yWd~yQd!9^hfoeB#%0U4c>L+<*?1@ryF*4EbFcEi{skKcn^Y22*x z?-!EC}2qXeowvOX+lLrXP*dw{>;z%G8N# z&*`S)6-;1H0FwOf)UU#ZhZB}+?fJ3<5naT93*nmiPR$%`BX|AL!)M|9?rmXh^5y2A zu`RBZ*q7c6@zFY= zFSM}Sfh_1a6!^8kan_{3Zf+iLO<88I*-BnaWoKtEqmxQUH$ZOYlR-7p+df3>cfyCy znLr2#h`hp2_3_Z|w(|H0Yd^KoFUH&%W1dBblDB0(0fZJ-z}Cs+p*id8>ucI+^>=dm zaB;|Cn0~jgQ0heri&}e42~8x9h_SXQJEsR1Wloz}s5y1IH9js*_xrpZ>_ZwFzWoR} zry3^mI}x2zPA_$>gMZjQBQ5-*!Q~g&YVSC`eiENZdb1|fcD;NdVWP!YEFG~vG$kHK z^i9KfVwG3nzfSYi7ytA)-aHkcT>s;<2UOg~4FMuc!cmjd=HZO^UA!b~r{AN!IkGnV zrFD4sYglB7As;?&-YL|XI6~j-Rm(Ar{QBhuaQN(HVGa(2)E(wySx)SB$1e;;4$HQ0 zu+J{)ZR%PRRzcu|z?O1_-TUjD4fQOm4T6IuAyP2Bw)r;q((voMAgl4ecSBsNfyNvrXj*=51&_0 zm0DgBLZp81CO8Q?il_w#2Xj$kx3;#ncj;*!oK0bZC=;I3`z(YuHa0ThLm&m1C>U-y z`9$|6{?}*z*ANJD770`VNCVjD<{y{x>x6t@g{I6)WxbO}QkG6t+`4Qn;v^z`ezK!H5% zpJ=@-<_YZECHWi{;zU_i4=-Net#Nui`(FIw7+jrPCg|`z{avY>)uwsh%e^*Rds6Mu zw`aNeYNf#SVo_uY&n%gpn`>SE`Vdgos^r-7{bTQ1~d0 zekm#O6~o-@tbS5Rgip0#QQ^V^H9#D>{!4b_2HZT5FDveAn*3tSt|t2`H1*T8jyNLk7W#{Bna6U4`@WV-gLJ0h1;PV5DUwfwTcpy77(+!>j)8da?v;+PTniayV znGTC$?4k&fV+#7a(DBKr?$xVTYUmP>bW(XrO?>-SD8O>nbtQs8+V^?>yS8lT`=T2! z1#wiT2}pw;Ib`>k^iBl|jq*2v)}`)!LUu?m?DMx8O{cAkTCYStt8;$K!aie?hK-+P8IRNx<6TMVZJ_%{*8XO z{fb8Z5Yd`uCaM<*`&xjPm(O9Ez9|THUYzWjHh5TbQOU1lr{SvB*I1b#Kho9=$!0q6Tc0RpSm1;ih)0SS||o9+Uyp9);X4r4KMOag6)OvHbSl=$?<0kbstL14G`jw5ZR?C4M zI9aF4U`^RTJB#19O^K`NmqPYe+hfJ;Y3MG-`uTUKW(9OR1m@+H3jW@1dyCVlsuCA^;@41orc}Y=GzlC-j=ps+>*#JnCVFGtN!N~!CkiXe&SkLDP+KY=c2UgVo zl&&m!pN%mE-pEw)j7hLY>|J+R)nLA(oNjO%n{abVzNs(DTjS#ZWV(X9Agt&Gi$(U@ z)yceTwhiD)$czUygS)XXP;sYIqmmPGXZP6E#6a#uyhWV(Ju`TCl0FL%f3;>4p6^g5 zyO}x`r9pJakA|ww-@muOgxCuXNg?D8uKt)P>y z_0!1zK&LA$1+oLB%zp?akiV*qRX*h9)8~t7xVkt=N=TUXo)5er-3neTrfS<43JyG7 z=l~)*KxuPxb2~dbtB>@Yr)rAZ04rpvAeXW8@F2GwEVQz=E=KGZbJW8^SSun>C$Ol8 zOKjvZAQM+LQGpeOEJzjv$Y9nCve&lj=S_@^a+HeU=w#~$9GkR^b|ntR6CQaWVz3*u zJOA?KOF`%9!}eQbEN}ZNE4e37y1I{74y&uHL5n)u-i9w_b<$YI8_av_SvpNDinP{O zoq))s)A%1*g+wl+>dUUZVQ?eZMpDKVmk?&kJ`=;!ZEs!qBSXjwJOpiy9c06`r@ zx3GSmp0x_2K=?rFQ-r?|4gkq;?NV?YgGJGTxf#ls$1ZvpAn{g}eRRW)e-magnXW9= zYLFS*eHUZ?0%!!*X@sfcdJ_UdLQgw+D06H^T*oth@v9yn3f&l}3GrV`OT+k8Z!H+_ zY4XRitL1`>iL!02lV~%t=@l~g>d2_xBepNU3g7uG*L*uMlYO4pn z12t-SqDL!l)hj{x$IR^Ar%&6f8K(I{u5%M@*QkLSkPV|CWWD$575^i;Bp@~poAL)^ z>po36v85?Ba+}w-kL!&|T>kA$0>1um-m}rZ!F@+Pm3Y;E){O4R=HA{OFpxnD##S~3 z0d7No)=U4c?J}J{vL3Dc%zTKg zMQs=ZICgP%ur7H#X_+RFwsp3E0s-#7R?zpq3ZUd9>*}JG>HyA741Xdvf~{409*J zeJ2xdq!5@NUS4jnyD|o!r1IAR>@hK&(cq$-a{T_>r@8E7CTa!(dAh4pXrN&gaaQ3w zXZ|W}ewRwVwY4mt3DKM4_$`)ek7*ZX+g*Nt!z+9JY{sSOQ)}xS{eD~Hs%}0S_PxKq zA5b8$OYO4Pj{I)U3T{L)2E@S%l8OD50?i3z6RfKl+B#@iXZ31Axy2%rAyQBj8$0{Y z4VLdxnk?~mzf;KIGT?;77QGp;MxeCIex(mpu`U@xfnhU{!Gl>paI!#97TIa9cPXLuKl>I)(|}IZ(g8EZZA-VnR{dM^Wo($Wm*- zRb%CA^W9WVG4*Aac_M^Yj86qx_Nij7+SAC$XvWJQ8~U2y(fj+c4??v*;$2+qZExUn9 zvXky`RZU86<4FyDG}{(GaVPdjhEPX0udgn*A@@ay0Yw*9-*m!vb7kLpfR{idezdG> zWrd>nOI^7r1!2qO{r~`|Vj175p9+cgWRma}|B{dPMCL3D%k-T9Wt}H*^^q(yvqIv- zro~9w>t)GnX398L@|bt?828-Qdw{lq@C7((AyEqALVP3fm!Wa0)C-N&mWEmv=l+Rs ziFCD6{ZEbKD5Oj^gJPCS3CcW&MKN0;6t>wY@#KknW2vK+7eAa(Q_0bB^XY~ax56!) zx#d0HQudq?6U|hz;L}bq4826aBw&4-R))i?9%Ag|DYqy}?v(|!YVeZ`c=;%PK`Ovl zq(Uuc#MYvh`{~MB8j33`)mB&scoDR=1cgNiIoK2Nqj?YQ{NB zB@&<0we@Vxim$%5Rcs-vGjHf!>8y|quasGc03=2ZOo>sM;;9$mK33*cvQ zR6LcRJ|P>uI6g3BsSK-RklYRB{X<5b{s4*xc^)cd77zd+j#1_7CyA=66bB;VZ=6Ld zvEZ~y0HY~_BD3oaOCRg!;YL zH<_+4L_$isHB&!dz2ze&!OMFX!4pteQGx9sp!ZV2j_I2szdEF08%?Ubfgaw{(lQwI zsj5nyg}h9MGfRaNh$L1|lG|Op6`vS4uTr~%Tx@G=wZ@M-sFD&k`DzN5kh1_f5b-_S z0L4qOpI&|%*Bw@b0C%Xy_O=oW5M*R(i57=Ut`6tH;M1G5q0N(^t)%kKuTBs)#uac( zPW^f%rs^6~g#_9nGc)s9z%_s>{>M|cH+%FqPiPWq-Y_QF(j_T3|FUfpdDGyIdAzBB z^M<9kwX&hE^=!(vz}b09{D&mp6A8lT8KK|wpUVHxZ&myUm4)I?vdY&mnESt)L3&C%%d)UdjGuu>OS(i<6NrbX?GOkr#Y=EZKb7{|HpvKX>kW+HvHCytOd-;W;1> zvV~xqRc^2F8BV-1pd*5W3^8(9Yy|9*EB9skn&jk6)6l-;8n8f>mfq9;cesZPQtj!- z_+GuKl87UP<@(PEbH^K3FS~CWC6URC(n;uh3D3b%H>>-MEPb(Sd-!1;<(r!?SUl#@ z5XAUHwA7Ehd5lcm2<7Q=l9l>LM6Jpd3L3Tm#@> z$~uudm7kbST?=i}>Tm^!1-RsNLL>Sll zjARQqs^yFIZ9NuLk1Q`&xt%wEb_e3qsXzcgnirt*02&H7j`JqyA}IX){i}dkuO77j z_FtU3qN3tymWr$E?)xMOklt~izMZ4MNI?kf1+COD#dUzuf;Y7b&JWplgj7A7THb3Q z4i68xkc~P=etO7yzl+K|vG1U6f&UNodO!dGNt%>$nuixxg&K$o+iSFGQ0Uo^#XW81 z4DN@tw9MfE!RzYisHm&wlz{UHu1%;bU|Ec6g-S{3-G_wC@7i8Fy0NWhcN4`7JhQ>k z;1}k%$hHxNg8=qVe&@xo}>Y!fZ*5v z&jL)SrmxC$@Wy+gPy&!>d($;R4PD(-)=@5(`3B~Ufd_SEc#t zP82zhRW8wnKx`yxD$priyl5PV6PkN9@~#Yvw3Ybd33otblXZY`8a27+b9vgQ7VqAH zFln-}F4XYZk11dZG4b7F6A=xk@_vlu}|#bp3Xc&m5HYFNyQQm+iE$Q=j;n2$o9KS!vrUiMBmxd339|(9pM&iPWOK`EVGXE+6 z(4&4W28u+$8=Y>06QAe3y)YT5rI>&KYN=}v92-R<6NJyVYTMpHhYKX<-E)DSh=*JF zZyyaiI`yx5=#99k46GA@1eR;S@{Lhj(A6ibizY?HQIHaj+g}@B>vg=!yO5`WZa(Sx z?}FM+)=)y*vrQ+<1*emB+eQy(_=#Unj>q1ARJS{QmYfvup|q;Lu1=2vD0G;eM+}EI z>)S)iD+nxVul~4vr`)9cBr876B7EzD??NJLBfr?+Z@03tWruz~>lL(rxl(oBaI)B zBWVEA0XfY991J8RCQlAk88x#nF?d7V`4go*p-Rl`HTrp!LMFNhL2OuJ%@poNOrQjR z@%*j~7C_>>2J{fb#??EQX?5hprrW3}(qJ8(yNSgLo^0 zF3SR{Pl+wv++ddrfY6CPduEt@t3vp{q;|1eYj~gQfSNPt19?}9=wIGTHG3c|^l9Za zNesy*R%=Q=g(cDuPx=Qx(XyT0_V%l1)XJG9eIWRkgA#_9*h?J#kOfS3vf8n}Jk|aCzwLyC4jG5g38Ac$m29$02-%y+N=DhCY>qmzM@8f|lfAP# zW~a>T9YP2Rzsu+M`1a5J$K7yvzhAHGdd{KANzlB*qLZw}qrlEYLjgyYgT1|1z_lP! z+B>O@KWhVl>QIShI`zmuU+x)`1m`s#Pp_zAQ1h#H6(?kIOt=*&Dk=(A20F!2FAC2> zr&Pch(lRpx0qSNFGGE*B#b`Ubx`4{Bx3`y5Xr$aO8oUlpBo$(;v5Mmwy2#ct>#}9f z8cz2&eqR>TH#kDTH<6nwU;pV6ar4aY-&CQX@~`z;xhua@a=-F{wM%YsabMqP>x}Tu zOUXFWI+{$@2rKWp3@c^@x@m$o0nI0xlK#q03Q6TrA3OIN&c>Fq`QY23q$0~p*R}PQ zgt}}m2UmTLxP@q;K5r};#}c7%r`pQ#9YtShkC;PW{n4NChj`pQLqjW;BA8~HpHdp* zRCvDReH~~RedwLaiU0D2Q!-O7=y*A&4So!-<8*$f13LbnMU!lz+8R7ByFb6fCk2;k z_r42Y0)&;Yzl)S|`z=jJ<4rAI;5%#+y@JhSq2OJ5UH;A_mae>1&beu^P#oKJVY@2e z_ox1#t?jLq6nHU=T>g%NvT3R@pz4RGrl`p3?h~oL%wBt^)XNA4+4haSFXe9wAHY6h z<`bZbed{yn2OI^AwET%`TDLo4c(3(uXIwY@I47w?SR49p7%m=p&Vi|^6CgZ6fPXsi z(@_3*YE-*-&4Sp1*rd5d>BQjNj+OiQ`7w7X<71I*C68tSrJxunqj=<${l5t|qFXxp4&K-A26e0)w1S2k= zV1m^_nt@!Fb6^)-Yi0p+?Zth?#gki+XI}HpNFKul@L4zp%V1} z;=yhVvk3OBDbKkW3ik)#|HPs*m$V5z3!cmoHKy09lS=P%-c~BtH(=x<%NbQ3+TZte zxb2X02gFB5O3xlYu4IbH%g+aN_=juN_zco46a4zAsgZQG-uQd3nT>Je_XGx(gT2p{ zw}T-FEKhNBsLqtGC{Qu_2@QW@mG`rL^L=mJhg-%KF^lP4hk4V zC&iXNf}NdRxT2M#<8tQHU!cDW`b)^7<&Z(JJ^Ws1fa-Kgg%z{v?74FmYrg<~*k||g zug%E;10l1aDVRFp_=7{w;PJ?7q{>+untgv+Nm?>*jJVK^ql8tV%aP$gJPxF? z=alG^xz97sOn+w^YN*S%p}7UL29amw$B*ECPR-Mv;A4t@r>6U)ieVX(Fa3GT$lu%Z z2|q(5h)Dqb+wt;|J05uhn&~>&|I1{D_Y@^TQK?;C)5-DH2_I8TKOMmT*>eVQEgXHwt5oy-nZ~1_^fD@U8WwgxZ zmZ8HrMMw3gCV`e9TsANBa+1wT2Cki(_@{Mh9?<%2!md?mOMam51j7=)S>B)Yy3UJT zotyh10_q}fW0∓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 S$#?iQB0Nq_@x463@BaYg;|`br literal 0 HcmV?d00001 diff --git a/wxPython/docs/wxPackage.txt b/wxPython/docs/wxPackage.txt new file mode 100644 index 0000000000..6c68831424 --- /dev/null +++ b/wxPython/docs/wxPackage.txt @@ -0,0 +1,180 @@ +========================= + The wxPython wx Package +========================= + +-------------------------------------------------- + Or, how to survive the new wx namespace changes. +-------------------------------------------------- + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ + +.. _Orbtech: http://www.orbtech.com/ + +.. contents:: + + +Introduction +============ + +Big things sometimes come in small packages. This is certainly true +of the new wx package, which is being introduced in wxPython 2.4.1 as +a way to allow the "wx" prefix to be dropped from the names of all +wxPython classes, functions, and constants. This document should +answer all the questions you might have concerning the new wx package. +If not, feel free to contact the author. I hope you like the new wx +package as much as I do. + + +Why change anything? +==================== + +This change is being made for a couple of reasons. The first reason +is to discourage the use of ``import *``, which is a dangerous +technique that can create name conflicts and bloated namespaces. + +The second reason is to remove what some perceive to be a "wart." For +example, the following code is rather ugly in that the "wx" prefix on +the wxFrame class name is no longer useful when you're using the wx +module prefix:: + + from wxPython import wx + + class Frame(wx.wxFrame) + +The new wx package allows you to write code like this, instead:: + + import wx + + class Frame(wx.Frame) + +The third reason is that the wxWindows project intends to do the same +thing (implement a new wx namespace and drop the "wx" prefix) and we +want wxPython to lead the way. + + +What does the new wx package do? +================================ + +As a way of getting to this new syntax as quickly as possible, the +code in this new wx package was created. What it does is alter the +existing wx namespace dynamically. By making the changes on-the-fly +at runtime, we can try out the new syntax before any permanent changes +are made to the underlying class library. The downside of making +these changes at runtime is that there is a slight delay when you +``import wx``; the upside is that you can start using the new syntax +now. + + +Will any of this effect my existing code? +========================================= + +No. Your existing code will continue to work and be supported for +some time. It will be up to you to decide when to switch to the new +syntax. But all new documentation and code examples will use the new +syntax. So don't wait too long. You wouldn't want anyone calling you +old-fashioned, would you? + + +How does the new wx package work? +================================= + +It's pretty simple, and pretty clever. The wx directory contains an +``__init__.py`` file, making it a Python package. (In contrast, the +old wxPython.wx module is a module, not a package.) When you ``import +wx`` the code in the ``__init__.py`` file is executed, and that's +where all the magic takes place. Let's take a look at the code inside +the ``__init__.py`` file: + +.. include:: ../wx/__init__.py + :literal: + +Namespaces in Python are implemented as dictionaries. The dictionary +used to create the wx package's namespace is accessible using the +``globals()`` function. The dictionary used to create the old +wxPython.wx module's namespace is ``wx.__dict__``. Once we have these +two dictionaries, it's a simple matter of iterating through one, +changing the names, adding the renamed object to the other dictionary, +and cleaning up a few local variables and imported modules. Voila! + + +What about all the other modules, like grid, html, and stc? +=========================================================== + +There's more to wxPython than just the wx namespace. And we've got +those extra modules covered as well. For each of those modules (as +well as the lib package) we've got matching modules in the new wx +package. Let's take a look at a few of them. + +Here is ``html.py``: + +.. include:: ../wx/html.py + :literal: + +And here is ``lib/dialogs.py``: + +.. include:: ../wx/lib/dialogs.py + :literal: + +As you can see, they both rely on the ``prefix.rename()`` function +defined in ``prefix.py``: + +.. include:: ../wx/prefix.py + :literal: + +Again, the technique is very similar to the one used by the wx +package. + + +How do I use this new wx package? +================================= + +The wx package is automatically created when you install wxPython +version 2.4.1 or higher. So all you have to do is:: + + import wx + + +What are the issues with converting old code to use the new wx package? +======================================================================= + +Obviously, you need to change your import statements from:: + + from wxPython import wx + +or:: + + from wxPython.wx import * + +to:: + + import wx + +Then you need to refer to wx attributes without a "wx" prefix, such +as:: + + class MyFrame(wx.Frame): + +In most cases, existing code can be modified with a simple search and +replace. + +One extra issue you might run into when converting existing code is +that the wx.__version__ attribute is no longer available, since the +new wx namespace doesn't include any private attributes from the old +wxPython.wx namespace. The solution is to use the wx.VERSION_STRING +attribute, which was introduced in wxPython 2.4.1. + + +Where can I find example programs using the new wx syntax? +========================================================== + +Example programs are included in the wxPython/samples/wx_examples +directory, and are documented in the wxPythonExamples_ documentation +file. Also, all the code in the py package uses the new wx syntax. +You can learn more about these in the PyManual_. + +.. _wxPythonExamples: wxPythonExamples.html +.. _PyManual: PyManual.html diff --git a/wxPython/docs/wxPythonDocs.txt b/wxPython/docs/wxPythonDocs.txt new file mode 100644 index 0000000000..cbc378ecc4 --- /dev/null +++ b/wxPython/docs/wxPythonDocs.txt @@ -0,0 +1,77 @@ +======================== + wxPython Documentation +======================== + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ + +.. _Orbtech: http://www.orbtech.com/ + + +wxPython Manual +=============== + +`The wxPython Manual`_ is a reference to the wxPython toolkit. + +.. _The wxPython Manual: wxPythonManual.html + + +wxPython Developer Reference +============================ + +`The wxPython source code documentation`_ is for developers, and was +created using the Epydoc tool. + +.. _The wxPython source code documentation: http://www.orbtech.com/www/wx/epydoc/ + + +wxPython Tutorial +================= + +`The wxPython Tutorial`_ will help get you started with wxPython. + +.. _The wxPython Tutorial: wxPythonTutorial.html + + +wxPython Examples +================= + +`The wxPython Examples`_ illustrates example programs using wxPython. + +.. _The wxPython Examples: wxPythonExamples.html + + +wx Package +========== + +`The wxPython wx Package`_ explains the new prefix-less wx package. + +.. _The wxPython wx Package: wxPackage.html + + +Py Manual +========= + +`The Py Manual`_ documents the Py collection of programs and source +code modules, including: + +* PyAlaCarte +* PyAlaMode +* PyCrust +* PyFilling +* PyShell +* PyWrap + +.. _The Py Manual: PyManual.html + + +Py Developer Reference +====================== + +`The Py source code documentation`_ is for developers, and was created +using the Epydoc tool. + +.. _The Py source code documentation: http://www.orbtech.com/www/wx/epydoc/public/wx.py-module.html diff --git a/wxPython/docs/wxPythonExamples.txt b/wxPython/docs/wxPythonExamples.txt new file mode 100644 index 0000000000..80c178a6ae --- /dev/null +++ b/wxPython/docs/wxPythonExamples.txt @@ -0,0 +1,118 @@ +================================= + Example Programs Using wxPython +================================= + +-------------------------------------------------- + A survival guide for the post-wx-prefixed world. +-------------------------------------------------- + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ + +.. _Orbtech: http://www.orbtech.com/ + +.. contents:: + + +Introduction +============ + +This document illustrates example programs using wxPython. All the +examples make use of the new wx package syntax introduced in wxPython +2.4.1, which is a bit different than older examples you might come +across. + + +Background (with tongue firmly in cheek) +======================================== + +If something hits you on the head, don't run around screaming that the +sky is falling. Instead, take a close look and see if it wasn't a +"wx" prefix that hit you. Apparently, they're dropping off wxPython +class names like flies dropping dead in the scorching heat of a +summer's day. + +Yes, the world is changing, and even our little wxPython world must +change with it. Then again, I'm not fond of pesky summertime flies, +and I'm not too upset that the "wx" prefixes are going to bite the +dust. I think it's for the best. But, being the kind, considerate +person that I am, I decided to write this guide to make the wx +namespace transition easier for everyone, even Chicken Little. + +.. note:: Say what? + + If you have no idea what I mean by the "wx namespace transition," + consider yourself lucky. You can simply use these examples to + learn wxPython in its current state (beginning with wxPython + version 2.4.1). All you need to know is that previous wxPython + code used a slightly different syntax that some folks (including + me) considered ugly. So we changed it. And that's when the sky + starting falling... + + If you want more of the technical details, read the `wx package + documentation`_. + + .. _wx package documentation: wxPackage.html + + +Rather than simply **tell** you that everything will be okay, I +decided to **show** you that everything will be okay. To do that, +I've created a bunch of example programs using the new wx package. I +hope you like them. + + +Basic Program Example +===================== + +It doesn't get much simpler than this. Every wxPython program needs +an application and a frame. To encourage good coding habits, I've +split them into separate modules. They don't do much, but they're a +good starting point. + +I include a simple App class in the frame module because the PyWrap +"wrapper" utility (``pywrap``) only works with modules that contain an +application class. So including a simple one in each of your frame +modules allows you to use the PyWrap runtime wrapper and debug your +frames independent of your full application. + +Here is the module (``frame.py``) that defines the frame class: + +.. include:: ../samples/wx_examples/basic/frame.py + :literal: + +And here is the module (``app.py``) that defines the application class +and imports the frame from ``frame.py``: + +.. include:: ../samples/wx_examples/basic/app.py + :literal: + + +Hello wxPython Example +====================== + +This program displays an image file (``wxPython.jpg``) inside a frame +sized to match the graphic. + +.. figure:: screenshots/hello-win98.png + :scale: 100 + + Running ``hello.py`` on Windows. + +.. figure:: screenshots/hello-linux.png + :scale: 100 + + Running ``hello.py`` on Linux. + +.. figure:: screenshots/hello-mac.png + :scale: 100 + + Running ``hello.py`` on Mac OS X. + +Here is the source code for ``hello.py``: + +.. include:: ../samples/wx_examples/hello/hello.py + :literal: + diff --git a/wxPython/docs/wxPythonManual.txt b/wxPython/docs/wxPythonManual.txt new file mode 100644 index 0000000000..f01b493fc6 --- /dev/null +++ b/wxPython/docs/wxPythonManual.txt @@ -0,0 +1,1040 @@ +===================== + The wxPython Manual +===================== + +-------------------------------------------- + A guide to wxPython for Python programmers +-------------------------------------------- + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ +:License: wxWindows Free Documentation Licence, Version 3 + +.. _Orbtech: http://www.orbtech.com/ + +.. contents:: + + +Introduction +============ + +This is a guide to the wxPython GUI toolkit, written **by** a Python +programmer **for** his fellow Python programmers. It began as a +simple translation of the wxWindows documentation (which is written +for C++ programmers), and evolved from there. And while there's +nothing wrong with C++... + +Okay, you got me there. I hate C++. That's why I use Python. If you +like C++, go read the wxWindows documentation. If you'd rather read a +guide that's written with Python programmers in mind, keep reading +this one. If you like it, feel free to send me freshly roasted coffee +beans, dark chocolate, and large denomination currency. Better yet, +buy huge quantities of my wxPython book (written with Robin Dunn) and +send one to each of your friends, relatives, and coworkers. + + +What is wxPython? +================= + +wxPython is a GUI toolkit for the Python programming language. It +allows Python programmers to create programs with a robust, highly +functional graphical user interface, simply and easily. It is +implemented as a Python extension module (native code) that wraps the +popular wxWindows cross platform GUI library, which is written in C++. + +Like Python and wxWindows, wxPython is Open Source, which means that +it is free for anyone to use and the source code is available for +anyone to look at and modify. And anyone can contribute fixes or +enhnacments to the project. + +wxPython is a cross-platform toolkit. This means that the same +program will run on multiple platforms without modification. +Currently supported platforms are 32-bit Microsoft Windows, most Unix +or unix-like systems, and Macintosh OS X. + +Since the language is Python, wxPython programs are simple, easy to +write and easy to understand. + + +wxPython requirements +===================== + +To make use of wxPython, you currently need one of the following +setups. + +MS-Windows +---------- + +* A 486 or higher PC running MS Windows. +* At least ?? MB of disk space. + +Linux or Unix +------------- + +* Almost any C++ compiler, including GNU C++ (EGCS 1.1.1 or above). +* Almost any Unix workstation, and one of: GTK+ 1.2, GTK+ 2.0, Motif + 1.2 or higher, Lesstif. +* At least ?? MB of disk space. + +Mac OS X +-------- + +* A PowerPC Mac running Mac OS X 10.x. +* At least ?? MB of disk space. + + +What is wxWindows? +================== + +wxWindows is a C++ framework providing GUI (Graphical User Interface) +and other facilities on more than one platform. Version 2 currently +supports all desktop versions of MS Windows, Unix with GTK+, Unix with +Motif, and MacOS. An OS/2 port is in progress. + +wxWindows was originally developed at the Artificial Intelligence +Applications Institute, University of Edinburgh, for internal use, and +was first made publicly available in 1992. Version 2 is a vastly +improved version written and maintained by Julian Smart, Robert +Roebling, Vadim Zeitlin, Vaclav Slavik and many others. + +Please note that in the following, "MS Windows" often refers to all +platforms related to Microsoft Windows, including 16-bit and 32-bit +variants, unless otherwise stated. All trademarks are acknowledged. + + +Why another cross-platform development tool? +============================================ + +wxWindows was developed to provide a cheap and flexible way to +maximize investment in GUI application development. While a number of +commercial class libraries already existed for cross-platform +development, none met all of the following criteria: + +* low price +* source availability +* simplicity of programming +* support for a wide range of compilers + +Since wxWindows was started, several other free or almost-free GUI +frameworks have emerged. However, none has the range of features, +flexibility, documentation and the well-established development team +that wxWindows has. + +As open source software, wxWindows has benefited from comments, ideas, +bug fixes, enhancements and the sheer enthusiasm of users. This gives +wxWindows a certain advantage over its commercial competitors (and +over free libraries without an independent development team), plus a +robustness against the transience of one individual or company. This +openness and availability of source code is especially important when +the future of thousands of lines of application code may depend upon +the longevity of the underlying class library. + +Version 2 goes much further than previous versions in terms of +generality and features, allowing applications to be produced that are +often indistinguishable from those produced using single-platform +toolkits such as Motif, GTK+ and MFC. + +The importance of using a platform-independent class library cannot be +overstated, since GUI application development is very time-consuming, +and sustained popularity of particular GUIs cannot be guaranteed. +Code can very quickly become obsolete if it addresses the wrong +platform or audience. wxWindows helps to insulate the programmer from +these winds of change. Although wxWindows may not be suitable for +every application (such as an OLE-intensive program), it provides +access to most of the functionality a GUI program normally requires, +plus many extras such as network programming, PostScript output, and +HTML rendering; and it can of course be extended as needs dictate. As +a bonus, it provides a far cleaner and easier programming interface +than the native APIs. Programmers may find it worthwhile to use +wxWindows even if they are developing on only one platform. + +It is impossible to sum up the functionality of wxWindows in a few +paragraphs, but here are some of the benefits: + +* Low cost (free, in fact!) +* You get the source. +* Available on a variety of popular platforms. +* Works with almost all popular C++ compilers and Python. +* Over 50 example programs. +* Over 1000 pages of printable and on-line documentation. +* Includes Tex2RTF, to allow you to produce your own documentation in + Windows Help, HTML and Word RTF formats. +* Simple-to-use, object-oriented API. +* Flexible event system. +* Graphics calls include lines, rounded rectangles, splines, + polylines, etc. +* Constraint-based and sizer-based layouts. +* Print/preview and document/view architectures. +* Toolbar, notebook, tree control, advanced list control classes. +* PostScript generation under Unix, normal MS Windows printing on the + PC. +* MDI (Multiple Document Interface) support. +* Can be used to create DLLs under Windows, dynamic libraries on Unix. +* Common dialogs for file browsing, printing, colour selection, etc. +* Under MS Windows, support for creating metafiles and copying them to + the clipboard. +* An API for invoking help from applications. +* Ready-to-use HTML window (supporting a subset of HTML). +* Dialog Editor for building dialogs. +* Network support via a family of socket and protocol classes. +* Support for platform independent image processing. +* Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, + PNM, PCX). + + +wxPython Overview +================= + +To set a wxPython application going, you will need to derive an App +class and override App.OnInit. + +An application must have a top-level Frame or Dialog window. Each +frame may contain one or more instances of classes such as Panel, +SplitterWindow or other windows and controls. + +A frame can have a MenuBar, a ToolBar, a status line, and an Icon for +when the frame is iconized. + +A Panel is used to place controls (classes derived from Control) which +are used for user interaction. Examples of controls are Button, +CheckBox, Choice, ListBox, RadioBox, Slider. + +Instances of Dialog can also be used for controls, and they have the +advantage of not requiring a separate frame. + +Instead of creating a dialog box and populating it with items, it is +possible to choose one of the convenient common dialog classes, such +as MessageDialog and FileDialog. + +You never draw directly onto a window. Instead, you use a device +context (DC). DC is the base for ClientDC, PaintDC, MemoryDC, +PostScriptDC, MemoryDC, MetafileDC and PrinterDC. If your drawing +functions have DC as a parameter, you can pass any of these DCs to the +function, and thus use the same code to draw to several different +devices. You can draw using the member functions of DC, such as +DC.DrawLine and DC.DrawText. Control colour on a window (Colour) with +brushes (Brush) and pens (Pen). + +.. To intercept events, you add a DECLARE_EVENT_TABLE macro to the + window class declaration, and put a BEGIN_EVENT_TABLE + ... END_EVENT_TABLE block in the implementation file. Between these + macros, you add event macros which map the event (such as a mouse + click) to a member function. These might override predefined event + handlers such as for KeyEvent and MouseEvent. + +Most modern applications will have an on-line, hypertext help system; +for this, you need Help and the HelpController class to control +Help. + +GUI applications aren't all graphical wizardry. You'll also need +lists and hash tables. But since you're working with Python, you +should use the ones Python provides (list, tuple, dict), rather than +the wxWindows versions. Same goes for the database related classes. +The basic rule of thumb is this: If you can do it directly in Python, +you probably should. If there is a reason not to use a Python data +type, wxPython will provide a wrapper for the wxWindows class. + +You will undoubtedly need some platform-independent file functions, +and you may find it handy to maintain and search a list of paths using +PathList. There's a miscellany of operating system and other +functions. + +See also Classes by Category for a list of classes. + + +Utilities and libraries supplied with wxPython +============================================== + +In addition to the core wxWindows library, a number of further +libraries and utilities are supplied with each distribution. + +[Need to list these.] + + +Creating and deleting wxPython objects +====================================== + +[This section needs to be reviewed.] + +.. In general, classes derived from wxWindow must dynamically + allocated with new and deleted with delete. If you delete a window, + all of its children and descendants will be automatically deleted, + so you don't need to delete these descendants explicitly. + +.. When deleting a frame or dialog, use Destroy rather than delete so + that the wxWindows delayed deletion can take effect. This waits + until idle time (when all messages have been processed) to actually + delete the window, to avoid problems associated with the GUI + sending events to deleted windows. + +.. If you decide to allocate a C++ array of objects (such as wxBitmap) + that may be cleaned up by wxWindows, make sure you delete the array + explicitly before wxWindows has a chance to do so on exit, since + calling delete on array members will cause memory problems. + +.. wxColour can be created statically: it is not automatically cleaned + up and is unlikely to be shared between other objects; it is + lightweight enough for copies to be made. + +.. Beware of deleting objects such as a wxPen or wxBitmap if they are + still in use. Windows is particularly sensitive to this: so make + sure you make calls like wxDC::SetPen(wxNullPen) or + wxDC::SelectObject(wxNullBitmap) before deleting a drawing object + that may be in use. Code that doesn't do this will probably work + fine on some platforms, and then fail under Windows. + + +App overview +============ + +Classes: wx.App + +Application initialization +-------------------------- + +The OnInit method defined for a class derived from wx.App will usually +create a top window as a bare minimum. + +OnInit must return a boolean value to indicate whether processing +should continue (True) or not (False). You call App.SetTopWindow to +let wxPython know about the top window. + +An application closes by destroying all windows. Because all frames +must be destroyed for the application to exit, it is advisable to use +parent frames wherever possible when creating new frames, so that +deleting the top level frame will automatically delete child frames. +The alternative is to explicitly delete child frames in the top-level +frame's CloseEvent handler. + +In emergencies the wx.Exit() function can be called to kill the +application, however, normally the application shuts down +automatically, see below. + +An example of defining an application follows:: + + import wx + + from frame import Frame + + class App(wx.App): + """Application class.""" + + def OnInit(self): + self.frame = Frame() + self.frame.Show() + self.SetTopWindow(self.frame) + return True + + def main(): + app = App() + app.MainLoop() + + if __name__ == '__main__': + main() + + +Application shutdown +-------------------- + +The application normally shuts down when the last of its top level +windows is closed. This is normally the expected behaviour and means +that it is enough to call Close() in response to the "Exit" menu +command if your program has a single top level window. If this +behaviour is not desirable, App.SetExitOnFrameDelete can be called to +change it. Note that such logic doesn't apply for the windows shown +before the program enters the main loop: in other words, you can +safely show a dialog from App.OnInit and not be afraid that your +application terminates when this dialog -- which is the last top level +window for the moment -- is closed. + +Another aspect of the application shutdown is the OnExit which is +called when the application exits but before wxPython cleans up its +internal structures. You should delete all wxPython objects that you +created by the time OnExit finishes. + +For example, this code may crash: + +[Need examples of objects needing cleanup to keep app from crashing.] + + +Sizer overview +============== + +Classes: wx.Sizer, wx.GridSizer, wx.FlexGridSizer, wx.BoxSizer, +wx.StaticBoxSizer, wx.NotebookSizer, wx.CreateButtonSizer + +============== ====================================================== + +Sizer Abstract base class. + +GridSizer A sizer for laying out windows in a grid with all + fields having the same size. + +FlexGridSizer A sizer for laying out windows in a flexible grid. + +BoxSizer A sizer for laying out windows in a row or column. + +StaticBoxSizer Same as BoxSizer, but with a surrounding static box. + +NotebookSizer Sizer to use with the Notebook control. + +============== ====================================================== + +Sizers, as represented by the wx.Sizer class and its descendants in +the wxPython class hierarchy, have become the method of choice to +define the layout of controls in dialogs in wxPython because of their +ability to create visually appealing dialogs independent of the +platform, taking into account the differences in size and style of the +individual controls. Editors such as wxDesigner, wxrcedit, XRCed and +wxWorkshop create dialogs based exclusively on sizers, practically +forcing the user to create platform independent layouts without +compromises. + + +The idea behind sizers +---------------------- + +The layout algorithm used by sizers in wxPython is closely related to +layout systems in other GUI toolkits, such as Java's AWT, the GTK +toolkit or the Qt toolkit. It is based upon the idea of individual +subwindows reporting their minimal required size and their ability to +get stretched if the size of the parent window has changed. This will +most often mean that the programmer does not set the start-up size of +a dialog, the dialog will rather be assigned a sizer and this sizer +will be queried about the recommended size. This sizer in turn will +query its children (which can be normal windows, empty space or other +sizers) so that a hierarchy of sizers can be constructed. Note that +wx.Sizer does not derive from wx.Window and thus does not interfere +with tab ordering and requires very few resources compared to a real +window on screen. + +What makes sizers so well fitted for use in wxPython is the fact that +every control reports its own minimal size and the algorithm can +handle differences in font sizes or different window (dialog item) +sizes on different platforms without problems. For example, if the +standard font as well as the overall design of Linux/GTK widgets +requires more space than on Windows, the initial dialog size will +automatically be bigger on Linux/GTK than on Windows. + +There are currently five different kinds of sizers available in +wxPython. Each represents either a certain way to lay out dialog items +in a dialog or it fulfils a special task such as wrapping a static box +around a dialog item (or another sizer). These sizers will be +discussed one by one in the text below. + + +Common features +--------------- + +All sizers are containers, that is, they are used to lay out one +dialog item (or several dialog items), which they contain. Such items +are sometimes referred to as the children of the sizer. Independent +of how the individual sizers lay out their children, all children have +certain features in common: + + +A minimal size +~~~~~~~~~~~~~~ + +This minimal size is usually identical to the initial size of the +controls and may either be set explicitly in the size field of the +control constructor or may be calculated by wxPython, typically by +setting the height and/or the width of the item to -1. Note that only +some controls can calculate their size (such as a checkbox) whereas +others (such as a listbox) don't have any natural width or height and +thus require an explicit size. Some controls can calculate their +height, but not their width (e.g. a single line text control): + +[Need graphics] + + +A border +~~~~~~~~ + +The border is just empty space and is used to separate dialog items in +a dialog. This border can either be all around, or at any combination +of sides such as only above and below the control. The thickness of +this border must be set explicitly, typically 5 points. The following +samples show dialogs with only one dialog item (a button) and a border +of 0, 5, and 10 pixels around the button: + +[Need graphics] + + +An alignment +~~~~~~~~~~~~ + +Often, a dialog item is given more space than its minimal size plus +its border. Depending on what flags are used for the respective dialog +item, the dialog item can be made to fill out the available space +entirely, i.e. it will grow to a size larger than the minimal size, or +it will be moved to either the centre of the available space or to +either side of the space. The following sample shows a listbox and +three buttons in a horizontal box sizer; one button is centred, one is +aligned at the top, one is aligned at the bottom: + +[Need graphics] + + +A stretch factor +~~~~~~~~~~~~~~~~ + +If a sizer contains more than one child and it is offered more space +than its children and their borders need, the question arises how to +distribute the surplus space among the children. For this purpose, a +stretch factor may be assigned to each child, where the default value +of 0 indicates that the child will not get more space than its +requested minimum size. A value of more than zero is interpreted in +relation to the sum of all stretch factors in the children of the +respective sizer, i.e. if two children get a stretch factor of 1, they +will get half the extra space each independent of whether one control +has a minimal sizer inferior to the other or not. The following +sample shows a dialog with three buttons, the first one has a stretch +factor of 1 and thus gets stretched, whereas the other two buttons +have a stretch factor of zero and keep their initial width: + +[Need graphics] + +Within wxDesigner, this stretch factor gets set from the Option menu. + + +BoxSizer +-------- + +BoxSizer can lay out its children either vertically or horizontally, +depending on what flag is being used in its constructor. When using a +vertical sizer, each child can be centered, aligned to the right or +aligned to the left. Correspondingly, when using a horizontal sizer, +each child can be centered, aligned at the bottom or aligned at the +top. The stretch factor described in the last paragraph is used for +the main orientation, i.e. when using a horizontal box sizer, the +stretch factor determines how much the child can be stretched +horizontally. The following sample shows the same dialog as in the +last sample, only the box sizer is a vertical box sizer now: + +[Need graphics] + + +StaticBoxSizer +-------------- + +StaticBoxSixer is the same as a BoxSizer, but surrounded by a static +box. Here is a sample: + +[Need graphics] + + +GridSizer +--------- + +GridSizer is a two-dimensional sizer. All children are given the same +size, which is the minimal size required by the biggest child, in this +case the text control in the left bottom border. Either the number of +columns or the number or rows is fixed and the grid sizer will grow in +the respectively other orientation if new children are added: + +[Need graphics] + + +FlexGridSizer +------------- + +Another two-dimensional sizer derived from GridSizer. The width of +each column and the height of each row are calculated individually +according the minimal requirements from the respectively biggest +child. Additionally, columns and rows can be declared to be +stretchable if the sizer is assigned a size different from that which +it requested. The following sample shows the same dialog as the one +above, but using a flex grid sizer: + +[Need graphics] + + +NotebookSizer +------------- + +NotebookSizer can be used with notebooks. It calculates the size of +each notebook page and sets the size of the notebook to the size of +the biggest page plus some extra space required for the notebook tabs +and decorations. + +[Need graphics] + + +Programming with BoxSizer +------------------------- + +The basic idea behind a BoxSizer is that windows will most often be +laid out in rather simple basic geometry, typically in a row or a +column or several hierarchies of either. + +As an example, we will construct a dialog that will contain a text +field at the top and two buttons at the bottom. This can be seen as a +top-hierarchy column with the text at the top and buttons at the +bottom and a low-hierarchy row with an OK button to the left and a +Cancel button to the right. In many cases (particularly dialogs under +Unix and normal frames) the main window will be resizable by the user +and this change of size will have to get propagated to its children. +In our case, we want the text area to grow with the dialog, whereas +the button shall have a fixed size. In addition, there will be a thin +border around all controls to make the dialog look nice and - to make +matter worse - the buttons shall be centred as the width of the dialog +changes. + +It is the unique feature of a box sizer, that it can grow in both +directions (height and width) but can distribute its growth in the +main direction (horizontal for a row) unevenly among its children. In +our example case, the vertical sizer is supposed to propagate all its +height changes to only the text area, not to the button area. This is +determined by the proportion parameter when adding a window (or +another sizer) to a sizer. It is interpreted as a weight factor, +i.e. it can be zero, indicating that the window may not be resized at +all, or above zero. If several windows have a value above zero, the +value is interpreted relative to the sum of all weight factors of the +sizer, so when adding two windows with a value of 1, they will both +get resized equally much and each half as much as the sizer owning +them. + +Then what do we do when a column sizer changes its width? This +behaviour is controlled by flags (the second parameter of the Add() +function): zero or no flag indicates that the window will preserve it +is original size, wx.GROW flag (same as wx.EXPAND) forces the window +to grow with the sizer, and wx.SHAPED flag tells the window to change +it is size proportionally, preserving original aspect ratio. When +wx.GROW flag is not used, the item can be aligned within available +space. wx.ALIGN_LEFT, wx.ALIGN_TOP, wx.ALIGN_RIGHT, wx.ALIGN_BOTTOM, +wx.ALIGN_CENTER_HORIZONTAL and wx.ALIGN_CENTER_VERTICAL do what they +say. wx.ALIGN_CENTRE (same as wx.ALIGN_CENTER) is defined as +(``wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_CENTER_VERTICAL``). Default +alignment is ``wx.ALIGN_LEFT | wx.ALIGN_TOP``. + +As mentioned above, any window belonging to a sizer may have border, +and it can be specified which of the four sides may have this border, +using the wx.TOP, wx.LEFT, wx.RIGHT and wx.BOTTOM constants or wx.ALL +for all directions (and you may also use wx.NORTH, wx.WEST etc +instead). These flags can be used in combination with the alignment +flags above as the second parameter of the Add() method using the +binary or operator (``|``). The sizer of the border also must be made +known, and it is the third parameter in the Add() method. This means, +that the entire behaviour of a sizer and its children can be +controlled by the three parameters of the Add() method. + +[Show code and graphic here.] + + +Programming with GridSizer +-------------------------- + +GridSizer is a sizer which lays out its children in a two-dimensional +table with all table fields having the same size, i.e. the width of +each field is the width of the widest child, the height of each field +is the height of the tallest child. + +[Show code and graphic here.] + + +Programming with FlexGridSizer +------------------------------ + +FlexGridSizer is a sizer which lays out its children in a +two-dimensional table with all table fields in one row having the same +height and all fields in one column having the same width, but all +rows or all columns are not necessarily the same height or width as in +the GridSizer. + +[Show code and graphic here.] + + +Programming with NotebookSizer +------------------------------ + +NotebookSizer is a specialized sizer to make sizers work in connection +with using notebooks. This sizer is different from any other sizer as +you must not add any children to it - instead, it queries the notebook +class itself. The only thing this sizer does is to determine the size +of the biggest page of the notebook and report an adjusted minimal +size to a more toplevel sizer. + +In order to query the size of notebook page, this page needs to have +its own sizer, otherwise the NotebookSizer will ignore it. Notebook +pages get their sizer by assigning one to them using SetSizer() and +setting the auto-layout option to True using SetAutoLayout(). Here is +one example showing how to add a notebook page that the notebook sizer +is aware of: + +[Show code and graphic here.] + + +Programming with StaticBoxSizer +------------------------------- + +StaticBoxSizer is a sizer derived from BoxSizer but adds a static box +around the sizer. Note that this static box has to be created +separately. + +[Show code and graphic here.] + + +Dialog.CreateButtonSizer +------------------------ + +As a convenience, the Dialog class has a CreateButtonSizer(flags) +method that can be used to create a standard button sizer in which +standard buttons are displayed. The following flags can be passed to +this method: + +============= ======================================================= +wx.YES_NO add Yes/No subpanel +wx.YES return wx.ID_YES +wx.NO return wx.ID_NO +wx.NO_DEFAULT make the wx.NO button the default, otherwise wx.YES or + wx.OK button will be default +wx.OK return wx.ID_OK +wx.CANCEL return wx.ID_CANCEL +wx.HELP return wx.ID_HELP +wx.FORWARD return wx.ID_FORWARD +wx.BACKWARD return wx.ID_BACKWARD +wx.SETUP return wx.ID_SETUP +wx.MORE return wx.ID_MORE +============= ======================================================= + + +Date and time classes overview +============================== + +wxPython provides a set of powerful classes to work with dates and +times. Some of the supported features of the DateTime class are: + +============= ======================================================= + +Wide range The range of supported dates goes from about 4714 B.C. to + some 480 million years in the future. + +Precision Not using floating point calculations anywhere ensures that + the date calculations don't suffer from rounding + errors. + +Many features Not only all usual calculations with dates are + supported, but also more exotic week and year day + calculations, work day testing, standard astronomical + functions, conversion to and from strings in either + strict or free format. + + +Efficiency Objects of DateTime are small (8 bytes) and working + with them is fast + +============= ======================================================= + + +All date/time classes at a glance +--------------------------------- + +There are 3 main classes: except DateTime itself which represents an +absolute moment in time, there are also two classes - TimeSpan and +DateSpan which represent the intervals of time. + +There are also helper classes which are used together with DateTime: +DateTimeHolidayAuthority which is used to determine whether a given +date is a holiday or not and DateTimeWorkDays which is a derivation of +this class for which (only) Saturdays and Sundays are the holidays. +See more about these classes in the discussion of the holidays. + + +DateTime characteristics +------------------------ + +DateTime stores the time as a signed number of milliseconds since the +Epoch which is fixed, by convention, to Jan 1, 1970 - however this is +not visible to the class users (in particular, dates prior to the +Epoch are handled just as well (or as bad) as the dates after it). +But it does mean that the best resolution which can be achieved with +this class is 1 millisecond. + +The size of DateTime object is 8 bytes because it is represented as a +64 bit integer. The resulting range of supported dates is thus +approximatively 580 million years, but due to the current limitations +in the Gregorian calendar support, only dates from Nov 24, 4714BC are +supported (this is subject to change if there is sufficient interest +in doing it). + +Finally, the internal representation is time zone independent (always +in GMT) and the time zones only come into play when a date is broken +into year/month/day components. See more about timezones below. + +Currently, the only supported calendar is Gregorian one (which is used +even for the dates prior to the historic introduction of this calendar +which was first done on Oct 15, 1582 but is, generally speaking, +country, and even region, dependent). Future versions will probably +have Julian calendar support as well and support for other calendars +(Maya, Hebrew, Chinese...) is not ruled out. + + +Difference between DateSpan and TimeSpan +---------------------------------------- + +While there is only one logical way to represent an absolute moment in +the time (and hence only one DateTime class), there are at least two +methods to describe a time interval. + +First, there is the direct and self-explaining way implemented by +TimeSpan: it is just a difference in milliseconds between two moments +in time. Adding or subtracting such an interval to DateTime is always +well-defined and is a fast operation. + +But in daily life other, calendar-dependent time interval +specifications are used. For example, 'one month later' is commonly +used. However, it is clear that this is not the same as TimeSpan of +60*60*24*31 seconds because 'one month later' Feb 15 is Mar 15 and not +Mar 17 or Mar 16 (depending on whether the year is leap or not). + +This is why there is another class for representing such intervals +called DateSpan. It handles these sort of operations in the most +natural way possible, but note that manipulating with intervals of +this kind is not always well-defined. Consider, for example, Jan 31 + +'1 month': this will give Feb 28 (or 29), i.e. the last day of +February and not the non-existent Feb 31. Of course, this is what is +usually wanted, but you still might be surprised to notice that now +subtracting back the same interval from Feb 28 will result in Jan 28 +and not Jan 31 we started with! + +So, unless you plan to implement some kind of natural language parsing +in the program, you should probably use TimeSpan instead of DateSpan +(which is also more efficient). However, DateSpan may be very useful +in situations when you do need to understand what 'in a month' means +(of course, it is just DateTime.Now() + DateSpan.Month()). + + +Date arithmetics +---------------- + +Many different operations may be performed with the dates, however not +all of them make sense. For example, multiplying a date by a number +is an invalid operation, even though multiplying either of the time +span classes by a number is perfectly valid. + +Here is what can be done: + +============== ====================================================== + +Addition a TimeSpan or DateSpan can be added to DateTime resulting in + a new DateTime object and also 2 objects of the same + span class can be added together giving another object + of the same class. + + +Subtraction the same types of operations as above are allowed and, + additionally, a difference between two DateTime + objects can be taken and this will yield TimeSpan. + +Multiplication a TimeSpan or DateSpan object can be multiplied by an + integer number resulting in an object of the same + type. + + +Unary minus a TimeSpan or DateSpan object may finally be negated + giving an interval of the same magnitude but of + opposite time direction. + +============== ====================================================== + + +Time zone considerations +------------------------ + +Although the time is always stored internally in GMT, you will usually +work in the local time zone. Because of this, all DateTime +constructors and setters which take the broken down date assume that +these values are for the local time zone. Thus, DateTime(1, +DateTime.Jan, 1970) will not correspond to the DateTime Epoch unless +you happen to live in the UK. + +All methods returning the date components (year, month, day, hour, +minute, second...) will also return the correct values for the local +time zone by default. So, generally, doing the natural things will +lead to natural and correct results. + +If you only want to do this, you may safely skip the rest of this +section. However, if you want to work with different time zones, you +should read it to the end. + +In this (rare) case, you are still limited to the local time zone when +constructing DateTime objects, i.e. there is no way to construct a +DateTime corresponding to the given date in, say, Pacific Standard +Time. To do it, you will need to call ToTimezone or MakeTimezone +methods to adjust the date for the target time zone. There are also +special versions of these functions ToGMT and MakeGMT for the most +common case - when the date should be constructed in GMT. + +You also can just retrieve the value for some time zone without +converting the object to it first. For this you may pass TimeZone +argument to any of the methods which are affected by the time zone +(all methods getting date components and the date formatting ones, for +example). In particular, the Format() family of methods accepts a +TimeZone parameter and this allows to simply print time in any time +zone. + +To see how to do it, the last issue to address is how to construct a +TimeZone object which must be passed to all these methods. First of +all, you may construct it manually by specifying the time zone offset +in seconds from GMT, but usually you will just use one of the symbolic +time zone names and let the conversion constructor do the +job. I.e. you would just write + +wxDateTime dt(...whatever...); +printf("The time is %s in local time zone", dt.FormatTime().c_str()); +printf("The time is %s in GMT", dt.FormatTime(wxDateTime::GMT).c_str()); + + +Daylight saving time (DST) +-------------------------- + +DST (a.k.a. 'summer time') handling is always a delicate task which is +better left to the operating system which is supposed to be configured +by the administrator to behave correctly. Unfortunately, when doing +calculations with date outside of the range supported by the standard +library, we are forced to deal with these issues ourselves. + +Several functions are provided to calculate the beginning and end of +DST in the given year and to determine whether it is in effect at the +given moment or not, but they should not be considered as absolutely +correct because, first of all, they only work more or less correctly +for only a handful of countries (any information about other ones +appreciated!) and even for them the rules may perfectly well change in +the future. + +The time zone handling methods use these functions too, so they are +subject to the same limitations. + + +DateTime and Holidays +--------------------- + +[TODO] + + +Classes by category +=================== + +Not done yet. + + +ID constants +============ + +wxPython provides the following predefined ID constants: + +ID_ABORT +ID_ABOUT +ID_ANY +ID_APPLY +ID_BACKWARD +ID_CANCEL +ID_CLEAR +ID_CLOSE +ID_CLOSE_ALL +ID_CONTEXT_HELP +ID_COPY +ID_CUT +ID_DEFAULT +ID_DUPLICATE +ID_EXIT +ID_FILE1 +ID_FILE2 +ID_FILE3 +ID_FILE4 +ID_FILE5 +ID_FILE6 +ID_FILE7 +ID_FILE8 +ID_FILE9 +ID_FILTERLISTCTRL +ID_FIND +ID_FORWARD +ID_HELP +ID_HELP_COMMANDS +ID_HELP_CONTENTS +ID_HELP_CONTEXT +ID_HELP_PROCEDURES +ID_IGNORE +ID_MORE +ID_NEW +ID_NO +ID_NOTOALL +ID_OK +ID_OPEN +ID_PASTE +ID_PREVIEW +ID_PRINT +ID_PRINT_SETUP +ID_REDO +ID_RESET +ID_RETRY +ID_REVERT +ID_SAVE +ID_SAVEAS +ID_SELECTALL +ID_SEPARATOR +ID_SETUP +ID_STATIC +ID_TREECTRL +ID_UNDO +ID_YES +ID_YESTOALL + + +Source document +=============== + +The source document is named wxPythonManual.txt and can be found by +clicking the link at the bottom of this page (assuming you are viewing +the html file). It is written using a fantastic formatting convention +called reStructuredText. The wxPythonManual.html file is created +using the Docutils utilities, which can turn reStructuredText +documents into html, xml, pdf, and even OpenOffice files. + + +Submitting changes to the source document +========================================= + +Some items in the source text file look like this:: + + .. This is text from the wxWindows documentation that needs to be + translated into something appropriate for the wxPython version. + The two dots followed by uniformly indented text turns this + paragraph into a reStructuredText comment, so it doesn't appear + in any output file, such as the html file. + +They have been commented out and are awaiting editorial review and a +rewrite so that they make sense in the context of wxPython. Feel free +to send me suggestions for rewording these, or any other parts of this +document that you think need improving. I will be eternally grateful +to you and will show my gratitude by adding your name to the list of +contributors. (Contributors who also send me gifts of coffee, +chocolate, or currency will have their names listed in bold.) + + +Contributors +============ + +Individuals who contributed to this documentation (in order by last +name): + +* Robin Dunn +* Patrick K. O'Brien +* Robert Roebling +* Julian Smart +* Vadim Zeitlin + + +License +======= + +This document began as a translation of the wxWindows documentation. +As such, it adheres to the same license, which is provided here: + +.. include:: ../licence/licendoc.txt + :literal: diff --git a/wxPython/docs/wxPythonTutorial.txt b/wxPython/docs/wxPythonTutorial.txt new file mode 100644 index 0000000000..683aa18790 --- /dev/null +++ b/wxPython/docs/wxPythonTutorial.txt @@ -0,0 +1,43 @@ +======================= + The wxPython Tutorial +======================= + +----------------------------------------- + How to get up and running with wxPython +----------------------------------------- + +:Author: Patrick K. O'Brien +:Contact: pobrien@orbtech.com +:Organization: Orbtech_ +:Date: $Date$ +:Revision: $Revision$ +:License: wxWindows Free Documentation Licence, Version 3 + +.. _Orbtech: http://www.orbtech.com/ + +.. contents:: + + +Introduction +============ + +This is a tutorial for the wxPython GUI toolkit. It uses the new wx +package syntax that was introduced in wxPython 2.4.1. + + +What is wxPython? +================= + +wxPython is a GUI toolkit for the Python programming language. It +allows Python programmers to create programs with a graphical user +interface for Windows, Linux, and Mac OS X. + + +License +======= + +This document adheres to the same license as the other documentation +that comes with wxWindows: + +.. include:: ../licence/licendoc.txt + :literal: diff --git a/wxPython/samples/doodle/doodle.py b/wxPython/samples/doodle/doodle.py index 4895026e74..15e4de19a6 100644 --- a/wxPython/samples/doodle/doodle.py +++ b/wxPython/samples/doodle/doodle.py @@ -6,11 +6,11 @@ can do simple drawings upon. """ -from wxPython.wx import * +import wx # This module uses the new wx namespace #---------------------------------------------------------------------- -class DoodleWindow(wxWindow): +class DoodleWindow(wx.Window): menuColours = { 100 : 'Black', 101 : 'Yellow', 102 : 'Red', @@ -32,7 +32,7 @@ class DoodleWindow(wxWindow): def __init__(self, parent, ID): - wxWindow.__init__(self, parent, ID, style=wxNO_FULL_REPAINT_ON_RESIZE) + wx.Window.__init__(self, parent, ID, style=wx.NO_FULL_REPAINT_ON_RESIZE) self.SetBackgroundColour("WHITE") self.listeners = [] self.thickness = 1 @@ -44,20 +44,20 @@ class DoodleWindow(wxWindow): self.InitBuffer() # hook some mouse events - EVT_LEFT_DOWN(self, self.OnLeftDown) - EVT_LEFT_UP(self, self.OnLeftUp) - EVT_RIGHT_UP(self, self.OnRightUp) - EVT_MOTION(self, self.OnMotion) + wx.EVT_LEFT_DOWN(self, self.OnLeftDown) + wx.EVT_LEFT_UP(self, self.OnLeftUp) + wx.EVT_RIGHT_UP(self, self.OnRightUp) + wx.EVT_MOTION(self, self.OnMotion) # the window resize event and idle events for managing the buffer - EVT_SIZE(self, self.OnSize) - EVT_IDLE(self, self.OnIdle) + wx.EVT_SIZE(self, self.OnSize) + wx.EVT_IDLE(self, self.OnIdle) # and the refresh event - EVT_PAINT(self, self.OnPaint) + wx.EVT_PAINT(self, self.OnPaint) # When the window is destroyed, clean up resources. - EVT_WINDOW_DESTROY(self, self.Cleanup) + wx.EVT_WINDOW_DESTROY(self, self.Cleanup) def Cleanup(self, evt): @@ -69,9 +69,9 @@ class DoodleWindow(wxWindow): def InitBuffer(self): """Initialize the bitmap used for buffering the display.""" size = self.GetClientSize() - self.buffer = wxEmptyBitmap(size.width, size.height) - dc = wxBufferedDC(None, self.buffer) - dc.SetBackground(wxBrush(self.GetBackgroundColour())) + self.buffer = wx.EmptyBitmap(size.width, size.height) + dc = wx.BufferedDC(None, self.buffer) + dc.SetBackground(wx.Brush(self.GetBackgroundColour())) dc.Clear() self.DrawLines(dc) self.reInitBuffer = False @@ -80,14 +80,14 @@ class DoodleWindow(wxWindow): def SetColour(self, colour): """Set a new colour and make a matching pen""" self.colour = colour - self.pen = wxPen(wxNamedColour(self.colour), self.thickness, wxSOLID) + self.pen = wx.Pen(self.colour, self.thickness, wx.SOLID) self.Notify() def SetThickness(self, num): """Set a new line thickness and make a matching pen""" self.thickness = num - self.pen = wxPen(wxNamedColour(self.colour), self.thickness, wxSOLID) + self.pen = wx.Pen(self.colour, self.thickness, wx.SOLID) self.Notify() @@ -103,20 +103,20 @@ class DoodleWindow(wxWindow): def MakeMenu(self): """Make a menu that can be popped up later""" - menu = wxMenu() + menu = wx.Menu() keys = self.menuColours.keys() keys.sort() for k in keys: text = self.menuColours[k] - menu.Append(k, text, kind=wxITEM_CHECK) - EVT_MENU_RANGE(self, 100, 200, self.OnMenuSetColour) - EVT_UPDATE_UI_RANGE(self, 100, 200, self.OnCheckMenuColours) + menu.Append(k, text, kind=wx.ITEM_CHECK) + wx.EVT_MENU_RANGE(self, 100, 200, self.OnMenuSetColour) + wx.EVT_UPDATE_UI_RANGE(self, 100, 200, self.OnCheckMenuColours) menu.Break() for x in range(1, self.maxThickness+1): - menu.Append(x, str(x), kind=wxITEM_CHECK) - EVT_MENU_RANGE(self, 1, self.maxThickness, self.OnMenuSetThickness) - EVT_UPDATE_UI_RANGE(self, 1, self.maxThickness, self.OnCheckMenuThickness) + menu.Append(x, str(x), kind=wx.ITEM_CHECK) + wx.EVT_MENU_RANGE(self, 1, self.maxThickness, self.OnMenuSetThickness) + wx.EVT_UPDATE_UI_RANGE(self, 1, self.maxThickness, self.OnCheckMenuThickness) self.menu = menu @@ -126,8 +126,11 @@ class DoodleWindow(wxWindow): text = self.menuColours[event.GetId()] if text == self.colour: event.Check(True) + event.SetText(text.upper()) else: event.Check(False) + event.SetText(text) + def OnCheckMenuThickness(self, event): if event.GetId() == self.thickness: event.Check(True) @@ -164,7 +167,7 @@ class DoodleWindow(wxWindow): current one. Save the coordinants for redraws. """ if event.Dragging() and event.LeftIsDown(): - dc = wxBufferedDC(wxClientDC(self), self.buffer) + dc = wx.BufferedDC(wx.ClientDC(self), self.buffer) dc.BeginDrawing() dc.SetPen(self.pen) pos = event.GetPositionTuple() @@ -200,10 +203,10 @@ class DoodleWindow(wxWindow): Called when the window is exposed. """ # Create a buffered paint DC. It will create the real - # wxPaintDC and then blit the bitmap to it when dc is + # wx.PaintDC and then blit the bitmap to it when dc is # deleted. Since we don't need to draw anything else # here that's all there is to it. - dc = wxBufferedPaintDC(self, self.buffer) + dc = wx.BufferedPaintDC(self, self.buffer) def DrawLines(self, dc): @@ -212,7 +215,7 @@ class DoodleWindow(wxWindow): """ dc.BeginDrawing() for colour, thickness, line in self.lines: - pen = wxPen(wxNamedColour(colour), thickness, wxSOLID) + pen = wx.Pen(colour, thickness, wx.SOLID) dc.SetPen(pen) for coords in line: apply(dc.DrawLine, coords) @@ -240,16 +243,16 @@ class DoodleWindow(wxWindow): #---------------------------------------------------------------------- -class DoodleFrame(wxFrame): +class DoodleFrame(wx.Frame): def __init__(self, parent): - wxFrame.__init__(self, parent, -1, "Doodle Frame", size=(800,600), - style=wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE) + wx.Frame.__init__(self, parent, -1, "Doodle Frame", size=(800,600), + style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) doodle = DoodleWindow(self, -1) #---------------------------------------------------------------------- if __name__ == '__main__': - app = wxPySimpleApp() + app = wx.PySimpleApp() frame = DoodleFrame(None) frame.Show(True) app.MainLoop() diff --git a/wxPython/samples/doodle/sample.ddl b/wxPython/samples/doodle/sample.ddl index f995fdea4d..b22f265118 100644 --- a/wxPython/samples/doodle/sample.ddl +++ b/wxPython/samples/doodle/sample.ddl @@ -4008,4 +4008,261 @@ I472 I599 I473 tatp56 +a(S'Red' +p57 +I4 +(lp58 +(I503 +I412 +I503 +I411 +ta(I503 +I411 +I504 +I411 +ta(I504 +I411 +I504 +I410 +ta(I504 +I410 +I505 +I410 +ta(I505 +I410 +I505 +I409 +ta(I505 +I409 +I506 +I409 +ta(I506 +I409 +I507 +I409 +ta(I507 +I409 +I507 +I408 +ta(I507 +I408 +I508 +I408 +ta(I508 +I408 +I509 +I408 +ta(I509 +I408 +I510 +I408 +ta(I510 +I408 +I511 +I408 +ta(I511 +I408 +I511 +I409 +ta(I511 +I409 +I511 +I410 +ta(I511 +I410 +I512 +I410 +ta(I512 +I410 +I512 +I411 +ta(I512 +I411 +I512 +I412 +ta(I512 +I412 +I512 +I413 +ta(I512 +I413 +I512 +I414 +ta(I512 +I414 +I512 +I415 +ta(I512 +I415 +I511 +I415 +ta(I511 +I415 +I511 +I416 +ta(I511 +I416 +I510 +I416 +ta(I510 +I416 +I510 +I417 +ta(I510 +I417 +I509 +I417 +ta(I509 +I417 +I508 +I418 +ta(I508 +I418 +I508 +I419 +ta(I508 +I419 +I507 +I420 +ta(I507 +I420 +I506 +I421 +ta(I506 +I421 +I505 +I421 +ta(I505 +I421 +I504 +I422 +ta(I504 +I422 +I503 +I423 +ta(I503 +I423 +I503 +I424 +ta(I503 +I424 +I502 +I425 +ta(I502 +I425 +I502 +I426 +tatp59 +a(g57 +I4 +(lp60 +(I503 +I414 +I502 +I414 +ta(I502 +I414 +I502 +I413 +ta(I502 +I413 +I501 +I413 +ta(I501 +I413 +I499 +I412 +ta(I499 +I412 +I498 +I412 +ta(I498 +I412 +I497 +I412 +ta(I497 +I412 +I496 +I412 +ta(I496 +I412 +I495 +I412 +ta(I495 +I412 +I494 +I412 +ta(I494 +I412 +I493 +I413 +ta(I493 +I413 +I493 +I414 +ta(I493 +I414 +I493 +I415 +ta(I493 +I415 +I493 +I416 +ta(I493 +I416 +I493 +I417 +ta(I493 +I417 +I493 +I418 +ta(I493 +I418 +I493 +I419 +ta(I493 +I419 +I493 +I420 +ta(I493 +I420 +I494 +I421 +ta(I494 +I421 +I495 +I422 +ta(I495 +I422 +I496 +I422 +ta(I496 +I422 +I497 +I423 +ta(I497 +I423 +I498 +I423 +ta(I498 +I423 +I498 +I424 +ta(I498 +I424 +I499 +I424 +ta(I499 +I424 +I500 +I424 +ta(I500 +I424 +I500 +I425 +ta(I500 +I425 +I501 +I425 +tatp61 a. \ No newline at end of file diff --git a/wxPython/samples/doodle/superdoodle.py b/wxPython/samples/doodle/superdoodle.py index 08ee49339e..9816691107 100644 --- a/wxPython/samples/doodle/superdoodle.py +++ b/wxPython/samples/doodle/superdoodle.py @@ -7,10 +7,12 @@ intelligent Frame. This one has a menu and a statusbar, is able to save and reload doodles, clear the workspace, and has a simple control panel for setting color and line thickness in addition to the popup menu that DoodleWindow provides. There is also a nice About dialog -implmented using an wxHtmlWindow. +implmented using an wx.html.HtmlWindow. """ -from wxPython.wx import * +import wx # This module uses the new wx namespace +import wx.html +from wx.lib import buttons # for generic button classes from doodle import DoodleWindow import os, cPickle @@ -18,25 +20,28 @@ import os, cPickle #---------------------------------------------------------------------- -idNEW = 11001 -idOPEN = 11002 -idSAVE = 11003 -idSAVEAS = 11004 -idCLEAR = 11005 -idEXIT = 11006 -idABOUT = 11007 +wx.RegisterId(5000) # Give a high starting value for the IDs, just for kicks +idNEW = wx.NewId() +idOPEN = wx.NewId() +idSAVE = wx.NewId() +idSAVEAS = wx.NewId() +idCLEAR = wx.NewId() +idEXIT = wx.NewId() +idABOUT = wx.NewId() -class DoodleFrame(wxFrame): + + +class DoodleFrame(wx.Frame): """ A DoodleFrame contains a DoodleWindow and a ControlPanel and manages - their layout with a wxBoxSizer. A menu and associated event handlers + their layout with a wx.BoxSizer. A menu and associated event handlers provides for saving a doodle to a file, etc. """ title = "Do a doodle" def __init__(self, parent): - wxFrame.__init__(self, parent, -1, self.title, size=(800,600), - style=wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE) + wx.Frame.__init__(self, parent, -1, self.title, size=(800,600), + style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) self.CreateStatusBar() self.MakeMenu() self.filename = None @@ -47,9 +52,9 @@ class DoodleFrame(wxFrame): # Create a sizer to layout the two windows side-by-side. # Both will grow vertically, the doodle window will grow # horizontally as well. - box = wxBoxSizer(wxHORIZONTAL) - box.Add(cPanel, 0, wxEXPAND) - box.Add(self.doodle, 1, wxEXPAND) + box = wx.BoxSizer(wx.HORIZONTAL) + box.Add(cPanel, 0, wx.EXPAND) + box.Add(self.doodle, 1, wx.EXPAND) # Tell the frame that it should layout itself in response to # size events. @@ -73,15 +78,19 @@ class DoodleFrame(wxFrame): f.close() self.doodle.SetLinesData(data) except cPickle.UnpicklingError: - wxMessageBox("%s is not a doodle file." % self.filename, - "oops!", style=wxOK|wxICON_EXCLAMATION) + wx.MessageBox("%s is not a doodle file." % self.filename, + "oops!", style=wx.OK|wx.ICON_EXCLAMATION) def MakeMenu(self): # create the file menu - menu1 = wxMenu() - menu1.Append(idOPEN, "&Open", "Open a doodle file") - menu1.Append(idSAVE, "&Save", "Save the doodle") + menu1 = wx.Menu() + + # Using the "\tKeyName" syntax automatically creates a + # wx.AcceleratorTable for this frame and binds the keys to + # the menu items. + menu1.Append(idOPEN, "&Open\tCtrl-O", "Open a doodle file") + menu1.Append(idSAVE, "&Save\tCtrl-S", "Save the doodle") menu1.Append(idSAVEAS, "Save &As", "Save the doodle in a new file") menu1.AppendSeparator() menu1.Append(idCLEAR, "&Clear", "Clear the current doodle") @@ -89,30 +98,30 @@ class DoodleFrame(wxFrame): menu1.Append(idEXIT, "E&xit", "Terminate the application") # and the help menu - menu2 = wxMenu() - menu2.Append(idABOUT, "&About", "Display the gratuitous 'about this app' thingamajig") + menu2 = wx.Menu() + menu2.Append(idABOUT, "&About\tCtrl-H", "Display the gratuitous 'about this app' thingamajig") # and add them to a menubar - menuBar = wxMenuBar() + menuBar = wx.MenuBar() menuBar.Append(menu1, "&File") menuBar.Append(menu2, "&Help") self.SetMenuBar(menuBar) - EVT_MENU(self, idOPEN, self.OnMenuOpen) - EVT_MENU(self, idSAVE, self.OnMenuSave) - EVT_MENU(self, idSAVEAS, self.OnMenuSaveAs) - EVT_MENU(self, idCLEAR, self.OnMenuClear) - EVT_MENU(self, idEXIT, self.OnMenuExit) - EVT_MENU(self, idABOUT, self.OnMenuAbout) + wx.EVT_MENU(self, idOPEN, self.OnMenuOpen) + wx.EVT_MENU(self, idSAVE, self.OnMenuSave) + wx.EVT_MENU(self, idSAVEAS, self.OnMenuSaveAs) + wx.EVT_MENU(self, idCLEAR, self.OnMenuClear) + wx.EVT_MENU(self, idEXIT, self.OnMenuExit) + wx.EVT_MENU(self, idABOUT, self.OnMenuAbout) wildcard = "Doodle files (*.ddl)|*.ddl|All files (*.*)|*.*" def OnMenuOpen(self, event): - dlg = wxFileDialog(self, "Open doodle file...", os.getcwd(), - style=wxOPEN, wildcard = self.wildcard) - if dlg.ShowModal() == wxID_OK: + dlg = wx.FileDialog(self, "Open doodle file...", os.getcwd(), + style=wx.OPEN, wildcard = self.wildcard) + if dlg.ShowModal() == wx.ID_OK: self.filename = dlg.GetPath() self.ReadFile() self.SetTitle(self.title + ' -- ' + self.filename) @@ -127,10 +136,10 @@ class DoodleFrame(wxFrame): def OnMenuSaveAs(self, event): - dlg = wxFileDialog(self, "Save doodle as...", os.getcwd(), - style=wxSAVE | wxOVERWRITE_PROMPT, + dlg = wx.FileDialog(self, "Save doodle as...", os.getcwd(), + style=wx.SAVE | wx.OVERWRITE_PROMPT, wildcard = self.wildcard) - if dlg.ShowModal() == wxID_OK: + if dlg.ShowModal() == wx.ID_OK: filename = dlg.GetPath() if not os.path.splitext(filename)[1]: filename = filename + '.ddl' @@ -159,7 +168,7 @@ class DoodleFrame(wxFrame): #---------------------------------------------------------------------- -class ControlPanel(wxPanel): +class ControlPanel(wx.Panel): """ This class implements a very simple control panel for the DoodleWindow. It creates buttons for each of the colours and thickneses supported by @@ -167,36 +176,51 @@ class ControlPanel(wxPanel): also a little window that shows an example doodleLine in the selected values. Nested sizers are used for layout. """ + + BMP_SIZE = 16 + BMP_BORDER = 3 + def __init__(self, parent, ID, doodle): - wxPanel.__init__(self, parent, ID, style=wxRAISED_BORDER) + wx.Panel.__init__(self, parent, ID, style=wx.RAISED_BORDER) numCols = 4 spacing = 4 + btnSize = wx.Size(self.BMP_SIZE + 2*self.BMP_BORDER, + self.BMP_SIZE + 2*self.BMP_BORDER) + # Make a grid of buttons for each colour. Attach each button # event to self.OnSetColour. The button ID is the same as the # key in the colour dictionary. + self.clrBtns = {} colours = doodle.menuColours keys = colours.keys() keys.sort() - cGrid = wxGridSizer(cols=numCols, hgap=2, vgap=2) + cGrid = wx.GridSizer(cols=numCols, hgap=2, vgap=2) for k in keys: - bmp = self.MakeBitmap(wxNamedColour(colours[k])) - b = wxBitmapButton(self, k, bmp) - EVT_BUTTON(self, k, self.OnSetColour) + bmp = self.MakeBitmap(colours[k]) + b = buttons.GenBitmapToggleButton(self, k, bmp, size=btnSize ) + b.SetBezelWidth(1) + b.SetUseFocusIndicator(False) + wx.EVT_BUTTON(self, k, self.OnSetColour) cGrid.Add(b, 0) + self.clrBtns[colours[k]] = b + self.clrBtns[colours[keys[0]]].SetToggle(True) - # Save the button size so we can use it for the number buttons - btnSize = b.GetSize() # Make a grid of buttons for the thicknesses. Attach each button # event to self.OnSetThickness. The button ID is the same as the # thickness value. - tGrid = wxGridSizer(cols=numCols, hgap=2, vgap=2) + self.thknsBtns = {} + tGrid = wx.GridSizer(cols=numCols, hgap=2, vgap=2) for x in range(1, doodle.maxThickness+1): - b = wxButton(self, x, str(x), size=btnSize) - EVT_BUTTON(self, x, self.OnSetThickness) + b = buttons.GenToggleButton(self, x, str(x), size=btnSize) + b.SetBezelWidth(1) + b.SetUseFocusIndicator(False) + wx.EVT_BUTTON(self, x, self.OnSetThickness) tGrid.Add(b, 0) + self.thknsBtns[x] = b + self.thknsBtns[1].SetToggle(True) # Make a colour indicator window, it is registerd as a listener # with the doodle window so it will be notified when the settings @@ -208,10 +232,10 @@ class ControlPanel(wxPanel): # Make a box sizer and put the two grids and the indicator # window in it. - box = wxBoxSizer(wxVERTICAL) - box.Add(cGrid, 0, wxALL, spacing) - box.Add(tGrid, 0, wxALL, spacing) - box.Add(ci, 0, wxEXPAND|wxALL, spacing) + box = wx.BoxSizer(wx.VERTICAL) + box.Add(cGrid, 0, wx.ALL, spacing) + box.Add(tGrid, 0, wx.ALL, spacing) + box.Add(ci, 0, wx.EXPAND|wx.ALL, spacing) self.SetSizer(box) self.SetAutoLayout(True) @@ -224,15 +248,15 @@ class ControlPanel(wxPanel): def MakeBitmap(self, colour): """ We can create a bitmap of whatever we want by simply selecting - it into a wxMemoryDC and drawing on it. In this case we just set + it into a wx.MemoryDC and drawing on it. In this case we just set a background brush and clear the dc. """ - bmp = wxEmptyBitmap(16,16) - dc = wxMemoryDC() + bmp = wx.EmptyBitmap(self.BMP_SIZE, self.BMP_SIZE) + dc = wx.MemoryDC() dc.SelectObject(bmp) - dc.SetBackground(wxBrush(colour)) + dc.SetBackground(wx.Brush(colour)) dc.Clear() - dc.SelectObject(wxNullBitmap) + dc.SelectObject(wx.NullBitmap) return bmp @@ -241,6 +265,10 @@ class ControlPanel(wxPanel): Use the event ID to get the colour, set that colour in the doodle. """ colour = self.doodle.menuColours[event.GetId()] + if colour != self.doodle.colour: + # untoggle the old colour button + self.clrBtns[self.doodle.colour].SetToggle(False) + # set the new colour self.doodle.SetColour(colour) @@ -248,22 +276,28 @@ class ControlPanel(wxPanel): """ Use the event ID to set the thickness in the doodle. """ - self.doodle.SetThickness(event.GetId()) + thickness = event.GetId() + if thickness != self.doodle.thickness: + # untoggle the old thickness button + self.thknsBtns[self.doodle.thickness].SetToggle(False) + # set the new colour + self.doodle.SetThickness(thickness) + #---------------------------------------------------------------------- -class ColourIndicator(wxWindow): +class ColourIndicator(wx.Window): """ An instance of this class is used on the ControlPanel to show a sample of what the current doodle line will look like. """ def __init__(self, parent): - wxWindow.__init__(self, parent, -1, style=wxSUNKEN_BORDER) - self.SetBackgroundColour(wxWHITE) - self.SetSize(wxSize(-1, 45)) + wx.Window.__init__(self, parent, -1, style=wx.SUNKEN_BORDER) + self.SetBackgroundColour(wx.WHITE) + self.SetSize( (-1, 45) ) self.colour = self.thickness = None - EVT_PAINT(self, self.OnPaint) + wx.EVT_PAINT(self, self.OnPaint) def Update(self, colour, thickness): @@ -281,10 +315,10 @@ class ColourIndicator(wxWindow): This method is called when all or part of the window needs to be redrawn. """ - dc = wxPaintDC(self) + dc = wx.PaintDC(self) if self.colour: sz = self.GetClientSize() - pen = wxPen(wxNamedColour(self.colour), self.thickness) + pen = wx.Pen(self.colour, self.thickness) dc.BeginDrawing() dc.SetPen(pen) dc.DrawLine(10, sz.height/2, sz.width-10, sz.height/2) @@ -293,7 +327,7 @@ class ColourIndicator(wxWindow): #---------------------------------------------------------------------- -class DoodleAbout(wxDialog): +class DoodleAbout(wx.Dialog): """ An about box that uses an HTML window """ text = ''' @@ -318,44 +352,43 @@ instructions:

SuperDoodle and wxPython are brought to you by Robin Dunn and Total Control Software, Copyright -© 1997-2001.

+© 1997-2003.

''' def __init__(self, parent): - wxDialog.__init__(self, parent, -1, 'About SuperDoodle', - size=wxSize(420, 380)) - from wxPython.html import wxHtmlWindow + wx.Dialog.__init__(self, parent, -1, 'About SuperDoodle', + size=(420, 380) ) - html = wxHtmlWindow(self, -1) + html = wx.html.HtmlWindow(self, -1) html.SetPage(self.text) - button = wxButton(self, wxID_OK, "Okay") + button = wx.Button(self, wx.ID_OK, "Okay") # constraints for the html window - lc = wxLayoutConstraints() - lc.top.SameAs(self, wxTop, 5) - lc.left.SameAs(self, wxLeft, 5) - lc.bottom.SameAs(button, wxTop, 5) - lc.right.SameAs(self, wxRight, 5) + lc = wx.LayoutConstraints() + lc.top.SameAs(self, wx.Top, 5) + lc.left.SameAs(self, wx.Left, 5) + lc.bottom.SameAs(button, wx.Top, 5) + lc.right.SameAs(self, wx.Right, 5) html.SetConstraints(lc) # constraints for the button - lc = wxLayoutConstraints() - lc.bottom.SameAs(self, wxBottom, 5) - lc.centreX.SameAs(self, wxCentreX) + lc = wx.LayoutConstraints() + lc.bottom.SameAs(self, wx.Bottom, 5) + lc.centreX.SameAs(self, wx.CentreX) lc.width.AsIs() lc.height.AsIs() button.SetConstraints(lc) self.SetAutoLayout(True) self.Layout() - self.CentreOnParent(wxBOTH) + self.CentreOnParent(wx.BOTH) #---------------------------------------------------------------------- -class DoodleApp(wxApp): +class DoodleApp(wx.App): def OnInit(self): frame = DoodleFrame(None) frame.Show(True) diff --git a/wxPython/demo/hangman.py b/wxPython/samples/hangman/hangman.py similarity index 100% rename from wxPython/demo/hangman.py rename to wxPython/samples/hangman/hangman.py diff --git a/wxPython/samples/wx_examples/basic/__init__.py b/wxPython/samples/wx_examples/basic/__init__.py new file mode 100644 index 0000000000..b929a7db76 --- /dev/null +++ b/wxPython/samples/wx_examples/basic/__init__.py @@ -0,0 +1 @@ +# Python package. diff --git a/wxPython/samples/wx_examples/basic/app.py b/wxPython/samples/wx_examples/basic/app.py new file mode 100755 index 0000000000..09013ed834 --- /dev/null +++ b/wxPython/samples/wx_examples/basic/app.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +"""Basic application class.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +from frame import Frame + +class App(wx.App): + """Application class.""" + + def OnInit(self): + self.frame = Frame() + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(): + app = App() + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/samples/wx_examples/basic/frame.py b/wxPython/samples/wx_examples/basic/frame.py new file mode 100755 index 0000000000..3bcecb9f75 --- /dev/null +++ b/wxPython/samples/wx_examples/basic/frame.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python + +"""Basic frame class, with App for testing.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +class Frame(wx.Frame): + """Frame class.""" + + def __init__(self, parent=None, id=-1, title='Title', + pos=wx.DefaultPosition, size=(400, 200)): + """Create a Frame instance.""" + wx.Frame.__init__(self, parent, id, title, pos, size) + +class App(wx.App): + """Application class.""" + + def OnInit(self): + self.frame = Frame() + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(): + app = App() + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/samples/wx_examples/hello/__init__.py b/wxPython/samples/wx_examples/hello/__init__.py new file mode 100644 index 0000000000..b929a7db76 --- /dev/null +++ b/wxPython/samples/wx_examples/hello/__init__.py @@ -0,0 +1 @@ +# Python package. diff --git a/wxPython/samples/wx_examples/hello/hello.py b/wxPython/samples/wx_examples/hello/hello.py new file mode 100755 index 0000000000..63a29b5666 --- /dev/null +++ b/wxPython/samples/wx_examples/hello/hello.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +"""Hello, wxPython! program.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +class Frame(wx.Frame): + """Frame class that displays an image.""" + + def __init__(self, image, parent=None, id=-1, + pos=wx.DefaultPosition, title='Hello, wxPython!'): + """Create a Frame instance and display image.""" + temp = image.ConvertToBitmap() + size = temp.GetWidth(), temp.GetHeight() + wx.Frame.__init__(self, parent, id, title, pos, size) + self.bmp = wx.StaticBitmap(parent=self, id=-1, bitmap=temp) + +class App(wx.App): + """Application class.""" + + def OnInit(self): + wx.InitAllImageHandlers() + image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG) + self.frame = Frame(image) + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(): + app = App() + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/samples/wx_examples/hello/wxPython.jpg b/wxPython/samples/wx_examples/hello/wxPython.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9770d4e9b875606a97d3e6cb023b21f1ff85df95 GIT binary patch literal 14557 zcmb7qb9^LU^X|m<#I|kQwry@~+jcg_#@KLU+qSI@H`w6j`@ZiF_x^Wl&Zm32tIsoa zdir!db*esBKX(DhG7{1f01yxmfYH|n@VNmH1%QEq{?on${HsAgLqLFoL%>2oK|;gB z!o$PC!oeXRq9P+8q9DS-A!8t;paId*(czIWu`qyGs6ce!KOi7rUwyzKU?3o1fCz91 z!2fUg><6Gg1N=bY!9Yj=peP_Zs;_H6 zK*2uO0bd{hP-HOVujBK?|Mc`)V9}SUI;Qtvd;1|r#f!K$F*85=j}93t-(+!Vaz@tf zWu?H)StRg39sae0Bp1!Em|UG>o#a~kP2vMPGyl7jEK#rXWKL&gwE#d!xgZ=w_N!)1 z_W(3^X)SR**!E9)&99PeTcLlWK>w6cKML-VsNg8K2&SjZqyIJDKdz{T(Hb9Y`l6d% zYR|Tj#O+@-#TYx~!nyEQtm7O0(*jS+hTPG%E*EnyMYUZTUsGsM*;?LQ508Rkm*n+0 zT?`8@%~JGy<0}&113$Lt8mB&Sn&<&O_>#RtsED+8)f>IK?Y<5YqpnmFE3K2{I>)zJ zYnV2S@{8f1Wb`Gz9}6R0(xqENez`yLGVFRv(NX|+Yk(D$0FoN^J5f!xem{)2aY zjw}Cw&zh02Jgk)Z=L4cbp?qXRn!PSp;UMF1VY-SShunXtfSF}~$ZE9a?%WE2n9K4G z>PJ&duvz4?X7J64Z2X|B1(OhfG&WP9XktVzzVcY#2tz1IZ?sY8Q_p-6QEFXzRa z>GU82p6=$Mgv0MW{&wyY576|svxcZDm<->R>R;;$1!N?K()^>>#|F7mz$!igs)?7h zngKX4-zt|>ZT*4hJ2?*~i=2{Ua-(+N7A6(}Uav@uO8MMw*>yd^o0#W)es@1YUntoon?tX>K2>hmr_USJh-HcdVM4wV=G*9EzBE0EKO0|62jr}O95aZNS`v!~wb zW^hG?`F#;X^cQ4)b)!yc-!YWF6_sagf-N@0n zpDlvn0|dn@*rU@e-a${{fyh7Ui*XxEbGNIx9m9hQ*1lPqMmLeut%T6lwN!-D(hng~ zRQOS=tzE)zrkBMw4tFBBTIHKr>XXPw=?-Q78T=aW@FR;SUR;S}h>IB}CyP!Ad zt!l%NTU!c)PWpE6tO_hSV-F}2V`%iU8q?C-kdo6l$F=ZrBoS1E7b|MH{jztVsnz;v zL1~F4@JJ5y0tR-t%S15ne$Sdx`gPm#db&3eSj+hb@+uYwi7lZL-+TcFf0$DdKPBNda7hP7P5p-7QqPNo2GdyASi&BTtU=)7PdQ*@#qpG9RhZTi? zy1Mm#-5t~iJ#9YJj8vW0wrLU%uDD6@tjsA-fJ#F{dR5ELfbPPs2@*5if>OIbdZ(3& zT&9REMBy+VRH$>@?HrG+Jo1N z=x5%mqwH&jYtf}_c)AfS(`u8pAVlsDxvV382O#>2)gjuCC#lIxg7ln$SkoT_zAzyD zc~_~nzHRPxb2Y6V)#pab_@&=gbq_4okuWQOV=zJy)jbE+Dv&VtDszR9)nMPhk2p&( zrmxQ~C)lcQ$q+y9xi72LG!EP|qF3$$3WZ_M|UU}3K*q5(r?a7z~K13Rue=wFG8EGqlch)R-s_5H6V*-g91|Nk@ zi5AN^yCsw8Ez%y zfT05S>@F%z?pl9AKDeCHSA6$Dx1 z`O%BE%&qi8dd%AEml4_Q?6>3KFmMOk$FOLm@o<8fFD!yDtS{F7KTuzM8HMN{Bv9mk zyJ66Opvuk`=KMew+cId07m7hZ!YwFmAmDRe6u%I}zTEm3X@&rUfq()7h5ADJIs%}8 zqY|T$FbgZQ7&{>YNkvqGk_vB#SR4B0AefX)ocC_g$%It<$=O7Wf|Gy#$K68;f_~sy zrXfF2WOJ1wo-^1_Jd5&LRWev7?uQ19SNJw#kZ>k(!qBM!?2wSsGO0qm@Y%MG{~A3IJ|JezFwkDEWxG@M9hR?#39hXzO5a2gUOf2P<{d^%4fUh z0`NGpLkJ{n!bS!t= z(65-rk?Zn8ia1a)x$RDX4PoypKvew%*t6_K@70_B9BC0ZaZ)kK8jqos?)6laBwD9M zRaTVgf7uMNQE-BFHwC*ml9J@N^51RX0L!)I{{)mu7Y&t+b6-wTkkCf%s87=Q<|T_O zp0izr<*RSC^Ou*TyTy12+k3rxC{ZE4Q|bmlyW4-~Tf2lXZE+!M__?L6D3Hg7yk$wr ziRc#oo>xpFiZ$g>0`j6BVpc!95k{s}Eo!2|>K3O;^7m>u_Rbp@u5yR^dg4`8Hqv&O z(^G4s)YABGM%vxY?#gnbY;=-&ijO5?kPRNmz9Di$?EI_mCxBL?Boq%SsVv{>kFFUi zx?!3;U1cy^oABbSm_-M^Xf%@joHmA9kKE3!xwyWut$@G&W6ZQeu&#J%tIdb3Rzr&| z?7CECNgT!}0L?!wGT9bLD@1&XG48~>g{~LSPe%C;b+{pg_~+I z)fPLxsgBIe;sEbSDoa~57l*yU`AFw>M=P&SfT_%`Ihng6%HhsbU1eynKhCn80G#oa zz~m<&MR@=iM|Pr(ok1J4(CPV5Q|*PL0BbL{&zgn#n_#)aQ*&FwjlaN_&c+G+HL?Zj zzM$=-Q})RTQ4L0yr~op(6!nTThlto~HGe$la%YK8GKDR^yi036+*i;0X57UecopG$ z9+#N+YUwaqrb5=9gG*25DQB5|&sIFbyFQ&3%gtAt^;JrnuHiffQ&5>Jiw zT17?X=b>s(v^Hj%!Fr8$VEa}nr$F61FjdX0Wr6>J9zZcE`F;I~QihH!1R>*lv=rOj zJ}wo=&$s(1UHU;r6V8NNxxX1(t}Kk_VpFa*H;cQ zu+rgNYO68gW?A~ntXkez!i29$s#HHZ%FVALHz)KRY-q{Y6XX z6neZdnA5Z-I~oJm6hW)|-p+IbQ;aAySOT$$=jQewzEg2D^Z|)h3#gXkbx;2^`^aQL z^EeW7l;La$yh?UGy0)UtA{BcB=bIKnq_O;r1R3W-U0w%J2B4A@DKu}GXxOs#hKBkh z<~rNlZ*&|uM|6_g9f5b7#WF83ueh-D+n=K&VR0jI0t6T{D`=yL=Z&mW_KXHjsGAIB z9LuHm!C7_~M6bv3o0#37fHX<)lFMlNpyiqAP+O9W=DQtTFJ`nP8vW5uw7k(>Dc+(k zvJS0`5M*H8qkq%0R-z)wh7YqER9xS1&l;sWqT8{yd3u^Zi)*JKZN$xHR_$Fhts0)s0*aO!TMbm3%}F8&XX~n zA_n?ap*62H!hxA?Qrn-;_KRSdc+#0U{w@tu@ZfK~kUf6(z1FxQCZh4kM&5N|j2xuU z9Xn5%E|F}}5W(G(&r!#zYKhDv6pRxGp+7!%Nu8Qm=YMSH1X>lvVtLB6%{B%@v(1lR z&QRoRTA``PNMTFzv|5*KO^t6}aBZ8|XNTyj{!y18(4Gib&|UV>4;kN62h)4n*^&YV zumfmL!sI@J<#=$n8n8XRYv!}%73M`&u0H`lt>`u5Tj~gc7OVT66Up~pH)Z=&<;Z&k zh8_f3G`VL43#r|+g9Bd8Fixn$aRup#Bn3&n4E8X>smnHDpW0|cDUzj~#3}nzGO8jY0 zYQlN``w4($-PS&KN^Q&qbUjr3Alg#O0r5^sr;DO2maU>in~?xZvrv&pH{pI#Sv3qw1gM8cfd#2LPiPr z>q9>S1xy~tXP<7dY7XQ_yiY(g2h4MM8~-96h<~#?x{caomz3b{oHiLE+8k9(Sgo}k zCj>xXg0;N}k#4v@WQf9uyzSRfd0{Itw_f(-JxQI)qT@4l@JJ>Mvv9Ba^-5H!)=_L{ zPVrCqUpdFGT^9P+nkD?(a%v%H=2PiZ`^wiHzArwf3c?(7tWL{8Np98SMIUmjR*pC0 z3VOE^zaC#tN+rQned8!B>x5NTxm|MlJa@p zxOraGGTKyd+0j+um880ie=HtX{XzQhBcH>zfp=5fg4B>QOOhoD z(<|)EC@h6)7UiNDda5Nt0|-&UG?eACEdpHMv!59XqahVIPZoAwwr9tDQX#418yQa3 zNoSvbZ8+J4TA|VET$@Au#nFkFofja{pz^a4uh3bdXyxK@xtM=j(p+y6GNgvqv_vYE z!x)Es=cv@AY~c4;iQ}sE&a;NWV!Xp}*zlt$HIyqd^poT7Y6Viv?xYT2JjZPF1A24L zyn?IYA^swn|4Onpd6F8@uU{pD9CifI;;BB)h6#a%Koq+IeC~zL054lLHuZzS<3+vSLiR9LYz5ay2^{p`-wv?vAZA(@>sw zx|0XzJ_?wT;(sYia3ybii;6}ReuZZl$Zv}h?>0jtFe1zG5Q4Z3ah+$#~F%=!j3a_2t*E?Se@d|G-mPp3=3cwHY*#hh&*$sigXop}>H@ zng_a)=UQ)8GUBM7umj^6Yhpt=4rRPPeE#gs>)z6K5X~e9aq>eMqn)5U=^r^Niru+OTzdR*Y$j&CdkFp4 zm%Gz{UucpVk~!^}4qRral1;tnwkc1$C!n**AE)jb#C+`4pU z$^gzQ-Ni!3?qgmAp8)+umNI2clH)cn@V1>(ni1-TI^pnJ zx}mz;0#fyaK5-cA-$Gt4I&G@bXya?jXr)=vsr8_w2VI`8L8cm z6r+aLPd9=Pvzj>G#Q&a^kOdDPAKsL1{fq`1Gu8fi@yFADe@a7HCmNJY4Ij`9{s{;w zuYr0~29qk%z@a|TijuYu4L=`HzlQ1#bwIODVR}f1EU~)z%j%qz?1EuiUr%t3Xd$O} zg{2WoVDc7_x?PjSz)fkvUJ%*t!fyrgW?$Aft%a63z)-wtYZ}=<_MN_~ULFdInsLfm z=iop{tS!s{C&w^iU?4p3Oa+67`?7|H#!OgbqV9GAr(56Fy*12`s!I#$ed;SPq(%N( z!375e`6ny%?<5Nd3V`@4B>aj9zoNm08zQB?J*K%^q5od)6(oLdtsolN5Au%?jmCb@ zeNI$}R)ey<4$Y>6Eky1{6a285VB@DTOgpIZ1bE#KG-wiZ=FgQF* zBP%P|Gt<+WCCkzE#n5^!Cw&VP?O?jLE@UNeh4Xh`&={+5(4zGLzGWRPYCV}hRRp$= zi}|!p!FvLG2B1+&wP4jD2*ZJy#&k?Cuwl|;;Ky8k&TPi>!rZ*fp(&+4<;W3QK z)3B@TT+s2kgyR>lGDifZV8Py!K{=}nQ#*o(cn@bkhx$unh}|Sp%i~-uA$SNam18Y{ zFO6Ol>!9y-kiSU=ODT~N^L_*|1&KeEGz!lrV2rSYC*kz>PjZtoQ3?YSu_sogV*gmG zmL|e%M&$*2XONViTYra0?2w;9HMa=~q9-Y@@BXR`UMHZ|0R%jjG|hlIdNze7@&L!rG!&#gYwzI3jD_b%##XhXIDx$$VQ zqtPrkBj%h4|@@{Hpe z%yW`TwoNk0cKgVBtBM}Uz~S32FW%Wc0sYzPOO6BEV)e16J`SlP-(_N^EA>|yZaspB z`P696h~yk!mB1&9xHnFs#kBPqC@{xVMHfe)=&0n^>88)vs6v=CEmM)Q+ssoqV>`9B zxJw5SgT>|Gl2Vqa_tS%Tv35C+W04ATtDK;;ejIHkJ!d8T@zwCY6WRgTaHuG=>Jx9# zyCL_I|LQ_w*w?zxFS3uKR@8Bw@MYX%N%Zj{sR=|)^+Pp@La5c;?8~e^9P^otYR#L*XY3R#q^=koIpy_GhZO~8^ zW@7sDyxw$TAGwIM5K%kJhD!7g>O=OPXL~n!y%ZJBYBC+%vcEepwS5A99G$X4rcH{; z85BvUZWZnRF#;0&4gQAK^>bhPaV|CITZ(ntO6)=7nbrK-jj4js^NQ9-&p zg$*mA$ceBW9IRQOX6Wjw+#Dtj9V*#WF6y@hvqT!M!_@=hBEm}uiVjMXOkN#|%^hC- z(U?Jl!{3LcEQdK?fj0XjG8D_af&Ma#9gPPSgu z>ut?;Y9vblc1)wl61cK?8mXZSG9HW&w$ZPVX zbmyD2r^#z0Rmzx5{fLPH26va2L>wjx&N0XPR2G|zs80ljY2>SfhIcQQiA5%klsu8g zgr1M?CTl8y*V>}5q}+7NDd0GJ8TPK{phID5z3#U(Qd2u0z*Be{i8|P{jnDeiu4gU^ zPR7nP~Qs&$LW%8v%-gCSWSmG{M)^bg}r@I($M z;ifhqEO{i=YGGy?5Z@tb;?w$QYVU#LOR}V-kO3hV2}rF^={8!|Ge&Yic&m@ejV57( z-5$#dl}1OBI@7twWDdKry>2xYVIG2uXTu;G_;!)JqeoW?u~}A7`D|0vu z0GaCI-WdPP26EeSli}6hMrZah%S)tR&48{Iht1+PRx5ZGdCSmY?wq&*#KuFKm>_jh zo8LlkV0)^jtb9kN$om+h>$WQ(B2XaDDDV#}=%ilKmw)F#5Feq;ieg~b;)(r^r0ej2 zSPx<*XXzl(8~{)SwTjG{AkwwYiI~|2N&%YB`eKRcbb5c4t9at9O$yV=@3&ilKwWvf z5YI}1NNRU8$}l_$NrDBNSesZgvKbQ#vOfr<=WLfO$VLR~->aCDJp>=R zZ1az25`TY>E(r-0+vpC$s;*u@j%{km&HQbYc<3c1sVJNyrLbs5E)3W;MKt0r!gU>U zc0~VXdxt{&d@Flm&ImFaD_?tDt`!4fX2HW%s1xqK*>~7FrUEs^C<0pw5{u3k0d~3b zGx1xkEC?%a&Y&s!gU#%&*tIun`p+2R{~|3mqSHx7?=f z1zmbj5wZnuMo)(TiXH{gn@WEe#Xwi41HM86KjB{vDYd3lc~ib-RE78pY#lf;J+aij zkWtS}3<
|e?CjKD1uVm9t1-*~<$C_%0MMr;IAo_qi?Wqg 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 Bis=9V literal 0 HcmV?d00001 diff --git a/wxPython/scripts/CreateBatchFiles.py b/wxPython/scripts/CreateBatchFiles.py index 871650d52f..d5d861801f 100644 --- a/wxPython/scripts/CreateBatchFiles.py +++ b/wxPython/scripts/CreateBatchFiles.py @@ -16,13 +16,15 @@ python = sys.executable pythonw = 'start ' + os.path.join(os.path.split(python)[0], 'pythonw.exe') scriptdir = os.getcwd() -scripts = [ ("img2png", 0), - ("img2py", 0), - ("img2xpm", 0), - ("xrced", 1), - ("pyshell", 1), - ("pycrust", 1), - ("pycwrap", 1), +scripts = [ ("img2png", 0), + ("img2py", 0), + ("img2xpm", 0), + ("xrced", 1), + ("pyshell", 1), + ("pycrust", 1), + ("pywrap", 1), + ("pyalamode", 1), + ("pyalacarte", 1), ("helpviewer", 1), ] diff --git a/wxPython/scripts/helpviewer.bat b/wxPython/scripts/helpviewer.bat index d881374690..e08ab42480 100755 --- a/wxPython/scripts/helpviewer.bat +++ b/wxPython/scripts/helpviewer.bat @@ -1,3 +1,3 @@ @echo off -start e:\tools\Python22\pythonw.exe e:\PROJECTS\wx\wxPython\scripts\helpviewer %1 %2 %3 %4 %5 %6 %7 %8 %9 +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\helpviewer %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/img2png.bat b/wxPython/scripts/img2png.bat index a69fee0c02..2b2511328f 100755 --- a/wxPython/scripts/img2png.bat +++ b/wxPython/scripts/img2png.bat @@ -1,3 +1,3 @@ @echo off -e:\tools\Python22\python.exe e:\PROJECTS\wx\wxPython\scripts\img2png %1 %2 %3 %4 %5 %6 %7 %8 %9 +E:\TOOLS\PYTHON22\PYTHON.EXE C:\PROJECTS\wx\wxPython\scripts\img2png %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/img2py.bat b/wxPython/scripts/img2py.bat index e2451895ec..fa00d7ff02 100755 --- a/wxPython/scripts/img2py.bat +++ b/wxPython/scripts/img2py.bat @@ -1,3 +1,3 @@ @echo off -e:\tools\Python22\python.exe e:\PROJECTS\wx\wxPython\scripts\img2py %1 %2 %3 %4 %5 %6 %7 %8 %9 +E:\TOOLS\PYTHON22\PYTHON.EXE C:\PROJECTS\wx\wxPython\scripts\img2py %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/img2xpm.bat b/wxPython/scripts/img2xpm.bat index 45bff43e11..560981e8c9 100755 --- a/wxPython/scripts/img2xpm.bat +++ b/wxPython/scripts/img2xpm.bat @@ -1,3 +1,3 @@ @echo off -e:\tools\Python22\python.exe e:\PROJECTS\wx\wxPython\scripts\img2xpm %1 %2 %3 %4 %5 %6 %7 %8 %9 +E:\TOOLS\PYTHON22\PYTHON.EXE C:\PROJECTS\wx\wxPython\scripts\img2xpm %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pyalacarte b/wxPython/scripts/pyalacarte new file mode 100755 index 0000000000..8ce50e1b22 --- /dev/null +++ b/wxPython/scripts/pyalacarte @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +from wx.py.PyAlaCarte import main +main() diff --git a/wxPython/scripts/pyalacarte.bat b/wxPython/scripts/pyalacarte.bat new file mode 100755 index 0000000000..a3936d841f --- /dev/null +++ b/wxPython/scripts/pyalacarte.bat @@ -0,0 +1,3 @@ +@echo off + +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\pyalacarte %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pyalamode b/wxPython/scripts/pyalamode new file mode 100755 index 0000000000..ac3abdc335 --- /dev/null +++ b/wxPython/scripts/pyalamode @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +from wx.py.PyAlaMode import main +main() diff --git a/wxPython/scripts/pyalamode.bat b/wxPython/scripts/pyalamode.bat new file mode 100755 index 0000000000..8a0b1d33b7 --- /dev/null +++ b/wxPython/scripts/pyalamode.bat @@ -0,0 +1,3 @@ +@echo off + +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\pyalamode %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pycrust b/wxPython/scripts/pycrust index e07058e8e2..2c1aec1121 100755 --- a/wxPython/scripts/pycrust +++ b/wxPython/scripts/pycrust @@ -1,4 +1,4 @@ #!/usr/bin/env python -from wxPython.lib.PyCrust.PyCrustApp import main +from wx.py.PyCrust import main main() diff --git a/wxPython/scripts/pycrust.bat b/wxPython/scripts/pycrust.bat index a2fc4f3416..d3e9e0bb6b 100755 --- a/wxPython/scripts/pycrust.bat +++ b/wxPython/scripts/pycrust.bat @@ -1,3 +1,3 @@ @echo off -start e:\tools\Python22\pythonw.exe e:\PROJECTS\wx\wxPython\scripts\pycrust %1 %2 %3 %4 %5 %6 %7 %8 %9 +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\pycrust %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pycwrap b/wxPython/scripts/pycwrap deleted file mode 100755 index 911c5ec778..0000000000 --- a/wxPython/scripts/pycwrap +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python - -from wxPython.lib.PyCrust.wrap import main -import sys, os - -sys.path.insert(0, os.curdir) -main(sys.argv) diff --git a/wxPython/scripts/pycwrap.bat b/wxPython/scripts/pycwrap.bat deleted file mode 100755 index 40562b5629..0000000000 --- a/wxPython/scripts/pycwrap.bat +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -start e:\tools\Python22\pythonw.exe e:\PROJECTS\wx\wxPython\scripts\pycwrap %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pyshell b/wxPython/scripts/pyshell index ee9e9228b7..30972b58c4 100755 --- a/wxPython/scripts/pyshell +++ b/wxPython/scripts/pyshell @@ -1,4 +1,4 @@ #!/usr/bin/env python -from wxPython.lib.PyCrust.PyShellApp import main +from wx.py.PyShell import main main() diff --git a/wxPython/scripts/pyshell.bat b/wxPython/scripts/pyshell.bat index fff21cd258..e9f0031dd9 100755 --- a/wxPython/scripts/pyshell.bat +++ b/wxPython/scripts/pyshell.bat @@ -1,3 +1,3 @@ @echo off -start e:\tools\Python22\pythonw.exe e:\PROJECTS\wx\wxPython\scripts\pyshell %1 %2 %3 %4 %5 %6 %7 %8 %9 +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\pyshell %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/pywrap b/wxPython/scripts/pywrap new file mode 100755 index 0000000000..3bd7ef1f84 --- /dev/null +++ b/wxPython/scripts/pywrap @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +from wx.py.PyWrap import main +main() diff --git a/wxPython/scripts/pywrap.bat b/wxPython/scripts/pywrap.bat new file mode 100755 index 0000000000..552a7c8d79 --- /dev/null +++ b/wxPython/scripts/pywrap.bat @@ -0,0 +1,3 @@ +@echo off + +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\pywrap %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/scripts/xrced.bat b/wxPython/scripts/xrced.bat index 2bfdd300cb..04f30b1880 100755 --- a/wxPython/scripts/xrced.bat +++ b/wxPython/scripts/xrced.bat @@ -1,3 +1,3 @@ @echo off -start e:\tools\Python22\pythonw.exe e:\PROJECTS\wx\wxPython\scripts\xrced %1 %2 %3 %4 %5 %6 %7 %8 %9 +start E:\TOOLS\PYTHON22\pythonw.exe C:\PROJECTS\wx\wxPython\scripts\xrced %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/wxPython/setup.py b/wxPython/setup.py index 44ee2e1359..dc52ba0d25 100755 --- a/wxPython/setup.py +++ b/wxPython/setup.py @@ -1,7 +1,7 @@ #!/usr/bin/env python #---------------------------------------------------------------------- -import sys, os, glob +import sys, os, glob, fnmatch from distutils.core import setup, Extension from distutils.file_util import copy_file from distutils.dir_util import mkpath @@ -13,7 +13,12 @@ from distutils.command.install_data import install_data # flags and values that affect this script #---------------------------------------------------------------------- -VERSION = "2.5.0p1" +VER_MAJOR = 2 # The first three must match wxWindows +VER_MINOR = 5 +VER_RELEASE = 0 +VER_SUBREL = 0 # wxPython release num for x.y.z release of wxWindows +VER_FLAGS = "p1" # release flags, such as prerelease num, unicode, etc. + DESCRIPTION = "Cross platform GUI toolkit for Python" AUTHOR = "Robin Dunn" AUTHOR_EMAIL = "Robin Dunn " @@ -201,7 +206,7 @@ def Verify_WX_CONFIG(): uf = 'u' else: uf = '' - ver2 = VERSION[:3] + ver2 = "%s.%s" % (VER_MAJOR, VER_MINOR) WX_CONFIG = 'wx%s%s%s-%s-config' % (WXPORT, uf, df, ver2) searchpath = os.environ["PATH"] @@ -295,6 +300,24 @@ def build_locale_list(srcdir): return file_list +def find_data_files(srcdir, *wildcards): + # get a list of all files under the srcdir matching wildcards, + # returned in a format to be used for install_data + + def walk_helper(arg, dirname, files): + names = [] + lst, wildcards = arg + for wc in wildcards: + for f in files: + filename = opj(dirname, f) + if fnmatch.fnmatch(filename, wc) and not os.path.isdir(filename): + names.append(filename) + if names: + lst.append( (dirname, names ) ) + + file_list = [] + os.path.walk(srcdir, walk_helper, (file_list, wildcards)) + return file_list @@ -381,7 +404,7 @@ if os.name == 'nt': lflags = None # Other MSVC flags... - # To bad I don't remember why I was playing with these, can they be removed? + # Too bad I don't remember why I was playing with these, can they be removed? if FINAL: pass #cflags = cflags + ['/O1'] elif HYBRID : @@ -482,22 +505,38 @@ else: #---------------------------------------------------------------------- -# post platform setup checks and tweaks +# post platform setup checks and tweaks, create the full version string #---------------------------------------------------------------------- if UNICODE: BUILD_BASE = BUILD_BASE + '.unicode' - VERSION = VERSION + 'u' + VER_FLAGS += 'u' +VERSION = "%s.%s.%s.%s%s" % (VER_MAJOR, VER_MINOR, VER_RELEASE, + VER_SUBREL, VER_FLAGS) + #---------------------------------------------------------------------- -# Check if the version file needs updated +# Update the version file #---------------------------------------------------------------------- -##if IN_CVS_TREE and newer('setup.py', 'src/__version__.py'): +# Unconditionally updated since the version string can change based +# on the UNICODE flag +open('src/__version__.py', 'w').write("""\ +# This file was generated by setup.py... + +wxVERSION_STRING = '%(VERSION)s' +wxMAJOR_VERSION = %(VER_MAJOR)s +wxMINOR_VERSION = %(VER_MINOR)s +wxRELEASE_VERSION = %(VER_RELEASE)s +wxSUBREL_VERSION = %(VER_SUBREL)s + +wxVERSION = (wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_VERSION, + wxSUBREL_VERSION, '%(VER_FLAGS)s') + +wxRELEASE_NUMBER = wxRELEASE_VERSION # for compatibility +""" % globals()) -# Always do it since the version string can change based on the UNICODE flag -open('src/__version__.py', 'w').write("ver = '%s'\n" % VERSION) @@ -787,7 +826,11 @@ if BUILD_STC: ext = Extension('stc_c', - ['%s/scintilla/src/AutoComplete.cxx' % STCLOC, + ['%s/PlatWX.cpp' % STCLOC, + '%s/ScintillaWX.cpp' % STCLOC, + '%s/stc.cpp' % STCLOC, + + '%s/scintilla/src/AutoComplete.cxx' % STCLOC, '%s/scintilla/src/CallTip.cxx' % STCLOC, '%s/scintilla/src/CellBuffer.cxx' % STCLOC, '%s/scintilla/src/ContractionState.cxx' % STCLOC, @@ -806,31 +849,10 @@ if BUILD_STC: '%s/scintilla/src/UniConversion.cxx' % STCLOC, '%s/scintilla/src/ViewStyle.cxx' % STCLOC, '%s/scintilla/src/WindowAccessor.cxx' % STCLOC, - - '%s/scintilla/src/LexAda.cxx' % STCLOC, - '%s/scintilla/src/LexAVE.cxx' % STCLOC, - '%s/scintilla/src/LexBaan.cxx' % STCLOC, - '%s/scintilla/src/LexBullant.cxx' % STCLOC, - '%s/scintilla/src/LexCPP.cxx' % STCLOC, - '%s/scintilla/src/LexConf.cxx' % STCLOC, - '%s/scintilla/src/LexCrontab.cxx' % STCLOC, - '%s/scintilla/src/LexEiffel.cxx' % STCLOC, - '%s/scintilla/src/LexHTML.cxx' % STCLOC, - '%s/scintilla/src/LexLisp.cxx' % STCLOC, - '%s/scintilla/src/LexLua.cxx' % STCLOC, - '%s/scintilla/src/LexMatlab.cxx' % STCLOC, - '%s/scintilla/src/LexOthers.cxx' % STCLOC, - '%s/scintilla/src/LexPascal.cxx' % STCLOC, - '%s/scintilla/src/LexPerl.cxx' % STCLOC, - '%s/scintilla/src/LexPython.cxx' % STCLOC, - '%s/scintilla/src/LexRuby.cxx' % STCLOC, - '%s/scintilla/src/LexSQL.cxx' % STCLOC, - '%s/scintilla/src/LexVB.cxx' % STCLOC, - - '%s/PlatWX.cpp' % STCLOC, - '%s/ScintillaWX.cpp' % STCLOC, - '%s/stc.cpp' % STCLOC, - ] + swig_sources, + '%s/scintilla/src/XPM.cxx' % STCLOC, + ] + + glob.glob('%s/scintilla/src/Lex*.cxx' % STCLOC) + + swig_sources, include_dirs = stc_includes, define_macros = stc_defines, @@ -903,55 +925,17 @@ if BUILD_XRC: contrib_copy_tree(opj(CTRB_INC, 'xrc'), opj(XMLINC, 'wx/xrc')) contrib_copy_tree(opj(CTRB_SRC, 'xrc'), XMLLOC) - ext = Extension('xrcc', ['%s/expat/xmlparse/xmlparse.c' % XMLLOC, - '%s/expat/xmltok/xmlrole.c' % XMLLOC, - '%s/expat/xmltok/xmltok.c' % XMLLOC, - - '%s/xh_bmp.cpp' % XMLLOC, - '%s/xh_bmpbt.cpp' % XMLLOC, - '%s/xh_bttn.cpp' % XMLLOC, - '%s/xh_cald.cpp' % XMLLOC, - '%s/xh_chckb.cpp' % XMLLOC, - - '%s/xh_chckl.cpp' % XMLLOC, - '%s/xh_choic.cpp' % XMLLOC, - '%s/xh_combo.cpp' % XMLLOC, - '%s/xh_dlg.cpp' % XMLLOC, - '%s/xh_frame.cpp' % XMLLOC, - - '%s/xh_gauge.cpp' % XMLLOC, - '%s/xh_gdctl.cpp' % XMLLOC, - '%s/xh_html.cpp' % XMLLOC, - '%s/xh_listb.cpp' % XMLLOC, - '%s/xh_listc.cpp' % XMLLOC, - '%s/xh_menu.cpp' % XMLLOC, - - '%s/xh_notbk.cpp' % XMLLOC, - '%s/xh_panel.cpp' % XMLLOC, - '%s/xh_radbt.cpp' % XMLLOC, - '%s/xh_radbx.cpp' % XMLLOC, - '%s/xh_scrol.cpp' % XMLLOC, - '%s/xh_scwin.cpp' % XMLLOC, - - '%s/xh_sizer.cpp' % XMLLOC, - '%s/xh_slidr.cpp' % XMLLOC, - '%s/xh_spin.cpp' % XMLLOC, - '%s/xh_split.cpp' % XMLLOC, - '%s/xh_stbmp.cpp' % XMLLOC, - '%s/xh_stbox.cpp' % XMLLOC, - - '%s/xh_stlin.cpp' % XMLLOC, - '%s/xh_sttxt.cpp' % XMLLOC, - '%s/xh_text.cpp' % XMLLOC, - '%s/xh_toolb.cpp' % XMLLOC, - '%s/xh_tree.cpp' % XMLLOC, - - '%s/xh_unkwn.cpp' % XMLLOC, - '%s/xml.cpp' % XMLLOC, - '%s/xmlres.cpp' % XMLLOC, - '%s/xmlrsall.cpp' % XMLLOC, + ext = Extension('xrcc', + ['%s/expat/xmlparse/xmlparse.c' % XMLLOC, + '%s/expat/xmltok/xmlrole.c' % XMLLOC, + '%s/expat/xmltok/xmltok.c' % XMLLOC, - ] + swig_sources, + ] + glob.glob('%s/xh_*.cpp' % XMLLOC) + + + [ '%s/xml.cpp' % XMLLOC, + '%s/xmlres.cpp' % XMLLOC, + '%s/xmlrsall.cpp' % XMLLOC, + ] + swig_sources, include_dirs = xmlres_includes, define_macros = defines, @@ -992,11 +976,14 @@ if BUILD_GIZMOS: contrib_copy_tree(opj(CTRB_SRC, 'gizmos'), GIZMOLOC) ext = Extension('gizmosc', [ - '%s/dynamicsash.cpp' % GIZMOLOC, - '%s/editlbox.cpp' % GIZMOLOC, - #'%s/multicell.cpp' % GIZMOLOC, - '%s/splittree.cpp' % GIZMOLOC, - '%s/ledctrl.cpp' % GIZMOLOC, + '%s/dynamicsash.cpp' % GIZMOLOC, + '%s/editlbox.cpp' % GIZMOLOC, + '%s/splittree.cpp' % GIZMOLOC, + '%s/ledctrl.cpp' % GIZMOLOC, + #'%s/multicell.cpp' % GIZMOLOC, + + '%s/treelistctrl.cpp' % location, + ] + swig_sources, include_dirs = gizmos_includes, @@ -1172,15 +1159,16 @@ else: opj('scripts/xrced'), opj('scripts/pyshell'), opj('scripts/pycrust'), - opj('scripts/pycwrap'), + opj('scripts/pywrap'), + opj('scripts/pywrap'), + opj('scripts/pyalacarte'), + opj('scripts/pyalamode'), ] -DATA_FILES.append( ('wxPython/tools/XRCed', glob.glob('wxPython/tools/XRCed/*.txt') + - [ 'wxPython/tools/XRCed/xrced.xrc'])) - -DATA_FILES.append( ('wxPython/lib/PyCrust', glob.glob('wxPython/lib/PyCrust/*.txt') + - glob.glob('wxPython/lib/PyCrust/*.ico'))) +DATA_FILES += find_data_files('wxPython/tools/XRCed', '*.txt', '*.xrc') +DATA_FILES += find_data_files('wxPython/py', '*.txt', '*.ico', '*.css', '*.html') +DATA_FILES += find_data_files('wx', '*.txt', '*.css', '*.html') #---------------------------------------------------------------------- @@ -1198,15 +1186,25 @@ if __name__ == "__main__": url = URL, license = LICENSE, - packages = [PKGDIR, - PKGDIR+'.lib', - PKGDIR+'.lib.colourchooser', - PKGDIR+'.lib.editor', - PKGDIR+'.lib.mixins', - PKGDIR+'.lib.PyCrust', - PKGDIR+'.lib.PyCrust.wxd', - PKGDIR+'.tools', - PKGDIR+'.tools.XRCed', + packages = ['wxPython', + 'wxPython.lib', + 'wxPython.lib.colourchooser', + 'wxPython.lib.editor', + 'wxPython.lib.mixins', + 'wxPython.lib.PyCrust', + 'wxPython.py', + 'wxPython.py.wxd', + 'wxPython.tools', + 'wxPython.tools.XRCed', + + 'wx', + 'wx.lib', + 'wx.lib.colourchooser', + 'wx.lib.editor', + 'wx.lib.mixins', + 'wx.py', + 'wx.tools', + 'wx.tools.XRCed', ], ext_package = PKGDIR, diff --git a/wxPython/src/__init__.py b/wxPython/src/__init__.py index 888f664d07..721ee6cb2b 100644 --- a/wxPython/src/__init__.py +++ b/wxPython/src/__init__.py @@ -12,13 +12,12 @@ #---------------------------------------------------------------------------- import __version__ -__version__ = __version__.ver +__version__ = __version__.wxVERSION_STRING # Ensure the main extension module is loaded, in case the add-on modules # (such as utils,) are used standalone. import wxc -wxc.__version__ = __version__ #---------------------------------------------------------------------------- diff --git a/wxPython/src/__version__.py b/wxPython/src/__version__.py index ccace370f1..d253ef4abb 100644 --- a/wxPython/src/__version__.py +++ b/wxPython/src/__version__.py @@ -1 +1,12 @@ -ver = '2.5.0p1' +# This file was generated by setup.py... + +wxVERSION_STRING = '2.5.0.0p1' +wxMAJOR_VERSION = 2 +wxMINOR_VERSION = 5 +wxRELEASE_VERSION = 0 +wxSUBREL_VERSION = 0 + +wxVERSION = (wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_VERSION, + wxSUBREL_VERSION, 'p1') + +wxRELEASE_NUMBER = wxRELEASE_VERSION # for compatibility diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index 8790c0705d..647352d18b 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -222,6 +222,7 @@ enum { wxFRAME_FLOAT_ON_PARENT, wxFRAME_NO_WINDOW_MENU, wxFRAME_NO_TASKBAR, + wxFRAME_SHAPED, wxED_CLIENT_MARGIN, wxED_BUTTONS_BOTTOM, @@ -492,6 +493,7 @@ enum { wxEXPAND, wxNB_FIXEDWIDTH, + wxNB_TOP, wxNB_LEFT, wxNB_RIGHT, wxNB_BOTTOM, diff --git a/wxPython/src/_extras.py b/wxPython/src/_extras.py index 99f9f70dab..1cc71d3a8b 100644 --- a/wxPython/src/_extras.py +++ b/wxPython/src/_extras.py @@ -517,10 +517,10 @@ def EVT_SASH_DRAGGED_RANGE(win, id1, id2, func): win.Connect(id1, id2, wxEVT_SASH_DRAGGED, func) def EVT_QUERY_LAYOUT_INFO(win, func): - win.Connect(-1, -1, wxEVT_EVT_QUERY_LAYOUT_INFO, func) + win.Connect(-1, -1, wxEVT_QUERY_LAYOUT_INFO, func) def EVT_CALCULATE_LAYOUT(win, func): - win.Connect(-1, -1, wxEVT_EVT_CALCULATE_LAYOUT, func) + win.Connect(-1, -1, wxEVT_CALCULATE_LAYOUT, func) #wxSplitterWindow @@ -610,6 +610,8 @@ wxSystemSettings_GetSystemMetric = wxSystemSettings_GetMetric # workarounds for bad wxRTTI names __wxPyPtrTypeMap['wxGauge95'] = 'wxGauge' +__wxPyPtrTypeMap['wxSlider95'] = 'wxSlider' +__wxPyPtrTypeMap['wxStatusBar95'] = 'wxStatusBar' @@ -647,6 +649,8 @@ if wxPlatform == "__WXGTK__": except: pass +# On MSW add the directory where the wxWindows catalogs were installed +# to the default catalog path. if wxPlatform == "__WXMSW__": import os localedir = os.path.join(os.path.split(__file__)[0], "locale") @@ -654,15 +658,17 @@ if wxPlatform == "__WXMSW__": del os #---------------------------------------------------------------------- -# wxWindows version numbers. wxPython version is in __version__. +# Load version numbers from __version__... Ensure that major and minor +# versions are the same for both wxPython and wxWindows. -wxMAJOR_VERSION = wxc.wxMAJOR_VERSION -wxMINOR_VERSION = wxc.wxMINOR_VERSION -wxRELEASE_NUMBER = wxc.wxRELEASE_NUMBER -wxVERSION_STRING = wxc.wxVERSION_STRING -wxVERSION_NUMBER = wxc.wxVERSION_NUMBER +from wxPython.__version__ import * +__version__ = wxVERSION_STRING -wxVERSION = (wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER) +assert wxMAJOR_VERSION == wxc.wxMAJOR_VERSION, "wxPython/wxWindows version mismatch" +assert wxMINOR_VERSION == wxc.wxMINOR_VERSION, "wxPython/wxWindows version mismatch" +if wxRELEASE_VERSION != wxc.wxRELEASE_VERSION: + import warnings + warnings.warn("wxPython/wxWindows release number mismatch") #---------------------------------------------------------------------- @@ -732,7 +738,7 @@ def wxCallAfter(callable, *args, **kw): if _wxCallAfterId is None: _wxCallAfterId = wxNewEventType() app.Connect(-1, -1, _wxCallAfterId, - lambda event: apply(event.callable, event.args, event.kw) ) + lambda event: event.callable(*event.args, **event.kw) ) evt = wxPyEvent() evt.SetEventType(_wxCallAfterId) evt.callable = callable @@ -740,8 +746,97 @@ def wxCallAfter(callable, *args, **kw): evt.kw = kw wxPostEvent(app, evt) -# an alias -wxRunLater = wxCallAfter + +#---------------------------------------------------------------------- + + +class wxFutureCall: + """ + A convenience class for wxTimer, that calls the given callable + object once after the given amount of milliseconds, passing any + positional or keyword args. The return value of the callable is + availbale after it has been run with the GetResult method. + + If you don't need to get the return value or restart the timer + then there is no need to hold a reference to this object. It will + hold a reference to itself while the timer is running (the timer + has a reference to self.Notify) but the cycle will be broken when + the timer completes, automatically cleaning up the wxFutureCall + object. + """ + def __init__(self, millis, callable, *args, **kwargs): + self.millis = millis + self.callable = callable + self.SetArgs(*args, **kwargs) + self.runCount = 0 + self.hasRun = False + self.result = None + self.timer = None + self.Start() + + def __del__(self): + self.Stop() + + + def Start(self, millis=None): + """ + (Re)start the timer + """ + self.hasRun = False + if millis is not None: + self.millis = millis + self.Stop() + self.timer = wxPyTimer(self.Notify) + self.timer.Start(self.millis, wxTIMER_ONE_SHOT) + Restart = Start + + + def Stop(self): + """ + Stop and destroy the timer. + """ + if self.timer is not None: + self.timer.Stop() + self.timer = None + + + def GetInterval(self): + if self.timer is not None: + return self.timer.GetInterval() + else: + return 0 + + + def IsRunning(self): + return self.timer is not None and self.timer.IsRunning() + + + def SetArgs(self, *args, **kwargs): + """ + (Re)set the args passed to the callable object. This is + useful in conjunction with Restart if you want to schedule a + new call to the same callable object but with different + parameters. + """ + self.args = args + self.kwargs = kwargs + + def HasRun(self): + return self.hasRun + + def GetResult(self): + return self.result + + def Notify(self): + """ + The timer has expired so call the callable. + """ + if self.callable and getattr(self.callable, 'im_self', True): + self.runCount += 1 + self.result = self.callable(*self.args, **self.kwargs) + self.hasRun = True + wxCallAfter(self.Stop) + #---------------------------------------------------------------------- @@ -771,6 +866,35 @@ class _wxPyDeadObject: return 0 +#---------------------------------------------------------------------- + +class wxNotebookPage(wxPanel): + """ + There is an old (and apparently unsolvable) bug when placing a + window with a nonstandard background colour in a wxNotebook on + wxGTK, as the notbooks's background colour would always be used + when the window is refreshed. The solution is to place a panel in + the notbook and the coloured window on the panel, sized to cover + the panel. This simple class does that for you, just put an + instance of this in the notebook and make your regular window a + child of this one and it will handle the resize for you. + """ + def __init__(self, parent, id=-1, + pos=wxDefaultPosition, size=wxDefaultSize, + style=wxTAB_TRAVERSAL, name="panel"): + wxPanel.__init__(self, parent, id, pos, size, style, name) + self.child = None + EVT_SIZE(self, self.OnSize) + def OnSize(self, evt): + if self.child is None: + children = self.GetChildren() + if len(children): + self.child = children[0] + if self.child: + self.child.SetPosition((0,0)) + self.child.SetSize(self.GetSize()) + + #---------------------------------------------------------------------- #---------------------------------------------------------------------- @@ -825,6 +949,18 @@ class wxApp(wxPyApp): def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False): wxPyApp.__init__(self) + + if wx.wxPlatform == "__WXMAC__": + try: + import MacOS + if not MacOS.WMAvailable(): + print """This program needs access to the screen. Please run with +'pythonw', not 'python', and only when you are logged in on the main display +of your Mac.""" + sys.exit(1) + except: + pass + self.stdioWin = None self.saveStdio = (sys.stdout, sys.stderr) @@ -904,7 +1040,7 @@ class wxPyWidgetTester(wxApp): return True def SetWidget(self, widgetClass, *args): - w = apply(widgetClass, (self.frame,) + args) + w = widgetClass(self.frame, *args) self.frame.Show(True) #---------------------------------------------------------------------------- diff --git a/wxPython/src/controls.i b/wxPython/src/controls.i index c3f57ddb65..f6146b9e27 100644 --- a/wxPython/src/controls.i +++ b/wxPython/src/controls.i @@ -323,7 +323,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& val = wxDefaultValidator, + const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyCheckBoxNameStr); %name(wxPreCheckBox)wxCheckBox(); @@ -331,7 +331,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& val = wxDefaultValidator, + const wxValidator& validator = wxDefaultValidator, const wxString& name = wxPyCheckBoxNameStr); %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" @@ -381,11 +381,11 @@ public: //---------------------------------------------------------------------- -// wxGTK's wxComboBox doesn't derive from wxChoice like wxMSW, or -// even wxControlWithItems, so we have to duplicate the methods -// here... +// wxGTK's wxComboBox doesn't derive from wxChoice like wxMSW, or even +// wxControlWithItems, so we have to duplicate the methods here... +// wxMac's inheritace is weird too so we'll fake it with this one too. -#ifdef __WXGTK__ +#ifndef __WXMSW__ class wxComboBox : public wxControl { public: @@ -477,8 +477,8 @@ public: -#else // For all but wxGTK - +#else +// MSW's version derives from wxChoice class wxComboBox : public wxChoice { public: @@ -1131,7 +1131,14 @@ public: int GetValue(); void SetRange(int min, int max); void SetValue(int value); - +#ifdef __WXGTK__ + %addmethods { + void SetSelection(long from, long to) { + } + } +#else + void SetSelection(long from, long to); +#endif }; diff --git a/wxPython/src/controls2.i b/wxPython/src/controls2.i index 323166e3a8..67f87c0475 100644 --- a/wxPython/src/controls2.i +++ b/wxPython/src/controls2.i @@ -21,6 +21,8 @@ #include #include #include + +#include "pytree.h" %} //---------------------------------------------------------------------- @@ -454,7 +456,7 @@ public: } // The OOR typemaps don't know what to do with the %new, so fix it up. %pragma(python) addtoclass = " def GetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetColumn(self, *_args, **_kwargs) if val is not None: val.thisown = 1 return val " @@ -493,7 +495,7 @@ public: } // The OOR typemaps don't know what to do with the %new, so fix it up. %pragma(python) addtoclass = " def GetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItem(self, *_args, **_kwargs) if val is not None: val.thisown = 1 return val " @@ -1003,7 +1005,11 @@ public: wxTreeItemId(); ~wxTreeItemId(); bool IsOk(); - %pragma(python) addtoclass = "Ok = IsOk" + %pragma(python) addtoclass = " + Ok = IsOk + def __nonzero__(self): + return self.IsOk() +" %addmethods { int __cmp__(wxTreeItemId* other) { @@ -1015,40 +1021,6 @@ public: -%{ -class wxPyTreeItemData : public wxTreeItemData { -public: - wxPyTreeItemData(PyObject* obj = NULL) { - if (obj == NULL) - obj = Py_None; - Py_INCREF(obj); - m_obj = obj; - } - - ~wxPyTreeItemData() { - wxPyBeginBlockThreads(); - Py_DECREF(m_obj); - wxPyEndBlockThreads(); - } - - PyObject* GetData() { - Py_INCREF(m_obj); - return m_obj; - } - - void SetData(PyObject* obj) { - wxPyBeginBlockThreads(); - Py_DECREF(m_obj); - wxPyEndBlockThreads(); - m_obj = obj; - Py_INCREF(obj); - } - - PyObject* m_obj; -}; -%} - - %name(wxTreeItemData) class wxPyTreeItemData : public wxObject { public: @@ -1075,6 +1047,12 @@ public: %pragma(python) addtoclass = "GetCode = GetKeyCode" const wxString& GetLabel(); bool IsEditCancelled() const; + void SetItem(const wxTreeItemId& item); + void SetOldItem(const wxTreeItemId& item); + void SetPoint(const wxPoint& pt); + void SetKeyEvent(const wxKeyEvent& evt); + void SetLabel(const wxString& label); + void SetEditCanceled(bool editCancelled); }; @@ -1134,19 +1112,19 @@ IMPLEMENT_ABSTRACT_CLASS(wxPyTreeCtrl, wxTreeCtrl); %name(wxTreeCtrl)class wxPyTreeCtrl : public wxControl { public: wxPyTreeCtrl(wxWindow *parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPy_TreeCtrlNameStr); + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPy_TreeCtrlNameStr); %name(wxPreTreeCtrl)wxPyTreeCtrl(); bool Create(wxWindow *parent, wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxPy_TreeCtrlNameStr); + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxTR_DEFAULT_STYLE, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxPy_TreeCtrlNameStr); void _setCallbackInfo(PyObject* self, PyObject* _class); %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxTreeCtrl)" @@ -1340,7 +1318,7 @@ public: if (self->GetBoundingRect(item, rect, textOnly)) { wxPyBeginBlockThreads(); wxRect* r = new wxRect(rect); - PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect")); + PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); wxPyEndBlockThreads(); return val; } @@ -1355,17 +1333,17 @@ public: %pragma(python) addtoclass = " # Redefine some methods that SWIG gets a bit confused on... def GetFirstChild(self, *_args, **_kwargs): - val1,val2 = apply(controls2c.wxTreeCtrl_GetFirstChild,(self,) + _args, _kwargs) + val1,val2 = controls2c.wxTreeCtrl_GetFirstChild(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) def GetNextChild(self, *_args, **_kwargs): - val1,val2 = apply(controls2c.wxTreeCtrl_GetNextChild,(self,) + _args, _kwargs) + val1,val2 = controls2c.wxTreeCtrl_GetNextChild(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) def HitTest(self, *_args, **_kwargs): - val1, val2 = apply(controls2c.wxTreeCtrl_HitTest,(self,) + _args, _kwargs) + val1, val2 = controls2c.wxTreeCtrl_HitTest(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) @@ -1458,6 +1436,9 @@ public: wxTreeCtrl* GetTreeCtrl() const; wxDirFilterListCtrl* GetFilterListCtrl() const; + // Collapse & expand the tree, thus re-creating it from scratch: + void ReCreateTree(); + // //// Helpers // void SetupSections(); // // Parse the filter into an array of filters and an array of descriptions diff --git a/wxPython/src/drawlist.cpp b/wxPython/src/drawlist.cpp index cba7952b24..4c3e627708 100644 --- a/wxPython/src/drawlist.cpp +++ b/wxPython/src/drawlist.cpp @@ -35,7 +35,6 @@ PyObject* wxPyDrawXXXList(wxDC& dc, wxPyDrawListOp_t doDraw, wxBrush* brush; PyObject* obj; PyObject* coords; - int x1, x2, x3, x4; int i = 0; PyObject* retval; diff --git a/wxPython/src/fonts.i b/wxPython/src/fonts.i index 6e708d91ca..8137e23db8 100644 --- a/wxPython/src/fonts.i +++ b/wxPython/src/fonts.i @@ -374,6 +374,7 @@ public: static wxFontEncoding GetDefaultEncoding(); static void SetDefaultEncoding(wxFontEncoding encoding); + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -739,9 +740,9 @@ public: %pragma(python) addtoclass = " def Init(self, *_args, **_kwargs): if type(_args[0]) in [type(''), type(u'')]: - val = apply(self.Init1, _args, _kwargs) + val = self.Init1(*_args, **_kwargs) else: - val = apply(self.Init2, _args, _kwargs) + val = self.Init2(*_args, **_kwargs) return val " @@ -969,6 +970,7 @@ public: // equivalent encodings, regardless the platform, including itself. static wxFontEncodingArray GetAllEquivalents(wxFontEncoding enc); + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" }; diff --git a/wxPython/src/gdi.i b/wxPython/src/gdi.i index 8b6768eb57..6905b8133e 100644 --- a/wxPython/src/gdi.i +++ b/wxPython/src/gdi.i @@ -105,6 +105,7 @@ public: void SetQuality(int q); #endif + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -233,6 +234,7 @@ public: #endif void CopyFromBitmap(const wxBitmap& bmp); + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -302,9 +304,17 @@ public: class wxCursor : public wxGDIObject { public: -#ifdef __WXMSW__ - wxCursor(const wxString& cursorName, long flags, int hotSpotX=0, int hotSpotY=0); + %addmethods { + wxCursor(const wxString* cursorName, long flags, int hotSpotX=0, int hotSpotY=0) { +#ifdef __WXGTK__ + wxCHECK_MSG(FALSE, NULL, + wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead.")); +#else + return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY); #endif + } + } + ~wxCursor(); // wxGDIImage methods @@ -322,23 +332,34 @@ public: void SetDepth(int d); void SetSize(const wxSize& size); #endif + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; %name(wxStockCursor) %new wxCursor* wxPyStockCursor(int id); -%{ // Alternate 'constructor' +%new wxCursor* wxCursorFromImage(const wxImage& image); +%new wxCursor* wxCursorFromBits(PyObject* bits, int width, int height, + int hotSpotX=-1, int hotSpotY=-1, + PyObject* maskBits=0); + +%{ wxCursor* wxPyStockCursor(int id) { return new wxCursor(id); } -%} -%new wxCursor* wxCursorFromImage(const wxImage& image); -%{ wxCursor* wxCursorFromImage(const wxImage& image) { - #ifndef __WXMAC__ return new wxCursor(image); - #else - return NULL; - #endif + } + + wxCursor* wxCursorFromBits(PyObject* bits, int width, int height, + int hotSpotX=-1, int hotSpotY=-1, + PyObject* maskBits=0) { + char* bitsbuf; + char* maskbuf = NULL; + int length; + PyString_AsStringAndSize(bits, &bitsbuf, &length); + if (maskBits) + PyString_AsStringAndSize(maskBits, &maskbuf, &length); + return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf); } %} @@ -481,6 +502,8 @@ public: wxBitmap* GetStipple(); void SetStipple(wxBitmap& stipple); #endif + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -554,6 +577,13 @@ public: void SetColour(wxColour &colour); void SetStipple(wxBitmap& bitmap); void SetStyle(int style); + +#ifdef __WXMAC__ + short GetMacTheme(); + void SetMacTheme(short macThemeBrush); +#endif + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -713,6 +743,8 @@ public: // See below for implementation } + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" + #ifdef __WXMSW__ long GetHDC(); #endif @@ -967,6 +999,7 @@ public: const wxString& GetFileName() const { return m_filename; } + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; // bool wxMakeMetaFilePlaceable(const wxString& filename, @@ -993,6 +1026,8 @@ public: int GetPixel(byte red, byte green, byte blue); bool GetRGB(int pixel, byte* OUTPUT, byte* OUTPUT, byte* OUTPUT); bool Ok(); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; //--------------------------------------------------------------------------- @@ -1083,7 +1118,7 @@ public: %name(XorRect)bool Xor(const wxRect& rect); %name(XorRegion)bool Xor(const wxRegion& region); - // Convert the region to a B&W bitmap with the black pixels being inside + // Convert the region to a B&W bitmap with the white pixels being inside // the region. wxBitmap ConvertToBitmap(); diff --git a/wxPython/src/grid.i b/wxPython/src/grid.i index d78a22b050..7686ab6d1b 100644 --- a/wxPython/src/grid.i +++ b/wxPython/src/grid.i @@ -1042,7 +1042,7 @@ public: wxColour GetBackgroundColour() const; wxFont GetFont() const; void GetAlignment(int *OUTPUT, int *OUTPUT) const; - void GetSize(int *num_rows, int *num_cols) const; + void GetSize(int *OUTPUT, int *OUTPUT) const; bool GetOverflow() const; wxGridCellRenderer *GetRenderer(wxGrid* grid, int row, int col) const; wxGridCellEditor *GetEditor(wxGrid* grid, int row, int col) const; @@ -1727,8 +1727,8 @@ public: wxColour GetCellTextColour( int row, int col ); wxFont GetDefaultCellFont(); wxFont GetCellFont( int row, int col ); - void GetDefaultCellAlignment( int *horiz, int *vert ); - void GetCellAlignment( int row, int col, int *horiz, int *vert ); + void GetDefaultCellAlignment( int *OUTPUT, int *OUTPUT ); + void GetCellAlignment( int row, int col, int *OUTPUT, int *OUTPUT ); bool GetDefaultCellOverflow(); bool GetCellOverflow( int row, int col ); void GetCellSize( int row, int col, int *OUTPUT, int *OUTPUT ); @@ -1767,6 +1767,11 @@ public: void SetColMinimalWidth( int col, int width ); void SetRowMinimalHeight( int row, int width ); + void SetColMinimalAcceptableWidth( int width ); + void SetRowMinimalAcceptableHeight( int width ); + int GetColMinimalAcceptableWidth() const; + int GetRowMinimalAcceptableHeight() const; + void SetDefaultCellBackgroundColour( const wxColour& ); void SetCellBackgroundColour( int row, int col, const wxColour& ); void SetDefaultCellTextColour( const wxColour& ); diff --git a/wxPython/src/gtk/calendar.py b/wxPython/src/gtk/calendar.py index 355ee1bfa5..6dab932b4d 100644 --- a/wxPython/src/gtk/calendar.py +++ b/wxPython/src/gtk/calendar.py @@ -42,71 +42,71 @@ class wxCalendarDateAttrPtr : self.this = this self.thisown = 0 def SetTextColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetTextColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetBackgroundColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetBackgroundColour(self, *_args, **_kwargs) return val def SetBorderColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetBorderColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetBorderColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetFont,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetFont(self, *_args, **_kwargs) return val def SetBorder(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetBorder,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetBorder(self, *_args, **_kwargs) return val def SetHoliday(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_SetHoliday,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_SetHoliday(self, *_args, **_kwargs) return val def HasTextColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_HasTextColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_HasTextColour(self, *_args, **_kwargs) return val def HasBackgroundColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_HasBackgroundColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_HasBackgroundColour(self, *_args, **_kwargs) return val def HasBorderColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_HasBorderColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_HasBorderColour(self, *_args, **_kwargs) return val def HasFont(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_HasFont,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_HasFont(self, *_args, **_kwargs) return val def HasBorder(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_HasBorder,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_HasBorder(self, *_args, **_kwargs) return val def IsHoliday(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_IsHoliday,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_IsHoliday(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_GetTextColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_GetBackgroundColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBorderColour(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_GetBorderColour,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_GetBorderColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_GetFont,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetBorder(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarDateAttr_GetBorder,(self,) + _args, _kwargs) + val = calendarc.wxCalendarDateAttr_GetBorder(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCalendarDateAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCalendarDateAttr(wxCalendarDateAttrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(calendarc.new_wxCalendarDateAttr,_args,_kwargs) + self.this = calendarc.new_wxCalendarDateAttr(*_args,**_kwargs) self.thisown = 1 def wxCalendarDateAttrBorder(*_args,**_kwargs): - val = wxCalendarDateAttrPtr(apply(calendarc.new_wxCalendarDateAttrBorder,_args,_kwargs)) + val = wxCalendarDateAttrPtr(calendarc.new_wxCalendarDateAttrBorder(*_args,**_kwargs)) val.thisown = 1 return val @@ -116,17 +116,17 @@ class wxCalendarEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetDate(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarEvent_GetDate,(self,) + _args, _kwargs) + val = calendarc.wxCalendarEvent_GetDate(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetWeekDay(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarEvent_GetWeekDay,(self,) + _args, _kwargs) + val = calendarc.wxCalendarEvent_GetWeekDay(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCalendarEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCalendarEvent(wxCalendarEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(calendarc.new_wxCalendarEvent,_args,_kwargs) + self.this = calendarc.new_wxCalendarEvent(*_args,**_kwargs) self.thisown = 1 @@ -137,108 +137,108 @@ class wxCalendarCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_Create,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_Create(self, *_args, **_kwargs) return val def SetDate(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetDate,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetDate(self, *_args, **_kwargs) return val def GetDate(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetDate,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetDate(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetLowerDateLimit(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetLowerDateLimit,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetLowerDateLimit(self, *_args, **_kwargs) return val def GetLowerDateLimit(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetLowerDateLimit,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetLowerDateLimit(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetUpperDateLimit(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetUpperDateLimit,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetUpperDateLimit(self, *_args, **_kwargs) return val def GetUpperDateLimit(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetUpperDateLimit,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetUpperDateLimit(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetDateRange(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetDateRange,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetDateRange(self, *_args, **_kwargs) return val def EnableYearChange(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_EnableYearChange,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_EnableYearChange(self, *_args, **_kwargs) return val def EnableMonthChange(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_EnableMonthChange,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_EnableMonthChange(self, *_args, **_kwargs) return val def EnableHolidayDisplay(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_EnableHolidayDisplay,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_EnableHolidayDisplay(self, *_args, **_kwargs) return val def SetHeaderColours(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetHeaderColours,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetHeaderColours(self, *_args, **_kwargs) return val def GetHeaderColourFg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHeaderColourFg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHeaderColourFg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetHeaderColourBg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHeaderColourBg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHeaderColourBg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetHighlightColours(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetHighlightColours,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetHighlightColours(self, *_args, **_kwargs) return val def GetHighlightColourFg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHighlightColourFg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHighlightColourFg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetHighlightColourBg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHighlightColourBg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHighlightColourBg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetHolidayColours(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetHolidayColours,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetHolidayColours(self, *_args, **_kwargs) return val def GetHolidayColourFg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHolidayColourFg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHolidayColourFg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetHolidayColourBg(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetHolidayColourBg,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetHolidayColourBg(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetAttr(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_GetAttr,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_GetAttr(self, *_args, **_kwargs) if val: val = wxCalendarDateAttrPtr(val) return val def SetAttr(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetAttr,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetAttr(self, *_args, **_kwargs) return val def SetHoliday(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_SetHoliday,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_SetHoliday(self, *_args, **_kwargs) return val def ResetAttr(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_ResetAttr,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_ResetAttr(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_HitTest,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_HitTest(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_Enable,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_Enable(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(calendarc.wxCalendarCtrl_Show,(self,) + _args, _kwargs) + val = calendarc.wxCalendarCtrl_Show(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCalendarCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCalendarCtrl(wxCalendarCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(calendarc.new_wxCalendarCtrl,_args,_kwargs) + self.this = calendarc.new_wxCalendarCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreCalendarCtrl(*_args,**_kwargs): - val = wxCalendarCtrlPtr(apply(calendarc.new_wxPreCalendarCtrl,_args,_kwargs)) + val = wxCalendarCtrlPtr(calendarc.new_wxPreCalendarCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/clip_dnd.py b/wxPython/src/gtk/clip_dnd.py index d77b5da68d..a6a828354c 100644 --- a/wxPython/src/gtk/clip_dnd.py +++ b/wxPython/src/gtk/clip_dnd.py @@ -18,22 +18,22 @@ class wxDataFormatPtr : except: pass def SetType(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataFormat_SetType,(self,) + _args, _kwargs) + val = clip_dndc.wxDataFormat_SetType(self, *_args, **_kwargs) return val def GetType(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataFormat_GetType,(self,) + _args, _kwargs) + val = clip_dndc.wxDataFormat_GetType(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataFormat_GetId,(self,) + _args, _kwargs) + val = clip_dndc.wxDataFormat_GetId(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataFormat_SetId,(self,) + _args, _kwargs) + val = clip_dndc.wxDataFormat_SetId(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDataFormat instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDataFormat(wxDataFormatPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxDataFormat,_args,_kwargs) + self.this = clip_dndc.new_wxDataFormat(*_args,**_kwargs) self.thisown = 1 @@ -53,29 +53,29 @@ class wxDataObjectPtr : except: pass def GetPreferredFormat(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_GetPreferredFormat,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_GetPreferredFormat(self, *_args, **_kwargs) if val: val = wxDataFormatPtr(val) ; val.thisown = 1 return val def GetFormatCount(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_GetFormatCount,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_GetFormatCount(self, *_args, **_kwargs) return val def GetAllFormats(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_GetAllFormats,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_GetAllFormats(self, *_args, **_kwargs) return val def GetDataHere(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_GetDataHere,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_GetDataHere(self, *_args, **_kwargs) return val def GetDataSize(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_GetDataSize,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_GetDataSize(self, *_args, **_kwargs) return val def SetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_SetData,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_SetData(self, *_args, **_kwargs) return val def IsSupportedFormat(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObject_IsSupportedFormat,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObject_IsSupportedFormat(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDataObject(wxDataObjectPtr): def __init__(self,this): self.this = this @@ -88,17 +88,17 @@ class wxDataObjectSimplePtr(wxDataObjectPtr): self.this = this self.thisown = 0 def GetFormat(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObjectSimple_GetFormat,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObjectSimple_GetFormat(self, *_args, **_kwargs) if val: val = wxDataFormatPtr(val) return val def SetFormat(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObjectSimple_SetFormat,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObjectSimple_SetFormat(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDataObjectSimple instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDataObjectSimple(wxDataObjectSimplePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxDataObjectSimple,_args,_kwargs) + self.this = clip_dndc.new_wxDataObjectSimple(*_args,**_kwargs) self.thisown = 1 @@ -109,13 +109,13 @@ class wxPyDataObjectSimplePtr(wxDataObjectSimplePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDataObjectSimple__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDataObjectSimple__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyDataObjectSimple instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyDataObjectSimple(wxPyDataObjectSimplePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxPyDataObjectSimple,_args,_kwargs) + self.this = clip_dndc.new_wxPyDataObjectSimple(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyDataObjectSimple) @@ -127,14 +127,14 @@ class wxDataObjectCompositePtr(wxDataObjectPtr): self.this = this self.thisown = 0 def Add(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDataObjectComposite_Add,(self,) + _args, _kwargs) + val = clip_dndc.wxDataObjectComposite_Add(self, *_args, **_kwargs) _args[0].thisown = 0 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDataObjectComposite instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDataObjectComposite(wxDataObjectCompositePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxDataObjectComposite,_args,_kwargs) + self.this = clip_dndc.new_wxDataObjectComposite(*_args,**_kwargs) self.thisown = 1 @@ -145,19 +145,19 @@ class wxTextDataObjectPtr(wxDataObjectSimplePtr): self.this = this self.thisown = 0 def GetTextLength(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDataObject_GetTextLength,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDataObject_GetTextLength(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDataObject_GetText,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDataObject_GetText(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDataObject_SetText,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDataObject_SetText(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextDataObject(wxTextDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxTextDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxTextDataObject(*_args,**_kwargs) self.thisown = 1 @@ -168,13 +168,13 @@ class wxPyTextDataObjectPtr(wxTextDataObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyTextDataObject__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxPyTextDataObject__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyTextDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyTextDataObject(wxPyTextDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxPyTextDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxPyTextDataObject(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyTextDataObject) @@ -186,17 +186,17 @@ class wxBitmapDataObjectPtr(wxDataObjectSimplePtr): self.this = this self.thisown = 0 def GetBitmap(self, *_args, **_kwargs): - val = apply(clip_dndc.wxBitmapDataObject_GetBitmap,(self,) + _args, _kwargs) + val = clip_dndc.wxBitmapDataObject_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def SetBitmap(self, *_args, **_kwargs): - val = apply(clip_dndc.wxBitmapDataObject_SetBitmap,(self,) + _args, _kwargs) + val = clip_dndc.wxBitmapDataObject_SetBitmap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBitmapDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBitmapDataObject(wxBitmapDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxBitmapDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxBitmapDataObject(*_args,**_kwargs) self.thisown = 1 @@ -207,13 +207,13 @@ class wxPyBitmapDataObjectPtr(wxBitmapDataObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyBitmapDataObject__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxPyBitmapDataObject__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyBitmapDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyBitmapDataObject(wxPyBitmapDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxPyBitmapDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxPyBitmapDataObject(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyBitmapDataObject) @@ -225,13 +225,13 @@ class wxFileDataObjectPtr(wxDataObjectSimplePtr): self.this = this self.thisown = 0 def GetFilenames(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDataObject_GetFilenames,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDataObject_GetFilenames(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileDataObject(wxFileDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxFileDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxFileDataObject(*_args,**_kwargs) self.thisown = 1 @@ -242,22 +242,22 @@ class wxCustomDataObjectPtr(wxDataObjectSimplePtr): self.this = this self.thisown = 0 def TakeData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxCustomDataObject_TakeData,(self,) + _args, _kwargs) + val = clip_dndc.wxCustomDataObject_TakeData(self, *_args, **_kwargs) return val def SetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxCustomDataObject_SetData,(self,) + _args, _kwargs) + val = clip_dndc.wxCustomDataObject_SetData(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(clip_dndc.wxCustomDataObject_GetSize,(self,) + _args, _kwargs) + val = clip_dndc.wxCustomDataObject_GetSize(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxCustomDataObject_GetData,(self,) + _args, _kwargs) + val = clip_dndc.wxCustomDataObject_GetData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCustomDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCustomDataObject(wxCustomDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxCustomDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxCustomDataObject(*_args,**_kwargs) self.thisown = 1 @@ -268,16 +268,16 @@ class wxURLDataObjectPtr(wxDataObjectCompositePtr): self.this = this self.thisown = 0 def GetURL(self, *_args, **_kwargs): - val = apply(clip_dndc.wxURLDataObject_GetURL,(self,) + _args, _kwargs) + val = clip_dndc.wxURLDataObject_GetURL(self, *_args, **_kwargs) return val def SetURL(self, *_args, **_kwargs): - val = apply(clip_dndc.wxURLDataObject_SetURL,(self,) + _args, _kwargs) + val = clip_dndc.wxURLDataObject_SetURL(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxURLDataObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxURLDataObject(wxURLDataObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxURLDataObject,_args,_kwargs) + self.this = clip_dndc.new_wxURLDataObject(*_args,**_kwargs) self.thisown = 1 @@ -288,42 +288,42 @@ class wxClipboardPtr(wxObjectPtr): self.this = this self.thisown = 0 def Open(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_Open,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_Open(self, *_args, **_kwargs) return val def Close(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_Close,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_Close(self, *_args, **_kwargs) return val def IsOpened(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_IsOpened,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_IsOpened(self, *_args, **_kwargs) return val def AddData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_AddData,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_AddData(self, *_args, **_kwargs) _args[0].thisown = 0 return val def SetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_SetData,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_SetData(self, *_args, **_kwargs) _args[0].thisown = 0 return val def IsSupported(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_IsSupported,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_IsSupported(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_GetData,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_GetData(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_Clear,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_Clear(self, *_args, **_kwargs) return val def Flush(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_Flush,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_Flush(self, *_args, **_kwargs) return val def UsePrimarySelection(self, *_args, **_kwargs): - val = apply(clip_dndc.wxClipboard_UsePrimarySelection,(self,) + _args, _kwargs) + val = clip_dndc.wxClipboard_UsePrimarySelection(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxClipboard instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxClipboard(wxClipboardPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxClipboard,_args,_kwargs) + self.this = clip_dndc.new_wxClipboard(*_args,**_kwargs) self.thisown = 1 @@ -334,7 +334,7 @@ class wxDropSourcePtr : self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource__setCallbackInfo(self, *_args, **_kwargs) return val def __del__(self, delfunc=clip_dndc.delete_wxDropSource): if self.thisown == 1: @@ -343,26 +343,26 @@ class wxDropSourcePtr : except: pass def SetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource_SetData,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource_SetData(self, *_args, **_kwargs) return val def GetDataObject(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource_GetDataObject,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource_GetDataObject(self, *_args, **_kwargs) if val: val = wxDataObjectPtr(val) return val def SetCursor(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource_SetCursor,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource_SetCursor(self, *_args, **_kwargs) return val def DoDragDrop(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource_DoDragDrop,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource_DoDragDrop(self, *_args, **_kwargs) return val def base_GiveFeedback(self, *_args, **_kwargs): - val = apply(clip_dndc.wxDropSource_base_GiveFeedback,(self,) + _args, _kwargs) + val = clip_dndc.wxDropSource_base_GiveFeedback(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDropSource instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDropSource(wxDropSourcePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxDropSource,_args,_kwargs) + self.this = clip_dndc.new_wxDropSource(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxDropSource, 0) @@ -374,7 +374,7 @@ class wxDropTargetPtr : self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDropTarget instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDropTarget(wxDropTargetPtr): def __init__(self,this): self.this = this @@ -387,7 +387,7 @@ class wxPyDropTargetPtr(wxDropTargetPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget__setCallbackInfo(self, *_args, **_kwargs) return val def __del__(self, delfunc=clip_dndc.delete_wxPyDropTarget): if self.thisown == 1: @@ -396,33 +396,33 @@ class wxPyDropTargetPtr(wxDropTargetPtr): except: pass def GetDataObject(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_GetDataObject,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_GetDataObject(self, *_args, **_kwargs) if val: val = wxDataObjectPtr(val) return val def SetDataObject(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_SetDataObject,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_SetDataObject(self, *_args, **_kwargs) if _args:_args[0].thisown = 0 return val def base_OnEnter(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_base_OnEnter,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_base_OnEnter(self, *_args, **_kwargs) return val def base_OnDragOver(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_base_OnDragOver,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_base_OnDragOver(self, *_args, **_kwargs) return val def base_OnLeave(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_base_OnLeave,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_base_OnLeave(self, *_args, **_kwargs) return val def base_OnDrop(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_base_OnDrop,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_base_OnDrop(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxPyDropTarget_GetData,(self,) + _args, _kwargs) + val = clip_dndc.wxPyDropTarget_GetData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyDropTarget instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyDropTarget(wxPyDropTargetPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxPyDropTarget,_args,_kwargs) + self.this = clip_dndc.new_wxPyDropTarget(*_args,**_kwargs) self.thisown = 1 if _args:_args[0].thisown = 0 self._setCallbackInfo(self, wxPyDropTarget) @@ -435,28 +435,28 @@ class wxTextDropTargetPtr(wxPyDropTargetPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnEnter(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget_base_OnEnter,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget_base_OnEnter(self, *_args, **_kwargs) return val def base_OnDragOver(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget_base_OnDragOver,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget_base_OnDragOver(self, *_args, **_kwargs) return val def base_OnLeave(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget_base_OnLeave,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget_base_OnLeave(self, *_args, **_kwargs) return val def base_OnDrop(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget_base_OnDrop,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget_base_OnDrop(self, *_args, **_kwargs) return val def base_OnData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxTextDropTarget_base_OnData,(self,) + _args, _kwargs) + val = clip_dndc.wxTextDropTarget_base_OnData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextDropTarget instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextDropTarget(wxTextDropTargetPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxTextDropTarget,_args,_kwargs) + self.this = clip_dndc.new_wxTextDropTarget(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxTextDropTarget) @@ -468,28 +468,28 @@ class wxFileDropTargetPtr(wxPyDropTargetPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget__setCallbackInfo,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnEnter(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget_base_OnEnter,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget_base_OnEnter(self, *_args, **_kwargs) return val def base_OnDragOver(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget_base_OnDragOver,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget_base_OnDragOver(self, *_args, **_kwargs) return val def base_OnLeave(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget_base_OnLeave,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget_base_OnLeave(self, *_args, **_kwargs) return val def base_OnDrop(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget_base_OnDrop,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget_base_OnDrop(self, *_args, **_kwargs) return val def base_OnData(self, *_args, **_kwargs): - val = apply(clip_dndc.wxFileDropTarget_base_OnData,(self,) + _args, _kwargs) + val = clip_dndc.wxFileDropTarget_base_OnData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileDropTarget instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileDropTarget(wxFileDropTargetPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(clip_dndc.new_wxFileDropTarget,_args,_kwargs) + self.this = clip_dndc.new_wxFileDropTarget(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxFileDropTarget) @@ -501,7 +501,7 @@ class wxFileDropTarget(wxFileDropTargetPtr): #-------------- FUNCTION WRAPPERS ------------------ def wxCustomDataFormat(*_args, **_kwargs): - val = apply(clip_dndc.wxCustomDataFormat,_args,_kwargs) + val = clip_dndc.wxCustomDataFormat(*_args,**_kwargs) if val: val = wxDataFormatPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/cmndlgs.py b/wxPython/src/gtk/cmndlgs.py index 9555d3bc82..a0b448fa30 100644 --- a/wxPython/src/gtk/cmndlgs.py +++ b/wxPython/src/gtk/cmndlgs.py @@ -48,30 +48,30 @@ class wxColourDataPtr(wxObjectPtr): except: pass def GetChooseFull(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_GetChooseFull,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_GetChooseFull(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_GetColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_GetColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetCustomColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_GetCustomColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_GetCustomColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetChooseFull(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_SetChooseFull,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_SetChooseFull(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_SetColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_SetColour(self, *_args, **_kwargs) return val def SetCustomColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourData_SetCustomColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourData_SetCustomColour(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxColourData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxColourData(wxColourDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxColourData,_args,_kwargs) + self.this = cmndlgsc.new_wxColourData(*_args,**_kwargs) self.thisown = 1 @@ -82,17 +82,17 @@ class wxColourDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetColourData(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourDialog_GetColourData,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourDialog_GetColourData(self, *_args, **_kwargs) if val: val = wxColourDataPtr(val) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxColourDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxColourDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxColourDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxColourDialog(wxColourDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxColourDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxColourDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -104,28 +104,28 @@ class wxDirDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetPath(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_GetPath,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_GetPath(self, *_args, **_kwargs) return val def GetMessage(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_GetMessage,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_GetMessage(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_GetStyle,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_GetStyle(self, *_args, **_kwargs) return val def SetMessage(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_SetMessage,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_SetMessage(self, *_args, **_kwargs) return val def SetPath(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_SetPath,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_SetPath(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxDirDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxDirDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDirDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDirDialog(wxDirDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxDirDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxDirDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -137,61 +137,61 @@ class wxFileDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetDirectory(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetDirectory,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetDirectory(self, *_args, **_kwargs) return val def GetFilename(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetFilename,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetFilename(self, *_args, **_kwargs) return val def GetFilterIndex(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetFilterIndex,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetFilterIndex(self, *_args, **_kwargs) return val def GetMessage(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetMessage,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetMessage(self, *_args, **_kwargs) return val def GetPath(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetPath,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetPath(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetStyle,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetStyle(self, *_args, **_kwargs) return val def GetWildcard(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetWildcard,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetWildcard(self, *_args, **_kwargs) return val def SetDirectory(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetDirectory,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetDirectory(self, *_args, **_kwargs) return val def SetFilename(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetFilename,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetFilename(self, *_args, **_kwargs) return val def SetFilterIndex(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetFilterIndex,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetFilterIndex(self, *_args, **_kwargs) return val def SetMessage(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetMessage,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetMessage(self, *_args, **_kwargs) return val def SetPath(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetPath,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetPath(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetStyle,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetStyle(self, *_args, **_kwargs) return val def SetWildcard(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_SetWildcard,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_SetWildcard(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_ShowModal(self, *_args, **_kwargs) return val def GetFilenames(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetFilenames,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetFilenames(self, *_args, **_kwargs) return val def GetPaths(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFileDialog_GetPaths,(self,) + _args, _kwargs) + val = cmndlgsc.wxFileDialog_GetPaths(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileDialog(wxFileDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFileDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxFileDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -203,16 +203,16 @@ class wxMultiChoiceDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def SetSelections(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxMultiChoiceDialog_SetSelections,(self,) + _args, _kwargs) + val = cmndlgsc.wxMultiChoiceDialog_SetSelections(self, *_args, **_kwargs) return val def GetSelections(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxMultiChoiceDialog_GetSelections,(self,) + _args, _kwargs) + val = cmndlgsc.wxMultiChoiceDialog_GetSelections(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMultiChoiceDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMultiChoiceDialog(wxMultiChoiceDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxMultiChoiceDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxMultiChoiceDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -224,22 +224,22 @@ class wxSingleChoiceDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetSelection(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxSingleChoiceDialog_GetSelection,(self,) + _args, _kwargs) + val = cmndlgsc.wxSingleChoiceDialog_GetSelection(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxSingleChoiceDialog_GetStringSelection,(self,) + _args, _kwargs) + val = cmndlgsc.wxSingleChoiceDialog_GetStringSelection(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxSingleChoiceDialog_SetSelection,(self,) + _args, _kwargs) + val = cmndlgsc.wxSingleChoiceDialog_SetSelection(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxSingleChoiceDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxSingleChoiceDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSingleChoiceDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSingleChoiceDialog(wxSingleChoiceDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxSingleChoiceDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxSingleChoiceDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -251,19 +251,19 @@ class wxTextEntryDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxTextEntryDialog_GetValue,(self,) + _args, _kwargs) + val = cmndlgsc.wxTextEntryDialog_GetValue(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxTextEntryDialog_SetValue,(self,) + _args, _kwargs) + val = cmndlgsc.wxTextEntryDialog_SetValue(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxTextEntryDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxTextEntryDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextEntryDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextEntryDialog(wxTextEntryDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxTextEntryDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxTextEntryDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -281,52 +281,52 @@ class wxFontDataPtr(wxObjectPtr): except: pass def EnableEffects(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_EnableEffects,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_EnableEffects(self, *_args, **_kwargs) return val def GetAllowSymbols(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetAllowSymbols,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetAllowSymbols(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetChosenFont(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetChosenFont,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetChosenFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetEnableEffects(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetEnableEffects,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetEnableEffects(self, *_args, **_kwargs) return val def GetInitialFont(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetInitialFont,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetInitialFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetShowHelp(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_GetShowHelp,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_GetShowHelp(self, *_args, **_kwargs) return val def SetAllowSymbols(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetAllowSymbols,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetAllowSymbols(self, *_args, **_kwargs) return val def SetChosenFont(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetChosenFont,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetChosenFont(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetColour,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetColour(self, *_args, **_kwargs) return val def SetInitialFont(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetInitialFont,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetInitialFont(self, *_args, **_kwargs) return val def SetRange(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetRange,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetRange(self, *_args, **_kwargs) return val def SetShowHelp(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontData_SetShowHelp,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontData_SetShowHelp(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFontData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFontData(wxFontDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFontData,_args,_kwargs) + self.this = cmndlgsc.new_wxFontData(*_args,**_kwargs) self.thisown = 1 @@ -337,17 +337,17 @@ class wxFontDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetFontData(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontDialog_GetFontData,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontDialog_GetFontData(self, *_args, **_kwargs) if val: val = wxFontDataPtr(val) return val def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFontDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxFontDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFontDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFontDialog(wxFontDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFontDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxFontDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -359,13 +359,13 @@ class wxMessageDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def ShowModal(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxMessageDialog_ShowModal,(self,) + _args, _kwargs) + val = cmndlgsc.wxMessageDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMessageDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMessageDialog(wxMessageDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxMessageDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxMessageDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -377,16 +377,16 @@ class wxProgressDialogPtr(wxFramePtr): self.this = this self.thisown = 0 def Update(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxProgressDialog_Update,(self,) + _args, _kwargs) + val = cmndlgsc.wxProgressDialog_Update(self, *_args, **_kwargs) return val def Resume(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxProgressDialog_Resume,(self,) + _args, _kwargs) + val = cmndlgsc.wxProgressDialog_Resume(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxProgressDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxProgressDialog(wxProgressDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxProgressDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxProgressDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -398,32 +398,32 @@ class wxFindDialogEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetFlags(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_GetFlags,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_GetFlags(self, *_args, **_kwargs) return val def GetFindString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_GetFindString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_GetFindString(self, *_args, **_kwargs) return val def GetReplaceString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_GetReplaceString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_GetReplaceString(self, *_args, **_kwargs) return val def GetDialog(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_GetDialog,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_GetDialog(self, *_args, **_kwargs) if val: val = wxFindReplaceDialogPtr(val) return val def SetFlags(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_SetFlags,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_SetFlags(self, *_args, **_kwargs) return val def SetFindString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_SetFindString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_SetFindString(self, *_args, **_kwargs) return val def SetReplaceString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindDialogEvent_SetReplaceString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindDialogEvent_SetReplaceString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFindDialogEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFindDialogEvent(wxFindDialogEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFindDialogEvent,_args,_kwargs) + self.this = cmndlgsc.new_wxFindDialogEvent(*_args,**_kwargs) self.thisown = 1 @@ -440,28 +440,28 @@ class wxFindReplaceDataPtr(wxObjectPtr): except: pass def GetFindString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_GetFindString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_GetFindString(self, *_args, **_kwargs) return val def GetReplaceString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_GetReplaceString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_GetReplaceString(self, *_args, **_kwargs) return val def GetFlags(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_GetFlags,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_GetFlags(self, *_args, **_kwargs) return val def SetFlags(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_SetFlags,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_SetFlags(self, *_args, **_kwargs) return val def SetFindString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_SetFindString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_SetFindString(self, *_args, **_kwargs) return val def SetReplaceString(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceData_SetReplaceString,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceData_SetReplaceString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFindReplaceData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFindReplaceData(wxFindReplaceDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFindReplaceData,_args,_kwargs) + self.this = cmndlgsc.new_wxFindReplaceData(*_args,**_kwargs) self.thisown = 1 @@ -472,27 +472,27 @@ class wxFindReplaceDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceDialog_Create,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceDialog_Create(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceDialog_GetData,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceDialog_GetData(self, *_args, **_kwargs) if val: val = wxFindReplaceDataPtr(val) return val def SetData(self, *_args, **_kwargs): - val = apply(cmndlgsc.wxFindReplaceDialog_SetData,(self,) + _args, _kwargs) + val = cmndlgsc.wxFindReplaceDialog_SetData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFindReplaceDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFindReplaceDialog(wxFindReplaceDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(cmndlgsc.new_wxFindReplaceDialog,_args,_kwargs) + self.this = cmndlgsc.new_wxFindReplaceDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreFindReplaceDialog(*_args,**_kwargs): - val = wxFindReplaceDialogPtr(apply(cmndlgsc.new_wxPreFindReplaceDialog,_args,_kwargs)) + val = wxFindReplaceDialogPtr(cmndlgsc.new_wxPreFindReplaceDialog(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/controls.cpp b/wxPython/src/gtk/controls.cpp index 336a7ddb98..e3f2b5d553 100644 --- a/wxPython/src/gtk/controls.cpp +++ b/wxPython/src/gtk/controls.cpp @@ -1924,7 +1924,7 @@ static PyObject *_wrap_new_wxCheckBox(PyObject *self, PyObject *args, PyObject * PyObject * _obj4 = 0; PyObject * _argo6 = 0; PyObject * _obj7 = 0; - char *_kwnames[] = { "parent","id","label","pos","size","style","val","name", NULL }; + char *_kwnames[] = { "parent","id","label","pos","size","style","validator","name", NULL }; char _ptemp[128]; self = self; @@ -2038,7 +2038,7 @@ static PyObject *_wrap_wxCheckBox_Create(PyObject *self, PyObject *args, PyObjec PyObject * _obj5 = 0; PyObject * _argo7 = 0; PyObject * _obj8 = 0; - char *_kwnames[] = { "self","parent","id","label","pos","size","style","val","name", NULL }; + char *_kwnames[] = { "self","parent","id","label","pos","size","style","validator","name", NULL }; self = self; if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOiO|OOlOO:wxCheckBox_Create",_kwnames,&_argo0,&_argo1,&_arg2,&_obj3,&_obj4,&_obj5,&_arg6,&_argo7,&_obj8)) @@ -11389,6 +11389,37 @@ static PyObject *_wrap_wxSpinCtrl_SetValue(PyObject *self, PyObject *args, PyObj return _resultobj; } +static void wxSpinCtrl_SetSelection(wxSpinCtrl *self,long from,long to) { + } +static PyObject *_wrap_wxSpinCtrl_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxSpinCtrl * _arg0; + long _arg1; + long _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","from","to", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oll:wxSpinCtrl_SetSelection",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSpinCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSpinCtrl_SetSelection. Expected _wxSpinCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxSpinCtrl_SetSelection(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + static void *SwigwxToggleButtonTowxControl(void *ptr) { wxToggleButton *src; wxControl *dest; @@ -11726,6 +11757,7 @@ static PyMethodDef controlscMethods[] = { { "wxToggleButton_Create", (PyCFunction) _wrap_wxToggleButton_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreToggleButton", (PyCFunction) _wrap_new_wxPreToggleButton, METH_VARARGS | METH_KEYWORDS }, { "new_wxToggleButton", (PyCFunction) _wrap_new_wxToggleButton, METH_VARARGS | METH_KEYWORDS }, + { "wxSpinCtrl_SetSelection", (PyCFunction) _wrap_wxSpinCtrl_SetSelection, METH_VARARGS | METH_KEYWORDS }, { "wxSpinCtrl_SetValue", (PyCFunction) _wrap_wxSpinCtrl_SetValue, METH_VARARGS | METH_KEYWORDS }, { "wxSpinCtrl_SetRange", (PyCFunction) _wrap_wxSpinCtrl_SetRange, METH_VARARGS | METH_KEYWORDS }, { "wxSpinCtrl_GetValue", (PyCFunction) _wrap_wxSpinCtrl_GetValue, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/controls.py b/wxPython/src/gtk/controls.py index d1b3ccc1bc..d7cee29ee4 100644 --- a/wxPython/src/gtk/controls.py +++ b/wxPython/src/gtk/controls.py @@ -18,29 +18,29 @@ class wxControlPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxControl_Create,(self,) + _args, _kwargs) + val = controlsc.wxControl_Create(self, *_args, **_kwargs) return val def Command(self, *_args, **_kwargs): - val = apply(controlsc.wxControl_Command,(self,) + _args, _kwargs) + val = controlsc.wxControl_Command(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxControl_GetLabel,(self,) + _args, _kwargs) + val = controlsc.wxControl_GetLabel(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxControl_SetLabel,(self,) + _args, _kwargs) + val = controlsc.wxControl_SetLabel(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxControl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxControl(wxControlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxControl,_args,_kwargs) + self.this = controlsc.new_wxControl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreControl(*_args,**_kwargs): - val = wxControlPtr(apply(controlsc.new_wxPreControl,_args,_kwargs)) + val = wxControlPtr(controlsc.new_wxPreControl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -51,43 +51,43 @@ class wxControlWithItemsPtr(wxControlPtr): self.this = this self.thisown = 0 def Delete(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_Delete,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_Delete(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_GetCount,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_GetCount(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_GetString,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_GetString(self, *_args, **_kwargs) return val def SetString(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_SetString,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_SetString(self, *_args, **_kwargs) return val def FindString(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_FindString,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_FindString(self, *_args, **_kwargs) return val def Select(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_Select,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_Select(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_GetSelection,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_GetSelection(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_GetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_GetStringSelection(self, *_args, **_kwargs) return val def Append(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_Append,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_Append(self, *_args, **_kwargs) return val def GetClientData(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_GetClientData,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_GetClientData(self, *_args, **_kwargs) return val def SetClientData(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_SetClientData,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_SetClientData(self, *_args, **_kwargs) return val def AppendItems(self, *_args, **_kwargs): - val = apply(controlsc.wxControlWithItems_AppendItems,(self,) + _args, _kwargs) + val = controlsc.wxControlWithItems_AppendItems(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxControlWithItems instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) Number = GetCount class wxControlWithItems(wxControlWithItemsPtr): def __init__(self,this): @@ -101,29 +101,29 @@ class wxButtonPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxButton_Create,(self,) + _args, _kwargs) + val = controlsc.wxButton_Create(self, *_args, **_kwargs) return val def SetDefault(self, *_args, **_kwargs): - val = apply(controlsc.wxButton_SetDefault,(self,) + _args, _kwargs) + val = controlsc.wxButton_SetDefault(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controlsc.wxButton_SetBackgroundColour,(self,) + _args, _kwargs) + val = controlsc.wxButton_SetBackgroundColour(self, *_args, **_kwargs) return val def SetForegroundColour(self, *_args, **_kwargs): - val = apply(controlsc.wxButton_SetForegroundColour,(self,) + _args, _kwargs) + val = controlsc.wxButton_SetForegroundColour(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxButton(wxButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxButton,_args,_kwargs) + self.this = controlsc.new_wxButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreButton(*_args,**_kwargs): - val = wxButtonPtr(apply(controlsc.new_wxPreButton,_args,_kwargs)) + val = wxButtonPtr(controlsc.new_wxPreButton(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -134,57 +134,57 @@ class wxBitmapButtonPtr(wxButtonPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_Create,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_Create(self, *_args, **_kwargs) return val def GetBitmapLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetBitmapLabel,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetBitmapLabel(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def GetBitmapDisabled(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetBitmapDisabled,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetBitmapDisabled(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def GetBitmapFocus(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetBitmapFocus,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetBitmapFocus(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def GetBitmapSelected(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetBitmapSelected,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetBitmapSelected(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def SetBitmapDisabled(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_SetBitmapDisabled,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_SetBitmapDisabled(self, *_args, **_kwargs) return val def SetBitmapFocus(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_SetBitmapFocus,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_SetBitmapFocus(self, *_args, **_kwargs) return val def SetBitmapSelected(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_SetBitmapSelected,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_SetBitmapSelected(self, *_args, **_kwargs) return val def SetBitmapLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_SetBitmapLabel,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_SetBitmapLabel(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_SetMargins,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_SetMargins(self, *_args, **_kwargs) return val def GetMarginX(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetMarginX,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetMarginX(self, *_args, **_kwargs) return val def GetMarginY(self, *_args, **_kwargs): - val = apply(controlsc.wxBitmapButton_GetMarginY,(self,) + _args, _kwargs) + val = controlsc.wxBitmapButton_GetMarginY(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBitmapButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBitmapButton(wxBitmapButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxBitmapButton,_args,_kwargs) + self.this = controlsc.new_wxBitmapButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreBitmapButton(*_args,**_kwargs): - val = wxBitmapButtonPtr(apply(controlsc.new_wxPreBitmapButton,_args,_kwargs)) + val = wxBitmapButtonPtr(controlsc.new_wxPreBitmapButton(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -195,29 +195,29 @@ class wxCheckBoxPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxCheckBox_Create(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckBox_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxCheckBox_GetValue(self, *_args, **_kwargs) return val def IsChecked(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckBox_IsChecked,(self,) + _args, _kwargs) + val = controlsc.wxCheckBox_IsChecked(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckBox_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxCheckBox_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCheckBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCheckBox(wxCheckBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxCheckBox,_args,_kwargs) + self.this = controlsc.new_wxCheckBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreCheckBox(*_args,**_kwargs): - val = wxCheckBoxPtr(apply(controlsc.new_wxPreCheckBox,_args,_kwargs)) + val = wxCheckBoxPtr(controlsc.new_wxPreCheckBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -228,41 +228,41 @@ class wxChoicePtr(wxControlWithItemsPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_Create,(self,) + _args, _kwargs) + val = controlsc.wxChoice_Create(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_Clear,(self,) + _args, _kwargs) + val = controlsc.wxChoice_Clear(self, *_args, **_kwargs) return val def GetColumns(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_GetColumns,(self,) + _args, _kwargs) + val = controlsc.wxChoice_GetColumns(self, *_args, **_kwargs) return val def SetColumns(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_SetColumns,(self,) + _args, _kwargs) + val = controlsc.wxChoice_SetColumns(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxChoice_SetSelection(self, *_args, **_kwargs) return val def SetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_SetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxChoice_SetStringSelection(self, *_args, **_kwargs) return val def SetString(self, *_args, **_kwargs): - val = apply(controlsc.wxChoice_SetString,(self,) + _args, _kwargs) + val = controlsc.wxChoice_SetString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxChoice instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) Select = SetSelection class wxChoice(wxChoicePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxChoice,_args,_kwargs) + self.this = controlsc.new_wxChoice(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreChoice(*_args,**_kwargs): - val = wxChoicePtr(apply(controlsc.new_wxPreChoice,_args,_kwargs)) + val = wxChoicePtr(controlsc.new_wxPreChoice(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -273,94 +273,94 @@ class wxComboBoxPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Create(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Copy,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Copy(self, *_args, **_kwargs) return val def Cut(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Cut,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Cut(self, *_args, **_kwargs) return val def GetInsertionPoint(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetInsertionPoint,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetInsertionPoint(self, *_args, **_kwargs) return val def GetLastPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetLastPosition,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetLastPosition(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetValue(self, *_args, **_kwargs) return val def Paste(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Paste,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Paste(self, *_args, **_kwargs) return val def Replace(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Replace,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Replace(self, *_args, **_kwargs) return val def Remove(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Remove,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Remove(self, *_args, **_kwargs) return val def SetInsertionPoint(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetInsertionPoint,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetInsertionPoint(self, *_args, **_kwargs) return val def SetInsertionPointEnd(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetInsertionPointEnd,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetInsertionPointEnd(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetSelection(self, *_args, **_kwargs) return val def SetMark(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetMark,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetMark(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetValue(self, *_args, **_kwargs) return val def SetEditable(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetEditable,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetEditable(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Clear,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Clear(self, *_args, **_kwargs) return val def Delete(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Delete,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Delete(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetCount,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetCount(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetString,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetString(self, *_args, **_kwargs) return val def FindString(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_FindString,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_FindString(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetSelection,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetSelection(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetStringSelection(self, *_args, **_kwargs) return val def Append(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_Append,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_Append(self, *_args, **_kwargs) return val def GetClientData(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_GetClientData,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_GetClientData(self, *_args, **_kwargs) return val def SetClientData(self, *_args, **_kwargs): - val = apply(controlsc.wxComboBox_SetClientData,(self,) + _args, _kwargs) + val = controlsc.wxComboBox_SetClientData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxComboBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) Number = GetCount Select = SetSelection class wxComboBox(wxComboBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxComboBox,_args,_kwargs) + self.this = controlsc.new_wxComboBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreComboBox(*_args,**_kwargs): - val = wxComboBoxPtr(apply(controlsc.new_wxPreComboBox,_args,_kwargs)) + val = wxComboBoxPtr(controlsc.new_wxPreComboBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -371,44 +371,44 @@ class wxGaugePtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_Create,(self,) + _args, _kwargs) + val = controlsc.wxGauge_Create(self, *_args, **_kwargs) return val def GetBezelFace(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_GetBezelFace,(self,) + _args, _kwargs) + val = controlsc.wxGauge_GetBezelFace(self, *_args, **_kwargs) return val def GetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_GetRange,(self,) + _args, _kwargs) + val = controlsc.wxGauge_GetRange(self, *_args, **_kwargs) return val def GetShadowWidth(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_GetShadowWidth,(self,) + _args, _kwargs) + val = controlsc.wxGauge_GetShadowWidth(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxGauge_GetValue(self, *_args, **_kwargs) return val def SetBezelFace(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_SetBezelFace,(self,) + _args, _kwargs) + val = controlsc.wxGauge_SetBezelFace(self, *_args, **_kwargs) return val def SetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_SetRange,(self,) + _args, _kwargs) + val = controlsc.wxGauge_SetRange(self, *_args, **_kwargs) return val def SetShadowWidth(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_SetShadowWidth,(self,) + _args, _kwargs) + val = controlsc.wxGauge_SetShadowWidth(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxGauge_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxGauge_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGauge instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGauge(wxGaugePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxGauge,_args,_kwargs) + self.this = controlsc.new_wxGauge(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreGauge(*_args,**_kwargs): - val = wxGaugePtr(apply(controlsc.new_wxPreGauge,_args,_kwargs)) + val = wxGaugePtr(controlsc.new_wxPreGauge(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -419,20 +419,20 @@ class wxStaticBoxPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxStaticBox_Create(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStaticBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStaticBox(wxStaticBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxStaticBox,_args,_kwargs) + self.this = controlsc.new_wxStaticBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreStaticBox(*_args,**_kwargs): - val = wxStaticBoxPtr(apply(controlsc.new_wxPreStaticBox,_args,_kwargs)) + val = wxStaticBoxPtr(controlsc.new_wxPreStaticBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -443,20 +443,20 @@ class wxStaticLinePtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticLine_Create,(self,) + _args, _kwargs) + val = controlsc.wxStaticLine_Create(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStaticLine instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStaticLine(wxStaticLinePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxStaticLine,_args,_kwargs) + self.this = controlsc.new_wxStaticLine(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreStaticLine(*_args,**_kwargs): - val = wxStaticLinePtr(apply(controlsc.new_wxPreStaticLine,_args,_kwargs)) + val = wxStaticLinePtr(controlsc.new_wxPreStaticLine(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -467,26 +467,26 @@ class wxStaticTextPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticText_Create,(self,) + _args, _kwargs) + val = controlsc.wxStaticText_Create(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticText_GetLabel,(self,) + _args, _kwargs) + val = controlsc.wxStaticText_GetLabel(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticText_SetLabel,(self,) + _args, _kwargs) + val = controlsc.wxStaticText_SetLabel(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStaticText instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStaticText(wxStaticTextPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxStaticText,_args,_kwargs) + self.this = controlsc.new_wxStaticText(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreStaticText(*_args,**_kwargs): - val = wxStaticTextPtr(apply(controlsc.new_wxPreStaticText,_args,_kwargs)) + val = wxStaticTextPtr(controlsc.new_wxPreStaticText(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -497,56 +497,56 @@ class wxListBoxPtr(wxControlWithItemsPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxListBox_Create(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_Clear,(self,) + _args, _kwargs) + val = controlsc.wxListBox_Clear(self, *_args, **_kwargs) return val def Deselect(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_Deselect,(self,) + _args, _kwargs) + val = controlsc.wxListBox_Deselect(self, *_args, **_kwargs) return val def GetSelections(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_GetSelections,(self,) + _args, _kwargs) + val = controlsc.wxListBox_GetSelections(self, *_args, **_kwargs) return val def InsertItems(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_InsertItems,(self,) + _args, _kwargs) + val = controlsc.wxListBox_InsertItems(self, *_args, **_kwargs) return val def IsSelected(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_IsSelected,(self,) + _args, _kwargs) + val = controlsc.wxListBox_IsSelected(self, *_args, **_kwargs) return val def Selected(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_Selected,(self,) + _args, _kwargs) + val = controlsc.wxListBox_Selected(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_Set,(self,) + _args, _kwargs) + val = controlsc.wxListBox_Set(self, *_args, **_kwargs) return val def SetFirstItem(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_SetFirstItem,(self,) + _args, _kwargs) + val = controlsc.wxListBox_SetFirstItem(self, *_args, **_kwargs) return val def SetFirstItemStr(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_SetFirstItemStr,(self,) + _args, _kwargs) + val = controlsc.wxListBox_SetFirstItemStr(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxListBox_SetSelection(self, *_args, **_kwargs) return val def SetString(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_SetString,(self,) + _args, _kwargs) + val = controlsc.wxListBox_SetString(self, *_args, **_kwargs) return val def SetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxListBox_SetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxListBox_SetStringSelection(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxListBox(wxListBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxListBox,_args,_kwargs) + self.this = controlsc.new_wxListBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreListBox(*_args,**_kwargs): - val = wxListBoxPtr(apply(controlsc.new_wxPreListBox,_args,_kwargs)) + val = wxListBoxPtr(controlsc.new_wxPreListBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -557,38 +557,38 @@ class wxCheckListBoxPtr(wxListBoxPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_Create(self, *_args, **_kwargs) return val def IsChecked(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_IsChecked,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_IsChecked(self, *_args, **_kwargs) return val def Check(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_Check,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_Check(self, *_args, **_kwargs) return val def InsertItems(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_InsertItems,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_InsertItems(self, *_args, **_kwargs) return val def GetItemHeight(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_GetItemHeight,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_GetItemHeight(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_HitTest,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_HitTest(self, *_args, **_kwargs) return val def HitTestXY(self, *_args, **_kwargs): - val = apply(controlsc.wxCheckListBox_HitTestXY,(self,) + _args, _kwargs) + val = controlsc.wxCheckListBox_HitTestXY(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCheckListBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCheckListBox(wxCheckListBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxCheckListBox,_args,_kwargs) + self.this = controlsc.new_wxCheckListBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreCheckListBox(*_args,**_kwargs): - val = wxCheckListBoxPtr(apply(controlsc.new_wxPreCheckListBox,_args,_kwargs)) + val = wxCheckListBoxPtr(controlsc.new_wxPreCheckListBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -605,43 +605,43 @@ class wxTextAttrPtr : except: pass def SetTextColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_SetTextColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_SetBackgroundColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_SetBackgroundColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_SetFont,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_SetFont(self, *_args, **_kwargs) return val def HasTextColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_HasTextColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_HasTextColour(self, *_args, **_kwargs) return val def HasBackgroundColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_HasBackgroundColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_HasBackgroundColour(self, *_args, **_kwargs) return val def HasFont(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_HasFont,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_HasFont(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_GetTextColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_GetBackgroundColour,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_GetFont,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def IsDefault(self, *_args, **_kwargs): - val = apply(controlsc.wxTextAttr_IsDefault,(self,) + _args, _kwargs) + val = controlsc.wxTextAttr_IsDefault(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextAttr(wxTextAttrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxTextAttr,_args,_kwargs) + self.this = controlsc.new_wxTextAttr(*_args,**_kwargs) self.thisown = 1 @@ -652,162 +652,162 @@ class wxTextCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Create,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Create(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetValue(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetValue(self, *_args, **_kwargs) return val def GetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetRange,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetRange(self, *_args, **_kwargs) return val def GetLineLength(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetLineLength,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetLineLength(self, *_args, **_kwargs) return val def GetLineText(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetLineText,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetLineText(self, *_args, **_kwargs) return val def GetNumberOfLines(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetNumberOfLines,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetNumberOfLines(self, *_args, **_kwargs) return val def IsModified(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_IsModified,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_IsModified(self, *_args, **_kwargs) return val def IsEditable(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_IsEditable,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_IsEditable(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetSelection,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetSelection(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetStringSelection(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Clear,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Clear(self, *_args, **_kwargs) return val def Replace(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Replace,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Replace(self, *_args, **_kwargs) return val def Remove(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Remove,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Remove(self, *_args, **_kwargs) return val def LoadFile(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_LoadFile,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_LoadFile(self, *_args, **_kwargs) return val def SaveFile(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SaveFile,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SaveFile(self, *_args, **_kwargs) return val def DiscardEdits(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_DiscardEdits,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_DiscardEdits(self, *_args, **_kwargs) return val def SetMaxLength(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetMaxLength,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetMaxLength(self, *_args, **_kwargs) return val def WriteText(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_WriteText,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_WriteText(self, *_args, **_kwargs) return val def AppendText(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_AppendText,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_AppendText(self, *_args, **_kwargs) return val def EmulateKeyPress(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_EmulateKeyPress,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_EmulateKeyPress(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetStyle,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetStyle(self, *_args, **_kwargs) return val def SetDefaultStyle(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetDefaultStyle,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetDefaultStyle(self, *_args, **_kwargs) return val def GetDefaultStyle(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetDefaultStyle,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetDefaultStyle(self, *_args, **_kwargs) if val: val = wxTextAttrPtr(val) return val def XYToPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_XYToPosition,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_XYToPosition(self, *_args, **_kwargs) return val def PositionToXY(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_PositionToXY,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_PositionToXY(self, *_args, **_kwargs) return val def ShowPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_ShowPosition,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_ShowPosition(self, *_args, **_kwargs) return val def Copy(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Copy,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Copy(self, *_args, **_kwargs) return val def Cut(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Cut,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Cut(self, *_args, **_kwargs) return val def Paste(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Paste,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Paste(self, *_args, **_kwargs) return val def CanCopy(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_CanCopy,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_CanCopy(self, *_args, **_kwargs) return val def CanCut(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_CanCut,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_CanCut(self, *_args, **_kwargs) return val def CanPaste(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_CanPaste,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_CanPaste(self, *_args, **_kwargs) return val def Undo(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Undo,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Undo(self, *_args, **_kwargs) return val def Redo(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_Redo,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_Redo(self, *_args, **_kwargs) return val def CanUndo(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_CanUndo,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_CanUndo(self, *_args, **_kwargs) return val def CanRedo(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_CanRedo,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_CanRedo(self, *_args, **_kwargs) return val def SetInsertionPoint(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetInsertionPoint,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetInsertionPoint(self, *_args, **_kwargs) return val def SetInsertionPointEnd(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetInsertionPointEnd,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetInsertionPointEnd(self, *_args, **_kwargs) return val def GetInsertionPoint(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetInsertionPoint,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetInsertionPoint(self, *_args, **_kwargs) return val def GetLastPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetLastPosition,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetLastPosition(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetSelection(self, *_args, **_kwargs) return val def SelectAll(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SelectAll,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SelectAll(self, *_args, **_kwargs) return val def SetEditable(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_SetEditable,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_SetEditable(self, *_args, **_kwargs) return val def IsSingleLine(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_IsSingleLine,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_IsSingleLine(self, *_args, **_kwargs) return val def IsMultiLine(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_IsMultiLine,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_IsMultiLine(self, *_args, **_kwargs) return val def write(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_write,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_write(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(controlsc.wxTextCtrl_GetString,(self,) + _args, _kwargs) + val = controlsc.wxTextCtrl_GetString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextCtrl(wxTextCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxTextCtrl,_args,_kwargs) + self.this = controlsc.new_wxTextCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreTextCtrl(*_args,**_kwargs): - val = wxTextCtrlPtr(apply(controlsc.new_wxPreTextCtrl,_args,_kwargs)) + val = wxTextCtrlPtr(controlsc.new_wxPreTextCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -818,44 +818,44 @@ class wxScrollBarPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_Create,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_Create(self, *_args, **_kwargs) return val def GetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_GetRange,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_GetRange(self, *_args, **_kwargs) return val def GetPageSize(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_GetPageSize,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_GetPageSize(self, *_args, **_kwargs) return val def GetThumbPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_GetThumbPosition,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_GetThumbPosition(self, *_args, **_kwargs) return val def GetThumbSize(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_GetThumbSize,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_GetThumbSize(self, *_args, **_kwargs) return val def GetThumbLength(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_GetThumbLength,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_GetThumbLength(self, *_args, **_kwargs) return val def IsVertical(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_IsVertical,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_IsVertical(self, *_args, **_kwargs) return val def SetThumbPosition(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_SetThumbPosition,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_SetThumbPosition(self, *_args, **_kwargs) return val def SetScrollbar(self, *_args, **_kwargs): - val = apply(controlsc.wxScrollBar_SetScrollbar,(self,) + _args, _kwargs) + val = controlsc.wxScrollBar_SetScrollbar(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxScrollBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxScrollBar(wxScrollBarPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxScrollBar,_args,_kwargs) + self.this = controlsc.new_wxScrollBar(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreScrollBar(*_args,**_kwargs): - val = wxScrollBarPtr(apply(controlsc.new_wxPreScrollBar,_args,_kwargs)) + val = wxScrollBarPtr(controlsc.new_wxPreScrollBar(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -866,35 +866,35 @@ class wxSpinButtonPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_Create,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_Create(self, *_args, **_kwargs) return val def GetMax(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_GetMax,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_GetMax(self, *_args, **_kwargs) return val def GetMin(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_GetMin,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_GetMin(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_GetValue(self, *_args, **_kwargs) return val def SetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_SetRange,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_SetRange(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinButton_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxSpinButton_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSpinButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSpinButton(wxSpinButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxSpinButton,_args,_kwargs) + self.this = controlsc.new_wxSpinButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSpinButton(*_args,**_kwargs): - val = wxSpinButtonPtr(apply(controlsc.new_wxPreSpinButton,_args,_kwargs)) + val = wxSpinButtonPtr(controlsc.new_wxPreSpinButton(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -905,30 +905,30 @@ class wxStaticBitmapPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticBitmap_Create,(self,) + _args, _kwargs) + val = controlsc.wxStaticBitmap_Create(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticBitmap_GetBitmap,(self,) + _args, _kwargs) + val = controlsc.wxStaticBitmap_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def SetBitmap(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticBitmap_SetBitmap,(self,) + _args, _kwargs) + val = controlsc.wxStaticBitmap_SetBitmap(self, *_args, **_kwargs) return val def SetIcon(self, *_args, **_kwargs): - val = apply(controlsc.wxStaticBitmap_SetIcon,(self,) + _args, _kwargs) + val = controlsc.wxStaticBitmap_SetIcon(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStaticBitmap instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStaticBitmap(wxStaticBitmapPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxStaticBitmap,_args,_kwargs) + self.this = controlsc.new_wxStaticBitmap(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreStaticBitmap(*_args,**_kwargs): - val = wxStaticBitmapPtr(apply(controlsc.new_wxPreStaticBitmap,_args,_kwargs)) + val = wxStaticBitmapPtr(controlsc.new_wxPreStaticBitmap(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -939,46 +939,46 @@ class wxRadioBoxPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_Create,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_Create(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_Enable,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_Enable(self, *_args, **_kwargs) return val def EnableItem(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_EnableItem,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_EnableItem(self, *_args, **_kwargs) return val def FindString(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_FindString,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_FindString(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_GetString,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_GetString(self, *_args, **_kwargs) return val def SetString(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_SetString,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_SetString(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_GetSelection,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_GetSelection(self, *_args, **_kwargs) return val def GetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_GetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_GetStringSelection(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_GetCount,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_GetCount(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_SetSelection(self, *_args, **_kwargs) return val def SetStringSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_SetStringSelection,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_SetStringSelection(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_Show,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_Show(self, *_args, **_kwargs) return val def ShowItem(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioBox_ShowItem,(self,) + _args, _kwargs) + val = controlsc.wxRadioBox_ShowItem(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRadioBox instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) GetItemLabel = GetString SetItemLabel = SetString @@ -986,14 +986,14 @@ class wxRadioBoxPtr(wxControlPtr): Number = GetCount class wxRadioBox(wxRadioBoxPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxRadioBox,_args,_kwargs) + self.this = controlsc.new_wxRadioBox(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreRadioBox(*_args,**_kwargs): - val = wxRadioBoxPtr(apply(controlsc.new_wxPreRadioBox,_args,_kwargs)) + val = wxRadioBoxPtr(controlsc.new_wxPreRadioBox(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1004,26 +1004,26 @@ class wxRadioButtonPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioButton_Create,(self,) + _args, _kwargs) + val = controlsc.wxRadioButton_Create(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioButton_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxRadioButton_GetValue(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxRadioButton_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxRadioButton_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRadioButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxRadioButton(wxRadioButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxRadioButton,_args,_kwargs) + self.this = controlsc.new_wxRadioButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreRadioButton(*_args,**_kwargs): - val = wxRadioButtonPtr(apply(controlsc.new_wxPreRadioButton,_args,_kwargs)) + val = wxRadioButtonPtr(controlsc.new_wxPreRadioButton(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1034,77 +1034,77 @@ class wxSliderPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_Create,(self,) + _args, _kwargs) + val = controlsc.wxSlider_Create(self, *_args, **_kwargs) return val def ClearSel(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_ClearSel,(self,) + _args, _kwargs) + val = controlsc.wxSlider_ClearSel(self, *_args, **_kwargs) return val def ClearTicks(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_ClearTicks,(self,) + _args, _kwargs) + val = controlsc.wxSlider_ClearTicks(self, *_args, **_kwargs) return val def GetLineSize(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetLineSize,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetLineSize(self, *_args, **_kwargs) return val def GetMax(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetMax,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetMax(self, *_args, **_kwargs) return val def GetMin(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetMin,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetMin(self, *_args, **_kwargs) return val def GetPageSize(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetPageSize,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetPageSize(self, *_args, **_kwargs) return val def GetSelEnd(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetSelEnd,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetSelEnd(self, *_args, **_kwargs) return val def GetSelStart(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetSelStart,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetSelStart(self, *_args, **_kwargs) return val def GetThumbLength(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetThumbLength,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetThumbLength(self, *_args, **_kwargs) return val def GetTickFreq(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetTickFreq,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetTickFreq(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxSlider_GetValue(self, *_args, **_kwargs) return val def SetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetRange,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetRange(self, *_args, **_kwargs) return val def SetTickFreq(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetTickFreq,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetTickFreq(self, *_args, **_kwargs) return val def SetLineSize(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetLineSize,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetLineSize(self, *_args, **_kwargs) return val def SetPageSize(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetPageSize,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetPageSize(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetSelection,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetSelection(self, *_args, **_kwargs) return val def SetThumbLength(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetThumbLength,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetThumbLength(self, *_args, **_kwargs) return val def SetTick(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetTick,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetTick(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSlider_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxSlider_SetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSlider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSlider(wxSliderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxSlider,_args,_kwargs) + self.this = controlsc.new_wxSlider(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSlider(*_args,**_kwargs): - val = wxSliderPtr(apply(controlsc.new_wxPreSlider,_args,_kwargs)) + val = wxSliderPtr(controlsc.new_wxPreSlider(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1115,35 +1115,38 @@ class wxSpinCtrlPtr(wxSpinButtonPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_Create,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_Create(self, *_args, **_kwargs) return val def GetMax(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_GetMax,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_GetMax(self, *_args, **_kwargs) return val def GetMin(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_GetMin,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_GetMin(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_GetValue(self, *_args, **_kwargs) return val def SetRange(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_SetRange,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_SetRange(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxSpinCtrl_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxSpinCtrl_SetValue(self, *_args, **_kwargs) + return val + def SetSelection(self, *_args, **_kwargs): + val = controlsc.wxSpinCtrl_SetSelection(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSpinCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSpinCtrl(wxSpinCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxSpinCtrl,_args,_kwargs) + self.this = controlsc.new_wxSpinCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSpinCtrl(*_args,**_kwargs): - val = wxSpinCtrlPtr(apply(controlsc.new_wxPreSpinCtrl,_args,_kwargs)) + val = wxSpinCtrlPtr(controlsc.new_wxPreSpinCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1154,29 +1157,29 @@ class wxToggleButtonPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controlsc.wxToggleButton_Create,(self,) + _args, _kwargs) + val = controlsc.wxToggleButton_Create(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxToggleButton_SetValue,(self,) + _args, _kwargs) + val = controlsc.wxToggleButton_SetValue(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(controlsc.wxToggleButton_GetValue,(self,) + _args, _kwargs) + val = controlsc.wxToggleButton_GetValue(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(controlsc.wxToggleButton_SetLabel,(self,) + _args, _kwargs) + val = controlsc.wxToggleButton_SetLabel(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToggleButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxToggleButton(wxToggleButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controlsc.new_wxToggleButton,_args,_kwargs) + self.this = controlsc.new_wxToggleButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreToggleButton(*_args,**_kwargs): - val = wxToggleButtonPtr(apply(controlsc.new_wxPreToggleButton,_args,_kwargs)) + val = wxToggleButtonPtr(controlsc.new_wxPreToggleButton(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1187,12 +1190,12 @@ def wxPreToggleButton(*_args,**_kwargs): #-------------- FUNCTION WRAPPERS ------------------ def wxButton_GetDefaultSize(*_args, **_kwargs): - val = apply(controlsc.wxButton_GetDefaultSize,_args,_kwargs) + val = controlsc.wxButton_GetDefaultSize(*_args,**_kwargs) if val: val = wxSizePtr(val); val.thisown = 1 return val def wxTextAttr_Combine(*_args, **_kwargs): - val = apply(controlsc.wxTextAttr_Combine,_args,_kwargs) + val = controlsc.wxTextAttr_Combine(*_args,**_kwargs) if val: val = wxTextAttrPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/controls2.cpp b/wxPython/src/gtk/controls2.cpp index a4f1913505..ed48036c07 100644 --- a/wxPython/src/gtk/controls2.cpp +++ b/wxPython/src/gtk/controls2.cpp @@ -63,6 +63,8 @@ extern PyObject *SWIG_newvarlink(void); #include #include +#include "pytree.h" + static PyObject* t_output_helper(PyObject* target, PyObject* o) { PyObject* o2; @@ -153,37 +155,6 @@ IMP_PYCALLBACK_LISTATTR_LONG(wxPyListCtrl, wxListCtrl, OnGetItemAttr); return retval; } - -class wxPyTreeItemData : public wxTreeItemData { -public: - wxPyTreeItemData(PyObject* obj = NULL) { - if (obj == NULL) - obj = Py_None; - Py_INCREF(obj); - m_obj = obj; - } - - ~wxPyTreeItemData() { - wxPyBeginBlockThreads(); - Py_DECREF(m_obj); - wxPyEndBlockThreads(); - } - - PyObject* GetData() { - Py_INCREF(m_obj); - return m_obj; - } - - void SetData(PyObject* obj) { - wxPyBeginBlockThreads(); - Py_DECREF(m_obj); - wxPyEndBlockThreads(); - m_obj = obj; - Py_INCREF(obj); - } - - PyObject* m_obj; -}; // C++ version of Python aware wxTreeCtrl class wxPyTreeCtrl : public wxTreeCtrl { DECLARE_ABSTRACT_CLASS(wxPyTreeCtrl); @@ -6389,6 +6360,220 @@ static PyObject *_wrap_wxTreeEvent_IsEditCancelled(PyObject *self, PyObject *arg return _resultobj; } +#define wxTreeEvent_SetItem(_swigobj,_swigarg0) (_swigobj->SetItem(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeEvent_SetItem",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetItem. Expected _wxTreeEvent_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeEvent_SetItem. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetItem(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeEvent_SetOldItem(_swigobj,_swigarg0) (_swigobj->SetOldItem(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetOldItem(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + wxTreeItemId * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","item", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeEvent_SetOldItem",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetOldItem. Expected _wxTreeEvent_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxTreeItemId_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeEvent_SetOldItem. Expected _wxTreeItemId_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetOldItem(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeEvent_SetPoint(_swigobj,_swigarg0) (_swigobj->SetPoint(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetPoint(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + wxPoint * _arg1; + PyObject * _argo0 = 0; + wxPoint temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","pt", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeEvent_SetPoint",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetPoint. Expected _wxTreeEvent_p."); + return NULL; + } + } +{ + _arg1 = &temp; + if (! wxPoint_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetPoint(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeEvent_SetKeyEvent(_swigobj,_swigarg0) (_swigobj->SetKeyEvent(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetKeyEvent(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + wxKeyEvent * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","evt", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeEvent_SetKeyEvent",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetKeyEvent. Expected _wxTreeEvent_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTreeEvent_SetKeyEvent. Expected _wxKeyEvent_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetKeyEvent(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxTreeEvent_SetLabel(_swigobj,_swigarg0) (_swigobj->SetLabel(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetLabel(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","label", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeEvent_SetLabel",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetLabel. Expected _wxTreeEvent_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetLabel(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +#define wxTreeEvent_SetEditCanceled(_swigobj,_swigarg0) (_swigobj->SetEditCanceled(_swigarg0)) +static PyObject *_wrap_wxTreeEvent_SetEditCanceled(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxTreeEvent * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","editCancelled", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxTreeEvent_SetEditCanceled",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTreeEvent_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTreeEvent_SetEditCanceled. Expected _wxTreeEvent_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxTreeEvent_SetEditCanceled(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + static void *SwigwxPyTreeCtrlTowxControl(void *ptr) { wxPyTreeCtrl *src; wxControl *dest; @@ -6429,7 +6614,7 @@ static PyObject *_wrap_new_wxTreeCtrl(PyObject *self, PyObject *args, PyObject * wxWindowID _arg1 = (wxWindowID ) -1; wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; wxSize * _arg3 = (wxSize *) &wxDefaultSize; - long _arg4 = (long ) (wxTR_HAS_BUTTONS)|(wxTR_LINES_AT_ROOT); + long _arg4 = (long ) (wxTR_DEFAULT_STYLE); wxValidator * _arg5 = (wxValidator *) &wxDefaultValidator; wxString * _arg6 = (wxString *) &wxPy_TreeCtrlNameStr; PyObject * _argo0 = 0; @@ -6531,7 +6716,7 @@ static PyObject *_wrap_wxTreeCtrl_Create(PyObject *self, PyObject *args, PyObjec wxWindowID _arg2 = (wxWindowID ) -1; wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; wxSize * _arg4 = (wxSize *) &wxDefaultSize; - long _arg5 = (long ) (wxTR_HAS_BUTTONS)|(wxTR_LINES_AT_ROOT); + long _arg5 = (long ) (wxTR_DEFAULT_STYLE); wxValidator * _arg6 = (wxValidator *) &wxDefaultValidator; wxString * _arg7 = (wxString *) &wxPy_TreeCtrlNameStr; PyObject * _argo0 = 0; @@ -9282,7 +9467,7 @@ static PyObject * wxPyTreeCtrl_GetBoundingRect(wxPyTreeCtrl *self,const wxTreeIt if (self->GetBoundingRect(item, rect, textOnly)) { wxPyBeginBlockThreads(); wxRect* r = new wxRect(rect); - PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect")); + PyObject* val = wxPyConstructObject((void*)r, wxT("wxRect"), 1); wxPyEndBlockThreads(); return val; } @@ -10519,6 +10704,34 @@ static PyObject *_wrap_wxGenericDirCtrl_GetFilterListCtrl(PyObject *self, PyObje return _resultobj; } +#define wxGenericDirCtrl_ReCreateTree(_swigobj) (_swigobj->ReCreateTree()) +static PyObject *_wrap_wxGenericDirCtrl_ReCreateTree(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGenericDirCtrl * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGenericDirCtrl_ReCreateTree",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGenericDirCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGenericDirCtrl_ReCreateTree. Expected _wxGenericDirCtrl_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGenericDirCtrl_ReCreateTree(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + static void *SwigwxDirFilterListCtrlTowxChoice(void *ptr) { wxDirFilterListCtrl *src; wxChoice *dest; @@ -10750,6 +10963,7 @@ static PyMethodDef controls2cMethods[] = { { "wxDirFilterListCtrl_Create", (PyCFunction) _wrap_wxDirFilterListCtrl_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreDirFilterListCtrl", (PyCFunction) _wrap_new_wxPreDirFilterListCtrl, METH_VARARGS | METH_KEYWORDS }, { "new_wxDirFilterListCtrl", (PyCFunction) _wrap_new_wxDirFilterListCtrl, METH_VARARGS | METH_KEYWORDS }, + { "wxGenericDirCtrl_ReCreateTree", (PyCFunction) _wrap_wxGenericDirCtrl_ReCreateTree, METH_VARARGS | METH_KEYWORDS }, { "wxGenericDirCtrl_GetFilterListCtrl", (PyCFunction) _wrap_wxGenericDirCtrl_GetFilterListCtrl, METH_VARARGS | METH_KEYWORDS }, { "wxGenericDirCtrl_GetTreeCtrl", (PyCFunction) _wrap_wxGenericDirCtrl_GetTreeCtrl, METH_VARARGS | METH_KEYWORDS }, { "wxGenericDirCtrl_GetRootId", (PyCFunction) _wrap_wxGenericDirCtrl_GetRootId, METH_VARARGS | METH_KEYWORDS }, @@ -10853,6 +11067,12 @@ static PyMethodDef controls2cMethods[] = { { "wxTreeCtrl_Create", (PyCFunction) _wrap_wxTreeCtrl_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreTreeCtrl", (PyCFunction) _wrap_new_wxPreTreeCtrl, METH_VARARGS | METH_KEYWORDS }, { "new_wxTreeCtrl", (PyCFunction) _wrap_new_wxTreeCtrl, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetEditCanceled", (PyCFunction) _wrap_wxTreeEvent_SetEditCanceled, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetLabel", (PyCFunction) _wrap_wxTreeEvent_SetLabel, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetKeyEvent", (PyCFunction) _wrap_wxTreeEvent_SetKeyEvent, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetPoint", (PyCFunction) _wrap_wxTreeEvent_SetPoint, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetOldItem", (PyCFunction) _wrap_wxTreeEvent_SetOldItem, METH_VARARGS | METH_KEYWORDS }, + { "wxTreeEvent_SetItem", (PyCFunction) _wrap_wxTreeEvent_SetItem, METH_VARARGS | METH_KEYWORDS }, { "wxTreeEvent_IsEditCancelled", (PyCFunction) _wrap_wxTreeEvent_IsEditCancelled, METH_VARARGS | METH_KEYWORDS }, { "wxTreeEvent_GetLabel", (PyCFunction) _wrap_wxTreeEvent_GetLabel, METH_VARARGS | METH_KEYWORDS }, { "wxTreeEvent_GetKeyCode", (PyCFunction) _wrap_wxTreeEvent_GetKeyCode, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/controls2.py b/wxPython/src/gtk/controls2.py index fcbe7ee362..d07fd0d97b 100644 --- a/wxPython/src/gtk/controls2.py +++ b/wxPython/src/gtk/controls2.py @@ -143,40 +143,40 @@ class wxListItemAttrPtr : self.this = this self.thisown = 0 def SetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_SetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_SetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_SetBackgroundColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_SetFont,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_SetFont(self, *_args, **_kwargs) return val def HasTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_HasTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_HasTextColour(self, *_args, **_kwargs) return val def HasBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_HasBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_HasBackgroundColour(self, *_args, **_kwargs) return val def HasFont(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_HasFont,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_HasFont(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_GetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_GetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxListItemAttr_GetFont,(self,) + _args, _kwargs) + val = controls2c.wxListItemAttr_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListItemAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxListItemAttr(wxListItemAttrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxListItemAttr,_args,_kwargs) + self.this = controls2c.new_wxListItemAttr(*_args,**_kwargs) self.thisown = 1 @@ -193,94 +193,94 @@ class wxListItemPtr(wxObjectPtr): except: pass def Clear(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_Clear,(self,) + _args, _kwargs) + val = controls2c.wxListItem_Clear(self, *_args, **_kwargs) return val def ClearAttributes(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_ClearAttributes,(self,) + _args, _kwargs) + val = controls2c.wxListItem_ClearAttributes(self, *_args, **_kwargs) return val def SetMask(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetMask,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetMask(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetId,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetId(self, *_args, **_kwargs) return val def SetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetColumn(self, *_args, **_kwargs) return val def SetState(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetState,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetState(self, *_args, **_kwargs) return val def SetStateMask(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetStateMask,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetStateMask(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetText,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetText(self, *_args, **_kwargs) return val def SetImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetImage,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetImage(self, *_args, **_kwargs) return val def SetData(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetData,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetData(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetWidth,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetWidth(self, *_args, **_kwargs) return val def SetAlign(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetAlign,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetAlign(self, *_args, **_kwargs) return val def SetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetBackgroundColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_SetFont,(self,) + _args, _kwargs) + val = controls2c.wxListItem_SetFont(self, *_args, **_kwargs) return val def GetMask(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetMask,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetMask(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetId,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetId(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetColumn(self, *_args, **_kwargs) return val def GetState(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetState,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetState(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetText,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetText(self, *_args, **_kwargs) return val def GetImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetImage,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetImage(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetData,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetData(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetWidth,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetWidth(self, *_args, **_kwargs) return val def GetAlign(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetAlign,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetAlign(self, *_args, **_kwargs) return val def GetAttributes(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetAttributes,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetAttributes(self, *_args, **_kwargs) if val: val = wxListItemAttrPtr(val) return val def HasAttributes(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_HasAttributes,(self,) + _args, _kwargs) + val = controls2c.wxListItem_HasAttributes(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxListItem_GetFont,(self,) + _args, _kwargs) + val = controls2c.wxListItem_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def __setattr__(self,name,value): @@ -338,10 +338,10 @@ class wxListItemPtr(wxObjectPtr): return controls2c.wxListItem_m_width_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxListItem(wxListItemPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxListItem,_args,_kwargs) + self.this = controls2c.new_wxListItem(*_args,**_kwargs) self.thisown = 1 @@ -352,41 +352,41 @@ class wxListEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetKeyCode(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetKeyCode,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetKeyCode(self, *_args, **_kwargs) return val def GetIndex(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetIndex,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetIndex(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetColumn(self, *_args, **_kwargs) return val def GetPoint(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetPoint,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetPoint(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetLabel(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetLabel,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetLabel(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetText,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetText(self, *_args, **_kwargs) return val def GetImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetImage,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetImage(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetData,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetData(self, *_args, **_kwargs) return val def GetMask(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetMask,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetMask(self, *_args, **_kwargs) return val def GetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetItem,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetItem(self, *_args, **_kwargs) return val def GetCacheFrom(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetCacheFrom,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetCacheFrom(self, *_args, **_kwargs) return val def GetCacheTo(self, *_args, **_kwargs): - val = apply(controls2c.wxListEvent_GetCacheTo,(self,) + _args, _kwargs) + val = controls2c.wxListEvent_GetCacheTo(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_code" : @@ -423,11 +423,11 @@ class wxListEventPtr(wxNotifyEventPtr): return wxListItemPtr(controls2c.wxListEvent_m_item_get(self)) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) GetCode = GetKeyCode class wxListEvent(wxListEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxListEvent,_args,_kwargs) + self.this = controls2c.new_wxListEvent(*_args,**_kwargs) self.thisown = 1 @@ -438,217 +438,217 @@ class wxListCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_Create,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_Create(self, *_args, **_kwargs) return val def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl__setCallbackInfo,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl__setCallbackInfo(self, *_args, **_kwargs) return val def SetForegroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetForegroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetForegroundColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetBackgroundColour(self, *_args, **_kwargs) return val def GetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetColumn(self, *_args, **_kwargs) return val def SetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetColumn(self, *_args, **_kwargs) return val def GetColumnWidth(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetColumnWidth,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetColumnWidth(self, *_args, **_kwargs) return val def SetColumnWidth(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetColumnWidth,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetColumnWidth(self, *_args, **_kwargs) return val def GetCountPerPage(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetCountPerPage,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetCountPerPage(self, *_args, **_kwargs) return val def GetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItem(self, *_args, **_kwargs) return val def SetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItem(self, *_args, **_kwargs) return val def SetStringItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetStringItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetStringItem(self, *_args, **_kwargs) return val def GetItemState(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemState,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemState(self, *_args, **_kwargs) return val def SetItemState(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemState,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemState(self, *_args, **_kwargs) return val def SetItemImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemImage,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemImage(self, *_args, **_kwargs) return val def GetItemText(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemText,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemText(self, *_args, **_kwargs) return val def SetItemText(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemText,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemText(self, *_args, **_kwargs) return val def GetItemData(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemData,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemData(self, *_args, **_kwargs) return val def SetItemData(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemData,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemData(self, *_args, **_kwargs) return val def GetItemPosition(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemPosition,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetItemRect(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemRect,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def SetItemPosition(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemPosition,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemPosition(self, *_args, **_kwargs) return val def GetItemCount(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemCount,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemCount(self, *_args, **_kwargs) return val def GetColumnCount(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetColumnCount,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetColumnCount(self, *_args, **_kwargs) return val def GetItemSpacing(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemSpacing,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemSpacing(self, *_args, **_kwargs) return val def SetItemSpacing(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemSpacing,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemSpacing(self, *_args, **_kwargs) return val def GetSelectedItemCount(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetSelectedItemCount,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetSelectedItemCount(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetTextColour(self, *_args, **_kwargs) return val def GetTopItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetTopItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetTopItem(self, *_args, **_kwargs) return val def SetSingleStyle(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetSingleStyle,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetSingleStyle(self, *_args, **_kwargs) return val def SetWindowStyleFlag(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetWindowStyleFlag,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetWindowStyleFlag(self, *_args, **_kwargs) return val def GetNextItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetNextItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetNextItem(self, *_args, **_kwargs) return val def GetImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetImageList,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetImageList(self, *_args, **_kwargs) return val def SetImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetImageList,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetImageList(self, *_args, **_kwargs) return val def AssignImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_AssignImageList,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_AssignImageList(self, *_args, **_kwargs) _args[0].thisown = 0 return val def IsVirtual(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_IsVirtual,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_IsVirtual(self, *_args, **_kwargs) return val def RefreshItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_RefreshItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_RefreshItem(self, *_args, **_kwargs) return val def RefreshItems(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_RefreshItems,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_RefreshItems(self, *_args, **_kwargs) return val def Arrange(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_Arrange,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_Arrange(self, *_args, **_kwargs) return val def DeleteItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_DeleteItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_DeleteItem(self, *_args, **_kwargs) return val def DeleteAllItems(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_DeleteAllItems,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_DeleteAllItems(self, *_args, **_kwargs) return val def DeleteColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_DeleteColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_DeleteColumn(self, *_args, **_kwargs) return val def DeleteAllColumns(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_DeleteAllColumns,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_DeleteAllColumns(self, *_args, **_kwargs) return val def ClearAll(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_ClearAll,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_ClearAll(self, *_args, **_kwargs) return val def EditLabel(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_EditLabel,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_EditLabel(self, *_args, **_kwargs) return val def EnsureVisible(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_EnsureVisible,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_EnsureVisible(self, *_args, **_kwargs) return val def FindItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_FindItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_FindItem(self, *_args, **_kwargs) return val def FindItemData(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_FindItemData,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_FindItemData(self, *_args, **_kwargs) return val def FindItemAtPos(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_FindItemAtPos,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_FindItemAtPos(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_HitTest,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_HitTest(self, *_args, **_kwargs) return val def InsertItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertItem(self, *_args, **_kwargs) return val def InsertStringItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertStringItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertStringItem(self, *_args, **_kwargs) return val def InsertImageItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertImageItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertImageItem(self, *_args, **_kwargs) return val def InsertImageStringItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertImageStringItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertImageStringItem(self, *_args, **_kwargs) return val def InsertColumnInfo(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertColumnInfo,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertColumnInfo(self, *_args, **_kwargs) return val def InsertColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_InsertColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_InsertColumn(self, *_args, **_kwargs) return val def SetItemCount(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemCount,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemCount(self, *_args, **_kwargs) return val def ScrollList(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_ScrollList,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_ScrollList(self, *_args, **_kwargs) return val def SetItemTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemTextColour(self, *_args, **_kwargs) return val def GetItemTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemTextColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetItemBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SetItemBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SetItemBackgroundColour(self, *_args, **_kwargs) return val def GetItemBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItemBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItemBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SortItems(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_SortItems,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_SortItems(self, *_args, **_kwargs) return val def GetMainWindow(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetMainWindow,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetMainWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def GetColumn(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetColumn(self, *_args, **_kwargs) if val is not None: val.thisown = 1 return val def GetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs) + val = controls2c.wxListCtrl_GetItem(self, *_args, **_kwargs) if val is not None: val.thisown = 1 return val @@ -707,7 +707,7 @@ class wxListCtrlPtr(wxControlPtr): class wxListCtrl(wxListCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxListCtrl,_args,_kwargs) + self.this = controls2c.new_wxListCtrl(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxListCtrl) self._setOORInfo(self) @@ -715,7 +715,7 @@ class wxListCtrl(wxListCtrlPtr): def wxPreListCtrl(*_args,**_kwargs): - val = wxListCtrlPtr(apply(controls2c.new_wxPreListCtrl,_args,_kwargs)) + val = wxListCtrlPtr(controls2c.new_wxPreListCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -726,44 +726,44 @@ class wxListViewPtr(wxListCtrlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_Create,(self,) + _args, _kwargs) + val = controls2c.wxListView_Create(self, *_args, **_kwargs) return val def Select(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_Select,(self,) + _args, _kwargs) + val = controls2c.wxListView_Select(self, *_args, **_kwargs) return val def Focus(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_Focus,(self,) + _args, _kwargs) + val = controls2c.wxListView_Focus(self, *_args, **_kwargs) return val def GetFocusedItem(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_GetFocusedItem,(self,) + _args, _kwargs) + val = controls2c.wxListView_GetFocusedItem(self, *_args, **_kwargs) return val def GetNextSelected(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_GetNextSelected,(self,) + _args, _kwargs) + val = controls2c.wxListView_GetNextSelected(self, *_args, **_kwargs) return val def GetFirstSelected(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_GetFirstSelected,(self,) + _args, _kwargs) + val = controls2c.wxListView_GetFirstSelected(self, *_args, **_kwargs) return val def IsSelected(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_IsSelected,(self,) + _args, _kwargs) + val = controls2c.wxListView_IsSelected(self, *_args, **_kwargs) return val def SetColumnImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_SetColumnImage,(self,) + _args, _kwargs) + val = controls2c.wxListView_SetColumnImage(self, *_args, **_kwargs) return val def ClearColumnImage(self, *_args, **_kwargs): - val = apply(controls2c.wxListView_ClearColumnImage,(self,) + _args, _kwargs) + val = controls2c.wxListView_ClearColumnImage(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxListView instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxListView(wxListViewPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxListView,_args,_kwargs) + self.this = controls2c.new_wxListView(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreListView(*_args,**_kwargs): - val = wxListViewPtr(apply(controls2c.new_wxPreListView,_args,_kwargs)) + val = wxListViewPtr(controls2c.new_wxPreListView(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -774,40 +774,40 @@ class wxTreeItemAttrPtr : self.this = this self.thisown = 0 def SetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_SetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_SetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_SetBackgroundColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_SetFont,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_SetFont(self, *_args, **_kwargs) return val def HasTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_HasTextColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_HasTextColour(self, *_args, **_kwargs) return val def HasBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_HasBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_HasBackgroundColour(self, *_args, **_kwargs) return val def HasFont(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_HasFont,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_HasFont(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_GetTextColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_GetBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemAttr_GetFont,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemAttr_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeItemAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTreeItemAttr(wxTreeItemAttrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxTreeItemAttr,_args,_kwargs) + self.this = controls2c.new_wxTreeItemAttr(*_args,**_kwargs) self.thisown = 1 @@ -824,17 +824,21 @@ class wxTreeItemIdPtr : except: pass def IsOk(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemId_IsOk,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemId_IsOk(self, *_args, **_kwargs) return val def __cmp__(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemId___cmp__,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemId___cmp__(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeItemId instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + Ok = IsOk + def __nonzero__(self): + return self.IsOk() + class wxTreeItemId(wxTreeItemIdPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxTreeItemId,_args,_kwargs) + self.this = controls2c.new_wxTreeItemId(*_args,**_kwargs) self.thisown = 1 @@ -845,23 +849,23 @@ class wxTreeItemDataPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemData_GetData,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemData_GetData(self, *_args, **_kwargs) return val def SetData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemData_SetData,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemData_SetData(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemData_GetId,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemData_GetId(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) return val def SetId(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeItemData_SetId,(self,) + _args, _kwargs) + val = controls2c.wxTreeItemData_SetId(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeItemData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTreeItemData(wxTreeItemDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxTreeItemData,_args,_kwargs) + self.this = controls2c.new_wxTreeItemData(*_args,**_kwargs) self.thisown = 1 @@ -872,36 +876,54 @@ class wxTreeEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetOldItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetOldItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetOldItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetPoint(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetPoint,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetPoint(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetKeyEvent(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetKeyEvent,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetKeyEvent(self, *_args, **_kwargs) if val: val = wxKeyEventPtr(val) return val def GetKeyCode(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetKeyCode,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetKeyCode(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_GetLabel,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_GetLabel(self, *_args, **_kwargs) return val def IsEditCancelled(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeEvent_IsEditCancelled,(self,) + _args, _kwargs) + val = controls2c.wxTreeEvent_IsEditCancelled(self, *_args, **_kwargs) + return val + def SetItem(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetItem(self, *_args, **_kwargs) + return val + def SetOldItem(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetOldItem(self, *_args, **_kwargs) + return val + def SetPoint(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetPoint(self, *_args, **_kwargs) + return val + def SetKeyEvent(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetKeyEvent(self, *_args, **_kwargs) + return val + def SetLabel(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetLabel(self, *_args, **_kwargs) + return val + def SetEditCanceled(self, *_args, **_kwargs): + val = controls2c.wxTreeEvent_SetEditCanceled(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) GetCode = GetKeyCode class wxTreeEvent(wxTreeEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxTreeEvent,_args,_kwargs) + self.this = controls2c.new_wxTreeEvent(*_args,**_kwargs) self.thisown = 1 @@ -912,261 +934,261 @@ class wxTreeCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Create,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Create(self, *_args, **_kwargs) return val def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl__setCallbackInfo,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl__setCallbackInfo(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetCount,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetCount(self, *_args, **_kwargs) return val def GetIndent(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetIndent,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetIndent(self, *_args, **_kwargs) return val def SetIndent(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetIndent,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetIndent(self, *_args, **_kwargs) return val def GetImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetImageList(self, *_args, **_kwargs) return val def GetStateImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetStateImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetStateImageList(self, *_args, **_kwargs) return val def SetImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetImageList(self, *_args, **_kwargs) return val def SetStateImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetStateImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetStateImageList(self, *_args, **_kwargs) return val def AssignImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_AssignImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_AssignImageList(self, *_args, **_kwargs) _args[0].thisown = 0 return val def AssignStateImageList(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_AssignStateImageList,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_AssignStateImageList(self, *_args, **_kwargs) _args[0].thisown = 0 return val def GetSpacing(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetSpacing,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetSpacing(self, *_args, **_kwargs) return val def SetSpacing(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetSpacing,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetSpacing(self, *_args, **_kwargs) return val def GetItemText(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemText,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemText(self, *_args, **_kwargs) return val def GetItemImage(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemImage,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemImage(self, *_args, **_kwargs) return val def GetItemSelectedImage(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemSelectedImage,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemSelectedImage(self, *_args, **_kwargs) return val def SetItemText(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemText,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemText(self, *_args, **_kwargs) return val def SetItemImage(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemImage,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemImage(self, *_args, **_kwargs) return val def SetItemSelectedImage(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemSelectedImage,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemSelectedImage(self, *_args, **_kwargs) return val def SetItemHasChildren(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemHasChildren,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemHasChildren(self, *_args, **_kwargs) return val def GetItemData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemData,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemData(self, *_args, **_kwargs) if val: val = wxTreeItemDataPtr(val) return val def SetItemData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemData,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemData(self, *_args, **_kwargs) return val def GetPyData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetPyData,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetPyData(self, *_args, **_kwargs) return val def SetPyData(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetPyData,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetPyData(self, *_args, **_kwargs) return val def GetItemTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemTextColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetItemBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetItemFont(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemFont,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def IsVisible(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_IsVisible,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_IsVisible(self, *_args, **_kwargs) return val def ItemHasChildren(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_ItemHasChildren,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_ItemHasChildren(self, *_args, **_kwargs) return val def IsExpanded(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_IsExpanded,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_IsExpanded(self, *_args, **_kwargs) return val def IsSelected(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_IsSelected,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_IsSelected(self, *_args, **_kwargs) return val def GetRootItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetRootItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetRootItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetSelection(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetSelection,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetSelection(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetItemParent(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetItemParent,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetItemParent(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetSelections(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetSelections,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetSelections(self, *_args, **_kwargs) return val def GetChildrenCount(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetChildrenCount,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetChildrenCount(self, *_args, **_kwargs) return val def GetFirstChild(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetFirstChild,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetFirstChild(self, *_args, **_kwargs) return val def GetNextChild(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetNextChild,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetNextChild(self, *_args, **_kwargs) return val def GetNextSibling(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetNextSibling,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetNextSibling(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetPrevSibling(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetPrevSibling,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetPrevSibling(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetFirstVisibleItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetFirstVisibleItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetFirstVisibleItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetNextVisible(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetNextVisible,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetNextVisible(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetPrevVisible(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetPrevVisible,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetPrevVisible(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetLastChild(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetLastChild,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetLastChild(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def AddRoot(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_AddRoot,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_AddRoot(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def PrependItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_PrependItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_PrependItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def InsertItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_InsertItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_InsertItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def InsertItemBefore(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_InsertItemBefore,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_InsertItemBefore(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def AppendItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_AppendItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_AppendItem(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def Delete(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Delete,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Delete(self, *_args, **_kwargs) return val def DeleteChildren(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_DeleteChildren,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_DeleteChildren(self, *_args, **_kwargs) return val def DeleteAllItems(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_DeleteAllItems,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_DeleteAllItems(self, *_args, **_kwargs) return val def Expand(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Expand,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Expand(self, *_args, **_kwargs) return val def Collapse(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Collapse,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Collapse(self, *_args, **_kwargs) return val def CollapseAndReset(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_CollapseAndReset,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_CollapseAndReset(self, *_args, **_kwargs) return val def Toggle(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Toggle,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Toggle(self, *_args, **_kwargs) return val def Unselect(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_Unselect,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_Unselect(self, *_args, **_kwargs) return val def UnselectAll(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_UnselectAll,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_UnselectAll(self, *_args, **_kwargs) return val def SelectItem(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SelectItem,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SelectItem(self, *_args, **_kwargs) return val def EnsureVisible(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_EnsureVisible,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_EnsureVisible(self, *_args, **_kwargs) return val def ScrollTo(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_ScrollTo,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_ScrollTo(self, *_args, **_kwargs) return val def GetEditControl(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetEditControl,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetEditControl(self, *_args, **_kwargs) return val def EditLabel(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_EditLabel,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_EditLabel(self, *_args, **_kwargs) return val def SortChildren(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SortChildren,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SortChildren(self, *_args, **_kwargs) return val def SetItemBold(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemBold,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemBold(self, *_args, **_kwargs) return val def IsBold(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_IsBold,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_IsBold(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_HitTest,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_HitTest(self, *_args, **_kwargs) return val def SetItemTextColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemTextColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemTextColour(self, *_args, **_kwargs) return val def SetItemBackgroundColour(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemBackgroundColour,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemBackgroundColour(self, *_args, **_kwargs) return val def SetItemFont(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_SetItemFont,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_SetItemFont(self, *_args, **_kwargs) return val def GetBoundingRect(self, *_args, **_kwargs): - val = apply(controls2c.wxTreeCtrl_GetBoundingRect,(self,) + _args, _kwargs) + val = controls2c.wxTreeCtrl_GetBoundingRect(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTreeCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) # Redefine some methods that SWIG gets a bit confused on... def GetFirstChild(self, *_args, **_kwargs): - val1,val2 = apply(controls2c.wxTreeCtrl_GetFirstChild,(self,) + _args, _kwargs) + val1,val2 = controls2c.wxTreeCtrl_GetFirstChild(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) def GetNextChild(self, *_args, **_kwargs): - val1,val2 = apply(controls2c.wxTreeCtrl_GetNextChild,(self,) + _args, _kwargs) + val1,val2 = controls2c.wxTreeCtrl_GetNextChild(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) def HitTest(self, *_args, **_kwargs): - val1, val2 = apply(controls2c.wxTreeCtrl_HitTest,(self,) + _args, _kwargs) + val1, val2 = controls2c.wxTreeCtrl_HitTest(self, *_args, **_kwargs) val1 = wxTreeItemIdPtr(val1) val1.thisown = 1 return (val1,val2) class wxTreeCtrl(wxTreeCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxTreeCtrl,_args,_kwargs) + self.this = controls2c.new_wxTreeCtrl(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxTreeCtrl) self._setOORInfo(self) @@ -1174,7 +1196,7 @@ class wxTreeCtrl(wxTreeCtrlPtr): def wxPreTreeCtrl(*_args,**_kwargs): - val = wxTreeCtrlPtr(apply(controls2c.new_wxPreTreeCtrl,_args,_kwargs)) + val = wxTreeCtrlPtr(controls2c.new_wxPreTreeCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1185,7 +1207,7 @@ class wxDirItemDataPtr(wxObjectPtr): self.this = this self.thisown = 0 def SetNewDirName(self, *_args, **_kwargs): - val = apply(controls2c.wxDirItemData_SetNewDirName,(self,) + _args, _kwargs) + val = controls2c.wxDirItemData_SetNewDirName(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_path" : @@ -1217,10 +1239,10 @@ class wxDirItemDataPtr(wxObjectPtr): return controls2c.wxDirItemData_m_isDir_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDirItemData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDirItemData(wxDirItemDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxDirItemData,_args,_kwargs) + self.this = controls2c.new_wxDirItemData(*_args,**_kwargs) self.thisown = 1 @@ -1231,67 +1253,70 @@ class wxGenericDirCtrlPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_Create,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_Create(self, *_args, **_kwargs) return val def ExpandPath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_ExpandPath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_ExpandPath(self, *_args, **_kwargs) return val def GetDefaultPath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetDefaultPath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetDefaultPath(self, *_args, **_kwargs) return val def SetDefaultPath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_SetDefaultPath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_SetDefaultPath(self, *_args, **_kwargs) return val def GetPath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetPath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetPath(self, *_args, **_kwargs) return val def GetFilePath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetFilePath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetFilePath(self, *_args, **_kwargs) return val def SetPath(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_SetPath,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_SetPath(self, *_args, **_kwargs) return val def ShowHidden(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_ShowHidden,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_ShowHidden(self, *_args, **_kwargs) return val def GetShowHidden(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetShowHidden,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetShowHidden(self, *_args, **_kwargs) return val def GetFilter(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetFilter,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetFilter(self, *_args, **_kwargs) return val def SetFilter(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_SetFilter,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_SetFilter(self, *_args, **_kwargs) return val def GetFilterIndex(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetFilterIndex,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetFilterIndex(self, *_args, **_kwargs) return val def SetFilterIndex(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_SetFilterIndex,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_SetFilterIndex(self, *_args, **_kwargs) return val def GetRootId(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetRootId,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetRootId(self, *_args, **_kwargs) if val: val = wxTreeItemIdPtr(val) ; val.thisown = 1 return val def GetTreeCtrl(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetTreeCtrl,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetTreeCtrl(self, *_args, **_kwargs) return val def GetFilterListCtrl(self, *_args, **_kwargs): - val = apply(controls2c.wxGenericDirCtrl_GetFilterListCtrl,(self,) + _args, _kwargs) + val = controls2c.wxGenericDirCtrl_GetFilterListCtrl(self, *_args, **_kwargs) if val: val = wxDirFilterListCtrlPtr(val) return val + def ReCreateTree(self, *_args, **_kwargs): + val = controls2c.wxGenericDirCtrl_ReCreateTree(self, *_args, **_kwargs) + return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGenericDirCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGenericDirCtrl(wxGenericDirCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxGenericDirCtrl,_args,_kwargs) + self.this = controls2c.new_wxGenericDirCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreGenericDirCtrl(*_args,**_kwargs): - val = wxGenericDirCtrlPtr(apply(controls2c.new_wxPreGenericDirCtrl,_args,_kwargs)) + val = wxGenericDirCtrlPtr(controls2c.new_wxPreGenericDirCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -1302,23 +1327,23 @@ class wxDirFilterListCtrlPtr(wxChoicePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(controls2c.wxDirFilterListCtrl_Create,(self,) + _args, _kwargs) + val = controls2c.wxDirFilterListCtrl_Create(self, *_args, **_kwargs) return val def FillFilterList(self, *_args, **_kwargs): - val = apply(controls2c.wxDirFilterListCtrl_FillFilterList,(self,) + _args, _kwargs) + val = controls2c.wxDirFilterListCtrl_FillFilterList(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDirFilterListCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDirFilterListCtrl(wxDirFilterListCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(controls2c.new_wxDirFilterListCtrl,_args,_kwargs) + self.this = controls2c.new_wxDirFilterListCtrl(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreDirFilterListCtrl(*_args,**_kwargs): - val = wxDirFilterListCtrlPtr(apply(controls2c.new_wxPreDirFilterListCtrl,_args,_kwargs)) + val = wxDirFilterListCtrlPtr(controls2c.new_wxPreDirFilterListCtrl(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/events.py b/wxPython/src/gtk/events.py index 3f52c08034..2d5de7f5b7 100644 --- a/wxPython/src/gtk/events.py +++ b/wxPython/src/gtk/events.py @@ -17,41 +17,41 @@ class wxEventPtr(wxObjectPtr): except: pass def GetEventObject(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_GetEventObject,(self,) + _args, _kwargs) + val = eventsc.wxEvent_GetEventObject(self, *_args, **_kwargs) return val def GetEventType(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_GetEventType,(self,) + _args, _kwargs) + val = eventsc.wxEvent_GetEventType(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_GetId,(self,) + _args, _kwargs) + val = eventsc.wxEvent_GetId(self, *_args, **_kwargs) return val def GetSkipped(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_GetSkipped,(self,) + _args, _kwargs) + val = eventsc.wxEvent_GetSkipped(self, *_args, **_kwargs) return val def GetTimestamp(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_GetTimestamp,(self,) + _args, _kwargs) + val = eventsc.wxEvent_GetTimestamp(self, *_args, **_kwargs) return val def SetEventObject(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_SetEventObject,(self,) + _args, _kwargs) + val = eventsc.wxEvent_SetEventObject(self, *_args, **_kwargs) return val def SetEventType(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_SetEventType,(self,) + _args, _kwargs) + val = eventsc.wxEvent_SetEventType(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_SetId,(self,) + _args, _kwargs) + val = eventsc.wxEvent_SetId(self, *_args, **_kwargs) return val def SetTimestamp(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_SetTimestamp,(self,) + _args, _kwargs) + val = eventsc.wxEvent_SetTimestamp(self, *_args, **_kwargs) return val def Skip(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_Skip,(self,) + _args, _kwargs) + val = eventsc.wxEvent_Skip(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(eventsc.wxEvent_Clone,(self,) + _args, _kwargs) + val = eventsc.wxEvent_Clone(self, *_args, **_kwargs) if val: val = wxEventPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxEvent(wxEventPtr): def __init__(self,this): self.this = this @@ -64,14 +64,14 @@ class wxSizeEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetSize(self, *_args, **_kwargs): - val = apply(eventsc.wxSizeEvent_GetSize,(self,) + _args, _kwargs) + val = eventsc.wxSizeEvent_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSizeEvent(wxSizeEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxSizeEvent,_args,_kwargs) + self.this = eventsc.new_wxSizeEvent(*_args,**_kwargs) self.thisown = 1 @@ -82,28 +82,28 @@ class wxCloseEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetLoggingOff(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_SetLoggingOff,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_SetLoggingOff(self, *_args, **_kwargs) return val def GetLoggingOff(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_GetLoggingOff,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_GetLoggingOff(self, *_args, **_kwargs) return val def Veto(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_Veto,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_Veto(self, *_args, **_kwargs) return val def CanVeto(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_CanVeto,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_CanVeto(self, *_args, **_kwargs) return val def GetVeto(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_GetVeto,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_GetVeto(self, *_args, **_kwargs) return val def SetCanVeto(self, *_args, **_kwargs): - val = apply(eventsc.wxCloseEvent_SetCanVeto,(self,) + _args, _kwargs) + val = eventsc.wxCloseEvent_SetCanVeto(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCloseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCloseEvent(wxCloseEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxCloseEvent,_args,_kwargs) + self.this = eventsc.new_wxCloseEvent(*_args,**_kwargs) self.thisown = 1 @@ -114,43 +114,43 @@ class wxCommandEventPtr(wxEventPtr): self.this = this self.thisown = 0 def IsChecked(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_IsChecked,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_IsChecked(self, *_args, **_kwargs) return val def Checked(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_Checked,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_Checked(self, *_args, **_kwargs) return val def GetExtraLong(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_GetExtraLong,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_GetExtraLong(self, *_args, **_kwargs) return val def GetInt(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_GetInt,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_GetInt(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_GetSelection,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_GetSelection(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_GetString,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_GetString(self, *_args, **_kwargs) return val def IsSelection(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_IsSelection,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_IsSelection(self, *_args, **_kwargs) return val def SetString(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_SetString,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_SetString(self, *_args, **_kwargs) return val def SetExtraLong(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_SetExtraLong,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_SetExtraLong(self, *_args, **_kwargs) return val def SetInt(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_SetInt,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_SetInt(self, *_args, **_kwargs) return val def GetClientData(self, *_args, **_kwargs): - val = apply(eventsc.wxCommandEvent_GetClientData,(self,) + _args, _kwargs) + val = eventsc.wxCommandEvent_GetClientData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCommandEvent(wxCommandEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxCommandEvent,_args,_kwargs) + self.this = eventsc.new_wxCommandEvent(*_args,**_kwargs) self.thisown = 1 @@ -161,16 +161,16 @@ class wxScrollEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetOrientation(self, *_args, **_kwargs): - val = apply(eventsc.wxScrollEvent_GetOrientation,(self,) + _args, _kwargs) + val = eventsc.wxScrollEvent_GetOrientation(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxScrollEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxScrollEvent_GetPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxScrollEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxScrollEvent(wxScrollEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxScrollEvent,_args,_kwargs) + self.this = eventsc.new_wxScrollEvent(*_args,**_kwargs) self.thisown = 1 @@ -181,16 +181,16 @@ class wxScrollWinEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetOrientation(self, *_args, **_kwargs): - val = apply(eventsc.wxScrollWinEvent_GetOrientation,(self,) + _args, _kwargs) + val = eventsc.wxScrollWinEvent_GetOrientation(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxScrollWinEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxScrollWinEvent_GetPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxScrollWinEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxScrollWinEvent(wxScrollWinEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxScrollWinEvent,_args,_kwargs) + self.this = eventsc.new_wxScrollWinEvent(*_args,**_kwargs) self.thisown = 1 @@ -201,10 +201,10 @@ class wxSpinEventPtr(wxScrollEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSpinEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSpinEvent(wxSpinEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxSpinEvent,_args,_kwargs) + self.this = eventsc.new_wxSpinEvent(*_args,**_kwargs) self.thisown = 1 @@ -215,108 +215,108 @@ class wxMouseEventPtr(wxEventPtr): self.this = this self.thisown = 0 def IsButton(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_IsButton,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_IsButton(self, *_args, **_kwargs) return val def ButtonDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ButtonDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ButtonDown(self, *_args, **_kwargs) return val def ButtonDClick(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ButtonDClick,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ButtonDClick(self, *_args, **_kwargs) return val def ButtonUp(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ButtonUp,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ButtonUp(self, *_args, **_kwargs) return val def Button(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_Button,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_Button(self, *_args, **_kwargs) return val def ButtonIsDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ButtonIsDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ButtonIsDown(self, *_args, **_kwargs) return val def ControlDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ControlDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ControlDown(self, *_args, **_kwargs) return val def MetaDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_MetaDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_MetaDown(self, *_args, **_kwargs) return val def AltDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_AltDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_AltDown(self, *_args, **_kwargs) return val def ShiftDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_ShiftDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_ShiftDown(self, *_args, **_kwargs) return val def LeftDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_LeftDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_LeftDown(self, *_args, **_kwargs) return val def MiddleDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_MiddleDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_MiddleDown(self, *_args, **_kwargs) return val def RightDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_RightDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_RightDown(self, *_args, **_kwargs) return val def LeftUp(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_LeftUp,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_LeftUp(self, *_args, **_kwargs) return val def MiddleUp(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_MiddleUp,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_MiddleUp(self, *_args, **_kwargs) return val def RightUp(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_RightUp,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_RightUp(self, *_args, **_kwargs) return val def LeftDClick(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_LeftDClick,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_LeftDClick(self, *_args, **_kwargs) return val def MiddleDClick(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_MiddleDClick,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_MiddleDClick(self, *_args, **_kwargs) return val def RightDClick(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_RightDClick,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_RightDClick(self, *_args, **_kwargs) return val def LeftIsDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_LeftIsDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_LeftIsDown(self, *_args, **_kwargs) return val def MiddleIsDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_MiddleIsDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_MiddleIsDown(self, *_args, **_kwargs) return val def RightIsDown(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_RightIsDown,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_RightIsDown(self, *_args, **_kwargs) return val def Dragging(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_Dragging,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_Dragging(self, *_args, **_kwargs) return val def Moving(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_Moving,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_Moving(self, *_args, **_kwargs) return val def Entering(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_Entering,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_Entering(self, *_args, **_kwargs) return val def Leaving(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_Leaving,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_Leaving(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetPositionTuple(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetPositionTuple,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetPositionTuple(self, *_args, **_kwargs) return val def GetLogicalPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetLogicalPosition,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetLogicalPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetX(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetX,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetY,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetY(self, *_args, **_kwargs) return val def GetWheelRotation(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetWheelRotation,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetWheelRotation(self, *_args, **_kwargs) return val def GetWheelDelta(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetWheelDelta,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetWheelDelta(self, *_args, **_kwargs) return val def GetLinesPerAction(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseEvent_GetLinesPerAction,(self,) + _args, _kwargs) + val = eventsc.wxMouseEvent_GetLinesPerAction(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_x" : @@ -383,10 +383,10 @@ class wxMouseEventPtr(wxEventPtr): return eventsc.wxMouseEvent_m_linesPerAction_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMouseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMouseEvent(wxMouseEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxMouseEvent,_args,_kwargs) + self.this = eventsc.new_wxMouseEvent(*_args,**_kwargs) self.thisown = 1 @@ -397,13 +397,13 @@ class wxMouseCaptureChangedEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetCapturedWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxMouseCaptureChangedEvent_GetCapturedWindow,(self,) + _args, _kwargs) + val = eventsc.wxMouseCaptureChangedEvent_GetCapturedWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMouseCaptureChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMouseCaptureChangedEvent(wxMouseCaptureChangedEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxMouseCaptureChangedEvent,_args,_kwargs) + self.this = eventsc.new_wxMouseCaptureChangedEvent(*_args,**_kwargs) self.thisown = 1 @@ -414,26 +414,26 @@ class wxSetCursorEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetX(self, *_args, **_kwargs): - val = apply(eventsc.wxSetCursorEvent_GetX,(self,) + _args, _kwargs) + val = eventsc.wxSetCursorEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(eventsc.wxSetCursorEvent_GetY,(self,) + _args, _kwargs) + val = eventsc.wxSetCursorEvent_GetY(self, *_args, **_kwargs) return val def SetCursor(self, *_args, **_kwargs): - val = apply(eventsc.wxSetCursorEvent_SetCursor,(self,) + _args, _kwargs) + val = eventsc.wxSetCursorEvent_SetCursor(self, *_args, **_kwargs) return val def GetCursor(self, *_args, **_kwargs): - val = apply(eventsc.wxSetCursorEvent_GetCursor,(self,) + _args, _kwargs) + val = eventsc.wxSetCursorEvent_GetCursor(self, *_args, **_kwargs) if val: val = wxCursorPtr(val) return val def HasCursor(self, *_args, **_kwargs): - val = apply(eventsc.wxSetCursorEvent_HasCursor,(self,) + _args, _kwargs) + val = eventsc.wxSetCursorEvent_HasCursor(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSetCursorEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSetCursorEvent(wxSetCursorEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxSetCursorEvent,_args,_kwargs) + self.this = eventsc.new_wxSetCursorEvent(*_args,**_kwargs) self.thisown = 1 @@ -444,41 +444,41 @@ class wxKeyEventPtr(wxEventPtr): self.this = this self.thisown = 0 def ControlDown(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_ControlDown,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_ControlDown(self, *_args, **_kwargs) return val def MetaDown(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_MetaDown,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_MetaDown(self, *_args, **_kwargs) return val def AltDown(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_AltDown,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_AltDown(self, *_args, **_kwargs) return val def ShiftDown(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_ShiftDown,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_ShiftDown(self, *_args, **_kwargs) return val def GetKeyCode(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetKeyCode,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetKeyCode(self, *_args, **_kwargs) return val def HasModifiers(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_HasModifiers,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_HasModifiers(self, *_args, **_kwargs) return val def GetRawKeyCode(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetRawKeyCode,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetRawKeyCode(self, *_args, **_kwargs) return val def GetRawKeyFlags(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetRawKeyFlags,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetRawKeyFlags(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetX,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetY,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetY(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetPositionTuple(self, *_args, **_kwargs): - val = apply(eventsc.wxKeyEvent_GetPositionTuple,(self,) + _args, _kwargs) + val = eventsc.wxKeyEvent_GetPositionTuple(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_x" : @@ -535,11 +535,11 @@ class wxKeyEventPtr(wxEventPtr): return eventsc.wxKeyEvent_m_rawFlags_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) KeyCode = GetKeyCode class wxKeyEvent(wxKeyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxKeyEvent,_args,_kwargs) + self.this = eventsc.new_wxKeyEvent(*_args,**_kwargs) self.thisown = 1 @@ -550,28 +550,28 @@ class wxNavigationKeyEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetDirection(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_GetDirection,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_GetDirection(self, *_args, **_kwargs) return val def SetDirection(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_SetDirection,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_SetDirection(self, *_args, **_kwargs) return val def IsWindowChange(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_IsWindowChange,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_IsWindowChange(self, *_args, **_kwargs) return val def SetWindowChange(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_SetWindowChange,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_SetWindowChange(self, *_args, **_kwargs) return val def GetCurrentFocus(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_GetCurrentFocus,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_GetCurrentFocus(self, *_args, **_kwargs) return val def SetCurrentFocus(self, *_args, **_kwargs): - val = apply(eventsc.wxNavigationKeyEvent_SetCurrentFocus,(self,) + _args, _kwargs) + val = eventsc.wxNavigationKeyEvent_SetCurrentFocus(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNavigationKeyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNavigationKeyEvent(wxNavigationKeyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxNavigationKeyEvent,_args,_kwargs) + self.this = eventsc.new_wxNavigationKeyEvent(*_args,**_kwargs) self.thisown = 1 @@ -582,14 +582,14 @@ class wxMoveEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxMoveEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxMoveEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMoveEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMoveEvent(wxMoveEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxMoveEvent,_args,_kwargs) + self.this = eventsc.new_wxMoveEvent(*_args,**_kwargs) self.thisown = 1 @@ -600,10 +600,10 @@ class wxPaintEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPaintEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPaintEvent(wxPaintEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxPaintEvent,_args,_kwargs) + self.this = eventsc.new_wxPaintEvent(*_args,**_kwargs) self.thisown = 1 @@ -614,13 +614,13 @@ class wxEraseEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetDC(self, *_args, **_kwargs): - val = apply(eventsc.wxEraseEvent_GetDC,(self,) + _args, _kwargs) + val = eventsc.wxEraseEvent_GetDC(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEraseEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxEraseEvent(wxEraseEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxEraseEvent,_args,_kwargs) + self.this = eventsc.new_wxEraseEvent(*_args,**_kwargs) self.thisown = 1 @@ -631,10 +631,10 @@ class wxFocusEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFocusEvent(wxFocusEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxFocusEvent,_args,_kwargs) + self.this = eventsc.new_wxFocusEvent(*_args,**_kwargs) self.thisown = 1 @@ -645,13 +645,13 @@ class wxChildFocusEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxChildFocusEvent_GetWindow,(self,) + _args, _kwargs) + val = eventsc.wxChildFocusEvent_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxChildFocusEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxChildFocusEvent(wxChildFocusEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxChildFocusEvent,_args,_kwargs) + self.this = eventsc.new_wxChildFocusEvent(*_args,**_kwargs) self.thisown = 1 @@ -662,13 +662,13 @@ class wxActivateEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetActive(self, *_args, **_kwargs): - val = apply(eventsc.wxActivateEvent_GetActive,(self,) + _args, _kwargs) + val = eventsc.wxActivateEvent_GetActive(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxActivateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxActivateEvent(wxActivateEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxActivateEvent,_args,_kwargs) + self.this = eventsc.new_wxActivateEvent(*_args,**_kwargs) self.thisown = 1 @@ -679,10 +679,10 @@ class wxInitDialogEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxInitDialogEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxInitDialogEvent(wxInitDialogEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxInitDialogEvent,_args,_kwargs) + self.this = eventsc.new_wxInitDialogEvent(*_args,**_kwargs) self.thisown = 1 @@ -693,16 +693,16 @@ class wxMenuEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetMenuId(self, *_args, **_kwargs): - val = apply(eventsc.wxMenuEvent_GetMenuId,(self,) + _args, _kwargs) + val = eventsc.wxMenuEvent_GetMenuId(self, *_args, **_kwargs) return val def IsPopup(self, *_args, **_kwargs): - val = apply(eventsc.wxMenuEvent_IsPopup,(self,) + _args, _kwargs) + val = eventsc.wxMenuEvent_IsPopup(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMenuEvent(wxMenuEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxMenuEvent,_args,_kwargs) + self.this = eventsc.new_wxMenuEvent(*_args,**_kwargs) self.thisown = 1 @@ -713,16 +713,16 @@ class wxShowEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetShow(self, *_args, **_kwargs): - val = apply(eventsc.wxShowEvent_SetShow,(self,) + _args, _kwargs) + val = eventsc.wxShowEvent_SetShow(self, *_args, **_kwargs) return val def GetShow(self, *_args, **_kwargs): - val = apply(eventsc.wxShowEvent_GetShow,(self,) + _args, _kwargs) + val = eventsc.wxShowEvent_GetShow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxShowEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxShowEvent(wxShowEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxShowEvent,_args,_kwargs) + self.this = eventsc.new_wxShowEvent(*_args,**_kwargs) self.thisown = 1 @@ -733,13 +733,13 @@ class wxIconizeEventPtr(wxEventPtr): self.this = this self.thisown = 0 def Iconized(self, *_args, **_kwargs): - val = apply(eventsc.wxIconizeEvent_Iconized,(self,) + _args, _kwargs) + val = eventsc.wxIconizeEvent_Iconized(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIconizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxIconizeEvent(wxIconizeEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxIconizeEvent,_args,_kwargs) + self.this = eventsc.new_wxIconizeEvent(*_args,**_kwargs) self.thisown = 1 @@ -750,10 +750,10 @@ class wxMaximizeEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMaximizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMaximizeEvent(wxMaximizeEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxMaximizeEvent,_args,_kwargs) + self.this = eventsc.new_wxMaximizeEvent(*_args,**_kwargs) self.thisown = 1 @@ -764,59 +764,59 @@ class wxJoystickEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetZPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_GetZPosition,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_GetZPosition(self, *_args, **_kwargs) return val def GetButtonState(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_GetButtonState,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_GetButtonState(self, *_args, **_kwargs) return val def GetButtonChange(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_GetButtonChange,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_GetButtonChange(self, *_args, **_kwargs) return val def GetJoystick(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_GetJoystick,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_GetJoystick(self, *_args, **_kwargs) return val def SetJoystick(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_SetJoystick,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_SetJoystick(self, *_args, **_kwargs) return val def SetButtonState(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_SetButtonState,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_SetButtonState(self, *_args, **_kwargs) return val def SetButtonChange(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_SetButtonChange,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_SetButtonChange(self, *_args, **_kwargs) return val def SetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_SetPosition,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_SetPosition(self, *_args, **_kwargs) return val def SetZPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_SetZPosition,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_SetZPosition(self, *_args, **_kwargs) return val def IsButton(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_IsButton,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_IsButton(self, *_args, **_kwargs) return val def IsMove(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_IsMove,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_IsMove(self, *_args, **_kwargs) return val def IsZMove(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_IsZMove,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_IsZMove(self, *_args, **_kwargs) return val def ButtonDown(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_ButtonDown,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_ButtonDown(self, *_args, **_kwargs) return val def ButtonUp(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_ButtonUp,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_ButtonUp(self, *_args, **_kwargs) return val def ButtonIsDown(self, *_args, **_kwargs): - val = apply(eventsc.wxJoystickEvent_ButtonIsDown,(self,) + _args, _kwargs) + val = eventsc.wxJoystickEvent_ButtonIsDown(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxJoystickEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxJoystickEvent(wxJoystickEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxJoystickEvent,_args,_kwargs) + self.this = eventsc.new_wxJoystickEvent(*_args,**_kwargs) self.thisown = 1 @@ -827,17 +827,17 @@ class wxDropFilesEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxDropFilesEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxDropFilesEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetNumberOfFiles(self, *_args, **_kwargs): - val = apply(eventsc.wxDropFilesEvent_GetNumberOfFiles,(self,) + _args, _kwargs) + val = eventsc.wxDropFilesEvent_GetNumberOfFiles(self, *_args, **_kwargs) return val def GetFiles(self, *_args, **_kwargs): - val = apply(eventsc.wxDropFilesEvent_GetFiles,(self,) + _args, _kwargs) + val = eventsc.wxDropFilesEvent_GetFiles(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDropFilesEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDropFilesEvent(wxDropFilesEventPtr): def __init__(self,this): self.this = this @@ -850,16 +850,16 @@ class wxIdleEventPtr(wxEventPtr): self.this = this self.thisown = 0 def RequestMore(self, *_args, **_kwargs): - val = apply(eventsc.wxIdleEvent_RequestMore,(self,) + _args, _kwargs) + val = eventsc.wxIdleEvent_RequestMore(self, *_args, **_kwargs) return val def MoreRequested(self, *_args, **_kwargs): - val = apply(eventsc.wxIdleEvent_MoreRequested,(self,) + _args, _kwargs) + val = eventsc.wxIdleEvent_MoreRequested(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIdleEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxIdleEvent(wxIdleEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxIdleEvent,_args,_kwargs) + self.this = eventsc.new_wxIdleEvent(*_args,**_kwargs) self.thisown = 1 @@ -870,37 +870,37 @@ class wxUpdateUIEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetChecked(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetChecked,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetChecked(self, *_args, **_kwargs) return val def GetEnabled(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetEnabled,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetEnabled(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetText,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetText(self, *_args, **_kwargs) return val def GetSetText(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetSetText,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetSetText(self, *_args, **_kwargs) return val def GetSetChecked(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetSetChecked,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetSetChecked(self, *_args, **_kwargs) return val def GetSetEnabled(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_GetSetEnabled,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_GetSetEnabled(self, *_args, **_kwargs) return val def Check(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_Check,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_Check(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_Enable,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_Enable(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(eventsc.wxUpdateUIEvent_SetText,(self,) + _args, _kwargs) + val = eventsc.wxUpdateUIEvent_SetText(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxUpdateUIEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxUpdateUIEvent(wxUpdateUIEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxUpdateUIEvent,_args,_kwargs) + self.this = eventsc.new_wxUpdateUIEvent(*_args,**_kwargs) self.thisown = 1 @@ -911,10 +911,10 @@ class wxSysColourChangedEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSysColourChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSysColourChangedEvent(wxSysColourChangedEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxSysColourChangedEvent,_args,_kwargs) + self.this = eventsc.new_wxSysColourChangedEvent(*_args,**_kwargs) self.thisown = 1 @@ -925,19 +925,19 @@ class wxNotifyEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def IsAllowed(self, *_args, **_kwargs): - val = apply(eventsc.wxNotifyEvent_IsAllowed,(self,) + _args, _kwargs) + val = eventsc.wxNotifyEvent_IsAllowed(self, *_args, **_kwargs) return val def Allow(self, *_args, **_kwargs): - val = apply(eventsc.wxNotifyEvent_Allow,(self,) + _args, _kwargs) + val = eventsc.wxNotifyEvent_Allow(self, *_args, **_kwargs) return val def Veto(self, *_args, **_kwargs): - val = apply(eventsc.wxNotifyEvent_Veto,(self,) + _args, _kwargs) + val = eventsc.wxNotifyEvent_Veto(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNotifyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNotifyEvent(wxNotifyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxNotifyEvent,_args,_kwargs) + self.this = eventsc.new_wxNotifyEvent(*_args,**_kwargs) self.thisown = 1 @@ -948,10 +948,10 @@ class wxDisplayChangedEventPtr(wxEventPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDisplayChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDisplayChangedEvent(wxDisplayChangedEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxDisplayChangedEvent,_args,_kwargs) + self.this = eventsc.new_wxDisplayChangedEvent(*_args,**_kwargs) self.thisown = 1 @@ -962,16 +962,16 @@ class wxPaletteChangedEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetChangedWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxPaletteChangedEvent_SetChangedWindow,(self,) + _args, _kwargs) + val = eventsc.wxPaletteChangedEvent_SetChangedWindow(self, *_args, **_kwargs) return val def GetChangedWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxPaletteChangedEvent_GetChangedWindow,(self,) + _args, _kwargs) + val = eventsc.wxPaletteChangedEvent_GetChangedWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPaletteChangedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPaletteChangedEvent(wxPaletteChangedEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxPaletteChangedEvent,_args,_kwargs) + self.this = eventsc.new_wxPaletteChangedEvent(*_args,**_kwargs) self.thisown = 1 @@ -982,16 +982,16 @@ class wxQueryNewPaletteEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetPaletteRealized(self, *_args, **_kwargs): - val = apply(eventsc.wxQueryNewPaletteEvent_SetPaletteRealized,(self,) + _args, _kwargs) + val = eventsc.wxQueryNewPaletteEvent_SetPaletteRealized(self, *_args, **_kwargs) return val def GetPaletteRealized(self, *_args, **_kwargs): - val = apply(eventsc.wxQueryNewPaletteEvent_GetPaletteRealized,(self,) + _args, _kwargs) + val = eventsc.wxQueryNewPaletteEvent_GetPaletteRealized(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxQueryNewPaletteEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxQueryNewPaletteEvent(wxQueryNewPaletteEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxQueryNewPaletteEvent,_args,_kwargs) + self.this = eventsc.new_wxQueryNewPaletteEvent(*_args,**_kwargs) self.thisown = 1 @@ -1002,13 +1002,13 @@ class wxWindowCreateEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxWindowCreateEvent_GetWindow,(self,) + _args, _kwargs) + val = eventsc.wxWindowCreateEvent_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWindowCreateEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWindowCreateEvent(wxWindowCreateEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxWindowCreateEvent,_args,_kwargs) + self.this = eventsc.new_wxWindowCreateEvent(*_args,**_kwargs) self.thisown = 1 @@ -1019,13 +1019,13 @@ class wxWindowDestroyEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetWindow(self, *_args, **_kwargs): - val = apply(eventsc.wxWindowDestroyEvent_GetWindow,(self,) + _args, _kwargs) + val = eventsc.wxWindowDestroyEvent_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWindowDestroyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWindowDestroyEvent(wxWindowDestroyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxWindowDestroyEvent,_args,_kwargs) + self.this = eventsc.new_wxWindowDestroyEvent(*_args,**_kwargs) self.thisown = 1 @@ -1036,17 +1036,17 @@ class wxContextMenuEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxContextMenuEvent_GetPosition,(self,) + _args, _kwargs) + val = eventsc.wxContextMenuEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) return val def SetPosition(self, *_args, **_kwargs): - val = apply(eventsc.wxContextMenuEvent_SetPosition,(self,) + _args, _kwargs) + val = eventsc.wxContextMenuEvent_SetPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxContextMenuEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxContextMenuEvent(wxContextMenuEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxContextMenuEvent,_args,_kwargs) + self.this = eventsc.new_wxContextMenuEvent(*_args,**_kwargs) self.thisown = 1 @@ -1057,13 +1057,13 @@ class wxTimerEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetInterval(self, *_args, **_kwargs): - val = apply(eventsc.wxTimerEvent_GetInterval,(self,) + _args, _kwargs) + val = eventsc.wxTimerEvent_GetInterval(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTimerEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTimerEvent(wxTimerEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxTimerEvent,_args,_kwargs) + self.this = eventsc.new_wxTimerEvent(*_args,**_kwargs) self.thisown = 1 @@ -1074,19 +1074,19 @@ class wxTextUrlEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetMouseEvent(self, *_args, **_kwargs): - val = apply(eventsc.wxTextUrlEvent_GetMouseEvent,(self,) + _args, _kwargs) + val = eventsc.wxTextUrlEvent_GetMouseEvent(self, *_args, **_kwargs) return val def GetURLStart(self, *_args, **_kwargs): - val = apply(eventsc.wxTextUrlEvent_GetURLStart,(self,) + _args, _kwargs) + val = eventsc.wxTextUrlEvent_GetURLStart(self, *_args, **_kwargs) return val def GetURLEnd(self, *_args, **_kwargs): - val = apply(eventsc.wxTextUrlEvent_GetURLEnd,(self,) + _args, _kwargs) + val = eventsc.wxTextUrlEvent_GetURLEnd(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTextUrlEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTextUrlEvent(wxTextUrlEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxTextUrlEvent,_args,_kwargs) + self.this = eventsc.new_wxTextUrlEvent(*_args,**_kwargs) self.thisown = 1 @@ -1103,16 +1103,16 @@ class wxPyEventPtr(wxEventPtr): except: pass def SetSelf(self, *_args, **_kwargs): - val = apply(eventsc.wxPyEvent_SetSelf,(self,) + _args, _kwargs) + val = eventsc.wxPyEvent_SetSelf(self, *_args, **_kwargs) return val def GetSelf(self, *_args, **_kwargs): - val = apply(eventsc.wxPyEvent_GetSelf,(self,) + _args, _kwargs) + val = eventsc.wxPyEvent_GetSelf(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyEvent(wxPyEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxPyEvent,_args,_kwargs) + self.this = eventsc.new_wxPyEvent(*_args,**_kwargs) self.thisown = 1 self.SetSelf(self) @@ -1130,16 +1130,16 @@ class wxPyCommandEventPtr(wxCommandEventPtr): except: pass def SetSelf(self, *_args, **_kwargs): - val = apply(eventsc.wxPyCommandEvent_SetSelf,(self,) + _args, _kwargs) + val = eventsc.wxPyCommandEvent_SetSelf(self, *_args, **_kwargs) return val def GetSelf(self, *_args, **_kwargs): - val = apply(eventsc.wxPyCommandEvent_GetSelf,(self,) + _args, _kwargs) + val = eventsc.wxPyCommandEvent_GetSelf(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyCommandEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyCommandEvent(wxPyCommandEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(eventsc.new_wxPyCommandEvent,_args,_kwargs) + self.this = eventsc.new_wxPyCommandEvent(*_args,**_kwargs) self.thisown = 1 self.SetSelf(self) diff --git a/wxPython/src/gtk/filesys.py b/wxPython/src/gtk/filesys.py index 8950e6059b..9605ded1e0 100644 --- a/wxPython/src/gtk/filesys.py +++ b/wxPython/src/gtk/filesys.py @@ -30,26 +30,26 @@ class wxFSFilePtr(wxObjectPtr): self.this = this self.thisown = 0 def GetStream(self, *_args, **_kwargs): - val = apply(filesysc.wxFSFile_GetStream,(self,) + _args, _kwargs) + val = filesysc.wxFSFile_GetStream(self, *_args, **_kwargs) return val def GetMimeType(self, *_args, **_kwargs): - val = apply(filesysc.wxFSFile_GetMimeType,(self,) + _args, _kwargs) + val = filesysc.wxFSFile_GetMimeType(self, *_args, **_kwargs) return val def GetLocation(self, *_args, **_kwargs): - val = apply(filesysc.wxFSFile_GetLocation,(self,) + _args, _kwargs) + val = filesysc.wxFSFile_GetLocation(self, *_args, **_kwargs) return val def GetAnchor(self, *_args, **_kwargs): - val = apply(filesysc.wxFSFile_GetAnchor,(self,) + _args, _kwargs) + val = filesysc.wxFSFile_GetAnchor(self, *_args, **_kwargs) return val def GetModificationTime(self, *_args, **_kwargs): - val = apply(filesysc.wxFSFile_GetModificationTime,(self,) + _args, _kwargs) + val = filesysc.wxFSFile_GetModificationTime(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFSFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFSFile(wxFSFilePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxFSFile,_args,_kwargs) + self.this = filesysc.new_wxFSFile(*_args,**_kwargs) self.thisown = 1 @@ -60,7 +60,7 @@ class wxCPPFileSystemHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCPPFileSystemHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCPPFileSystemHandler(wxCPPFileSystemHandlerPtr): def __init__(self,this): self.this = this @@ -73,40 +73,40 @@ class wxFileSystemHandlerPtr(wxCPPFileSystemHandlerPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler__setCallbackInfo,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler__setCallbackInfo(self, *_args, **_kwargs) return val def CanOpen(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_CanOpen,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_CanOpen(self, *_args, **_kwargs) return val def OpenFile(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_OpenFile,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_OpenFile(self, *_args, **_kwargs) return val def FindFirst(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_FindFirst,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_FindFirst(self, *_args, **_kwargs) return val def FindNext(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_FindNext,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_FindNext(self, *_args, **_kwargs) return val def GetProtocol(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_GetProtocol,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_GetProtocol(self, *_args, **_kwargs) return val def GetLeftLocation(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_GetLeftLocation,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_GetLeftLocation(self, *_args, **_kwargs) return val def GetAnchor(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_GetAnchor,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_GetAnchor(self, *_args, **_kwargs) return val def GetRightLocation(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_GetRightLocation,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_GetRightLocation(self, *_args, **_kwargs) return val def GetMimeTypeFromExt(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystemHandler_GetMimeTypeFromExt,(self,) + _args, _kwargs) + val = filesysc.wxFileSystemHandler_GetMimeTypeFromExt(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileSystemHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileSystemHandler(wxFileSystemHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxFileSystemHandler,_args,_kwargs) + self.this = filesysc.new_wxFileSystemHandler(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxFileSystemHandler) @@ -118,25 +118,25 @@ class wxFileSystemPtr(wxObjectPtr): self.this = this self.thisown = 0 def ChangePathTo(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystem_ChangePathTo,(self,) + _args, _kwargs) + val = filesysc.wxFileSystem_ChangePathTo(self, *_args, **_kwargs) return val def GetPath(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystem_GetPath,(self,) + _args, _kwargs) + val = filesysc.wxFileSystem_GetPath(self, *_args, **_kwargs) return val def OpenFile(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystem_OpenFile,(self,) + _args, _kwargs) + val = filesysc.wxFileSystem_OpenFile(self, *_args, **_kwargs) return val def FindFirst(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystem_FindFirst,(self,) + _args, _kwargs) + val = filesysc.wxFileSystem_FindFirst(self, *_args, **_kwargs) return val def FindNext(self, *_args, **_kwargs): - val = apply(filesysc.wxFileSystem_FindNext,(self,) + _args, _kwargs) + val = filesysc.wxFileSystem_FindNext(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileSystem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileSystem(wxFileSystemPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxFileSystem,_args,_kwargs) + self.this = filesysc.new_wxFileSystem(*_args,**_kwargs) self.thisown = 1 @@ -147,16 +147,16 @@ class wxInternetFSHandlerPtr(wxCPPFileSystemHandlerPtr): self.this = this self.thisown = 0 def CanOpen(self, *_args, **_kwargs): - val = apply(filesysc.wxInternetFSHandler_CanOpen,(self,) + _args, _kwargs) + val = filesysc.wxInternetFSHandler_CanOpen(self, *_args, **_kwargs) return val def OpenFile(self, *_args, **_kwargs): - val = apply(filesysc.wxInternetFSHandler_OpenFile,(self,) + _args, _kwargs) + val = filesysc.wxInternetFSHandler_OpenFile(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxInternetFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxInternetFSHandler(wxInternetFSHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxInternetFSHandler,_args,_kwargs) + self.this = filesysc.new_wxInternetFSHandler(*_args,**_kwargs) self.thisown = 1 @@ -167,22 +167,22 @@ class wxZipFSHandlerPtr(wxCPPFileSystemHandlerPtr): self.this = this self.thisown = 0 def CanOpen(self, *_args, **_kwargs): - val = apply(filesysc.wxZipFSHandler_CanOpen,(self,) + _args, _kwargs) + val = filesysc.wxZipFSHandler_CanOpen(self, *_args, **_kwargs) return val def OpenFile(self, *_args, **_kwargs): - val = apply(filesysc.wxZipFSHandler_OpenFile,(self,) + _args, _kwargs) + val = filesysc.wxZipFSHandler_OpenFile(self, *_args, **_kwargs) return val def FindFirst(self, *_args, **_kwargs): - val = apply(filesysc.wxZipFSHandler_FindFirst,(self,) + _args, _kwargs) + val = filesysc.wxZipFSHandler_FindFirst(self, *_args, **_kwargs) return val def FindNext(self, *_args, **_kwargs): - val = apply(filesysc.wxZipFSHandler_FindNext,(self,) + _args, _kwargs) + val = filesysc.wxZipFSHandler_FindNext(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxZipFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxZipFSHandler(wxZipFSHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxZipFSHandler,_args,_kwargs) + self.this = filesysc.new_wxZipFSHandler(*_args,**_kwargs) self.thisown = 1 @@ -193,22 +193,22 @@ class wxMemoryFSHandlerPtr(wxCPPFileSystemHandlerPtr): self.this = this self.thisown = 0 def CanOpen(self, *_args, **_kwargs): - val = apply(filesysc.wxMemoryFSHandler_CanOpen,(self,) + _args, _kwargs) + val = filesysc.wxMemoryFSHandler_CanOpen(self, *_args, **_kwargs) return val def OpenFile(self, *_args, **_kwargs): - val = apply(filesysc.wxMemoryFSHandler_OpenFile,(self,) + _args, _kwargs) + val = filesysc.wxMemoryFSHandler_OpenFile(self, *_args, **_kwargs) return val def FindFirst(self, *_args, **_kwargs): - val = apply(filesysc.wxMemoryFSHandler_FindFirst,(self,) + _args, _kwargs) + val = filesysc.wxMemoryFSHandler_FindFirst(self, *_args, **_kwargs) return val def FindNext(self, *_args, **_kwargs): - val = apply(filesysc.wxMemoryFSHandler_FindNext,(self,) + _args, _kwargs) + val = filesysc.wxMemoryFSHandler_FindNext(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMemoryFSHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMemoryFSHandler(wxMemoryFSHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(filesysc.new_wxMemoryFSHandler,_args,_kwargs) + self.this = filesysc.new_wxMemoryFSHandler(*_args,**_kwargs) self.thisown = 1 diff --git a/wxPython/src/gtk/fonts.py b/wxPython/src/gtk/fonts.py index 2b3782ef93..82c50f821c 100644 --- a/wxPython/src/gtk/fonts.py +++ b/wxPython/src/gtk/fonts.py @@ -7,70 +7,70 @@ class wxNativeFontInfoPtr : self.this = this self.thisown = 0 def Init(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_Init,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_Init(self, *_args, **_kwargs) return val def GetPointSize(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetPointSize,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetPointSize(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetStyle,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetStyle(self, *_args, **_kwargs) return val def GetWeight(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetWeight,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetWeight(self, *_args, **_kwargs) return val def GetUnderlined(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetUnderlined,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetUnderlined(self, *_args, **_kwargs) return val def GetFaceName(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetFaceName,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetFaceName(self, *_args, **_kwargs) return val def GetFamily(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetFamily,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetFamily(self, *_args, **_kwargs) return val def GetEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_GetEncoding,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_GetEncoding(self, *_args, **_kwargs) return val def SetPointSize(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetPointSize,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetPointSize(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetStyle,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetStyle(self, *_args, **_kwargs) return val def SetWeight(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetWeight,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetWeight(self, *_args, **_kwargs) return val def SetUnderlined(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetUnderlined,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetUnderlined(self, *_args, **_kwargs) return val def SetFaceName(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetFaceName,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetFaceName(self, *_args, **_kwargs) return val def SetFamily(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetFamily,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetFamily(self, *_args, **_kwargs) return val def SetEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_SetEncoding,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_SetEncoding(self, *_args, **_kwargs) return val def FromString(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_FromString,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_FromString(self, *_args, **_kwargs) return val def ToString(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_ToString,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_ToString(self, *_args, **_kwargs) return val def __str__(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo___str__,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo___str__(self, *_args, **_kwargs) return val def FromUserString(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_FromUserString,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_FromUserString(self, *_args, **_kwargs) return val def ToUserString(self, *_args, **_kwargs): - val = apply(fontsc.wxNativeFontInfo_ToUserString,(self,) + _args, _kwargs) + val = fontsc.wxNativeFontInfo_ToUserString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNativeFontInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNativeFontInfo(wxNativeFontInfoPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxNativeFontInfo,_args,_kwargs) + self.this = fontsc.new_wxNativeFontInfo(*_args,**_kwargs) self.thisown = 1 @@ -87,31 +87,31 @@ class wxFontMapperPtr : except: pass def GetAltForEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_GetAltForEncoding,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_GetAltForEncoding(self, *_args, **_kwargs) return val def IsEncodingAvailable(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_IsEncodingAvailable,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_IsEncodingAvailable(self, *_args, **_kwargs) return val def CharsetToEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_CharsetToEncoding,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_CharsetToEncoding(self, *_args, **_kwargs) return val def SetDialogParent(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_SetDialogParent,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_SetDialogParent(self, *_args, **_kwargs) return val def SetDialogTitle(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_SetDialogTitle,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_SetDialogTitle(self, *_args, **_kwargs) return val def SetConfig(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_SetConfig,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_SetConfig(self, *_args, **_kwargs) return val def SetConfigPath(self, *_args, **_kwargs): - val = apply(fontsc.wxFontMapper_SetConfigPath,(self,) + _args, _kwargs) + val = fontsc.wxFontMapper_SetConfigPath(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFontMapper instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFontMapper(wxFontMapperPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxFontMapper,_args,_kwargs) + self.this = fontsc.new_wxFontMapper(*_args,**_kwargs) self.thisown = 1 @@ -122,7 +122,7 @@ class wxFontPtr(wxObjectPtr): self.this = this self.thisown = 0 def wxFontFromNativeInfoString(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_wxFontFromNativeInfoString,(self,) + _args, _kwargs) + val = fontsc.wxFont_wxFontFromNativeInfoString(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def __del__(self, delfunc=fontsc.delete_wxFont): @@ -132,95 +132,96 @@ class wxFontPtr(wxObjectPtr): except: pass def Ok(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_Ok,(self,) + _args, _kwargs) + val = fontsc.wxFont_Ok(self, *_args, **_kwargs) return val def GetPointSize(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetPointSize,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetPointSize(self, *_args, **_kwargs) return val def GetFamily(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetFamily,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetFamily(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetStyle,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetStyle(self, *_args, **_kwargs) return val def GetWeight(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetWeight,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetWeight(self, *_args, **_kwargs) return val def GetUnderlined(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetUnderlined,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetUnderlined(self, *_args, **_kwargs) return val def GetFaceName(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetFaceName,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetFaceName(self, *_args, **_kwargs) return val def GetEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetEncoding,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetEncoding(self, *_args, **_kwargs) return val def IsFixedWidth(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_IsFixedWidth,(self,) + _args, _kwargs) + val = fontsc.wxFont_IsFixedWidth(self, *_args, **_kwargs) return val def GetNativeFontInfo(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetNativeFontInfo,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetNativeFontInfo(self, *_args, **_kwargs) if val: val = wxNativeFontInfoPtr(val) return val def GetNativeFontInfoDesc(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetNativeFontInfoDesc,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetNativeFontInfoDesc(self, *_args, **_kwargs) return val def GetNativeFontInfoUserDesc(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetNativeFontInfoUserDesc,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetNativeFontInfoUserDesc(self, *_args, **_kwargs) return val def SetPointSize(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetPointSize,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetPointSize(self, *_args, **_kwargs) return val def SetFamily(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetFamily,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetFamily(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetStyle,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetStyle(self, *_args, **_kwargs) return val def SetWeight(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetWeight,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetWeight(self, *_args, **_kwargs) return val def SetFaceName(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetFaceName,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetFaceName(self, *_args, **_kwargs) return val def SetUnderlined(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetUnderlined,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetUnderlined(self, *_args, **_kwargs) return val def SetEncoding(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetEncoding,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetEncoding(self, *_args, **_kwargs) return val def SetNativeFontInfo(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetNativeFontInfo,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetNativeFontInfo(self, *_args, **_kwargs) return val def SetNativeFontInfoUserDesc(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetNativeFontInfoUserDesc,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetNativeFontInfoUserDesc(self, *_args, **_kwargs) return val def GetFamilyString(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetFamilyString,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetFamilyString(self, *_args, **_kwargs) return val def GetStyleString(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetStyleString,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetStyleString(self, *_args, **_kwargs) return val def GetWeightString(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetWeightString,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetWeightString(self, *_args, **_kwargs) return val def SetNoAntiAliasing(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_SetNoAntiAliasing,(self,) + _args, _kwargs) + val = fontsc.wxFont_SetNoAntiAliasing(self, *_args, **_kwargs) return val def GetNoAntiAliasing(self, *_args, **_kwargs): - val = apply(fontsc.wxFont_GetNoAntiAliasing,(self,) + _args, _kwargs) + val = fontsc.wxFont_GetNoAntiAliasing(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFont instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxFont(wxFontPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxFont,_args,_kwargs) + self.this = fontsc.new_wxFont(*_args,**_kwargs) self.thisown = 1 def wxFontFromNativeInfo(*_args,**_kwargs): - val = wxFontPtr(apply(fontsc.new_wxFontFromNativeInfo,_args,_kwargs)) + val = wxFontPtr(fontsc.new_wxFontFromNativeInfo(*_args,**_kwargs)) val.thisown = 1 return val @@ -230,20 +231,20 @@ class wxFontListPtr(wxObjectPtr): self.this = this self.thisown = 0 def AddFont(self, *_args, **_kwargs): - val = apply(fontsc.wxFontList_AddFont,(self,) + _args, _kwargs) + val = fontsc.wxFontList_AddFont(self, *_args, **_kwargs) return val def FindOrCreateFont(self, *_args, **_kwargs): - val = apply(fontsc.wxFontList_FindOrCreateFont,(self,) + _args, _kwargs) + val = fontsc.wxFontList_FindOrCreateFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) return val def RemoveFont(self, *_args, **_kwargs): - val = apply(fontsc.wxFontList_RemoveFont,(self,) + _args, _kwargs) + val = fontsc.wxFontList_RemoveFont(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(fontsc.wxFontList_GetCount,(self,) + _args, _kwargs) + val = fontsc.wxFontList_GetCount(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFontList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFontList(wxFontListPtr): def __init__(self,this): self.this = this @@ -262,25 +263,25 @@ class wxFontEnumeratorPtr : except: pass def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(fontsc.wxFontEnumerator__setCallbackInfo,(self,) + _args, _kwargs) + val = fontsc.wxFontEnumerator__setCallbackInfo(self, *_args, **_kwargs) return val def EnumerateFacenames(self, *_args, **_kwargs): - val = apply(fontsc.wxFontEnumerator_EnumerateFacenames,(self,) + _args, _kwargs) + val = fontsc.wxFontEnumerator_EnumerateFacenames(self, *_args, **_kwargs) return val def EnumerateEncodings(self, *_args, **_kwargs): - val = apply(fontsc.wxFontEnumerator_EnumerateEncodings,(self,) + _args, _kwargs) + val = fontsc.wxFontEnumerator_EnumerateEncodings(self, *_args, **_kwargs) return val def GetEncodings(self, *_args, **_kwargs): - val = apply(fontsc.wxFontEnumerator_GetEncodings,(self,) + _args, _kwargs) + val = fontsc.wxFontEnumerator_GetEncodings(self, *_args, **_kwargs) return val def GetFacenames(self, *_args, **_kwargs): - val = apply(fontsc.wxFontEnumerator_GetFacenames,(self,) + _args, _kwargs) + val = fontsc.wxFontEnumerator_GetFacenames(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFontEnumerator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFontEnumerator(wxFontEnumeratorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxFontEnumerator,_args,_kwargs) + self.this = fontsc.new_wxFontEnumerator(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxFontEnumerator, 0) @@ -311,7 +312,7 @@ class wxLanguageInfoPtr : return fontsc.wxLanguageInfo_Description_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLanguageInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLanguageInfo(wxLanguageInfoPtr): def __init__(self,this): self.this = this @@ -330,51 +331,51 @@ class wxLocalePtr : except: pass def Init1(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_Init1,(self,) + _args, _kwargs) + val = fontsc.wxLocale_Init1(self, *_args, **_kwargs) return val def Init2(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_Init2,(self,) + _args, _kwargs) + val = fontsc.wxLocale_Init2(self, *_args, **_kwargs) return val def IsOk(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_IsOk,(self,) + _args, _kwargs) + val = fontsc.wxLocale_IsOk(self, *_args, **_kwargs) return val def GetLocale(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetLocale,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetLocale(self, *_args, **_kwargs) return val def GetLanguage(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetLanguage,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetLanguage(self, *_args, **_kwargs) return val def GetSysName(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetSysName,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetSysName(self, *_args, **_kwargs) return val def GetCanonicalName(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetCanonicalName,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetCanonicalName(self, *_args, **_kwargs) return val def AddCatalog(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_AddCatalog,(self,) + _args, _kwargs) + val = fontsc.wxLocale_AddCatalog(self, *_args, **_kwargs) return val def IsLoaded(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_IsLoaded,(self,) + _args, _kwargs) + val = fontsc.wxLocale_IsLoaded(self, *_args, **_kwargs) return val def GetString(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetString,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetString(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(fontsc.wxLocale_GetName,(self,) + _args, _kwargs) + val = fontsc.wxLocale_GetName(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLocale instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def Init(self, *_args, **_kwargs): if type(_args[0]) in [type(''), type(u'')]: - val = apply(self.Init1, _args, _kwargs) + val = self.Init1(*_args, **_kwargs) else: - val = apply(self.Init2, _args, _kwargs) + val = self.Init2(*_args, **_kwargs) return val class wxLocale(wxLocalePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxLocale,_args,_kwargs) + self.this = fontsc.new_wxLocale(*_args,**_kwargs) self.thisown = 1 @@ -391,16 +392,17 @@ class wxEncodingConverterPtr(wxObjectPtr): except: pass def Init(self, *_args, **_kwargs): - val = apply(fontsc.wxEncodingConverter_Init,(self,) + _args, _kwargs) + val = fontsc.wxEncodingConverter_Init(self, *_args, **_kwargs) return val def Convert(self, *_args, **_kwargs): - val = apply(fontsc.wxEncodingConverter_Convert,(self,) + _args, _kwargs) + val = fontsc.wxEncodingConverter_Convert(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEncodingConverter instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.IsOk() class wxEncodingConverter(wxEncodingConverterPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(fontsc.new_wxEncodingConverter,_args,_kwargs) + self.this = fontsc.new_wxEncodingConverter(*_args,**_kwargs) self.thisown = 1 @@ -411,19 +413,19 @@ class wxEncodingConverter(wxEncodingConverterPtr): #-------------- FUNCTION WRAPPERS ------------------ def wxGetLocale(*_args, **_kwargs): - val = apply(fontsc.wxGetLocale,_args,_kwargs) + val = fontsc.wxGetLocale(*_args,**_kwargs) if val: val = wxLocalePtr(val) return val wxGetTranslation = fontsc.wxGetTranslation def wxFontMapper_Get(*_args, **_kwargs): - val = apply(fontsc.wxFontMapper_Get,_args,_kwargs) + val = fontsc.wxFontMapper_Get(*_args,**_kwargs) if val: val = wxFontMapperPtr(val) return val def wxFontMapper_Set(*_args, **_kwargs): - val = apply(fontsc.wxFontMapper_Set,_args,_kwargs) + val = fontsc.wxFontMapper_Set(*_args,**_kwargs) if val: val = wxFontMapperPtr(val) return val @@ -446,12 +448,12 @@ wxLocale_GetSystemEncodingName = fontsc.wxLocale_GetSystemEncodingName wxLocale_AddCatalogLookupPathPrefix = fontsc.wxLocale_AddCatalogLookupPathPrefix def wxLocale_GetLanguageInfo(*_args, **_kwargs): - val = apply(fontsc.wxLocale_GetLanguageInfo,_args,_kwargs) + val = fontsc.wxLocale_GetLanguageInfo(*_args,**_kwargs) if val: val = wxLanguageInfoPtr(val) return val def wxLocale_FindLanguageInfo(*_args, **_kwargs): - val = apply(fontsc.wxLocale_FindLanguageInfo,_args,_kwargs) + val = fontsc.wxLocale_FindLanguageInfo(*_args,**_kwargs) if val: val = wxLanguageInfoPtr(val) return val diff --git a/wxPython/src/gtk/frames.cpp b/wxPython/src/gtk/frames.cpp index 4ed6489256..21ba3ecad6 100644 --- a/wxPython/src/gtk/frames.cpp +++ b/wxPython/src/gtk/frames.cpp @@ -685,6 +685,42 @@ static PyObject *_wrap_wxTopLevelWindow_GetTitle(PyObject *self, PyObject *args, return _resultobj; } +#define wxTopLevelWindow_SetShape(_swigobj,_swigarg0) (_swigobj->SetShape(_swigarg0)) +static PyObject *_wrap_wxTopLevelWindow_SetShape(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxTopLevelWindow * _arg0; + wxRegion * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","region", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTopLevelWindow_SetShape",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxTopLevelWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTopLevelWindow_SetShape. Expected _wxTopLevelWindow_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxRegion_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxTopLevelWindow_SetShape. Expected _wxRegion_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxTopLevelWindow_SetShape(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + static void *SwigwxFrameTowxTopLevelWindow(void *ptr) { wxFrame *src; wxTopLevelWindow *dest; @@ -2634,6 +2670,7 @@ static PyMethodDef framescMethods[] = { { "wxFrame_Create", (PyCFunction) _wrap_wxFrame_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreFrame", (PyCFunction) _wrap_new_wxPreFrame, METH_VARARGS | METH_KEYWORDS }, { "new_wxFrame", (PyCFunction) _wrap_new_wxFrame, METH_VARARGS | METH_KEYWORDS }, + { "wxTopLevelWindow_SetShape", (PyCFunction) _wrap_wxTopLevelWindow_SetShape, METH_VARARGS | METH_KEYWORDS }, { "wxTopLevelWindow_GetTitle", (PyCFunction) _wrap_wxTopLevelWindow_GetTitle, METH_VARARGS | METH_KEYWORDS }, { "wxTopLevelWindow_SetTitle", (PyCFunction) _wrap_wxTopLevelWindow_SetTitle, METH_VARARGS | METH_KEYWORDS }, { "wxTopLevelWindow_IsFullScreen", (PyCFunction) _wrap_wxTopLevelWindow_IsFullScreen, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/frames.py b/wxPython/src/gtk/frames.py index 0fae1a5d20..77aa341cba 100644 --- a/wxPython/src/gtk/frames.py +++ b/wxPython/src/gtk/frames.py @@ -22,57 +22,60 @@ class wxTopLevelWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_Create,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_Create(self, *_args, **_kwargs) return val def Maximize(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_Maximize,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_Maximize(self, *_args, **_kwargs) return val def Restore(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_Restore,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_Restore(self, *_args, **_kwargs) return val def Iconize(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_Iconize,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_Iconize(self, *_args, **_kwargs) return val def IsMaximized(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_IsMaximized,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_IsMaximized(self, *_args, **_kwargs) return val def IsIconized(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_IsIconized,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_IsIconized(self, *_args, **_kwargs) return val def GetIcon(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_GetIcon,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_GetIcon(self, *_args, **_kwargs) if val: val = wxIconPtr(val) ; val.thisown = 1 return val def SetIcon(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_SetIcon,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_SetIcon(self, *_args, **_kwargs) return val def SetIcons(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_SetIcons,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_SetIcons(self, *_args, **_kwargs) return val def ShowFullScreen(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_ShowFullScreen,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_ShowFullScreen(self, *_args, **_kwargs) return val def IsFullScreen(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_IsFullScreen,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_IsFullScreen(self, *_args, **_kwargs) return val def SetTitle(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_SetTitle,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_SetTitle(self, *_args, **_kwargs) return val def GetTitle(self, *_args, **_kwargs): - val = apply(framesc.wxTopLevelWindow_GetTitle,(self,) + _args, _kwargs) + val = framesc.wxTopLevelWindow_GetTitle(self, *_args, **_kwargs) + return val + def SetShape(self, *_args, **_kwargs): + val = framesc.wxTopLevelWindow_SetShape(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTopLevelWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTopLevelWindow(wxTopLevelWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxTopLevelWindow,_args,_kwargs) + self.this = framesc.new_wxTopLevelWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreTopLevelWindow(*_args,**_kwargs): - val = wxTopLevelWindowPtr(apply(framesc.new_wxPreTopLevelWindow,_args,_kwargs)) + val = wxTopLevelWindowPtr(framesc.new_wxPreTopLevelWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -83,76 +86,76 @@ class wxFramePtr(wxTopLevelWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_Create,(self,) + _args, _kwargs) + val = framesc.wxFrame_Create(self, *_args, **_kwargs) return val def GetClientAreaOrigin(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_GetClientAreaOrigin,(self,) + _args, _kwargs) + val = framesc.wxFrame_GetClientAreaOrigin(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def SetMenuBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetMenuBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetMenuBar(self, *_args, **_kwargs) return val def GetMenuBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_GetMenuBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_GetMenuBar(self, *_args, **_kwargs) return val def ProcessCommand(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_ProcessCommand,(self,) + _args, _kwargs) + val = framesc.wxFrame_ProcessCommand(self, *_args, **_kwargs) return val def CreateStatusBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_CreateStatusBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_CreateStatusBar(self, *_args, **_kwargs) return val def GetStatusBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_GetStatusBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_GetStatusBar(self, *_args, **_kwargs) return val def SetStatusBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetStatusBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetStatusBar(self, *_args, **_kwargs) return val def SetStatusText(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetStatusText,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetStatusText(self, *_args, **_kwargs) return val def SetStatusWidths(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetStatusWidths,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetStatusWidths(self, *_args, **_kwargs) return val def PushStatusText(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_PushStatusText,(self,) + _args, _kwargs) + val = framesc.wxFrame_PushStatusText(self, *_args, **_kwargs) return val def PopStatusText(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_PopStatusText,(self,) + _args, _kwargs) + val = framesc.wxFrame_PopStatusText(self, *_args, **_kwargs) return val def DoGiveHelp(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_DoGiveHelp,(self,) + _args, _kwargs) + val = framesc.wxFrame_DoGiveHelp(self, *_args, **_kwargs) return val def SetStatusBarPane(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetStatusBarPane,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetStatusBarPane(self, *_args, **_kwargs) return val def GetStatusBarPane(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_GetStatusBarPane,(self,) + _args, _kwargs) + val = framesc.wxFrame_GetStatusBarPane(self, *_args, **_kwargs) return val def CreateToolBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_CreateToolBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_CreateToolBar(self, *_args, **_kwargs) return val def GetToolBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_GetToolBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_GetToolBar(self, *_args, **_kwargs) return val def SetToolBar(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SetToolBar,(self,) + _args, _kwargs) + val = framesc.wxFrame_SetToolBar(self, *_args, **_kwargs) return val def SendSizeEvent(self, *_args, **_kwargs): - val = apply(framesc.wxFrame_SendSizeEvent,(self,) + _args, _kwargs) + val = framesc.wxFrame_SendSizeEvent(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) Command = ProcessCommand class wxFrame(wxFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxFrame,_args,_kwargs) + self.this = framesc.new_wxFrame(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreFrame(*_args,**_kwargs): - val = wxFramePtr(apply(framesc.new_wxPreFrame,_args,_kwargs)) + val = wxFramePtr(framesc.new_wxPreFrame(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -163,47 +166,47 @@ class wxDialogPtr(wxTopLevelWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_Create,(self,) + _args, _kwargs) + val = framesc.wxDialog_Create(self, *_args, **_kwargs) return val def Centre(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_Centre,(self,) + _args, _kwargs) + val = framesc.wxDialog_Centre(self, *_args, **_kwargs) return val def EndModal(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_EndModal,(self,) + _args, _kwargs) + val = framesc.wxDialog_EndModal(self, *_args, **_kwargs) return val def SetModal(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_SetModal,(self,) + _args, _kwargs) + val = framesc.wxDialog_SetModal(self, *_args, **_kwargs) return val def IsModal(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_IsModal,(self,) + _args, _kwargs) + val = framesc.wxDialog_IsModal(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_ShowModal,(self,) + _args, _kwargs) + val = framesc.wxDialog_ShowModal(self, *_args, **_kwargs) return val def GetReturnCode(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_GetReturnCode,(self,) + _args, _kwargs) + val = framesc.wxDialog_GetReturnCode(self, *_args, **_kwargs) return val def SetReturnCode(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_SetReturnCode,(self,) + _args, _kwargs) + val = framesc.wxDialog_SetReturnCode(self, *_args, **_kwargs) return val def CreateTextSizer(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_CreateTextSizer,(self,) + _args, _kwargs) + val = framesc.wxDialog_CreateTextSizer(self, *_args, **_kwargs) return val def CreateButtonSizer(self, *_args, **_kwargs): - val = apply(framesc.wxDialog_CreateButtonSizer,(self,) + _args, _kwargs) + val = framesc.wxDialog_CreateButtonSizer(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDialog(wxDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxDialog,_args,_kwargs) + self.this = framesc.new_wxDialog(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreDialog(*_args,**_kwargs): - val = wxDialogPtr(apply(framesc.new_wxPreDialog,_args,_kwargs)) + val = wxDialogPtr(framesc.new_wxPreDialog(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -214,20 +217,20 @@ class wxMiniFramePtr(wxFramePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(framesc.wxMiniFrame_Create,(self,) + _args, _kwargs) + val = framesc.wxMiniFrame_Create(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMiniFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMiniFrame(wxMiniFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxMiniFrame,_args,_kwargs) + self.this = framesc.new_wxMiniFrame(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreMiniFrame(*_args,**_kwargs): - val = wxMiniFramePtr(apply(framesc.new_wxPreMiniFrame,_args,_kwargs)) + val = wxMiniFramePtr(framesc.new_wxPreMiniFrame(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -238,17 +241,17 @@ class wxSplashScreenWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def SetBitmap(self, *_args, **_kwargs): - val = apply(framesc.wxSplashScreenWindow_SetBitmap,(self,) + _args, _kwargs) + val = framesc.wxSplashScreenWindow_SetBitmap(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(framesc.wxSplashScreenWindow_GetBitmap,(self,) + _args, _kwargs) + val = framesc.wxSplashScreenWindow_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSplashScreenWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSplashScreenWindow(wxSplashScreenWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxSplashScreenWindow,_args,_kwargs) + self.this = framesc.new_wxSplashScreenWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -260,20 +263,20 @@ class wxSplashScreenPtr(wxFramePtr): self.this = this self.thisown = 0 def GetSplashStyle(self, *_args, **_kwargs): - val = apply(framesc.wxSplashScreen_GetSplashStyle,(self,) + _args, _kwargs) + val = framesc.wxSplashScreen_GetSplashStyle(self, *_args, **_kwargs) return val def GetSplashWindow(self, *_args, **_kwargs): - val = apply(framesc.wxSplashScreen_GetSplashWindow,(self,) + _args, _kwargs) + val = framesc.wxSplashScreen_GetSplashWindow(self, *_args, **_kwargs) if val: val = wxSplashScreenWindowPtr(val) return val def GetTimeout(self, *_args, **_kwargs): - val = apply(framesc.wxSplashScreen_GetTimeout,(self,) + _args, _kwargs) + val = framesc.wxSplashScreen_GetTimeout(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSplashScreen instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSplashScreen(wxSplashScreenPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(framesc.new_wxSplashScreen,_args,_kwargs) + self.this = framesc.new_wxSplashScreen(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) diff --git a/wxPython/src/gtk/gdi.cpp b/wxPython/src/gtk/gdi.cpp index c4e48dacdf..5060a2d0f0 100644 --- a/wxPython/src/gtk/gdi.cpp +++ b/wxPython/src/gtk/gdi.cpp @@ -179,17 +179,25 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { icon->CopyFromBitmap(bmp); return icon; } - // Alternate 'constructor' + wxCursor* wxPyStockCursor(int id) { return new wxCursor(id); } wxCursor* wxCursorFromImage(const wxImage& image) { - #ifndef __WXMAC__ return new wxCursor(image); - #else - return NULL; - #endif + } + + wxCursor* wxCursorFromBits(PyObject* bits, int width, int height, + int hotSpotX=-1, int hotSpotY=-1, + PyObject* maskBits=0) { + char* bitsbuf; + char* maskbuf = NULL; + int length; + PyString_AsStringAndSize(bits, &bitsbuf, &length); + if (maskBits) + PyString_AsStringAndSize(maskBits, &maskbuf, &length); + return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf); } // Alternate 'constructor' wxColour* wxNamedColour(const wxString& colorName) { @@ -595,6 +603,46 @@ static PyObject *_wrap_wxCursorFromImage(PyObject *self, PyObject *args, PyObjec return _resultobj; } +static PyObject *_wrap_wxCursorFromBits(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxCursor * _result; + PyObject * _arg0; + int _arg1; + int _arg2; + int _arg3 = (int ) -1; + int _arg4 = (int ) -1; + PyObject * _arg5 = (PyObject *) 0; + PyObject * _obj0 = 0; + PyObject * _obj5 = 0; + char *_kwnames[] = { "bits","width","height","hotSpotX","hotSpotY","maskBits", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|iiO:wxCursorFromBits",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3,&_arg4,&_obj5)) + return NULL; +{ + _arg0 = _obj0; +} + if (_obj5) +{ + _arg5 = _obj5; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxCursor *)wxCursorFromBits(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + static PyObject *_wrap_wxNamedColour(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxColour * _result; @@ -2746,6 +2794,54 @@ static void *SwigwxCursorTowxObject(void *ptr) { return (void *) dest; } +static wxCursor *new_wxCursor(const wxString *cursorName,long flags,int hotSpotX,int hotSpotY) { +#ifdef __WXGTK__ + wxCHECK_MSG(FALSE, NULL, + wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead.")); +#else + return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY); +#endif + } + +static PyObject *_wrap_new_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxCursor * _result; + wxString * _arg0; + long _arg1; + int _arg2 = (int ) 0; + int _arg3 = (int ) 0; + PyObject * _obj0 = 0; + char *_kwnames[] = { "cursorName","flags","hotSpotX","hotSpotY", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol|ii:new_wxCursor",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) + return NULL; +{ + _arg0 = wxString_in_helper(_obj0); + if (_arg0 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxCursor *)new_wxCursor(_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + #define delete_wxCursor(_swigobj) (delete _swigobj) static PyObject *_wrap_delete_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -9408,6 +9504,50 @@ static PyObject *_wrap_new_wxRegionFromPoints(PyObject *self, PyObject *args, Py return _resultobj; } +#define new_wxRegionFromBitmap(_swigarg0,_swigarg1,_swigarg2) (new wxRegion(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_new_wxRegionFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxRegion * _result; + wxBitmap * _arg0; + wxColour * _arg1 = (wxColour *) &wxNullColour; + int _arg2 = (int ) 0; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "bmp","transColour","tolerance", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|Oi:new_wxRegionFromBitmap",_kwnames,&_argo0,&_obj1,&_arg2)) + return NULL; + if (_argo0) { + if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRegionFromBitmap. Expected _wxBitmap_p."); + return NULL; + } + } + if (_obj1) +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxRegion *)new_wxRegionFromBitmap(*_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + #define delete_wxRegion(_swigobj) (delete _swigobj) static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -10102,6 +10242,82 @@ static PyObject *_wrap_wxRegion_XorRegion(PyObject *self, PyObject *args, PyObje return _resultobj; } +#define wxRegion_ConvertToBitmap(_swigobj) (_swigobj->ConvertToBitmap()) +static PyObject *_wrap_wxRegion_ConvertToBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxBitmap * _result; + wxRegion * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_ConvertToBitmap",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ConvertToBitmap. Expected _wxRegion_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxBitmap (wxRegion_ConvertToBitmap(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxRegion_UnionBitmap(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Union(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxRegion_UnionBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxRegion * _arg0; + wxBitmap * _arg1; + wxColour * _arg2 = (wxColour *) &wxNullColour; + int _arg3 = (int ) 0; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","bmp","transColour","tolerance", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|Oi:wxRegion_UnionBitmap",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_UnionBitmap. Expected _wxRegion_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_UnionBitmap. Expected _wxBitmap_p."); + return NULL; + } + } + if (_obj2) +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxRegion_UnionBitmap(_arg0,*_arg1,*_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + static void *SwigwxRegionIteratorTowxObject(void *ptr) { wxRegionIterator *src; wxObject *dest; @@ -10469,6 +10685,8 @@ static PyMethodDef gdicMethods[] = { { "wxRegionIterator_GetX", (PyCFunction) _wrap_wxRegionIterator_GetX, METH_VARARGS | METH_KEYWORDS }, { "delete_wxRegionIterator", (PyCFunction) _wrap_delete_wxRegionIterator, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegionIterator", (PyCFunction) _wrap_new_wxRegionIterator, METH_VARARGS | METH_KEYWORDS }, + { "wxRegion_UnionBitmap", (PyCFunction) _wrap_wxRegion_UnionBitmap, METH_VARARGS | METH_KEYWORDS }, + { "wxRegion_ConvertToBitmap", (PyCFunction) _wrap_wxRegion_ConvertToBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_XorRegion", (PyCFunction) _wrap_wxRegion_XorRegion, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_XorRect", (PyCFunction) _wrap_wxRegion_XorRect, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_Xor", (PyCFunction) _wrap_wxRegion_Xor, METH_VARARGS | METH_KEYWORDS }, @@ -10490,6 +10708,7 @@ static PyMethodDef gdicMethods[] = { { "wxRegion_Offset", (PyCFunction) _wrap_wxRegion_Offset, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_Clear", (PyCFunction) _wrap_wxRegion_Clear, METH_VARARGS | METH_KEYWORDS }, { "delete_wxRegion", (PyCFunction) _wrap_delete_wxRegion, METH_VARARGS | METH_KEYWORDS }, + { "new_wxRegionFromBitmap", (PyCFunction) _wrap_new_wxRegionFromBitmap, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegionFromPoints", (PyCFunction) _wrap_new_wxRegionFromPoints, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegion", (PyCFunction) _wrap_new_wxRegion, METH_VARARGS | METH_KEYWORDS }, { "wxImageList_GetSize", (PyCFunction) _wrap_wxImageList_GetSize, METH_VARARGS | METH_KEYWORDS }, @@ -10669,6 +10888,7 @@ static PyMethodDef gdicMethods[] = { { "new_wxColour", (PyCFunction) _wrap_new_wxColour, METH_VARARGS | METH_KEYWORDS }, { "wxCursor_Ok", (PyCFunction) _wrap_wxCursor_Ok, METH_VARARGS | METH_KEYWORDS }, { "delete_wxCursor", (PyCFunction) _wrap_delete_wxCursor, METH_VARARGS | METH_KEYWORDS }, + { "new_wxCursor", (PyCFunction) _wrap_new_wxCursor, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_GetIcon", (PyCFunction) _wrap_wxIconBundle_GetIcon, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_AddIconFromFile", (PyCFunction) _wrap_wxIconBundle_AddIconFromFile, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_AddIcon", (PyCFunction) _wrap_wxIconBundle_AddIcon, METH_VARARGS | METH_KEYWORDS }, @@ -10712,6 +10932,7 @@ static PyMethodDef gdicMethods[] = { { "new_wxGDIObject", (PyCFunction) _wrap_new_wxGDIObject, METH_VARARGS | METH_KEYWORDS }, { "wxMemoryDCFromDC", (PyCFunction) _wrap_wxMemoryDCFromDC, METH_VARARGS | METH_KEYWORDS }, { "wxNamedColour", (PyCFunction) _wrap_wxNamedColour, METH_VARARGS | METH_KEYWORDS }, + { "wxCursorFromBits", (PyCFunction) _wrap_wxCursorFromBits, METH_VARARGS | METH_KEYWORDS }, { "wxCursorFromImage", (PyCFunction) _wrap_wxCursorFromImage, METH_VARARGS | METH_KEYWORDS }, { "wxStockCursor", (PyCFunction) _wrap_wxStockCursor, METH_VARARGS | METH_KEYWORDS }, { "wxIconFromBitmap", (PyCFunction) _wrap_wxIconFromBitmap, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/gdi.py b/wxPython/src/gtk/gdi.py index a5a770e9aa..2724b09ce0 100644 --- a/wxPython/src/gtk/gdi.py +++ b/wxPython/src/gtk/gdi.py @@ -16,19 +16,19 @@ class wxGDIObjectPtr(wxObjectPtr): except: pass def GetVisible(self, *_args, **_kwargs): - val = apply(gdic.wxGDIObject_GetVisible,(self,) + _args, _kwargs) + val = gdic.wxGDIObject_GetVisible(self, *_args, **_kwargs) return val def SetVisible(self, *_args, **_kwargs): - val = apply(gdic.wxGDIObject_SetVisible,(self,) + _args, _kwargs) + val = gdic.wxGDIObject_SetVisible(self, *_args, **_kwargs) return val def IsNull(self, *_args, **_kwargs): - val = apply(gdic.wxGDIObject_IsNull,(self,) + _args, _kwargs) + val = gdic.wxGDIObject_IsNull(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGDIObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGDIObject(wxGDIObjectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxGDIObject,_args,_kwargs) + self.this = gdic.new_wxGDIObject(*_args,**_kwargs) self.thisown = 1 @@ -45,60 +45,61 @@ class wxBitmapPtr(wxGDIObjectPtr): except: pass def GetPalette(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetPalette,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetPalette(self, *_args, **_kwargs) if val: val = wxPalettePtr(val) return val def GetMask(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetMask,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetMask(self, *_args, **_kwargs) if val: val = wxMaskPtr(val) return val def LoadFile(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_LoadFile,(self,) + _args, _kwargs) + val = gdic.wxBitmap_LoadFile(self, *_args, **_kwargs) return val def SaveFile(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_SaveFile,(self,) + _args, _kwargs) + val = gdic.wxBitmap_SaveFile(self, *_args, **_kwargs) return val def SetMask(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_SetMask,(self,) + _args, _kwargs) + val = gdic.wxBitmap_SetMask(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_Ok,(self,) + _args, _kwargs) + val = gdic.wxBitmap_Ok(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetWidth,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetHeight,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetHeight(self, *_args, **_kwargs) return val def GetDepth(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetDepth,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetDepth(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_SetWidth,(self,) + _args, _kwargs) + val = gdic.wxBitmap_SetWidth(self, *_args, **_kwargs) return val def SetHeight(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_SetHeight,(self,) + _args, _kwargs) + val = gdic.wxBitmap_SetHeight(self, *_args, **_kwargs) return val def SetDepth(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_SetDepth,(self,) + _args, _kwargs) + val = gdic.wxBitmap_SetDepth(self, *_args, **_kwargs) return val def GetSubBitmap(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_GetSubBitmap,(self,) + _args, _kwargs) + val = gdic.wxBitmap_GetSubBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def CopyFromIcon(self, *_args, **_kwargs): - val = apply(gdic.wxBitmap_CopyFromIcon,(self,) + _args, _kwargs) + val = gdic.wxBitmap_CopyFromIcon(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBitmap instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def SetMaskColour(self, colour): mask = wxMaskColour(self, colour) self.SetMask(mask) + def __nonzero__(self): return self.Ok() class wxBitmap(wxBitmapPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxBitmap,_args,_kwargs) + self.this = gdic.new_wxBitmap(*_args,**_kwargs) self.thisown = 1 @@ -109,13 +110,13 @@ class wxMaskPtr(wxObjectPtr): self.this = this self.thisown = 0 def Destroy(self, *_args, **_kwargs): - val = apply(gdic.wxMask_Destroy,(self,) + _args, _kwargs) + val = gdic.wxMask_Destroy(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMask instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMask(wxMaskPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxMask,_args,_kwargs) + self.this = gdic.new_wxMask(*_args,**_kwargs) self.thisown = 1 @@ -132,37 +133,38 @@ class wxIconPtr(wxGDIObjectPtr): except: pass def LoadFile(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_LoadFile,(self,) + _args, _kwargs) + val = gdic.wxIcon_LoadFile(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_Ok,(self,) + _args, _kwargs) + val = gdic.wxIcon_Ok(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_GetWidth,(self,) + _args, _kwargs) + val = gdic.wxIcon_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_GetHeight,(self,) + _args, _kwargs) + val = gdic.wxIcon_GetHeight(self, *_args, **_kwargs) return val def GetDepth(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_GetDepth,(self,) + _args, _kwargs) + val = gdic.wxIcon_GetDepth(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_SetWidth,(self,) + _args, _kwargs) + val = gdic.wxIcon_SetWidth(self, *_args, **_kwargs) return val def SetHeight(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_SetHeight,(self,) + _args, _kwargs) + val = gdic.wxIcon_SetHeight(self, *_args, **_kwargs) return val def SetDepth(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_SetDepth,(self,) + _args, _kwargs) + val = gdic.wxIcon_SetDepth(self, *_args, **_kwargs) return val def CopyFromBitmap(self, *_args, **_kwargs): - val = apply(gdic.wxIcon_CopyFromBitmap,(self,) + _args, _kwargs) + val = gdic.wxIcon_CopyFromBitmap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIcon instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxIcon(wxIconPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxIcon,_args,_kwargs) + self.this = gdic.new_wxIcon(*_args,**_kwargs) self.thisown = 1 @@ -179,31 +181,31 @@ class wxIconBundlePtr : except: pass def AddIcon(self, *_args, **_kwargs): - val = apply(gdic.wxIconBundle_AddIcon,(self,) + _args, _kwargs) + val = gdic.wxIconBundle_AddIcon(self, *_args, **_kwargs) return val def AddIconFromFile(self, *_args, **_kwargs): - val = apply(gdic.wxIconBundle_AddIconFromFile,(self,) + _args, _kwargs) + val = gdic.wxIconBundle_AddIconFromFile(self, *_args, **_kwargs) return val def GetIcon(self, *_args, **_kwargs): - val = apply(gdic.wxIconBundle_GetIcon,(self,) + _args, _kwargs) + val = gdic.wxIconBundle_GetIcon(self, *_args, **_kwargs) if val: val = wxIconPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIconBundle instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxIconBundle(wxIconBundlePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxIconBundle,_args,_kwargs) + self.this = gdic.new_wxIconBundle(*_args,**_kwargs) self.thisown = 1 def wxIconBundleFromFile(*_args,**_kwargs): - val = wxIconBundlePtr(apply(gdic.new_wxIconBundleFromFile,_args,_kwargs)) + val = wxIconBundlePtr(gdic.new_wxIconBundleFromFile(*_args,**_kwargs)) val.thisown = 1 return val def wxIconBundleFromIcon(*_args,**_kwargs): - val = wxIconBundlePtr(apply(gdic.new_wxIconBundleFromIcon,_args,_kwargs)) + val = wxIconBundlePtr(gdic.new_wxIconBundleFromIcon(*_args,**_kwargs)) val.thisown = 1 return val @@ -219,13 +221,15 @@ class wxCursorPtr(wxGDIObjectPtr): except: pass def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxCursor_Ok,(self,) + _args, _kwargs) + val = gdic.wxCursor_Ok(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCursor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxCursor(wxCursorPtr): - def __init__(self,this): - self.this = this + def __init__(self,*_args,**_kwargs): + self.this = gdic.new_wxCursor(*_args,**_kwargs) + self.thisown = 1 @@ -241,31 +245,31 @@ class wxColourPtr(wxObjectPtr): except: pass def Red(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Red,(self,) + _args, _kwargs) + val = gdic.wxColour_Red(self, *_args, **_kwargs) return val def Green(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Green,(self,) + _args, _kwargs) + val = gdic.wxColour_Green(self, *_args, **_kwargs) return val def Blue(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Blue,(self,) + _args, _kwargs) + val = gdic.wxColour_Blue(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Ok,(self,) + _args, _kwargs) + val = gdic.wxColour_Ok(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Set,(self,) + _args, _kwargs) + val = gdic.wxColour_Set(self, *_args, **_kwargs) return val def Get(self, *_args, **_kwargs): - val = apply(gdic.wxColour_Get,(self,) + _args, _kwargs) + val = gdic.wxColour_Get(self, *_args, **_kwargs) return val def __eq__(self, *_args, **_kwargs): - val = apply(gdic.wxColour___eq__,(self,) + _args, _kwargs) + val = gdic.wxColour___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(gdic.wxColour___ne__,(self,) + _args, _kwargs) + val = gdic.wxColour___ne__(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxColour instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) asTuple = Get def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxColour:' + str(self.asTuple()) @@ -276,7 +280,7 @@ class wxColourPtr(wxObjectPtr): class wxColour(wxColourPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxColour,_args,_kwargs) + self.this = gdic.new_wxColour(*_args,**_kwargs) self.thisown = 1 @@ -287,17 +291,17 @@ class wxColourDatabasePtr(wxObjectPtr): self.this = this self.thisown = 0 def FindColour(self, *_args, **_kwargs): - val = apply(gdic.wxColourDatabase_FindColour,(self,) + _args, _kwargs) + val = gdic.wxColourDatabase_FindColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) return val def FindName(self, *_args, **_kwargs): - val = apply(gdic.wxColourDatabase_FindName,(self,) + _args, _kwargs) + val = gdic.wxColourDatabase_FindName(self, *_args, **_kwargs) return val def Append(self, *_args, **_kwargs): - val = apply(gdic.wxColourDatabase_Append,(self,) + _args, _kwargs) + val = gdic.wxColourDatabase_Append(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxColourDatabase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxColourDatabase(wxColourDatabasePtr): def __init__(self,this): self.this = this @@ -316,50 +320,51 @@ class wxPenPtr(wxGDIObjectPtr): except: pass def GetCap(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetCap,(self,) + _args, _kwargs) + val = gdic.wxPen_GetCap(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetColour,(self,) + _args, _kwargs) + val = gdic.wxPen_GetColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetJoin(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetJoin,(self,) + _args, _kwargs) + val = gdic.wxPen_GetJoin(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetStyle,(self,) + _args, _kwargs) + val = gdic.wxPen_GetStyle(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetWidth,(self,) + _args, _kwargs) + val = gdic.wxPen_GetWidth(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxPen_Ok,(self,) + _args, _kwargs) + val = gdic.wxPen_Ok(self, *_args, **_kwargs) return val def SetCap(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetCap,(self,) + _args, _kwargs) + val = gdic.wxPen_SetCap(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetColour,(self,) + _args, _kwargs) + val = gdic.wxPen_SetColour(self, *_args, **_kwargs) return val def SetJoin(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetJoin,(self,) + _args, _kwargs) + val = gdic.wxPen_SetJoin(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetStyle,(self,) + _args, _kwargs) + val = gdic.wxPen_SetStyle(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetWidth,(self,) + _args, _kwargs) + val = gdic.wxPen_SetWidth(self, *_args, **_kwargs) return val def SetDashes(self, *_args, **_kwargs): - val = apply(gdic.wxPen_SetDashes,(self,) + _args, _kwargs) + val = gdic.wxPen_SetDashes(self, *_args, **_kwargs) return val def GetDashes(self, *_args, **_kwargs): - val = apply(gdic.wxPen_GetDashes,(self,) + _args, _kwargs) + val = gdic.wxPen_GetDashes(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPen instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPen(wxPenPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxPen,_args,_kwargs) + self.this = gdic.new_wxPen(*_args,**_kwargs) self.thisown = 1 @@ -376,13 +381,13 @@ class wxPyPenPtr(wxPenPtr): except: pass def SetDashes(self, *_args, **_kwargs): - val = apply(gdic.wxPyPen_SetDashes,(self,) + _args, _kwargs) + val = gdic.wxPyPen_SetDashes(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyPen instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyPen(wxPyPenPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxPyPen,_args,_kwargs) + self.this = gdic.new_wxPyPen(*_args,**_kwargs) self.thisown = 1 @@ -393,20 +398,20 @@ class wxPenListPtr(wxObjectPtr): self.this = this self.thisown = 0 def AddPen(self, *_args, **_kwargs): - val = apply(gdic.wxPenList_AddPen,(self,) + _args, _kwargs) + val = gdic.wxPenList_AddPen(self, *_args, **_kwargs) return val def FindOrCreatePen(self, *_args, **_kwargs): - val = apply(gdic.wxPenList_FindOrCreatePen,(self,) + _args, _kwargs) + val = gdic.wxPenList_FindOrCreatePen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) return val def RemovePen(self, *_args, **_kwargs): - val = apply(gdic.wxPenList_RemovePen,(self,) + _args, _kwargs) + val = gdic.wxPenList_RemovePen(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(gdic.wxPenList_GetCount,(self,) + _args, _kwargs) + val = gdic.wxPenList_GetCount(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPenList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPenList(wxPenListPtr): def __init__(self,this): self.this = this @@ -425,33 +430,34 @@ class wxBrushPtr(wxGDIObjectPtr): except: pass def GetColour(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_GetColour,(self,) + _args, _kwargs) + val = gdic.wxBrush_GetColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetStipple(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_GetStipple,(self,) + _args, _kwargs) + val = gdic.wxBrush_GetStipple(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def GetStyle(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_GetStyle,(self,) + _args, _kwargs) + val = gdic.wxBrush_GetStyle(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_Ok,(self,) + _args, _kwargs) + val = gdic.wxBrush_Ok(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_SetColour,(self,) + _args, _kwargs) + val = gdic.wxBrush_SetColour(self, *_args, **_kwargs) return val def SetStipple(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_SetStipple,(self,) + _args, _kwargs) + val = gdic.wxBrush_SetStipple(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(gdic.wxBrush_SetStyle,(self,) + _args, _kwargs) + val = gdic.wxBrush_SetStyle(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBrush instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxBrush(wxBrushPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxBrush,_args,_kwargs) + self.this = gdic.new_wxBrush(*_args,**_kwargs) self.thisown = 1 @@ -462,20 +468,20 @@ class wxBrushListPtr(wxObjectPtr): self.this = this self.thisown = 0 def AddBrush(self, *_args, **_kwargs): - val = apply(gdic.wxBrushList_AddBrush,(self,) + _args, _kwargs) + val = gdic.wxBrushList_AddBrush(self, *_args, **_kwargs) return val def FindOrCreateBrush(self, *_args, **_kwargs): - val = apply(gdic.wxBrushList_FindOrCreateBrush,(self,) + _args, _kwargs) + val = gdic.wxBrushList_FindOrCreateBrush(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) return val def RemoveBrush(self, *_args, **_kwargs): - val = apply(gdic.wxBrushList_RemoveBrush,(self,) + _args, _kwargs) + val = gdic.wxBrushList_RemoveBrush(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(gdic.wxBrushList_GetCount,(self,) + _args, _kwargs) + val = gdic.wxBrushList_GetCount(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBrushList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBrushList(wxBrushListPtr): def __init__(self,this): self.this = this @@ -494,309 +500,310 @@ class wxDCPtr(wxObjectPtr): except: pass def BeginDrawing(self, *_args, **_kwargs): - val = apply(gdic.wxDC_BeginDrawing,(self,) + _args, _kwargs) + val = gdic.wxDC_BeginDrawing(self, *_args, **_kwargs) return val def Blit(self, *_args, **_kwargs): - val = apply(gdic.wxDC_Blit,(self,) + _args, _kwargs) + val = gdic.wxDC_Blit(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(gdic.wxDC_Clear,(self,) + _args, _kwargs) + val = gdic.wxDC_Clear(self, *_args, **_kwargs) return val def CrossHair(self, *_args, **_kwargs): - val = apply(gdic.wxDC_CrossHair,(self,) + _args, _kwargs) + val = gdic.wxDC_CrossHair(self, *_args, **_kwargs) return val def DestroyClippingRegion(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DestroyClippingRegion,(self,) + _args, _kwargs) + val = gdic.wxDC_DestroyClippingRegion(self, *_args, **_kwargs) return val def DeviceToLogicalX(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DeviceToLogicalX,(self,) + _args, _kwargs) + val = gdic.wxDC_DeviceToLogicalX(self, *_args, **_kwargs) return val def DeviceToLogicalXRel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DeviceToLogicalXRel,(self,) + _args, _kwargs) + val = gdic.wxDC_DeviceToLogicalXRel(self, *_args, **_kwargs) return val def DeviceToLogicalY(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DeviceToLogicalY,(self,) + _args, _kwargs) + val = gdic.wxDC_DeviceToLogicalY(self, *_args, **_kwargs) return val def DeviceToLogicalYRel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DeviceToLogicalYRel,(self,) + _args, _kwargs) + val = gdic.wxDC_DeviceToLogicalYRel(self, *_args, **_kwargs) return val def DrawArc(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawArc,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawArc(self, *_args, **_kwargs) return val def DrawCircle(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawCircle,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawCircle(self, *_args, **_kwargs) return val def DrawEllipse(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawEllipse,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawEllipse(self, *_args, **_kwargs) return val def DrawEllipticArc(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawEllipticArc,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawEllipticArc(self, *_args, **_kwargs) return val def DrawIcon(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawIcon,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawIcon(self, *_args, **_kwargs) return val def DrawLabel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawLabel,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawLabel(self, *_args, **_kwargs) return val def DrawImageLabel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawImageLabel,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawImageLabel(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def DrawLine(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawLine,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawLine(self, *_args, **_kwargs) return val def DrawLines(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawLines,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawLines(self, *_args, **_kwargs) return val def DrawPolygon(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawPolygon,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawPolygon(self, *_args, **_kwargs) return val def DrawPoint(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawPoint,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawPoint(self, *_args, **_kwargs) return val def DrawRectangle(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawRectangle,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawRectangle(self, *_args, **_kwargs) return val def DrawRectangleRect(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawRectangleRect,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawRectangleRect(self, *_args, **_kwargs) return val def DrawRotatedText(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawRotatedText,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawRotatedText(self, *_args, **_kwargs) return val def DrawRoundedRectangle(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawRoundedRectangle,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawRoundedRectangle(self, *_args, **_kwargs) return val def DrawSpline(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawSpline,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawSpline(self, *_args, **_kwargs) return val def DrawText(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawText,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawText(self, *_args, **_kwargs) return val def EndDoc(self, *_args, **_kwargs): - val = apply(gdic.wxDC_EndDoc,(self,) + _args, _kwargs) + val = gdic.wxDC_EndDoc(self, *_args, **_kwargs) return val def EndDrawing(self, *_args, **_kwargs): - val = apply(gdic.wxDC_EndDrawing,(self,) + _args, _kwargs) + val = gdic.wxDC_EndDrawing(self, *_args, **_kwargs) return val def EndPage(self, *_args, **_kwargs): - val = apply(gdic.wxDC_EndPage,(self,) + _args, _kwargs) + val = gdic.wxDC_EndPage(self, *_args, **_kwargs) return val def FloodFill(self, *_args, **_kwargs): - val = apply(gdic.wxDC_FloodFill,(self,) + _args, _kwargs) + val = gdic.wxDC_FloodFill(self, *_args, **_kwargs) return val def GetBackground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetBackground,(self,) + _args, _kwargs) + val = gdic.wxDC_GetBackground(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) ; val.thisown = 1 return val def GetBrush(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetBrush,(self,) + _args, _kwargs) + val = gdic.wxDC_GetBrush(self, *_args, **_kwargs) if val: val = wxBrushPtr(val) ; val.thisown = 1 return val def GetCharHeight(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetCharHeight,(self,) + _args, _kwargs) + val = gdic.wxDC_GetCharHeight(self, *_args, **_kwargs) return val def GetCharWidth(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetCharWidth,(self,) + _args, _kwargs) + val = gdic.wxDC_GetCharWidth(self, *_args, **_kwargs) return val def GetClippingBox(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetClippingBox,(self,) + _args, _kwargs) + val = gdic.wxDC_GetClippingBox(self, *_args, **_kwargs) return val def GetFont(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetFont,(self,) + _args, _kwargs) + val = gdic.wxDC_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetLogicalFunction(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetLogicalFunction,(self,) + _args, _kwargs) + val = gdic.wxDC_GetLogicalFunction(self, *_args, **_kwargs) return val def GetLogicalScale(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetLogicalScale,(self,) + _args, _kwargs) + val = gdic.wxDC_GetLogicalScale(self, *_args, **_kwargs) return val def GetMapMode(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetMapMode,(self,) + _args, _kwargs) + val = gdic.wxDC_GetMapMode(self, *_args, **_kwargs) return val def GetOptimization(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetOptimization,(self,) + _args, _kwargs) + val = gdic.wxDC_GetOptimization(self, *_args, **_kwargs) return val def GetPen(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetPen,(self,) + _args, _kwargs) + val = gdic.wxDC_GetPen(self, *_args, **_kwargs) if val: val = wxPenPtr(val) ; val.thisown = 1 return val def GetPixel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetPixel,(self,) + _args, _kwargs) + val = gdic.wxDC_GetPixel(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetSizeTuple(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetSizeTuple,(self,) + _args, _kwargs) + val = gdic.wxDC_GetSizeTuple(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetSize,(self,) + _args, _kwargs) + val = gdic.wxDC_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetSizeMM(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetSizeMM,(self,) + _args, _kwargs) + val = gdic.wxDC_GetSizeMM(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetTextBackground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetTextBackground,(self,) + _args, _kwargs) + val = gdic.wxDC_GetTextBackground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetTextExtent(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetTextExtent,(self,) + _args, _kwargs) + val = gdic.wxDC_GetTextExtent(self, *_args, **_kwargs) return val def GetFullTextExtent(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetFullTextExtent,(self,) + _args, _kwargs) + val = gdic.wxDC_GetFullTextExtent(self, *_args, **_kwargs) return val def GetMultiLineTextExtent(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetMultiLineTextExtent,(self,) + _args, _kwargs) + val = gdic.wxDC_GetMultiLineTextExtent(self, *_args, **_kwargs) return val def GetTextForeground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetTextForeground,(self,) + _args, _kwargs) + val = gdic.wxDC_GetTextForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetUserScale(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetUserScale,(self,) + _args, _kwargs) + val = gdic.wxDC_GetUserScale(self, *_args, **_kwargs) return val def LogicalToDeviceX(self, *_args, **_kwargs): - val = apply(gdic.wxDC_LogicalToDeviceX,(self,) + _args, _kwargs) + val = gdic.wxDC_LogicalToDeviceX(self, *_args, **_kwargs) return val def LogicalToDeviceXRel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_LogicalToDeviceXRel,(self,) + _args, _kwargs) + val = gdic.wxDC_LogicalToDeviceXRel(self, *_args, **_kwargs) return val def LogicalToDeviceY(self, *_args, **_kwargs): - val = apply(gdic.wxDC_LogicalToDeviceY,(self,) + _args, _kwargs) + val = gdic.wxDC_LogicalToDeviceY(self, *_args, **_kwargs) return val def LogicalToDeviceYRel(self, *_args, **_kwargs): - val = apply(gdic.wxDC_LogicalToDeviceYRel,(self,) + _args, _kwargs) + val = gdic.wxDC_LogicalToDeviceYRel(self, *_args, **_kwargs) return val def MaxX(self, *_args, **_kwargs): - val = apply(gdic.wxDC_MaxX,(self,) + _args, _kwargs) + val = gdic.wxDC_MaxX(self, *_args, **_kwargs) return val def MaxY(self, *_args, **_kwargs): - val = apply(gdic.wxDC_MaxY,(self,) + _args, _kwargs) + val = gdic.wxDC_MaxY(self, *_args, **_kwargs) return val def MinX(self, *_args, **_kwargs): - val = apply(gdic.wxDC_MinX,(self,) + _args, _kwargs) + val = gdic.wxDC_MinX(self, *_args, **_kwargs) return val def MinY(self, *_args, **_kwargs): - val = apply(gdic.wxDC_MinY,(self,) + _args, _kwargs) + val = gdic.wxDC_MinY(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxDC_Ok,(self,) + _args, _kwargs) + val = gdic.wxDC_Ok(self, *_args, **_kwargs) return val def SetDeviceOrigin(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetDeviceOrigin,(self,) + _args, _kwargs) + val = gdic.wxDC_SetDeviceOrigin(self, *_args, **_kwargs) return val def SetBackground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetBackground,(self,) + _args, _kwargs) + val = gdic.wxDC_SetBackground(self, *_args, **_kwargs) return val def SetBackgroundMode(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetBackgroundMode,(self,) + _args, _kwargs) + val = gdic.wxDC_SetBackgroundMode(self, *_args, **_kwargs) return val def SetClippingRegion(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetClippingRegion,(self,) + _args, _kwargs) + val = gdic.wxDC_SetClippingRegion(self, *_args, **_kwargs) return val def SetClippingRegionAsRegion(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetClippingRegionAsRegion,(self,) + _args, _kwargs) + val = gdic.wxDC_SetClippingRegionAsRegion(self, *_args, **_kwargs) return val def SetClippingRect(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetClippingRect,(self,) + _args, _kwargs) + val = gdic.wxDC_SetClippingRect(self, *_args, **_kwargs) return val def SetPalette(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetPalette,(self,) + _args, _kwargs) + val = gdic.wxDC_SetPalette(self, *_args, **_kwargs) return val def SetBrush(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetBrush,(self,) + _args, _kwargs) + val = gdic.wxDC_SetBrush(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetFont,(self,) + _args, _kwargs) + val = gdic.wxDC_SetFont(self, *_args, **_kwargs) return val def SetLogicalFunction(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetLogicalFunction,(self,) + _args, _kwargs) + val = gdic.wxDC_SetLogicalFunction(self, *_args, **_kwargs) return val def SetLogicalScale(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetLogicalScale,(self,) + _args, _kwargs) + val = gdic.wxDC_SetLogicalScale(self, *_args, **_kwargs) return val def SetMapMode(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetMapMode,(self,) + _args, _kwargs) + val = gdic.wxDC_SetMapMode(self, *_args, **_kwargs) return val def SetOptimization(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetOptimization,(self,) + _args, _kwargs) + val = gdic.wxDC_SetOptimization(self, *_args, **_kwargs) return val def SetPen(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetPen,(self,) + _args, _kwargs) + val = gdic.wxDC_SetPen(self, *_args, **_kwargs) return val def SetTextBackground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetTextBackground,(self,) + _args, _kwargs) + val = gdic.wxDC_SetTextBackground(self, *_args, **_kwargs) return val def SetTextForeground(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetTextForeground,(self,) + _args, _kwargs) + val = gdic.wxDC_SetTextForeground(self, *_args, **_kwargs) return val def SetUserScale(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetUserScale,(self,) + _args, _kwargs) + val = gdic.wxDC_SetUserScale(self, *_args, **_kwargs) return val def StartDoc(self, *_args, **_kwargs): - val = apply(gdic.wxDC_StartDoc,(self,) + _args, _kwargs) + val = gdic.wxDC_StartDoc(self, *_args, **_kwargs) return val def StartPage(self, *_args, **_kwargs): - val = apply(gdic.wxDC_StartPage,(self,) + _args, _kwargs) + val = gdic.wxDC_StartPage(self, *_args, **_kwargs) return val def DrawBitmap(self, *_args, **_kwargs): - val = apply(gdic.wxDC_DrawBitmap,(self,) + _args, _kwargs) + val = gdic.wxDC_DrawBitmap(self, *_args, **_kwargs) return val def CanDrawBitmap(self, *_args, **_kwargs): - val = apply(gdic.wxDC_CanDrawBitmap,(self,) + _args, _kwargs) + val = gdic.wxDC_CanDrawBitmap(self, *_args, **_kwargs) return val def CanGetTextExtent(self, *_args, **_kwargs): - val = apply(gdic.wxDC_CanGetTextExtent,(self,) + _args, _kwargs) + val = gdic.wxDC_CanGetTextExtent(self, *_args, **_kwargs) return val def GetDepth(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetDepth,(self,) + _args, _kwargs) + val = gdic.wxDC_GetDepth(self, *_args, **_kwargs) return val def GetPPI(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetPPI,(self,) + _args, _kwargs) + val = gdic.wxDC_GetPPI(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetLogicalOrigin(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetLogicalOrigin,(self,) + _args, _kwargs) + val = gdic.wxDC_GetLogicalOrigin(self, *_args, **_kwargs) return val def SetLogicalOrigin(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetLogicalOrigin,(self,) + _args, _kwargs) + val = gdic.wxDC_SetLogicalOrigin(self, *_args, **_kwargs) return val def GetDeviceOrigin(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetDeviceOrigin,(self,) + _args, _kwargs) + val = gdic.wxDC_GetDeviceOrigin(self, *_args, **_kwargs) return val def SetAxisOrientation(self, *_args, **_kwargs): - val = apply(gdic.wxDC_SetAxisOrientation,(self,) + _args, _kwargs) + val = gdic.wxDC_SetAxisOrientation(self, *_args, **_kwargs) return val def CalcBoundingBox(self, *_args, **_kwargs): - val = apply(gdic.wxDC_CalcBoundingBox,(self,) + _args, _kwargs) + val = gdic.wxDC_CalcBoundingBox(self, *_args, **_kwargs) return val def ResetBoundingBox(self, *_args, **_kwargs): - val = apply(gdic.wxDC_ResetBoundingBox,(self,) + _args, _kwargs) + val = gdic.wxDC_ResetBoundingBox(self, *_args, **_kwargs) return val def GetBoundingBox(self, *_args, **_kwargs): - val = apply(gdic.wxDC_GetBoundingBox,(self,) + _args, _kwargs) + val = gdic.wxDC_GetBoundingBox(self, *_args, **_kwargs) return val def _DrawPointList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawPointList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawPointList(self, *_args, **_kwargs) return val def _DrawLineList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawLineList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawLineList(self, *_args, **_kwargs) return val def _DrawRectangleList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawRectangleList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawRectangleList(self, *_args, **_kwargs) return val def _DrawEllipseList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawEllipseList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawEllipseList(self, *_args, **_kwargs) return val def _DrawPolygonList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawPolygonList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawPolygonList(self, *_args, **_kwargs) return val def _DrawTextList(self, *_args, **_kwargs): - val = apply(gdic.wxDC__DrawTextList,(self,) + _args, _kwargs) + val = gdic.wxDC__DrawTextList(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() def DrawPointList(self, points, pens=None): if pens is None: @@ -905,13 +912,13 @@ class wxMemoryDCPtr(wxDCPtr): self.this = this self.thisown = 0 def SelectObject(self, *_args, **_kwargs): - val = apply(gdic.wxMemoryDC_SelectObject,(self,) + _args, _kwargs) + val = gdic.wxMemoryDC_SelectObject(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMemoryDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMemoryDC(wxMemoryDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxMemoryDC,_args,_kwargs) + self.this = gdic.new_wxMemoryDC(*_args,**_kwargs) self.thisown = 1 @@ -922,20 +929,20 @@ class wxBufferedDCPtr(wxMemoryDCPtr): self.this = this self.thisown = 0 def UnMask(self, *_args, **_kwargs): - val = apply(gdic.wxBufferedDC_UnMask,(self,) + _args, _kwargs) + val = gdic.wxBufferedDC_UnMask(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBufferedDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBufferedDC(wxBufferedDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxBufferedDC,_args,_kwargs) + self.this = gdic.new_wxBufferedDC(*_args,**_kwargs) self.thisown = 1 self._dc = _args[0] # save a ref so the other dc won't be deleted before self def wxBufferedDCInternalBuffer(*_args,**_kwargs): - val = wxBufferedDCPtr(apply(gdic.new_wxBufferedDCInternalBuffer,_args,_kwargs)) + val = wxBufferedDCPtr(gdic.new_wxBufferedDCInternalBuffer(*_args,**_kwargs)) val.thisown = 1 val._dc = _args[0] # save a ref so the other dc won't be deleted before self return val @@ -946,10 +953,10 @@ class wxBufferedPaintDCPtr(wxBufferedDCPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBufferedPaintDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBufferedPaintDC(wxBufferedPaintDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxBufferedPaintDC,_args,_kwargs) + self.this = gdic.new_wxBufferedPaintDC(*_args,**_kwargs) self.thisown = 1 @@ -960,19 +967,19 @@ class wxScreenDCPtr(wxDCPtr): self.this = this self.thisown = 0 def StartDrawingOnTopWin(self, *_args, **_kwargs): - val = apply(gdic.wxScreenDC_StartDrawingOnTopWin,(self,) + _args, _kwargs) + val = gdic.wxScreenDC_StartDrawingOnTopWin(self, *_args, **_kwargs) return val def StartDrawingOnTop(self, *_args, **_kwargs): - val = apply(gdic.wxScreenDC_StartDrawingOnTop,(self,) + _args, _kwargs) + val = gdic.wxScreenDC_StartDrawingOnTop(self, *_args, **_kwargs) return val def EndDrawingOnTop(self, *_args, **_kwargs): - val = apply(gdic.wxScreenDC_EndDrawingOnTop,(self,) + _args, _kwargs) + val = gdic.wxScreenDC_EndDrawingOnTop(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxScreenDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxScreenDC(wxScreenDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxScreenDC,_args,_kwargs) + self.this = gdic.new_wxScreenDC(*_args,**_kwargs) self.thisown = 1 @@ -983,10 +990,10 @@ class wxClientDCPtr(wxDCPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxClientDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxClientDC(wxClientDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxClientDC,_args,_kwargs) + self.this = gdic.new_wxClientDC(*_args,**_kwargs) self.thisown = 1 @@ -997,10 +1004,10 @@ class wxPaintDCPtr(wxDCPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPaintDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPaintDC(wxPaintDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxPaintDC,_args,_kwargs) + self.this = gdic.new_wxPaintDC(*_args,**_kwargs) self.thisown = 1 @@ -1011,10 +1018,10 @@ class wxWindowDCPtr(wxDCPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWindowDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWindowDC(wxWindowDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxWindowDC,_args,_kwargs) + self.this = gdic.new_wxWindowDC(*_args,**_kwargs) self.thisown = 1 @@ -1031,19 +1038,20 @@ class wxPalettePtr(wxGDIObjectPtr): except: pass def GetPixel(self, *_args, **_kwargs): - val = apply(gdic.wxPalette_GetPixel,(self,) + _args, _kwargs) + val = gdic.wxPalette_GetPixel(self, *_args, **_kwargs) return val def GetRGB(self, *_args, **_kwargs): - val = apply(gdic.wxPalette_GetRGB,(self,) + _args, _kwargs) + val = gdic.wxPalette_GetRGB(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(gdic.wxPalette_Ok,(self,) + _args, _kwargs) + val = gdic.wxPalette_Ok(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPalette instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPalette(wxPalettePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxPalette,_args,_kwargs) + self.this = gdic.new_wxPalette(*_args,**_kwargs) self.thisown = 1 @@ -1060,37 +1068,37 @@ class wxImageListPtr(wxObjectPtr): except: pass def Add(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_Add,(self,) + _args, _kwargs) + val = gdic.wxImageList_Add(self, *_args, **_kwargs) return val def AddWithColourMask(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_AddWithColourMask,(self,) + _args, _kwargs) + val = gdic.wxImageList_AddWithColourMask(self, *_args, **_kwargs) return val def AddIcon(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_AddIcon,(self,) + _args, _kwargs) + val = gdic.wxImageList_AddIcon(self, *_args, **_kwargs) return val def Replace(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_Replace,(self,) + _args, _kwargs) + val = gdic.wxImageList_Replace(self, *_args, **_kwargs) return val def Draw(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_Draw,(self,) + _args, _kwargs) + val = gdic.wxImageList_Draw(self, *_args, **_kwargs) return val def GetImageCount(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_GetImageCount,(self,) + _args, _kwargs) + val = gdic.wxImageList_GetImageCount(self, *_args, **_kwargs) return val def Remove(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_Remove,(self,) + _args, _kwargs) + val = gdic.wxImageList_Remove(self, *_args, **_kwargs) return val def RemoveAll(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_RemoveAll,(self,) + _args, _kwargs) + val = gdic.wxImageList_RemoveAll(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(gdic.wxImageList_GetSize,(self,) + _args, _kwargs) + val = gdic.wxImageList_GetSize(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxImageList instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxImageList(wxImageListPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxImageList,_args,_kwargs) + self.this = gdic.new_wxImageList(*_args,**_kwargs) self.thisown = 1 @@ -1107,77 +1115,89 @@ class wxRegionPtr(wxGDIObjectPtr): except: pass def Clear(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Clear,(self,) + _args, _kwargs) + val = gdic.wxRegion_Clear(self, *_args, **_kwargs) return val def Offset(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Offset,(self,) + _args, _kwargs) + val = gdic.wxRegion_Offset(self, *_args, **_kwargs) return val def Contains(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Contains,(self,) + _args, _kwargs) + val = gdic.wxRegion_Contains(self, *_args, **_kwargs) return val def ContainsPoint(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_ContainsPoint,(self,) + _args, _kwargs) + val = gdic.wxRegion_ContainsPoint(self, *_args, **_kwargs) return val def ContainsRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_ContainsRect,(self,) + _args, _kwargs) + val = gdic.wxRegion_ContainsRect(self, *_args, **_kwargs) return val def ContainsRectDim(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_ContainsRectDim,(self,) + _args, _kwargs) + val = gdic.wxRegion_ContainsRectDim(self, *_args, **_kwargs) return val def GetBox(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_GetBox,(self,) + _args, _kwargs) + val = gdic.wxRegion_GetBox(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def Intersect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Intersect,(self,) + _args, _kwargs) + val = gdic.wxRegion_Intersect(self, *_args, **_kwargs) return val def IntersectRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_IntersectRect,(self,) + _args, _kwargs) + val = gdic.wxRegion_IntersectRect(self, *_args, **_kwargs) return val def IntersectRegion(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_IntersectRegion,(self,) + _args, _kwargs) + val = gdic.wxRegion_IntersectRegion(self, *_args, **_kwargs) return val def IsEmpty(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_IsEmpty,(self,) + _args, _kwargs) + val = gdic.wxRegion_IsEmpty(self, *_args, **_kwargs) return val def Union(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Union,(self,) + _args, _kwargs) + val = gdic.wxRegion_Union(self, *_args, **_kwargs) return val def UnionRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_UnionRect,(self,) + _args, _kwargs) + val = gdic.wxRegion_UnionRect(self, *_args, **_kwargs) return val def UnionRegion(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_UnionRegion,(self,) + _args, _kwargs) + val = gdic.wxRegion_UnionRegion(self, *_args, **_kwargs) return val def Subtract(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Subtract,(self,) + _args, _kwargs) + val = gdic.wxRegion_Subtract(self, *_args, **_kwargs) return val def SubtractRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_SubtractRect,(self,) + _args, _kwargs) + val = gdic.wxRegion_SubtractRect(self, *_args, **_kwargs) return val def SubtractRegion(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_SubtractRegion,(self,) + _args, _kwargs) + val = gdic.wxRegion_SubtractRegion(self, *_args, **_kwargs) return val def Xor(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_Xor,(self,) + _args, _kwargs) + val = gdic.wxRegion_Xor(self, *_args, **_kwargs) return val def XorRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_XorRect,(self,) + _args, _kwargs) + val = gdic.wxRegion_XorRect(self, *_args, **_kwargs) return val def XorRegion(self, *_args, **_kwargs): - val = apply(gdic.wxRegion_XorRegion,(self,) + _args, _kwargs) + val = gdic.wxRegion_XorRegion(self, *_args, **_kwargs) + return val + def ConvertToBitmap(self, *_args, **_kwargs): + val = gdic.wxRegion_ConvertToBitmap(self, *_args, **_kwargs) + if val: val = wxBitmapPtr(val) ; val.thisown = 1 + return val + def UnionBitmap(self, *_args, **_kwargs): + val = gdic.wxRegion_UnionBitmap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxRegion(wxRegionPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxRegion,_args,_kwargs) + self.this = gdic.new_wxRegion(*_args,**_kwargs) self.thisown = 1 def wxRegionFromPoints(*_args,**_kwargs): - val = wxRegionPtr(apply(gdic.new_wxRegionFromPoints,_args,_kwargs)) + val = wxRegionPtr(gdic.new_wxRegionFromPoints(*_args,**_kwargs)) + val.thisown = 1 + return val + +def wxRegionFromBitmap(*_args,**_kwargs): + val = wxRegionPtr(gdic.new_wxRegionFromBitmap(*_args,**_kwargs)) val.thisown = 1 return val @@ -1193,41 +1213,41 @@ class wxRegionIteratorPtr(wxObjectPtr): except: pass def GetX(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetX,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetY,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetY(self, *_args, **_kwargs) return val def GetW(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetW,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetW(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetWidth,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetWidth(self, *_args, **_kwargs) return val def GetH(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetH,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetH(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetHeight,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetHeight(self, *_args, **_kwargs) return val def GetRect(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_GetRect,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_GetRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def HaveRects(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_HaveRects,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_HaveRects(self, *_args, **_kwargs) return val def Reset(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_Reset,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_Reset(self, *_args, **_kwargs) return val def Next(self, *_args, **_kwargs): - val = apply(gdic.wxRegionIterator_Next,(self,) + _args, _kwargs) + val = gdic.wxRegionIterator_Next(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRegionIterator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxRegionIterator(wxRegionIteratorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gdic.new_wxRegionIterator,_args,_kwargs) + self.this = gdic.new_wxRegionIterator(*_args,**_kwargs) self.thisown = 1 @@ -1238,62 +1258,67 @@ class wxRegionIterator(wxRegionIteratorPtr): #-------------- FUNCTION WRAPPERS ------------------ def wxEmptyBitmap(*_args, **_kwargs): - val = apply(gdic.wxEmptyBitmap,_args,_kwargs) + val = gdic.wxEmptyBitmap(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val def wxBitmapFromXPMData(*_args, **_kwargs): - val = apply(gdic.wxBitmapFromXPMData,_args,_kwargs) + val = gdic.wxBitmapFromXPMData(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val def wxBitmapFromIcon(*_args, **_kwargs): - val = apply(gdic.wxBitmapFromIcon,_args,_kwargs) + val = gdic.wxBitmapFromIcon(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val def wxBitmapFromBits(*_args, **_kwargs): - val = apply(gdic.wxBitmapFromBits,_args,_kwargs) + val = gdic.wxBitmapFromBits(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val def wxMaskColour(*_args, **_kwargs): - val = apply(gdic.wxMaskColour,_args,_kwargs) + val = gdic.wxMaskColour(*_args,**_kwargs) if val: val = wxMaskPtr(val); val.thisown = 1 return val def wxEmptyIcon(*_args, **_kwargs): - val = apply(gdic.wxEmptyIcon,_args,_kwargs) + val = gdic.wxEmptyIcon(*_args,**_kwargs) if val: val = wxIconPtr(val); val.thisown = 1 return val def wxIconFromXPMData(*_args, **_kwargs): - val = apply(gdic.wxIconFromXPMData,_args,_kwargs) + val = gdic.wxIconFromXPMData(*_args,**_kwargs) if val: val = wxIconPtr(val); val.thisown = 1 return val def wxIconFromBitmap(*_args, **_kwargs): - val = apply(gdic.wxIconFromBitmap,_args,_kwargs) + val = gdic.wxIconFromBitmap(*_args,**_kwargs) if val: val = wxIconPtr(val); val.thisown = 1 return val def wxStockCursor(*_args, **_kwargs): - val = apply(gdic.wxStockCursor,_args,_kwargs) + val = gdic.wxStockCursor(*_args,**_kwargs) if val: val = wxCursorPtr(val); val.thisown = 1 return val def wxCursorFromImage(*_args, **_kwargs): - val = apply(gdic.wxCursorFromImage,_args,_kwargs) + val = gdic.wxCursorFromImage(*_args,**_kwargs) + if val: val = wxCursorPtr(val); val.thisown = 1 + return val + +def wxCursorFromBits(*_args, **_kwargs): + val = gdic.wxCursorFromBits(*_args,**_kwargs) if val: val = wxCursorPtr(val); val.thisown = 1 return val def wxNamedColour(*_args, **_kwargs): - val = apply(gdic.wxNamedColour,_args,_kwargs) + val = gdic.wxNamedColour(*_args,**_kwargs) if val: val = wxColourPtr(val); val.thisown = 1 return val def wxMemoryDCFromDC(*_args, **_kwargs): - val = apply(gdic.wxMemoryDCFromDC,_args,_kwargs) + val = gdic.wxMemoryDCFromDC(*_args,**_kwargs) if val: val = wxMemoryDCPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/grid.cpp b/wxPython/src/gtk/grid.cpp index e1218affd8..7579600d8a 100644 --- a/wxPython/src/gtk/grid.cpp +++ b/wxPython/src/gtk/grid.cpp @@ -4355,14 +4355,20 @@ static PyObject *_wrap_wxGridCellAttr_GetSize(PyObject *self, PyObject *args, Py PyObject * _resultobj; wxGridCellAttr * _arg0; int * _arg1; + int temp; int * _arg2; + int temp0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _argo2 = 0; - char *_kwnames[] = { "self","num_rows","num_cols", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGridCellAttr_GetSize",_kwnames,&_argo0,&_argo1,&_argo2)) +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetSize",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -4371,20 +4377,6 @@ static PyObject *_wrap_wxGridCellAttr_GetSize(PyObject *self, PyObject *args, Py return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_GetSize. Expected _int_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellAttr_GetSize. Expected _int_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); wxGridCellAttr_GetSize(_arg0,_arg1,_arg2); @@ -4393,6 +4385,16 @@ static PyObject *_wrap_wxGridCellAttr_GetSize(PyObject *self, PyObject *args, Py if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} return _resultobj; } @@ -11341,14 +11343,20 @@ static PyObject *_wrap_wxGrid_GetDefaultCellAlignment(PyObject *self, PyObject * PyObject * _resultobj; wxGrid * _arg0; int * _arg1; + int temp; int * _arg2; + int temp0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _argo2 = 0; - char *_kwnames[] = { "self","horiz","vert", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGrid_GetDefaultCellAlignment",_kwnames,&_argo0,&_argo1,&_argo2)) +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellAlignment",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -11357,20 +11365,6 @@ static PyObject *_wrap_wxGrid_GetDefaultCellAlignment(PyObject *self, PyObject * return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGrid_GetDefaultCellAlignment. Expected _int_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGrid_GetDefaultCellAlignment. Expected _int_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); wxGrid_GetDefaultCellAlignment(_arg0,_arg1,_arg2); @@ -11379,6 +11373,16 @@ static PyObject *_wrap_wxGrid_GetDefaultCellAlignment(PyObject *self, PyObject * if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} return _resultobj; } @@ -11389,14 +11393,20 @@ static PyObject *_wrap_wxGrid_GetCellAlignment(PyObject *self, PyObject *args, P int _arg1; int _arg2; int * _arg3; + int temp; int * _arg4; + int temp0; PyObject * _argo0 = 0; - PyObject * _argo3 = 0; - PyObject * _argo4 = 0; - char *_kwnames[] = { "self","row","col","horiz","vert", NULL }; + char *_kwnames[] = { "self","row","col", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiOO:wxGrid_GetCellAlignment",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3,&_argo4)) +{ + _arg3 = &temp; +} +{ + _arg4 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellAlignment",_kwnames,&_argo0,&_arg1,&_arg2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -11405,20 +11415,6 @@ static PyObject *_wrap_wxGrid_GetCellAlignment(PyObject *self, PyObject *args, P return NULL; } } - if (_argo3) { - if (_argo3 == Py_None) { _arg3 = NULL; } - else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_GetCellAlignment. Expected _int_p."); - return NULL; - } - } - if (_argo4) { - if (_argo4 == Py_None) { _arg4 = NULL; } - else if (SWIG_GetPtrObj(_argo4,(void **) &_arg4,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 5 of wxGrid_GetCellAlignment. Expected _int_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); wxGrid_GetCellAlignment(_arg0,_arg1,_arg2,_arg3,_arg4); @@ -11427,6 +11423,16 @@ static PyObject *_wrap_wxGrid_GetCellAlignment(PyObject *self, PyObject *args, P if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; +{ + 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); +} return _resultobj; } @@ -11934,6 +11940,120 @@ static PyObject *_wrap_wxGrid_SetRowMinimalHeight(PyObject *self, PyObject *args return _resultobj; } +#define wxGrid_SetColMinimalAcceptableWidth(_swigobj,_swigarg0) (_swigobj->SetColMinimalAcceptableWidth(_swigarg0)) +static PyObject *_wrap_wxGrid_SetColMinimalAcceptableWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","width", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetColMinimalAcceptableWidth",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetColMinimalAcceptableWidth. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetColMinimalAcceptableWidth(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGrid_SetRowMinimalAcceptableHeight(_swigobj,_swigarg0) (_swigobj->SetRowMinimalAcceptableHeight(_swigarg0)) +static PyObject *_wrap_wxGrid_SetRowMinimalAcceptableHeight(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","width", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetRowMinimalAcceptableHeight",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetRowMinimalAcceptableHeight. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetRowMinimalAcceptableHeight(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGrid_GetColMinimalAcceptableWidth(_swigobj) (_swigobj->GetColMinimalAcceptableWidth()) +static PyObject *_wrap_wxGrid_GetColMinimalAcceptableWidth(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxGrid * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetColMinimalAcceptableWidth",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetColMinimalAcceptableWidth. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxGrid_GetColMinimalAcceptableWidth(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxGrid_GetRowMinimalAcceptableHeight(_swigobj) (_swigobj->GetRowMinimalAcceptableHeight()) +static PyObject *_wrap_wxGrid_GetRowMinimalAcceptableHeight(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxGrid * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetRowMinimalAcceptableHeight",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetRowMinimalAcceptableHeight. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxGrid_GetRowMinimalAcceptableHeight(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGrid_SetDefaultCellBackgroundColour(_swigobj,_swigarg0) (_swigobj->SetDefaultCellBackgroundColour(_swigarg0)) static PyObject *_wrap_wxGrid_SetDefaultCellBackgroundColour(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -15034,6 +15154,10 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_SetDefaultCellTextColour", (PyCFunction) _wrap_wxGrid_SetDefaultCellTextColour, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetCellBackgroundColour", (PyCFunction) _wrap_wxGrid_SetCellBackgroundColour, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetDefaultCellBackgroundColour", (PyCFunction) _wrap_wxGrid_SetDefaultCellBackgroundColour, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetRowMinimalAcceptableHeight", (PyCFunction) _wrap_wxGrid_GetRowMinimalAcceptableHeight, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetColMinimalAcceptableWidth", (PyCFunction) _wrap_wxGrid_GetColMinimalAcceptableWidth, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetRowMinimalAcceptableHeight", (PyCFunction) _wrap_wxGrid_SetRowMinimalAcceptableHeight, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetColMinimalAcceptableWidth", (PyCFunction) _wrap_wxGrid_SetColMinimalAcceptableWidth, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetRowMinimalHeight", (PyCFunction) _wrap_wxGrid_SetRowMinimalHeight, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetColMinimalWidth", (PyCFunction) _wrap_wxGrid_SetColMinimalWidth, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_AutoSizeColLabelSize", (PyCFunction) _wrap_wxGrid_AutoSizeColLabelSize, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/grid.py b/wxPython/src/gtk/grid.py index 258b2736ec..f8c13b6eab 100644 --- a/wxPython/src/gtk/grid.py +++ b/wxPython/src/gtk/grid.py @@ -70,29 +70,29 @@ class wxGridCellRendererPtr : self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer__setOORInfo,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer__setOORInfo(self, *_args, **_kwargs) return val def SetParameters(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_SetParameters,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_SetParameters(self, *_args, **_kwargs) return val def IncRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_IncRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_IncRef(self, *_args, **_kwargs) return val def DecRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_DecRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_DecRef(self, *_args, **_kwargs) return val def Draw(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_Draw,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_Draw(self, *_args, **_kwargs) return val def GetBestSize(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_GetBestSize,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_GetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def Clone(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellRenderer_Clone,(self,) + _args, _kwargs) + val = gridc.wxGridCellRenderer_Clone(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellRenderer(wxGridCellRendererPtr): def __init__(self,this): self.this = this @@ -105,16 +105,16 @@ class wxPyGridCellRendererPtr(wxGridCellRendererPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellRenderer__setCallbackInfo,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellRenderer__setCallbackInfo(self, *_args, **_kwargs) return val def base_SetParameters(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellRenderer_base_SetParameters,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellRenderer_base_SetParameters(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyGridCellRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyGridCellRenderer(wxPyGridCellRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxPyGridCellRenderer,_args,_kwargs) + self.this = gridc.new_wxPyGridCellRenderer(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyGridCellRenderer) self._setOORInfo(self) @@ -127,10 +127,10 @@ class wxGridCellStringRendererPtr(wxGridCellRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellStringRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellStringRenderer(wxGridCellStringRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellStringRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellStringRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -142,10 +142,10 @@ class wxGridCellNumberRendererPtr(wxGridCellStringRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellNumberRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellNumberRenderer(wxGridCellNumberRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellNumberRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellNumberRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -157,22 +157,22 @@ class wxGridCellFloatRendererPtr(wxGridCellStringRendererPtr): self.this = this self.thisown = 0 def GetWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellFloatRenderer_GetWidth,(self,) + _args, _kwargs) + val = gridc.wxGridCellFloatRenderer_GetWidth(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellFloatRenderer_SetWidth,(self,) + _args, _kwargs) + val = gridc.wxGridCellFloatRenderer_SetWidth(self, *_args, **_kwargs) return val def GetPrecision(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellFloatRenderer_GetPrecision,(self,) + _args, _kwargs) + val = gridc.wxGridCellFloatRenderer_GetPrecision(self, *_args, **_kwargs) return val def SetPrecision(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellFloatRenderer_SetPrecision,(self,) + _args, _kwargs) + val = gridc.wxGridCellFloatRenderer_SetPrecision(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellFloatRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellFloatRenderer(wxGridCellFloatRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellFloatRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellFloatRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -184,10 +184,10 @@ class wxGridCellBoolRendererPtr(wxGridCellRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellBoolRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellBoolRenderer(wxGridCellBoolRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellBoolRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellBoolRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -199,10 +199,10 @@ class wxGridCellDateTimeRendererPtr(wxGridCellStringRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellDateTimeRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellDateTimeRenderer(wxGridCellDateTimeRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellDateTimeRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellDateTimeRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -214,10 +214,10 @@ class wxGridCellEnumRendererPtr(wxGridCellStringRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellEnumRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellEnumRenderer(wxGridCellEnumRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellEnumRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellEnumRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -229,10 +229,10 @@ class wxGridCellAutoWrapStringRendererPtr(wxGridCellStringRendererPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellAutoWrapStringRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellAutoWrapStringRenderer(wxGridCellAutoWrapStringRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellAutoWrapStringRenderer,_args,_kwargs) + self.this = gridc.new_wxGridCellAutoWrapStringRenderer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -244,73 +244,73 @@ class wxGridCellEditorPtr : self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor__setOORInfo,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor__setOORInfo(self, *_args, **_kwargs) return val def IsCreated(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_IsCreated,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_IsCreated(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_GetControl,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_GetControl(self, *_args, **_kwargs) return val def SetControl(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_SetControl,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_SetControl(self, *_args, **_kwargs) return val def GetCellAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_GetCellAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_GetCellAttr(self, *_args, **_kwargs) return val def SetCellAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_SetCellAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_SetCellAttr(self, *_args, **_kwargs) return val def SetParameters(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_SetParameters,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_SetParameters(self, *_args, **_kwargs) return val def IncRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_IncRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_IncRef(self, *_args, **_kwargs) return val def DecRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_DecRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_DecRef(self, *_args, **_kwargs) return val def Create(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_Create,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_Create(self, *_args, **_kwargs) return val def BeginEdit(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_BeginEdit,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_BeginEdit(self, *_args, **_kwargs) return val def EndEdit(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_EndEdit,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_EndEdit(self, *_args, **_kwargs) return val def Reset(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_Reset,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_Reset(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_Clone,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_Clone(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_SetSize,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_SetSize(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_Show,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_Show(self, *_args, **_kwargs) return val def PaintBackground(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_PaintBackground,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_PaintBackground(self, *_args, **_kwargs) return val def IsAcceptedKey(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_IsAcceptedKey,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_IsAcceptedKey(self, *_args, **_kwargs) return val def StartingKey(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_StartingKey,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_StartingKey(self, *_args, **_kwargs) return val def StartingClick(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_StartingClick,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_StartingClick(self, *_args, **_kwargs) return val def HandleReturn(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_HandleReturn,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_HandleReturn(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEditor_Destroy,(self,) + _args, _kwargs) + val = gridc.wxGridCellEditor_Destroy(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellEditor(wxGridCellEditorPtr): def __init__(self,this): self.this = this @@ -323,40 +323,40 @@ class wxPyGridCellEditorPtr(wxGridCellEditorPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor__setCallbackInfo,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor__setCallbackInfo(self, *_args, **_kwargs) return val def base_SetSize(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_SetSize,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_SetSize(self, *_args, **_kwargs) return val def base_Show(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_Show,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_Show(self, *_args, **_kwargs) return val def base_PaintBackground(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_PaintBackground,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_PaintBackground(self, *_args, **_kwargs) return val def base_IsAcceptedKey(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_IsAcceptedKey,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_IsAcceptedKey(self, *_args, **_kwargs) return val def base_StartingKey(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_StartingKey,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_StartingKey(self, *_args, **_kwargs) return val def base_StartingClick(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_StartingClick,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_StartingClick(self, *_args, **_kwargs) return val def base_HandleReturn(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_HandleReturn,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_HandleReturn(self, *_args, **_kwargs) return val def base_Destroy(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_Destroy,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_Destroy(self, *_args, **_kwargs) return val def base_SetParameters(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellEditor_base_SetParameters,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellEditor_base_SetParameters(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyGridCellEditor(wxPyGridCellEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxPyGridCellEditor,_args,_kwargs) + self.this = gridc.new_wxPyGridCellEditor(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyGridCellEditor) self._setOORInfo(self) @@ -369,13 +369,13 @@ class wxGridCellTextEditorPtr(wxGridCellEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellTextEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellTextEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellTextEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellTextEditor(wxGridCellTextEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellTextEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellTextEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -387,13 +387,13 @@ class wxGridCellNumberEditorPtr(wxGridCellTextEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellNumberEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellNumberEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellNumberEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellNumberEditor(wxGridCellNumberEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellNumberEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellNumberEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -405,13 +405,13 @@ class wxGridCellFloatEditorPtr(wxGridCellTextEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellFloatEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellFloatEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellFloatEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellFloatEditor(wxGridCellFloatEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellFloatEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellFloatEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -423,13 +423,13 @@ class wxGridCellBoolEditorPtr(wxGridCellEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellBoolEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellBoolEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellBoolEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellBoolEditor(wxGridCellBoolEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellBoolEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellBoolEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -441,13 +441,13 @@ class wxGridCellChoiceEditorPtr(wxGridCellEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellChoiceEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellChoiceEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellChoiceEditor(wxGridCellChoiceEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellChoiceEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellChoiceEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -459,13 +459,13 @@ class wxGridCellEnumEditorPtr(wxGridCellChoiceEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellEnumEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellEnumEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellEnumEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellEnumEditor(wxGridCellEnumEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellEnumEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellEnumEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -477,13 +477,13 @@ class wxGridCellAutoWrapStringEditorPtr(wxGridCellTextEditorPtr): self.this = this self.thisown = 0 def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAutoWrapStringEditor_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridCellAutoWrapStringEditor_GetValue(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellAutoWrapStringEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellAutoWrapStringEditor(wxGridCellAutoWrapStringEditorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellAutoWrapStringEditor,_args,_kwargs) + self.this = gridc.new_wxGridCellAutoWrapStringEditor(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -501,109 +501,109 @@ class wxGridCellAttrPtr : self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr__setOORInfo,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr__setOORInfo(self, *_args, **_kwargs) return val def Clone(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_Clone,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_Clone(self, *_args, **_kwargs) return val def MergeWith(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_MergeWith,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_MergeWith(self, *_args, **_kwargs) return val def IncRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_IncRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_IncRef(self, *_args, **_kwargs) return val def DecRef(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_DecRef,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_DecRef(self, *_args, **_kwargs) return val def SetTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetTextColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetTextColour(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetBackgroundColour(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetFont,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetFont(self, *_args, **_kwargs) return val def SetAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetAlignment,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetAlignment(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetSize,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetSize(self, *_args, **_kwargs) return val def SetOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetOverflow,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetOverflow(self, *_args, **_kwargs) return val def SetReadOnly(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetReadOnly,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetReadOnly(self, *_args, **_kwargs) return val def SetRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetRenderer,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetRenderer(self, *_args, **_kwargs) return val def SetEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetEditor,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetEditor(self, *_args, **_kwargs) return val def SetKind(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetKind,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetKind(self, *_args, **_kwargs) return val def HasTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasTextColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasTextColour(self, *_args, **_kwargs) return val def HasBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasBackgroundColour(self, *_args, **_kwargs) return val def HasFont(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasFont,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasFont(self, *_args, **_kwargs) return val def HasAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasAlignment,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasAlignment(self, *_args, **_kwargs) return val def HasRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasRenderer,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasRenderer(self, *_args, **_kwargs) return val def HasEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasEditor,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasEditor(self, *_args, **_kwargs) return val def HasReadWriteMode(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_HasReadWriteMode,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_HasReadWriteMode(self, *_args, **_kwargs) return val def GetTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetTextColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFont(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetFont,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetAlignment,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetAlignment(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetSize,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetSize(self, *_args, **_kwargs) return val def GetOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetOverflow,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetOverflow(self, *_args, **_kwargs) return val def GetRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetRenderer,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetRenderer(self, *_args, **_kwargs) return val def GetEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_GetEditor,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_GetEditor(self, *_args, **_kwargs) return val def IsReadOnly(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_IsReadOnly,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_IsReadOnly(self, *_args, **_kwargs) return val def SetDefAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttr_SetDefAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttr_SetDefAttr(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellAttr(wxGridCellAttrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellAttr,_args,_kwargs) + self.this = gridc.new_wxGridCellAttr(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -615,31 +615,31 @@ class wxGridCellAttrProviderPtr : self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider__setOORInfo,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider__setOORInfo(self, *_args, **_kwargs) return val def GetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_GetAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_GetAttr(self, *_args, **_kwargs) return val def SetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_SetAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_SetAttr(self, *_args, **_kwargs) return val def SetRowAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_SetRowAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_SetRowAttr(self, *_args, **_kwargs) return val def SetColAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_SetColAttr,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_SetColAttr(self, *_args, **_kwargs) return val def UpdateAttrRows(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_UpdateAttrRows,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_UpdateAttrRows(self, *_args, **_kwargs) return val def UpdateAttrCols(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellAttrProvider_UpdateAttrCols,(self,) + _args, _kwargs) + val = gridc.wxGridCellAttrProvider_UpdateAttrCols(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridCellAttrProvider(wxGridCellAttrProviderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellAttrProvider,_args,_kwargs) + self.this = gridc.new_wxGridCellAttrProvider(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -651,25 +651,25 @@ class wxPyGridCellAttrProviderPtr(wxGridCellAttrProviderPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellAttrProvider__setCallbackInfo,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellAttrProvider__setCallbackInfo(self, *_args, **_kwargs) return val def base_GetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellAttrProvider_base_GetAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellAttrProvider_base_GetAttr(self, *_args, **_kwargs) return val def base_SetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellAttrProvider_base_SetAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellAttrProvider_base_SetAttr(self, *_args, **_kwargs) return val def base_SetRowAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellAttrProvider_base_SetRowAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellAttrProvider_base_SetRowAttr(self, *_args, **_kwargs) return val def base_SetColAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridCellAttrProvider_base_SetColAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridCellAttrProvider_base_SetColAttr(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyGridCellAttrProvider(wxPyGridCellAttrProviderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxPyGridCellAttrProvider,_args,_kwargs) + self.this = gridc.new_wxPyGridCellAttrProvider(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyGridCellAttrProvider) @@ -681,112 +681,112 @@ class wxGridTableBasePtr(wxObjectPtr): self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase__setOORInfo,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase__setOORInfo(self, *_args, **_kwargs) return val def SetAttrProvider(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetAttrProvider,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetAttrProvider(self, *_args, **_kwargs) return val def GetAttrProvider(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetAttrProvider,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetAttrProvider(self, *_args, **_kwargs) return val def SetView(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetView,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetView(self, *_args, **_kwargs) return val def GetView(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetView,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetView(self, *_args, **_kwargs) return val def GetNumberRows(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetNumberRows,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetNumberRows(self, *_args, **_kwargs) return val def GetNumberCols(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetNumberCols,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetNumberCols(self, *_args, **_kwargs) return val def IsEmptyCell(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_IsEmptyCell,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_IsEmptyCell(self, *_args, **_kwargs) return val def GetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetValue(self, *_args, **_kwargs) return val def SetValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetValue(self, *_args, **_kwargs) return val def GetTypeName(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetTypeName,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetTypeName(self, *_args, **_kwargs) return val def CanGetValueAs(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_CanGetValueAs,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_CanGetValueAs(self, *_args, **_kwargs) return val def CanSetValueAs(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_CanSetValueAs,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_CanSetValueAs(self, *_args, **_kwargs) return val def GetValueAsLong(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetValueAsLong,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetValueAsLong(self, *_args, **_kwargs) return val def GetValueAsDouble(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetValueAsDouble,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetValueAsDouble(self, *_args, **_kwargs) return val def GetValueAsBool(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetValueAsBool,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetValueAsBool(self, *_args, **_kwargs) return val def SetValueAsLong(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetValueAsLong,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetValueAsLong(self, *_args, **_kwargs) return val def SetValueAsDouble(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetValueAsDouble,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetValueAsDouble(self, *_args, **_kwargs) return val def SetValueAsBool(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetValueAsBool,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetValueAsBool(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_Clear,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_Clear(self, *_args, **_kwargs) return val def InsertRows(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_InsertRows,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_InsertRows(self, *_args, **_kwargs) return val def AppendRows(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_AppendRows,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_AppendRows(self, *_args, **_kwargs) return val def DeleteRows(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_DeleteRows,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_DeleteRows(self, *_args, **_kwargs) return val def InsertCols(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_InsertCols,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_InsertCols(self, *_args, **_kwargs) return val def AppendCols(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_AppendCols,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_AppendCols(self, *_args, **_kwargs) return val def DeleteCols(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_DeleteCols,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_DeleteCols(self, *_args, **_kwargs) return val def GetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetRowLabelValue(self, *_args, **_kwargs) return val def GetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetColLabelValue(self, *_args, **_kwargs) return val def SetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetRowLabelValue(self, *_args, **_kwargs) return val def SetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetColLabelValue(self, *_args, **_kwargs) return val def CanHaveAttributes(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_CanHaveAttributes,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_CanHaveAttributes(self, *_args, **_kwargs) return val def GetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_GetAttr,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_GetAttr(self, *_args, **_kwargs) return val def SetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetAttr,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetAttr(self, *_args, **_kwargs) return val def SetRowAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetRowAttr,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetRowAttr(self, *_args, **_kwargs) return val def SetColAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableBase_SetColAttr,(self,) + _args, _kwargs) + val = gridc.wxGridTableBase_SetColAttr(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridTableBase(wxGridTableBasePtr): def __init__(self,this): self.this = this @@ -799,73 +799,73 @@ class wxPyGridTableBasePtr(wxGridTableBasePtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase__setCallbackInfo,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase__setCallbackInfo(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_Destroy,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_Destroy(self, *_args, **_kwargs) return val def base_GetTypeName(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_GetTypeName,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_GetTypeName(self, *_args, **_kwargs) return val def base_CanGetValueAs(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_CanGetValueAs,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_CanGetValueAs(self, *_args, **_kwargs) return val def base_CanSetValueAs(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_CanSetValueAs,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_CanSetValueAs(self, *_args, **_kwargs) return val def base_Clear(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_Clear,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_Clear(self, *_args, **_kwargs) return val def base_InsertRows(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_InsertRows,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_InsertRows(self, *_args, **_kwargs) return val def base_AppendRows(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_AppendRows,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_AppendRows(self, *_args, **_kwargs) return val def base_DeleteRows(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_DeleteRows,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_DeleteRows(self, *_args, **_kwargs) return val def base_InsertCols(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_InsertCols,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_InsertCols(self, *_args, **_kwargs) return val def base_AppendCols(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_AppendCols,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_AppendCols(self, *_args, **_kwargs) return val def base_DeleteCols(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_DeleteCols,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_DeleteCols(self, *_args, **_kwargs) return val def base_GetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_GetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_GetRowLabelValue(self, *_args, **_kwargs) return val def base_GetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_GetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_GetColLabelValue(self, *_args, **_kwargs) return val def base_SetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_SetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_SetRowLabelValue(self, *_args, **_kwargs) return val def base_SetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_SetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_SetColLabelValue(self, *_args, **_kwargs) return val def base_CanHaveAttributes(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_CanHaveAttributes,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_CanHaveAttributes(self, *_args, **_kwargs) return val def base_GetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_GetAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_GetAttr(self, *_args, **_kwargs) return val def base_SetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_SetAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_SetAttr(self, *_args, **_kwargs) return val def base_SetRowAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_SetRowAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_SetRowAttr(self, *_args, **_kwargs) return val def base_SetColAttr(self, *_args, **_kwargs): - val = apply(gridc.wxPyGridTableBase_base_SetColAttr,(self,) + _args, _kwargs) + val = gridc.wxPyGridTableBase_base_SetColAttr(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyGridTableBase(wxPyGridTableBasePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxPyGridTableBase,_args,_kwargs) + self.this = gridc.new_wxPyGridTableBase(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyGridTableBase) self._setOORInfo(self) @@ -878,10 +878,10 @@ class wxGridStringTablePtr(wxGridTableBasePtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridStringTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridStringTable(wxGridStringTablePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridStringTable,_args,_kwargs) + self.this = gridc.new_wxGridStringTable(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -899,34 +899,34 @@ class wxGridTableMessagePtr : except: pass def SetTableObject(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_SetTableObject,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_SetTableObject(self, *_args, **_kwargs) return val def GetTableObject(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_GetTableObject,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_GetTableObject(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_SetId,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_SetId(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_GetId,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_GetId(self, *_args, **_kwargs) return val def SetCommandInt(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_SetCommandInt,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_SetCommandInt(self, *_args, **_kwargs) return val def GetCommandInt(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_GetCommandInt,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_GetCommandInt(self, *_args, **_kwargs) return val def SetCommandInt2(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_SetCommandInt2,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_SetCommandInt2(self, *_args, **_kwargs) return val def GetCommandInt2(self, *_args, **_kwargs): - val = apply(gridc.wxGridTableMessage_GetCommandInt2,(self,) + _args, _kwargs) + val = gridc.wxGridTableMessage_GetCommandInt2(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridTableMessage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridTableMessage(wxGridTableMessagePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridTableMessage,_args,_kwargs) + self.this = gridc.new_wxGridTableMessage(*_args,**_kwargs) self.thisown = 1 @@ -943,28 +943,28 @@ class wxGridCellCoordsPtr : except: pass def GetRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_GetRow,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_GetRow(self, *_args, **_kwargs) return val def SetRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_SetRow,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_SetRow(self, *_args, **_kwargs) return val def GetCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_GetCol,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_GetCol(self, *_args, **_kwargs) return val def SetCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_SetCol,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_SetCol(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_Set,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_Set(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords_asTuple,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords_asTuple(self, *_args, **_kwargs) return val def __cmp__(self, *_args, **_kwargs): - val = apply(gridc.wxGridCellCoords___cmp__,(self,) + _args, _kwargs) + val = gridc.wxGridCellCoords___cmp__(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridCellCoords instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxGridCellCoords'+str(self.asTuple()) @@ -977,7 +977,7 @@ class wxGridCellCoordsPtr : class wxGridCellCoords(wxGridCellCoordsPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridCellCoords,_args,_kwargs) + self.this = gridc.new_wxGridCellCoords(*_args,**_kwargs) self.thisown = 1 @@ -991,578 +991,590 @@ class wxGridPtr(wxScrolledWindowPtr): self.this = this self.thisown = 0 def CreateGrid(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CreateGrid,(self,) + _args, _kwargs) + val = gridc.wxGrid_CreateGrid(self, *_args, **_kwargs) return val def SetSelectionMode(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetSelectionMode,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetSelectionMode(self, *_args, **_kwargs) return val def GetSelectionMode(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectionMode,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectionMode(self, *_args, **_kwargs) return val def GetNumberRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetNumberRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetNumberRows(self, *_args, **_kwargs) return val def GetNumberCols(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetNumberCols,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetNumberCols(self, *_args, **_kwargs) return val def ProcessTableMessage(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_ProcessTableMessage,(self,) + _args, _kwargs) + val = gridc.wxGrid_ProcessTableMessage(self, *_args, **_kwargs) return val def GetTable(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetTable,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetTable(self, *_args, **_kwargs) return val def SetTable(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetTable,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetTable(self, *_args, **_kwargs) return val def ClearGrid(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_ClearGrid,(self,) + _args, _kwargs) + val = gridc.wxGrid_ClearGrid(self, *_args, **_kwargs) return val def InsertRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_InsertRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_InsertRows(self, *_args, **_kwargs) return val def AppendRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AppendRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_AppendRows(self, *_args, **_kwargs) return val def DeleteRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DeleteRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_DeleteRows(self, *_args, **_kwargs) return val def InsertCols(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_InsertCols,(self,) + _args, _kwargs) + val = gridc.wxGrid_InsertCols(self, *_args, **_kwargs) return val def AppendCols(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AppendCols,(self,) + _args, _kwargs) + val = gridc.wxGrid_AppendCols(self, *_args, **_kwargs) return val def DeleteCols(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DeleteCols,(self,) + _args, _kwargs) + val = gridc.wxGrid_DeleteCols(self, *_args, **_kwargs) return val def DrawCellHighlight(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DrawCellHighlight,(self,) + _args, _kwargs) + val = gridc.wxGrid_DrawCellHighlight(self, *_args, **_kwargs) return val def DrawTextRectangle(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DrawTextRectangle,(self,) + _args, _kwargs) + val = gridc.wxGrid_DrawTextRectangle(self, *_args, **_kwargs) return val def GetTextBoxSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetTextBoxSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetTextBoxSize(self, *_args, **_kwargs) return val def BeginBatch(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_BeginBatch,(self,) + _args, _kwargs) + val = gridc.wxGrid_BeginBatch(self, *_args, **_kwargs) return val def EndBatch(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EndBatch,(self,) + _args, _kwargs) + val = gridc.wxGrid_EndBatch(self, *_args, **_kwargs) return val def GetBatchCount(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetBatchCount,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetBatchCount(self, *_args, **_kwargs) return val def ForceRefresh(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_ForceRefresh,(self,) + _args, _kwargs) + val = gridc.wxGrid_ForceRefresh(self, *_args, **_kwargs) return val def Refresh(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_Refresh,(self,) + _args, _kwargs) + val = gridc.wxGrid_Refresh(self, *_args, **_kwargs) return val def IsEditable(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsEditable,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsEditable(self, *_args, **_kwargs) return val def EnableEditing(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableEditing,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableEditing(self, *_args, **_kwargs) return val def EnableCellEditControl(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableCellEditControl,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableCellEditControl(self, *_args, **_kwargs) return val def DisableCellEditControl(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DisableCellEditControl,(self,) + _args, _kwargs) + val = gridc.wxGrid_DisableCellEditControl(self, *_args, **_kwargs) return val def CanEnableCellControl(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CanEnableCellControl,(self,) + _args, _kwargs) + val = gridc.wxGrid_CanEnableCellControl(self, *_args, **_kwargs) return val def IsCellEditControlEnabled(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsCellEditControlEnabled,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsCellEditControlEnabled(self, *_args, **_kwargs) return val def IsCellEditControlShown(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsCellEditControlShown,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsCellEditControlShown(self, *_args, **_kwargs) return val def IsCurrentCellReadOnly(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsCurrentCellReadOnly,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsCurrentCellReadOnly(self, *_args, **_kwargs) return val def ShowCellEditControl(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_ShowCellEditControl,(self,) + _args, _kwargs) + val = gridc.wxGrid_ShowCellEditControl(self, *_args, **_kwargs) return val def HideCellEditControl(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_HideCellEditControl,(self,) + _args, _kwargs) + val = gridc.wxGrid_HideCellEditControl(self, *_args, **_kwargs) return val def SaveEditControlValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SaveEditControlValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_SaveEditControlValue(self, *_args, **_kwargs) return val def XYToCell(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_XYToCell,(self,) + _args, _kwargs) + val = gridc.wxGrid_XYToCell(self, *_args, **_kwargs) if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1 return val def YToRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_YToRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_YToRow(self, *_args, **_kwargs) return val def XToCol(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_XToCol,(self,) + _args, _kwargs) + val = gridc.wxGrid_XToCol(self, *_args, **_kwargs) return val def YToEdgeOfRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_YToEdgeOfRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_YToEdgeOfRow(self, *_args, **_kwargs) return val def XToEdgeOfCol(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_XToEdgeOfCol,(self,) + _args, _kwargs) + val = gridc.wxGrid_XToEdgeOfCol(self, *_args, **_kwargs) return val def CellToRect(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CellToRect,(self,) + _args, _kwargs) + val = gridc.wxGrid_CellToRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def GetGridCursorRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridCursorRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridCursorRow(self, *_args, **_kwargs) return val def GetGridCursorCol(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridCursorCol,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridCursorCol(self, *_args, **_kwargs) return val def IsVisible(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsVisible,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsVisible(self, *_args, **_kwargs) return val def MakeCellVisible(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MakeCellVisible,(self,) + _args, _kwargs) + val = gridc.wxGrid_MakeCellVisible(self, *_args, **_kwargs) return val def SetGridCursor(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetGridCursor,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetGridCursor(self, *_args, **_kwargs) return val def MoveCursorUp(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorUp,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorUp(self, *_args, **_kwargs) return val def MoveCursorDown(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorDown,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorDown(self, *_args, **_kwargs) return val def MoveCursorLeft(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorLeft,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorLeft(self, *_args, **_kwargs) return val def MoveCursorRight(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorRight,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorRight(self, *_args, **_kwargs) return val def MovePageDown(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MovePageDown,(self,) + _args, _kwargs) + val = gridc.wxGrid_MovePageDown(self, *_args, **_kwargs) return val def MovePageUp(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MovePageUp,(self,) + _args, _kwargs) + val = gridc.wxGrid_MovePageUp(self, *_args, **_kwargs) return val def MoveCursorUpBlock(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorUpBlock,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorUpBlock(self, *_args, **_kwargs) return val def MoveCursorDownBlock(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorDownBlock,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorDownBlock(self, *_args, **_kwargs) return val def MoveCursorLeftBlock(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorLeftBlock,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorLeftBlock(self, *_args, **_kwargs) return val def MoveCursorRightBlock(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_MoveCursorRightBlock,(self,) + _args, _kwargs) + val = gridc.wxGrid_MoveCursorRightBlock(self, *_args, **_kwargs) return val def GetDefaultRowLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultRowLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultRowLabelSize(self, *_args, **_kwargs) return val def GetRowLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetRowLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetRowLabelSize(self, *_args, **_kwargs) return val def GetDefaultColLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultColLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultColLabelSize(self, *_args, **_kwargs) return val def GetColLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetColLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetColLabelSize(self, *_args, **_kwargs) return val def GetLabelBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetLabelBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetLabelBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetLabelTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetLabelTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetLabelTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetLabelFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetLabelFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetLabelFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetRowLabelAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetRowLabelAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetRowLabelAlignment(self, *_args, **_kwargs) return val def GetColLabelAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetColLabelAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetColLabelAlignment(self, *_args, **_kwargs) return val def GetColLabelTextOrientation(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetColLabelTextOrientation,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetColLabelTextOrientation(self, *_args, **_kwargs) return val def GetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetRowLabelValue(self, *_args, **_kwargs) return val def GetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetColLabelValue(self, *_args, **_kwargs) return val def GetGridLineColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridLineColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridLineColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetCellHighlightColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellHighlightColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellHighlightColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetCellHighlightPenWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellHighlightPenWidth,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellHighlightPenWidth(self, *_args, **_kwargs) return val def GetCellHighlightROPenWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellHighlightROPenWidth,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellHighlightROPenWidth(self, *_args, **_kwargs) return val def SetRowLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowLabelSize(self, *_args, **_kwargs) return val def SetColLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColLabelSize(self, *_args, **_kwargs) return val def SetLabelBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetLabelBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetLabelBackgroundColour(self, *_args, **_kwargs) return val def SetLabelTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetLabelTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetLabelTextColour(self, *_args, **_kwargs) return val def SetLabelFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetLabelFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetLabelFont(self, *_args, **_kwargs) return val def SetRowLabelAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowLabelAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowLabelAlignment(self, *_args, **_kwargs) return val def SetColLabelAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColLabelAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColLabelAlignment(self, *_args, **_kwargs) return val def SetColLabelTextOrientation(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColLabelTextOrientation,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColLabelTextOrientation(self, *_args, **_kwargs) return val def SetRowLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowLabelValue(self, *_args, **_kwargs) return val def SetColLabelValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColLabelValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColLabelValue(self, *_args, **_kwargs) return val def SetGridLineColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetGridLineColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetGridLineColour(self, *_args, **_kwargs) return val def SetCellHighlightColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellHighlightColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellHighlightColour(self, *_args, **_kwargs) return val def SetCellHighlightPenWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellHighlightPenWidth,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellHighlightPenWidth(self, *_args, **_kwargs) return val def SetCellHighlightROPenWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellHighlightROPenWidth,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellHighlightROPenWidth(self, *_args, **_kwargs) return val def EnableDragRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableDragRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableDragRowSize(self, *_args, **_kwargs) return val def DisableDragRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DisableDragRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_DisableDragRowSize(self, *_args, **_kwargs) return val def CanDragRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CanDragRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_CanDragRowSize(self, *_args, **_kwargs) return val def EnableDragColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableDragColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableDragColSize(self, *_args, **_kwargs) return val def DisableDragColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DisableDragColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_DisableDragColSize(self, *_args, **_kwargs) return val def CanDragColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CanDragColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_CanDragColSize(self, *_args, **_kwargs) return val def EnableDragGridSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableDragGridSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableDragGridSize(self, *_args, **_kwargs) return val def DisableDragGridSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DisableDragGridSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_DisableDragGridSize(self, *_args, **_kwargs) return val def CanDragGridSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_CanDragGridSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_CanDragGridSize(self, *_args, **_kwargs) return val def SetAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetAttr,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetAttr(self, *_args, **_kwargs) return val def SetRowAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowAttr,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowAttr(self, *_args, **_kwargs) return val def SetColAttr(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColAttr,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColAttr(self, *_args, **_kwargs) return val def SetColFormatBool(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColFormatBool,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColFormatBool(self, *_args, **_kwargs) return val def SetColFormatNumber(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColFormatNumber,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColFormatNumber(self, *_args, **_kwargs) return val def SetColFormatFloat(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColFormatFloat,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColFormatFloat(self, *_args, **_kwargs) return val def SetColFormatCustom(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColFormatCustom,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColFormatCustom(self, *_args, **_kwargs) return val def EnableGridLines(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_EnableGridLines,(self,) + _args, _kwargs) + val = gridc.wxGrid_EnableGridLines(self, *_args, **_kwargs) return val def GridLinesEnabled(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GridLinesEnabled,(self,) + _args, _kwargs) + val = gridc.wxGrid_GridLinesEnabled(self, *_args, **_kwargs) return val def GetDefaultRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultRowSize(self, *_args, **_kwargs) return val def GetRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetRowSize(self, *_args, **_kwargs) return val def GetDefaultColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultColSize(self, *_args, **_kwargs) return val def GetColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetColSize(self, *_args, **_kwargs) return val def GetDefaultCellBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultCellBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultCellBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetCellBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetDefaultCellTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultCellTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultCellTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetCellTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellTextColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetDefaultCellFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultCellFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultCellFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetCellFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetDefaultCellAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultCellAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultCellAlignment(self, *_args, **_kwargs) return val def GetCellAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellAlignment(self, *_args, **_kwargs) return val def GetDefaultCellOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultCellOverflow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultCellOverflow(self, *_args, **_kwargs) return val def GetCellOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellOverflow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellOverflow(self, *_args, **_kwargs) return val def GetCellSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellSize(self, *_args, **_kwargs) return val def SetDefaultRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultRowSize(self, *_args, **_kwargs) return val def SetRowSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowSize(self, *_args, **_kwargs) return val def SetDefaultColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultColSize(self, *_args, **_kwargs) return val def SetColSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColSize(self, *_args, **_kwargs) return val def AutoSizeColumn(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeColumn,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeColumn(self, *_args, **_kwargs) return val def AutoSizeRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeRow(self, *_args, **_kwargs) return val def AutoSizeColumns(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeColumns,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeColumns(self, *_args, **_kwargs) return val def AutoSizeRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeRows(self, *_args, **_kwargs) return val def AutoSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSize(self, *_args, **_kwargs) return val def AutoSizeRowLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeRowLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeRowLabelSize(self, *_args, **_kwargs) return val def AutoSizeColLabelSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_AutoSizeColLabelSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_AutoSizeColLabelSize(self, *_args, **_kwargs) return val def SetColMinimalWidth(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetColMinimalWidth,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetColMinimalWidth(self, *_args, **_kwargs) return val def SetRowMinimalHeight(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetRowMinimalHeight,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetRowMinimalHeight(self, *_args, **_kwargs) + return val + def SetColMinimalAcceptableWidth(self, *_args, **_kwargs): + val = gridc.wxGrid_SetColMinimalAcceptableWidth(self, *_args, **_kwargs) + return val + def SetRowMinimalAcceptableHeight(self, *_args, **_kwargs): + val = gridc.wxGrid_SetRowMinimalAcceptableHeight(self, *_args, **_kwargs) + return val + def GetColMinimalAcceptableWidth(self, *_args, **_kwargs): + val = gridc.wxGrid_GetColMinimalAcceptableWidth(self, *_args, **_kwargs) + return val + def GetRowMinimalAcceptableHeight(self, *_args, **_kwargs): + val = gridc.wxGrid_GetRowMinimalAcceptableHeight(self, *_args, **_kwargs) return val def SetDefaultCellBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultCellBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultCellBackgroundColour(self, *_args, **_kwargs) return val def SetCellBackgroundColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellBackgroundColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellBackgroundColour(self, *_args, **_kwargs) return val def SetDefaultCellTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultCellTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultCellTextColour(self, *_args, **_kwargs) return val def SetCellTextColour(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellTextColour,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellTextColour(self, *_args, **_kwargs) return val def SetDefaultCellFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultCellFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultCellFont(self, *_args, **_kwargs) return val def SetCellFont(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellFont,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellFont(self, *_args, **_kwargs) return val def SetDefaultCellAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultCellAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultCellAlignment(self, *_args, **_kwargs) return val def SetCellAlignment(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellAlignment,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellAlignment(self, *_args, **_kwargs) return val def SetDefaultCellOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultCellOverflow,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultCellOverflow(self, *_args, **_kwargs) return val def SetCellOverflow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellOverflow,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellOverflow(self, *_args, **_kwargs) return val def SetCellSize(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellSize,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellSize(self, *_args, **_kwargs) return val def SetDefaultRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultRenderer,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultRenderer(self, *_args, **_kwargs) return val def SetCellRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellRenderer,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellRenderer(self, *_args, **_kwargs) return val def GetDefaultRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultRenderer,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultRenderer(self, *_args, **_kwargs) return val def GetCellRenderer(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellRenderer,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellRenderer(self, *_args, **_kwargs) return val def SetDefaultEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetDefaultEditor,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetDefaultEditor(self, *_args, **_kwargs) return val def SetCellEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellEditor,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellEditor(self, *_args, **_kwargs) return val def GetDefaultEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultEditor,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultEditor(self, *_args, **_kwargs) return val def GetCellEditor(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellEditor,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellEditor(self, *_args, **_kwargs) return val def GetCellValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetCellValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetCellValue(self, *_args, **_kwargs) return val def SetCellValue(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetCellValue,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetCellValue(self, *_args, **_kwargs) return val def IsReadOnly(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsReadOnly,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsReadOnly(self, *_args, **_kwargs) return val def SetReadOnly(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetReadOnly,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetReadOnly(self, *_args, **_kwargs) return val def SelectRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SelectRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_SelectRow(self, *_args, **_kwargs) return val def SelectCol(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SelectCol,(self,) + _args, _kwargs) + val = gridc.wxGrid_SelectCol(self, *_args, **_kwargs) return val def SelectBlock(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SelectBlock,(self,) + _args, _kwargs) + val = gridc.wxGrid_SelectBlock(self, *_args, **_kwargs) return val def SelectAll(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SelectAll,(self,) + _args, _kwargs) + val = gridc.wxGrid_SelectAll(self, *_args, **_kwargs) return val def IsSelection(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsSelection,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsSelection(self, *_args, **_kwargs) return val def ClearSelection(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_ClearSelection,(self,) + _args, _kwargs) + val = gridc.wxGrid_ClearSelection(self, *_args, **_kwargs) return val def IsInSelection(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_IsInSelection,(self,) + _args, _kwargs) + val = gridc.wxGrid_IsInSelection(self, *_args, **_kwargs) return val def GetSelectedCells(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectedCells,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectedCells(self, *_args, **_kwargs) return val def GetSelectionBlockTopLeft(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectionBlockTopLeft,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectionBlockTopLeft(self, *_args, **_kwargs) return val def GetSelectionBlockBottomRight(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectionBlockBottomRight,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectionBlockBottomRight(self, *_args, **_kwargs) return val def GetSelectedRows(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectedRows,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectedRows(self, *_args, **_kwargs) return val def GetSelectedCols(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectedCols,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectedCols(self, *_args, **_kwargs) return val def DeselectRow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DeselectRow,(self,) + _args, _kwargs) + val = gridc.wxGrid_DeselectRow(self, *_args, **_kwargs) return val def DeselectCol(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DeselectCol,(self,) + _args, _kwargs) + val = gridc.wxGrid_DeselectCol(self, *_args, **_kwargs) return val def DeselectCell(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_DeselectCell,(self,) + _args, _kwargs) + val = gridc.wxGrid_DeselectCell(self, *_args, **_kwargs) return val def BlockToDeviceRect(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_BlockToDeviceRect,(self,) + _args, _kwargs) + val = gridc.wxGrid_BlockToDeviceRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def GetSelectionBackground(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectionBackground,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectionBackground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetSelectionForeground(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetSelectionForeground,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetSelectionForeground(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetSelectionBackground(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetSelectionBackground,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetSelectionBackground(self, *_args, **_kwargs) return val def SetSelectionForeground(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetSelectionForeground,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetSelectionForeground(self, *_args, **_kwargs) return val def RegisterDataType(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_RegisterDataType,(self,) + _args, _kwargs) + val = gridc.wxGrid_RegisterDataType(self, *_args, **_kwargs) return val def GetDefaultEditorForCell(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultEditorForCell,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultEditorForCell(self, *_args, **_kwargs) return val def GetDefaultRendererForCell(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultRendererForCell,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultRendererForCell(self, *_args, **_kwargs) return val def GetDefaultEditorForType(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultEditorForType,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultEditorForType(self, *_args, **_kwargs) return val def GetDefaultRendererForType(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetDefaultRendererForType,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetDefaultRendererForType(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_SetMargins,(self,) + _args, _kwargs) + val = gridc.wxGrid_SetMargins(self, *_args, **_kwargs) return val def GetGridWindow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridWindow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridWindow(self, *_args, **_kwargs) return val def GetGridRowLabelWindow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridRowLabelWindow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridRowLabelWindow(self, *_args, **_kwargs) return val def GetGridColLabelWindow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridColLabelWindow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridColLabelWindow(self, *_args, **_kwargs) return val def GetGridCornerLabelWindow(self, *_args, **_kwargs): - val = apply(gridc.wxGrid_GetGridCornerLabelWindow,(self,) + _args, _kwargs) + val = gridc.wxGrid_GetGridCornerLabelWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGrid instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGrid(wxGridPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGrid,_args,_kwargs) + self.this = gridc.new_wxGrid(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -1574,35 +1586,35 @@ class wxGridEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_GetRow,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_GetRow(self, *_args, **_kwargs) return val def GetCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_GetCol,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_GetCol(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_GetPosition,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def Selecting(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_Selecting,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_Selecting(self, *_args, **_kwargs) return val def ControlDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_ControlDown,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_ControlDown(self, *_args, **_kwargs) return val def MetaDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_MetaDown,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_MetaDown(self, *_args, **_kwargs) return val def ShiftDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_ShiftDown,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_ShiftDown(self, *_args, **_kwargs) return val def AltDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridEvent_AltDown,(self,) + _args, _kwargs) + val = gridc.wxGridEvent_AltDown(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridEvent(wxGridEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridEvent,_args,_kwargs) + self.this = gridc.new_wxGridEvent(*_args,**_kwargs) self.thisown = 1 @@ -1613,29 +1625,29 @@ class wxGridSizeEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetRowOrCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_GetRowOrCol,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_GetRowOrCol(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_GetPosition,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ControlDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_ControlDown,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_ControlDown(self, *_args, **_kwargs) return val def MetaDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_MetaDown,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_MetaDown(self, *_args, **_kwargs) return val def ShiftDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_ShiftDown,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_ShiftDown(self, *_args, **_kwargs) return val def AltDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridSizeEvent_AltDown,(self,) + _args, _kwargs) + val = gridc.wxGridSizeEvent_AltDown(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridSizeEvent(wxGridSizeEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridSizeEvent,_args,_kwargs) + self.this = gridc.new_wxGridSizeEvent(*_args,**_kwargs) self.thisown = 1 @@ -1646,45 +1658,45 @@ class wxGridRangeSelectEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetTopLeftCoords(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetTopLeftCoords,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetTopLeftCoords(self, *_args, **_kwargs) if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1 return val def GetBottomRightCoords(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetBottomRightCoords,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetBottomRightCoords(self, *_args, **_kwargs) if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1 return val def GetTopRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetTopRow,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetTopRow(self, *_args, **_kwargs) return val def GetBottomRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetBottomRow,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetBottomRow(self, *_args, **_kwargs) return val def GetLeftCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetLeftCol,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetLeftCol(self, *_args, **_kwargs) return val def GetRightCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_GetRightCol,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_GetRightCol(self, *_args, **_kwargs) return val def Selecting(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_Selecting,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_Selecting(self, *_args, **_kwargs) return val def ControlDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_ControlDown,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_ControlDown(self, *_args, **_kwargs) return val def MetaDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_MetaDown,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_MetaDown(self, *_args, **_kwargs) return val def ShiftDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_ShiftDown,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_ShiftDown(self, *_args, **_kwargs) return val def AltDown(self, *_args, **_kwargs): - val = apply(gridc.wxGridRangeSelectEvent_AltDown,(self,) + _args, _kwargs) + val = gridc.wxGridRangeSelectEvent_AltDown(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridRangeSelectEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridRangeSelectEvent(wxGridRangeSelectEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridRangeSelectEvent,_args,_kwargs) + self.this = gridc.new_wxGridRangeSelectEvent(*_args,**_kwargs) self.thisown = 1 @@ -1695,28 +1707,28 @@ class wxGridEditorCreatedEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_GetRow,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_GetRow(self, *_args, **_kwargs) return val def GetCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_GetCol,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_GetCol(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_GetControl,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_GetControl(self, *_args, **_kwargs) return val def SetRow(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_SetRow,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_SetRow(self, *_args, **_kwargs) return val def SetCol(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_SetCol,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_SetCol(self, *_args, **_kwargs) return val def SetControl(self, *_args, **_kwargs): - val = apply(gridc.wxGridEditorCreatedEvent_SetControl,(self,) + _args, _kwargs) + val = gridc.wxGridEditorCreatedEvent_SetControl(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridEditorCreatedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridEditorCreatedEvent(wxGridEditorCreatedEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(gridc.new_wxGridEditorCreatedEvent,_args,_kwargs) + self.this = gridc.new_wxGridEditorCreatedEvent(*_args,**_kwargs) self.thisown = 1 diff --git a/wxPython/src/gtk/help.cpp b/wxPython/src/gtk/help.cpp index c9770753d4..1d71b4f305 100644 --- a/wxPython/src/gtk/help.cpp +++ b/wxPython/src/gtk/help.cpp @@ -719,7 +719,7 @@ static PyObject *_wrap_wxHelpProvider_ShowHelp(PyObject *self, PyObject *args, P PyObject * _resultobj; bool _result; wxHelpProvider * _arg0; - wxWindowBase * _arg1; + wxWindow * _arg1; PyObject * _argo0 = 0; PyObject * _argo1 = 0; char *_kwnames[] = { "self","window", NULL }; @@ -736,8 +736,8 @@ static PyObject *_wrap_wxHelpProvider_ShowHelp(PyObject *self, PyObject *args, P } if (_argo1) { if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindowBase_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_ShowHelp. Expected _wxWindowBase_p."); + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_ShowHelp. Expected _wxWindow_p."); return NULL; } } @@ -755,7 +755,7 @@ static PyObject *_wrap_wxHelpProvider_ShowHelp(PyObject *self, PyObject *args, P static PyObject *_wrap_wxHelpProvider_AddHelp(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxHelpProvider * _arg0; - wxWindowBase * _arg1; + wxWindow * _arg1; wxString * _arg2; PyObject * _argo0 = 0; PyObject * _argo1 = 0; @@ -774,8 +774,8 @@ static PyObject *_wrap_wxHelpProvider_AddHelp(PyObject *self, PyObject *args, Py } if (_argo1) { if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindowBase_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_AddHelp. Expected _wxWindowBase_p."); + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_AddHelp. Expected _wxWindow_p."); return NULL; } } diff --git a/wxPython/src/gtk/help.py b/wxPython/src/gtk/help.py index ac1612ba19..3e4ae411aa 100644 --- a/wxPython/src/gtk/help.py +++ b/wxPython/src/gtk/help.py @@ -33,29 +33,29 @@ class wxHelpEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def GetPosition(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_GetPosition,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) return val def SetPosition(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_SetPosition,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_SetPosition(self, *_args, **_kwargs) return val def GetLink(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_GetLink,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_GetLink(self, *_args, **_kwargs) return val def SetLink(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_SetLink,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_SetLink(self, *_args, **_kwargs) return val def GetTarget(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_GetTarget,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_GetTarget(self, *_args, **_kwargs) return val def SetTarget(self, *_args, **_kwargs): - val = apply(helpc.wxHelpEvent_SetTarget,(self,) + _args, _kwargs) + val = helpc.wxHelpEvent_SetTarget(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHelpEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHelpEvent(wxHelpEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(helpc.new_wxHelpEvent,_args,_kwargs) + self.this = helpc.new_wxHelpEvent(*_args,**_kwargs) self.thisown = 1 @@ -72,16 +72,16 @@ class wxContextHelpPtr(wxObjectPtr): except: pass def BeginContextHelp(self, *_args, **_kwargs): - val = apply(helpc.wxContextHelp_BeginContextHelp,(self,) + _args, _kwargs) + val = helpc.wxContextHelp_BeginContextHelp(self, *_args, **_kwargs) return val def EndContextHelp(self, *_args, **_kwargs): - val = apply(helpc.wxContextHelp_EndContextHelp,(self,) + _args, _kwargs) + val = helpc.wxContextHelp_EndContextHelp(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxContextHelp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxContextHelp(wxContextHelpPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(helpc.new_wxContextHelp,_args,_kwargs) + self.this = helpc.new_wxContextHelp(*_args,**_kwargs) self.thisown = 1 @@ -92,10 +92,10 @@ class wxContextHelpButtonPtr(wxBitmapButtonPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxContextHelpButton instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxContextHelpButton(wxContextHelpButtonPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(helpc.new_wxContextHelpButton,_args,_kwargs) + self.this = helpc.new_wxContextHelpButton(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -107,22 +107,22 @@ class wxHelpProviderPtr : self.this = this self.thisown = 0 def GetHelp(self, *_args, **_kwargs): - val = apply(helpc.wxHelpProvider_GetHelp,(self,) + _args, _kwargs) + val = helpc.wxHelpProvider_GetHelp(self, *_args, **_kwargs) return val def ShowHelp(self, *_args, **_kwargs): - val = apply(helpc.wxHelpProvider_ShowHelp,(self,) + _args, _kwargs) + val = helpc.wxHelpProvider_ShowHelp(self, *_args, **_kwargs) return val def AddHelp(self, *_args, **_kwargs): - val = apply(helpc.wxHelpProvider_AddHelp,(self,) + _args, _kwargs) + val = helpc.wxHelpProvider_AddHelp(self, *_args, **_kwargs) return val def AddHelpById(self, *_args, **_kwargs): - val = apply(helpc.wxHelpProvider_AddHelpById,(self,) + _args, _kwargs) + val = helpc.wxHelpProvider_AddHelpById(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(helpc.wxHelpProvider_Destroy,(self,) + _args, _kwargs) + val = helpc.wxHelpProvider_Destroy(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHelpProvider(wxHelpProviderPtr): def __init__(self,this): self.this = this @@ -135,10 +135,10 @@ class wxSimpleHelpProviderPtr(wxHelpProviderPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSimpleHelpProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSimpleHelpProvider(wxSimpleHelpProviderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(helpc.new_wxSimpleHelpProvider,_args,_kwargs) + self.this = helpc.new_wxSimpleHelpProvider(*_args,**_kwargs) self.thisown = 1 @@ -149,12 +149,12 @@ class wxSimpleHelpProvider(wxSimpleHelpProviderPtr): #-------------- FUNCTION WRAPPERS ------------------ def wxHelpProvider_Set(*_args, **_kwargs): - val = apply(helpc.wxHelpProvider_Set,_args,_kwargs) + val = helpc.wxHelpProvider_Set(*_args,**_kwargs) if val: val = wxHelpProviderPtr(val) return val def wxHelpProvider_Get(*_args, **_kwargs): - val = apply(helpc.wxHelpProvider_Get,_args,_kwargs) + val = helpc.wxHelpProvider_Get(*_args,**_kwargs) if val: val = wxHelpProviderPtr(val) return val diff --git a/wxPython/src/gtk/html.cpp b/wxPython/src/gtk/html.cpp index 29faa7e50a..f577cba551 100644 --- a/wxPython/src/gtk/html.cpp +++ b/wxPython/src/gtk/html.cpp @@ -1314,7 +1314,7 @@ static void *SwigwxHtmlWinParserTowxObject(void *ptr) { static PyObject *_wrap_new_wxHtmlWinParser(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxHtmlWinParser * _result; - wxHtmlWindow * _arg0 = (wxHtmlWindow *) NULL; + wxPyHtmlWindow * _arg0 = (wxPyHtmlWindow *) NULL; PyObject * _argo0 = 0; char *_kwnames[] = { "wnd", NULL }; char _ptemp[128]; @@ -1324,8 +1324,8 @@ static PyObject *_wrap_new_wxHtmlWinParser(PyObject *self, PyObject *args, PyObj return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHtmlWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxHtmlWinParser. Expected _wxHtmlWindow_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxHtmlWinParser. Expected _wxPyHtmlWindow_p."); return NULL; } } @@ -1469,7 +1469,7 @@ static PyObject *_wrap_wxHtmlWinParser_GetCharWidth(PyObject *self, PyObject *ar #define wxHtmlWinParser_GetWindow(_swigobj) (_swigobj->GetWindow()) static PyObject *_wrap_wxHtmlWinParser_GetWindow(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxHtmlWindow * _result; + wxPyHtmlWindow * _result; wxHtmlWinParser * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; @@ -1486,7 +1486,7 @@ static PyObject *_wrap_wxHtmlWinParser_GetWindow(PyObject *self, PyObject *args, } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxHtmlWindow *)wxHtmlWinParser_GetWindow(_arg0); + _result = (wxPyHtmlWindow *)wxHtmlWinParser_GetWindow(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3231,11 +3231,12 @@ static PyObject *_wrap_wxHtmlCell_AdjustPagebreak(PyObject *self, PyObject *args wxHtmlCell * _arg0; int * _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","pagebreak", NULL }; + int temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","INOUT", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlCell_AdjustPagebreak",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlCell_AdjustPagebreak",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -3244,13 +3245,10 @@ static PyObject *_wrap_wxHtmlCell_AdjustPagebreak(PyObject *self, PyObject *args return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_int_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHtmlCell_AdjustPagebreak. Expected _int_p."); - return NULL; - } - } +{ + temp = (int) PyInt_AsLong(_obj1); + _arg1 = &temp; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); _result = (bool )wxHtmlCell_AdjustPagebreak(_arg0,_arg1); @@ -3258,6 +3256,11 @@ static PyObject *_wrap_wxHtmlCell_AdjustPagebreak(PyObject *self, PyObject *args wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } _resultobj = Py_BuildValue("i",_result); +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} return _resultobj; } @@ -4465,6 +4468,45 @@ static PyObject *_wrap_wxHtmlWindow_LoadPage(PyObject *self, PyObject *args, PyO return _resultobj; } +#define wxHtmlWindow_LoadFile(_swigobj,_swigarg0) (_swigobj->LoadFile(_swigarg0)) +static PyObject *_wrap_wxHtmlWindow_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyHtmlWindow * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","filename", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHtmlWindow_LoadFile",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyHtmlWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHtmlWindow_LoadFile. Expected _wxPyHtmlWindow_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxHtmlWindow_LoadFile(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxHtmlWindow_AppendToPage(_swigobj,_swigarg0) (_swigobj->AppendToPage(_swigarg0)) static PyObject *_wrap_wxHtmlWindow_AppendToPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -6638,6 +6680,7 @@ static PyMethodDef htmlcMethods[] = { { "wxHtmlWindow_GetOpenedAnchor", (PyCFunction) _wrap_wxHtmlWindow_GetOpenedAnchor, METH_VARARGS | METH_KEYWORDS }, { "wxHtmlWindow_GetOpenedPage", (PyCFunction) _wrap_wxHtmlWindow_GetOpenedPage, METH_VARARGS | METH_KEYWORDS }, { "wxHtmlWindow_AppendToPage", (PyCFunction) _wrap_wxHtmlWindow_AppendToPage, METH_VARARGS | METH_KEYWORDS }, + { "wxHtmlWindow_LoadFile", (PyCFunction) _wrap_wxHtmlWindow_LoadFile, METH_VARARGS | METH_KEYWORDS }, { "wxHtmlWindow_LoadPage", (PyCFunction) _wrap_wxHtmlWindow_LoadPage, METH_VARARGS | METH_KEYWORDS }, { "wxHtmlWindow_SetPage", (PyCFunction) _wrap_wxHtmlWindow_SetPage, METH_VARARGS | METH_KEYWORDS }, { "wxHtmlWindow__setCallbackInfo", (PyCFunction) _wrap_wxHtmlWindow__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/html.py b/wxPython/src/gtk/html.py index 58e15a4d99..347a11e66a 100644 --- a/wxPython/src/gtk/html.py +++ b/wxPython/src/gtk/html.py @@ -48,29 +48,29 @@ class wxHtmlLinkInfoPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetHref(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_GetHref,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_GetHref(self, *_args, **_kwargs) return val def GetTarget(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_GetTarget,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_GetTarget(self, *_args, **_kwargs) return val def GetEvent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_GetEvent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_GetEvent(self, *_args, **_kwargs) return val def GetHtmlCell(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_GetHtmlCell,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_GetHtmlCell(self, *_args, **_kwargs) if val: val = wxHtmlCellPtr(val) return val def SetEvent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_SetEvent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_SetEvent(self, *_args, **_kwargs) return val def SetHtmlCell(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlLinkInfo_SetHtmlCell,(self,) + _args, _kwargs) + val = htmlc.wxHtmlLinkInfo_SetHtmlCell(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlLinkInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlLinkInfo(wxHtmlLinkInfoPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlLinkInfo,_args,_kwargs) + self.this = htmlc.new_wxHtmlLinkInfo(*_args,**_kwargs) self.thisown = 1 @@ -81,31 +81,31 @@ class wxHtmlTagPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetName(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetName,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetName(self, *_args, **_kwargs) return val def HasParam(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_HasParam,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_HasParam(self, *_args, **_kwargs) return val def GetParam(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetParam,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetParam(self, *_args, **_kwargs) return val def GetAllParams(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetAllParams,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetAllParams(self, *_args, **_kwargs) return val def HasEnding(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_HasEnding,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_HasEnding(self, *_args, **_kwargs) return val def GetBeginPos(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetBeginPos,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetBeginPos(self, *_args, **_kwargs) return val def GetEndPos1(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetEndPos1,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetEndPos1(self, *_args, **_kwargs) return val def GetEndPos2(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTag_GetEndPos2,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTag_GetEndPos2(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlTag instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlTag(wxHtmlTagPtr): def __init__(self,this): self.this = this @@ -118,40 +118,40 @@ class wxHtmlParserPtr(wxObjectPtr): self.this = this self.thisown = 0 def SetFS(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_SetFS,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_SetFS(self, *_args, **_kwargs) return val def GetFS(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_GetFS,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_GetFS(self, *_args, **_kwargs) return val def Parse(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_Parse,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_Parse(self, *_args, **_kwargs) return val def InitParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_InitParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_InitParser(self, *_args, **_kwargs) return val def DoneParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_DoneParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_DoneParser(self, *_args, **_kwargs) return val def DoParsing(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_DoParsing,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_DoParsing(self, *_args, **_kwargs) return val def StopParsing(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_StopParsing,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_StopParsing(self, *_args, **_kwargs) return val def AddTagHandler(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_AddTagHandler,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_AddTagHandler(self, *_args, **_kwargs) return val def GetSource(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_GetSource,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_GetSource(self, *_args, **_kwargs) return val def PushTagHandler(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_PushTagHandler,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_PushTagHandler(self, *_args, **_kwargs) return val def PopTagHandler(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlParser_PopTagHandler,(self,) + _args, _kwargs) + val = htmlc.wxHtmlParser_PopTagHandler(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlParser instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlParser(wxHtmlParserPtr): def __init__(self,this): self.this = this @@ -164,105 +164,105 @@ class wxHtmlWinParserPtr(wxHtmlParserPtr): self.this = this self.thisown = 0 def SetDC(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetDC,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetDC(self, *_args, **_kwargs) return val def GetDC(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetDC,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetDC(self, *_args, **_kwargs) return val def GetCharHeight(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetCharHeight,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetCharHeight(self, *_args, **_kwargs) return val def GetCharWidth(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetCharWidth,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetCharWidth(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetWindow,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetWindow(self, *_args, **_kwargs) return val def SetFonts(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFonts,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFonts(self, *_args, **_kwargs) return val def GetContainer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetContainer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetContainer(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def OpenContainer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_OpenContainer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_OpenContainer(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def SetContainer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetContainer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetContainer(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def CloseContainer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_CloseContainer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_CloseContainer(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def GetFontSize(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetFontSize,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetFontSize(self, *_args, **_kwargs) return val def SetFontSize(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFontSize,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFontSize(self, *_args, **_kwargs) return val def GetFontBold(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetFontBold,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetFontBold(self, *_args, **_kwargs) return val def SetFontBold(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFontBold,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFontBold(self, *_args, **_kwargs) return val def GetFontItalic(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetFontItalic,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetFontItalic(self, *_args, **_kwargs) return val def SetFontItalic(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFontItalic,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFontItalic(self, *_args, **_kwargs) return val def GetFontUnderlined(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetFontUnderlined,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetFontUnderlined(self, *_args, **_kwargs) return val def SetFontUnderlined(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFontUnderlined,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFontUnderlined(self, *_args, **_kwargs) return val def GetFontFixed(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetFontFixed,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetFontFixed(self, *_args, **_kwargs) return val def SetFontFixed(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetFontFixed,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetFontFixed(self, *_args, **_kwargs) return val def GetAlign(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetAlign,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetAlign(self, *_args, **_kwargs) return val def SetAlign(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetAlign,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetAlign(self, *_args, **_kwargs) return val def GetLinkColor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetLinkColor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetLinkColor(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetLinkColor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetLinkColor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetLinkColor(self, *_args, **_kwargs) return val def GetActualColor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetActualColor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetActualColor(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetActualColor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetActualColor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetActualColor(self, *_args, **_kwargs) return val def SetLink(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_SetLink,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_SetLink(self, *_args, **_kwargs) return val def CreateCurrentFont(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_CreateCurrentFont,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_CreateCurrentFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) return val def GetLink(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinParser_GetLink,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinParser_GetLink(self, *_args, **_kwargs) if val: val = wxHtmlLinkInfoPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlWinParser instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlWinParser(wxHtmlWinParserPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlWinParser,_args,_kwargs) + self.this = htmlc.new_wxHtmlWinParser(*_args,**_kwargs) self.thisown = 1 @@ -273,23 +273,23 @@ class wxHtmlTagHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTagHandler__setCallbackInfo,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTagHandler__setCallbackInfo(self, *_args, **_kwargs) return val def SetParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTagHandler_SetParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTagHandler_SetParser(self, *_args, **_kwargs) return val def GetParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTagHandler_GetParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTagHandler_GetParser(self, *_args, **_kwargs) if val: val = wxHtmlParserPtr(val) return val def ParseInner(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlTagHandler_ParseInner,(self,) + _args, _kwargs) + val = htmlc.wxHtmlTagHandler_ParseInner(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlTagHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlTagHandler(wxHtmlTagHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlTagHandler,_args,_kwargs) + self.this = htmlc.new_wxHtmlTagHandler(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxHtmlTagHandler) @@ -301,23 +301,23 @@ class wxHtmlWinTagHandlerPtr(wxHtmlTagHandlerPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinTagHandler__setCallbackInfo,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinTagHandler__setCallbackInfo(self, *_args, **_kwargs) return val def SetParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinTagHandler_SetParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinTagHandler_SetParser(self, *_args, **_kwargs) return val def GetParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinTagHandler_GetParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinTagHandler_GetParser(self, *_args, **_kwargs) if val: val = wxHtmlWinParserPtr(val) return val def ParseInner(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWinTagHandler_ParseInner,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWinTagHandler_ParseInner(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlWinTagHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlWinTagHandler(wxHtmlWinTagHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlWinTagHandler,_args,_kwargs) + self.this = htmlc.new_wxHtmlWinTagHandler(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxHtmlWinTagHandler) @@ -329,68 +329,68 @@ class wxHtmlCellPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetPosX(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetPosX,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetPosX(self, *_args, **_kwargs) return val def GetPosY(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetPosY,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetPosY(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetWidth,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetHeight,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetHeight(self, *_args, **_kwargs) return val def GetDescent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetDescent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetDescent(self, *_args, **_kwargs) return val def GetLink(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetLink,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetLink(self, *_args, **_kwargs) if val: val = wxHtmlLinkInfoPtr(val) return val def GetNext(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetNext,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetNext(self, *_args, **_kwargs) if val: val = wxHtmlCellPtr(val) return val def GetParent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_GetParent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_GetParent(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def SetLink(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_SetLink,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_SetLink(self, *_args, **_kwargs) return val def SetNext(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_SetNext,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_SetNext(self, *_args, **_kwargs) return val def SetParent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_SetParent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_SetParent(self, *_args, **_kwargs) return val def SetPos(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_SetPos,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_SetPos(self, *_args, **_kwargs) return val def Layout(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_Layout,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_Layout(self, *_args, **_kwargs) return val def Draw(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_Draw,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_Draw(self, *_args, **_kwargs) return val def DrawInvisible(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_DrawInvisible,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_DrawInvisible(self, *_args, **_kwargs) return val def Find(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_Find,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_Find(self, *_args, **_kwargs) if val: val = wxHtmlCellPtr(val) return val def AdjustPagebreak(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_AdjustPagebreak,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_AdjustPagebreak(self, *_args, **_kwargs) return val def SetCanLiveOnPagebreak(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlCell_SetCanLiveOnPagebreak,(self,) + _args, _kwargs) + val = htmlc.wxHtmlCell_SetCanLiveOnPagebreak(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlCell(wxHtmlCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlCell(*_args,**_kwargs) self.thisown = 1 @@ -401,10 +401,10 @@ class wxHtmlWordCellPtr(wxHtmlCellPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlWordCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlWordCell(wxHtmlWordCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlWordCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlWordCell(*_args,**_kwargs) self.thisown = 1 @@ -415,60 +415,60 @@ class wxHtmlContainerCellPtr(wxHtmlCellPtr): self.this = this self.thisown = 0 def InsertCell(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_InsertCell,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_InsertCell(self, *_args, **_kwargs) return val def SetAlignHor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetAlignHor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetAlignHor(self, *_args, **_kwargs) return val def GetAlignHor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetAlignHor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetAlignHor(self, *_args, **_kwargs) return val def SetAlignVer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetAlignVer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetAlignVer(self, *_args, **_kwargs) return val def GetAlignVer(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetAlignVer,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetAlignVer(self, *_args, **_kwargs) return val def SetIndent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetIndent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetIndent(self, *_args, **_kwargs) return val def GetIndent(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetIndent,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetIndent(self, *_args, **_kwargs) return val def GetIndentUnits(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetIndentUnits,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetIndentUnits(self, *_args, **_kwargs) return val def SetAlign(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetAlign,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetAlign(self, *_args, **_kwargs) return val def SetWidthFloat(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetWidthFloat,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetWidthFloat(self, *_args, **_kwargs) return val def SetWidthFloatFromTag(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetWidthFloatFromTag,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetWidthFloatFromTag(self, *_args, **_kwargs) return val def SetMinHeight(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetMinHeight,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetMinHeight(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetBackgroundColour,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetBackgroundColour(self, *_args, **_kwargs) return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetBackgroundColour,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetBorder(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_SetBorder,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_SetBorder(self, *_args, **_kwargs) return val def GetFirstCell(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlContainerCell_GetFirstCell,(self,) + _args, _kwargs) + val = htmlc.wxHtmlContainerCell_GetFirstCell(self, *_args, **_kwargs) if val: val = wxHtmlCellPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlContainerCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlContainerCell(wxHtmlContainerCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlContainerCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlContainerCell(*_args,**_kwargs) self.thisown = 1 @@ -479,10 +479,10 @@ class wxHtmlColourCellPtr(wxHtmlCellPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlColourCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlColourCell(wxHtmlColourCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlColourCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlColourCell(*_args,**_kwargs) self.thisown = 1 @@ -493,10 +493,10 @@ class wxHtmlFontCellPtr(wxHtmlCellPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlFontCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlFontCell(wxHtmlFontCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlFontCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlFontCell(*_args,**_kwargs) self.thisown = 1 @@ -507,10 +507,10 @@ class wxHtmlWidgetCellPtr(wxHtmlCellPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlWidgetCell instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlWidgetCell(wxHtmlWidgetCellPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlWidgetCell,_args,_kwargs) + self.this = htmlc.new_wxHtmlWidgetCell(*_args,**_kwargs) self.thisown = 1 @@ -521,13 +521,13 @@ class wxHtmlFilterPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlFilter__setCallbackInfo,(self,) + _args, _kwargs) + val = htmlc.wxHtmlFilter__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlFilter instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlFilter(wxHtmlFilterPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlFilter,_args,_kwargs) + self.this = htmlc.new_wxHtmlFilter(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxHtmlFilter) @@ -539,99 +539,102 @@ class wxHtmlWindowPtr(wxScrolledWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_Create,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_Create(self, *_args, **_kwargs) return val def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow__setCallbackInfo,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow__setCallbackInfo(self, *_args, **_kwargs) return val def SetPage(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetPage,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetPage(self, *_args, **_kwargs) return val def LoadPage(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_LoadPage,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_LoadPage(self, *_args, **_kwargs) + return val + def LoadFile(self, *_args, **_kwargs): + val = htmlc.wxHtmlWindow_LoadFile(self, *_args, **_kwargs) return val def AppendToPage(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_AppendToPage,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_AppendToPage(self, *_args, **_kwargs) return val def GetOpenedPage(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetOpenedPage,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetOpenedPage(self, *_args, **_kwargs) return val def GetOpenedAnchor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetOpenedAnchor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetOpenedAnchor(self, *_args, **_kwargs) return val def GetOpenedPageTitle(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetOpenedPageTitle,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetOpenedPageTitle(self, *_args, **_kwargs) return val def SetRelatedFrame(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetRelatedFrame,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetRelatedFrame(self, *_args, **_kwargs) return val def GetRelatedFrame(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetRelatedFrame,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetRelatedFrame(self, *_args, **_kwargs) return val def SetRelatedStatusBar(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetRelatedStatusBar,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetRelatedStatusBar(self, *_args, **_kwargs) return val def SetFonts(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetFonts,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetFonts(self, *_args, **_kwargs) return val def SetTitle(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetTitle,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetTitle(self, *_args, **_kwargs) return val def SetBorders(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_SetBorders,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_SetBorders(self, *_args, **_kwargs) return val def ReadCustomization(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_ReadCustomization,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_ReadCustomization(self, *_args, **_kwargs) return val def WriteCustomization(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_WriteCustomization,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_WriteCustomization(self, *_args, **_kwargs) return val def HistoryBack(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HistoryBack,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HistoryBack(self, *_args, **_kwargs) return val def HistoryForward(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HistoryForward,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HistoryForward(self, *_args, **_kwargs) return val def HistoryCanBack(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HistoryCanBack,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HistoryCanBack(self, *_args, **_kwargs) return val def HistoryCanForward(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HistoryCanForward,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HistoryCanForward(self, *_args, **_kwargs) return val def HistoryClear(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HistoryClear,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HistoryClear(self, *_args, **_kwargs) return val def GetInternalRepresentation(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetInternalRepresentation,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetInternalRepresentation(self, *_args, **_kwargs) if val: val = wxHtmlContainerCellPtr(val) return val def GetParser(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_GetParser,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_GetParser(self, *_args, **_kwargs) if val: val = wxHtmlWinParserPtr(val) return val def ScrollToAnchor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_ScrollToAnchor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_ScrollToAnchor(self, *_args, **_kwargs) return val def HasAnchor(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_HasAnchor,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_HasAnchor(self, *_args, **_kwargs) return val def base_OnLinkClicked(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_base_OnLinkClicked,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_base_OnLinkClicked(self, *_args, **_kwargs) return val def base_OnSetTitle(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_base_OnSetTitle,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_base_OnSetTitle(self, *_args, **_kwargs) return val def base_OnCellMouseHover(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_base_OnCellMouseHover,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_base_OnCellMouseHover(self, *_args, **_kwargs) return val def base_OnCellClicked(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlWindow_base_OnCellClicked,(self,) + _args, _kwargs) + val = htmlc.wxHtmlWindow_base_OnCellClicked(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlWindow(wxHtmlWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlWindow,_args,_kwargs) + self.this = htmlc.new_wxHtmlWindow(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxHtmlWindow) self._setOORInfo(self) @@ -639,7 +642,7 @@ class wxHtmlWindow(wxHtmlWindowPtr): def wxPreHtmlWindow(*_args,**_kwargs): - val = wxHtmlWindowPtr(apply(htmlc.new_wxPreHtmlWindow,_args,_kwargs)) + val = wxHtmlWindowPtr(htmlc.new_wxPreHtmlWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -656,28 +659,28 @@ class wxHtmlDCRendererPtr(wxObjectPtr): except: pass def SetDC(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_SetDC,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_SetDC(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_SetSize,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_SetSize(self, *_args, **_kwargs) return val def SetHtmlText(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_SetHtmlText,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_SetHtmlText(self, *_args, **_kwargs) return val def SetFonts(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_SetFonts,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_SetFonts(self, *_args, **_kwargs) return val def Render(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_Render,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_Render(self, *_args, **_kwargs) return val def GetTotalHeight(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlDCRenderer_GetTotalHeight,(self,) + _args, _kwargs) + val = htmlc.wxHtmlDCRenderer_GetTotalHeight(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlDCRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlDCRenderer(wxHtmlDCRendererPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlDCRenderer,_args,_kwargs) + self.this = htmlc.new_wxHtmlDCRenderer(*_args,**_kwargs) self.thisown = 1 @@ -688,28 +691,28 @@ class wxHtmlPrintoutPtr(wxPrintoutPtr): self.this = this self.thisown = 0 def SetHtmlText(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetHtmlText,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetHtmlText(self, *_args, **_kwargs) return val def SetHtmlFile(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetHtmlFile,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetHtmlFile(self, *_args, **_kwargs) return val def SetHeader(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetHeader,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetHeader(self, *_args, **_kwargs) return val def SetFooter(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetFooter,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetFooter(self, *_args, **_kwargs) return val def SetFonts(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetFonts,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetFonts(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlPrintout_SetMargins,(self,) + _args, _kwargs) + val = htmlc.wxHtmlPrintout_SetMargins(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlPrintout instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlPrintout(wxHtmlPrintoutPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlPrintout,_args,_kwargs) + self.this = htmlc.new_wxHtmlPrintout(*_args,**_kwargs) self.thisown = 1 @@ -726,45 +729,45 @@ class wxHtmlEasyPrintingPtr(wxObjectPtr): except: pass def PreviewFile(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PreviewFile,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PreviewFile(self, *_args, **_kwargs) return val def PreviewText(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PreviewText,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PreviewText(self, *_args, **_kwargs) return val def PrintFile(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PrintFile,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PrintFile(self, *_args, **_kwargs) return val def PrintText(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PrintText,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PrintText(self, *_args, **_kwargs) return val def PrinterSetup(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PrinterSetup,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PrinterSetup(self, *_args, **_kwargs) return val def PageSetup(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_PageSetup,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_PageSetup(self, *_args, **_kwargs) return val def SetHeader(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_SetHeader,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_SetHeader(self, *_args, **_kwargs) return val def SetFooter(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_SetFooter,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_SetFooter(self, *_args, **_kwargs) return val def SetFonts(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_SetFonts,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_SetFonts(self, *_args, **_kwargs) return val def GetPrintData(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_GetPrintData,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_GetPrintData(self, *_args, **_kwargs) if val: val = wxPrintDataPtr(val) return val def GetPageSetupData(self, *_args, **_kwargs): - val = apply(htmlc.wxHtmlEasyPrinting_GetPageSetupData,(self,) + _args, _kwargs) + val = htmlc.wxHtmlEasyPrinting_GetPageSetupData(self, *_args, **_kwargs) if val: val = wxPageSetupDialogDataPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlEasyPrinting instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlEasyPrinting(wxHtmlEasyPrintingPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlc.new_wxHtmlEasyPrinting,_args,_kwargs) + self.this = htmlc.new_wxHtmlEasyPrinting(*_args,**_kwargs) self.thisown = 1 diff --git a/wxPython/src/gtk/htmlhelp.py b/wxPython/src/gtk/htmlhelp.py index 33fdd1e5df..778663be9f 100644 --- a/wxPython/src/gtk/htmlhelp.py +++ b/wxPython/src/gtk/htmlhelp.py @@ -47,43 +47,43 @@ class wxHtmlBookRecordPtr : self.this = this self.thisown = 0 def GetBookFile(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetBookFile,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetBookFile(self, *_args, **_kwargs) return val def GetTitle(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetTitle,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetTitle(self, *_args, **_kwargs) return val def GetStart(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetStart,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetStart(self, *_args, **_kwargs) return val def GetBasePath(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetBasePath,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetBasePath(self, *_args, **_kwargs) return val def SetContentsRange(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_SetContentsRange,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_SetContentsRange(self, *_args, **_kwargs) return val def GetContentsStart(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetContentsStart,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetContentsStart(self, *_args, **_kwargs) return val def GetContentsEnd(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetContentsEnd,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetContentsEnd(self, *_args, **_kwargs) return val def SetTitle(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_SetTitle,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_SetTitle(self, *_args, **_kwargs) return val def SetBasePath(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_SetBasePath,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_SetBasePath(self, *_args, **_kwargs) return val def SetStart(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_SetStart,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_SetStart(self, *_args, **_kwargs) return val def GetFullPath(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlBookRecord_GetFullPath,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlBookRecord_GetFullPath(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlBookRecord instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlBookRecord(wxHtmlBookRecordPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlhelpc.new_wxHtmlBookRecord,_args,_kwargs) + self.this = htmlhelpc.new_wxHtmlBookRecord(*_args,**_kwargs) self.thisown = 1 @@ -94,23 +94,23 @@ class wxHtmlContentsItemPtr : self.this = this self.thisown = 0 def GetLevel(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlContentsItem_GetLevel,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlContentsItem_GetLevel(self, *_args, **_kwargs) return val def GetID(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlContentsItem_GetID,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlContentsItem_GetID(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlContentsItem_GetName,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlContentsItem_GetName(self, *_args, **_kwargs) return val def GetPage(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlContentsItem_GetPage,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlContentsItem_GetPage(self, *_args, **_kwargs) return val def GetBook(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlContentsItem_GetBook,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlContentsItem_GetBook(self, *_args, **_kwargs) if val: val = wxHtmlBookRecordPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlContentsItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlContentsItem(wxHtmlContentsItemPtr): def __init__(self,this): self.this = this @@ -123,26 +123,26 @@ class wxHtmlSearchStatusPtr : self.this = this self.thisown = 0 def Search(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_Search,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_Search(self, *_args, **_kwargs) return val def IsActive(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_IsActive,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_IsActive(self, *_args, **_kwargs) return val def GetCurIndex(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_GetCurIndex,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_GetCurIndex(self, *_args, **_kwargs) return val def GetMaxIndex(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_GetMaxIndex,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_GetMaxIndex(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_GetName,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_GetName(self, *_args, **_kwargs) return val def GetContentsItem(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlSearchStatus_GetContentsItem,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlSearchStatus_GetContentsItem(self, *_args, **_kwargs) if val: val = wxHtmlContentsItemPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlSearchStatus instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlSearchStatus(wxHtmlSearchStatusPtr): def __init__(self,this): self.this = this @@ -161,39 +161,39 @@ class wxHtmlHelpDataPtr : except: pass def SetTempDir(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_SetTempDir,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_SetTempDir(self, *_args, **_kwargs) return val def AddBook(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_AddBook,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_AddBook(self, *_args, **_kwargs) return val def FindPageByName(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_FindPageByName,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_FindPageByName(self, *_args, **_kwargs) return val def FindPageById(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_FindPageById,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_FindPageById(self, *_args, **_kwargs) return val def GetBookRecArray(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_GetBookRecArray,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_GetBookRecArray(self, *_args, **_kwargs) return val def GetContents(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_GetContents,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_GetContents(self, *_args, **_kwargs) if val: val = wxHtmlContentsItemPtr(val) return val def GetContentsCnt(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_GetContentsCnt,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_GetContentsCnt(self, *_args, **_kwargs) return val def GetIndex(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_GetIndex,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_GetIndex(self, *_args, **_kwargs) if val: val = wxHtmlContentsItemPtr(val) return val def GetIndexCnt(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpData_GetIndexCnt,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpData_GetIndexCnt(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlHelpData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlHelpData(wxHtmlHelpDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlhelpc.new_wxHtmlHelpData,_args,_kwargs) + self.this = htmlhelpc.new_wxHtmlHelpData(*_args,**_kwargs) self.thisown = 1 @@ -204,41 +204,41 @@ class wxHtmlHelpFramePtr(wxFramePtr): self.this = this self.thisown = 0 def GetData(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_GetData,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_GetData(self, *_args, **_kwargs) if val: val = wxHtmlHelpDataPtr(val) return val def SetTitleFormat(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_SetTitleFormat,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_SetTitleFormat(self, *_args, **_kwargs) return val def Display(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_Display,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_Display(self, *_args, **_kwargs) return val def DisplayID(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_DisplayID,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_DisplayID(self, *_args, **_kwargs) return val def DisplayContents(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_DisplayContents,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_DisplayContents(self, *_args, **_kwargs) return val def DisplayIndex(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_DisplayIndex,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_DisplayIndex(self, *_args, **_kwargs) return val def KeywordSearch(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_KeywordSearch,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_KeywordSearch(self, *_args, **_kwargs) return val def UseConfig(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_UseConfig,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_UseConfig(self, *_args, **_kwargs) return val def ReadCustomization(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_ReadCustomization,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_ReadCustomization(self, *_args, **_kwargs) return val def WriteCustomization(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpFrame_WriteCustomization,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpFrame_WriteCustomization(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlHelpFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlHelpFrame(wxHtmlHelpFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlhelpc.new_wxHtmlHelpFrame,_args,_kwargs) + self.this = htmlhelpc.new_wxHtmlHelpFrame(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -256,47 +256,47 @@ class wxHtmlHelpControllerPtr(wxEvtHandlerPtr): except: pass def SetTitleFormat(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_SetTitleFormat,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_SetTitleFormat(self, *_args, **_kwargs) return val def SetTempDir(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_SetTempDir,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_SetTempDir(self, *_args, **_kwargs) return val def AddBook(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_AddBook,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_AddBook(self, *_args, **_kwargs) return val def Display(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_Display,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_Display(self, *_args, **_kwargs) return val def DisplayID(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_DisplayID,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_DisplayID(self, *_args, **_kwargs) return val def DisplayContents(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_DisplayContents,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_DisplayContents(self, *_args, **_kwargs) return val def DisplayIndex(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_DisplayIndex,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_DisplayIndex(self, *_args, **_kwargs) return val def KeywordSearch(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_KeywordSearch,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_KeywordSearch(self, *_args, **_kwargs) return val def UseConfig(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_UseConfig,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_UseConfig(self, *_args, **_kwargs) return val def ReadCustomization(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_ReadCustomization,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_ReadCustomization(self, *_args, **_kwargs) return val def WriteCustomization(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_WriteCustomization,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_WriteCustomization(self, *_args, **_kwargs) return val def GetFrame(self, *_args, **_kwargs): - val = apply(htmlhelpc.wxHtmlHelpController_GetFrame,(self,) + _args, _kwargs) + val = htmlhelpc.wxHtmlHelpController_GetFrame(self, *_args, **_kwargs) if val: val = wxHtmlHelpFramePtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxHtmlHelpController instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxHtmlHelpController(wxHtmlHelpControllerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(htmlhelpc.new_wxHtmlHelpController,_args,_kwargs) + self.this = htmlhelpc.new_wxHtmlHelpController(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) diff --git a/wxPython/src/gtk/image.py b/wxPython/src/gtk/image.py index c4d1896bd2..1aecd98a17 100644 --- a/wxPython/src/gtk/image.py +++ b/wxPython/src/gtk/image.py @@ -13,13 +13,13 @@ class wxImageHistogramPtr : self.this = this self.thisown = 0 def FindFirstUnusedColour(self, *_args, **_kwargs): - val = apply(imagec.wxImageHistogram_FindFirstUnusedColour,(self,) + _args, _kwargs) + val = imagec.wxImageHistogram_FindFirstUnusedColour(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxImageHistogram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxImageHistogram(wxImageHistogramPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxImageHistogram,_args,_kwargs) + self.this = imagec.new_wxImageHistogram(*_args,**_kwargs) self.thisown = 1 @@ -30,34 +30,34 @@ class wxImageHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetName(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_GetName,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_GetName(self, *_args, **_kwargs) return val def GetExtension(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_GetExtension,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_GetExtension(self, *_args, **_kwargs) return val def GetType(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_GetType,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_GetType(self, *_args, **_kwargs) return val def GetMimeType(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_GetMimeType,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_GetMimeType(self, *_args, **_kwargs) return val def CanRead(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_CanRead,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_CanRead(self, *_args, **_kwargs) return val def SetName(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_SetName,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_SetName(self, *_args, **_kwargs) return val def SetExtension(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_SetExtension,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_SetExtension(self, *_args, **_kwargs) return val def SetType(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_SetType,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_SetType(self, *_args, **_kwargs) return val def SetMimeType(self, *_args, **_kwargs): - val = apply(imagec.wxImageHandler_SetMimeType,(self,) + _args, _kwargs) + val = imagec.wxImageHandler_SetMimeType(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxImageHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxImageHandler(wxImageHandlerPtr): def __init__(self,this): self.this = this @@ -70,10 +70,10 @@ class wxPNGHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPNGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPNGHandler(wxPNGHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxPNGHandler,_args,_kwargs) + self.this = imagec.new_wxPNGHandler(*_args,**_kwargs) self.thisown = 1 @@ -84,10 +84,10 @@ class wxJPEGHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxJPEGHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxJPEGHandler(wxJPEGHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxJPEGHandler,_args,_kwargs) + self.this = imagec.new_wxJPEGHandler(*_args,**_kwargs) self.thisown = 1 @@ -98,10 +98,10 @@ class wxBMPHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBMPHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBMPHandler(wxBMPHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxBMPHandler,_args,_kwargs) + self.this = imagec.new_wxBMPHandler(*_args,**_kwargs) self.thisown = 1 @@ -112,10 +112,10 @@ class wxICOHandlerPtr(wxBMPHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxICOHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxICOHandler(wxICOHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxICOHandler,_args,_kwargs) + self.this = imagec.new_wxICOHandler(*_args,**_kwargs) self.thisown = 1 @@ -126,10 +126,10 @@ class wxCURHandlerPtr(wxICOHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCURHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCURHandler(wxCURHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxCURHandler,_args,_kwargs) + self.this = imagec.new_wxCURHandler(*_args,**_kwargs) self.thisown = 1 @@ -140,10 +140,10 @@ class wxANIHandlerPtr(wxCURHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxANIHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxANIHandler(wxANIHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxANIHandler,_args,_kwargs) + self.this = imagec.new_wxANIHandler(*_args,**_kwargs) self.thisown = 1 @@ -154,10 +154,10 @@ class wxGIFHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGIFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGIFHandler(wxGIFHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxGIFHandler,_args,_kwargs) + self.this = imagec.new_wxGIFHandler(*_args,**_kwargs) self.thisown = 1 @@ -168,10 +168,10 @@ class wxPNMHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPNMHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPNMHandler(wxPNMHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxPNMHandler,_args,_kwargs) + self.this = imagec.new_wxPNMHandler(*_args,**_kwargs) self.thisown = 1 @@ -182,10 +182,10 @@ class wxPCXHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPCXHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPCXHandler(wxPCXHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxPCXHandler,_args,_kwargs) + self.this = imagec.new_wxPCXHandler(*_args,**_kwargs) self.thisown = 1 @@ -196,10 +196,10 @@ class wxTIFFHandlerPtr(wxImageHandlerPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTIFFHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTIFFHandler(wxTIFFHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxTIFFHandler,_args,_kwargs) + self.this = imagec.new_wxTIFFHandler(*_args,**_kwargs) self.thisown = 1 @@ -216,183 +216,184 @@ class wxImagePtr(wxObjectPtr): except: pass def Create(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Create,(self,) + _args, _kwargs) + val = imagec.wxImage_Create(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Destroy,(self,) + _args, _kwargs) + val = imagec.wxImage_Destroy(self, *_args, **_kwargs) return val def Scale(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Scale,(self,) + _args, _kwargs) + val = imagec.wxImage_Scale(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def ShrinkBy(self, *_args, **_kwargs): - val = apply(imagec.wxImage_ShrinkBy,(self,) + _args, _kwargs) + val = imagec.wxImage_ShrinkBy(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Rescale(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Rescale,(self,) + _args, _kwargs) + val = imagec.wxImage_Rescale(self, *_args, **_kwargs) if val: val = wxImagePtr(val) return val def SetRGB(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetRGB,(self,) + _args, _kwargs) + val = imagec.wxImage_SetRGB(self, *_args, **_kwargs) return val def GetRed(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetRed,(self,) + _args, _kwargs) + val = imagec.wxImage_GetRed(self, *_args, **_kwargs) return val def GetGreen(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetGreen,(self,) + _args, _kwargs) + val = imagec.wxImage_GetGreen(self, *_args, **_kwargs) return val def GetBlue(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetBlue,(self,) + _args, _kwargs) + val = imagec.wxImage_GetBlue(self, *_args, **_kwargs) return val def SetAlpha(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetAlpha,(self,) + _args, _kwargs) + val = imagec.wxImage_SetAlpha(self, *_args, **_kwargs) return val def GetAlpha(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetAlpha,(self,) + _args, _kwargs) + val = imagec.wxImage_GetAlpha(self, *_args, **_kwargs) return val def HasAlpha(self, *_args, **_kwargs): - val = apply(imagec.wxImage_HasAlpha,(self,) + _args, _kwargs) + val = imagec.wxImage_HasAlpha(self, *_args, **_kwargs) return val def FindFirstUnusedColour(self, *_args, **_kwargs): - val = apply(imagec.wxImage_FindFirstUnusedColour,(self,) + _args, _kwargs) + val = imagec.wxImage_FindFirstUnusedColour(self, *_args, **_kwargs) return val def SetMaskFromImage(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetMaskFromImage,(self,) + _args, _kwargs) + val = imagec.wxImage_SetMaskFromImage(self, *_args, **_kwargs) return val def LoadFile(self, *_args, **_kwargs): - val = apply(imagec.wxImage_LoadFile,(self,) + _args, _kwargs) + val = imagec.wxImage_LoadFile(self, *_args, **_kwargs) return val def LoadMimeFile(self, *_args, **_kwargs): - val = apply(imagec.wxImage_LoadMimeFile,(self,) + _args, _kwargs) + val = imagec.wxImage_LoadMimeFile(self, *_args, **_kwargs) return val def SaveFile(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SaveFile,(self,) + _args, _kwargs) + val = imagec.wxImage_SaveFile(self, *_args, **_kwargs) return val def SaveMimeFile(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SaveMimeFile,(self,) + _args, _kwargs) + val = imagec.wxImage_SaveMimeFile(self, *_args, **_kwargs) return val def LoadStream(self, *_args, **_kwargs): - val = apply(imagec.wxImage_LoadStream,(self,) + _args, _kwargs) + val = imagec.wxImage_LoadStream(self, *_args, **_kwargs) return val def LoadMimeStream(self, *_args, **_kwargs): - val = apply(imagec.wxImage_LoadMimeStream,(self,) + _args, _kwargs) + val = imagec.wxImage_LoadMimeStream(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Ok,(self,) + _args, _kwargs) + val = imagec.wxImage_Ok(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetWidth,(self,) + _args, _kwargs) + val = imagec.wxImage_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetHeight,(self,) + _args, _kwargs) + val = imagec.wxImage_GetHeight(self, *_args, **_kwargs) return val def GetSubImage(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetSubImage,(self,) + _args, _kwargs) + val = imagec.wxImage_GetSubImage(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Copy(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Copy,(self,) + _args, _kwargs) + val = imagec.wxImage_Copy(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Paste(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Paste,(self,) + _args, _kwargs) + val = imagec.wxImage_Paste(self, *_args, **_kwargs) return val def GetData(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetData,(self,) + _args, _kwargs) + val = imagec.wxImage_GetData(self, *_args, **_kwargs) return val def SetData(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetData,(self,) + _args, _kwargs) + val = imagec.wxImage_SetData(self, *_args, **_kwargs) return val def GetDataBuffer(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetDataBuffer,(self,) + _args, _kwargs) + val = imagec.wxImage_GetDataBuffer(self, *_args, **_kwargs) return val def SetDataBuffer(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetDataBuffer,(self,) + _args, _kwargs) + val = imagec.wxImage_SetDataBuffer(self, *_args, **_kwargs) return val def GetAlphaData(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetAlphaData,(self,) + _args, _kwargs) + val = imagec.wxImage_GetAlphaData(self, *_args, **_kwargs) return val def SetAlphaData(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetAlphaData,(self,) + _args, _kwargs) + val = imagec.wxImage_SetAlphaData(self, *_args, **_kwargs) return val def GetAlphaBuffer(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetAlphaBuffer,(self,) + _args, _kwargs) + val = imagec.wxImage_GetAlphaBuffer(self, *_args, **_kwargs) return val def SetAlphaBuffer(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetAlphaBuffer,(self,) + _args, _kwargs) + val = imagec.wxImage_SetAlphaBuffer(self, *_args, **_kwargs) return val def SetMaskColour(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetMaskColour,(self,) + _args, _kwargs) + val = imagec.wxImage_SetMaskColour(self, *_args, **_kwargs) return val def GetMaskRed(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetMaskRed,(self,) + _args, _kwargs) + val = imagec.wxImage_GetMaskRed(self, *_args, **_kwargs) return val def GetMaskGreen(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetMaskGreen,(self,) + _args, _kwargs) + val = imagec.wxImage_GetMaskGreen(self, *_args, **_kwargs) return val def GetMaskBlue(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetMaskBlue,(self,) + _args, _kwargs) + val = imagec.wxImage_GetMaskBlue(self, *_args, **_kwargs) return val def SetMask(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetMask,(self,) + _args, _kwargs) + val = imagec.wxImage_SetMask(self, *_args, **_kwargs) return val def HasMask(self, *_args, **_kwargs): - val = apply(imagec.wxImage_HasMask,(self,) + _args, _kwargs) + val = imagec.wxImage_HasMask(self, *_args, **_kwargs) return val def Rotate(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Rotate,(self,) + _args, _kwargs) + val = imagec.wxImage_Rotate(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Rotate90(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Rotate90,(self,) + _args, _kwargs) + val = imagec.wxImage_Rotate90(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Mirror(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Mirror,(self,) + _args, _kwargs) + val = imagec.wxImage_Mirror(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def Replace(self, *_args, **_kwargs): - val = apply(imagec.wxImage_Replace,(self,) + _args, _kwargs) + val = imagec.wxImage_Replace(self, *_args, **_kwargs) return val def ConvertToMono(self, *_args, **_kwargs): - val = apply(imagec.wxImage_ConvertToMono,(self,) + _args, _kwargs) + val = imagec.wxImage_ConvertToMono(self, *_args, **_kwargs) if val: val = wxImagePtr(val) ; val.thisown = 1 return val def SetOption(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetOption,(self,) + _args, _kwargs) + val = imagec.wxImage_SetOption(self, *_args, **_kwargs) return val def SetOptionInt(self, *_args, **_kwargs): - val = apply(imagec.wxImage_SetOptionInt,(self,) + _args, _kwargs) + val = imagec.wxImage_SetOptionInt(self, *_args, **_kwargs) return val def GetOption(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetOption,(self,) + _args, _kwargs) + val = imagec.wxImage_GetOption(self, *_args, **_kwargs) return val def GetOptionInt(self, *_args, **_kwargs): - val = apply(imagec.wxImage_GetOptionInt,(self,) + _args, _kwargs) + val = imagec.wxImage_GetOptionInt(self, *_args, **_kwargs) return val def HasOption(self, *_args, **_kwargs): - val = apply(imagec.wxImage_HasOption,(self,) + _args, _kwargs) + val = imagec.wxImage_HasOption(self, *_args, **_kwargs) return val def CountColours(self, *_args, **_kwargs): - val = apply(imagec.wxImage_CountColours,(self,) + _args, _kwargs) + val = imagec.wxImage_CountColours(self, *_args, **_kwargs) return val def ComputeHistogram(self, *_args, **_kwargs): - val = apply(imagec.wxImage_ComputeHistogram,(self,) + _args, _kwargs) + val = imagec.wxImage_ComputeHistogram(self, *_args, **_kwargs) return val def ConvertToBitmap(self, *_args, **_kwargs): - val = apply(imagec.wxImage_ConvertToBitmap,(self,) + _args, _kwargs) + val = imagec.wxImage_ConvertToBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def ConvertToMonoBitmap(self, *_args, **_kwargs): - val = apply(imagec.wxImage_ConvertToMonoBitmap,(self,) + _args, _kwargs) + val = imagec.wxImage_ConvertToMonoBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxImage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxImage(wxImagePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(imagec.new_wxImage,_args,_kwargs) + self.this = imagec.new_wxImage(*_args,**_kwargs) self.thisown = 1 @@ -403,39 +404,39 @@ class wxImage(wxImagePtr): #-------------- FUNCTION WRAPPERS ------------------ def wxEmptyImage(*_args, **_kwargs): - val = apply(imagec.wxEmptyImage,_args,_kwargs) + val = imagec.wxEmptyImage(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val def wxImageFromMime(*_args, **_kwargs): - val = apply(imagec.wxImageFromMime,_args,_kwargs) + val = imagec.wxImageFromMime(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val def wxImageFromBitmap(*_args, **_kwargs): - val = apply(imagec.wxImageFromBitmap,_args,_kwargs) + val = imagec.wxImageFromBitmap(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val def wxImageFromData(*_args, **_kwargs): - val = apply(imagec.wxImageFromData,_args,_kwargs) + val = imagec.wxImageFromData(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val def wxImageFromStream(*_args, **_kwargs): - val = apply(imagec.wxImageFromStream,_args,_kwargs) + val = imagec.wxImageFromStream(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val def wxImageFromStreamMime(*_args, **_kwargs): - val = apply(imagec.wxImageFromStreamMime,_args,_kwargs) + val = imagec.wxImageFromStreamMime(*_args,**_kwargs) if val: val = wxImagePtr(val); val.thisown = 1 return val wxInitAllImageHandlers = imagec.wxInitAllImageHandlers def wxBitmapFromImage(*_args, **_kwargs): - val = apply(imagec.wxBitmapFromImage,_args,_kwargs) + val = imagec.wxBitmapFromImage(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/mdi.py b/wxPython/src/gtk/mdi.py index 61c6f9d46c..69f586a9d4 100644 --- a/wxPython/src/gtk/mdi.py +++ b/wxPython/src/gtk/mdi.py @@ -24,44 +24,44 @@ class wxMDIParentFramePtr(wxFramePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_Create,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_Create(self, *_args, **_kwargs) return val def ActivateNext(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_ActivateNext,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_ActivateNext(self, *_args, **_kwargs) return val def ActivatePrevious(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_ActivatePrevious,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_ActivatePrevious(self, *_args, **_kwargs) return val def ArrangeIcons(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_ArrangeIcons,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_ArrangeIcons(self, *_args, **_kwargs) return val def Cascade(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_Cascade,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_Cascade(self, *_args, **_kwargs) return val def GetActiveChild(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_GetActiveChild,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_GetActiveChild(self, *_args, **_kwargs) return val def GetClientWindow(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_GetClientWindow,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_GetClientWindow(self, *_args, **_kwargs) return val def GetToolBar(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_GetToolBar,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_GetToolBar(self, *_args, **_kwargs) return val def Tile(self, *_args, **_kwargs): - val = apply(mdic.wxMDIParentFrame_Tile,(self,) + _args, _kwargs) + val = mdic.wxMDIParentFrame_Tile(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMDIParentFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMDIParentFrame(wxMDIParentFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(mdic.new_wxMDIParentFrame,_args,_kwargs) + self.this = mdic.new_wxMDIParentFrame(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreMDIParentFrame(*_args,**_kwargs): - val = wxMDIParentFramePtr(apply(mdic.new_wxPreMDIParentFrame,_args,_kwargs)) + val = wxMDIParentFramePtr(mdic.new_wxPreMDIParentFrame(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -72,29 +72,29 @@ class wxMDIChildFramePtr(wxFramePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(mdic.wxMDIChildFrame_Create,(self,) + _args, _kwargs) + val = mdic.wxMDIChildFrame_Create(self, *_args, **_kwargs) return val def Activate(self, *_args, **_kwargs): - val = apply(mdic.wxMDIChildFrame_Activate,(self,) + _args, _kwargs) + val = mdic.wxMDIChildFrame_Activate(self, *_args, **_kwargs) return val def Maximize(self, *_args, **_kwargs): - val = apply(mdic.wxMDIChildFrame_Maximize,(self,) + _args, _kwargs) + val = mdic.wxMDIChildFrame_Maximize(self, *_args, **_kwargs) return val def Restore(self, *_args, **_kwargs): - val = apply(mdic.wxMDIChildFrame_Restore,(self,) + _args, _kwargs) + val = mdic.wxMDIChildFrame_Restore(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMDIChildFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMDIChildFrame(wxMDIChildFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(mdic.new_wxMDIChildFrame,_args,_kwargs) + self.this = mdic.new_wxMDIChildFrame(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreMDIChildFrame(*_args,**_kwargs): - val = wxMDIChildFramePtr(apply(mdic.new_wxPreMDIChildFrame,_args,_kwargs)) + val = wxMDIChildFramePtr(mdic.new_wxPreMDIChildFrame(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -105,20 +105,20 @@ class wxMDIClientWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(mdic.wxMDIClientWindow_Create,(self,) + _args, _kwargs) + val = mdic.wxMDIClientWindow_Create(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMDIClientWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMDIClientWindow(wxMDIClientWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(mdic.new_wxMDIClientWindow,_args,_kwargs) + self.this = mdic.new_wxMDIClientWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreMDIClientWindow(*_args,**_kwargs): - val = wxMDIClientWindowPtr(apply(mdic.new_wxPreMDIClientWindow,_args,_kwargs)) + val = wxMDIClientWindowPtr(mdic.new_wxPreMDIClientWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/misc.py b/wxPython/src/gtk/misc.py index e1f06cc4f9..747c3ff1c2 100644 --- a/wxPython/src/gtk/misc.py +++ b/wxPython/src/gtk/misc.py @@ -5,13 +5,13 @@ class wxObjectPtr : self.this = this self.thisown = 0 def GetClassName(self, *_args, **_kwargs): - val = apply(miscc.wxObject_GetClassName,(self,) + _args, _kwargs) + val = miscc.wxObject_GetClassName(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(miscc.wxObject_Destroy,(self,) + _args, _kwargs) + val = miscc.wxObject_Destroy(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxObject instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxObject(wxObjectPtr): def __init__(self,this): self.this = this @@ -30,34 +30,34 @@ class wxSizePtr : except: pass def Set(self, *_args, **_kwargs): - val = apply(miscc.wxSize_Set,(self,) + _args, _kwargs) + val = miscc.wxSize_Set(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(miscc.wxSize_GetX,(self,) + _args, _kwargs) + val = miscc.wxSize_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(miscc.wxSize_GetY,(self,) + _args, _kwargs) + val = miscc.wxSize_GetY(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(miscc.wxSize_GetWidth,(self,) + _args, _kwargs) + val = miscc.wxSize_GetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(miscc.wxSize_GetHeight,(self,) + _args, _kwargs) + val = miscc.wxSize_GetHeight(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(miscc.wxSize_SetWidth,(self,) + _args, _kwargs) + val = miscc.wxSize_SetWidth(self, *_args, **_kwargs) return val def SetHeight(self, *_args, **_kwargs): - val = apply(miscc.wxSize_SetHeight,(self,) + _args, _kwargs) + val = miscc.wxSize_SetHeight(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(miscc.wxSize_asTuple,(self,) + _args, _kwargs) + val = miscc.wxSize_asTuple(self, *_args, **_kwargs) return val def __eq__(self, *_args, **_kwargs): - val = apply(miscc.wxSize___eq__,(self,) + _args, _kwargs) + val = miscc.wxSize___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(miscc.wxSize___ne__,(self,) + _args, _kwargs) + val = miscc.wxSize___ne__(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "x" : @@ -84,7 +84,7 @@ class wxSizePtr : return miscc.wxSize_height_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSize instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxSize'+str(self.asTuple()) @@ -101,7 +101,7 @@ class wxSizePtr : class wxSize(wxSizePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxSize,_args,_kwargs) + self.this = miscc.new_wxSize(*_args,**_kwargs) self.thisown = 1 @@ -118,24 +118,24 @@ class wxRealPointPtr : except: pass def Set(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint_Set,(self,) + _args, _kwargs) + val = miscc.wxRealPoint_Set(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint_asTuple,(self,) + _args, _kwargs) + val = miscc.wxRealPoint_asTuple(self, *_args, **_kwargs) return val def __add__(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint___add__,(self,) + _args, _kwargs) + val = miscc.wxRealPoint___add__(self, *_args, **_kwargs) if val: val = wxRealPointPtr(val) ; val.thisown = 1 return val def __sub__(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint___sub__,(self,) + _args, _kwargs) + val = miscc.wxRealPoint___sub__(self, *_args, **_kwargs) if val: val = wxRealPointPtr(val) ; val.thisown = 1 return val def __eq__(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint___eq__,(self,) + _args, _kwargs) + val = miscc.wxRealPoint___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(miscc.wxRealPoint___ne__,(self,) + _args, _kwargs) + val = miscc.wxRealPoint___ne__(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "x" : @@ -152,7 +152,7 @@ class wxRealPointPtr : return miscc.wxRealPoint_y_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRealPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxRealPoint'+str(self.asTuple()) @@ -169,7 +169,7 @@ class wxRealPointPtr : class wxRealPoint(wxRealPointPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxRealPoint,_args,_kwargs) + self.this = miscc.new_wxRealPoint(*_args,**_kwargs) self.thisown = 1 @@ -186,24 +186,24 @@ class wxPointPtr : except: pass def Set(self, *_args, **_kwargs): - val = apply(miscc.wxPoint_Set,(self,) + _args, _kwargs) + val = miscc.wxPoint_Set(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(miscc.wxPoint_asTuple,(self,) + _args, _kwargs) + val = miscc.wxPoint_asTuple(self, *_args, **_kwargs) return val def __add__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint___add__,(self,) + _args, _kwargs) + val = miscc.wxPoint___add__(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def __sub__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint___sub__,(self,) + _args, _kwargs) + val = miscc.wxPoint___sub__(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def __eq__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint___eq__,(self,) + _args, _kwargs) + val = miscc.wxPoint___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint___ne__,(self,) + _args, _kwargs) + val = miscc.wxPoint___ne__(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "x" : @@ -220,7 +220,7 @@ class wxPointPtr : return miscc.wxPoint_y_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxPoint'+str(self.asTuple()) @@ -237,7 +237,7 @@ class wxPointPtr : class wxPoint(wxPointPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxPoint,_args,_kwargs) + self.this = miscc.new_wxPoint(*_args,**_kwargs) self.thisown = 1 @@ -254,103 +254,103 @@ class wxRectPtr : except: pass def GetX(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetX,(self,) + _args, _kwargs) + val = miscc.wxRect_GetX(self, *_args, **_kwargs) return val def SetX(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetX,(self,) + _args, _kwargs) + val = miscc.wxRect_SetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetY,(self,) + _args, _kwargs) + val = miscc.wxRect_GetY(self, *_args, **_kwargs) return val def SetY(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetY,(self,) + _args, _kwargs) + val = miscc.wxRect_SetY(self, *_args, **_kwargs) return val def GetWidth(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetWidth,(self,) + _args, _kwargs) + val = miscc.wxRect_GetWidth(self, *_args, **_kwargs) return val def SetWidth(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetWidth,(self,) + _args, _kwargs) + val = miscc.wxRect_SetWidth(self, *_args, **_kwargs) return val def GetHeight(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetHeight,(self,) + _args, _kwargs) + val = miscc.wxRect_GetHeight(self, *_args, **_kwargs) return val def SetHeight(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetHeight,(self,) + _args, _kwargs) + val = miscc.wxRect_SetHeight(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetPosition,(self,) + _args, _kwargs) + val = miscc.wxRect_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetSize(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetSize,(self,) + _args, _kwargs) + val = miscc.wxRect_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetPosition(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetPosition,(self,) + _args, _kwargs) + val = miscc.wxRect_SetPosition(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetSize,(self,) + _args, _kwargs) + val = miscc.wxRect_SetSize(self, *_args, **_kwargs) return val def GetLeft(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetLeft,(self,) + _args, _kwargs) + val = miscc.wxRect_GetLeft(self, *_args, **_kwargs) return val def GetTop(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetTop,(self,) + _args, _kwargs) + val = miscc.wxRect_GetTop(self, *_args, **_kwargs) return val def GetBottom(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetBottom,(self,) + _args, _kwargs) + val = miscc.wxRect_GetBottom(self, *_args, **_kwargs) return val def GetRight(self, *_args, **_kwargs): - val = apply(miscc.wxRect_GetRight,(self,) + _args, _kwargs) + val = miscc.wxRect_GetRight(self, *_args, **_kwargs) return val def SetLeft(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetLeft,(self,) + _args, _kwargs) + val = miscc.wxRect_SetLeft(self, *_args, **_kwargs) return val def SetRight(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetRight,(self,) + _args, _kwargs) + val = miscc.wxRect_SetRight(self, *_args, **_kwargs) return val def SetTop(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetTop,(self,) + _args, _kwargs) + val = miscc.wxRect_SetTop(self, *_args, **_kwargs) return val def SetBottom(self, *_args, **_kwargs): - val = apply(miscc.wxRect_SetBottom,(self,) + _args, _kwargs) + val = miscc.wxRect_SetBottom(self, *_args, **_kwargs) return val def Deflate(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Deflate,(self,) + _args, _kwargs) + val = miscc.wxRect_Deflate(self, *_args, **_kwargs) return val def Inflate(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Inflate,(self,) + _args, _kwargs) + val = miscc.wxRect_Inflate(self, *_args, **_kwargs) return val def InsideXY(self, *_args, **_kwargs): - val = apply(miscc.wxRect_InsideXY,(self,) + _args, _kwargs) + val = miscc.wxRect_InsideXY(self, *_args, **_kwargs) return val def Inside(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Inside,(self,) + _args, _kwargs) + val = miscc.wxRect_Inside(self, *_args, **_kwargs) return val def Intersects(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Intersects,(self,) + _args, _kwargs) + val = miscc.wxRect_Intersects(self, *_args, **_kwargs) return val def OffsetXY(self, *_args, **_kwargs): - val = apply(miscc.wxRect_OffsetXY,(self,) + _args, _kwargs) + val = miscc.wxRect_OffsetXY(self, *_args, **_kwargs) return val def Offset(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Offset,(self,) + _args, _kwargs) + val = miscc.wxRect_Offset(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(miscc.wxRect_Set,(self,) + _args, _kwargs) + val = miscc.wxRect_Set(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(miscc.wxRect_asTuple,(self,) + _args, _kwargs) + val = miscc.wxRect_asTuple(self, *_args, **_kwargs) return val def __add__(self, *_args, **_kwargs): - val = apply(miscc.wxRect___add__,(self,) + _args, _kwargs) + val = miscc.wxRect___add__(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def __eq__(self, *_args, **_kwargs): - val = apply(miscc.wxRect___eq__,(self,) + _args, _kwargs) + val = miscc.wxRect___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(miscc.wxRect___ne__,(self,) + _args, _kwargs) + val = miscc.wxRect___ne__(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "x" : @@ -377,7 +377,7 @@ class wxRectPtr : return miscc.wxRect_height_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxRect instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wxRect'+str(self.asTuple()) @@ -433,7 +433,7 @@ class wxRectPtr : class wxRect(wxRectPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxRect,_args,_kwargs) + self.this = miscc.new_wxRect(*_args,**_kwargs) self.thisown = 1 @@ -444,66 +444,66 @@ class wxPoint2DDoublePtr : self.this = this self.thisown = 0 def GetFloor(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetFloor,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetFloor(self, *_args, **_kwargs) return val def GetRounded(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetRounded,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetRounded(self, *_args, **_kwargs) return val def GetVectorLength(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetVectorLength,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetVectorLength(self, *_args, **_kwargs) return val def GetVectorAngle(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetVectorAngle,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetVectorAngle(self, *_args, **_kwargs) return val def SetVectorLength(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_SetVectorLength,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_SetVectorLength(self, *_args, **_kwargs) return val def SetVectorAngle(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_SetVectorAngle,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_SetVectorAngle(self, *_args, **_kwargs) return val def GetDistance(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetDistance,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetDistance(self, *_args, **_kwargs) return val def GetDistanceSquare(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetDistanceSquare,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetDistanceSquare(self, *_args, **_kwargs) return val def GetDotProduct(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetDotProduct,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetDotProduct(self, *_args, **_kwargs) return val def GetCrossProduct(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_GetCrossProduct,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_GetCrossProduct(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_Set,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_Set(self, *_args, **_kwargs) return val def __neg__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___neg__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___neg__(self, *_args, **_kwargs) if val: val = wxPoint2DDoublePtr(val) ; val.thisown = 1 return val def __iadd__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___iadd__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___iadd__(self, *_args, **_kwargs) if val: val = wxPoint2DDoublePtr(val) return val def __isub__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___isub__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___isub__(self, *_args, **_kwargs) if val: val = wxPoint2DDoublePtr(val) return val def __imul__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___imul__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___imul__(self, *_args, **_kwargs) if val: val = wxPoint2DDoublePtr(val) return val def __idiv__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___idiv__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___idiv__(self, *_args, **_kwargs) if val: val = wxPoint2DDoublePtr(val) return val def __eq__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___eq__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___eq__(self, *_args, **_kwargs) return val def __ne__(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble___ne__,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble___ne__(self, *_args, **_kwargs) return val def asTuple(self, *_args, **_kwargs): - val = apply(miscc.wxPoint2DDouble_asTuple,(self,) + _args, _kwargs) + val = miscc.wxPoint2DDouble_asTuple(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_x" : @@ -530,7 +530,7 @@ class wxPoint2DDoublePtr : return miscc.wxPoint2DDouble_y_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPoint2DDouble instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def SetPolarCoordinates(self, angle, length): self.SetVectorLength(length) @@ -554,18 +554,18 @@ class wxPoint2DDoublePtr : class wxPoint2DDouble(wxPoint2DDoublePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxPoint2DDouble,_args,_kwargs) + self.this = miscc.new_wxPoint2DDouble(*_args,**_kwargs) self.thisown = 1 def wxPoint2DDoubleCopy(*_args,**_kwargs): - val = wxPoint2DDoublePtr(apply(miscc.new_wxPoint2DDoubleCopy,_args,_kwargs)) + val = wxPoint2DDoublePtr(miscc.new_wxPoint2DDoubleCopy(*_args,**_kwargs)) val.thisown = 1 return val def wxPoint2DDoubleFromPoint(*_args,**_kwargs): - val = wxPoint2DDoublePtr(apply(miscc.new_wxPoint2DDoubleFromPoint,_args,_kwargs)) + val = wxPoint2DDoublePtr(miscc.new_wxPoint2DDoubleFromPoint(*_args,**_kwargs)) val.thisown = 1 return val @@ -575,37 +575,37 @@ class wxIndividualLayoutConstraintPtr(wxObjectPtr): self.this = this self.thisown = 0 def Above(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_Above,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_Above(self, *_args, **_kwargs) return val def Absolute(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_Absolute,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_Absolute(self, *_args, **_kwargs) return val def AsIs(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_AsIs,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_AsIs(self, *_args, **_kwargs) return val def Below(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_Below,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_Below(self, *_args, **_kwargs) return val def Unconstrained(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_Unconstrained,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_Unconstrained(self, *_args, **_kwargs) return val def LeftOf(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_LeftOf,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_LeftOf(self, *_args, **_kwargs) return val def PercentOf(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_PercentOf,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_PercentOf(self, *_args, **_kwargs) return val def RightOf(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_RightOf,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_RightOf(self, *_args, **_kwargs) return val def SameAs(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_SameAs,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_SameAs(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(miscc.wxIndividualLayoutConstraint_Set,(self,) + _args, _kwargs) + val = miscc.wxIndividualLayoutConstraint_Set(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxIndividualLayoutConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxIndividualLayoutConstraint(wxIndividualLayoutConstraintPtr): def __init__(self,this): self.this = this @@ -662,10 +662,10 @@ class wxLayoutConstraintsPtr(wxObjectPtr): return wxIndividualLayoutConstraintPtr(miscc.wxLayoutConstraints_width_get(self)) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLayoutConstraints instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLayoutConstraints(wxLayoutConstraintsPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxLayoutConstraints,_args,_kwargs) + self.this = miscc.new_wxLayoutConstraints(*_args,**_kwargs) self.thisown = 1 @@ -682,22 +682,22 @@ class wxAcceleratorEntryPtr : except: pass def Set(self, *_args, **_kwargs): - val = apply(miscc.wxAcceleratorEntry_Set,(self,) + _args, _kwargs) + val = miscc.wxAcceleratorEntry_Set(self, *_args, **_kwargs) return val def GetFlags(self, *_args, **_kwargs): - val = apply(miscc.wxAcceleratorEntry_GetFlags,(self,) + _args, _kwargs) + val = miscc.wxAcceleratorEntry_GetFlags(self, *_args, **_kwargs) return val def GetKeyCode(self, *_args, **_kwargs): - val = apply(miscc.wxAcceleratorEntry_GetKeyCode,(self,) + _args, _kwargs) + val = miscc.wxAcceleratorEntry_GetKeyCode(self, *_args, **_kwargs) return val def GetCommand(self, *_args, **_kwargs): - val = apply(miscc.wxAcceleratorEntry_GetCommand,(self,) + _args, _kwargs) + val = miscc.wxAcceleratorEntry_GetCommand(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxAcceleratorEntry instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxAcceleratorEntry(wxAcceleratorEntryPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxAcceleratorEntry,_args,_kwargs) + self.this = miscc.new_wxAcceleratorEntry(*_args,**_kwargs) self.thisown = 1 @@ -714,10 +714,10 @@ class wxAcceleratorTablePtr(wxObjectPtr): except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxAcceleratorTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxAcceleratorTable(wxAcceleratorTablePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxAcceleratorTable,_args,_kwargs) + self.this = miscc.new_wxAcceleratorTable(*_args,**_kwargs) self.thisown = 1 @@ -734,10 +734,10 @@ class wxBusyInfoPtr(wxObjectPtr): except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBusyInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBusyInfo(wxBusyInfoPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(miscc.new_wxBusyInfo,_args,_kwargs) + self.this = miscc.new_wxBusyInfo(*_args,**_kwargs) self.thisown = 1 @@ -806,7 +806,7 @@ wxGetUserHome = miscc.wxGetUserHome wxGetProcessId = miscc.wxGetProcessId def wxGetAccelFromString(*_args, **_kwargs): - val = apply(miscc.wxGetAccelFromString,_args,_kwargs) + val = miscc.wxGetAccelFromString(*_args,**_kwargs) if val: val = wxAcceleratorEntryPtr(val) return val diff --git a/wxPython/src/gtk/misc2.cpp b/wxPython/src/gtk/misc2.cpp index 38f5b9d4e9..c5ca113c0a 100644 --- a/wxPython/src/gtk/misc2.cpp +++ b/wxPython/src/gtk/misc2.cpp @@ -4275,6 +4275,7 @@ static PyObject *_wrap_wxPyTimer_SetOwner(PyObject *self, PyObject *args, PyObje #define wxPyTimer_Start(_swigobj,_swigarg0,_swigarg1) (_swigobj->Start(_swigarg0,_swigarg1)) static PyObject *_wrap_wxPyTimer_Start(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxPyTimer * _arg0; int _arg1 = (int ) -1; int _arg2 = (int ) FALSE; @@ -4293,12 +4294,11 @@ static PyObject *_wrap_wxPyTimer_Start(PyObject *self, PyObject *args, PyObject } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPyTimer_Start(_arg0,_arg1,_arg2); + _result = (bool )wxPyTimer_Start(_arg0,_arg1,_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } diff --git a/wxPython/src/gtk/misc2.py b/wxPython/src/gtk/misc2.py index bf1634563b..376b6d6adf 100644 --- a/wxPython/src/gtk/misc2.py +++ b/wxPython/src/gtk/misc2.py @@ -64,7 +64,7 @@ class wxSystemSettingsPtr : self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSystemSettings instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSystemSettings(wxSystemSettingsPtr): def __init__(self,this): self.this = this @@ -77,19 +77,19 @@ class wxToolTipPtr(wxObjectPtr): self.this = this self.thisown = 0 def SetTip(self, *_args, **_kwargs): - val = apply(misc2c.wxToolTip_SetTip,(self,) + _args, _kwargs) + val = misc2c.wxToolTip_SetTip(self, *_args, **_kwargs) return val def GetTip(self, *_args, **_kwargs): - val = apply(misc2c.wxToolTip_GetTip,(self,) + _args, _kwargs) + val = misc2c.wxToolTip_GetTip(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(misc2c.wxToolTip_GetWindow,(self,) + _args, _kwargs) + val = misc2c.wxToolTip_GetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToolTip instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxToolTip(wxToolTipPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxToolTip,_args,_kwargs) + self.this = misc2c.new_wxToolTip(*_args,**_kwargs) self.thisown = 1 @@ -106,51 +106,52 @@ class wxCaretPtr : except: pass def IsOk(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_IsOk,(self,) + _args, _kwargs) + val = misc2c.wxCaret_IsOk(self, *_args, **_kwargs) return val def IsVisible(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_IsVisible,(self,) + _args, _kwargs) + val = misc2c.wxCaret_IsVisible(self, *_args, **_kwargs) return val def GetPositionTuple(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_GetPositionTuple,(self,) + _args, _kwargs) + val = misc2c.wxCaret_GetPositionTuple(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_GetPosition,(self,) + _args, _kwargs) + val = misc2c.wxCaret_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetSizeTuple(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_GetSizeTuple,(self,) + _args, _kwargs) + val = misc2c.wxCaret_GetSizeTuple(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_GetSize,(self,) + _args, _kwargs) + val = misc2c.wxCaret_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetWindow(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_GetWindow,(self,) + _args, _kwargs) + val = misc2c.wxCaret_GetWindow(self, *_args, **_kwargs) return val def MoveXY(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_MoveXY,(self,) + _args, _kwargs) + val = misc2c.wxCaret_MoveXY(self, *_args, **_kwargs) return val def Move(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_Move,(self,) + _args, _kwargs) + val = misc2c.wxCaret_Move(self, *_args, **_kwargs) return val def SetSizeWH(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_SetSizeWH,(self,) + _args, _kwargs) + val = misc2c.wxCaret_SetSizeWH(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_SetSize,(self,) + _args, _kwargs) + val = misc2c.wxCaret_SetSize(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_Show,(self,) + _args, _kwargs) + val = misc2c.wxCaret_Show(self, *_args, **_kwargs) return val def Hide(self, *_args, **_kwargs): - val = apply(misc2c.wxCaret_Hide,(self,) + _args, _kwargs) + val = misc2c.wxCaret_Hide(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCaret instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.IsOk() class wxCaret(wxCaretPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxCaret,_args,_kwargs) + self.this = misc2c.new_wxCaret(*_args,**_kwargs) self.thisown = 1 @@ -167,10 +168,10 @@ class wxBusyCursorPtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBusyCursor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBusyCursor(wxBusyCursorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxBusyCursor,_args,_kwargs) + self.this = misc2c.new_wxBusyCursor(*_args,**_kwargs) self.thisown = 1 @@ -187,10 +188,10 @@ class wxWindowDisablerPtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWindowDisabler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWindowDisabler(wxWindowDisablerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxWindowDisabler,_args,_kwargs) + self.this = misc2c.new_wxWindowDisabler(*_args,**_kwargs) self.thisown = 1 @@ -207,10 +208,10 @@ class wxMutexGuiLockerPtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMutexGuiLocker instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMutexGuiLocker(wxMutexGuiLockerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxMutexGuiLocker,_args,_kwargs) + self.this = misc2c.new_wxMutexGuiLocker(*_args,**_kwargs) self.thisown = 1 @@ -227,16 +228,16 @@ class wxTipProviderPtr : except: pass def GetTip(self, *_args, **_kwargs): - val = apply(misc2c.wxTipProvider_GetTip,(self,) + _args, _kwargs) + val = misc2c.wxTipProvider_GetTip(self, *_args, **_kwargs) return val def GetCurrentTip(self, *_args, **_kwargs): - val = apply(misc2c.wxTipProvider_GetCurrentTip,(self,) + _args, _kwargs) + val = misc2c.wxTipProvider_GetCurrentTip(self, *_args, **_kwargs) return val def PreprocessTip(self, *_args, **_kwargs): - val = apply(misc2c.wxTipProvider_PreprocessTip,(self,) + _args, _kwargs) + val = misc2c.wxTipProvider_PreprocessTip(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTipProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTipProvider(wxTipProviderPtr): def __init__(self,this): self.this = this @@ -249,13 +250,13 @@ class wxPyTipProviderPtr(wxTipProviderPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTipProvider__setCallbackInfo,(self,) + _args, _kwargs) + val = misc2c.wxPyTipProvider__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyTipProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyTipProvider(wxPyTipProviderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxPyTipProvider,_args,_kwargs) + self.this = misc2c.new_wxPyTipProvider(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyTipProvider) @@ -273,60 +274,60 @@ class wxDragImagePtr(wxObjectPtr): except: pass def SetBackingBitmap(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_SetBackingBitmap,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_SetBackingBitmap(self, *_args, **_kwargs) return val def BeginDrag(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_BeginDrag,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_BeginDrag(self, *_args, **_kwargs) return val def BeginDragBounded(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_BeginDragBounded,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_BeginDragBounded(self, *_args, **_kwargs) return val def EndDrag(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_EndDrag,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_EndDrag(self, *_args, **_kwargs) return val def Move(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_Move,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_Move(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_Show,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_Show(self, *_args, **_kwargs) return val def Hide(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_Hide,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_Hide(self, *_args, **_kwargs) return val def GetImageRect(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_GetImageRect,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_GetImageRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def RedrawImage(self, *_args, **_kwargs): - val = apply(misc2c.wxDragImage_RedrawImage,(self,) + _args, _kwargs) + val = misc2c.wxDragImage_RedrawImage(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDragImage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) BeginDrag2 = BeginDragBounded class wxDragImage(wxDragImagePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxDragImage,_args,_kwargs) + self.this = misc2c.new_wxDragImage(*_args,**_kwargs) self.thisown = 1 def wxDragIcon(*_args,**_kwargs): - val = wxDragImagePtr(apply(misc2c.new_wxDragIcon,_args,_kwargs)) + val = wxDragImagePtr(misc2c.new_wxDragIcon(*_args,**_kwargs)) val.thisown = 1 return val def wxDragString(*_args,**_kwargs): - val = wxDragImagePtr(apply(misc2c.new_wxDragString,_args,_kwargs)) + val = wxDragImagePtr(misc2c.new_wxDragString(*_args,**_kwargs)) val.thisown = 1 return val def wxDragTreeItem(*_args,**_kwargs): - val = wxDragImagePtr(apply(misc2c.new_wxDragTreeItem,_args,_kwargs)) + val = wxDragImagePtr(misc2c.new_wxDragTreeItem(*_args,**_kwargs)) val.thisown = 1 return val def wxDragListItem(*_args,**_kwargs): - val = wxDragImagePtr(apply(misc2c.new_wxDragListItem,_args,_kwargs)) + val = wxDragImagePtr(misc2c.new_wxDragListItem(*_args,**_kwargs)) val.thisown = 1 return val @@ -342,28 +343,28 @@ class wxPyTimerPtr(wxObjectPtr): except: pass def GetInterval(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_GetInterval,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_GetInterval(self, *_args, **_kwargs) return val def IsOneShot(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_IsOneShot,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_IsOneShot(self, *_args, **_kwargs) return val def IsRunning(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_IsRunning,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_IsRunning(self, *_args, **_kwargs) return val def SetOwner(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_SetOwner,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_SetOwner(self, *_args, **_kwargs) return val def Start(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_Start,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_Start(self, *_args, **_kwargs) return val def Stop(self, *_args, **_kwargs): - val = apply(misc2c.wxPyTimer_Stop,(self,) + _args, _kwargs) + val = misc2c.wxPyTimer_Stop(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyTimer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyTimer(wxPyTimerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxPyTimer,_args,_kwargs) + self.this = misc2c.new_wxPyTimer(*_args,**_kwargs) self.thisown = 1 @@ -380,22 +381,22 @@ class wxStopWatchPtr : except: pass def Start(self, *_args, **_kwargs): - val = apply(misc2c.wxStopWatch_Start,(self,) + _args, _kwargs) + val = misc2c.wxStopWatch_Start(self, *_args, **_kwargs) return val def Pause(self, *_args, **_kwargs): - val = apply(misc2c.wxStopWatch_Pause,(self,) + _args, _kwargs) + val = misc2c.wxStopWatch_Pause(self, *_args, **_kwargs) return val def Resume(self, *_args, **_kwargs): - val = apply(misc2c.wxStopWatch_Resume,(self,) + _args, _kwargs) + val = misc2c.wxStopWatch_Resume(self, *_args, **_kwargs) return val def Time(self, *_args, **_kwargs): - val = apply(misc2c.wxStopWatch_Time,(self,) + _args, _kwargs) + val = misc2c.wxStopWatch_Time(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStopWatch instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStopWatch(wxStopWatchPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxStopWatch,_args,_kwargs) + self.this = misc2c.new_wxStopWatch(*_args,**_kwargs) self.thisown = 1 @@ -406,19 +407,19 @@ class wxLogPtr : self.this = this self.thisown = 0 def Flush(self, *_args, **_kwargs): - val = apply(misc2c.wxLog_Flush,(self,) + _args, _kwargs) + val = misc2c.wxLog_Flush(self, *_args, **_kwargs) return val def GetVerbose(self, *_args, **_kwargs): - val = apply(misc2c.wxLog_GetVerbose,(self,) + _args, _kwargs) + val = misc2c.wxLog_GetVerbose(self, *_args, **_kwargs) return val def TimeStamp(self, *_args, **_kwargs): - val = apply(misc2c.wxLog_TimeStamp,(self,) + _args, _kwargs) + val = misc2c.wxLog_TimeStamp(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLog(wxLogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLog,_args,_kwargs) + self.this = misc2c.new_wxLog(*_args,**_kwargs) self.thisown = 1 @@ -429,10 +430,10 @@ class wxLogStderrPtr(wxLogPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogStderr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogStderr(wxLogStderrPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogStderr,_args,_kwargs) + self.this = misc2c.new_wxLogStderr(*_args,**_kwargs) self.thisown = 1 @@ -443,10 +444,10 @@ class wxLogTextCtrlPtr(wxLogPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogTextCtrl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogTextCtrl(wxLogTextCtrlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogTextCtrl,_args,_kwargs) + self.this = misc2c.new_wxLogTextCtrl(*_args,**_kwargs) self.thisown = 1 @@ -457,10 +458,10 @@ class wxLogGuiPtr(wxLogPtr): self.this = this self.thisown = 0 def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogGui instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogGui(wxLogGuiPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogGui,_args,_kwargs) + self.this = misc2c.new_wxLogGui(*_args,**_kwargs) self.thisown = 1 @@ -471,26 +472,26 @@ class wxLogWindowPtr(wxLogPtr): self.this = this self.thisown = 0 def Show(self, *_args, **_kwargs): - val = apply(misc2c.wxLogWindow_Show,(self,) + _args, _kwargs) + val = misc2c.wxLogWindow_Show(self, *_args, **_kwargs) return val def GetFrame(self, *_args, **_kwargs): - val = apply(misc2c.wxLogWindow_GetFrame,(self,) + _args, _kwargs) + val = misc2c.wxLogWindow_GetFrame(self, *_args, **_kwargs) return val def GetOldLog(self, *_args, **_kwargs): - val = apply(misc2c.wxLogWindow_GetOldLog,(self,) + _args, _kwargs) + val = misc2c.wxLogWindow_GetOldLog(self, *_args, **_kwargs) if val: val = wxLogPtr(val) return val def IsPassingMessages(self, *_args, **_kwargs): - val = apply(misc2c.wxLogWindow_IsPassingMessages,(self,) + _args, _kwargs) + val = misc2c.wxLogWindow_IsPassingMessages(self, *_args, **_kwargs) return val def PassMessages(self, *_args, **_kwargs): - val = apply(misc2c.wxLogWindow_PassMessages,(self,) + _args, _kwargs) + val = misc2c.wxLogWindow_PassMessages(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogWindow(wxLogWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogWindow,_args,_kwargs) + self.this = misc2c.new_wxLogWindow(*_args,**_kwargs) self.thisown = 1 @@ -501,23 +502,23 @@ class wxLogChainPtr(wxLogPtr): self.this = this self.thisown = 0 def SetLog(self, *_args, **_kwargs): - val = apply(misc2c.wxLogChain_SetLog,(self,) + _args, _kwargs) + val = misc2c.wxLogChain_SetLog(self, *_args, **_kwargs) return val def PassMessages(self, *_args, **_kwargs): - val = apply(misc2c.wxLogChain_PassMessages,(self,) + _args, _kwargs) + val = misc2c.wxLogChain_PassMessages(self, *_args, **_kwargs) return val def IsPassingMessages(self, *_args, **_kwargs): - val = apply(misc2c.wxLogChain_IsPassingMessages,(self,) + _args, _kwargs) + val = misc2c.wxLogChain_IsPassingMessages(self, *_args, **_kwargs) return val def GetOldLog(self, *_args, **_kwargs): - val = apply(misc2c.wxLogChain_GetOldLog,(self,) + _args, _kwargs) + val = misc2c.wxLogChain_GetOldLog(self, *_args, **_kwargs) if val: val = wxLogPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogChain instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogChain(wxLogChainPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogChain,_args,_kwargs) + self.this = misc2c.new_wxLogChain(*_args,**_kwargs) self.thisown = 1 @@ -534,10 +535,10 @@ class wxLogNullPtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLogNull instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLogNull(wxLogNullPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxLogNull,_args,_kwargs) + self.this = misc2c.new_wxLogNull(*_args,**_kwargs) self.thisown = 1 @@ -548,16 +549,16 @@ class wxPyLogPtr(wxLogPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(misc2c.wxPyLog__setCallbackInfo,(self,) + _args, _kwargs) + val = misc2c.wxPyLog__setCallbackInfo(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(misc2c.wxPyLog_Destroy,(self,) + _args, _kwargs) + val = misc2c.wxPyLog_Destroy(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyLog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyLog(wxPyLogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxPyLog,_args,_kwargs) + self.this = misc2c.new_wxPyLog(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyLog) @@ -569,10 +570,10 @@ class wxProcessEventPtr(wxEventPtr): self.this = this self.thisown = 0 def GetPid(self, *_args, **_kwargs): - val = apply(misc2c.wxProcessEvent_GetPid,(self,) + _args, _kwargs) + val = misc2c.wxProcessEvent_GetPid(self, *_args, **_kwargs) return val def GetExitCode(self, *_args, **_kwargs): - val = apply(misc2c.wxProcessEvent_GetExitCode,(self,) + _args, _kwargs) + val = misc2c.wxProcessEvent_GetExitCode(self, *_args, **_kwargs) return val def __setattr__(self,name,value): if name == "m_pid" : @@ -589,10 +590,10 @@ class wxProcessEventPtr(wxEventPtr): return misc2c.wxProcessEvent_m_exitcode_get(self) raise AttributeError,name def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxProcessEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxProcessEvent(wxProcessEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxProcessEvent,_args,_kwargs) + self.this = misc2c.new_wxProcessEvent(*_args,**_kwargs) self.thisown = 1 @@ -603,50 +604,50 @@ class wxProcessPtr(wxEvtHandlerPtr): self.this = this self.thisown = 0 def Destroy(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_Destroy,(self,) + _args, _kwargs) + val = misc2c.wxProcess_Destroy(self, *_args, **_kwargs) return val def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess__setCallbackInfo,(self,) + _args, _kwargs) + val = misc2c.wxProcess__setCallbackInfo(self, *_args, **_kwargs) return val def base_OnTerminate(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_base_OnTerminate,(self,) + _args, _kwargs) + val = misc2c.wxProcess_base_OnTerminate(self, *_args, **_kwargs) return val def Redirect(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_Redirect,(self,) + _args, _kwargs) + val = misc2c.wxProcess_Redirect(self, *_args, **_kwargs) return val def IsRedirected(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_IsRedirected,(self,) + _args, _kwargs) + val = misc2c.wxProcess_IsRedirected(self, *_args, **_kwargs) return val def Detach(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_Detach,(self,) + _args, _kwargs) + val = misc2c.wxProcess_Detach(self, *_args, **_kwargs) return val def GetInputStream(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_GetInputStream,(self,) + _args, _kwargs) + val = misc2c.wxProcess_GetInputStream(self, *_args, **_kwargs) return val def GetErrorStream(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_GetErrorStream,(self,) + _args, _kwargs) + val = misc2c.wxProcess_GetErrorStream(self, *_args, **_kwargs) return val def GetOutputStream(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_GetOutputStream,(self,) + _args, _kwargs) + val = misc2c.wxProcess_GetOutputStream(self, *_args, **_kwargs) if val: val = wxOutputStreamPtr(val) return val def CloseOutput(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_CloseOutput,(self,) + _args, _kwargs) + val = misc2c.wxProcess_CloseOutput(self, *_args, **_kwargs) return val def IsInputOpened(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_IsInputOpened,(self,) + _args, _kwargs) + val = misc2c.wxProcess_IsInputOpened(self, *_args, **_kwargs) return val def IsInputAvailable(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_IsInputAvailable,(self,) + _args, _kwargs) + val = misc2c.wxProcess_IsInputAvailable(self, *_args, **_kwargs) return val def IsErrorAvailable(self, *_args, **_kwargs): - val = apply(misc2c.wxProcess_IsErrorAvailable,(self,) + _args, _kwargs) + val = misc2c.wxProcess_IsErrorAvailable(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxProcess instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxProcess(wxProcessPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxProcess,_args,_kwargs) + self.this = misc2c.new_wxProcess(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxProcess) @@ -664,137 +665,138 @@ class wxJoystickPtr(wxObjectPtr): except: pass def GetPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetZPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetZPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetZPosition(self, *_args, **_kwargs) return val def GetButtonState(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetButtonState,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetButtonState(self, *_args, **_kwargs) return val def GetPOVPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetPOVPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetPOVPosition(self, *_args, **_kwargs) return val def GetPOVCTSPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetPOVCTSPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetPOVCTSPosition(self, *_args, **_kwargs) return val def GetRudderPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetRudderPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetRudderPosition(self, *_args, **_kwargs) return val def GetUPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetUPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetUPosition(self, *_args, **_kwargs) return val def GetVPosition(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetVPosition,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetVPosition(self, *_args, **_kwargs) return val def GetMovementThreshold(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetMovementThreshold,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetMovementThreshold(self, *_args, **_kwargs) return val def SetMovementThreshold(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_SetMovementThreshold,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_SetMovementThreshold(self, *_args, **_kwargs) return val def IsOk(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_IsOk,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_IsOk(self, *_args, **_kwargs) return val def GetNumberJoysticks(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetNumberJoysticks,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetNumberJoysticks(self, *_args, **_kwargs) return val def GetManufacturerId(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetManufacturerId,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetManufacturerId(self, *_args, **_kwargs) return val def GetProductId(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetProductId,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetProductId(self, *_args, **_kwargs) return val def GetProductName(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetProductName,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetProductName(self, *_args, **_kwargs) return val def GetXMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetXMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetXMin(self, *_args, **_kwargs) return val def GetYMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetYMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetYMin(self, *_args, **_kwargs) return val def GetZMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetZMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetZMin(self, *_args, **_kwargs) return val def GetXMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetXMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetXMax(self, *_args, **_kwargs) return val def GetYMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetYMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetYMax(self, *_args, **_kwargs) return val def GetZMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetZMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetZMax(self, *_args, **_kwargs) return val def GetNumberButtons(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetNumberButtons,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetNumberButtons(self, *_args, **_kwargs) return val def GetNumberAxes(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetNumberAxes,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetNumberAxes(self, *_args, **_kwargs) return val def GetMaxButtons(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetMaxButtons,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetMaxButtons(self, *_args, **_kwargs) return val def GetMaxAxes(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetMaxAxes,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetMaxAxes(self, *_args, **_kwargs) return val def GetPollingMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetPollingMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetPollingMin(self, *_args, **_kwargs) return val def GetPollingMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetPollingMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetPollingMax(self, *_args, **_kwargs) return val def GetRudderMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetRudderMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetRudderMin(self, *_args, **_kwargs) return val def GetRudderMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetRudderMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetRudderMax(self, *_args, **_kwargs) return val def GetUMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetUMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetUMin(self, *_args, **_kwargs) return val def GetUMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetUMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetUMax(self, *_args, **_kwargs) return val def GetVMin(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetVMin,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetVMin(self, *_args, **_kwargs) return val def GetVMax(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_GetVMax,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_GetVMax(self, *_args, **_kwargs) return val def HasRudder(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasRudder,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasRudder(self, *_args, **_kwargs) return val def HasZ(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasZ,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasZ(self, *_args, **_kwargs) return val def HasU(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasU,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasU(self, *_args, **_kwargs) return val def HasV(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasV,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasV(self, *_args, **_kwargs) return val def HasPOV(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasPOV,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasPOV(self, *_args, **_kwargs) return val def HasPOV4Dir(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasPOV4Dir,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasPOV4Dir(self, *_args, **_kwargs) return val def HasPOVCTS(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_HasPOVCTS,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_HasPOVCTS(self, *_args, **_kwargs) return val def SetCapture(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_SetCapture,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_SetCapture(self, *_args, **_kwargs) return val def ReleaseCapture(self, *_args, **_kwargs): - val = apply(misc2c.wxJoystick_ReleaseCapture,(self,) + _args, _kwargs) + val = misc2c.wxJoystick_ReleaseCapture(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxJoystick instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.IsOk() class wxJoystick(wxJoystickPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxJoystick,_args,_kwargs) + self.this = misc2c.new_wxJoystick(*_args,**_kwargs) self.thisown = 1 @@ -811,16 +813,17 @@ class wxWavePtr(wxObjectPtr): except: pass def IsOk(self, *_args, **_kwargs): - val = apply(misc2c.wxWave_IsOk,(self,) + _args, _kwargs) + val = misc2c.wxWave_IsOk(self, *_args, **_kwargs) return val def Play(self, *_args, **_kwargs): - val = apply(misc2c.wxWave_Play,(self,) + _args, _kwargs) + val = misc2c.wxWave_Play(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWave instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.IsOk() class wxWave(wxWavePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxWave,_args,_kwargs) + self.this = misc2c.new_wxWave(*_args,**_kwargs) self.thisown = 1 @@ -831,57 +834,57 @@ class wxFileTypeInfoPtr : self.this = this self.thisown = 0 def IsValid(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_IsValid,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_IsValid(self, *_args, **_kwargs) return val def SetIcon(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_SetIcon,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_SetIcon(self, *_args, **_kwargs) return val def SetShortDesc(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_SetShortDesc,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_SetShortDesc(self, *_args, **_kwargs) return val def GetMimeType(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetMimeType,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetMimeType(self, *_args, **_kwargs) return val def GetOpenCommand(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetOpenCommand,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetOpenCommand(self, *_args, **_kwargs) return val def GetPrintCommand(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetPrintCommand,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetPrintCommand(self, *_args, **_kwargs) return val def GetShortDesc(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetShortDesc,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetShortDesc(self, *_args, **_kwargs) return val def GetDescription(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetDescription,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetDescription(self, *_args, **_kwargs) return val def GetExtensions(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetExtensions,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetExtensions(self, *_args, **_kwargs) return val def GetExtensionsCount(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetExtensionsCount,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetExtensionsCount(self, *_args, **_kwargs) return val def GetIconFile(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetIconFile,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetIconFile(self, *_args, **_kwargs) return val def GetIconIndex(self, *_args, **_kwargs): - val = apply(misc2c.wxFileTypeInfo_GetIconIndex,(self,) + _args, _kwargs) + val = misc2c.wxFileTypeInfo_GetIconIndex(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileTypeInfo instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileTypeInfo(wxFileTypeInfoPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxFileTypeInfo,_args,_kwargs) + self.this = misc2c.new_wxFileTypeInfo(*_args,**_kwargs) self.thisown = 1 def wxFileTypeInfoSequence(*_args,**_kwargs): - val = wxFileTypeInfoPtr(apply(misc2c.new_wxFileTypeInfoSequence,_args,_kwargs)) + val = wxFileTypeInfoPtr(misc2c.new_wxFileTypeInfoSequence(*_args,**_kwargs)) val.thisown = 1 return val def wxNullFileTypeInfo(*_args,**_kwargs): - val = wxFileTypeInfoPtr(apply(misc2c.new_wxNullFileTypeInfo,_args,_kwargs)) + val = wxFileTypeInfoPtr(misc2c.new_wxNullFileTypeInfo(*_args,**_kwargs)) val.thisown = 1 return val @@ -891,41 +894,41 @@ class wxFileTypePtr : self.this = this self.thisown = 0 def GetMimeType(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetMimeType,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetMimeType(self, *_args, **_kwargs) return val def GetMimeTypes(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetMimeTypes,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetMimeTypes(self, *_args, **_kwargs) return val def GetExtensions(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetExtensions,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetExtensions(self, *_args, **_kwargs) return val def GetIcon(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetIcon,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetIcon(self, *_args, **_kwargs) if val: val = wxIconPtr(val) ; val.thisown = 1 return val def GetIconInfo(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetIconInfo,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetIconInfo(self, *_args, **_kwargs) return val def GetDescription(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetDescription,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetDescription(self, *_args, **_kwargs) return val def GetOpenCommand(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetOpenCommand,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetOpenCommand(self, *_args, **_kwargs) return val def GetPrintCommand(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetPrintCommand,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetPrintCommand(self, *_args, **_kwargs) return val def GetAllCommands(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_GetAllCommands,(self,) + _args, _kwargs) + val = misc2c.wxFileType_GetAllCommands(self, *_args, **_kwargs) return val def SetCommand(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_SetCommand,(self,) + _args, _kwargs) + val = misc2c.wxFileType_SetCommand(self, *_args, **_kwargs) return val def SetDefaultIcon(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_SetDefaultIcon,(self,) + _args, _kwargs) + val = misc2c.wxFileType_SetDefaultIcon(self, *_args, **_kwargs) return val def Unassociate(self, *_args, **_kwargs): - val = apply(misc2c.wxFileType_Unassociate,(self,) + _args, _kwargs) + val = misc2c.wxFileType_Unassociate(self, *_args, **_kwargs) return val def __del__(self, delfunc=misc2c.delete_wxFileType): if self.thisown == 1: @@ -934,10 +937,10 @@ class wxFileTypePtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileType instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileType(wxFileTypePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxFileType,_args,_kwargs) + self.this = misc2c.new_wxFileType(*_args,**_kwargs) self.thisown = 1 @@ -948,37 +951,37 @@ class wxMimeTypesManagerPtr : self.this = this self.thisown = 0 def Initialize(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_Initialize,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_Initialize(self, *_args, **_kwargs) return val def ClearData(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_ClearData,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_ClearData(self, *_args, **_kwargs) return val def GetFileTypeFromExtension(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_GetFileTypeFromExtension,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_GetFileTypeFromExtension(self, *_args, **_kwargs) if val: val = wxFileTypePtr(val) ; val.thisown = 1 return val def GetFileTypeFromMimeType(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_GetFileTypeFromMimeType,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_GetFileTypeFromMimeType(self, *_args, **_kwargs) if val: val = wxFileTypePtr(val) ; val.thisown = 1 return val def ReadMailcap(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_ReadMailcap,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_ReadMailcap(self, *_args, **_kwargs) return val def ReadMimeTypes(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_ReadMimeTypes,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_ReadMimeTypes(self, *_args, **_kwargs) return val def EnumAllFileTypes(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_EnumAllFileTypes,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_EnumAllFileTypes(self, *_args, **_kwargs) return val def AddFallback(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_AddFallback,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_AddFallback(self, *_args, **_kwargs) return val def Associate(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_Associate,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_Associate(self, *_args, **_kwargs) if val: val = wxFileTypePtr(val) ; val.thisown = 1 return val def Unassociate(self, *_args, **_kwargs): - val = apply(misc2c.wxMimeTypesManager_Unassociate,(self,) + _args, _kwargs) + val = misc2c.wxMimeTypesManager_Unassociate(self, *_args, **_kwargs) return val def __del__(self, delfunc=misc2c.delete_wxMimeTypesManager): if self.thisown == 1: @@ -987,10 +990,10 @@ class wxMimeTypesManagerPtr : except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMimeTypesManager instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMimeTypesManager(wxMimeTypesManagerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxMimeTypesManager,_args,_kwargs) + self.this = misc2c.new_wxMimeTypesManager(*_args,**_kwargs) self.thisown = 1 @@ -1001,13 +1004,13 @@ class wxArtProviderPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(misc2c.wxArtProvider__setCallbackInfo,(self,) + _args, _kwargs) + val = misc2c.wxArtProvider__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxArtProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxArtProvider(wxArtProviderPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxArtProvider,_args,_kwargs) + self.this = misc2c.new_wxArtProvider(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxArtProvider) @@ -1025,46 +1028,46 @@ class wxFileHistoryPtr(wxObjectPtr): except: pass def AddFileToHistory(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_AddFileToHistory,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_AddFileToHistory(self, *_args, **_kwargs) return val def RemoveFileFromHistory(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_RemoveFileFromHistory,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_RemoveFileFromHistory(self, *_args, **_kwargs) return val def GetMaxFiles(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_GetMaxFiles,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_GetMaxFiles(self, *_args, **_kwargs) return val def UseMenu(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_UseMenu,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_UseMenu(self, *_args, **_kwargs) return val def RemoveMenu(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_RemoveMenu,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_RemoveMenu(self, *_args, **_kwargs) return val def Load(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_Load,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_Load(self, *_args, **_kwargs) return val def Save(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_Save,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_Save(self, *_args, **_kwargs) return val def AddFilesToMenu(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_AddFilesToMenu,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_AddFilesToMenu(self, *_args, **_kwargs) return val def AddFilesToThisMenu(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_AddFilesToThisMenu,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_AddFilesToThisMenu(self, *_args, **_kwargs) return val def GetHistoryFile(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_GetHistoryFile,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_GetHistoryFile(self, *_args, **_kwargs) return val def GetCount(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_GetCount,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_GetCount(self, *_args, **_kwargs) return val def GetNoHistoryFiles(self, *_args, **_kwargs): - val = apply(misc2c.wxFileHistory_GetNoHistoryFiles,(self,) + _args, _kwargs) + val = misc2c.wxFileHistory_GetNoHistoryFiles(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileHistory instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileHistory(wxFileHistoryPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxFileHistory,_args,_kwargs) + self.this = misc2c.new_wxFileHistory(*_args,**_kwargs) self.thisown = 1 @@ -1075,54 +1078,54 @@ class wxEffectsPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetHighlightColour(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_GetHighlightColour,(self,) + _args, _kwargs) + val = misc2c.wxEffects_GetHighlightColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetLightShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_GetLightShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_GetLightShadow(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetFaceColour(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_GetFaceColour,(self,) + _args, _kwargs) + val = misc2c.wxEffects_GetFaceColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetMediumShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_GetMediumShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_GetMediumShadow(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetDarkShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_GetDarkShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_GetDarkShadow(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def SetHighlightColour(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_SetHighlightColour,(self,) + _args, _kwargs) + val = misc2c.wxEffects_SetHighlightColour(self, *_args, **_kwargs) return val def SetLightShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_SetLightShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_SetLightShadow(self, *_args, **_kwargs) return val def SetFaceColour(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_SetFaceColour,(self,) + _args, _kwargs) + val = misc2c.wxEffects_SetFaceColour(self, *_args, **_kwargs) return val def SetMediumShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_SetMediumShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_SetMediumShadow(self, *_args, **_kwargs) return val def SetDarkShadow(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_SetDarkShadow,(self,) + _args, _kwargs) + val = misc2c.wxEffects_SetDarkShadow(self, *_args, **_kwargs) return val def Set(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_Set,(self,) + _args, _kwargs) + val = misc2c.wxEffects_Set(self, *_args, **_kwargs) return val def DrawSunkenEdge(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_DrawSunkenEdge,(self,) + _args, _kwargs) + val = misc2c.wxEffects_DrawSunkenEdge(self, *_args, **_kwargs) return val def TileBitmap(self, *_args, **_kwargs): - val = apply(misc2c.wxEffects_TileBitmap,(self,) + _args, _kwargs) + val = misc2c.wxEffects_TileBitmap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEffects instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxEffects(wxEffectsPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxEffects,_args,_kwargs) + self.this = misc2c.new_wxEffects(*_args,**_kwargs) self.thisown = 1 @@ -1139,22 +1142,22 @@ class wxSingleInstanceCheckerPtr : except: pass def Create(self, *_args, **_kwargs): - val = apply(misc2c.wxSingleInstanceChecker_Create,(self,) + _args, _kwargs) + val = misc2c.wxSingleInstanceChecker_Create(self, *_args, **_kwargs) return val def IsAnotherRunning(self, *_args, **_kwargs): - val = apply(misc2c.wxSingleInstanceChecker_IsAnotherRunning,(self,) + _args, _kwargs) + val = misc2c.wxSingleInstanceChecker_IsAnotherRunning(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSingleInstanceChecker instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSingleInstanceChecker(wxSingleInstanceCheckerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(misc2c.new_wxSingleInstanceChecker,_args,_kwargs) + self.this = misc2c.new_wxSingleInstanceChecker(*_args,**_kwargs) self.thisown = 1 def wxPreSingleInstanceChecker(*_args,**_kwargs): - val = wxSingleInstanceCheckerPtr(apply(misc2c.new_wxPreSingleInstanceChecker,_args,_kwargs)) + val = wxSingleInstanceCheckerPtr(misc2c.new_wxPreSingleInstanceChecker(*_args,**_kwargs)) val.thisown = 1 return val @@ -1192,21 +1195,21 @@ wxGetDisplayDepth = misc2c.wxGetDisplayDepth wxDisplaySize = misc2c.wxDisplaySize def wxGetDisplaySize(*_args, **_kwargs): - val = apply(misc2c.wxGetDisplaySize,_args,_kwargs) + val = misc2c.wxGetDisplaySize(*_args,**_kwargs) if val: val = wxSizePtr(val); val.thisown = 1 return val wxDisplaySizeMM = misc2c.wxDisplaySizeMM def wxGetDisplaySizeMM(*_args, **_kwargs): - val = apply(misc2c.wxGetDisplaySizeMM,_args,_kwargs) + val = misc2c.wxGetDisplaySizeMM(*_args,**_kwargs) if val: val = wxSizePtr(val); val.thisown = 1 return val wxClientDisplayRect = misc2c.wxClientDisplayRect def wxGetClientDisplayRect(*_args, **_kwargs): - val = apply(misc2c.wxGetClientDisplayRect,_args,_kwargs) + val = misc2c.wxGetClientDisplayRect(*_args,**_kwargs) if val: val = wxRectPtr(val); val.thisown = 1 return val @@ -1215,19 +1218,19 @@ wxSetCursor = misc2c.wxSetCursor wxBeginBusyCursor = misc2c.wxBeginBusyCursor def wxGetActiveWindow(*_args, **_kwargs): - val = apply(misc2c.wxGetActiveWindow,_args,_kwargs) + val = misc2c.wxGetActiveWindow(*_args,**_kwargs) return val def wxGenericFindWindowAtPoint(*_args, **_kwargs): - val = apply(misc2c.wxGenericFindWindowAtPoint,_args,_kwargs) + val = misc2c.wxGenericFindWindowAtPoint(*_args,**_kwargs) return val def wxFindWindowAtPoint(*_args, **_kwargs): - val = apply(misc2c.wxFindWindowAtPoint,_args,_kwargs) + val = misc2c.wxFindWindowAtPoint(*_args,**_kwargs) return val def wxGetTopLevelParent(*_args, **_kwargs): - val = apply(misc2c.wxGetTopLevelParent,_args,_kwargs) + val = misc2c.wxGetTopLevelParent(*_args,**_kwargs) return val wxCaret_GetBlinkTime = misc2c.wxCaret_GetBlinkTime @@ -1249,7 +1252,7 @@ wxThread_IsMain = misc2c.wxThread_IsMain wxShowTip = misc2c.wxShowTip def wxCreateFileTipProvider(*_args, **_kwargs): - val = apply(misc2c.wxCreateFileTipProvider,_args,_kwargs) + val = misc2c.wxCreateFileTipProvider(*_args,**_kwargs) if val: val = wxTipProviderPtr(val); val.thisown = 1 return val @@ -1288,17 +1291,17 @@ wxSafeShowMessage = misc2c.wxSafeShowMessage wxExecute = misc2c.wxExecute def wxWaveData(*_args, **_kwargs): - val = apply(misc2c.wxWaveData,_args,_kwargs) + val = misc2c.wxWaveData(*_args,**_kwargs) if val: val = wxWavePtr(val); val.thisown = 1 return val def wxSystemSettings_GetColour(*_args, **_kwargs): - val = apply(misc2c.wxSystemSettings_GetColour,_args,_kwargs) + val = misc2c.wxSystemSettings_GetColour(*_args,**_kwargs) if val: val = wxColourPtr(val); val.thisown = 1 return val def wxSystemSettings_GetFont(*_args, **_kwargs): - val = apply(misc2c.wxSystemSettings_GetFont,_args,_kwargs) + val = misc2c.wxSystemSettings_GetFont(*_args,**_kwargs) if val: val = wxFontPtr(val); val.thisown = 1 return val @@ -1323,12 +1326,12 @@ wxLog_OnLog = misc2c.wxLog_OnLog wxLog_FlushActive = misc2c.wxLog_FlushActive def wxLog_GetActiveTarget(*_args, **_kwargs): - val = apply(misc2c.wxLog_GetActiveTarget,_args,_kwargs) + val = misc2c.wxLog_GetActiveTarget(*_args,**_kwargs) if val: val = wxLogPtr(val) return val def wxLog_SetActiveTarget(*_args, **_kwargs): - val = apply(misc2c.wxLog_SetActiveTarget,_args,_kwargs) + val = misc2c.wxLog_SetActiveTarget(*_args,**_kwargs) if val: val = wxLogPtr(val) return val @@ -1367,7 +1370,7 @@ wxProcess_Kill = misc2c.wxProcess_Kill wxProcess_Exists = misc2c.wxProcess_Exists def wxProcess_Open(*_args, **_kwargs): - val = apply(misc2c.wxProcess_Open,_args,_kwargs) + val = misc2c.wxProcess_Open(*_args,**_kwargs) if val: val = wxProcessPtr(val) return val @@ -1382,12 +1385,12 @@ wxArtProvider_PopProvider = misc2c.wxArtProvider_PopProvider wxArtProvider_RemoveProvider = misc2c.wxArtProvider_RemoveProvider def wxArtProvider_GetBitmap(*_args, **_kwargs): - val = apply(misc2c.wxArtProvider_GetBitmap,_args,_kwargs) + val = misc2c.wxArtProvider_GetBitmap(*_args,**_kwargs) if val: val = wxBitmapPtr(val); val.thisown = 1 return val def wxArtProvider_GetIcon(*_args, **_kwargs): - val = apply(misc2c.wxArtProvider_GetIcon,_args,_kwargs) + val = misc2c.wxArtProvider_GetIcon(*_args,**_kwargs) if val: val = wxIconPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/printfw.cpp b/wxPython/src/gtk/printfw.cpp index de74f530b3..971a557121 100644 --- a/wxPython/src/gtk/printfw.cpp +++ b/wxPython/src/gtk/printfw.cpp @@ -64,8 +64,13 @@ extern PyObject *SWIG_newvarlink(void); // Put some wx default wxChar* values into wxStrings. static const wxChar* wxPrintoutTitleStr = wxT("Printout"); DECLARE_DEF_STRING(PrintoutTitleStr); + static const wxChar* wxPreviewCanvasNameStr = wxT("previewcanvas"); + DECLARE_DEF_STRING(PreviewCanvasNameStr); DECLARE_DEF_STRING(FrameNameStr); + DECLARE_DEF_STRING(PanelNameStr); + DECLARE_DEF_STRING(DialogNameStr); + static PyObject* t_output_helper(PyObject* target, PyObject* o) { @@ -151,6 +156,99 @@ IMP_PYCALLBACK_BOOL_INT_pure(wxPyPrintout, wxPrintout, OnPrintPage); IMP_PYCALLBACK_BOOL_INT(wxPyPrintout, wxPrintout, HasPage); + +class wxPyPrintPreview : public wxPrintPreview +{ + DECLARE_CLASS(wxPyPrintPreview) +public: + wxPyPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintData* data=NULL) + : wxPrintPreview(printout, printoutForPrinting, data) + {} + + DEC_PYCALLBACK_BOOL_INT(SetCurrentPage); + DEC_PYCALLBACK_BOOL_WXWINDC(PaintPage); + DEC_PYCALLBACK_BOOL_WXWINDC(DrawBlankPage); + DEC_PYCALLBACK_BOOL_INT(RenderPage); + DEC_PYCALLBACK_VOID_INT(SetZoom); + DEC_PYCALLBACK_BOOL_BOOL(Print); + DEC_PYCALLBACK_VOID_(DetermineScaling); + + PYPRIVATE; +}; + +// Stupid renamed classes... Fix this in 2.5... +#if defined(__WXMSW__) +IMPLEMENT_CLASS( wxPyPrintPreview, wxWindowsPrintPreview ); +#elif defined(__WXMAC__) +IMPLEMENT_CLASS( wxPyPrintPreview, wxMacPrintPreview ); +#else +IMPLEMENT_CLASS( wxPyPrintPreview, wxPostScriptPrintPreview ); +#endif + +IMP_PYCALLBACK_BOOL_INT (wxPyPrintPreview, wxPrintPreview, SetCurrentPage); +IMP_PYCALLBACK_BOOL_WXWINDC(wxPyPrintPreview, wxPrintPreview, PaintPage); +IMP_PYCALLBACK_BOOL_WXWINDC(wxPyPrintPreview, wxPrintPreview, DrawBlankPage); +IMP_PYCALLBACK_BOOL_INT (wxPyPrintPreview, wxPrintPreview, RenderPage); +IMP_PYCALLBACK_VOID_INT (wxPyPrintPreview, wxPrintPreview, SetZoom); +IMP_PYCALLBACK_BOOL_BOOL (wxPyPrintPreview, wxPrintPreview, Print); +IMP_PYCALLBACK_VOID_ (wxPyPrintPreview, wxPrintPreview, DetermineScaling); + +class wxPyPreviewFrame : public wxPreviewFrame +{ + DECLARE_CLASS(wxPyPreviewFrame); +public: + wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxPyFrameNameStr) + : wxPreviewFrame(preview, parent, title, pos, size, style, name) + {} + + void SetPreviewCanvas(wxWindow* canvas) { m_previewCanvas = canvas; } + void SetControlBar(wxPreviewControlBar* bar) { m_controlBar = bar; } + + DEC_PYCALLBACK_VOID_(Initialize); + DEC_PYCALLBACK_VOID_(CreateCanvas); + DEC_PYCALLBACK_VOID_(CreateControlBar); + + PYPRIVATE; +}; + +IMPLEMENT_CLASS(wxPyPreviewFrame, wxPreviewFrame); + +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, Initialize); +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateCanvas); +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateControlBar); + +class wxPyPreviewControlBar : public wxPreviewControlBar +{ + DECLARE_CLASS(wxPyPreviewControlBar); +public: + wxPyPreviewControlBar(wxPrintPreview *preview, + long buttons, + wxWindow *parent, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr) + : wxPreviewControlBar(preview, buttons, parent, pos, size, style, name) + {} + + void SetPrintPreview(wxPrintPreview* preview) { m_printPreview = preview; } + + DEC_PYCALLBACK_VOID_(CreateButtons); + DEC_PYCALLBACK_VOID_INT(SetZoomControl); + + PYPRIVATE; +}; + +IMPLEMENT_CLASS(wxPyPreviewControlBar, wxPreviewControlBar); +IMP_PYCALLBACK_VOID_(wxPyPreviewControlBar, wxPreviewControlBar, CreateButtons); +IMP_PYCALLBACK_VOID_INT(wxPyPreviewControlBar, wxPreviewControlBar, SetZoomControl); #ifdef __cplusplus extern "C" { #endif @@ -1083,11 +1181,10 @@ static PyObject *_wrap_wxPrintData_GetPrinterTranslateY(PyObject *self, PyObject #define wxPrintData_GetPrintMode(_swigobj) (_swigobj->GetPrintMode()) static PyObject *_wrap_wxPrintData_GetPrintMode(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintMode * _result; + wxPrintMode _result; wxPrintData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; - char _ptemp[128]; self = self; if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintData_GetPrintMode",_kwnames,&_argo0)) @@ -1101,12 +1198,11 @@ static PyObject *_wrap_wxPrintData_GetPrintMode(PyObject *self, PyObject *args, } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = new wxPrintMode (wxPrintData_GetPrintMode(_arg0)); + _result = (wxPrintMode )wxPrintData_GetPrintMode(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} SWIG_MakePtr(_ptemp, (void *) _result,"_wxPrintMode_p"); - _resultobj = Py_BuildValue("s",_ptemp); +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } @@ -1485,13 +1581,12 @@ static PyObject *_wrap_wxPrintData_SetPrinterTranslation(PyObject *self, PyObjec static PyObject *_wrap_wxPrintData_SetPrintMode(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintData * _arg0; - wxPrintMode * _arg1; + wxPrintMode _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; char *_kwnames[] = { "self","printMode", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintData_SetPrintMode",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintData_SetPrintMode",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -1500,16 +1595,9 @@ static PyObject *_wrap_wxPrintData_SetPrintMode(PyObject *self, PyObject *args, return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintMode_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintData_SetPrintMode. Expected _wxPrintMode_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintData_SetPrintMode(_arg0,*_arg1); + wxPrintData_SetPrintMode(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2850,151 +2938,139 @@ static PyObject *_wrap_delete_wxPrintDialogData(PyObject *self, PyObject *args, return _resultobj; } -#define wxPrintDialogData_EnableHelp(_swigobj,_swigarg0) (_swigobj->EnableHelp(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_EnableHelp(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetFromPage(_swigobj) (_swigobj->GetFromPage()) +static PyObject *_wrap_wxPrintDialogData_GetFromPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + int _result; wxPrintDialogData * _arg0; - bool _arg1; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","flag", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnableHelp",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetFromPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnableHelp. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetFromPage. Expected _wxPrintDialogData_p."); return NULL; } } - _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_EnableHelp(_arg0,_arg1); + _result = (int )wxPrintDialogData_GetFromPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialogData_EnablePageNumbers(_swigobj,_swigarg0) (_swigobj->EnablePageNumbers(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_EnablePageNumbers(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetToPage(_swigobj) (_swigobj->GetToPage()) +static PyObject *_wrap_wxPrintDialogData_GetToPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + int _result; wxPrintDialogData * _arg0; - bool _arg1; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","flag", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnablePageNumbers",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetToPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnablePageNumbers. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetToPage. Expected _wxPrintDialogData_p."); return NULL; } } - _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_EnablePageNumbers(_arg0,_arg1); + _result = (int )wxPrintDialogData_GetToPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialogData_EnablePrintToFile(_swigobj,_swigarg0) (_swigobj->EnablePrintToFile(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_EnablePrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetMinPage(_swigobj) (_swigobj->GetMinPage()) +static PyObject *_wrap_wxPrintDialogData_GetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + int _result; wxPrintDialogData * _arg0; - bool _arg1; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","flag", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnablePrintToFile",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetMinPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnablePrintToFile. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetMinPage. Expected _wxPrintDialogData_p."); return NULL; } } - _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_EnablePrintToFile(_arg0,_arg1); + _result = (int )wxPrintDialogData_GetMinPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialogData_EnableSelection(_swigobj,_swigarg0) (_swigobj->EnableSelection(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_EnableSelection(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetMaxPage(_swigobj) (_swigobj->GetMaxPage()) +static PyObject *_wrap_wxPrintDialogData_GetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + int _result; wxPrintDialogData * _arg0; - bool _arg1; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","flag", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnableSelection",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetMaxPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnableSelection. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetMaxPage. Expected _wxPrintDialogData_p."); return NULL; } } - _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_EnableSelection(_arg0,_arg1); + _result = (int )wxPrintDialogData_GetMaxPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialogData_GetAllPages(_swigobj) (_swigobj->GetAllPages()) -static PyObject *_wrap_wxPrintDialogData_GetAllPages(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetNoCopies(_swigobj) (_swigobj->GetNoCopies()) +static PyObject *_wrap_wxPrintDialogData_GetNoCopies(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; + int _result; wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetAllPages",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetNoCopies",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetAllPages. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetNoCopies. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintDialogData_GetAllPages(_arg0); + _result = (int )wxPrintDialogData_GetNoCopies(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3002,8 +3078,8 @@ static PyObject *_wrap_wxPrintDialogData_GetAllPages(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintDialogData_GetCollate(_swigobj) (_swigobj->GetCollate()) -static PyObject *_wrap_wxPrintDialogData_GetCollate(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetAllPages(_swigobj) (_swigobj->GetAllPages()) +static PyObject *_wrap_wxPrintDialogData_GetAllPages(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; bool _result; wxPrintDialogData * _arg0; @@ -3011,18 +3087,18 @@ static PyObject *_wrap_wxPrintDialogData_GetCollate(PyObject *self, PyObject *ar char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetCollate",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetAllPages",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetCollate. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetAllPages. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintDialogData_GetCollate(_arg0); + _result = (bool )wxPrintDialogData_GetAllPages(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3030,27 +3106,27 @@ static PyObject *_wrap_wxPrintDialogData_GetCollate(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_GetFromPage(_swigobj) (_swigobj->GetFromPage()) -static PyObject *_wrap_wxPrintDialogData_GetFromPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetSelection(_swigobj) (_swigobj->GetSelection()) +static PyObject *_wrap_wxPrintDialogData_GetSelection(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; + bool _result; wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetFromPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetSelection",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetFromPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetSelection. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialogData_GetFromPage(_arg0); + _result = (bool )wxPrintDialogData_GetSelection(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3058,27 +3134,27 @@ static PyObject *_wrap_wxPrintDialogData_GetFromPage(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintDialogData_GetMaxPage(_swigobj) (_swigobj->GetMaxPage()) -static PyObject *_wrap_wxPrintDialogData_GetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetCollate(_swigobj) (_swigobj->GetCollate()) +static PyObject *_wrap_wxPrintDialogData_GetCollate(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; + bool _result; wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetMaxPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetCollate",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetMaxPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetCollate. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialogData_GetMaxPage(_arg0); + _result = (bool )wxPrintDialogData_GetCollate(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3086,27 +3162,27 @@ static PyObject *_wrap_wxPrintDialogData_GetMaxPage(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_GetMinPage(_swigobj) (_swigobj->GetMinPage()) -static PyObject *_wrap_wxPrintDialogData_GetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetPrintToFile(_swigobj) (_swigobj->GetPrintToFile()) +static PyObject *_wrap_wxPrintDialogData_GetPrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; + bool _result; wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetMinPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetPrintToFile",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetMinPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetPrintToFile. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialogData_GetMinPage(_arg0); + _result = (bool )wxPrintDialogData_GetPrintToFile(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3114,27 +3190,27 @@ static PyObject *_wrap_wxPrintDialogData_GetMinPage(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_GetNoCopies(_swigobj) (_swigobj->GetNoCopies()) -static PyObject *_wrap_wxPrintDialogData_GetNoCopies(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetSetupDialog(_swigobj) (_swigobj->GetSetupDialog()) +static PyObject *_wrap_wxPrintDialogData_GetSetupDialog(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; + bool _result; wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetNoCopies",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetSetupDialog",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetNoCopies. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetSetupDialog. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialogData_GetNoCopies(_arg0); + _result = (bool )wxPrintDialogData_GetSetupDialog(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3142,150 +3218,143 @@ static PyObject *_wrap_wxPrintDialogData_GetNoCopies(PyObject *self, PyObject *a return _resultobj; } -static wxPrintData * wxPrintDialogData_GetPrintData(wxPrintDialogData *self) { - return new wxPrintData(self->GetPrintData()); // force a copy - } -static PyObject *_wrap_wxPrintDialogData_GetPrintData(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetFromPage(_swigobj,_swigarg0) (_swigobj->SetFromPage(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetFromPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintData * _result; wxPrintDialogData * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; - char _ptemp[128]; + char *_kwnames[] = { "self","v", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetPrintData",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetFromPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetPrintData. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetFromPage. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPrintData *)wxPrintDialogData_GetPrintData(_arg0); + wxPrintDialogData_SetFromPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintData_p"); - _resultobj = Py_BuildValue("s",_ptemp); - } else { - Py_INCREF(Py_None); - _resultobj = Py_None; - } +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintDialogData_GetPrintToFile(_swigobj) (_swigobj->GetPrintToFile()) -static PyObject *_wrap_wxPrintDialogData_GetPrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetToPage(_swigobj,_swigarg0) (_swigobj->SetToPage(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetToPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; wxPrintDialogData * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + char *_kwnames[] = { "self","v", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetPrintToFile",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetToPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetPrintToFile. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetToPage. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintDialogData_GetPrintToFile(_arg0); + wxPrintDialogData_SetToPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintDialogData_GetToPage(_swigobj) (_swigobj->GetToPage()) -static PyObject *_wrap_wxPrintDialogData_GetToPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetMinPage(_swigobj,_swigarg0) (_swigobj->SetMinPage(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; wxPrintDialogData * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + char *_kwnames[] = { "self","v", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetToPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetMinPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetToPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetMinPage. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialogData_GetToPage(_arg0); + wxPrintDialogData_SetMinPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintDialogData_Ok(_swigobj) (_swigobj->Ok()) -static PyObject *_wrap_wxPrintDialogData_Ok(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetMaxPage(_swigobj,_swigarg0) (_swigobj->SetMaxPage(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; wxPrintDialogData * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + char *_kwnames[] = { "self","v", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_Ok",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetMaxPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_Ok. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetMaxPage. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintDialogData_Ok(_arg0); + wxPrintDialogData_SetMaxPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintDialogData_SetCollate(_swigobj,_swigarg0) (_swigobj->SetCollate(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetCollate(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetNoCopies(_swigobj,_swigarg0) (_swigobj->SetNoCopies(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetNoCopies(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - bool _arg1; + int _arg1; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","flag", NULL }; + char *_kwnames[] = { "self","v", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetCollate",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetNoCopies",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetCollate. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetNoCopies. Expected _wxPrintDialogData_p."); return NULL; } } - _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetCollate(_arg0,_arg1); + wxPrintDialogData_SetNoCopies(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3294,27 +3363,29 @@ static PyObject *_wrap_wxPrintDialogData_SetCollate(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_SetFromPage(_swigobj,_swigarg0) (_swigobj->SetFromPage(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetFromPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetAllPages(_swigobj,_swigarg0) (_swigobj->SetAllPages(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetAllPages(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - int _arg1; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","page", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetFromPage",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetAllPages",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetFromPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetAllPages. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetFromPage(_arg0,_arg1); + wxPrintDialogData_SetAllPages(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3323,27 +3394,29 @@ static PyObject *_wrap_wxPrintDialogData_SetFromPage(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintDialogData_SetMaxPage(_swigobj,_swigarg0) (_swigobj->SetMaxPage(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetSelection(_swigobj,_swigarg0) (_swigobj->SetSelection(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetSelection(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - int _arg1; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","page", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetMaxPage",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetSelection",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetMaxPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetSelection. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetMaxPage(_arg0,_arg1); + wxPrintDialogData_SetSelection(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3352,27 +3425,29 @@ static PyObject *_wrap_wxPrintDialogData_SetMaxPage(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_SetMinPage(_swigobj,_swigarg0) (_swigobj->SetMinPage(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetCollate(_swigobj,_swigarg0) (_swigobj->SetCollate(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetCollate(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - int _arg1; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","page", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetMinPage",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetCollate",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetMinPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetCollate. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetMinPage(_arg0,_arg1); + wxPrintDialogData_SetCollate(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3381,27 +3456,29 @@ static PyObject *_wrap_wxPrintDialogData_SetMinPage(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrintDialogData_SetNoCopies(_swigobj,_swigarg0) (_swigobj->SetNoCopies(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetNoCopies(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetPrintToFile(_swigobj,_swigarg0) (_swigobj->SetPrintToFile(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetPrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - int _arg1; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","n", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetNoCopies",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetPrintToFile",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetNoCopies. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetPrintToFile. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetNoCopies(_arg0,_arg1); + wxPrintDialogData_SetPrintToFile(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3410,34 +3487,29 @@ static PyObject *_wrap_wxPrintDialogData_SetNoCopies(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintDialogData_SetPrintData(_swigobj,_swigarg0) (_swigobj->SetPrintData(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetPrintData(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_SetSetupDialog(_swigobj,_swigarg0) (_swigobj->SetSetupDialog(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetSetupDialog(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - wxPrintData * _arg1; + bool _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","printData", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintDialogData_SetPrintData",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetSetupDialog",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetPrintData. Expected _wxPrintDialogData_p."); - return NULL; - } - } - if (_argo1) { - if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintDialogData_SetPrintData. Expected _wxPrintData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetSetupDialog. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetPrintData(_arg0,*_arg1); + wxPrintDialogData_SetSetupDialog(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3446,8 +3518,8 @@ static PyObject *_wrap_wxPrintDialogData_SetPrintData(PyObject *self, PyObject * return _resultobj; } -#define wxPrintDialogData_SetPrintToFile(_swigobj,_swigarg0) (_swigobj->SetPrintToFile(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetPrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_EnablePrintToFile(_swigobj,_swigarg0) (_swigobj->EnablePrintToFile(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_EnablePrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; bool _arg1; @@ -3456,19 +3528,19 @@ static PyObject *_wrap_wxPrintDialogData_SetPrintToFile(PyObject *self, PyObject char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetPrintToFile",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnablePrintToFile",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetPrintToFile. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnablePrintToFile. Expected _wxPrintDialogData_p."); return NULL; } } _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetPrintToFile(_arg0,_arg1); + wxPrintDialogData_EnablePrintToFile(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3477,8 +3549,8 @@ static PyObject *_wrap_wxPrintDialogData_SetPrintToFile(PyObject *self, PyObject return _resultobj; } -#define wxPrintDialogData_SetSetupDialog(_swigobj,_swigarg0) (_swigobj->SetSetupDialog(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetSetupDialog(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_EnableSelection(_swigobj,_swigarg0) (_swigobj->EnableSelection(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_EnableSelection(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; bool _arg1; @@ -3487,19 +3559,19 @@ static PyObject *_wrap_wxPrintDialogData_SetSetupDialog(PyObject *self, PyObject char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetSetupDialog",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnableSelection",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetSetupDialog. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnableSelection. Expected _wxPrintDialogData_p."); return NULL; } } _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetSetupDialog(_arg0,_arg1); + wxPrintDialogData_EnableSelection(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3508,27 +3580,29 @@ static PyObject *_wrap_wxPrintDialogData_SetSetupDialog(PyObject *self, PyObject return _resultobj; } -#define wxPrintDialogData_SetToPage(_swigobj,_swigarg0) (_swigobj->SetToPage(_swigarg0)) -static PyObject *_wrap_wxPrintDialogData_SetToPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_EnablePageNumbers(_swigobj,_swigarg0) (_swigobj->EnablePageNumbers(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_EnablePageNumbers(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxPrintDialogData * _arg0; - int _arg1; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","page", NULL }; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_SetToPage",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnablePageNumbers",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetToPage. Expected _wxPrintDialogData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnablePageNumbers. Expected _wxPrintDialogData_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData_SetToPage(_arg0,_arg1); + wxPrintDialogData_EnablePageNumbers(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3537,175 +3611,142 @@ static PyObject *_wrap_wxPrintDialogData_SetToPage(PyObject *self, PyObject *arg return _resultobj; } -static void *SwigwxPrintDialogTowxDialog(void *ptr) { - wxPrintDialog *src; - wxDialog *dest; - src = (wxPrintDialog *) ptr; - dest = (wxDialog *) src; - return (void *) dest; -} - -static void *SwigwxPrintDialogTowxTopLevelWindow(void *ptr) { - wxPrintDialog *src; - wxTopLevelWindow *dest; - src = (wxPrintDialog *) ptr; - dest = (wxTopLevelWindow *) src; - return (void *) dest; -} - -static void *SwigwxPrintDialogTowxWindow(void *ptr) { - wxPrintDialog *src; - wxWindow *dest; - src = (wxPrintDialog *) ptr; - dest = (wxWindow *) src; - return (void *) dest; -} +#define wxPrintDialogData_EnableHelp(_swigobj,_swigarg0) (_swigobj->EnableHelp(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_EnableHelp(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintDialogData * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","flag", NULL }; -static void *SwigwxPrintDialogTowxEvtHandler(void *ptr) { - wxPrintDialog *src; - wxEvtHandler *dest; - src = (wxPrintDialog *) ptr; - dest = (wxEvtHandler *) src; - return (void *) dest; -} + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintDialogData_EnableHelp",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_EnableHelp. Expected _wxPrintDialogData_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintDialogData_EnableHelp(_arg0,_arg1); -static void *SwigwxPrintDialogTowxObject(void *ptr) { - wxPrintDialog *src; - wxObject *dest; - src = (wxPrintDialog *) ptr; - dest = (wxObject *) src; - return (void *) dest; + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; } -#define new_wxPrintDialog(_swigarg0,_swigarg1) (new wxPrintDialog(_swigarg0,_swigarg1)) -static PyObject *_wrap_new_wxPrintDialog(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetEnablePrintToFile(_swigobj) (_swigobj->GetEnablePrintToFile()) +static PyObject *_wrap_wxPrintDialogData_GetEnablePrintToFile(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintDialog * _result; - wxWindow * _arg0; - wxPrintDialogData * _arg1 = (wxPrintDialogData *) NULL; + bool _result; + wxPrintDialogData * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "parent","data", NULL }; - char _ptemp[128]; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:new_wxPrintDialog",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetEnablePrintToFile",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrintDialog. Expected _wxWindow_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPrintDialog. Expected _wxPrintDialogData_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetEnablePrintToFile. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPrintDialog *)new_wxPrintDialog(_arg0,_arg1); + _result = (bool )wxPrintDialogData_GetEnablePrintToFile(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialog_p"); - _resultobj = Py_BuildValue("s",_ptemp); - } else { - Py_INCREF(Py_None); - _resultobj = Py_None; - } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialog_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) -static PyObject *_wrap_wxPrintDialog_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetEnableSelection(_swigobj) (_swigobj->GetEnableSelection()) +static PyObject *_wrap_wxPrintDialogData_GetEnableSelection(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintDialogData * _result; - wxPrintDialog * _arg0; + bool _result; + wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; - char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_GetPrintDialogData",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetEnableSelection",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_GetPrintDialogData. Expected _wxPrintDialog_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetEnableSelection. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData & _result_ref = wxPrintDialog_GetPrintDialogData(_arg0); - _result = (wxPrintDialogData *) &_result_ref; + _result = (bool )wxPrintDialogData_GetEnableSelection(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); - _resultobj = Py_BuildValue("s",_ptemp); - } else { - Py_INCREF(Py_None); - _resultobj = Py_None; - } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialog_GetPrintDC(_swigobj) (_swigobj->GetPrintDC()) -static PyObject *_wrap_wxPrintDialog_GetPrintDC(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetEnablePageNumbers(_swigobj) (_swigobj->GetEnablePageNumbers()) +static PyObject *_wrap_wxPrintDialogData_GetEnablePageNumbers(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxDC * _result; - wxPrintDialog * _arg0; + bool _result; + wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_GetPrintDC",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetEnablePageNumbers",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_GetPrintDC. Expected _wxPrintDialog_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetEnablePageNumbers. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxDC *)wxPrintDialog_GetPrintDC(_arg0); + _result = (bool )wxPrintDialogData_GetEnablePageNumbers(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintDialog_ShowModal(_swigobj) (_swigobj->ShowModal()) -static PyObject *_wrap_wxPrintDialog_ShowModal(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialogData_GetEnableHelp(_swigobj) (_swigobj->GetEnableHelp()) +static PyObject *_wrap_wxPrintDialogData_GetEnableHelp(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; - wxPrintDialog * _arg0; + bool _result; + wxPrintDialogData * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_ShowModal",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetEnableHelp",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_ShowModal. Expected _wxPrintDialog_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetEnableHelp. Expected _wxPrintDialogData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintDialog_ShowModal(_arg0); + _result = (bool )wxPrintDialogData_GetEnableHelp(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3713,110 +3754,1893 @@ static PyObject *_wrap_wxPrintDialog_ShowModal(PyObject *self, PyObject *args, P return _resultobj; } -static void *SwigwxPyPrintoutTowxObject(void *ptr) { - wxPyPrintout *src; - wxObject *dest; - src = (wxPyPrintout *) ptr; - dest = (wxObject *) src; - return (void *) dest; +#define wxPrintDialogData_Ok(_swigobj) (_swigobj->Ok()) +static PyObject *_wrap_wxPrintDialogData_Ok(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrintDialogData * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_Ok",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_Ok. Expected _wxPrintDialogData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintDialogData_Ok(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; } -#define new_wxPrintout(_swigarg0) (new wxPyPrintout(_swigarg0)) -static PyObject *_wrap_new_wxPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { +static wxPrintData * wxPrintDialogData_GetPrintData(wxPrintDialogData *self) { + return new wxPrintData(self->GetPrintData()); // force a copy + } +static PyObject *_wrap_wxPrintDialogData_GetPrintData(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _result; - wxString * _arg0 = (wxString *) &wxPyPrintoutTitleStr; - PyObject * _obj0 = 0; - char *_kwnames[] = { "title", NULL }; + wxPrintData * _result; + wxPrintDialogData * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPrintout",_kwnames,&_obj0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialogData_GetPrintData",_kwnames,&_argo0)) return NULL; - if (_obj0) -{ - _arg0 = wxString_in_helper(_obj0); - if (_arg0 == NULL) + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_GetPrintData. Expected _wxPrintDialogData_p."); return NULL; -} + } + } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPyPrintout *)new_wxPrintout(*_arg0); + _result = (wxPrintData *)wxPrintDialogData_GetPrintData(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPrintout_p"); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintData_p"); _resultobj = Py_BuildValue("s",_ptemp); } else { Py_INCREF(Py_None); _resultobj = Py_None; } -{ - if (_obj0) - delete _arg0; + return _resultobj; } + +#define wxPrintDialogData_SetPrintData(_swigobj,_swigarg0) (_swigobj->SetPrintData(_swigarg0)) +static PyObject *_wrap_wxPrintDialogData_SetPrintData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintDialogData * _arg0; + wxPrintData * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","printData", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintDialogData_SetPrintData",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialogData_SetPrintData. Expected _wxPrintDialogData_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintDialogData_SetPrintData. Expected _wxPrintData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintDialogData_SetPrintData(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintout__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { +static void *SwigwxPrintDialogTowxDialog(void *ptr) { + wxPrintDialog *src; + wxDialog *dest; + src = (wxPrintDialog *) ptr; + dest = (wxDialog *) src; + return (void *) dest; +} + +static void *SwigwxPrintDialogTowxTopLevelWindow(void *ptr) { + wxPrintDialog *src; + wxTopLevelWindow *dest; + src = (wxPrintDialog *) ptr; + dest = (wxTopLevelWindow *) src; + return (void *) dest; +} + +static void *SwigwxPrintDialogTowxWindow(void *ptr) { + wxPrintDialog *src; + wxWindow *dest; + src = (wxPrintDialog *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPrintDialogTowxEvtHandler(void *ptr) { + wxPrintDialog *src; + wxEvtHandler *dest; + src = (wxPrintDialog *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPrintDialogTowxObject(void *ptr) { + wxPrintDialog *src; + wxObject *dest; + src = (wxPrintDialog *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPrintDialog(_swigarg0,_swigarg1) (new wxPrintDialog(_swigarg0,_swigarg1)) +static PyObject *_wrap_new_wxPrintDialog(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; - PyObject * _arg1; - PyObject * _arg2; + wxPrintDialog * _result; + wxWindow * _arg0; + wxPrintDialogData * _arg1 = (wxPrintDialogData *) NULL; PyObject * _argo0 = 0; - PyObject * _obj1 = 0; - PyObject * _obj2 = 0; - char *_kwnames[] = { "self","self","_class", NULL }; + PyObject * _argo1 = 0; + char *_kwnames[] = { "parent","data", NULL }; + char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrintout__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:new_wxPrintDialog",_kwnames,&_argo0,&_argo1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout__setCallbackInfo. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrintDialog. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPrintDialog. Expected _wxPrintDialogData_p."); return NULL; } } { - _arg1 = _obj1; + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPrintDialog *)new_wxPrintDialog(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialog_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; } + +#define wxPrintDialog_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) +static PyObject *_wrap_wxPrintDialog_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintDialogData * _result; + wxPrintDialog * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_GetPrintDialogData",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_GetPrintDialogData. Expected _wxPrintDialog_p."); + return NULL; + } + } { - _arg2 = _obj2; + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintDialogData & _result_ref = wxPrintDialog_GetPrintDialogData(_arg0); + _result = (wxPrintDialogData *) &_result_ref; + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; } + +#define wxPrintDialog_GetPrintDC(_swigobj) (_swigobj->GetPrintDC()) +static PyObject *_wrap_wxPrintDialog_GetPrintDC(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxDC * _result; + wxPrintDialog * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_GetPrintDC",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_GetPrintDC. Expected _wxPrintDialog_p."); + return NULL; + } + } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout__setCallbackInfo(_arg0,_arg1,_arg2); + _result = (wxDC *)wxPrintDialog_GetPrintDC(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +}{ _resultobj = wxPyMake_wxObject(_result); } return _resultobj; } -static void wxPyPrintout_Destroy(wxPyPrintout *self) { delete self; } -static PyObject *_wrap_wxPrintout_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintDialog_ShowModal(_swigobj) (_swigobj->ShowModal()) +static PyObject *_wrap_wxPrintDialog_ShowModal(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; + int _result; + wxPrintDialog * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_Destroy",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintDialog_ShowModal",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialog_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintDialog_ShowModal. Expected _wxPrintDialog_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxPrintDialog_ShowModal(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static void *SwigwxPyPrintoutTowxObject(void *ptr) { + wxPyPrintout *src; + wxObject *dest; + src = (wxPyPrintout *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPrintout(_swigarg0) (new wxPyPrintout(_swigarg0)) +static PyObject *_wrap_new_wxPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _result; + wxString * _arg0 = (wxString *) &wxPyPrintoutTitleStr; + PyObject * _obj0 = 0; + char *_kwnames[] = { "title", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPrintout",_kwnames,&_obj0)) + return NULL; + if (_obj0) +{ + _arg0 = wxString_in_helper(_obj0); + if (_arg0 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyPrintout *)new_wxPrintout(*_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPrintout_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + +#define wxPrintout__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrintout__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout__setCallbackInfo. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout__setCallbackInfo(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static void wxPyPrintout_Destroy(wxPyPrintout *self) { delete self; } +static PyObject *_wrap_wxPrintout_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_Destroy",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_Destroy. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyPrintout_Destroy(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintout_GetDC(_swigobj) (_swigobj->GetDC()) +static PyObject *_wrap_wxPrintout_GetDC(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxDC * _result; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetDC",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetDC. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxDC *)wxPrintout_GetDC(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrintout_GetPageSizeMM(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPageSizeMM(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout_GetPageSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPageSizeMM",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPageSizeMM. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_GetPageSizeMM(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPrintout_GetPageSizePixels(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPageSizePixels(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPageSizePixels",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPageSizePixels. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_GetPageSizePixels(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPrintout_GetPPIPrinter(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPPIPrinter(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout_GetPPIPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPPIPrinter",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPPIPrinter. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_GetPPIPrinter(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPrintout_GetPPIScreen(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPPIScreen(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout_GetPPIScreen(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPPIScreen",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPPIScreen. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_GetPPIScreen(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + +#define wxPrintout_IsPreview(_swigobj) (_swigobj->IsPreview()) +static PyObject *_wrap_wxPrintout_IsPreview(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_IsPreview",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_IsPreview. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintout_IsPreview(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintout_base_OnBeginDocument(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_OnBeginDocument(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintout_base_OnBeginDocument(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyPrintout * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","startPage","endPage", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPrintout_base_OnBeginDocument",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnBeginDocument. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintout_base_OnBeginDocument(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintout_base_OnEndDocument(_swigobj) (_swigobj->base_OnEndDocument()) +static PyObject *_wrap_wxPrintout_base_OnEndDocument(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnEndDocument",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnEndDocument. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_base_OnEndDocument(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintout_base_OnBeginPrinting(_swigobj) (_swigobj->base_OnBeginPrinting()) +static PyObject *_wrap_wxPrintout_base_OnBeginPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnBeginPrinting",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnBeginPrinting. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_base_OnBeginPrinting(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintout_base_OnEndPrinting(_swigobj) (_swigobj->base_OnEndPrinting()) +static PyObject *_wrap_wxPrintout_base_OnEndPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnEndPrinting",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnEndPrinting. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_base_OnEndPrinting(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintout_base_OnPreparePrinting(_swigobj) (_swigobj->base_OnPreparePrinting()) +static PyObject *_wrap_wxPrintout_base_OnPreparePrinting(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnPreparePrinting",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnPreparePrinting. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_base_OnPreparePrinting(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintout_base_GetPageInfo(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->base_GetPageInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxPrintout_base_GetPageInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _arg0; + int * _arg1; + int temp; + int * _arg2; + int temp0; + int * _arg3; + int temp1; + int * _arg4; + int temp2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; +{ + _arg1 = &temp; +} +{ + _arg2 = &temp0; +} +{ + _arg3 = &temp1; +} +{ + _arg4 = &temp2; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_GetPageInfo",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_GetPageInfo. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintout_base_GetPageInfo(_arg0,_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg1)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + 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); +} + return _resultobj; +} + +#define wxPrintout_base_HasPage(_swigobj,_swigarg0) (_swigobj->base_HasPage(_swigarg0)) +static PyObject *_wrap_wxPrintout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPyPrintout * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","page", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintout_base_HasPage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_HasPage. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintout_base_HasPage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static void *SwigwxPrinterTowxObject(void *ptr) { + wxPrinter *src; + wxObject *dest; + src = (wxPrinter *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPrinter(_swigarg0) (new wxPrinter(_swigarg0)) +static PyObject *_wrap_new_wxPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrinter * _result; + wxPrintDialogData * _arg0 = (wxPrintDialogData *) NULL; + PyObject * _argo0 = 0; + char *_kwnames[] = { "data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPrinter",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrinter. Expected _wxPrintDialogData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPrinter *)new_wxPrinter(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrinter_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define delete_wxPrinter(_swigobj) (delete _swigobj) +static PyObject *_wrap_delete_wxPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrinter * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPrinter",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPrinter. Expected _wxPrinter_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + delete_wxPrinter(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrinter_CreateAbortWindow(_swigobj,_swigarg0,_swigarg1) (_swigobj->CreateAbortWindow(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrinter_CreateAbortWindow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrinter * _arg0; + wxWindow * _arg1; + wxPyPrintout * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","parent","printout", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrinter_CreateAbortWindow",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_CreateAbortWindow. Expected _wxPrinter_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_CreateAbortWindow. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_CreateAbortWindow. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrinter_CreateAbortWindow(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrinter_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) +static PyObject *_wrap_wxPrinter_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintDialogData * _result; + wxPrinter * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrinter_GetPrintDialogData",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_GetPrintDialogData. Expected _wxPrinter_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintDialogData & _result_ref = wxPrinter_GetPrintDialogData(_arg0); + _result = (wxPrintDialogData *) &_result_ref; + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define wxPrinter_Print(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Print(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxPrinter_Print(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrinter * _arg0; + wxWindow * _arg1; + wxPyPrintout * _arg2; + int _arg3 = (int ) TRUE; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","parent","printout","prompt", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|i:wxPrinter_Print",_kwnames,&_argo0,&_argo1,&_argo2,&_arg3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_Print. Expected _wxPrinter_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_Print. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_Print. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrinter_Print(_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrinter_PrintDialog(_swigobj,_swigarg0) (_swigobj->PrintDialog(_swigarg0)) +static PyObject *_wrap_wxPrinter_PrintDialog(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxDC * _result; + wxPrinter * _arg0; + wxWindow * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","parent", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrinter_PrintDialog",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_PrintDialog. Expected _wxPrinter_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_PrintDialog. Expected _wxWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxDC *)wxPrinter_PrintDialog(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrinter_ReportError(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->ReportError(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxPrinter_ReportError(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrinter * _arg0; + wxWindow * _arg1; + wxPyPrintout * _arg2; + wxString * _arg3; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + PyObject * _obj3 = 0; + char *_kwnames[] = { "self","parent","printout","message", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxPrinter_ReportError",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_ReportError. Expected _wxPrinter_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_ReportError. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_ReportError. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + _arg3 = wxString_in_helper(_obj3); + if (_arg3 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrinter_ReportError(_arg0,_arg1,_arg2,*_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj3) + delete _arg3; +} + return _resultobj; +} + +#define wxPrinter_Setup(_swigobj,_swigarg0) (_swigobj->Setup(_swigarg0)) +static PyObject *_wrap_wxPrinter_Setup(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrinter * _arg0; + wxWindow * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","parent", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrinter_Setup",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_Setup. Expected _wxPrinter_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_Setup. Expected _wxWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrinter_Setup(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrinter_GetAbort(_swigobj) (_swigobj->GetAbort()) +static PyObject *_wrap_wxPrinter_GetAbort(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrinter * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrinter_GetAbort",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_GetAbort. Expected _wxPrinter_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrinter_GetAbort(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static PyObject *_wrap_wxPrinter_GetLastError(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrinterError _result; + char *_kwnames[] = { NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxPrinter_GetLastError",_kwnames)) + return NULL; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPrinterError )wxPrinter::GetLastError(); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +static void *SwigwxPrintAbortDialogTowxDialog(void *ptr) { + wxPrintAbortDialog *src; + wxDialog *dest; + src = (wxPrintAbortDialog *) ptr; + dest = (wxDialog *) src; + return (void *) dest; +} + +static void *SwigwxPrintAbortDialogTowxTopLevelWindow(void *ptr) { + wxPrintAbortDialog *src; + wxTopLevelWindow *dest; + src = (wxPrintAbortDialog *) ptr; + dest = (wxTopLevelWindow *) src; + return (void *) dest; +} + +static void *SwigwxPrintAbortDialogTowxWindow(void *ptr) { + wxPrintAbortDialog *src; + wxWindow *dest; + src = (wxPrintAbortDialog *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPrintAbortDialogTowxEvtHandler(void *ptr) { + wxPrintAbortDialog *src; + wxEvtHandler *dest; + src = (wxPrintAbortDialog *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPrintAbortDialogTowxObject(void *ptr) { + wxPrintAbortDialog *src; + wxObject *dest; + src = (wxPrintAbortDialog *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPrintAbortDialog(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxPrintAbortDialog(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_new_wxPrintAbortDialog(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintAbortDialog * _result; + wxWindow * _arg0; + wxString * _arg1; + wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg3 = (wxSize *) &wxDefaultSize; + long _arg4 = (long ) 0; + wxString * _arg5 = (wxString *) &wxPyDialogNameStr; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + wxPoint temp; + PyObject * _obj2 = 0; + wxSize temp0; + PyObject * _obj3 = 0; + PyObject * _obj5 = 0; + char *_kwnames[] = { "parent","title","pos","size","style","name", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|OOlO:new_wxPrintAbortDialog",_kwnames,&_argo0,&_obj1,&_obj2,&_obj3,&_arg4,&_obj5)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrintAbortDialog. Expected _wxWindow_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} + if (_obj2) +{ + _arg2 = &temp; + if (! wxPoint_helper(_obj2, &_arg2)) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp0; + if (! wxSize_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj5) +{ + _arg5 = wxString_in_helper(_obj5); + if (_arg5 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPrintAbortDialog *)new_wxPrintAbortDialog(_arg0,*_arg1,*_arg2,*_arg3,_arg4,*_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintAbortDialog_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj1) + delete _arg1; +} +{ + if (_obj5) + delete _arg5; +} + return _resultobj; +} + +static void *SwigwxPrintPreviewTowxObject(void *ptr) { + wxPrintPreview *src; + wxObject *dest; + src = (wxPrintPreview *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPrintPreview(_swigarg0,_swigarg1,_swigarg2) (new wxPrintPreview(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_new_wxPrintPreview(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintPreview * _result; + wxPyPrintout * _arg0; + wxPyPrintout * _arg1; + wxPrintData * _arg2 = (wxPrintData *) NULL; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "printout","printoutForPrinting","data", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:new_wxPrintPreview",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrintPreview. Expected _wxPyPrintout_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPrintPreview. Expected _wxPyPrintout_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPrintData_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxPrintPreview. Expected _wxPrintData_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPrintPreview *)new_wxPrintPreview(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintPreview_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define wxPrintPreview_SetCurrentPage(_swigobj,_swigarg0) (_swigobj->SetCurrentPage(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetCurrentPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrintPreview * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","pageNum", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_SetCurrentPage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetCurrentPage. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintPreview_SetCurrentPage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintPreview_GetCurrentPage(_swigobj) (_swigobj->GetCurrentPage()) +static PyObject *_wrap_wxPrintPreview_GetCurrentPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + int _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetCurrentPage",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetCurrentPage. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (int )wxPrintPreview_GetCurrentPage(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintPreview_SetPrintout(_swigobj,_swigarg0) (_swigobj->SetPrintout(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintPreview * _arg0; + wxPyPrintout * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","printout", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetPrintout",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetPrintout. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyPrintout_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetPrintout. Expected _wxPyPrintout_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintPreview_SetPrintout(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintPreview_GetPrintout(_swigobj) (_swigobj->GetPrintout()) +static PyObject *_wrap_wxPrintPreview_GetPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintout",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintout. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyPrintout *)wxPrintPreview_GetPrintout(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrintPreview_GetPrintoutForPrinting(_swigobj) (_swigobj->GetPrintoutForPrinting()) +static PyObject *_wrap_wxPrintPreview_GetPrintoutForPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintout * _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintoutForPrinting",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintoutForPrinting. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPyPrintout *)wxPrintPreview_GetPrintoutForPrinting(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrintPreview_SetFrame(_swigobj,_swigarg0) (_swigobj->SetFrame(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetFrame(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintPreview * _arg0; + wxFrame * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","frame", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetFrame",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetFrame. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetFrame. Expected _wxFrame_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintPreview_SetFrame(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintPreview_SetCanvas(_swigobj,_swigarg0) (_swigobj->SetCanvas(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintPreview * _arg0; + wxWindow * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","canvas", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetCanvas",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetCanvas. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetCanvas. Expected _wxWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintPreview_SetCanvas(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPrintPreview_GetFrame(_swigobj) (_swigobj->GetFrame()) +static PyObject *_wrap_wxPrintPreview_GetFrame(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxFrame * _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetFrame",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetFrame. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxFrame *)wxPrintPreview_GetFrame(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrintPreview_GetCanvas(_swigobj) (_swigobj->GetCanvas()) +static PyObject *_wrap_wxPrintPreview_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxWindow * _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetCanvas",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetCanvas. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxWindow *)wxPrintPreview_GetCanvas(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +}{ _resultobj = wxPyMake_wxObject(_result); } + return _resultobj; +} + +#define wxPrintPreview_PaintPage(_swigobj,_swigarg0,_swigarg1) (_swigobj->PaintPage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintPreview_PaintPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrintPreview * _arg0; + wxWindow * _arg1; + wxDC * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","canvas","dc", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrintPreview_PaintPage",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_PaintPage. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_PaintPage. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrintPreview_PaintPage. Expected _wxDC_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintPreview_PaintPage(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintPreview_DrawBlankPage(_swigobj,_swigarg0,_swigarg1) (_swigobj->DrawBlankPage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPrintPreview_DrawBlankPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrintPreview * _arg0; + wxWindow * _arg1; + wxDC * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","canvas","dc", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrintPreview_DrawBlankPage",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_DrawBlankPage. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_DrawBlankPage. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrintPreview_DrawBlankPage. Expected _wxDC_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintPreview_DrawBlankPage(_arg0,_arg1,*_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintPreview_RenderPage(_swigobj,_swigarg0) (_swigobj->RenderPage(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_RenderPage(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxPrintPreview * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","pageNum", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_RenderPage",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_RenderPage. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxPrintPreview_RenderPage(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxPrintPreview_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) +static PyObject *_wrap_wxPrintPreview_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintDialogData * _result; + wxPrintPreview * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintDialogData",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintDialogData. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPrintDialogData & _result_ref = wxPrintPreview_GetPrintDialogData(_arg0); + _result = (wxPrintDialogData *) &_result_ref; + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + +#define wxPrintPreview_SetZoom(_swigobj,_swigarg0) (_swigobj->SetZoom(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetZoom(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPrintPreview * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","percent", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_SetZoom",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_Destroy. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetZoom. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPyPrintout_Destroy(_arg0); + wxPrintPreview_SetZoom(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3825,247 +5649,173 @@ static PyObject *_wrap_wxPrintout_Destroy(PyObject *self, PyObject *args, PyObje return _resultobj; } -#define wxPrintout_GetDC(_swigobj) (_swigobj->GetDC()) -static PyObject *_wrap_wxPrintout_GetDC(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_GetZoom(_swigobj) (_swigobj->GetZoom()) +static PyObject *_wrap_wxPrintPreview_GetZoom(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxDC * _result; - wxPyPrintout * _arg0; + int _result; + wxPrintPreview * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetDC",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetZoom",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetDC. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetZoom. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxDC *)wxPrintout_GetDC(_arg0); + _result = (int )wxPrintPreview_GetZoom(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintout_GetPageSizeMM(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPageSizeMM(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout_GetPageSizeMM(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_GetMaxPage(_swigobj) (_swigobj->GetMaxPage()) +static PyObject *_wrap_wxPrintPreview_GetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; - int * _arg1; - int temp; - int * _arg2; - int temp0; + int _result; + wxPrintPreview * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; -{ - _arg1 = &temp; -} -{ - _arg2 = &temp0; -} - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPageSizeMM",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetMaxPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPageSizeMM. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetMaxPage. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_GetPageSizeMM(_arg0,_arg1,_arg2); + _result = (int )wxPrintPreview_GetMaxPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg1)); - _resultobj = t_output_helper(_resultobj, o); -} -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg2)); - _resultobj = t_output_helper(_resultobj, o); -} +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintout_GetPageSizePixels(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPageSizePixels(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout_GetPageSizePixels(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_GetMinPage(_swigobj) (_swigobj->GetMinPage()) +static PyObject *_wrap_wxPrintPreview_GetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; - int * _arg1; - int temp; - int * _arg2; - int temp0; + int _result; + wxPrintPreview * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; -{ - _arg1 = &temp; -} -{ - _arg2 = &temp0; -} - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPageSizePixels",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetMinPage",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPageSizePixels. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetMinPage. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_GetPageSizePixels(_arg0,_arg1,_arg2); + _result = (int )wxPrintPreview_GetMinPage(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg1)); - _resultobj = t_output_helper(_resultobj, o); -} -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg2)); - _resultobj = t_output_helper(_resultobj, o); -} +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintout_GetPPIPrinter(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPPIPrinter(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout_GetPPIPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_Ok(_swigobj) (_swigobj->Ok()) +static PyObject *_wrap_wxPrintPreview_Ok(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; - int * _arg1; - int temp; - int * _arg2; - int temp0; + bool _result; + wxPrintPreview * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; -{ - _arg1 = &temp; -} -{ - _arg2 = &temp0; -} - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPPIPrinter",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_Ok",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPPIPrinter. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_Ok. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_GetPPIPrinter(_arg0,_arg1,_arg2); + _result = (bool )wxPrintPreview_Ok(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg1)); - _resultobj = t_output_helper(_resultobj, o); -} -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg2)); - _resultobj = t_output_helper(_resultobj, o); -} +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintout_GetPPIScreen(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetPPIScreen(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout_GetPPIScreen(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_SetOk(_swigobj,_swigarg0) (_swigobj->SetOk(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_SetOk(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; - int * _arg1; - int temp; - int * _arg2; - int temp0; + wxPrintPreview * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","ok", NULL }; self = self; -{ - _arg1 = &temp; -} -{ - _arg2 = &temp0; -} - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_GetPPIScreen",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_SetOk",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_GetPPIScreen. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetOk. Expected _wxPrintPreview_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_GetPPIScreen(_arg0,_arg1,_arg2); + wxPrintPreview_SetOk(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg1)); - _resultobj = t_output_helper(_resultobj, o); -} -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg2)); - _resultobj = t_output_helper(_resultobj, o); -} return _resultobj; } -#define wxPrintout_IsPreview(_swigobj) (_swigobj->IsPreview()) -static PyObject *_wrap_wxPrintout_IsPreview(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_Print(_swigobj,_swigarg0) (_swigobj->Print(_swigarg0)) +static PyObject *_wrap_wxPrintPreview_Print(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; bool _result; - wxPyPrintout * _arg0; + wxPrintPreview * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","interactive", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_IsPreview",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_Print",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_IsPreview. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_Print. Expected _wxPrintPreview_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintout_IsPreview(_arg0); + _result = (bool )wxPrintPreview_Print(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4073,84 +5823,180 @@ static PyObject *_wrap_wxPrintout_IsPreview(PyObject *self, PyObject *args, PyOb return _resultobj; } -#define wxPrintout_base_OnBeginDocument(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_OnBeginDocument(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrintout_base_OnBeginDocument(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPrintPreview_DetermineScaling(_swigobj) (_swigobj->DetermineScaling()) +static PyObject *_wrap_wxPrintPreview_DetermineScaling(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; - wxPyPrintout * _arg0; - int _arg1; - int _arg2; + wxPrintPreview * _arg0; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","startPage","endPage", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxPrintout_base_OnBeginDocument",_kwnames,&_argo0,&_arg1,&_arg2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_DetermineScaling",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnBeginDocument. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_DetermineScaling. Expected _wxPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintout_base_OnBeginDocument(_arg0,_arg1,_arg2); + wxPrintPreview_DetermineScaling(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintout_base_OnEndDocument(_swigobj) (_swigobj->base_OnEndDocument()) -static PyObject *_wrap_wxPrintout_base_OnEndDocument(PyObject *self, PyObject *args, PyObject *kwargs) { +static void *SwigwxPreviewFrameTowxFrame(void *ptr) { + wxPreviewFrame *src; + wxFrame *dest; + src = (wxPreviewFrame *) ptr; + dest = (wxFrame *) src; + return (void *) dest; +} + +static void *SwigwxPreviewFrameTowxTopLevelWindow(void *ptr) { + wxPreviewFrame *src; + wxTopLevelWindow *dest; + src = (wxPreviewFrame *) ptr; + dest = (wxTopLevelWindow *) src; + return (void *) dest; +} + +static void *SwigwxPreviewFrameTowxWindow(void *ptr) { + wxPreviewFrame *src; + wxWindow *dest; + src = (wxPreviewFrame *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPreviewFrameTowxEvtHandler(void *ptr) { + wxPreviewFrame *src; + wxEvtHandler *dest; + src = (wxPreviewFrame *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPreviewFrameTowxObject(void *ptr) { + wxPreviewFrame *src; + wxObject *dest; + src = (wxPreviewFrame *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxPreviewFrame(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; + wxPreviewFrame * _result; + wxPrintPreview * _arg0; + wxFrame * _arg1; + wxString * _arg2; + wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg4 = (wxSize *) &wxDefaultSize; + long _arg5 = (long ) wxDEFAULT_FRAME_STYLE; + wxString * _arg6 = (wxString *) &wxPyFrameNameStr; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + wxPoint temp; + PyObject * _obj3 = 0; + wxSize temp0; + PyObject * _obj4 = 0; + PyObject * _obj6 = 0; + char *_kwnames[] = { "preview","parent","title","pos","size","style","name", NULL }; + char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnEndDocument",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|OOlO:new_wxPreviewFrame",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3,&_obj4,&_arg5,&_obj6)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnEndDocument. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPreviewFrame. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPreviewFrame. Expected _wxFrame_p."); return NULL; } } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp; + if (! wxPoint_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj4) +{ + _arg4 = &temp0; + if (! wxSize_helper(_obj4, &_arg4)) + return NULL; +} + if (_obj6) +{ + _arg6 = wxString_in_helper(_obj6); + if (_arg6 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_base_OnEndDocument(_arg0); + _result = (wxPreviewFrame *)new_wxPreviewFrame(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPreviewFrame_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj2) + delete _arg2; +} +{ + if (_obj6) + delete _arg6; +} return _resultobj; } -#define wxPrintout_base_OnBeginPrinting(_swigobj) (_swigobj->base_OnBeginPrinting()) -static PyObject *_wrap_wxPrintout_base_OnBeginPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewFrame_Initialize(_swigobj) (_swigobj->Initialize()) +static PyObject *_wrap_wxPreviewFrame_Initialize(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; + wxPreviewFrame * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnBeginPrinting",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewFrame_Initialize",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnBeginPrinting. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewFrame_Initialize. Expected _wxPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_base_OnBeginPrinting(_arg0); + wxPreviewFrame_Initialize(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4159,26 +6005,26 @@ static PyObject *_wrap_wxPrintout_base_OnBeginPrinting(PyObject *self, PyObject return _resultobj; } -#define wxPrintout_base_OnEndPrinting(_swigobj) (_swigobj->base_OnEndPrinting()) -static PyObject *_wrap_wxPrintout_base_OnEndPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewFrame_CreateControlBar(_swigobj) (_swigobj->CreateControlBar()) +static PyObject *_wrap_wxPreviewFrame_CreateControlBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; + wxPreviewFrame * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnEndPrinting",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewFrame_CreateControlBar",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnEndPrinting. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewFrame_CreateControlBar. Expected _wxPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_base_OnEndPrinting(_arg0); + wxPreviewFrame_CreateControlBar(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4187,26 +6033,26 @@ static PyObject *_wrap_wxPrintout_base_OnEndPrinting(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintout_base_OnPreparePrinting(_swigobj) (_swigobj->base_OnPreparePrinting()) -static PyObject *_wrap_wxPrintout_base_OnPreparePrinting(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewFrame_CreateCanvas(_swigobj) (_swigobj->CreateCanvas()) +static PyObject *_wrap_wxPreviewFrame_CreateCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _arg0; + wxPreviewFrame * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_OnPreparePrinting",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewFrame_CreateCanvas",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_OnPreparePrinting. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewFrame_CreateCanvas. Expected _wxPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_base_OnPreparePrinting(_arg0); + wxPreviewFrame_CreateCanvas(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4215,212 +6061,278 @@ static PyObject *_wrap_wxPrintout_base_OnPreparePrinting(PyObject *self, PyObjec return _resultobj; } -#define wxPrintout_base_GetPageInfo(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->base_GetPageInfo(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) -static PyObject *_wrap_wxPrintout_base_GetPageInfo(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxPyPrintout * _arg0; - int * _arg1; - int temp; - int * _arg2; - int temp0; - int * _arg3; - int temp1; - int * _arg4; - int temp2; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; +static void *SwigwxPreviewCanvasTowxScrolledWindow(void *ptr) { + wxPreviewCanvas *src; + wxScrolledWindow *dest; + src = (wxPreviewCanvas *) ptr; + dest = (wxScrolledWindow *) src; + return (void *) dest; +} - self = self; -{ - _arg1 = &temp; +static void *SwigwxPreviewCanvasTowxPanel(void *ptr) { + wxPreviewCanvas *src; + wxPanel *dest; + src = (wxPreviewCanvas *) ptr; + dest = (wxPanel *) src; + return (void *) dest; } -{ - _arg2 = &temp0; + +static void *SwigwxPreviewCanvasTowxWindow(void *ptr) { + wxPreviewCanvas *src; + wxWindow *dest; + src = (wxPreviewCanvas *) ptr; + dest = (wxWindow *) src; + return (void *) dest; } -{ - _arg3 = &temp1; + +static void *SwigwxPreviewCanvasTowxEvtHandler(void *ptr) { + wxPreviewCanvas *src; + wxEvtHandler *dest; + src = (wxPreviewCanvas *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; } -{ - _arg4 = &temp2; + +static void *SwigwxPreviewCanvasTowxObject(void *ptr) { + wxPreviewCanvas *src; + wxObject *dest; + src = (wxPreviewCanvas *) ptr; + dest = (wxObject *) src; + return (void *) dest; } - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintout_base_GetPageInfo",_kwnames,&_argo0)) + +#define new_wxPreviewCanvas(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5) (new wxPreviewCanvas(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5)) +static PyObject *_wrap_new_wxPreviewCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPreviewCanvas * _result; + wxPrintPreview * _arg0; + wxWindow * _arg1; + wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg3 = (wxSize *) &wxDefaultSize; + long _arg4 = (long ) 0; + wxString * _arg5 = (wxString *) &wxPyPreviewCanvasNameStr; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxPoint temp; + PyObject * _obj2 = 0; + wxSize temp0; + PyObject * _obj3 = 0; + PyObject * _obj5 = 0; + char *_kwnames[] = { "preview","parent","pos","size","style","name", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|OOlO:new_wxPreviewCanvas",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3,&_arg4,&_obj5)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_GetPageInfo. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPreviewCanvas. Expected _wxPrintPreview_p."); return NULL; } } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPreviewCanvas. Expected _wxWindow_p."); + return NULL; + } + } + if (_obj2) { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintout_base_GetPageInfo(_arg0,_arg1,_arg2,_arg3,_arg4); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; -{ - PyObject *o; - o = PyInt_FromLong((long) (*_arg1)); - _resultobj = t_output_helper(_resultobj, o); + _arg2 = &temp; + if (! wxPoint_helper(_obj2, &_arg2)) + return NULL; } + if (_obj3) { - PyObject *o; - o = PyInt_FromLong((long) (*_arg2)); - _resultobj = t_output_helper(_resultobj, o); + _arg3 = &temp0; + if (! wxSize_helper(_obj3, &_arg3)) + return NULL; } + if (_obj5) { - PyObject *o; - o = PyInt_FromLong((long) (*_arg3)); - _resultobj = t_output_helper(_resultobj, o); + _arg5 = wxString_in_helper(_obj5); + if (_arg5 == NULL) + return NULL; } { - PyObject *o; - o = PyInt_FromLong((long) (*_arg4)); - _resultobj = t_output_helper(_resultobj, o); + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxPreviewCanvas *)new_wxPreviewCanvas(_arg0,_arg1,*_arg2,*_arg3,_arg4,*_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPreviewCanvas_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj5) + delete _arg5; } return _resultobj; } -#define wxPrintout_base_HasPage(_swigobj,_swigarg0) (_swigobj->base_HasPage(_swigarg0)) -static PyObject *_wrap_wxPrintout_base_HasPage(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxPyPrintout * _arg0; - int _arg1; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self","page", NULL }; +static void *SwigwxPreviewControlBarTowxPanel(void *ptr) { + wxPreviewControlBar *src; + wxPanel *dest; + src = (wxPreviewControlBar *) ptr; + dest = (wxPanel *) src; + return (void *) dest; +} - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintout_base_HasPage",_kwnames,&_argo0,&_arg1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintout_base_HasPage. Expected _wxPyPrintout_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintout_base_HasPage(_arg0,_arg1); +static void *SwigwxPreviewControlBarTowxWindow(void *ptr) { + wxPreviewControlBar *src; + wxWindow *dest; + src = (wxPreviewControlBar *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; +static void *SwigwxPreviewControlBarTowxEvtHandler(void *ptr) { + wxPreviewControlBar *src; + wxEvtHandler *dest; + src = (wxPreviewControlBar *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; } -static void *SwigwxPrinterTowxObject(void *ptr) { - wxPrinter *src; +static void *SwigwxPreviewControlBarTowxObject(void *ptr) { + wxPreviewControlBar *src; wxObject *dest; - src = (wxPrinter *) ptr; + src = (wxPreviewControlBar *) ptr; dest = (wxObject *) src; return (void *) dest; } -#define new_wxPrinter(_swigarg0) (new wxPrinter(_swigarg0)) -static PyObject *_wrap_new_wxPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { +#define new_wxPreviewControlBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPreviewControlBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxPreviewControlBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrinter * _result; - wxPrintDialogData * _arg0 = (wxPrintDialogData *) NULL; + wxPreviewControlBar * _result; + wxPrintPreview * _arg0; + long _arg1; + wxWindow * _arg2; + wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg4 = (wxSize *) &wxDefaultSize; + long _arg5 = (long ) 0; + wxString * _arg6 = (wxString *) &wxPyPanelNameStr; PyObject * _argo0 = 0; - char *_kwnames[] = { "data", NULL }; + PyObject * _argo2 = 0; + wxPoint temp; + PyObject * _obj3 = 0; + wxSize temp0; + PyObject * _obj4 = 0; + PyObject * _obj6 = 0; + char *_kwnames[] = { "preview","buttons","parent","pos","size","style","name", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|O:new_wxPrinter",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OlO|OOlO:new_wxPreviewControlBar",_kwnames,&_argo0,&_arg1,&_argo2,&_obj3,&_obj4,&_arg5,&_obj6)) return NULL; if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintDialogData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrinter. Expected _wxPrintDialogData_p."); + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPreviewControlBar. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxPreviewControlBar. Expected _wxWindow_p."); return NULL; } } + if (_obj3) +{ + _arg3 = &temp; + if (! wxPoint_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj4) +{ + _arg4 = &temp0; + if (! wxSize_helper(_obj4, &_arg4)) + return NULL; +} + if (_obj6) +{ + _arg6 = wxString_in_helper(_obj6); + if (_arg6 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPrinter *)new_wxPrinter(_arg0); + _result = (wxPreviewControlBar *)new_wxPreviewControlBar(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrinter_p"); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPreviewControlBar_p"); _resultobj = Py_BuildValue("s",_ptemp); } else { Py_INCREF(Py_None); _resultobj = Py_None; } +{ + if (_obj6) + delete _arg6; +} return _resultobj; } -#define delete_wxPrinter(_swigobj) (delete _swigobj) -static PyObject *_wrap_delete_wxPrinter(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_GetZoomControl(_swigobj) (_swigobj->GetZoomControl()) +static PyObject *_wrap_wxPreviewControlBar_GetZoomControl(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrinter * _arg0; + int _result; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxPrinter",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_GetZoomControl",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxPrinter. Expected _wxPrinter_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_GetZoomControl. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - delete_wxPrinter(_arg0); + _result = (int )wxPreviewControlBar_GetZoomControl(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrinter_CreateAbortWindow(_swigobj,_swigarg0,_swigarg1) (_swigobj->CreateAbortWindow(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxPrinter_CreateAbortWindow(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_SetZoomControl(_swigobj,_swigarg0) (_swigobj->SetZoomControl(_swigarg0)) +static PyObject *_wrap_wxPreviewControlBar_SetZoomControl(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrinter * _arg0; - wxWindow * _arg1; - wxPyPrintout * _arg2; + wxPreviewControlBar * _arg0; + int _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _argo2 = 0; - char *_kwnames[] = { "self","parent","printout", NULL }; + char *_kwnames[] = { "self","zoom", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPrinter_CreateAbortWindow",_kwnames,&_argo0,&_argo1,&_argo2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPreviewControlBar_SetZoomControl",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_CreateAbortWindow. Expected _wxPrinter_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_CreateAbortWindow. Expected _wxWindow_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_CreateAbortWindow. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_SetZoomControl. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrinter_CreateAbortWindow(_arg0,_arg1,_arg2); + wxPreviewControlBar_SetZoomControl(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4429,34 +6341,33 @@ static PyObject *_wrap_wxPrinter_CreateAbortWindow(PyObject *self, PyObject *arg return _resultobj; } -#define wxPrinter_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) -static PyObject *_wrap_wxPrinter_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_GetPrintPreview(_swigobj) (_swigobj->GetPrintPreview()) +static PyObject *_wrap_wxPreviewControlBar_GetPrintPreview(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintDialogData * _result; - wxPrinter * _arg0; + wxPrintPreview * _result; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrinter_GetPrintDialogData",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_GetPrintPreview",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_GetPrintDialogData. Expected _wxPrinter_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_GetPrintPreview. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData & _result_ref = wxPrinter_GetPrintDialogData(_arg0); - _result = (wxPrintDialogData *) &_result_ref; + _result = (wxPrintPreview *)wxPreviewControlBar_GetPrintPreview(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintPreview_p"); _resultobj = Py_BuildValue("s",_ptemp); } else { Py_INCREF(Py_None); @@ -4465,196 +6376,166 @@ static PyObject *_wrap_wxPrinter_GetPrintDialogData(PyObject *self, PyObject *ar return _resultobj; } -#define wxPrinter_Print(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Print(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_wxPrinter_Print(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_OnNext(_swigobj) (_swigobj->OnNext()) +static PyObject *_wrap_wxPreviewControlBar_OnNext(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; - wxPrinter * _arg0; - wxWindow * _arg1; - wxPyPrintout * _arg2; - int _arg3 = (int ) TRUE; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _argo2 = 0; - char *_kwnames[] = { "self","parent","printout","prompt", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|i:wxPrinter_Print",_kwnames,&_argo0,&_argo1,&_argo2,&_arg3)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_OnNext",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_Print. Expected _wxPrinter_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_Print. Expected _wxWindow_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_Print. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_OnNext. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrinter_Print(_arg0,_arg1,_arg2,_arg3); + wxPreviewControlBar_OnNext(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrinter_PrintDialog(_swigobj,_swigarg0) (_swigobj->PrintDialog(_swigarg0)) -static PyObject *_wrap_wxPrinter_PrintDialog(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_OnPrevious(_swigobj) (_swigobj->OnPrevious()) +static PyObject *_wrap_wxPreviewControlBar_OnPrevious(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxDC * _result; - wxPrinter * _arg0; - wxWindow * _arg1; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","parent", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrinter_PrintDialog",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_OnPrevious",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_PrintDialog. Expected _wxPrinter_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_PrintDialog. Expected _wxWindow_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_OnPrevious. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxDC *)wxPrinter_PrintDialog(_arg0,_arg1); + wxPreviewControlBar_OnPrevious(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrinter_ReportError(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->ReportError(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_wxPrinter_ReportError(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_OnFirst(_swigobj) (_swigobj->OnFirst()) +static PyObject *_wrap_wxPreviewControlBar_OnFirst(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrinter * _arg0; - wxWindow * _arg1; - wxPyPrintout * _arg2; - wxString * _arg3; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _argo2 = 0; - PyObject * _obj3 = 0; - char *_kwnames[] = { "self","parent","printout","message", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOOO:wxPrinter_ReportError",_kwnames,&_argo0,&_argo1,&_argo2,&_obj3)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_OnFirst",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_ReportError. Expected _wxPrinter_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_OnFirst. Expected _wxPreviewControlBar_p."); return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_ReportError. Expected _wxWindow_p."); +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPreviewControlBar_OnFirst(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPreviewControlBar_OnLast(_swigobj) (_swigobj->OnLast()) +static PyObject *_wrap_wxPreviewControlBar_OnLast(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPreviewControlBar * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_OnLast",_kwnames,&_argo0)) return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPrinter_ReportError. Expected _wxPyPrintout_p."); + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_OnLast. Expected _wxPreviewControlBar_p."); return NULL; } } -{ - _arg3 = wxString_in_helper(_obj3); - if (_arg3 == NULL) - return NULL; -} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrinter_ReportError(_arg0,_arg1,_arg2,*_arg3); + wxPreviewControlBar_OnLast(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } Py_INCREF(Py_None); _resultobj = Py_None; -{ - if (_obj3) - delete _arg3; -} return _resultobj; } -#define wxPrinter_Setup(_swigobj,_swigarg0) (_swigobj->Setup(_swigarg0)) -static PyObject *_wrap_wxPrinter_Setup(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPreviewControlBar_OnGoto(_swigobj) (_swigobj->OnGoto()) +static PyObject *_wrap_wxPreviewControlBar_OnGoto(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; - wxPrinter * _arg0; - wxWindow * _arg1; + wxPreviewControlBar * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","parent", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrinter_Setup",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewControlBar_OnGoto",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrinter_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrinter_Setup. Expected _wxPrinter_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrinter_Setup. Expected _wxWindow_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewControlBar_OnGoto. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrinter_Setup(_arg0,_arg1); + wxPreviewControlBar_OnGoto(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -static void *SwigwxPrintPreviewTowxObject(void *ptr) { - wxPrintPreview *src; +static void *SwigwxPyPrintPreviewTowxPrintPreview(void *ptr) { + wxPyPrintPreview *src; + wxPrintPreview *dest; + src = (wxPyPrintPreview *) ptr; + dest = (wxPrintPreview *) src; + return (void *) dest; +} + +static void *SwigwxPyPrintPreviewTowxObject(void *ptr) { + wxPyPrintPreview *src; wxObject *dest; - src = (wxPrintPreview *) ptr; + src = (wxPyPrintPreview *) ptr; dest = (wxObject *) src; return (void *) dest; } -#define new_wxPrintPreview(_swigarg0,_swigarg1,_swigarg2) (new wxPrintPreview(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_new_wxPrintPreview(PyObject *self, PyObject *args, PyObject *kwargs) { +#define new_wxPyPrintPreview(_swigarg0,_swigarg1,_swigarg2) (new wxPyPrintPreview(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_new_wxPyPrintPreview(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _result; + wxPyPrintPreview * _result; wxPyPrintout * _arg0; wxPyPrintout * _arg1; wxPrintData * _arg2 = (wxPrintData *) NULL; @@ -4665,37 +6546,37 @@ static PyObject *_wrap_new_wxPrintPreview(PyObject *self, PyObject *args, PyObje char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:new_wxPrintPreview",_kwnames,&_argo0,&_argo1,&_argo2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|O:new_wxPyPrintPreview",_kwnames,&_argo0,&_argo1,&_argo2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPrintPreview. Expected _wxPyPrintout_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyPrintPreview. Expected _wxPyPrintout_p."); return NULL; } } if (_argo1) { if (_argo1 == Py_None) { _arg1 = NULL; } else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPrintPreview. Expected _wxPyPrintout_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPyPrintPreview. Expected _wxPyPrintout_p."); return NULL; } } if (_argo2) { if (_argo2 == Py_None) { _arg2 = NULL; } else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxPrintData_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxPrintPreview. Expected _wxPrintData_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxPyPrintPreview. Expected _wxPrintData_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPrintPreview *)new_wxPrintPreview(_arg0,_arg1,_arg2); + _result = (wxPyPrintPreview *)new_wxPyPrintPreview(_arg0,_arg1,_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintPreview_p"); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPrintPreview_p"); _resultobj = Py_BuildValue("s",_ptemp); } else { Py_INCREF(Py_None); @@ -4704,111 +6585,111 @@ static PyObject *_wrap_new_wxPrintPreview(PyObject *self, PyObject *args, PyObje return _resultobj; } -#define wxPrintPreview_GetCanvas(_swigobj) (_swigobj->GetCanvas()) -static PyObject *_wrap_wxPrintPreview_GetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxWindow * _result; - wxPrintPreview * _arg0; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetCanvas",_kwnames,&_argo0)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetCanvas. Expected _wxPrintPreview_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxWindow *)wxPrintPreview_GetCanvas(_arg0); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } - return _resultobj; -} - -#define wxPrintPreview_GetCurrentPage(_swigobj) (_swigobj->GetCurrentPage()) -static PyObject *_wrap_wxPrintPreview_GetCurrentPage(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - int _result; - wxPrintPreview * _arg0; +#define wxPyPrintPreview__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyPrintPreview__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPrintPreview * _arg0; + PyObject * _arg1; + PyObject * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetCurrentPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyPrintPreview__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetCurrentPage. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview__setCallbackInfo. Expected _wxPyPrintPreview_p."); return NULL; } } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintPreview_GetCurrentPage(_arg0); + wxPyPrintPreview__setCallbackInfo(_arg0,_arg1,_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintPreview_GetFrame(_swigobj) (_swigobj->GetFrame()) -static PyObject *_wrap_wxPrintPreview_GetFrame(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_SetCurrentPage(_swigobj,_swigarg0) (_swigobj->base_SetCurrentPage(_swigarg0)) +static PyObject *_wrap_wxPyPrintPreview_base_SetCurrentPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxFrame * _result; - wxPrintPreview * _arg0; + bool _result; + wxPyPrintPreview * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + char *_kwnames[] = { "self","pageNum", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetFrame",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyPrintPreview_base_SetCurrentPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetFrame. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_SetCurrentPage. Expected _wxPyPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxFrame *)wxPrintPreview_GetFrame(_arg0); + _result = (bool )wxPyPrintPreview_base_SetCurrentPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintPreview_GetMaxPage(_swigobj) (_swigobj->GetMaxPage()) -static PyObject *_wrap_wxPrintPreview_GetMaxPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_PaintPage(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_PaintPage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyPrintPreview_base_PaintPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; - wxPrintPreview * _arg0; + bool _result; + wxPyPrintPreview * _arg0; + wxWindow * _arg1; + wxDC * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","canvas","dc", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetMaxPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyPrintPreview_base_PaintPage",_kwnames,&_argo0,&_argo1,&_argo2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetMaxPage. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_PaintPage. Expected _wxPyPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPrintPreview_base_PaintPage. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyPrintPreview_base_PaintPage. Expected _wxDC_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintPreview_GetMaxPage(_arg0); + _result = (bool )wxPyPrintPreview_base_PaintPage(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4816,27 +6697,44 @@ static PyObject *_wrap_wxPrintPreview_GetMaxPage(PyObject *self, PyObject *args, return _resultobj; } -#define wxPrintPreview_GetMinPage(_swigobj) (_swigobj->GetMinPage()) -static PyObject *_wrap_wxPrintPreview_GetMinPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_DrawBlankPage(_swigobj,_swigarg0,_swigarg1) (_swigobj->base_DrawBlankPage(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyPrintPreview_base_DrawBlankPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; - wxPrintPreview * _arg0; + bool _result; + wxPyPrintPreview * _arg0; + wxWindow * _arg1; + wxDC * _arg2; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","canvas","dc", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetMinPage",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyPrintPreview_base_DrawBlankPage",_kwnames,&_argo0,&_argo1,&_argo2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetMinPage. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_DrawBlankPage. Expected _wxPyPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPrintPreview_base_DrawBlankPage. Expected _wxWindow_p."); + return NULL; + } + } + if (_argo2) { + if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxDC_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxPyPrintPreview_base_DrawBlankPage. Expected _wxDC_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintPreview_GetMinPage(_arg0); + _result = (bool )wxPyPrintPreview_base_DrawBlankPage(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -4844,214 +6742,324 @@ static PyObject *_wrap_wxPrintPreview_GetMinPage(PyObject *self, PyObject *args, return _resultobj; } -#define wxPrintPreview_GetPrintDialogData(_swigobj) (_swigobj->GetPrintDialogData()) -static PyObject *_wrap_wxPrintPreview_GetPrintDialogData(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_RenderPage(_swigobj,_swigarg0) (_swigobj->base_RenderPage(_swigarg0)) +static PyObject *_wrap_wxPyPrintPreview_base_RenderPage(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintDialogData * _result; - wxPrintPreview * _arg0; + bool _result; + wxPyPrintPreview * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; - char _ptemp[128]; + char *_kwnames[] = { "self","pageNum", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintDialogData",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyPrintPreview_base_RenderPage",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintDialogData. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_RenderPage. Expected _wxPyPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintDialogData & _result_ref = wxPrintPreview_GetPrintDialogData(_arg0); - _result = (wxPrintDialogData *) &_result_ref; + _result = (bool )wxPyPrintPreview_base_RenderPage(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPrintDialogData_p"); - _resultobj = Py_BuildValue("s",_ptemp); - } else { - Py_INCREF(Py_None); - _resultobj = Py_None; - } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintPreview_GetPrintout(_swigobj) (_swigobj->GetPrintout()) -static PyObject *_wrap_wxPrintPreview_GetPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_SetZoom(_swigobj,_swigarg0) (_swigobj->base_SetZoom(_swigarg0)) +static PyObject *_wrap_wxPyPrintPreview_base_SetZoom(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _result; - wxPrintPreview * _arg0; + wxPyPrintPreview * _arg0; + int _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + char *_kwnames[] = { "self","percent", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintout",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyPrintPreview_base_SetZoom",_kwnames,&_argo0,&_arg1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintout. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_SetZoom. Expected _wxPyPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPyPrintout *)wxPrintPreview_GetPrintout(_arg0); + wxPyPrintPreview_base_SetZoom(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintPreview_GetPrintoutForPrinting(_swigobj) (_swigobj->GetPrintoutForPrinting()) -static PyObject *_wrap_wxPrintPreview_GetPrintoutForPrinting(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_Print(_swigobj,_swigarg0) (_swigobj->base_Print(_swigarg0)) +static PyObject *_wrap_wxPyPrintPreview_base_Print(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPyPrintout * _result; - wxPrintPreview * _arg0; + bool _result; + wxPyPrintPreview * _arg0; + bool _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + int tempbool1; + char *_kwnames[] = { "self","interactive", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetPrintoutForPrinting",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyPrintPreview_base_Print",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetPrintoutForPrinting. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_Print. Expected _wxPyPrintPreview_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPyPrintout *)wxPrintPreview_GetPrintoutForPrinting(_arg0); + _result = (bool )wxPyPrintPreview_base_Print(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -}{ _resultobj = wxPyMake_wxObject(_result); } +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -#define wxPrintPreview_GetZoom(_swigobj) (_swigobj->GetZoom()) -static PyObject *_wrap_wxPrintPreview_GetZoom(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPrintPreview_base_DetermineScaling(_swigobj) (_swigobj->base_DetermineScaling()) +static PyObject *_wrap_wxPyPrintPreview_base_DetermineScaling(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - int _result; - wxPrintPreview * _arg0; + wxPyPrintPreview * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_GetZoom",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPrintPreview_base_DetermineScaling",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_GetZoom. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPrintPreview_base_DetermineScaling. Expected _wxPyPrintPreview_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxPrintPreview_GetZoom(_arg0); + wxPyPrintPreview_base_DetermineScaling(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintPreview_Ok(_swigobj) (_swigobj->Ok()) -static PyObject *_wrap_wxPrintPreview_Ok(PyObject *self, PyObject *args, PyObject *kwargs) { +static void *SwigwxPyPreviewFrameTowxPreviewFrame(void *ptr) { + wxPyPreviewFrame *src; + wxPreviewFrame *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxPreviewFrame *) src; + return (void *) dest; +} + +static void *SwigwxPyPreviewFrameTowxFrame(void *ptr) { + wxPyPreviewFrame *src; + wxFrame *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxFrame *) src; + return (void *) dest; +} + +static void *SwigwxPyPreviewFrameTowxTopLevelWindow(void *ptr) { + wxPyPreviewFrame *src; + wxTopLevelWindow *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxTopLevelWindow *) src; + return (void *) dest; +} + +static void *SwigwxPyPreviewFrameTowxWindow(void *ptr) { + wxPyPreviewFrame *src; + wxWindow *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxWindow *) src; + return (void *) dest; +} + +static void *SwigwxPyPreviewFrameTowxEvtHandler(void *ptr) { + wxPyPreviewFrame *src; + wxEvtHandler *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxEvtHandler *) src; + return (void *) dest; +} + +static void *SwigwxPyPreviewFrameTowxObject(void *ptr) { + wxPyPreviewFrame *src; + wxObject *dest; + src = (wxPyPreviewFrame *) ptr; + dest = (wxObject *) src; + return (void *) dest; +} + +#define new_wxPyPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPyPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxPyPreviewFrame(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; + wxPyPreviewFrame * _result; wxPrintPreview * _arg0; + wxFrame * _arg1; + wxString * _arg2; + wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; + wxSize * _arg4 = (wxSize *) &wxDefaultSize; + long _arg5 = (long ) wxDEFAULT_FRAME_STYLE; + wxString * _arg6 = (wxString *) &wxPyFrameNameStr; PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; + PyObject * _argo1 = 0; + PyObject * _obj2 = 0; + wxPoint temp; + PyObject * _obj3 = 0; + wxSize temp0; + PyObject * _obj4 = 0; + PyObject * _obj6 = 0; + char *_kwnames[] = { "preview","parent","title","pos","size","style","name", NULL }; + char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPrintPreview_Ok",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|OOlO:new_wxPyPreviewFrame",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3,&_obj4,&_arg5,&_obj6)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_Ok. Expected _wxPrintPreview_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyPreviewFrame. Expected _wxPrintPreview_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPyPreviewFrame. Expected _wxFrame_p."); return NULL; } } +{ + _arg2 = wxString_in_helper(_obj2); + if (_arg2 == NULL) + return NULL; +} + if (_obj3) +{ + _arg3 = &temp; + if (! wxPoint_helper(_obj3, &_arg3)) + return NULL; +} + if (_obj4) +{ + _arg4 = &temp0; + if (! wxSize_helper(_obj4, &_arg4)) + return NULL; +} + if (_obj6) +{ + _arg6 = wxString_in_helper(_obj6); + if (_arg6 == NULL) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintPreview_Ok(_arg0); + _result = (wxPyPreviewFrame *)new_wxPyPreviewFrame(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPreviewFrame_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj2) + delete _arg2; +} +{ + if (_obj6) + delete _arg6; +} return _resultobj; } -#define wxPrintPreview_Print(_swigobj,_swigarg0) (_swigobj->Print(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_Print(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyPreviewFrame__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; - wxPrintPreview * _arg0; - bool _arg1; + wxPyPreviewFrame * _arg0; + PyObject * _arg1; + PyObject * _arg2; PyObject * _argo0 = 0; - int tempbool1; - char *_kwnames[] = { "self","prompt", NULL }; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_Print",_kwnames,&_argo0,&tempbool1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyPreviewFrame__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_Print. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame__setCallbackInfo. Expected _wxPyPreviewFrame_p."); return NULL; } } - _arg1 = (bool ) tempbool1; +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxPrintPreview_Print(_arg0,_arg1); + wxPyPreviewFrame__setCallbackInfo(_arg0,_arg1,_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); +} Py_INCREF(Py_None); + _resultobj = Py_None; return _resultobj; } -#define wxPrintPreview_SetCanvas(_swigobj,_swigarg0) (_swigobj->SetCanvas(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_SetCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame_SetPreviewCanvas(_swigobj,_swigarg0) (_swigobj->SetPreviewCanvas(_swigarg0)) +static PyObject *_wrap_wxPyPreviewFrame_SetPreviewCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _arg0; + wxPyPreviewFrame * _arg0; wxWindow * _arg1; PyObject * _argo0 = 0; PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window", NULL }; + char *_kwnames[] = { "self","canvas", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetCanvas",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPreviewFrame_SetPreviewCanvas",_kwnames,&_argo0,&_argo1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetCanvas. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame_SetPreviewCanvas. Expected _wxPyPreviewFrame_p."); return NULL; } } if (_argo1) { if (_argo1 == Py_None) { _arg1 = NULL; } else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetCanvas. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPreviewFrame_SetPreviewCanvas. Expected _wxWindow_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintPreview_SetCanvas(_arg0,_arg1); + wxPyPreviewFrame_SetPreviewCanvas(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5060,27 +7068,35 @@ static PyObject *_wrap_wxPrintPreview_SetCanvas(PyObject *self, PyObject *args, return _resultobj; } -#define wxPrintPreview_SetCurrentPage(_swigobj,_swigarg0) (_swigobj->SetCurrentPage(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_SetCurrentPage(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame_SetControlBar(_swigobj,_swigarg0) (_swigobj->SetControlBar(_swigarg0)) +static PyObject *_wrap_wxPyPreviewFrame_SetControlBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _arg0; - int _arg1; + wxPyPreviewFrame * _arg0; + wxPreviewControlBar * _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","pageNum", NULL }; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","bar", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_SetCurrentPage",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPreviewFrame_SetControlBar",_kwnames,&_argo0,&_argo1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetCurrentPage. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame_SetControlBar. Expected _wxPyPreviewFrame_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPreviewFrame_SetControlBar. Expected _wxPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintPreview_SetCurrentPage(_arg0,_arg1); + wxPyPreviewFrame_SetControlBar(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5089,35 +7105,26 @@ static PyObject *_wrap_wxPrintPreview_SetCurrentPage(PyObject *self, PyObject *a return _resultobj; } -#define wxPrintPreview_SetFrame(_swigobj,_swigarg0) (_swigobj->SetFrame(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_SetFrame(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame_base_Initialize(_swigobj) (_swigobj->base_Initialize()) +static PyObject *_wrap_wxPyPreviewFrame_base_Initialize(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _arg0; - wxFrame * _arg1; + wxPyPreviewFrame * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","frame", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetFrame",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPreviewFrame_base_Initialize",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetFrame. Expected _wxPrintPreview_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetFrame. Expected _wxFrame_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame_base_Initialize. Expected _wxPyPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintPreview_SetFrame(_arg0,_arg1); + wxPyPreviewFrame_base_Initialize(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5126,35 +7133,26 @@ static PyObject *_wrap_wxPrintPreview_SetFrame(PyObject *self, PyObject *args, P return _resultobj; } -#define wxPrintPreview_SetPrintout(_swigobj,_swigarg0) (_swigobj->SetPrintout(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_SetPrintout(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame_base_CreateCanvas(_swigobj) (_swigobj->base_CreateCanvas()) +static PyObject *_wrap_wxPyPreviewFrame_base_CreateCanvas(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _arg0; - wxPyPrintout * _arg1; + wxPyPreviewFrame * _arg0; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","printout", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPrintPreview_SetPrintout",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPreviewFrame_base_CreateCanvas",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetPrintout. Expected _wxPrintPreview_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPyPrintout_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPrintPreview_SetPrintout. Expected _wxPyPrintout_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame_base_CreateCanvas. Expected _wxPyPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintPreview_SetPrintout(_arg0,_arg1); + wxPyPreviewFrame_base_CreateCanvas(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5163,27 +7161,26 @@ static PyObject *_wrap_wxPrintPreview_SetPrintout(PyObject *self, PyObject *args return _resultobj; } -#define wxPrintPreview_SetZoom(_swigobj,_swigarg0) (_swigobj->SetZoom(_swigarg0)) -static PyObject *_wrap_wxPrintPreview_SetZoom(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewFrame_base_CreateControlBar(_swigobj) (_swigobj->base_CreateControlBar()) +static PyObject *_wrap_wxPyPreviewFrame_base_CreateControlBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPrintPreview * _arg0; - int _arg1; + wxPyPreviewFrame * _arg0; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","percent", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPrintPreview_SetZoom",_kwnames,&_argo0,&_arg1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPreviewFrame_base_CreateControlBar",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPrintPreview_SetZoom. Expected _wxPrintPreview_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewFrame_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewFrame_base_CreateControlBar. Expected _wxPyPreviewFrame_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPrintPreview_SetZoom(_arg0,_arg1); + wxPyPreviewFrame_base_CreateControlBar(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5192,90 +7189,84 @@ static PyObject *_wrap_wxPrintPreview_SetZoom(PyObject *self, PyObject *args, Py return _resultobj; } -static void *SwigwxPreviewFrameTowxFrame(void *ptr) { - wxPreviewFrame *src; - wxFrame *dest; - src = (wxPreviewFrame *) ptr; - dest = (wxFrame *) src; +static void *SwigwxPyPreviewControlBarTowxPreviewControlBar(void *ptr) { + wxPyPreviewControlBar *src; + wxPreviewControlBar *dest; + src = (wxPyPreviewControlBar *) ptr; + dest = (wxPreviewControlBar *) src; return (void *) dest; } -static void *SwigwxPreviewFrameTowxTopLevelWindow(void *ptr) { - wxPreviewFrame *src; - wxTopLevelWindow *dest; - src = (wxPreviewFrame *) ptr; - dest = (wxTopLevelWindow *) src; +static void *SwigwxPyPreviewControlBarTowxPanel(void *ptr) { + wxPyPreviewControlBar *src; + wxPanel *dest; + src = (wxPyPreviewControlBar *) ptr; + dest = (wxPanel *) src; return (void *) dest; } -static void *SwigwxPreviewFrameTowxWindow(void *ptr) { - wxPreviewFrame *src; +static void *SwigwxPyPreviewControlBarTowxWindow(void *ptr) { + wxPyPreviewControlBar *src; wxWindow *dest; - src = (wxPreviewFrame *) ptr; + src = (wxPyPreviewControlBar *) ptr; dest = (wxWindow *) src; return (void *) dest; } -static void *SwigwxPreviewFrameTowxEvtHandler(void *ptr) { - wxPreviewFrame *src; +static void *SwigwxPyPreviewControlBarTowxEvtHandler(void *ptr) { + wxPyPreviewControlBar *src; wxEvtHandler *dest; - src = (wxPreviewFrame *) ptr; + src = (wxPyPreviewControlBar *) ptr; dest = (wxEvtHandler *) src; return (void *) dest; } -static void *SwigwxPreviewFrameTowxObject(void *ptr) { - wxPreviewFrame *src; +static void *SwigwxPyPreviewControlBarTowxObject(void *ptr) { + wxPyPreviewControlBar *src; wxObject *dest; - src = (wxPreviewFrame *) ptr; + src = (wxPyPreviewControlBar *) ptr; dest = (wxObject *) src; return (void *) dest; } -#define new_wxPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPreviewFrame(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) -static PyObject *_wrap_new_wxPreviewFrame(PyObject *self, PyObject *args, PyObject *kwargs) { +#define new_wxPyPreviewControlBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (new wxPyPreviewControlBar(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6)) +static PyObject *_wrap_new_wxPyPreviewControlBar(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPreviewFrame * _result; + wxPyPreviewControlBar * _result; wxPrintPreview * _arg0; - wxFrame * _arg1; - wxString * _arg2; + long _arg1; + wxWindow * _arg2; wxPoint * _arg3 = (wxPoint *) &wxDefaultPosition; wxSize * _arg4 = (wxSize *) &wxDefaultSize; - long _arg5 = (long ) wxDEFAULT_FRAME_STYLE; - wxString * _arg6 = (wxString *) &wxPyFrameNameStr; + long _arg5 = (long ) 0; + wxString * _arg6 = (wxString *) &wxPyPanelNameStr; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _obj2 = 0; + PyObject * _argo2 = 0; wxPoint temp; PyObject * _obj3 = 0; wxSize temp0; PyObject * _obj4 = 0; PyObject * _obj6 = 0; - char *_kwnames[] = { "preview","parent","title","pos","size","style","name", NULL }; + char *_kwnames[] = { "preview","buttons","parent","pos","size","style","name", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO|OOlO:new_wxPreviewFrame",_kwnames,&_argo0,&_argo1,&_obj2,&_obj3,&_obj4,&_arg5,&_obj6)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OlO|OOlO:new_wxPyPreviewControlBar",_kwnames,&_argo0,&_arg1,&_argo2,&_obj3,&_obj4,&_arg5,&_obj6)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPrintPreview_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPreviewFrame. Expected _wxPrintPreview_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxPyPreviewControlBar. Expected _wxPrintPreview_p."); return NULL; } } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxFrame_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of new_wxPreviewFrame. Expected _wxFrame_p."); + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of new_wxPyPreviewControlBar. Expected _wxWindow_p."); return NULL; } } -{ - _arg2 = wxString_in_helper(_obj2); - if (_arg2 == NULL) - return NULL; -} if (_obj3) { _arg3 = &temp; @@ -5296,21 +7287,17 @@ static PyObject *_wrap_new_wxPreviewFrame(PyObject *self, PyObject *args, PyObje } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (wxPreviewFrame *)new_wxPreviewFrame(_arg0,_arg1,*_arg2,*_arg3,*_arg4,_arg5,*_arg6); + _result = (wxPyPreviewControlBar *)new_wxPyPreviewControlBar(_arg0,_arg1,_arg2,*_arg3,*_arg4,_arg5,*_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; } if (_result) { - SWIG_MakePtr(_ptemp, (char *) _result,"_wxPreviewFrame_p"); + SWIG_MakePtr(_ptemp, (char *) _result,"_wxPyPreviewControlBar_p"); _resultobj = Py_BuildValue("s",_ptemp); } else { Py_INCREF(Py_None); _resultobj = Py_None; } -{ - if (_obj2) - delete _arg2; -} { if (_obj6) delete _arg6; @@ -5318,26 +7305,130 @@ static PyObject *_wrap_new_wxPreviewFrame(PyObject *self, PyObject *args, PyObje return _resultobj; } -#define wxPreviewFrame_Initialize(_swigobj) (_swigobj->Initialize()) -static PyObject *_wrap_wxPreviewFrame_Initialize(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxPyPreviewControlBar__setCallbackInfo(_swigobj,_swigarg0,_swigarg1) (_swigobj->_setCallbackInfo(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxPyPreviewControlBar__setCallbackInfo(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - wxPreviewFrame * _arg0; + wxPyPreviewControlBar * _arg0; + PyObject * _arg1; + PyObject * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","self","_class", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxPyPreviewControlBar__setCallbackInfo",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewControlBar__setCallbackInfo. Expected _wxPyPreviewControlBar_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + _arg2 = _obj2; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyPreviewControlBar__setCallbackInfo(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyPreviewControlBar_SetPrintPreview(_swigobj,_swigarg0) (_swigobj->SetPrintPreview(_swigarg0)) +static PyObject *_wrap_wxPyPreviewControlBar_SetPrintPreview(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPreviewControlBar * _arg0; + wxPrintPreview * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","preview", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxPyPreviewControlBar_SetPrintPreview",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewControlBar_SetPrintPreview. Expected _wxPyPreviewControlBar_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxPrintPreview_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxPyPreviewControlBar_SetPrintPreview. Expected _wxPrintPreview_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyPreviewControlBar_SetPrintPreview(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyPreviewControlBar_base_CreateButtons(_swigobj) (_swigobj->base_CreateButtons()) +static PyObject *_wrap_wxPyPreviewControlBar_base_CreateButtons(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPreviewControlBar * _arg0; PyObject * _argo0 = 0; char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPreviewFrame_Initialize",_kwnames,&_argo0)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxPyPreviewControlBar_base_CreateButtons",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPreviewFrame_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPreviewFrame_Initialize. Expected _wxPreviewFrame_p."); + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewControlBar_base_CreateButtons. Expected _wxPyPreviewControlBar_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxPreviewFrame_Initialize(_arg0); + wxPyPreviewControlBar_base_CreateButtons(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxPyPreviewControlBar_base_SetZoomControl(_swigobj,_swigarg0) (_swigobj->base_SetZoomControl(_swigarg0)) +static PyObject *_wrap_wxPyPreviewControlBar_base_SetZoomControl(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxPyPreviewControlBar * _arg0; + int _arg1; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","zoom", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxPyPreviewControlBar_base_SetZoomControl",_kwnames,&_argo0,&_arg1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxPyPreviewControlBar_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxPyPreviewControlBar_base_SetZoomControl. Expected _wxPyPreviewControlBar_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxPyPreviewControlBar_base_SetZoomControl(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -5347,25 +7438,66 @@ static PyObject *_wrap_wxPreviewFrame_Initialize(PyObject *self, PyObject *args, } static PyMethodDef printfwcMethods[] = { + { "wxPyPreviewControlBar_base_SetZoomControl", (PyCFunction) _wrap_wxPyPreviewControlBar_base_SetZoomControl, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewControlBar_base_CreateButtons", (PyCFunction) _wrap_wxPyPreviewControlBar_base_CreateButtons, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewControlBar_SetPrintPreview", (PyCFunction) _wrap_wxPyPreviewControlBar_SetPrintPreview, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewControlBar__setCallbackInfo", (PyCFunction) _wrap_wxPyPreviewControlBar__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPyPreviewControlBar", (PyCFunction) _wrap_new_wxPyPreviewControlBar, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame_base_CreateControlBar", (PyCFunction) _wrap_wxPyPreviewFrame_base_CreateControlBar, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame_base_CreateCanvas", (PyCFunction) _wrap_wxPyPreviewFrame_base_CreateCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame_base_Initialize", (PyCFunction) _wrap_wxPyPreviewFrame_base_Initialize, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame_SetControlBar", (PyCFunction) _wrap_wxPyPreviewFrame_SetControlBar, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame_SetPreviewCanvas", (PyCFunction) _wrap_wxPyPreviewFrame_SetPreviewCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPreviewFrame__setCallbackInfo", (PyCFunction) _wrap_wxPyPreviewFrame__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPyPreviewFrame", (PyCFunction) _wrap_new_wxPyPreviewFrame, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_DetermineScaling", (PyCFunction) _wrap_wxPyPrintPreview_base_DetermineScaling, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_Print", (PyCFunction) _wrap_wxPyPrintPreview_base_Print, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_SetZoom", (PyCFunction) _wrap_wxPyPrintPreview_base_SetZoom, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_RenderPage", (PyCFunction) _wrap_wxPyPrintPreview_base_RenderPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_DrawBlankPage", (PyCFunction) _wrap_wxPyPrintPreview_base_DrawBlankPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_PaintPage", (PyCFunction) _wrap_wxPyPrintPreview_base_PaintPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview_base_SetCurrentPage", (PyCFunction) _wrap_wxPyPrintPreview_base_SetCurrentPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPyPrintPreview__setCallbackInfo", (PyCFunction) _wrap_wxPyPrintPreview__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPyPrintPreview", (PyCFunction) _wrap_new_wxPyPrintPreview, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_OnGoto", (PyCFunction) _wrap_wxPreviewControlBar_OnGoto, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_OnLast", (PyCFunction) _wrap_wxPreviewControlBar_OnLast, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_OnFirst", (PyCFunction) _wrap_wxPreviewControlBar_OnFirst, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_OnPrevious", (PyCFunction) _wrap_wxPreviewControlBar_OnPrevious, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_OnNext", (PyCFunction) _wrap_wxPreviewControlBar_OnNext, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_GetPrintPreview", (PyCFunction) _wrap_wxPreviewControlBar_GetPrintPreview, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_SetZoomControl", (PyCFunction) _wrap_wxPreviewControlBar_SetZoomControl, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewControlBar_GetZoomControl", (PyCFunction) _wrap_wxPreviewControlBar_GetZoomControl, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPreviewControlBar", (PyCFunction) _wrap_new_wxPreviewControlBar, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPreviewCanvas", (PyCFunction) _wrap_new_wxPreviewCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewFrame_CreateCanvas", (PyCFunction) _wrap_wxPreviewFrame_CreateCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPreviewFrame_CreateControlBar", (PyCFunction) _wrap_wxPreviewFrame_CreateControlBar, METH_VARARGS | METH_KEYWORDS }, { "wxPreviewFrame_Initialize", (PyCFunction) _wrap_wxPreviewFrame_Initialize, METH_VARARGS | METH_KEYWORDS }, { "new_wxPreviewFrame", (PyCFunction) _wrap_new_wxPreviewFrame, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_SetZoom", (PyCFunction) _wrap_wxPrintPreview_SetZoom, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_SetPrintout", (PyCFunction) _wrap_wxPrintPreview_SetPrintout, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_SetFrame", (PyCFunction) _wrap_wxPrintPreview_SetFrame, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_SetCurrentPage", (PyCFunction) _wrap_wxPrintPreview_SetCurrentPage, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_SetCanvas", (PyCFunction) _wrap_wxPrintPreview_SetCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_DetermineScaling", (PyCFunction) _wrap_wxPrintPreview_DetermineScaling, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_Print", (PyCFunction) _wrap_wxPrintPreview_Print, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetOk", (PyCFunction) _wrap_wxPrintPreview_SetOk, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_Ok", (PyCFunction) _wrap_wxPrintPreview_Ok, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_GetZoom", (PyCFunction) _wrap_wxPrintPreview_GetZoom, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_GetPrintoutForPrinting", (PyCFunction) _wrap_wxPrintPreview_GetPrintoutForPrinting, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_GetPrintout", (PyCFunction) _wrap_wxPrintPreview_GetPrintout, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_GetPrintDialogData", (PyCFunction) _wrap_wxPrintPreview_GetPrintDialogData, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_GetMinPage", (PyCFunction) _wrap_wxPrintPreview_GetMinPage, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_GetMaxPage", (PyCFunction) _wrap_wxPrintPreview_GetMaxPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_GetZoom", (PyCFunction) _wrap_wxPrintPreview_GetZoom, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetZoom", (PyCFunction) _wrap_wxPrintPreview_SetZoom, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_GetPrintDialogData", (PyCFunction) _wrap_wxPrintPreview_GetPrintDialogData, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_RenderPage", (PyCFunction) _wrap_wxPrintPreview_RenderPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_DrawBlankPage", (PyCFunction) _wrap_wxPrintPreview_DrawBlankPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_PaintPage", (PyCFunction) _wrap_wxPrintPreview_PaintPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_GetCanvas", (PyCFunction) _wrap_wxPrintPreview_GetCanvas, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_GetFrame", (PyCFunction) _wrap_wxPrintPreview_GetFrame, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetCanvas", (PyCFunction) _wrap_wxPrintPreview_SetCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetFrame", (PyCFunction) _wrap_wxPrintPreview_SetFrame, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_GetPrintoutForPrinting", (PyCFunction) _wrap_wxPrintPreview_GetPrintoutForPrinting, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_GetPrintout", (PyCFunction) _wrap_wxPrintPreview_GetPrintout, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetPrintout", (PyCFunction) _wrap_wxPrintPreview_SetPrintout, METH_VARARGS | METH_KEYWORDS }, { "wxPrintPreview_GetCurrentPage", (PyCFunction) _wrap_wxPrintPreview_GetCurrentPage, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintPreview_GetCanvas", (PyCFunction) _wrap_wxPrintPreview_GetCanvas, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintPreview_SetCurrentPage", (PyCFunction) _wrap_wxPrintPreview_SetCurrentPage, METH_VARARGS | METH_KEYWORDS }, { "new_wxPrintPreview", (PyCFunction) _wrap_new_wxPrintPreview, METH_VARARGS | METH_KEYWORDS }, + { "new_wxPrintAbortDialog", (PyCFunction) _wrap_new_wxPrintAbortDialog, METH_VARARGS | METH_KEYWORDS }, + { "wxPrinter_GetLastError", (PyCFunction) _wrap_wxPrinter_GetLastError, METH_VARARGS | METH_KEYWORDS }, + { "wxPrinter_GetAbort", (PyCFunction) _wrap_wxPrinter_GetAbort, METH_VARARGS | METH_KEYWORDS }, { "wxPrinter_Setup", (PyCFunction) _wrap_wxPrinter_Setup, METH_VARARGS | METH_KEYWORDS }, { "wxPrinter_ReportError", (PyCFunction) _wrap_wxPrinter_ReportError, METH_VARARGS | METH_KEYWORDS }, { "wxPrinter_PrintDialog", (PyCFunction) _wrap_wxPrinter_PrintDialog, METH_VARARGS | METH_KEYWORDS }, @@ -5394,29 +7526,37 @@ static PyMethodDef printfwcMethods[] = { { "wxPrintDialog_GetPrintDC", (PyCFunction) _wrap_wxPrintDialog_GetPrintDC, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialog_GetPrintDialogData", (PyCFunction) _wrap_wxPrintDialog_GetPrintDialogData, METH_VARARGS | METH_KEYWORDS }, { "new_wxPrintDialog", (PyCFunction) _wrap_new_wxPrintDialog, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_SetToPage", (PyCFunction) _wrap_wxPrintDialogData_SetToPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetPrintData", (PyCFunction) _wrap_wxPrintDialogData_SetPrintData, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetPrintData", (PyCFunction) _wrap_wxPrintDialogData_GetPrintData, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_Ok", (PyCFunction) _wrap_wxPrintDialogData_Ok, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetEnableHelp", (PyCFunction) _wrap_wxPrintDialogData_GetEnableHelp, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetEnablePageNumbers", (PyCFunction) _wrap_wxPrintDialogData_GetEnablePageNumbers, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetEnableSelection", (PyCFunction) _wrap_wxPrintDialogData_GetEnableSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetEnablePrintToFile", (PyCFunction) _wrap_wxPrintDialogData_GetEnablePrintToFile, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_EnableHelp", (PyCFunction) _wrap_wxPrintDialogData_EnableHelp, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_EnablePageNumbers", (PyCFunction) _wrap_wxPrintDialogData_EnablePageNumbers, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_EnableSelection", (PyCFunction) _wrap_wxPrintDialogData_EnableSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_EnablePrintToFile", (PyCFunction) _wrap_wxPrintDialogData_EnablePrintToFile, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_SetSetupDialog", (PyCFunction) _wrap_wxPrintDialogData_SetSetupDialog, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_SetPrintToFile", (PyCFunction) _wrap_wxPrintDialogData_SetPrintToFile, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_SetPrintData", (PyCFunction) _wrap_wxPrintDialogData_SetPrintData, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetCollate", (PyCFunction) _wrap_wxPrintDialogData_SetCollate, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetSelection", (PyCFunction) _wrap_wxPrintDialogData_SetSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetAllPages", (PyCFunction) _wrap_wxPrintDialogData_SetAllPages, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_SetNoCopies", (PyCFunction) _wrap_wxPrintDialogData_SetNoCopies, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_SetMinPage", (PyCFunction) _wrap_wxPrintDialogData_SetMinPage, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_SetMaxPage", (PyCFunction) _wrap_wxPrintDialogData_SetMaxPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetMinPage", (PyCFunction) _wrap_wxPrintDialogData_SetMinPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_SetToPage", (PyCFunction) _wrap_wxPrintDialogData_SetToPage, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_SetFromPage", (PyCFunction) _wrap_wxPrintDialogData_SetFromPage, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_SetCollate", (PyCFunction) _wrap_wxPrintDialogData_SetCollate, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_Ok", (PyCFunction) _wrap_wxPrintDialogData_Ok, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_GetToPage", (PyCFunction) _wrap_wxPrintDialogData_GetToPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetSetupDialog", (PyCFunction) _wrap_wxPrintDialogData_GetSetupDialog, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_GetPrintToFile", (PyCFunction) _wrap_wxPrintDialogData_GetPrintToFile, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_GetPrintData", (PyCFunction) _wrap_wxPrintDialogData_GetPrintData, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetCollate", (PyCFunction) _wrap_wxPrintDialogData_GetCollate, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetSelection", (PyCFunction) _wrap_wxPrintDialogData_GetSelection, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetAllPages", (PyCFunction) _wrap_wxPrintDialogData_GetAllPages, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_GetNoCopies", (PyCFunction) _wrap_wxPrintDialogData_GetNoCopies, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_GetMinPage", (PyCFunction) _wrap_wxPrintDialogData_GetMinPage, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_GetMaxPage", (PyCFunction) _wrap_wxPrintDialogData_GetMaxPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetMinPage", (PyCFunction) _wrap_wxPrintDialogData_GetMinPage, METH_VARARGS | METH_KEYWORDS }, + { "wxPrintDialogData_GetToPage", (PyCFunction) _wrap_wxPrintDialogData_GetToPage, METH_VARARGS | METH_KEYWORDS }, { "wxPrintDialogData_GetFromPage", (PyCFunction) _wrap_wxPrintDialogData_GetFromPage, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_GetCollate", (PyCFunction) _wrap_wxPrintDialogData_GetCollate, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_GetAllPages", (PyCFunction) _wrap_wxPrintDialogData_GetAllPages, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_EnableSelection", (PyCFunction) _wrap_wxPrintDialogData_EnableSelection, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_EnablePrintToFile", (PyCFunction) _wrap_wxPrintDialogData_EnablePrintToFile, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_EnablePageNumbers", (PyCFunction) _wrap_wxPrintDialogData_EnablePageNumbers, METH_VARARGS | METH_KEYWORDS }, - { "wxPrintDialogData_EnableHelp", (PyCFunction) _wrap_wxPrintDialogData_EnableHelp, METH_VARARGS | METH_KEYWORDS }, { "delete_wxPrintDialogData", (PyCFunction) _wrap_delete_wxPrintDialogData, METH_VARARGS | METH_KEYWORDS }, { "new_wxPrintDialogData", (PyCFunction) _wrap_new_wxPrintDialogData, METH_VARARGS | METH_KEYWORDS }, { "wxPageSetupDialog_ShowModal", (PyCFunction) _wrap_wxPageSetupDialog_ShowModal, METH_VARARGS | METH_KEYWORDS }, @@ -5524,6 +7664,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_long","_unsigned_long",0}, { "_long","_signed_long",0}, { "_wxDC","_wxPostScriptDC",SwigwxPostScriptDCTowxDC}, + { "_wxPrintPreview","_wxPyPrintPreview",SwigwxPyPrintPreviewTowxPrintPreview}, { "_size_t","_wxCoord",0}, { "_size_t","_wxPrintQuality",0}, { "_size_t","_time_t",0}, @@ -5531,7 +7672,12 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_size_t","_int",0}, { "_size_t","_wxWindowID",0}, { "_size_t","_uint",0}, + { "_wxPanel","_wxPyPreviewControlBar",SwigwxPyPreviewControlBarTowxPanel}, + { "_wxPanel","_wxPreviewControlBar",SwigwxPreviewControlBarTowxPanel}, + { "_wxPanel","_wxPreviewCanvas",SwigwxPreviewCanvasTowxPanel}, + { "_wxTopLevelWindow","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxPreviewFrame",SwigwxPreviewFrameTowxTopLevelWindow}, + { "_wxTopLevelWindow","_wxPrintAbortDialog",SwigwxPrintAbortDialogTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxPrintDialog",SwigwxPrintDialogTowxTopLevelWindow}, { "_wxTopLevelWindow","_wxPageSetupDialog",SwigwxPageSetupDialogTowxTopLevelWindow}, { "_uint","_wxCoord",0}, @@ -5549,6 +7695,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_EBool","_signed_int",0}, { "_EBool","_int",0}, { "_EBool","_wxWindowID",0}, + { "_wxPreviewControlBar","_wxPyPreviewControlBar",SwigwxPyPreviewControlBarTowxPreviewControlBar}, { "_unsigned_long","_long",0}, { "_wxNativeFontInfo","_struct_wxNativeFontInfo",0}, { "_signed_int","_wxCoord",0}, @@ -5561,8 +7708,14 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_WXTYPE","_unsigned_short",0}, { "_unsigned_short","_WXTYPE",0}, { "_unsigned_short","_short",0}, + { "_wxObject","_wxPyPreviewControlBar",SwigwxPyPreviewControlBarTowxObject}, + { "_wxObject","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxObject}, + { "_wxObject","_wxPyPrintPreview",SwigwxPyPrintPreviewTowxObject}, + { "_wxObject","_wxPreviewControlBar",SwigwxPreviewControlBarTowxObject}, + { "_wxObject","_wxPreviewCanvas",SwigwxPreviewCanvasTowxObject}, { "_wxObject","_wxPreviewFrame",SwigwxPreviewFrameTowxObject}, { "_wxObject","_wxPrintPreview",SwigwxPrintPreviewTowxObject}, + { "_wxObject","_wxPrintAbortDialog",SwigwxPrintAbortDialogTowxObject}, { "_wxObject","_wxPrinter",SwigwxPrinterTowxObject}, { "_wxObject","_wxPyPrintout",SwigwxPyPrintoutTowxObject}, { "_wxObject","_wxPrintDialog",SwigwxPrintDialogTowxObject}, @@ -5573,6 +7726,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxObject","_wxPrintData",SwigwxPrintDataTowxObject}, { "_signed_short","_WXTYPE",0}, { "_signed_short","_short",0}, + { "_wxScrolledWindow","_wxPreviewCanvas",SwigwxPreviewCanvasTowxScrolledWindow}, { "_unsigned_char","_byte",0}, { "_unsigned_int","_wxCoord",0}, { "_unsigned_int","_wxPrintQuality",0}, @@ -5581,11 +7735,13 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_unsigned_int","_uint",0}, { "_unsigned_int","_wxWindowID",0}, { "_unsigned_int","_int",0}, + { "_wxDialog","_wxPrintAbortDialog",SwigwxPrintAbortDialogTowxDialog}, { "_wxDialog","_wxPrintDialog",SwigwxPrintDialogTowxDialog}, { "_wxDialog","_wxPageSetupDialog",SwigwxPageSetupDialogTowxDialog}, { "_short","_WXTYPE",0}, { "_short","_unsigned_short",0}, { "_short","_signed_short",0}, + { "_wxFrame","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxFrame}, { "_wxFrame","_wxPreviewFrame",SwigwxPreviewFrameTowxFrame}, { "_wxWindowID","_wxCoord",0}, { "_wxWindowID","_wxPrintQuality",0}, @@ -5621,10 +7777,21 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxCoord","_size_t",0}, { "_wxCoord","_time_t",0}, { "_wxCoord","_wxPrintQuality",0}, + { "_wxPreviewFrame","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxPreviewFrame}, + { "_wxEvtHandler","_wxPyPreviewControlBar",SwigwxPyPreviewControlBarTowxEvtHandler}, + { "_wxEvtHandler","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxEvtHandler}, + { "_wxEvtHandler","_wxPreviewControlBar",SwigwxPreviewControlBarTowxEvtHandler}, + { "_wxEvtHandler","_wxPreviewCanvas",SwigwxPreviewCanvasTowxEvtHandler}, { "_wxEvtHandler","_wxPreviewFrame",SwigwxPreviewFrameTowxEvtHandler}, + { "_wxEvtHandler","_wxPrintAbortDialog",SwigwxPrintAbortDialogTowxEvtHandler}, { "_wxEvtHandler","_wxPrintDialog",SwigwxPrintDialogTowxEvtHandler}, { "_wxEvtHandler","_wxPageSetupDialog",SwigwxPageSetupDialogTowxEvtHandler}, + { "_wxWindow","_wxPyPreviewControlBar",SwigwxPyPreviewControlBarTowxWindow}, + { "_wxWindow","_wxPyPreviewFrame",SwigwxPyPreviewFrameTowxWindow}, + { "_wxWindow","_wxPreviewControlBar",SwigwxPreviewControlBarTowxWindow}, + { "_wxWindow","_wxPreviewCanvas",SwigwxPreviewCanvasTowxWindow}, { "_wxWindow","_wxPreviewFrame",SwigwxPreviewFrameTowxWindow}, + { "_wxWindow","_wxPrintAbortDialog",SwigwxPrintAbortDialogTowxWindow}, { "_wxWindow","_wxPrintDialog",SwigwxPrintDialogTowxWindow}, { "_wxWindow","_wxPageSetupDialog",SwigwxPageSetupDialogTowxWindow}, {0,0,0}}; @@ -5638,6 +7805,29 @@ SWIGEXPORT(void) initprintfwc() { SWIG_globals = SWIG_newvarlink(); m = Py_InitModule("printfwc", printfwcMethods); d = PyModule_GetDict(m); + PyDict_SetItemString(d,"wxPRINT_MODE_NONE", PyInt_FromLong((long) wxPRINT_MODE_NONE)); + PyDict_SetItemString(d,"wxPRINT_MODE_PREVIEW", PyInt_FromLong((long) wxPRINT_MODE_PREVIEW)); + PyDict_SetItemString(d,"wxPRINT_MODE_FILE", PyInt_FromLong((long) wxPRINT_MODE_FILE)); + PyDict_SetItemString(d,"wxPRINT_MODE_PRINTER", PyInt_FromLong((long) wxPRINT_MODE_PRINTER)); + PyDict_SetItemString(d,"wxPRINTER_NO_ERROR", PyInt_FromLong((long) wxPRINTER_NO_ERROR)); + PyDict_SetItemString(d,"wxPRINTER_CANCELLED", PyInt_FromLong((long) wxPRINTER_CANCELLED)); + PyDict_SetItemString(d,"wxPRINTER_ERROR", PyInt_FromLong((long) wxPRINTER_ERROR)); + PyDict_SetItemString(d,"wxPREVIEW_PRINT", PyInt_FromLong((long) wxPREVIEW_PRINT)); + PyDict_SetItemString(d,"wxPREVIEW_PREVIOUS", PyInt_FromLong((long) wxPREVIEW_PREVIOUS)); + PyDict_SetItemString(d,"wxPREVIEW_NEXT", PyInt_FromLong((long) wxPREVIEW_NEXT)); + PyDict_SetItemString(d,"wxPREVIEW_ZOOM", PyInt_FromLong((long) wxPREVIEW_ZOOM)); + PyDict_SetItemString(d,"wxPREVIEW_FIRST", PyInt_FromLong((long) wxPREVIEW_FIRST)); + PyDict_SetItemString(d,"wxPREVIEW_LAST", PyInt_FromLong((long) wxPREVIEW_LAST)); + PyDict_SetItemString(d,"wxPREVIEW_GOTO", PyInt_FromLong((long) wxPREVIEW_GOTO)); + PyDict_SetItemString(d,"wxPREVIEW_DEFAULT", PyInt_FromLong((long) wxPREVIEW_DEFAULT)); + PyDict_SetItemString(d,"wxID_PREVIEW_CLOSE", PyInt_FromLong((long) wxID_PREVIEW_CLOSE)); + PyDict_SetItemString(d,"wxID_PREVIEW_NEXT", PyInt_FromLong((long) wxID_PREVIEW_NEXT)); + PyDict_SetItemString(d,"wxID_PREVIEW_PREVIOUS", PyInt_FromLong((long) wxID_PREVIEW_PREVIOUS)); + PyDict_SetItemString(d,"wxID_PREVIEW_PRINT", PyInt_FromLong((long) wxID_PREVIEW_PRINT)); + PyDict_SetItemString(d,"wxID_PREVIEW_ZOOM", PyInt_FromLong((long) wxID_PREVIEW_ZOOM)); + PyDict_SetItemString(d,"wxID_PREVIEW_FIRST", PyInt_FromLong((long) wxID_PREVIEW_FIRST)); + PyDict_SetItemString(d,"wxID_PREVIEW_LAST", PyInt_FromLong((long) wxID_PREVIEW_LAST)); + PyDict_SetItemString(d,"wxID_PREVIEW_GOTO", PyInt_FromLong((long) wxID_PREVIEW_GOTO)); wxPyPtrTypeMap_Add("wxPrintout", "wxPyPrintout"); { diff --git a/wxPython/src/gtk/printfw.py b/wxPython/src/gtk/printfw.py index b9bbff1719..300a517a9e 100644 --- a/wxPython/src/gtk/printfw.py +++ b/wxPython/src/gtk/printfw.py @@ -32,134 +32,135 @@ class wxPrintDataPtr(wxObjectPtr): except: pass def GetNoCopies(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetNoCopies,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetNoCopies(self, *_args, **_kwargs) return val def GetCollate(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetCollate,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetCollate(self, *_args, **_kwargs) return val def GetOrientation(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetOrientation,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetOrientation(self, *_args, **_kwargs) return val def Ok(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_Ok,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_Ok(self, *_args, **_kwargs) return val def GetPrinterName(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterName,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterName(self, *_args, **_kwargs) return val def GetColour(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetColour,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetColour(self, *_args, **_kwargs) return val def GetDuplex(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetDuplex,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetDuplex(self, *_args, **_kwargs) return val def GetPaperId(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPaperId,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPaperId(self, *_args, **_kwargs) return val def GetPaperSize(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPaperSize,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPaperSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) return val def GetQuality(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetQuality,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetQuality(self, *_args, **_kwargs) return val def SetNoCopies(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetNoCopies,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetNoCopies(self, *_args, **_kwargs) return val def SetCollate(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetCollate,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetCollate(self, *_args, **_kwargs) return val def SetOrientation(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetOrientation,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetOrientation(self, *_args, **_kwargs) return val def SetPrinterName(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterName,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterName(self, *_args, **_kwargs) return val def SetColour(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetColour,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetColour(self, *_args, **_kwargs) return val def SetDuplex(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetDuplex,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetDuplex(self, *_args, **_kwargs) return val def SetPaperId(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPaperId,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPaperId(self, *_args, **_kwargs) return val def SetPaperSize(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPaperSize,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPaperSize(self, *_args, **_kwargs) return val def SetQuality(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetQuality,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetQuality(self, *_args, **_kwargs) return val def GetPrinterCommand(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterCommand,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterCommand(self, *_args, **_kwargs) return val def GetPrinterOptions(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterOptions,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterOptions(self, *_args, **_kwargs) return val def GetPreviewCommand(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPreviewCommand,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPreviewCommand(self, *_args, **_kwargs) return val def GetFilename(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetFilename,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetFilename(self, *_args, **_kwargs) return val def GetFontMetricPath(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetFontMetricPath,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetFontMetricPath(self, *_args, **_kwargs) return val def GetPrinterScaleX(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterScaleX,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterScaleX(self, *_args, **_kwargs) return val def GetPrinterScaleY(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterScaleY,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterScaleY(self, *_args, **_kwargs) return val def GetPrinterTranslateX(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterTranslateX,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterTranslateX(self, *_args, **_kwargs) return val def GetPrinterTranslateY(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrinterTranslateY,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrinterTranslateY(self, *_args, **_kwargs) return val def GetPrintMode(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_GetPrintMode,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_GetPrintMode(self, *_args, **_kwargs) return val def SetPrinterCommand(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterCommand,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterCommand(self, *_args, **_kwargs) return val def SetPrinterOptions(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterOptions,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterOptions(self, *_args, **_kwargs) return val def SetPreviewCommand(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPreviewCommand,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPreviewCommand(self, *_args, **_kwargs) return val def SetFilename(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetFilename,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetFilename(self, *_args, **_kwargs) return val def SetFontMetricPath(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetFontMetricPath,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetFontMetricPath(self, *_args, **_kwargs) return val def SetPrinterScaleX(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterScaleX,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterScaleX(self, *_args, **_kwargs) return val def SetPrinterScaleY(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterScaleY,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterScaleY(self, *_args, **_kwargs) return val def SetPrinterScaling(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterScaling,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterScaling(self, *_args, **_kwargs) return val def SetPrinterTranslateX(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterTranslateX,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterTranslateX(self, *_args, **_kwargs) return val def SetPrinterTranslateY(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterTranslateY,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterTranslateY(self, *_args, **_kwargs) return val def SetPrinterTranslation(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrinterTranslation,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrinterTranslation(self, *_args, **_kwargs) return val def SetPrintMode(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintData_SetPrintMode,(self,) + _args, _kwargs) + val = printfwc.wxPrintData_SetPrintMode(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrintData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPrintData(wxPrintDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrintData,_args,_kwargs) + self.this = printfwc.new_wxPrintData(*_args,**_kwargs) self.thisown = 1 @@ -170,17 +171,17 @@ class wxPostScriptDCPtr(wxDCPtr): self.this = this self.thisown = 0 def GetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPostScriptDC_GetPrintData,(self,) + _args, _kwargs) + val = printfwc.wxPostScriptDC_GetPrintData(self, *_args, **_kwargs) if val: val = wxPrintDataPtr(val) return val def SetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPostScriptDC_SetPrintData,(self,) + _args, _kwargs) + val = printfwc.wxPostScriptDC_SetPrintData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPostScriptDC instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPostScriptDC(wxPostScriptDCPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPostScriptDC,_args,_kwargs) + self.this = printfwc.new_wxPostScriptDC(*_args,**_kwargs) self.thisown = 1 @@ -197,103 +198,104 @@ class wxPageSetupDialogDataPtr(wxObjectPtr): except: pass def EnableHelp(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_EnableHelp,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_EnableHelp(self, *_args, **_kwargs) return val def EnableMargins(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_EnableMargins,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_EnableMargins(self, *_args, **_kwargs) return val def EnableOrientation(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_EnableOrientation,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_EnableOrientation(self, *_args, **_kwargs) return val def EnablePaper(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_EnablePaper,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_EnablePaper(self, *_args, **_kwargs) return val def EnablePrinter(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_EnablePrinter,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_EnablePrinter(self, *_args, **_kwargs) return val def GetDefaultMinMargins(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetDefaultMinMargins,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetDefaultMinMargins(self, *_args, **_kwargs) return val def GetEnableMargins(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetEnableMargins,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetEnableMargins(self, *_args, **_kwargs) return val def GetEnableOrientation(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetEnableOrientation,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetEnableOrientation(self, *_args, **_kwargs) return val def GetEnablePaper(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetEnablePaper,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetEnablePaper(self, *_args, **_kwargs) return val def GetEnablePrinter(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetEnablePrinter,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetEnablePrinter(self, *_args, **_kwargs) return val def GetEnableHelp(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetEnableHelp,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetEnableHelp(self, *_args, **_kwargs) return val def GetDefaultInfo(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetDefaultInfo,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetDefaultInfo(self, *_args, **_kwargs) return val def GetMarginTopLeft(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetMarginTopLeft,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetMarginTopLeft(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetMarginBottomRight(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetMarginBottomRight,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetMarginBottomRight(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetMinMarginTopLeft(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetMinMarginTopLeft,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetMinMarginTopLeft(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetMinMarginBottomRight(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetMinMarginBottomRight,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetMinMarginBottomRight(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetPaperId(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetPaperId,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetPaperId(self, *_args, **_kwargs) return val def GetPaperSize(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetPaperSize,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetPaperSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_GetPrintData,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_GetPrintData(self, *_args, **_kwargs) if val: val = wxPrintDataPtr(val) ; val.thisown = 1 return val def Ok(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_Ok,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_Ok(self, *_args, **_kwargs) return val def SetDefaultInfo(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetDefaultInfo,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetDefaultInfo(self, *_args, **_kwargs) return val def SetDefaultMinMargins(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetDefaultMinMargins,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetDefaultMinMargins(self, *_args, **_kwargs) return val def SetMarginTopLeft(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetMarginTopLeft,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetMarginTopLeft(self, *_args, **_kwargs) return val def SetMarginBottomRight(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetMarginBottomRight,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetMarginBottomRight(self, *_args, **_kwargs) return val def SetMinMarginTopLeft(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetMinMarginTopLeft,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetMinMarginTopLeft(self, *_args, **_kwargs) return val def SetMinMarginBottomRight(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetMinMarginBottomRight,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetMinMarginBottomRight(self, *_args, **_kwargs) return val def SetPaperId(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetPaperId,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetPaperId(self, *_args, **_kwargs) return val def SetPaperSize(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetPaperSize,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetPaperSize(self, *_args, **_kwargs) return val def SetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialogData_SetPrintData,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialogData_SetPrintData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPageSetupDialogData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPageSetupDialogData(wxPageSetupDialogDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPageSetupDialogData,_args,_kwargs) + self.this = printfwc.new_wxPageSetupDialogData(*_args,**_kwargs) self.thisown = 1 @@ -304,17 +306,17 @@ class wxPageSetupDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetPageSetupData(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialog_GetPageSetupData,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialog_GetPageSetupData(self, *_args, **_kwargs) if val: val = wxPageSetupDialogDataPtr(val) return val def ShowModal(self, *_args, **_kwargs): - val = apply(printfwc.wxPageSetupDialog_ShowModal,(self,) + _args, _kwargs) + val = printfwc.wxPageSetupDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPageSetupDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPageSetupDialog(wxPageSetupDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPageSetupDialog,_args,_kwargs) + self.this = printfwc.new_wxPageSetupDialog(*_args,**_kwargs) self.thisown = 1 #wx._StdDialogCallbacks(self) @@ -331,81 +333,106 @@ class wxPrintDialogDataPtr(wxObjectPtr): delfunc(self) except: pass - def EnableHelp(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_EnableHelp,(self,) + _args, _kwargs) + def GetFromPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetFromPage(self, *_args, **_kwargs) return val - def EnablePageNumbers(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_EnablePageNumbers,(self,) + _args, _kwargs) + def GetToPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetToPage(self, *_args, **_kwargs) return val - def EnablePrintToFile(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_EnablePrintToFile,(self,) + _args, _kwargs) + def GetMinPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetMinPage(self, *_args, **_kwargs) return val - def EnableSelection(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_EnableSelection,(self,) + _args, _kwargs) + def GetMaxPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetMaxPage(self, *_args, **_kwargs) + return val + def GetNoCopies(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetNoCopies(self, *_args, **_kwargs) return val def GetAllPages(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetAllPages,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialogData_GetAllPages(self, *_args, **_kwargs) + return val + def GetSelection(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetSelection(self, *_args, **_kwargs) return val def GetCollate(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetCollate,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialogData_GetCollate(self, *_args, **_kwargs) return val - def GetFromPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetFromPage,(self,) + _args, _kwargs) + def GetPrintToFile(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetPrintToFile(self, *_args, **_kwargs) return val - def GetMaxPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetMaxPage,(self,) + _args, _kwargs) + def GetSetupDialog(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetSetupDialog(self, *_args, **_kwargs) return val - def GetMinPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetMinPage,(self,) + _args, _kwargs) + def SetFromPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetFromPage(self, *_args, **_kwargs) return val - def GetNoCopies(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetNoCopies,(self,) + _args, _kwargs) + def SetToPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetToPage(self, *_args, **_kwargs) return val - def GetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetPrintData,(self,) + _args, _kwargs) - if val: val = wxPrintDataPtr(val) ; val.thisown = 1 + def SetMinPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetMinPage(self, *_args, **_kwargs) return val - def GetPrintToFile(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetPrintToFile,(self,) + _args, _kwargs) + def SetMaxPage(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetMaxPage(self, *_args, **_kwargs) return val - def GetToPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_GetToPage,(self,) + _args, _kwargs) + def SetNoCopies(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetNoCopies(self, *_args, **_kwargs) return val - def Ok(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_Ok,(self,) + _args, _kwargs) + def SetAllPages(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetAllPages(self, *_args, **_kwargs) + return val + def SetSelection(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetSelection(self, *_args, **_kwargs) return val def SetCollate(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetCollate,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialogData_SetCollate(self, *_args, **_kwargs) return val - def SetFromPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetFromPage,(self,) + _args, _kwargs) + def SetPrintToFile(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetPrintToFile(self, *_args, **_kwargs) return val - def SetMaxPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetMaxPage,(self,) + _args, _kwargs) + def SetSetupDialog(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetSetupDialog(self, *_args, **_kwargs) return val - def SetMinPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetMinPage,(self,) + _args, _kwargs) + def EnablePrintToFile(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_EnablePrintToFile(self, *_args, **_kwargs) return val - def SetNoCopies(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetNoCopies,(self,) + _args, _kwargs) + def EnableSelection(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_EnableSelection(self, *_args, **_kwargs) return val - def SetPrintData(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetPrintData,(self,) + _args, _kwargs) + def EnablePageNumbers(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_EnablePageNumbers(self, *_args, **_kwargs) return val - def SetPrintToFile(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetPrintToFile,(self,) + _args, _kwargs) + def EnableHelp(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_EnableHelp(self, *_args, **_kwargs) return val - def SetSetupDialog(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetSetupDialog,(self,) + _args, _kwargs) + def GetEnablePrintToFile(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetEnablePrintToFile(self, *_args, **_kwargs) return val - def SetToPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialogData_SetToPage,(self,) + _args, _kwargs) + def GetEnableSelection(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetEnableSelection(self, *_args, **_kwargs) + return val + def GetEnablePageNumbers(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetEnablePageNumbers(self, *_args, **_kwargs) + return val + def GetEnableHelp(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetEnableHelp(self, *_args, **_kwargs) + return val + def Ok(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_Ok(self, *_args, **_kwargs) + return val + def GetPrintData(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_GetPrintData(self, *_args, **_kwargs) + if val: val = wxPrintDataPtr(val) ; val.thisown = 1 + return val + def SetPrintData(self, *_args, **_kwargs): + val = printfwc.wxPrintDialogData_SetPrintData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrintDialogData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPrintDialogData(wxPrintDialogDataPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrintDialogData,_args,_kwargs) + self.this = printfwc.new_wxPrintDialogData(*_args,**_kwargs) self.thisown = 1 @@ -416,20 +443,20 @@ class wxPrintDialogPtr(wxDialogPtr): self.this = this self.thisown = 0 def GetPrintDialogData(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialog_GetPrintDialogData,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialog_GetPrintDialogData(self, *_args, **_kwargs) if val: val = wxPrintDialogDataPtr(val) return val def GetPrintDC(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialog_GetPrintDC,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialog_GetPrintDC(self, *_args, **_kwargs) return val def ShowModal(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintDialog_ShowModal,(self,) + _args, _kwargs) + val = printfwc.wxPrintDialog_ShowModal(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrintDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPrintDialog(wxPrintDialogPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrintDialog,_args,_kwargs) + self.this = printfwc.new_wxPrintDialog(*_args,**_kwargs) self.thisown = 1 #wx._StdDialogCallbacks(self) @@ -441,55 +468,55 @@ class wxPrintoutPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout__setCallbackInfo,(self,) + _args, _kwargs) + val = printfwc.wxPrintout__setCallbackInfo(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_Destroy,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_Destroy(self, *_args, **_kwargs) return val def GetDC(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_GetDC,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_GetDC(self, *_args, **_kwargs) return val def GetPageSizeMM(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_GetPageSizeMM,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_GetPageSizeMM(self, *_args, **_kwargs) return val def GetPageSizePixels(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_GetPageSizePixels,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_GetPageSizePixels(self, *_args, **_kwargs) return val def GetPPIPrinter(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_GetPPIPrinter,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_GetPPIPrinter(self, *_args, **_kwargs) return val def GetPPIScreen(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_GetPPIScreen,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_GetPPIScreen(self, *_args, **_kwargs) return val def IsPreview(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_IsPreview,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_IsPreview(self, *_args, **_kwargs) return val def base_OnBeginDocument(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_OnBeginDocument,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_OnBeginDocument(self, *_args, **_kwargs) return val def base_OnEndDocument(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_OnEndDocument,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_OnEndDocument(self, *_args, **_kwargs) return val def base_OnBeginPrinting(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_OnBeginPrinting,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_OnBeginPrinting(self, *_args, **_kwargs) return val def base_OnEndPrinting(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_OnEndPrinting,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_OnEndPrinting(self, *_args, **_kwargs) return val def base_OnPreparePrinting(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_OnPreparePrinting,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_OnPreparePrinting(self, *_args, **_kwargs) return val def base_GetPageInfo(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_GetPageInfo,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_GetPageInfo(self, *_args, **_kwargs) return val def base_HasPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintout_base_HasPage,(self,) + _args, _kwargs) + val = printfwc.wxPrintout_base_HasPage(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrintout instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPrintout(wxPrintoutPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrintout,_args,_kwargs) + self.this = printfwc.new_wxPrintout(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPrintout) @@ -507,29 +534,46 @@ class wxPrinterPtr(wxObjectPtr): except: pass def CreateAbortWindow(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_CreateAbortWindow,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_CreateAbortWindow(self, *_args, **_kwargs) return val def GetPrintDialogData(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_GetPrintDialogData,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_GetPrintDialogData(self, *_args, **_kwargs) if val: val = wxPrintDialogDataPtr(val) return val def Print(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_Print,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_Print(self, *_args, **_kwargs) return val def PrintDialog(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_PrintDialog,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_PrintDialog(self, *_args, **_kwargs) return val def ReportError(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_ReportError,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_ReportError(self, *_args, **_kwargs) return val def Setup(self, *_args, **_kwargs): - val = apply(printfwc.wxPrinter_Setup,(self,) + _args, _kwargs) + val = printfwc.wxPrinter_Setup(self, *_args, **_kwargs) + return val + def GetAbort(self, *_args, **_kwargs): + val = printfwc.wxPrinter_GetAbort(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrinter instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPrinter(wxPrinterPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrinter,_args,_kwargs) + self.this = printfwc.new_wxPrinter(*_args,**_kwargs) + self.thisown = 1 + + + + +class wxPrintAbortDialogPtr(wxDialogPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPrintAbortDialog instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPrintAbortDialog(wxPrintAbortDialogPtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPrintAbortDialog(*_args,**_kwargs) self.thisown = 1 @@ -539,60 +583,76 @@ class wxPrintPreviewPtr(wxObjectPtr): def __init__(self,this): self.this = this self.thisown = 0 - def GetCanvas(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetCanvas,(self,) + _args, _kwargs) + def SetCurrentPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetCurrentPage(self, *_args, **_kwargs) return val def GetCurrentPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetCurrentPage,(self,) + _args, _kwargs) + val = printfwc.wxPrintPreview_GetCurrentPage(self, *_args, **_kwargs) + return val + def SetPrintout(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetPrintout(self, *_args, **_kwargs) + return val + def GetPrintout(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_GetPrintout(self, *_args, **_kwargs) + return val + def GetPrintoutForPrinting(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_GetPrintoutForPrinting(self, *_args, **_kwargs) + return val + def SetFrame(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetFrame(self, *_args, **_kwargs) + return val + def SetCanvas(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetCanvas(self, *_args, **_kwargs) return val def GetFrame(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetFrame,(self,) + _args, _kwargs) + val = printfwc.wxPrintPreview_GetFrame(self, *_args, **_kwargs) return val - def GetMaxPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetMaxPage,(self,) + _args, _kwargs) + def GetCanvas(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_GetCanvas(self, *_args, **_kwargs) return val - def GetMinPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetMinPage,(self,) + _args, _kwargs) + def PaintPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_PaintPage(self, *_args, **_kwargs) + return val + def DrawBlankPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_DrawBlankPage(self, *_args, **_kwargs) + return val + def RenderPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_RenderPage(self, *_args, **_kwargs) return val def GetPrintDialogData(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetPrintDialogData,(self,) + _args, _kwargs) + val = printfwc.wxPrintPreview_GetPrintDialogData(self, *_args, **_kwargs) if val: val = wxPrintDialogDataPtr(val) return val - def GetPrintout(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetPrintout,(self,) + _args, _kwargs) - return val - def GetPrintoutForPrinting(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetPrintoutForPrinting,(self,) + _args, _kwargs) + def SetZoom(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetZoom(self, *_args, **_kwargs) return val def GetZoom(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_GetZoom,(self,) + _args, _kwargs) + val = printfwc.wxPrintPreview_GetZoom(self, *_args, **_kwargs) return val - def Ok(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_Ok,(self,) + _args, _kwargs) + def GetMaxPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_GetMaxPage(self, *_args, **_kwargs) return val - def Print(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_Print,(self,) + _args, _kwargs) + def GetMinPage(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_GetMinPage(self, *_args, **_kwargs) return val - def SetCanvas(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_SetCanvas,(self,) + _args, _kwargs) + def Ok(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_Ok(self, *_args, **_kwargs) return val - def SetCurrentPage(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_SetCurrentPage,(self,) + _args, _kwargs) + def SetOk(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_SetOk(self, *_args, **_kwargs) return val - def SetFrame(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_SetFrame,(self,) + _args, _kwargs) - return val - def SetPrintout(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_SetPrintout,(self,) + _args, _kwargs) + def Print(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_Print(self, *_args, **_kwargs) return val - def SetZoom(self, *_args, **_kwargs): - val = apply(printfwc.wxPrintPreview_SetZoom,(self,) + _args, _kwargs) + def DetermineScaling(self, *_args, **_kwargs): + val = printfwc.wxPrintPreview_DetermineScaling(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPrintPreview instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) + def __nonzero__(self): return self.Ok() class wxPrintPreview(wxPrintPreviewPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPrintPreview,_args,_kwargs) + self.this = printfwc.new_wxPrintPreview(*_args,**_kwargs) self.thisown = 1 @@ -603,14 +663,176 @@ class wxPreviewFramePtr(wxFramePtr): self.this = this self.thisown = 0 def Initialize(self, *_args, **_kwargs): - val = apply(printfwc.wxPreviewFrame_Initialize,(self,) + _args, _kwargs) + val = printfwc.wxPreviewFrame_Initialize(self, *_args, **_kwargs) + return val + def CreateControlBar(self, *_args, **_kwargs): + val = printfwc.wxPreviewFrame_CreateControlBar(self, *_args, **_kwargs) + return val + def CreateCanvas(self, *_args, **_kwargs): + val = printfwc.wxPreviewFrame_CreateCanvas(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPreviewFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPreviewFrame(wxPreviewFramePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(printfwc.new_wxPreviewFrame,_args,_kwargs) + self.this = printfwc.new_wxPreviewFrame(*_args,**_kwargs) + self.thisown = 1 + self._setOORInfo(self) + + + + +class wxPreviewCanvasPtr(wxScrolledWindowPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPreviewCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPreviewCanvas(wxPreviewCanvasPtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPreviewCanvas(*_args,**_kwargs) + self.thisown = 1 + self._setOORInfo(self) + + + + +class wxPreviewControlBarPtr(wxPanelPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def GetZoomControl(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_GetZoomControl(self, *_args, **_kwargs) + return val + def SetZoomControl(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_SetZoomControl(self, *_args, **_kwargs) + return val + def GetPrintPreview(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_GetPrintPreview(self, *_args, **_kwargs) + if val: val = wxPrintPreviewPtr(val) + return val + def OnNext(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_OnNext(self, *_args, **_kwargs) + return val + def OnPrevious(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_OnPrevious(self, *_args, **_kwargs) + return val + def OnFirst(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_OnFirst(self, *_args, **_kwargs) + return val + def OnLast(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_OnLast(self, *_args, **_kwargs) + return val + def OnGoto(self, *_args, **_kwargs): + val = printfwc.wxPreviewControlBar_OnGoto(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPreviewControlBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPreviewControlBar(wxPreviewControlBarPtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPreviewControlBar(*_args,**_kwargs) + self.thisown = 1 + self._setOORInfo(self) + + + + +class wxPyPrintPreviewPtr(wxPrintPreviewPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview__setCallbackInfo(self, *_args, **_kwargs) + return val + def base_SetCurrentPage(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_SetCurrentPage(self, *_args, **_kwargs) + return val + def base_PaintPage(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_PaintPage(self, *_args, **_kwargs) + return val + def base_DrawBlankPage(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_DrawBlankPage(self, *_args, **_kwargs) + return val + def base_RenderPage(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_RenderPage(self, *_args, **_kwargs) + return val + def base_SetZoom(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_SetZoom(self, *_args, **_kwargs) + return val + def base_Print(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_Print(self, *_args, **_kwargs) + return val + def base_DetermineScaling(self, *_args, **_kwargs): + val = printfwc.wxPyPrintPreview_base_DetermineScaling(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPyPrintPreview instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPyPrintPreview(wxPyPrintPreviewPtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPyPrintPreview(*_args,**_kwargs) self.thisown = 1 + self._setCallbackInfo(self, wxPyPrintPreview) + + + + +class wxPyPreviewFramePtr(wxPreviewFramePtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame__setCallbackInfo(self, *_args, **_kwargs) + return val + def SetPreviewCanvas(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame_SetPreviewCanvas(self, *_args, **_kwargs) + return val + def SetControlBar(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame_SetControlBar(self, *_args, **_kwargs) + return val + def base_Initialize(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame_base_Initialize(self, *_args, **_kwargs) + return val + def base_CreateCanvas(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame_base_CreateCanvas(self, *_args, **_kwargs) + return val + def base_CreateControlBar(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewFrame_base_CreateControlBar(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPyPreviewFrame instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPyPreviewFrame(wxPyPreviewFramePtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPyPreviewFrame(*_args,**_kwargs) + self.thisown = 1 + self._setCallbackInfo(self, wxPyPreviewFrame) + self._setOORInfo(self) + + + + +class wxPyPreviewControlBarPtr(wxPreviewControlBarPtr): + def __init__(self,this): + self.this = this + self.thisown = 0 + def _setCallbackInfo(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewControlBar__setCallbackInfo(self, *_args, **_kwargs) + return val + def SetPrintPreview(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewControlBar_SetPrintPreview(self, *_args, **_kwargs) + return val + def base_CreateButtons(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewControlBar_base_CreateButtons(self, *_args, **_kwargs) + return val + def base_SetZoomControl(self, *_args, **_kwargs): + val = printfwc.wxPyPreviewControlBar_base_SetZoomControl(self, *_args, **_kwargs) + return val + def __repr__(self): + return "<%s.%s instance; proxy of C++ wxPyPreviewControlBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) +class wxPyPreviewControlBar(wxPyPreviewControlBarPtr): + def __init__(self,*_args,**_kwargs): + self.this = printfwc.new_wxPyPreviewControlBar(*_args,**_kwargs) + self.thisown = 1 + self._setCallbackInfo(self, wxPyPreviewControlBar) self._setOORInfo(self) @@ -624,7 +846,32 @@ wxPostScriptDC_SetResolution = printfwc.wxPostScriptDC_SetResolution wxPostScriptDC_GetResolution = printfwc.wxPostScriptDC_GetResolution +wxPrinter_GetLastError = printfwc.wxPrinter_GetLastError + #-------------- VARIABLE WRAPPERS ------------------ +wxPRINT_MODE_NONE = printfwc.wxPRINT_MODE_NONE +wxPRINT_MODE_PREVIEW = printfwc.wxPRINT_MODE_PREVIEW +wxPRINT_MODE_FILE = printfwc.wxPRINT_MODE_FILE +wxPRINT_MODE_PRINTER = printfwc.wxPRINT_MODE_PRINTER +wxPRINTER_NO_ERROR = printfwc.wxPRINTER_NO_ERROR +wxPRINTER_CANCELLED = printfwc.wxPRINTER_CANCELLED +wxPRINTER_ERROR = printfwc.wxPRINTER_ERROR +wxPREVIEW_PRINT = printfwc.wxPREVIEW_PRINT +wxPREVIEW_PREVIOUS = printfwc.wxPREVIEW_PREVIOUS +wxPREVIEW_NEXT = printfwc.wxPREVIEW_NEXT +wxPREVIEW_ZOOM = printfwc.wxPREVIEW_ZOOM +wxPREVIEW_FIRST = printfwc.wxPREVIEW_FIRST +wxPREVIEW_LAST = printfwc.wxPREVIEW_LAST +wxPREVIEW_GOTO = printfwc.wxPREVIEW_GOTO +wxPREVIEW_DEFAULT = printfwc.wxPREVIEW_DEFAULT +wxID_PREVIEW_CLOSE = printfwc.wxID_PREVIEW_CLOSE +wxID_PREVIEW_NEXT = printfwc.wxID_PREVIEW_NEXT +wxID_PREVIEW_PREVIOUS = printfwc.wxID_PREVIEW_PREVIOUS +wxID_PREVIEW_PRINT = printfwc.wxID_PREVIEW_PRINT +wxID_PREVIEW_ZOOM = printfwc.wxID_PREVIEW_ZOOM +wxID_PREVIEW_FIRST = printfwc.wxID_PREVIEW_FIRST +wxID_PREVIEW_LAST = printfwc.wxID_PREVIEW_LAST +wxID_PREVIEW_GOTO = printfwc.wxID_PREVIEW_GOTO diff --git a/wxPython/src/gtk/sizers.cpp b/wxPython/src/gtk/sizers.cpp index b7fd73d8aa..a3a72c6703 100644 --- a/wxPython/src/gtk/sizers.cpp +++ b/wxPython/src/gtk/sizers.cpp @@ -1110,98 +1110,69 @@ static PyObject *_wrap_wxSizer_Destroy(PyObject *self, PyObject *args, PyObject return _resultobj; } -static void wxSizer_AddWindow(wxSizer *self,wxWindow * window,int proportion,int flag,int border,PyObject * userData) { +static void wxSizer__Add(wxSizer *self,PyObject * item,int proportion,int flag,int border,PyObject * userData,int option) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Add(window, proportion, flag, border, data); - } -static PyObject *_wrap_wxSizer_AddWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxWindow * _arg1; - int _arg2 = (int ) 0; - int _arg3 = (int ) 0; - int _arg4 = (int ) 0; - PyObject * _arg5 = (PyObject *) NULL; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _obj5 = 0; - char *_kwnames[] = { "self","window","proportion","flag","border","userData", NULL }; - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiO:wxSizer_AddWindow",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_obj5)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_AddWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_AddWindow. Expected _wxWindow_p."); - return NULL; - } - } - if (_obj5) -{ - _arg5 = _obj5; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_AddWindow(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + // Find out what type the item is and call the real Add method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Add(window, proportion, flag, border, data); - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Add(sizer, proportion, flag, border, data); -static void wxSizer_AddSizer(wxSizer *self,wxSizer * sizer,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Add(sizer, proportion, flag, border, data); + else if (wxSize_helper(item, &sizePtr)) + self->Add(sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } -static PyObject *_wrap_wxSizer_AddSizer(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer__Add(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - wxSizer * _arg1; + PyObject * _arg1; int _arg2 = (int ) 0; int _arg3 = (int ) 0; int _arg4 = (int ) 0; PyObject * _arg5 = (PyObject *) NULL; + int _arg6 = (int ) -1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; + PyObject * _obj1 = 0; PyObject * _obj5 = 0; - char *_kwnames[] = { "self","sizer","proportion","flag","border","userData", NULL }; + char *_kwnames[] = { "self","item","proportion","flag","border","userData","option", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiO:wxSizer_AddSizer",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_obj5)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiOi:wxSizer__Add",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3,&_arg4,&_obj5,&_arg6)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_AddSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_AddSizer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer__Add. Expected _wxSizer_p."); return NULL; } } +{ + _arg1 = _obj1; +} if (_obj5) { _arg5 = _obj5; } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_AddSizer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + wxSizer__Add(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -1210,143 +1181,70 @@ static PyObject *_wrap_wxSizer_AddSizer(PyObject *self, PyObject *args, PyObject return _resultobj; } -static void wxSizer_AddSpacer(wxSizer *self,int width,int height,int proportion,int flag,int border,PyObject * userData) { +static void wxSizer__Insert(wxSizer *self,int before,PyObject * item,int proportion,int flag,int border,PyObject * userData,int option) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Add(width, height, proportion, flag, border, data); - } -static PyObject *_wrap_wxSizer_AddSpacer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - int _arg1; - int _arg2; - int _arg3 = (int ) 0; - int _arg4 = (int ) 0; - int _arg5 = (int ) 0; - PyObject * _arg6 = (PyObject *) NULL; - PyObject * _argo0 = 0; - PyObject * _obj6 = 0; - char *_kwnames[] = { "self","width","height","proportion","flag","border","userData", NULL }; - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|iiiO:wxSizer_AddSpacer",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_obj6)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_AddSpacer. Expected _wxSizer_p."); - return NULL; - } - } - if (_obj6) -{ - _arg6 = _obj6; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_AddSpacer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); + // Find out what type the item is and call the real Insert method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Insert(before, window, proportion, flag, border, data); - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Insert(before, sizer, proportion, flag, border, data); -static void wxSizer_InsertWindow(wxSizer *self,int before,wxWindow * window,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Insert(before, window, proportion, flag, border, data); + else if (wxSize_helper(item, &sizePtr)) + self->Insert(before, sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } -static PyObject *_wrap_wxSizer_InsertWindow(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer__Insert(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; int _arg1; - wxWindow * _arg2; + PyObject * _arg2; int _arg3 = (int ) 0; int _arg4 = (int ) 0; int _arg5 = (int ) 0; PyObject * _arg6 = (PyObject *) NULL; + int _arg7 = (int ) -1; PyObject * _argo0 = 0; - PyObject * _argo2 = 0; + PyObject * _obj2 = 0; PyObject * _obj6 = 0; - char *_kwnames[] = { "self","before","window","proportion","flag","border","userData", NULL }; + char *_kwnames[] = { "self","before","item","proportion","flag","border","userData","option", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|iiiO:wxSizer_InsertWindow",_kwnames,&_argo0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5,&_obj6)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|iiiOi:wxSizer__Insert",_kwnames,&_argo0,&_arg1,&_obj2,&_arg3,&_arg4,&_arg5,&_obj6,&_arg7)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_InsertWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxSizer_InsertWindow. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer__Insert. Expected _wxSizer_p."); return NULL; } } - if (_obj6) -{ - _arg6 = _obj6; -} { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_InsertWindow(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; + _arg2 = _obj2; } - -static void wxSizer_InsertSizer(wxSizer *self,int before,wxSizer * sizer,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Insert(before, sizer, proportion, flag, border, data); - } -static PyObject *_wrap_wxSizer_InsertSizer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - int _arg1; - wxSizer * _arg2; - int _arg3 = (int ) 0; - int _arg4 = (int ) 0; - int _arg5 = (int ) 0; - PyObject * _arg6 = (PyObject *) NULL; - PyObject * _argo0 = 0; - PyObject * _argo2 = 0; - PyObject * _obj6 = 0; - char *_kwnames[] = { "self","before","sizer","proportion","flag","border","userData", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO|iiiO:wxSizer_InsertSizer",_kwnames,&_argo0,&_arg1,&_argo2,&_arg3,&_arg4,&_arg5,&_obj6)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_InsertSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo2) { - if (_argo2 == Py_None) { _arg2 = NULL; } - else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxSizer_InsertSizer. Expected _wxSizer_p."); - return NULL; - } - } if (_obj6) { _arg6 = _obj6; } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_InsertSizer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); + wxSizer__Insert(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -1355,92 +1253,69 @@ static PyObject *_wrap_wxSizer_InsertSizer(PyObject *self, PyObject *args, PyObj return _resultobj; } -static void wxSizer_InsertSpacer(wxSizer *self,int before,int width,int height,int proportion,int flag,int border,PyObject * userData) { +static void wxSizer__Prepend(wxSizer *self,PyObject * item,int proportion,int flag,int border,PyObject * userData,int option) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Insert(before, width, height, proportion, flag, border, data); - } -static PyObject *_wrap_wxSizer_InsertSpacer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - int _arg1; - int _arg2; - int _arg3; - int _arg4 = (int ) 0; - int _arg5 = (int ) 0; - int _arg6 = (int ) 0; - PyObject * _arg7 = (PyObject *) NULL; - PyObject * _argo0 = 0; - PyObject * _obj7 = 0; - char *_kwnames[] = { "self","before","width","height","proportion","flag","border","userData", NULL }; - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii|iiiO:wxSizer_InsertSpacer",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_arg6,&_obj7)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_InsertSpacer. Expected _wxSizer_p."); - return NULL; - } - } - if (_obj7) -{ - _arg7 = _obj7; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_InsertSpacer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6,_arg7); + // Find out what type the item is and call the real Prepend method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Prepend(window, proportion, flag, border, data); - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Prepend(sizer, proportion, flag, border, data); -static void wxSizer_PrependWindow(wxSizer *self,wxWindow * window,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Prepend(window, proportion, flag, border, data); + else if (wxSize_helper(item, &sizePtr)) + self->Prepend(sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } -static PyObject *_wrap_wxSizer_PrependWindow(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer__Prepend(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - wxWindow * _arg1; + PyObject * _arg1; int _arg2 = (int ) 0; int _arg3 = (int ) 0; int _arg4 = (int ) 0; PyObject * _arg5 = (PyObject *) NULL; + int _arg6 = (int ) -1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; + PyObject * _obj1 = 0; PyObject * _obj5 = 0; - char *_kwnames[] = { "self","window","proportion","flag","border","userData", NULL }; + char *_kwnames[] = { "self","item","proportion","flag","border","userData","option", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiO:wxSizer_PrependWindow",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_obj5)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiOi:wxSizer__Prepend",_kwnames,&_argo0,&_obj1,&_arg2,&_arg3,&_arg4,&_obj5,&_arg6)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_PrependWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_PrependWindow. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer__Prepend. Expected _wxSizer_p."); return NULL; } } +{ + _arg1 = _obj1; +} if (_obj5) { _arg5 = _obj5; } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_PrependWindow(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + wxSizer__Prepend(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -1449,91 +1324,110 @@ static PyObject *_wrap_wxSizer_PrependWindow(PyObject *self, PyObject *args, PyO return _resultobj; } -static void wxSizer_PrependSizer(wxSizer *self,wxSizer * sizer,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Prepend(sizer, proportion, flag, border, data); +static bool wxSizer_Remove(wxSizer *self,PyObject * item) { + wxWindow* window; + wxSizer* sizer; + + // Find out what type the item is and call the real Remove method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + return self->Remove(window); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + return self->Remove(sizer); + + else if (PyInt_Check(item)) { + int pos = PyInt_AsLong(item); + return self->Remove(pos); + } + else { + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer or int (position) expected."); + return FALSE; + } } -static PyObject *_wrap_wxSizer_PrependSizer(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer_Remove(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + bool _result; wxSizer * _arg0; - wxSizer * _arg1; - int _arg2 = (int ) 0; - int _arg3 = (int ) 0; - int _arg4 = (int ) 0; - PyObject * _arg5 = (PyObject *) NULL; + PyObject * _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - PyObject * _obj5 = 0; - char *_kwnames[] = { "self","sizer","proportion","flag","border","userData", NULL }; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","item", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|iiiO:wxSizer_PrependSizer",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3,&_arg4,&_obj5)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_Remove",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_PrependSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_PrependSizer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_Remove. Expected _wxSizer_p."); return NULL; } } - if (_obj5) { - _arg5 = _obj5; + _arg1 = _obj1; } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_PrependSizer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + _result = (bool )wxSizer_Remove(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +} _resultobj = Py_BuildValue("i",_result); return _resultobj; } -static void wxSizer_PrependSpacer(wxSizer *self,int width,int height,int proportion,int flag,int border,PyObject * userData) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Prepend(width, height, proportion, flag, border, data); +static void wxSizer__SetItemMinSize(wxSizer *self,PyObject * item,wxSize size) { + wxWindow* window; + wxSizer* sizer; + + // Find out what type the item is and call the real Remove method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->SetItemMinSize(window, size); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->SetItemMinSize(sizer, size); + + else if (PyInt_Check(item)) { + int pos = PyInt_AsLong(item); + self->SetItemMinSize(pos, size); + } + else + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer or int (position) expected."); } -static PyObject *_wrap_wxSizer_PrependSpacer(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer__SetItemMinSize(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - int _arg1; - int _arg2; - int _arg3 = (int ) 0; - int _arg4 = (int ) 0; - int _arg5 = (int ) 0; - PyObject * _arg6 = (PyObject *) NULL; + PyObject * _arg1; + wxSize * _arg2; PyObject * _argo0 = 0; - PyObject * _obj6 = 0; - char *_kwnames[] = { "self","width","height","proportion","flag","border","userData", NULL }; + PyObject * _obj1 = 0; + wxSize temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","item","size", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|iiiO:wxSizer_PrependSpacer",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4,&_arg5,&_obj6)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxSizer__SetItemMinSize",_kwnames,&_argo0,&_obj1,&_obj2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_PrependSpacer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer__SetItemMinSize. Expected _wxSizer_p."); return NULL; } } - if (_obj6) { - _arg6 = _obj6; + _arg1 = _obj1; +} +{ + _arg2 = &temp; + if (! wxSize_helper(_obj2, &_arg2)) + return NULL; } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_PrependSpacer(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5,_arg6); + wxSizer__SetItemMinSize(_arg0,_arg1,*_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -1542,504 +1436,30 @@ static PyObject *_wrap_wxSizer_PrependSpacer(PyObject *self, PyObject *args, PyO return _resultobj; } -#define wxSizer_RemoveWindow(_swigobj,_swigarg0) (_swigobj->Remove(_swigarg0)) -static PyObject *_wrap_wxSizer_RemoveWindow(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxSizer_SetDimension(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->SetDimension(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxSizer_SetDimension(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; - bool _result; wxSizer * _arg0; - wxWindow * _arg1; + int _arg1; + int _arg2; + int _arg3; + int _arg4; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window", NULL }; + char *_kwnames[] = { "self","x","y","width","height", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_RemoveWindow",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_RemoveWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_RemoveWindow. Expected _wxWindow_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_RemoveWindow(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_RemoveSizer(_swigobj,_swigarg0) (_swigobj->Remove(_swigarg0)) -static PyObject *_wrap_wxSizer_RemoveSizer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - wxSizer * _arg1; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","sizer", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_RemoveSizer",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_RemoveSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_RemoveSizer. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_RemoveSizer(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_RemovePos(_swigobj,_swigarg0) (_swigobj->Remove(_swigarg0)) -static PyObject *_wrap_wxSizer_RemovePos(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - int _arg1; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self","pos", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSizer_RemovePos",_kwnames,&_argo0,&_arg1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_RemovePos. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_RemovePos(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_DetachWindow(_swigobj,_swigarg0) (_swigobj->Detach(_swigarg0)) -static PyObject *_wrap_wxSizer_DetachWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - wxWindow * _arg1; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_DetachWindow",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_DetachWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_DetachWindow. Expected _wxWindow_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_DetachWindow(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_DetachSizer(_swigobj,_swigarg0) (_swigobj->Detach(_swigarg0)) -static PyObject *_wrap_wxSizer_DetachSizer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - wxSizer * _arg1; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","sizer", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_DetachSizer",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_DetachSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_DetachSizer. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_DetachSizer(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_DetachPos(_swigobj,_swigarg0) (_swigobj->Detach(_swigarg0)) -static PyObject *_wrap_wxSizer_DetachPos(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - int _arg1; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self","pos", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSizer_DetachPos",_kwnames,&_argo0,&_arg1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_DetachPos. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_DetachPos(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_Clear(_swigobj,_swigarg0) (_swigobj->Clear(_swigarg0)) -static PyObject *_wrap_wxSizer_Clear(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - bool _arg1 = (bool ) false; - PyObject * _argo0 = 0; - int tempbool1 = (int) false; - char *_kwnames[] = { "self","delete_windows", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxSizer_Clear",_kwnames,&_argo0,&tempbool1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_Clear. Expected _wxSizer_p."); - return NULL; - } - } - _arg1 = (bool ) tempbool1; -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_Clear(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_DeleteWindows(_swigobj) (_swigobj->DeleteWindows()) -static PyObject *_wrap_wxSizer_DeleteWindows(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizer_DeleteWindows",_kwnames,&_argo0)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_DeleteWindows. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_DeleteWindows(_arg0); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetMinSize(_swigobj,_swigarg0) (_swigobj->SetMinSize(_swigarg0)) -static PyObject *_wrap_wxSizer_SetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxSize * _arg1; - PyObject * _argo0 = 0; - wxSize temp; - PyObject * _obj1 = 0; - char *_kwnames[] = { "self","size", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_SetMinSize",_kwnames,&_argo0,&_obj1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetMinSize. Expected _wxSizer_p."); - return NULL; - } - } -{ - _arg1 = &temp; - if (! wxSize_helper(_obj1, &_arg1)) - return NULL; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetMinSize(_arg0,*_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetItemMinSizeWindow(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_SetItemMinSizeWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxWindow * _arg1; - wxSize * _arg2; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - wxSize temp; - PyObject * _obj2 = 0; - char *_kwnames[] = { "self","window","size", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxSizer_SetItemMinSizeWindow",_kwnames,&_argo0,&_argo1,&_obj2)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizeWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_SetItemMinSizeWindow. Expected _wxWindow_p."); - return NULL; - } - } -{ - _arg2 = &temp; - if (! wxSize_helper(_obj2, &_arg2)) - return NULL; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizeWindow(_arg0,_arg1,*_arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetItemMinSizeSizer(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_SetItemMinSizeSizer(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxSizer * _arg1; - wxSize * _arg2; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - wxSize temp; - PyObject * _obj2 = 0; - char *_kwnames[] = { "self","sizer","size", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxSizer_SetItemMinSizeSizer",_kwnames,&_argo0,&_argo1,&_obj2)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizeSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_SetItemMinSizeSizer. Expected _wxSizer_p."); - return NULL; - } - } -{ - _arg2 = &temp; - if (! wxSize_helper(_obj2, &_arg2)) - return NULL; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizeSizer(_arg0,_arg1,*_arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetItemMinSizePos(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_SetItemMinSizePos(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - int _arg1; - wxSize * _arg2; - PyObject * _argo0 = 0; - wxSize temp; - PyObject * _obj2 = 0; - char *_kwnames[] = { "self","pos","size", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxSizer_SetItemMinSizePos",_kwnames,&_argo0,&_arg1,&_obj2)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizePos. Expected _wxSizer_p."); - return NULL; - } - } -{ - _arg2 = &temp; - if (! wxSize_helper(_obj2, &_arg2)) - return NULL; -} -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizePos(_arg0,_arg1,*_arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetItemMinSizeWindowWH(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_wxSizer_SetItemMinSizeWindowWH(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxWindow * _arg1; - int _arg2; - int _arg3; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window","width","height", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxSizer_SetItemMinSizeWindowWH",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizeWindowWH. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_SetItemMinSizeWindowWH. Expected _wxWindow_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizeWindowWH(_arg0,_arg1,_arg2,_arg3); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - -#define wxSizer_SetItemMinSizeSizerWH(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_wxSizer_SetItemMinSizeSizerWH(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxSizer * _arg1; - int _arg2; - int _arg3; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","sizer","width","height", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOii:wxSizer_SetItemMinSizeSizerWH",_kwnames,&_argo0,&_argo1,&_arg2,&_arg3)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxSizer_SetDimension",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizeSizerWH. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_SetItemMinSizeSizerWH. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetDimension. Expected _wxSizer_p."); return NULL; } } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizeSizerWH(_arg0,_arg1,_arg2,_arg3); + wxSizer_SetDimension(_arg0,_arg1,_arg2,_arg3,_arg4); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2048,29 +1468,34 @@ static PyObject *_wrap_wxSizer_SetItemMinSizeSizerWH(PyObject *self, PyObject *a return _resultobj; } -#define wxSizer_SetItemMinSizePosWH(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SetItemMinSize(_swigarg0,_swigarg1,_swigarg2)) -static PyObject *_wrap_wxSizer_SetItemMinSizePosWH(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxSizer_SetMinSize(_swigobj,_swigarg0) (_swigobj->SetMinSize(_swigarg0)) +static PyObject *_wrap_wxSizer_SetMinSize(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - int _arg1; - int _arg2; - int _arg3; + wxSize * _arg1; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","pos","width","height", NULL }; + wxSize temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","size", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxSizer_SetItemMinSizePosWH",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_SetMinSize",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetItemMinSizePosWH. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetMinSize. Expected _wxSizer_p."); return NULL; } } +{ + _arg1 = &temp; + if (! wxSize_helper(_obj1, &_arg1)) + return NULL; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetItemMinSizePosWH(_arg0,_arg1,_arg2,_arg3); + wxSizer_SetMinSize(_arg0,*_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2347,63 +1772,29 @@ static PyObject *_wrap_wxSizer_SetVirtualSizeHints(PyObject *self, PyObject *arg return _resultobj; } -static PyObject * wxSizer_GetChildren(wxSizer *self) { - wxSizerItemList& list = self->GetChildren(); - return wxPy_ConvertList(&list, "wxSizerItem"); - } -static PyObject *_wrap_wxSizer_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - PyObject * _result; - wxSizer * _arg0; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizer_GetChildren",_kwnames,&_argo0)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_GetChildren. Expected _wxSizer_p."); - return NULL; - } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (PyObject *)wxSizer_GetChildren(_arg0); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -}{ - _resultobj = _result; -} - return _resultobj; -} - -#define wxSizer_SetDimension(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->SetDimension(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) -static PyObject *_wrap_wxSizer_SetDimension(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxSizer_Clear(_swigobj,_swigarg0) (_swigobj->Clear(_swigarg0)) +static PyObject *_wrap_wxSizer_Clear(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - int _arg1; - int _arg2; - int _arg3; - int _arg4; + bool _arg1 = (bool ) FALSE; PyObject * _argo0 = 0; - char *_kwnames[] = { "self","x","y","width","height", NULL }; + int tempbool1 = (int) FALSE; + char *_kwnames[] = { "self","delete_windows", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxSizer_SetDimension",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|i:wxSizer_Clear",_kwnames,&_argo0,&tempbool1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_SetDimension. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_Clear. Expected _wxSizer_p."); return NULL; } } + _arg1 = (bool ) tempbool1; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_SetDimension(_arg0,_arg1,_arg2,_arg3,_arg4); + wxSizer_Clear(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2412,38 +1803,26 @@ static PyObject *_wrap_wxSizer_SetDimension(PyObject *self, PyObject *args, PyOb return _resultobj; } -#define wxSizer_ShowWindow(_swigobj,_swigarg0,_swigarg1) (_swigobj->Show(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_ShowWindow(PyObject *self, PyObject *args, PyObject *kwargs) { +#define wxSizer_DeleteWindows(_swigobj) (_swigobj->DeleteWindows()) +static PyObject *_wrap_wxSizer_DeleteWindows(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - wxWindow * _arg1; - bool _arg2 = (bool ) TRUE; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - int tempbool2 = (int) TRUE; - char *_kwnames[] = { "self","window","show", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxSizer_ShowWindow",_kwnames,&_argo0,&_argo1,&tempbool2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizer_DeleteWindows",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_ShowWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_ShowWindow. Expected _wxWindow_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_DeleteWindows. Expected _wxSizer_p."); return NULL; } } - _arg2 = (bool ) tempbool2; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_ShowWindow(_arg0,_arg1,_arg2); + wxSizer_DeleteWindows(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2452,107 +1831,77 @@ static PyObject *_wrap_wxSizer_ShowWindow(PyObject *self, PyObject *args, PyObje return _resultobj; } -#define wxSizer_ShowSizer(_swigobj,_swigarg0,_swigarg1) (_swigobj->Show(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_ShowSizer(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject * wxSizer_GetChildren(wxSizer *self) { + wxList& list = self->GetChildren(); + return wxPy_ConvertList(&list, "wxSizerItem"); + } +static PyObject *_wrap_wxSizer_GetChildren(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; + PyObject * _result; wxSizer * _arg0; - wxSizer * _arg1; - bool _arg2 = (bool ) TRUE; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - int tempbool2 = (int) TRUE; - char *_kwnames[] = { "self","sizer","show", NULL }; + char *_kwnames[] = { "self", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxSizer_ShowSizer",_kwnames,&_argo0,&_argo1,&tempbool2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxSizer_GetChildren",_kwnames,&_argo0)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_ShowSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_ShowSizer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_GetChildren. Expected _wxSizer_p."); return NULL; } } - _arg2 = (bool ) tempbool2; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_ShowSizer(_arg0,_arg1,_arg2); + _result = (PyObject *)wxSizer_GetChildren(_arg0); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; +}{ + _resultobj = _result; +} return _resultobj; } -#define wxSizer_ShowPos(_swigobj,_swigarg0,_swigarg1) (_swigobj->Show(_swigarg0,_swigarg1)) -static PyObject *_wrap_wxSizer_ShowPos(PyObject *self, PyObject *args, PyObject *kwargs) { +static void wxSizer_Show(wxSizer *self,PyObject * item,bool show) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Show(window, show); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Show(sizer, show); + else + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + } +static PyObject *_wrap_wxSizer_Show(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - size_t _arg1; + PyObject * _arg1; bool _arg2 = (bool ) TRUE; PyObject * _argo0 = 0; + PyObject * _obj1 = 0; int tempbool2 = (int) TRUE; - char *_kwnames[] = { "self","index","show", NULL }; + char *_kwnames[] = { "self","item","show", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi|i:wxSizer_ShowPos",_kwnames,&_argo0,&_arg1,&tempbool2)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:wxSizer_Show",_kwnames,&_argo0,&_obj1,&tempbool2)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_ShowPos. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_Show. Expected _wxSizer_p."); return NULL; } } - _arg2 = (bool ) tempbool2; { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_ShowPos(_arg0,_arg1,_arg2); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; + _arg1 = _obj1; } - -#define wxSizer_HideWindow(_swigobj,_swigarg0) (_swigobj->Hide(_swigarg0)) -static PyObject *_wrap_wxSizer_HideWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - wxWindow * _arg1; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_HideWindow",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_HideWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_HideWindow. Expected _wxWindow_p."); - return NULL; - } - } + _arg2 = (bool ) tempbool2; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_HideWindow(_arg0,_arg1); + wxSizer_Show(_arg0,_arg1,_arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2561,64 +1910,41 @@ static PyObject *_wrap_wxSizer_HideWindow(PyObject *self, PyObject *args, PyObje return _resultobj; } -#define wxSizer_HideSizer(_swigobj,_swigarg0) (_swigobj->Hide(_swigarg0)) -static PyObject *_wrap_wxSizer_HideSizer(PyObject *self, PyObject *args, PyObject *kwargs) { +static void wxSizer_Hide(wxSizer *self,PyObject * item) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Hide(window); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Hide(sizer); + else + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + } +static PyObject *_wrap_wxSizer_Hide(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxSizer * _arg0; - wxSizer * _arg1; + PyObject * _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","sizer", NULL }; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","item", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_HideSizer",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_Hide",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_HideSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_HideSizer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_Hide. Expected _wxSizer_p."); return NULL; } } { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_HideSizer(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; + _arg1 = _obj1; } - -#define wxSizer_HidePos(_swigobj,_swigarg0) (_swigobj->Hide(_swigarg0)) -static PyObject *_wrap_wxSizer_HidePos(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxSizer * _arg0; - size_t _arg1; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self","index", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSizer_HidePos",_kwnames,&_argo0,&_arg1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_HidePos. Expected _wxSizer_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - wxSizer_HidePos(_arg0,_arg1); + wxSizer_Hide(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -2627,102 +1953,44 @@ static PyObject *_wrap_wxSizer_HidePos(PyObject *self, PyObject *args, PyObject return _resultobj; } -#define wxSizer_IsShownWindow(_swigobj,_swigarg0) (_swigobj->IsShown(_swigarg0)) -static PyObject *_wrap_wxSizer_IsShownWindow(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - wxWindow * _arg1; - PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","window", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_IsShownWindow",_kwnames,&_argo0,&_argo1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_IsShownWindow. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_IsShownWindow. Expected _wxWindow_p."); - return NULL; +static bool wxSizer_IsShown(wxSizer *self,PyObject * item) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + return self->IsShown(window); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + return self->IsShown(sizer); + else { + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + return FALSE; + } } - } -{ - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_IsShownWindow(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; -} - -#define wxSizer_IsShownSizer(_swigobj,_swigarg0) (_swigobj->IsShown(_swigarg0)) -static PyObject *_wrap_wxSizer_IsShownSizer(PyObject *self, PyObject *args, PyObject *kwargs) { +static PyObject *_wrap_wxSizer_IsShown(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; bool _result; wxSizer * _arg0; - wxSizer * _arg1; + PyObject * _arg1; PyObject * _argo0 = 0; - PyObject * _argo1 = 0; - char *_kwnames[] = { "self","sizer", NULL }; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","item", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_IsShownSizer",_kwnames,&_argo0,&_argo1)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxSizer_IsShown",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_IsShownSizer. Expected _wxSizer_p."); - return NULL; - } - } - if (_argo1) { - if (_argo1 == Py_None) { _arg1 = NULL; } - else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxSizer_IsShownSizer. Expected _wxSizer_p."); + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_IsShown. Expected _wxSizer_p."); return NULL; } } { - PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_IsShownSizer(_arg0,_arg1); - - wxPyEndAllowThreads(__tstate); - if (PyErr_Occurred()) return NULL; -} _resultobj = Py_BuildValue("i",_result); - return _resultobj; + _arg1 = _obj1; } - -#define wxSizer_IsShownPos(_swigobj,_swigarg0) (_swigobj->IsShown(_swigarg0)) -static PyObject *_wrap_wxSizer_IsShownPos(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - bool _result; - wxSizer * _arg0; - size_t _arg1; - PyObject * _argo0 = 0; - char *_kwnames[] = { "self","index", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxSizer_IsShownPos",_kwnames,&_argo0,&_arg1)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxSizer_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxSizer_IsShownPos. Expected _wxSizer_p."); - return NULL; - } - } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (bool )wxSizer_IsShownPos(_arg0,_arg1); + _result = (bool )wxSizer_IsShown(_arg0,_arg1); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL; @@ -3997,17 +3265,12 @@ static PyMethodDef sizerscMethods[] = { { "wxPySizer__setCallbackInfo", (PyCFunction) _wrap_wxPySizer__setCallbackInfo, METH_VARARGS | METH_KEYWORDS }, { "new_wxPySizer", (PyCFunction) _wrap_new_wxPySizer, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_ShowItems", (PyCFunction) _wrap_wxSizer_ShowItems, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_IsShownPos", (PyCFunction) _wrap_wxSizer_IsShownPos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_IsShownSizer", (PyCFunction) _wrap_wxSizer_IsShownSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_IsShownWindow", (PyCFunction) _wrap_wxSizer_IsShownWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_HidePos", (PyCFunction) _wrap_wxSizer_HidePos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_HideSizer", (PyCFunction) _wrap_wxSizer_HideSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_HideWindow", (PyCFunction) _wrap_wxSizer_HideWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_ShowPos", (PyCFunction) _wrap_wxSizer_ShowPos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_ShowSizer", (PyCFunction) _wrap_wxSizer_ShowSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_ShowWindow", (PyCFunction) _wrap_wxSizer_ShowWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetDimension", (PyCFunction) _wrap_wxSizer_SetDimension, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_IsShown", (PyCFunction) _wrap_wxSizer_IsShown, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_Hide", (PyCFunction) _wrap_wxSizer_Hide, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_Show", (PyCFunction) _wrap_wxSizer_Show, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_GetChildren", (PyCFunction) _wrap_wxSizer_GetChildren, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_DeleteWindows", (PyCFunction) _wrap_wxSizer_DeleteWindows, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_Clear", (PyCFunction) _wrap_wxSizer_Clear, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_SetVirtualSizeHints", (PyCFunction) _wrap_wxSizer_SetVirtualSizeHints, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_SetSizeHints", (PyCFunction) _wrap_wxSizer_SetSizeHints, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_FitInside", (PyCFunction) _wrap_wxSizer_FitInside, METH_VARARGS | METH_KEYWORDS }, @@ -4016,30 +3279,13 @@ static PyMethodDef sizerscMethods[] = { { "wxSizer_GetMinSize", (PyCFunction) _wrap_wxSizer_GetMinSize, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_GetPosition", (PyCFunction) _wrap_wxSizer_GetPosition, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_GetSize", (PyCFunction) _wrap_wxSizer_GetSize, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizePosWH", (PyCFunction) _wrap_wxSizer_SetItemMinSizePosWH, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizeSizerWH", (PyCFunction) _wrap_wxSizer_SetItemMinSizeSizerWH, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizeWindowWH", (PyCFunction) _wrap_wxSizer_SetItemMinSizeWindowWH, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizePos", (PyCFunction) _wrap_wxSizer_SetItemMinSizePos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizeSizer", (PyCFunction) _wrap_wxSizer_SetItemMinSizeSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_SetItemMinSizeWindow", (PyCFunction) _wrap_wxSizer_SetItemMinSizeWindow, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_SetMinSize", (PyCFunction) _wrap_wxSizer_SetMinSize, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_DeleteWindows", (PyCFunction) _wrap_wxSizer_DeleteWindows, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_Clear", (PyCFunction) _wrap_wxSizer_Clear, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_DetachPos", (PyCFunction) _wrap_wxSizer_DetachPos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_DetachSizer", (PyCFunction) _wrap_wxSizer_DetachSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_DetachWindow", (PyCFunction) _wrap_wxSizer_DetachWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_RemovePos", (PyCFunction) _wrap_wxSizer_RemovePos, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_RemoveSizer", (PyCFunction) _wrap_wxSizer_RemoveSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_RemoveWindow", (PyCFunction) _wrap_wxSizer_RemoveWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_PrependSpacer", (PyCFunction) _wrap_wxSizer_PrependSpacer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_PrependSizer", (PyCFunction) _wrap_wxSizer_PrependSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_PrependWindow", (PyCFunction) _wrap_wxSizer_PrependWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_InsertSpacer", (PyCFunction) _wrap_wxSizer_InsertSpacer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_InsertSizer", (PyCFunction) _wrap_wxSizer_InsertSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_InsertWindow", (PyCFunction) _wrap_wxSizer_InsertWindow, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_AddSpacer", (PyCFunction) _wrap_wxSizer_AddSpacer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_AddSizer", (PyCFunction) _wrap_wxSizer_AddSizer, METH_VARARGS | METH_KEYWORDS }, - { "wxSizer_AddWindow", (PyCFunction) _wrap_wxSizer_AddWindow, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_SetDimension", (PyCFunction) _wrap_wxSizer_SetDimension, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer__SetItemMinSize", (PyCFunction) _wrap_wxSizer__SetItemMinSize, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer_Remove", (PyCFunction) _wrap_wxSizer_Remove, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer__Prepend", (PyCFunction) _wrap_wxSizer__Prepend, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer__Insert", (PyCFunction) _wrap_wxSizer__Insert, METH_VARARGS | METH_KEYWORDS }, + { "wxSizer__Add", (PyCFunction) _wrap_wxSizer__Add, METH_VARARGS | METH_KEYWORDS }, { "wxSizer_Destroy", (PyCFunction) _wrap_wxSizer_Destroy, METH_VARARGS | METH_KEYWORDS }, { "wxSizer__setOORInfo", (PyCFunction) _wrap_wxSizer__setOORInfo, METH_VARARGS | METH_KEYWORDS }, { "wxSizerItem_GetUserData", (PyCFunction) _wrap_wxSizerItem_GetUserData, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/sizers.py b/wxPython/src/gtk/sizers.py index 64306d0a6d..e9e3f18dbd 100644 --- a/wxPython/src/gtk/sizers.py +++ b/wxPython/src/gtk/sizers.py @@ -20,102 +20,102 @@ class wxSizerItemPtr(wxObjectPtr): self.this = this self.thisown = 0 def DeleteWindows(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_DeleteWindows,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_DeleteWindows(self, *_args, **_kwargs) return val def DetachSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_DetachSizer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_DetachSizer(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetSize,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetDimension(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetDimension,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetDimension(self, *_args, **_kwargs) return val def GetMinSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetMinSize,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetMinSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetInitSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetInitSize,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetInitSize(self, *_args, **_kwargs) return val def SetRatioWH(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetRatioWH,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetRatioWH(self, *_args, **_kwargs) return val def SetRatioSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetRatioSize,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetRatioSize(self, *_args, **_kwargs) return val def SetRatio(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetRatio,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetRatio(self, *_args, **_kwargs) return val def GetRatio(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetRatio,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetRatio(self, *_args, **_kwargs) return val def IsWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_IsWindow,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_IsWindow(self, *_args, **_kwargs) return val def IsSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_IsSizer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_IsSizer(self, *_args, **_kwargs) return val def IsSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_IsSpacer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_IsSpacer(self, *_args, **_kwargs) return val def SetProportion(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetProportion,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetProportion(self, *_args, **_kwargs) return val def GetProportion(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetProportion,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetProportion(self, *_args, **_kwargs) return val def SetFlag(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetFlag,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetFlag(self, *_args, **_kwargs) return val def GetFlag(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetFlag,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetFlag(self, *_args, **_kwargs) return val def SetBorder(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetBorder,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetBorder(self, *_args, **_kwargs) return val def GetBorder(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetBorder,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetBorder(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetWindow,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetWindow(self, *_args, **_kwargs) return val def SetWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetWindow,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetWindow(self, *_args, **_kwargs) return val def GetSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetSizer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetSizer(self, *_args, **_kwargs) return val def SetSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetSizer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetSizer(self, *_args, **_kwargs) return val def GetSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetSpacer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetSpacer(self, *_args, **_kwargs) if val: val = wxSizePtr(val) return val def SetSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_SetSpacer,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_SetSpacer(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_Show,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_Show(self, *_args, **_kwargs) return val def IsShown(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_IsShown,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_IsShown(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetPosition,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetUserData(self, *_args, **_kwargs): - val = apply(sizersc.wxSizerItem_GetUserData,(self,) + _args, _kwargs) + val = sizersc.wxSizerItem_GetUserData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSizerItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) SetOption = SetProportion GetOption = GetProportion class wxSizerItem(wxSizerItemPtr): @@ -130,227 +130,123 @@ class wxSizerPtr(wxObjectPtr): self.this = this self.thisown = 0 def _setOORInfo(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer__setOORInfo,(self,) + _args, _kwargs) + val = sizersc.wxSizer__setOORInfo(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_Destroy,(self,) + _args, _kwargs) + val = sizersc.wxSizer_Destroy(self, *_args, **_kwargs) return val - def AddWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_AddWindow,(self,) + _args, _kwargs) + def _Add(self, *_args, **_kwargs): + val = sizersc.wxSizer__Add(self, *_args, **_kwargs) return val - def AddSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_AddSizer,(self,) + _args, _kwargs) + def _Insert(self, *_args, **_kwargs): + val = sizersc.wxSizer__Insert(self, *_args, **_kwargs) return val - def AddSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_AddSpacer,(self,) + _args, _kwargs) + def _Prepend(self, *_args, **_kwargs): + val = sizersc.wxSizer__Prepend(self, *_args, **_kwargs) return val - def InsertWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_InsertWindow,(self,) + _args, _kwargs) + def Remove(self, *_args, **_kwargs): + val = sizersc.wxSizer_Remove(self, *_args, **_kwargs) return val - def InsertSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_InsertSizer,(self,) + _args, _kwargs) + def _SetItemMinSize(self, *_args, **_kwargs): + val = sizersc.wxSizer__SetItemMinSize(self, *_args, **_kwargs) return val - def InsertSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_InsertSpacer,(self,) + _args, _kwargs) - return val - def PrependWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_PrependWindow,(self,) + _args, _kwargs) - return val - def PrependSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_PrependSizer,(self,) + _args, _kwargs) - return val - def PrependSpacer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_PrependSpacer,(self,) + _args, _kwargs) - return val - def RemoveWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_RemoveWindow,(self,) + _args, _kwargs) - return val - def RemoveSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_RemoveSizer,(self,) + _args, _kwargs) - return val - def RemovePos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_RemovePos,(self,) + _args, _kwargs) - return val - def DetachWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_DetachWindow,(self,) + _args, _kwargs) - return val - def DetachSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_DetachSizer,(self,) + _args, _kwargs) - return val - def DetachPos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_DetachPos,(self,) + _args, _kwargs) - return val - def Clear(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_Clear,(self,) + _args, _kwargs) - return val - def DeleteWindows(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_DeleteWindows,(self,) + _args, _kwargs) + def SetDimension(self, *_args, **_kwargs): + val = sizersc.wxSizer_SetDimension(self, *_args, **_kwargs) return val def SetMinSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetMinSize,(self,) + _args, _kwargs) - return val - def SetItemMinSizeWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizeWindow,(self,) + _args, _kwargs) - return val - def SetItemMinSizeSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizeSizer,(self,) + _args, _kwargs) - return val - def SetItemMinSizePos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizePos,(self,) + _args, _kwargs) - return val - def SetItemMinSizeWindowWH(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizeWindowWH,(self,) + _args, _kwargs) - return val - def SetItemMinSizeSizerWH(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizeSizerWH,(self,) + _args, _kwargs) - return val - def SetItemMinSizePosWH(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetItemMinSizePosWH,(self,) + _args, _kwargs) + val = sizersc.wxSizer_SetMinSize(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_GetSize,(self,) + _args, _kwargs) + val = sizersc.wxSizer_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetPosition(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_GetPosition,(self,) + _args, _kwargs) + val = sizersc.wxSizer_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetMinSize(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_GetMinSize,(self,) + _args, _kwargs) + val = sizersc.wxSizer_GetMinSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def Layout(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_Layout,(self,) + _args, _kwargs) + val = sizersc.wxSizer_Layout(self, *_args, **_kwargs) return val def Fit(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_Fit,(self,) + _args, _kwargs) + val = sizersc.wxSizer_Fit(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def FitInside(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_FitInside,(self,) + _args, _kwargs) + val = sizersc.wxSizer_FitInside(self, *_args, **_kwargs) return val def SetSizeHints(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetSizeHints,(self,) + _args, _kwargs) + val = sizersc.wxSizer_SetSizeHints(self, *_args, **_kwargs) return val def SetVirtualSizeHints(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetVirtualSizeHints,(self,) + _args, _kwargs) - return val - def GetChildren(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_GetChildren,(self,) + _args, _kwargs) - return val - def SetDimension(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_SetDimension,(self,) + _args, _kwargs) - return val - def ShowWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_ShowWindow,(self,) + _args, _kwargs) + val = sizersc.wxSizer_SetVirtualSizeHints(self, *_args, **_kwargs) return val - def ShowSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_ShowSizer,(self,) + _args, _kwargs) - return val - def ShowPos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_ShowPos,(self,) + _args, _kwargs) - return val - def HideWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_HideWindow,(self,) + _args, _kwargs) + def Clear(self, *_args, **_kwargs): + val = sizersc.wxSizer_Clear(self, *_args, **_kwargs) return val - def HideSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_HideSizer,(self,) + _args, _kwargs) + def DeleteWindows(self, *_args, **_kwargs): + val = sizersc.wxSizer_DeleteWindows(self, *_args, **_kwargs) return val - def HidePos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_HidePos,(self,) + _args, _kwargs) + def GetChildren(self, *_args, **_kwargs): + val = sizersc.wxSizer_GetChildren(self, *_args, **_kwargs) return val - def IsShownWindow(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_IsShownWindow,(self,) + _args, _kwargs) + def Show(self, *_args, **_kwargs): + val = sizersc.wxSizer_Show(self, *_args, **_kwargs) return val - def IsShownSizer(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_IsShownSizer,(self,) + _args, _kwargs) + def Hide(self, *_args, **_kwargs): + val = sizersc.wxSizer_Hide(self, *_args, **_kwargs) return val - def IsShownPos(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_IsShownPos,(self,) + _args, _kwargs) + def IsShown(self, *_args, **_kwargs): + val = sizersc.wxSizer_IsShown(self, *_args, **_kwargs) return val def ShowItems(self, *_args, **_kwargs): - val = apply(sizersc.wxSizer_ShowItems,(self,) + _args, _kwargs) + val = sizersc.wxSizer_ShowItems(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) - def Add(self, *args, **kw): - if type(args[0]) == type(1): - apply(self.AddSpacer, args, kw) - elif isinstance(args[0], wxSizerPtr): - apply(self.AddSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - apply(self.AddWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Insert(self, *args, **kw): - if type(args[1]) == type(1): - apply(self.InsertSpacer, args, kw) - elif isinstance(args[1], wxSizerPtr): - apply(self.InsertSizer, args, kw) - elif isinstance(args[1], wxWindowPtr): - apply(self.InsertWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Prepend(self, *args, **kw): - if type(args[0]) == type(1): - apply(self.PrependSpacer, args, kw) - elif isinstance(args[0], wxSizerPtr): - apply(self.PrependSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - apply(self.PrependWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Remove(self, *args, **kw): - if type(args[0]) == type(1): - return apply(self.RemovePos, args, kw) - elif isinstance(args[0], wxSizerPtr): - return apply(self.RemoveSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - return apply(self.RemoveWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Detach(self, *args, **kw): - if type(args[0]) == type(1): - return apply(self.DetachPos, args, kw) - elif isinstance(args[0], wxSizerPtr): - return apply(self.DetachSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - return apply(self.DetachWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' + def Add(self, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Add(item, *args, **kw) def AddMany(self, widgets): for childinfo in widgets: if type(childinfo) != type(()): childinfo = (childinfo, ) - apply(self.Add, childinfo) + self.Add(*childinfo) - - def SetItemMinSize(self, *args): - if type(args[0]) == type(1): - apply(self.SetItemMinSizePos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.SetItemMinSizeSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.SetItemMinSizeWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def SetItemMinSizeWH(self, *args): - if type(args[0]) == type(1): - apply(self.SetItemMinSizePosWH, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.SetItemMinSizeSizerWH, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.SetItemMinSizeWindowWH, args) + def Prepend(self, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Prepend(item, *args, **kw) + + def Insert(self, before, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Insert(before, item, *args, **kw) + + + # for backwards compatibility only + AddWindow = AddSizer = AddSpacer = Add + PrependWindow = PrependSizer = PrependSpacer = Prepend + InsertWindow = InsertSizer = InsertSpacer = Insert + RemoveWindow = RemoveSizer = RemovePos = Remove + + + def SetItemMinSize(self, item, *args): + if len(args) == 2: + return self._SetItemMinSize(item, args) else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - + return self._SetItemMinSize(item, args[0]) + + def GetSizeTuple(self): return self.GetSize().asTuple() @@ -359,37 +255,6 @@ class wxSizerPtr(wxObjectPtr): def GetMinSizeTuple(self): return self.GetMinSize().asTuple() - - def Show(self, *args): - if type(args[0]) == type(1): - apply(self.ShowPos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.ShowSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.ShowWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Hide(self, *args): - if type(args[0]) == type(1): - apply(self.HidePos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.HideSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.HideWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def IsShown(self, *args): - if type(args[0]) == type(1): - return apply(self.IsShownPos, args) - elif isinstance(args[0], wxSizerPtr): - return apply(self.IsShownSizer, args) - elif isinstance(args[0], wxWindowPtr): - return apply(self.IsShownWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - class wxSizer(wxSizerPtr): def __init__(self,this): self.this = this @@ -402,13 +267,13 @@ class wxPySizerPtr(wxSizerPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(sizersc.wxPySizer__setCallbackInfo,(self,) + _args, _kwargs) + val = sizersc.wxPySizer__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPySizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPySizer(wxPySizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxPySizer,_args,_kwargs) + self.this = sizersc.new_wxPySizer(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPySizer) self._setOORInfo(self) @@ -421,23 +286,23 @@ class wxBoxSizerPtr(wxSizerPtr): self.this = this self.thisown = 0 def GetOrientation(self, *_args, **_kwargs): - val = apply(sizersc.wxBoxSizer_GetOrientation,(self,) + _args, _kwargs) + val = sizersc.wxBoxSizer_GetOrientation(self, *_args, **_kwargs) return val def SetOrientation(self, *_args, **_kwargs): - val = apply(sizersc.wxBoxSizer_SetOrientation,(self,) + _args, _kwargs) + val = sizersc.wxBoxSizer_SetOrientation(self, *_args, **_kwargs) return val def RecalcSizes(self, *_args, **_kwargs): - val = apply(sizersc.wxBoxSizer_RecalcSizes,(self,) + _args, _kwargs) + val = sizersc.wxBoxSizer_RecalcSizes(self, *_args, **_kwargs) return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxBoxSizer_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxBoxSizer_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxBoxSizer(wxBoxSizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxBoxSizer,_args,_kwargs) + self.this = sizersc.new_wxBoxSizer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -449,20 +314,20 @@ class wxStaticBoxSizerPtr(wxBoxSizerPtr): self.this = this self.thisown = 0 def GetStaticBox(self, *_args, **_kwargs): - val = apply(sizersc.wxStaticBoxSizer_GetStaticBox,(self,) + _args, _kwargs) + val = sizersc.wxStaticBoxSizer_GetStaticBox(self, *_args, **_kwargs) return val def RecalcSizes(self, *_args, **_kwargs): - val = apply(sizersc.wxStaticBoxSizer_RecalcSizes,(self,) + _args, _kwargs) + val = sizersc.wxStaticBoxSizer_RecalcSizes(self, *_args, **_kwargs) return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxStaticBoxSizer_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxStaticBoxSizer_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStaticBoxSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStaticBoxSizer(wxStaticBoxSizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxStaticBoxSizer,_args,_kwargs) + self.this = sizersc.new_wxStaticBoxSizer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -474,20 +339,20 @@ class wxNotebookSizerPtr(wxSizerPtr): self.this = this self.thisown = 0 def RecalcSizes(self, *_args, **_kwargs): - val = apply(sizersc.wxNotebookSizer_RecalcSizes,(self,) + _args, _kwargs) + val = sizersc.wxNotebookSizer_RecalcSizes(self, *_args, **_kwargs) return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxNotebookSizer_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxNotebookSizer_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetNotebook(self, *_args, **_kwargs): - val = apply(sizersc.wxNotebookSizer_GetNotebook,(self,) + _args, _kwargs) + val = sizersc.wxNotebookSizer_GetNotebook(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNotebookSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNotebookSizer(wxNotebookSizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxNotebookSizer,_args,_kwargs) + self.this = sizersc.new_wxNotebookSizer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -499,41 +364,41 @@ class wxGridSizerPtr(wxSizerPtr): self.this = this self.thisown = 0 def RecalcSizes(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_RecalcSizes,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_RecalcSizes(self, *_args, **_kwargs) return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetCols(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_SetCols,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_SetCols(self, *_args, **_kwargs) return val def SetRows(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_SetRows,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_SetRows(self, *_args, **_kwargs) return val def SetVGap(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_SetVGap,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_SetVGap(self, *_args, **_kwargs) return val def SetHGap(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_SetHGap,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_SetHGap(self, *_args, **_kwargs) return val def GetCols(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_GetCols,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_GetCols(self, *_args, **_kwargs) return val def GetRows(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_GetRows,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_GetRows(self, *_args, **_kwargs) return val def GetVGap(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_GetVGap,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_GetVGap(self, *_args, **_kwargs) return val def GetHGap(self, *_args, **_kwargs): - val = apply(sizersc.wxGridSizer_GetHGap,(self,) + _args, _kwargs) + val = sizersc.wxGridSizer_GetHGap(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxGridSizer(wxGridSizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxGridSizer,_args,_kwargs) + self.this = sizersc.new_wxGridSizer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -545,41 +410,41 @@ class wxFlexGridSizerPtr(wxGridSizerPtr): self.this = this self.thisown = 0 def RecalcSizes(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_RecalcSizes,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_RecalcSizes(self, *_args, **_kwargs) return val def CalcMin(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_CalcMin,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_CalcMin(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def AddGrowableRow(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_AddGrowableRow,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_AddGrowableRow(self, *_args, **_kwargs) return val def RemoveGrowableRow(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_RemoveGrowableRow,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_RemoveGrowableRow(self, *_args, **_kwargs) return val def AddGrowableCol(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_AddGrowableCol,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_AddGrowableCol(self, *_args, **_kwargs) return val def RemoveGrowableCol(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_RemoveGrowableCol,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_RemoveGrowableCol(self, *_args, **_kwargs) return val def SetFlexibleDirection(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_SetFlexibleDirection,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_SetFlexibleDirection(self, *_args, **_kwargs) return val def GetFlexibleDirection(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_GetFlexibleDirection,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_GetFlexibleDirection(self, *_args, **_kwargs) return val def SetNonFlexibleGrowMode(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_SetNonFlexibleGrowMode,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_SetNonFlexibleGrowMode(self, *_args, **_kwargs) return val def GetNonFlexibleGrowMode(self, *_args, **_kwargs): - val = apply(sizersc.wxFlexGridSizer_GetNonFlexibleGrowMode,(self,) + _args, _kwargs) + val = sizersc.wxFlexGridSizer_GetNonFlexibleGrowMode(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFlexGridSizer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFlexGridSizer(wxFlexGridSizerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(sizersc.new_wxFlexGridSizer,_args,_kwargs) + self.this = sizersc.new_wxFlexGridSizer(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) diff --git a/wxPython/src/gtk/stattool.py b/wxPython/src/gtk/stattool.py index 0c74eee1b4..78a95dbfcd 100644 --- a/wxPython/src/gtk/stattool.py +++ b/wxPython/src/gtk/stattool.py @@ -21,54 +21,54 @@ class wxStatusBarPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_Create,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_Create(self, *_args, **_kwargs) return val def GetFieldRect(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_GetFieldRect,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_GetFieldRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def GetFieldsCount(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_GetFieldsCount,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_GetFieldsCount(self, *_args, **_kwargs) return val def GetStatusText(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_GetStatusText,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_GetStatusText(self, *_args, **_kwargs) return val def GetBorderX(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_GetBorderX,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_GetBorderX(self, *_args, **_kwargs) return val def GetBorderY(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_GetBorderY,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_GetBorderY(self, *_args, **_kwargs) return val def SetFieldsCount(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_SetFieldsCount,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_SetFieldsCount(self, *_args, **_kwargs) return val def SetStatusText(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_SetStatusText,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_SetStatusText(self, *_args, **_kwargs) return val def SetStatusWidths(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_SetStatusWidths,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_SetStatusWidths(self, *_args, **_kwargs) return val def PushStatusText(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_PushStatusText,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_PushStatusText(self, *_args, **_kwargs) return val def PopStatusText(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_PopStatusText,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_PopStatusText(self, *_args, **_kwargs) return val def SetMinHeight(self, *_args, **_kwargs): - val = apply(stattoolc.wxStatusBar_SetMinHeight,(self,) + _args, _kwargs) + val = stattoolc.wxStatusBar_SetMinHeight(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxStatusBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxStatusBar(wxStatusBarPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stattoolc.new_wxStatusBar,_args,_kwargs) + self.this = stattoolc.new_wxStatusBar(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreStatusBar(*_args,**_kwargs): - val = wxStatusBarPtr(apply(stattoolc.new_wxPreStatusBar,_args,_kwargs)) + val = wxStatusBarPtr(stattoolc.new_wxPreStatusBar(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -79,100 +79,100 @@ class wxToolBarToolBasePtr(wxObjectPtr): self.this = this self.thisown = 0 def Destroy(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_Destroy,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_Destroy(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetId,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetId(self, *_args, **_kwargs) return val def GetControl(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetControl,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetControl(self, *_args, **_kwargs) return val def GetToolBar(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetToolBar,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetToolBar(self, *_args, **_kwargs) return val def IsButton(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_IsButton,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_IsButton(self, *_args, **_kwargs) return val def IsControl(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_IsControl,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_IsControl(self, *_args, **_kwargs) return val def IsSeparator(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_IsSeparator,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_IsSeparator(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetStyle,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetStyle(self, *_args, **_kwargs) return val def GetKind(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetKind,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetKind(self, *_args, **_kwargs) return val def IsEnabled(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_IsEnabled,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_IsEnabled(self, *_args, **_kwargs) return val def IsToggled(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_IsToggled,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_IsToggled(self, *_args, **_kwargs) return val def CanBeToggled(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_CanBeToggled,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_CanBeToggled(self, *_args, **_kwargs) return val def GetNormalBitmap(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetNormalBitmap,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetNormalBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def GetDisabledBitmap(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetDisabledBitmap,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetDisabledBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetBitmap,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def GetLabel(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetLabel,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetLabel(self, *_args, **_kwargs) return val def GetShortHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetShortHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetShortHelp(self, *_args, **_kwargs) return val def GetLongHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetLongHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetLongHelp(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_Enable,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_Enable(self, *_args, **_kwargs) return val def Toggle(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_Toggle,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_Toggle(self, *_args, **_kwargs) return val def SetToggle(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetToggle,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetToggle(self, *_args, **_kwargs) return val def SetShortHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetShortHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetShortHelp(self, *_args, **_kwargs) return val def SetLongHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetLongHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetLongHelp(self, *_args, **_kwargs) return val def SetNormalBitmap(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetNormalBitmap,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetNormalBitmap(self, *_args, **_kwargs) return val def SetDisabledBitmap(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetDisabledBitmap,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetDisabledBitmap(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetLabel,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetLabel(self, *_args, **_kwargs) return val def Detach(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_Detach,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_Detach(self, *_args, **_kwargs) return val def Attach(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_Attach,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_Attach(self, *_args, **_kwargs) return val def GetClientData(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_GetClientData,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_GetClientData(self, *_args, **_kwargs) return val def SetClientData(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarToolBase_SetClientData,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarToolBase_SetClientData(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToolBarToolBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) GetBitmap1 = GetNormalBitmap GetBitmap2 = GetDisabledBitmap @@ -191,131 +191,131 @@ class wxToolBarBasePtr(wxControlPtr): self.this = this self.thisown = 0 def DoAddTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_DoAddTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_DoAddTool(self, *_args, **_kwargs) return val def DoInsertTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_DoInsertTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_DoInsertTool(self, *_args, **_kwargs) return val def AddControl(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_AddControl,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_AddControl(self, *_args, **_kwargs) return val def InsertControl(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_InsertControl,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_InsertControl(self, *_args, **_kwargs) return val def FindControl(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_FindControl,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_FindControl(self, *_args, **_kwargs) return val def AddSeparator(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_AddSeparator,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_AddSeparator(self, *_args, **_kwargs) return val def InsertSeparator(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_InsertSeparator,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_InsertSeparator(self, *_args, **_kwargs) return val def RemoveTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_RemoveTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_RemoveTool(self, *_args, **_kwargs) return val def DeleteToolByPos(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_DeleteToolByPos,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_DeleteToolByPos(self, *_args, **_kwargs) return val def DeleteTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_DeleteTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_DeleteTool(self, *_args, **_kwargs) return val def ClearTools(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_ClearTools,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_ClearTools(self, *_args, **_kwargs) return val def Realize(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_Realize,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_Realize(self, *_args, **_kwargs) return val def EnableTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_EnableTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_EnableTool(self, *_args, **_kwargs) return val def ToggleTool(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_ToggleTool,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_ToggleTool(self, *_args, **_kwargs) return val def SetToggle(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToggle,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToggle(self, *_args, **_kwargs) return val def GetToolClientData(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolClientData,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolClientData(self, *_args, **_kwargs) return val def SetToolClientData(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolClientData,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolClientData(self, *_args, **_kwargs) return val def GetToolState(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolState,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolState(self, *_args, **_kwargs) return val def GetToolEnabled(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolEnabled,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolEnabled(self, *_args, **_kwargs) return val def SetToolShortHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolShortHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolShortHelp(self, *_args, **_kwargs) return val def GetToolShortHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolShortHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolShortHelp(self, *_args, **_kwargs) return val def SetToolLongHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolLongHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolLongHelp(self, *_args, **_kwargs) return val def GetToolLongHelp(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolLongHelp,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolLongHelp(self, *_args, **_kwargs) return val def SetMarginsXY(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetMarginsXY,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetMarginsXY(self, *_args, **_kwargs) return val def SetMargins(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetMargins,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetMargins(self, *_args, **_kwargs) return val def SetToolPacking(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolPacking,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolPacking(self, *_args, **_kwargs) return val def SetToolSeparation(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolSeparation,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolSeparation(self, *_args, **_kwargs) return val def GetToolMargins(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolMargins,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolMargins(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetMargins(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetMargins,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetMargins(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetToolPacking(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolPacking,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolPacking(self, *_args, **_kwargs) return val def GetToolSeparation(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolSeparation,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolSeparation(self, *_args, **_kwargs) return val def SetRows(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetRows,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetRows(self, *_args, **_kwargs) return val def SetMaxRowsCols(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetMaxRowsCols,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetMaxRowsCols(self, *_args, **_kwargs) return val def GetMaxRows(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetMaxRows,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetMaxRows(self, *_args, **_kwargs) return val def GetMaxCols(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetMaxCols,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetMaxCols(self, *_args, **_kwargs) return val def SetToolBitmapSize(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_SetToolBitmapSize,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_SetToolBitmapSize(self, *_args, **_kwargs) return val def GetToolBitmapSize(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolBitmapSize,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolBitmapSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetToolSize(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_GetToolSize,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_GetToolSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def FindToolForPosition(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_FindToolForPosition,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_FindToolForPosition(self, *_args, **_kwargs) return val def IsVertical(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarBase_IsVertical,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarBase_IsVertical(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToolBarBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) # These match the original Add methods for this class, kept for # backwards compatibility with versions < 2.3.3. @@ -452,23 +452,23 @@ class wxToolBarPtr(wxToolBarBasePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBar_Create,(self,) + _args, _kwargs) + val = stattoolc.wxToolBar_Create(self, *_args, **_kwargs) return val def FindToolForPosition(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBar_FindToolForPosition,(self,) + _args, _kwargs) + val = stattoolc.wxToolBar_FindToolForPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToolBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxToolBar(wxToolBarPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stattoolc.new_wxToolBar,_args,_kwargs) + self.this = stattoolc.new_wxToolBar(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreToolBar(*_args,**_kwargs): - val = wxToolBarPtr(apply(stattoolc.new_wxPreToolBar,_args,_kwargs)) + val = wxToolBarPtr(stattoolc.new_wxPreToolBar(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -479,23 +479,23 @@ class wxToolBarSimplePtr(wxToolBarBasePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarSimple_Create,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarSimple_Create(self, *_args, **_kwargs) return val def FindToolForPosition(self, *_args, **_kwargs): - val = apply(stattoolc.wxToolBarSimple_FindToolForPosition,(self,) + _args, _kwargs) + val = stattoolc.wxToolBarSimple_FindToolForPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxToolBarSimple instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxToolBarSimple(wxToolBarSimplePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(stattoolc.new_wxToolBarSimple,_args,_kwargs) + self.this = stattoolc.new_wxToolBarSimple(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreToolBarSimple(*_args,**_kwargs): - val = wxToolBarSimplePtr(apply(stattoolc.new_wxPreToolBarSimple,_args,_kwargs)) + val = wxToolBarSimplePtr(stattoolc.new_wxPreToolBarSimple(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/streams.py b/wxPython/src/gtk/streams.py index d2a8b18800..5104c86c7d 100644 --- a/wxPython/src/gtk/streams.py +++ b/wxPython/src/gtk/streams.py @@ -6,58 +6,58 @@ class wxInputStreamPtr : self.this = this self.thisown = 0 def close(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_close,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_close(self, *_args, **_kwargs) return val def flush(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_flush,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_flush(self, *_args, **_kwargs) return val def eof(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_eof,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_eof(self, *_args, **_kwargs) return val def read(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_read,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_read(self, *_args, **_kwargs) return val def readline(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_readline,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_readline(self, *_args, **_kwargs) return val def readlines(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_readlines,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_readlines(self, *_args, **_kwargs) return val def seek(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_seek,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_seek(self, *_args, **_kwargs) return val def tell(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_tell,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_tell(self, *_args, **_kwargs) return val def Peek(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_Peek,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_Peek(self, *_args, **_kwargs) return val def GetC(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_GetC,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_GetC(self, *_args, **_kwargs) return val def LastRead(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_LastRead,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_LastRead(self, *_args, **_kwargs) return val def CanRead(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_CanRead,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_CanRead(self, *_args, **_kwargs) return val def Eof(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_Eof,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_Eof(self, *_args, **_kwargs) return val def Ungetch(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_Ungetch,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_Ungetch(self, *_args, **_kwargs) return val def SeekI(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_SeekI,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_SeekI(self, *_args, **_kwargs) return val def TellI(self, *_args, **_kwargs): - val = apply(streamsc.wxInputStream_TellI,(self,) + _args, _kwargs) + val = streamsc.wxInputStream_TellI(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxInputStream instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxInputStream(wxInputStreamPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(streamsc.new_wxInputStream,_args,_kwargs) + self.this = streamsc.new_wxInputStream(*_args,**_kwargs) self.thisown = 1 @@ -68,10 +68,10 @@ class wxOutputStreamPtr : self.this = this self.thisown = 0 def write(self, *_args, **_kwargs): - val = apply(streamsc.wxOutputStream_write,(self,) + _args, _kwargs) + val = streamsc.wxOutputStream_write(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxOutputStream instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxOutputStream(wxOutputStreamPtr): def __init__(self,this): self.this = this diff --git a/wxPython/src/gtk/utils.py b/wxPython/src/gtk/utils.py index 5dc18f722d..c7c8da8ad2 100644 --- a/wxPython/src/gtk/utils.py +++ b/wxPython/src/gtk/utils.py @@ -17,118 +17,118 @@ class wxConfigBasePtr : except: pass def DeleteAll(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_DeleteAll,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_DeleteAll(self, *_args, **_kwargs) return val def DeleteEntry(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_DeleteEntry,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_DeleteEntry(self, *_args, **_kwargs) return val def DeleteGroup(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_DeleteGroup,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_DeleteGroup(self, *_args, **_kwargs) return val def Exists(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Exists,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_Exists(self, *_args, **_kwargs) return val def Flush(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Flush,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_Flush(self, *_args, **_kwargs) return val def GetAppName(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetAppName,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetAppName(self, *_args, **_kwargs) return val def GetFirstGroup(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetFirstGroup,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetFirstGroup(self, *_args, **_kwargs) return val def GetFirstEntry(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetFirstEntry,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetFirstEntry(self, *_args, **_kwargs) return val def GetNextGroup(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetNextGroup,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetNextGroup(self, *_args, **_kwargs) return val def GetNextEntry(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetNextEntry,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetNextEntry(self, *_args, **_kwargs) return val def GetNumberOfEntries(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetNumberOfEntries,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetNumberOfEntries(self, *_args, **_kwargs) return val def GetNumberOfGroups(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetNumberOfGroups,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetNumberOfGroups(self, *_args, **_kwargs) return val def GetPath(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetPath,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetPath(self, *_args, **_kwargs) return val def GetVendorName(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetVendorName,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetVendorName(self, *_args, **_kwargs) return val def HasEntry(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_HasEntry,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_HasEntry(self, *_args, **_kwargs) return val def HasGroup(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_HasGroup,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_HasGroup(self, *_args, **_kwargs) return val def IsExpandingEnvVars(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_IsExpandingEnvVars,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_IsExpandingEnvVars(self, *_args, **_kwargs) return val def IsRecordingDefaults(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_IsRecordingDefaults,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_IsRecordingDefaults(self, *_args, **_kwargs) return val def Read(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Read,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_Read(self, *_args, **_kwargs) return val def ReadInt(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_ReadInt,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_ReadInt(self, *_args, **_kwargs) return val def ReadFloat(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_ReadFloat,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_ReadFloat(self, *_args, **_kwargs) return val def ReadBool(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_ReadBool,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_ReadBool(self, *_args, **_kwargs) return val def SetExpandEnvVars(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetExpandEnvVars,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetExpandEnvVars(self, *_args, **_kwargs) return val def SetPath(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetPath,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetPath(self, *_args, **_kwargs) return val def SetRecordDefaults(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetRecordDefaults,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetRecordDefaults(self, *_args, **_kwargs) return val def SetAppName(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetAppName,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetAppName(self, *_args, **_kwargs) return val def SetVendorName(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetVendorName,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetVendorName(self, *_args, **_kwargs) return val def SetStyle(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_SetStyle,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_SetStyle(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetStyle,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetStyle(self, *_args, **_kwargs) return val def Write(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Write,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_Write(self, *_args, **_kwargs) return val def WriteInt(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_WriteInt,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_WriteInt(self, *_args, **_kwargs) return val def WriteFloat(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_WriteFloat,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_WriteFloat(self, *_args, **_kwargs) return val def WriteBool(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_WriteBool,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_WriteBool(self, *_args, **_kwargs) return val def GetEntryType(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_GetEntryType,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_GetEntryType(self, *_args, **_kwargs) return val def RenameEntry(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_RenameEntry,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_RenameEntry(self, *_args, **_kwargs) return val def RenameGroup(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_RenameGroup,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_RenameGroup(self, *_args, **_kwargs) return val def ExpandEnvVars(self, *_args, **_kwargs): - val = apply(utilsc.wxConfigBase_ExpandEnvVars,(self,) + _args, _kwargs) + val = utilsc.wxConfigBase_ExpandEnvVars(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxConfigBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxConfigBase(wxConfigBasePtr): def __init__(self,this): self.this = this @@ -147,10 +147,10 @@ class wxConfigPtr(wxConfigBasePtr): except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxConfig instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxConfig(wxConfigPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(utilsc.new_wxConfig,_args,_kwargs) + self.this = utilsc.new_wxConfig(*_args,**_kwargs) self.thisown = 1 @@ -167,10 +167,10 @@ class wxFileConfigPtr(wxConfigBasePtr): except: pass def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxFileConfig instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxFileConfig(wxFileConfigPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(utilsc.new_wxFileConfig,_args,_kwargs) + self.this = utilsc.new_wxFileConfig(*_args,**_kwargs) self.thisown = 1 @@ -278,289 +278,289 @@ class wxDateTimePtr : except: pass def SetToCurrent(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToCurrent,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToCurrent(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetTimeT(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetTimeT,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetTimeT(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetJDN(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetJDN,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetJDN(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetHMS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetHMS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetHMS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def Set(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_Set,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_Set(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def ResetTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ResetTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ResetTime(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetYear(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetYear,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetYear(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetMonth(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetMonth,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetMonth(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetHour(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetHour,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetHour(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetMinute(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetMinute,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetMinute(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetSecond(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetSecond,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetSecond(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetMillisecond(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetMillisecond,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetMillisecond(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SetToWeekDayInSameWeek(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToWeekDayInSameWeek,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToWeekDayInSameWeek(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetWeekDayInSameWeek(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetWeekDayInSameWeek,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetWeekDayInSameWeek(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToNextWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToNextWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToNextWeekDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetNextWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetNextWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetNextWeekDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToPrevWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToPrevWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToPrevWeekDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetPrevWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetPrevWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetPrevWeekDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToWeekDay(self, *_args, **_kwargs) return val def SetToLastWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToLastWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToLastWeekDay(self, *_args, **_kwargs) return val def GetLastWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetLastWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetLastWeekDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToTheWeek(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToTheWeek,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToTheWeek(self, *_args, **_kwargs) return val def GetWeek(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetWeek,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetWeek(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToLastMonthDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToLastMonthDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToLastMonthDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetLastMonthDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetLastMonthDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetLastMonthDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def SetToYearDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SetToYearDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SetToYearDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def GetYearDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetYearDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetYearDay(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def GetJulianDayNumber(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetJulianDayNumber,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetJulianDayNumber(self, *_args, **_kwargs) return val def GetJDN(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetJDN,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetJDN(self, *_args, **_kwargs) return val def GetModifiedJulianDayNumber(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetModifiedJulianDayNumber,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetModifiedJulianDayNumber(self, *_args, **_kwargs) return val def GetMJD(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetMJD,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetMJD(self, *_args, **_kwargs) return val def GetRataDie(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetRataDie,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetRataDie(self, *_args, **_kwargs) return val def ToTimezone(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ToTimezone,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ToTimezone(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def MakeTimezone(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_MakeTimezone,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_MakeTimezone(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def ToGMT(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ToGMT,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ToGMT(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def MakeGMT(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_MakeGMT,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_MakeGMT(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def IsDST(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsDST,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsDST(self, *_args, **_kwargs) return val def IsValid(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsValid,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsValid(self, *_args, **_kwargs) return val def GetTicks(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetTicks,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetTicks(self, *_args, **_kwargs) return val def GetYear(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetYear,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetYear(self, *_args, **_kwargs) return val def GetMonth(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetMonth,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetMonth(self, *_args, **_kwargs) return val def GetDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetDay(self, *_args, **_kwargs) return val def GetWeekDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetWeekDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetWeekDay(self, *_args, **_kwargs) return val def GetHour(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetHour,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetHour(self, *_args, **_kwargs) return val def GetMinute(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetMinute,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetMinute(self, *_args, **_kwargs) return val def GetSecond(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetSecond,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetSecond(self, *_args, **_kwargs) return val def GetMillisecond(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetMillisecond,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetMillisecond(self, *_args, **_kwargs) return val def GetDayOfYear(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetDayOfYear,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetDayOfYear(self, *_args, **_kwargs) return val def GetWeekOfYear(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetWeekOfYear,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetWeekOfYear(self, *_args, **_kwargs) return val def GetWeekOfMonth(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetWeekOfMonth,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_GetWeekOfMonth(self, *_args, **_kwargs) return val def IsWorkDay(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsWorkDay,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsWorkDay(self, *_args, **_kwargs) return val def IsEqualTo(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsEqualTo,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsEqualTo(self, *_args, **_kwargs) return val def IsEarlierThan(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsEarlierThan,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsEarlierThan(self, *_args, **_kwargs) return val def IsLaterThan(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsLaterThan,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsLaterThan(self, *_args, **_kwargs) return val def IsStrictlyBetween(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsStrictlyBetween,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsStrictlyBetween(self, *_args, **_kwargs) return val def IsBetween(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsBetween,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsBetween(self, *_args, **_kwargs) return val def IsSameDate(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsSameDate,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsSameDate(self, *_args, **_kwargs) return val def IsSameTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsSameTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsSameTime(self, *_args, **_kwargs) return val def IsEqualUpTo(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_IsEqualUpTo,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_IsEqualUpTo(self, *_args, **_kwargs) return val def AddTS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_AddTS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_AddTS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def AddDS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_AddDS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_AddDS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SubtractTS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SubtractTS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SubtractTS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def SubtractDS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_SubtractDS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_SubtractDS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) return val def Subtract(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_Subtract,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_Subtract(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __add__TS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___add__TS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___add__TS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def __add__DS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___add__DS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___add__DS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def __sub__DT(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___sub__DT,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___sub__DT(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __sub__TS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___sub__TS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___sub__TS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def __sub__DS(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___sub__DS,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___sub__DS(self, *_args, **_kwargs) if val: val = wxDateTimePtr(val) ; val.thisown = 1 return val def __cmp__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime___cmp__,(self,) + _args, _kwargs) + val = utilsc.wxDateTime___cmp__(self, *_args, **_kwargs) return val def ParseRfc822Date(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ParseRfc822Date,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ParseRfc822Date(self, *_args, **_kwargs) return val def ParseFormat(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ParseFormat,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ParseFormat(self, *_args, **_kwargs) return val def ParseDateTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ParseDateTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ParseDateTime(self, *_args, **_kwargs) return val def ParseDate(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ParseDate,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ParseDate(self, *_args, **_kwargs) return val def ParseTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_ParseTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_ParseTime(self, *_args, **_kwargs) return val def Format(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_Format,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_Format(self, *_args, **_kwargs) return val def FormatDate(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_FormatDate,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_FormatDate(self, *_args, **_kwargs) return val def FormatTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_FormatTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_FormatTime(self, *_args, **_kwargs) return val def FormatISODate(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_FormatISODate,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_FormatISODate(self, *_args, **_kwargs) return val def FormatISOTime(self, *_args, **_kwargs): - val = apply(utilsc.wxDateTime_FormatISOTime,(self,) + _args, _kwargs) + val = utilsc.wxDateTime_FormatISOTime(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDateTime instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) def __add__(self, other): if isinstance(other, wxTimeSpanPtr): @@ -585,28 +585,28 @@ class wxDateTimePtr : class wxDateTime(wxDateTimePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(utilsc.new_wxDateTime,_args,_kwargs) + self.this = utilsc.new_wxDateTime(*_args,**_kwargs) self.thisown = 1 def wxDateTimeFromTimeT(*_args,**_kwargs): - val = wxDateTimePtr(apply(utilsc.new_wxDateTimeFromTimeT,_args,_kwargs)) + val = wxDateTimePtr(utilsc.new_wxDateTimeFromTimeT(*_args,**_kwargs)) val.thisown = 1 return val def wxDateTimeFromJDN(*_args,**_kwargs): - val = wxDateTimePtr(apply(utilsc.new_wxDateTimeFromJDN,_args,_kwargs)) + val = wxDateTimePtr(utilsc.new_wxDateTimeFromJDN(*_args,**_kwargs)) val.thisown = 1 return val def wxDateTimeFromHMS(*_args,**_kwargs): - val = wxDateTimePtr(apply(utilsc.new_wxDateTimeFromHMS,_args,_kwargs)) + val = wxDateTimePtr(utilsc.new_wxDateTimeFromHMS(*_args,**_kwargs)) val.thisown = 1 return val def wxDateTimeFromDMY(*_args,**_kwargs): - val = wxDateTimePtr(apply(utilsc.new_wxDateTimeFromDMY,_args,_kwargs)) + val = wxDateTimePtr(utilsc.new_wxDateTimeFromDMY(*_args,**_kwargs)) val.thisown = 1 return val @@ -622,92 +622,92 @@ class wxTimeSpanPtr : except: pass def Add(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Add,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Add(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) return val def Subtract(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Subtract,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Subtract(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) return val def Multiply(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Multiply,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Multiply(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) return val def Neg(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Neg,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Neg(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) return val def Abs(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Abs,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Abs(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __add__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___add__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___add__(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __sub__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___sub__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___sub__(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __mul__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___mul__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___mul__(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __rmul__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___rmul__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___rmul__(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __neg__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___neg__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___neg__(self, *_args, **_kwargs) if val: val = wxTimeSpanPtr(val) ; val.thisown = 1 return val def __cmp__(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan___cmp__,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan___cmp__(self, *_args, **_kwargs) return val def IsNull(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsNull,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsNull(self, *_args, **_kwargs) return val def IsPositive(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsPositive,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsPositive(self, *_args, **_kwargs) return val def IsNegative(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsNegative,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsNegative(self, *_args, **_kwargs) return val def IsEqualTo(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsEqualTo,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsEqualTo(self, *_args, **_kwargs) return val def IsLongerThan(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsLongerThan,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsLongerThan(self, *_args, **_kwargs) return val def IsShorterThan(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_IsShorterThan,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_IsShorterThan(self, *_args, **_kwargs) return val def GetWeeks(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetWeeks,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetWeeks(self, *_args, **_kwargs) return val def GetDays(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetDays,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetDays(self, *_args, **_kwargs) return val def GetHours(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetHours,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetHours(self, *_args, **_kwargs) return val def GetMinutes(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetMinutes,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetMinutes(self, *_args, **_kwargs) return val def GetSeconds(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetSeconds,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetSeconds(self, *_args, **_kwargs) return val def GetMilliseconds(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_GetMilliseconds,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_GetMilliseconds(self, *_args, **_kwargs) return val def Format(self, *_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Format,(self,) + _args, _kwargs) + val = utilsc.wxTimeSpan_Format(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTimeSpan instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTimeSpan(wxTimeSpanPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(utilsc.new_wxTimeSpan,_args,_kwargs) + self.this = utilsc.new_wxTimeSpan(*_args,**_kwargs) self.thisown = 1 @@ -724,77 +724,77 @@ class wxDateSpanPtr : except: pass def SetYears(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_SetYears,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_SetYears(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def SetMonths(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_SetMonths,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_SetMonths(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def SetWeeks(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_SetWeeks,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_SetWeeks(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def SetDays(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_SetDays,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_SetDays(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def GetYears(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_GetYears,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_GetYears(self, *_args, **_kwargs) return val def GetMonths(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_GetMonths,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_GetMonths(self, *_args, **_kwargs) return val def GetWeeks(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_GetWeeks,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_GetWeeks(self, *_args, **_kwargs) return val def GetDays(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_GetDays,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_GetDays(self, *_args, **_kwargs) return val def GetTotalDays(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_GetTotalDays,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_GetTotalDays(self, *_args, **_kwargs) return val def Add(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Add,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_Add(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def Subtract(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Subtract,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_Subtract(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def Neg(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Neg,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_Neg(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def Multiply(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Multiply,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan_Multiply(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) return val def __add__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan___add__,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan___add__(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) ; val.thisown = 1 return val def __sub__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan___sub__,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan___sub__(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) ; val.thisown = 1 return val def __mul__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan___mul__,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan___mul__(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) ; val.thisown = 1 return val def __rmul__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan___rmul__,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan___rmul__(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) ; val.thisown = 1 return val def __neg__(self, *_args, **_kwargs): - val = apply(utilsc.wxDateSpan___neg__,(self,) + _args, _kwargs) + val = utilsc.wxDateSpan___neg__(self, *_args, **_kwargs) if val: val = wxDateSpanPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxDateSpan instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxDateSpan(wxDateSpanPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(utilsc.new_wxDateSpan,_args,_kwargs) + self.this = utilsc.new_wxDateSpan(*_args,**_kwargs) self.thisown = 1 @@ -813,17 +813,17 @@ wxGetCurrentTime = utilsc.wxGetCurrentTime wxGetLocalTimeMillis = utilsc.wxGetLocalTimeMillis def wxConfigBase_Set(*_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Set,_args,_kwargs) + val = utilsc.wxConfigBase_Set(*_args,**_kwargs) if val: val = wxConfigBasePtr(val) return val def wxConfigBase_Get(*_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Get,_args,_kwargs) + val = utilsc.wxConfigBase_Get(*_args,**_kwargs) if val: val = wxConfigBasePtr(val) return val def wxConfigBase_Create(*_args, **_kwargs): - val = apply(utilsc.wxConfigBase_Create,_args,_kwargs) + val = utilsc.wxConfigBase_Create(*_args,**_kwargs) if val: val = wxConfigBasePtr(val) return val @@ -858,117 +858,117 @@ wxDateTime_GetAmPmStrings = utilsc.wxDateTime_GetAmPmStrings wxDateTime_IsDSTApplicable = utilsc.wxDateTime_IsDSTApplicable def wxDateTime_GetBeginDST(*_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetBeginDST,_args,_kwargs) + val = utilsc.wxDateTime_GetBeginDST(*_args,**_kwargs) if val: val = wxDateTimePtr(val); val.thisown = 1 return val def wxDateTime_GetEndDST(*_args, **_kwargs): - val = apply(utilsc.wxDateTime_GetEndDST,_args,_kwargs) + val = utilsc.wxDateTime_GetEndDST(*_args,**_kwargs) if val: val = wxDateTimePtr(val); val.thisown = 1 return val def wxDateTime_Now(*_args, **_kwargs): - val = apply(utilsc.wxDateTime_Now,_args,_kwargs) + val = utilsc.wxDateTime_Now(*_args,**_kwargs) if val: val = wxDateTimePtr(val); val.thisown = 1 return val def wxDateTime_UNow(*_args, **_kwargs): - val = apply(utilsc.wxDateTime_UNow,_args,_kwargs) + val = utilsc.wxDateTime_UNow(*_args,**_kwargs) if val: val = wxDateTimePtr(val); val.thisown = 1 return val def wxDateTime_Today(*_args, **_kwargs): - val = apply(utilsc.wxDateTime_Today,_args,_kwargs) + val = utilsc.wxDateTime_Today(*_args,**_kwargs) if val: val = wxDateTimePtr(val); val.thisown = 1 return val def wxTimeSpan_Seconds(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Seconds,_args,_kwargs) + val = utilsc.wxTimeSpan_Seconds(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Second(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Second,_args,_kwargs) + val = utilsc.wxTimeSpan_Second(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Minutes(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Minutes,_args,_kwargs) + val = utilsc.wxTimeSpan_Minutes(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Minute(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Minute,_args,_kwargs) + val = utilsc.wxTimeSpan_Minute(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Hours(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Hours,_args,_kwargs) + val = utilsc.wxTimeSpan_Hours(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Hour(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Hour,_args,_kwargs) + val = utilsc.wxTimeSpan_Hour(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Days(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Days,_args,_kwargs) + val = utilsc.wxTimeSpan_Days(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Day(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Day,_args,_kwargs) + val = utilsc.wxTimeSpan_Day(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Weeks(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Weeks,_args,_kwargs) + val = utilsc.wxTimeSpan_Weeks(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxTimeSpan_Week(*_args, **_kwargs): - val = apply(utilsc.wxTimeSpan_Week,_args,_kwargs) + val = utilsc.wxTimeSpan_Week(*_args,**_kwargs) if val: val = wxTimeSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Days(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Days,_args,_kwargs) + val = utilsc.wxDateSpan_Days(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Day(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Day,_args,_kwargs) + val = utilsc.wxDateSpan_Day(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Weeks(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Weeks,_args,_kwargs) + val = utilsc.wxDateSpan_Weeks(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Week(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Week,_args,_kwargs) + val = utilsc.wxDateSpan_Week(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Months(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Months,_args,_kwargs) + val = utilsc.wxDateSpan_Months(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Month(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Month,_args,_kwargs) + val = utilsc.wxDateSpan_Month(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Years(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Years,_args,_kwargs) + val = utilsc.wxDateSpan_Years(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val def wxDateSpan_Year(*_args, **_kwargs): - val = apply(utilsc.wxDateSpan_Year,_args,_kwargs) + val = utilsc.wxDateSpan_Year(*_args,**_kwargs) if val: val = wxDateSpanPtr(val); val.thisown = 1 return val diff --git a/wxPython/src/gtk/windows.cpp b/wxPython/src/gtk/windows.cpp index be97b5e797..4ce68f2e12 100644 --- a/wxPython/src/gtk/windows.cpp +++ b/wxPython/src/gtk/windows.cpp @@ -6640,6 +6640,65 @@ static PyObject *_wrap_wxWindow_HasCapture(PyObject *self, PyObject *args, PyObj return _resultobj; } +#define wxWindow_SetThemeEnabled(_swigobj,_swigarg0) (_swigobj->SetThemeEnabled(_swigarg0)) +static PyObject *_wrap_wxWindow_SetThemeEnabled(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxWindow * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","enable", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxWindow_SetThemeEnabled",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_SetThemeEnabled. Expected _wxWindow_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxWindow_SetThemeEnabled(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxWindow_GetThemeEnabled(_swigobj) (_swigobj->GetThemeEnabled()) +static PyObject *_wrap_wxWindow_GetThemeEnabled(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxWindow * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxWindow_GetThemeEnabled",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_GetThemeEnabled. Expected _wxWindow_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxWindow_GetThemeEnabled(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + static void *SwigwxPanelTowxWindow(void *ptr) { wxPanel *src; wxWindow *dest; @@ -10638,6 +10697,43 @@ static PyObject *_wrap_wxMenuItem_GetMenu(PyObject *self, PyObject *args, PyObje return _resultobj; } +#define wxMenuItem_SetMenu(_swigobj,_swigarg0) (_swigobj->SetMenu(_swigarg0)) +static PyObject *_wrap_wxMenuItem_SetMenu(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxMenuItem * _arg0; + wxMenu * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","menu", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMenuItem_SetMenu",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMenuItem_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMenuItem_SetMenu. Expected _wxMenuItem_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxMenu_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMenuItem_SetMenu. Expected _wxMenu_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxMenuItem_SetMenu(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxMenuItem_SetId(_swigobj,_swigarg0) (_swigobj->SetId(_swigarg0)) static PyObject *_wrap_wxMenuItem_SetId(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -11441,6 +11537,7 @@ static PyMethodDef windowscMethods[] = { { "wxMenuItem_IsSeparator", (PyCFunction) _wrap_wxMenuItem_IsSeparator, METH_VARARGS | METH_KEYWORDS }, { "wxMenuItem_GetId", (PyCFunction) _wrap_wxMenuItem_GetId, METH_VARARGS | METH_KEYWORDS }, { "wxMenuItem_SetId", (PyCFunction) _wrap_wxMenuItem_SetId, METH_VARARGS | METH_KEYWORDS }, + { "wxMenuItem_SetMenu", (PyCFunction) _wrap_wxMenuItem_SetMenu, METH_VARARGS | METH_KEYWORDS }, { "wxMenuItem_GetMenu", (PyCFunction) _wrap_wxMenuItem_GetMenu, METH_VARARGS | METH_KEYWORDS }, { "new_wxMenuItem", (PyCFunction) _wrap_new_wxMenuItem, METH_VARARGS | METH_KEYWORDS }, { "wxMenuBar_GetHelpString", (PyCFunction) _wrap_wxMenuBar_GetHelpString, METH_VARARGS | METH_KEYWORDS }, @@ -11543,6 +11640,8 @@ static PyMethodDef windowscMethods[] = { { "wxPanel_Create", (PyCFunction) _wrap_wxPanel_Create, METH_VARARGS | METH_KEYWORDS }, { "new_wxPrePanel", (PyCFunction) _wrap_new_wxPrePanel, METH_VARARGS | METH_KEYWORDS }, { "new_wxPanel", (PyCFunction) _wrap_new_wxPanel, METH_VARARGS | METH_KEYWORDS }, + { "wxWindow_GetThemeEnabled", (PyCFunction) _wrap_wxWindow_GetThemeEnabled, METH_VARARGS | METH_KEYWORDS }, + { "wxWindow_SetThemeEnabled", (PyCFunction) _wrap_wxWindow_SetThemeEnabled, METH_VARARGS | METH_KEYWORDS }, { "wxWindow_HasCapture", (PyCFunction) _wrap_wxWindow_HasCapture, METH_VARARGS | METH_KEYWORDS }, { "wxWindow_GetCapture", (PyCFunction) _wrap_wxWindow_GetCapture, METH_VARARGS | METH_KEYWORDS }, { "wxWindow_ReleaseMouse", (PyCFunction) _wrap_wxWindow_ReleaseMouse, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/windows.py b/wxPython/src/gtk/windows.py index de800237a3..95570cbe9f 100644 --- a/wxPython/src/gtk/windows.py +++ b/wxPython/src/gtk/windows.py @@ -27,43 +27,43 @@ class wxEvtHandlerPtr(wxObjectPtr): self.this = this self.thisown = 0 def ProcessEvent(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_ProcessEvent,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_ProcessEvent(self, *_args, **_kwargs) return val def AddPendingEvent(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_AddPendingEvent,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_AddPendingEvent(self, *_args, **_kwargs) return val def GetEvtHandlerEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_GetEvtHandlerEnabled,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_GetEvtHandlerEnabled(self, *_args, **_kwargs) return val def SetEvtHandlerEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_SetEvtHandlerEnabled,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_SetEvtHandlerEnabled(self, *_args, **_kwargs) return val def GetNextHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_GetNextHandler,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_GetNextHandler(self, *_args, **_kwargs) return val def GetPreviousHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_GetPreviousHandler,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_GetPreviousHandler(self, *_args, **_kwargs) return val def SetNextHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_SetNextHandler,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_SetNextHandler(self, *_args, **_kwargs) return val def SetPreviousHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_SetPreviousHandler,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_SetPreviousHandler(self, *_args, **_kwargs) return val def Connect(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_Connect,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_Connect(self, *_args, **_kwargs) return val def Disconnect(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler_Disconnect,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler_Disconnect(self, *_args, **_kwargs) return val def _setOORInfo(self, *_args, **_kwargs): - val = apply(windowsc.wxEvtHandler__setOORInfo,(self,) + _args, _kwargs) + val = windowsc.wxEvtHandler__setOORInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxEvtHandler(wxEvtHandlerPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxEvtHandler,_args,_kwargs) + self.this = windowsc.new_wxEvtHandler(*_args,**_kwargs) self.thisown = 1 @@ -74,19 +74,19 @@ class wxValidatorPtr(wxEvtHandlerPtr): self.this = this self.thisown = 0 def Clone(self, *_args, **_kwargs): - val = apply(windowsc.wxValidator_Clone,(self,) + _args, _kwargs) + val = windowsc.wxValidator_Clone(self, *_args, **_kwargs) return val def GetWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxValidator_GetWindow,(self,) + _args, _kwargs) + val = windowsc.wxValidator_GetWindow(self, *_args, **_kwargs) return val def SetWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxValidator_SetWindow,(self,) + _args, _kwargs) + val = windowsc.wxValidator_SetWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxValidator(wxValidatorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxValidator,_args,_kwargs) + self.this = windowsc.new_wxValidator(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -98,13 +98,13 @@ class wxPyValidatorPtr(wxValidatorPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(windowsc.wxPyValidator__setCallbackInfo,(self,) + _args, _kwargs) + val = windowsc.wxPyValidator__setCallbackInfo(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyValidator instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyValidator(wxPyValidatorPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxPyValidator,_args,_kwargs) + self.this = windowsc.new_wxPyValidator(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyValidator, 1) self._setOORInfo(self) @@ -117,551 +117,557 @@ class wxWindowPtr(wxEvtHandlerPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Create,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Create(self, *_args, **_kwargs) return val def Center(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Center,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Center(self, *_args, **_kwargs) return val def Centre(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Centre,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Centre(self, *_args, **_kwargs) return val def CentreOnParent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_CentreOnParent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_CentreOnParent(self, *_args, **_kwargs) return val def CenterOnParent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_CenterOnParent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_CenterOnParent(self, *_args, **_kwargs) return val def CentreOnScreen(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_CentreOnScreen,(self,) + _args, _kwargs) + val = windowsc.wxWindow_CentreOnScreen(self, *_args, **_kwargs) return val def CenterOnScreen(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_CenterOnScreen,(self,) + _args, _kwargs) + val = windowsc.wxWindow_CenterOnScreen(self, *_args, **_kwargs) return val def Clear(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Clear,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Clear(self, *_args, **_kwargs) return val def ClientToScreenXY(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ClientToScreenXY,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ClientToScreenXY(self, *_args, **_kwargs) return val def ClientToScreen(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ClientToScreen,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ClientToScreen(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def Close(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Close,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Close(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Destroy,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Destroy(self, *_args, **_kwargs) return val def DestroyChildren(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_DestroyChildren,(self,) + _args, _kwargs) + val = windowsc.wxWindow_DestroyChildren(self, *_args, **_kwargs) return val def IsBeingDeleted(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsBeingDeleted,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsBeingDeleted(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Enable,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Enable(self, *_args, **_kwargs) return val def Disable(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Disable,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Disable(self, *_args, **_kwargs) return val def FindWindowById(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_FindWindowById,(self,) + _args, _kwargs) + val = windowsc.wxWindow_FindWindowById(self, *_args, **_kwargs) return val def FindWindowByName(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_FindWindowByName,(self,) + _args, _kwargs) + val = windowsc.wxWindow_FindWindowByName(self, *_args, **_kwargs) return val def Fit(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Fit,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Fit(self, *_args, **_kwargs) return val def FitInside(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_FitInside,(self,) + _args, _kwargs) + val = windowsc.wxWindow_FitInside(self, *_args, **_kwargs) return val def GetBackgroundColour(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetBackgroundColour,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetBackgroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetBorder(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetBorder,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetBorder(self, *_args, **_kwargs) return val def GetChildren(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetChildren,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetChildren(self, *_args, **_kwargs) return val def GetCharHeight(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetCharHeight,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCharHeight(self, *_args, **_kwargs) return val def GetCharWidth(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetCharWidth,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCharWidth(self, *_args, **_kwargs) return val def GetClientSizeTuple(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetClientSizeTuple,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetClientSizeTuple(self, *_args, **_kwargs) return val def GetClientSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetClientSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetClientSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetClientAreaOrigin(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetClientAreaOrigin,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetClientAreaOrigin(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetClientRect(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetClientRect,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetClientRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def GetConstraints(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetConstraints,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetConstraints(self, *_args, **_kwargs) if val: val = wxLayoutConstraintsPtr(val) return val def GetEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetEventHandler(self, *_args, **_kwargs) return val def GetFont(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetFont,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetFont(self, *_args, **_kwargs) if val: val = wxFontPtr(val) ; val.thisown = 1 return val def GetForegroundColour(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetForegroundColour,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetForegroundColour(self, *_args, **_kwargs) if val: val = wxColourPtr(val) ; val.thisown = 1 return val def GetGrandParent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetGrandParent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetGrandParent(self, *_args, **_kwargs) return val def GetHandle(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetHandle,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetHandle(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetId,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetId(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetLabel,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetLabel(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetLabel,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetLabel(self, *_args, **_kwargs) return val def GetName(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetName,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetName(self, *_args, **_kwargs) return val def GetParent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetParent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetParent(self, *_args, **_kwargs) return val def GetPositionTuple(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetPositionTuple,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetPositionTuple(self, *_args, **_kwargs) return val def GetPosition(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetPosition,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetPosition(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def GetRect(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetRect,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def GetScrollThumb(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetScrollThumb,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetScrollThumb(self, *_args, **_kwargs) return val def GetScrollPos(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetScrollPos,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetScrollPos(self, *_args, **_kwargs) return val def GetScrollRange(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetScrollRange,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetScrollRange(self, *_args, **_kwargs) return val def GetSizeTuple(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetSizeTuple,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetSizeTuple(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetTextExtent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetTextExtent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetTextExtent(self, *_args, **_kwargs) return val def GetFullTextExtent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetFullTextExtent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetFullTextExtent(self, *_args, **_kwargs) return val def GetTitle(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetTitle,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetTitle(self, *_args, **_kwargs) return val def GetUpdateRegion(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetUpdateRegion,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetUpdateRegion(self, *_args, **_kwargs) if val: val = wxRegionPtr(val) ; val.thisown = 1 return val def GetWindowStyleFlag(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetWindowStyleFlag,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetWindowStyleFlag(self, *_args, **_kwargs) return val def SetWindowStyleFlag(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetWindowStyleFlag,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetWindowStyleFlag(self, *_args, **_kwargs) return val def SetWindowStyle(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetWindowStyle,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetWindowStyle(self, *_args, **_kwargs) return val def HasScrollbar(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_HasScrollbar,(self,) + _args, _kwargs) + val = windowsc.wxWindow_HasScrollbar(self, *_args, **_kwargs) return val def Hide(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Hide,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Hide(self, *_args, **_kwargs) return val def HitTest(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_HitTest,(self,) + _args, _kwargs) + val = windowsc.wxWindow_HitTest(self, *_args, **_kwargs) return val def InitDialog(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_InitDialog,(self,) + _args, _kwargs) + val = windowsc.wxWindow_InitDialog(self, *_args, **_kwargs) return val def IsEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsEnabled,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsEnabled(self, *_args, **_kwargs) return val def IsExposed(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsExposed,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsExposed(self, *_args, **_kwargs) return val def IsExposedPoint(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsExposedPoint,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsExposedPoint(self, *_args, **_kwargs) return val def IsExposedRect(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsExposedRect,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsExposedRect(self, *_args, **_kwargs) return val def IsRetained(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsRetained,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsRetained(self, *_args, **_kwargs) return val def IsShown(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsShown,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsShown(self, *_args, **_kwargs) return val def IsTopLevel(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_IsTopLevel,(self,) + _args, _kwargs) + val = windowsc.wxWindow_IsTopLevel(self, *_args, **_kwargs) return val def Layout(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Layout,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Layout(self, *_args, **_kwargs) return val def Lower(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Lower,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Lower(self, *_args, **_kwargs) return val def MakeModal(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_MakeModal,(self,) + _args, _kwargs) + val = windowsc.wxWindow_MakeModal(self, *_args, **_kwargs) return val def MoveXY(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_MoveXY,(self,) + _args, _kwargs) + val = windowsc.wxWindow_MoveXY(self, *_args, **_kwargs) return val def Move(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Move,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Move(self, *_args, **_kwargs) return val def PopEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PopEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PopEventHandler(self, *_args, **_kwargs) return val def PushEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PushEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PushEventHandler(self, *_args, **_kwargs) return val def RemoveEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_RemoveEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxWindow_RemoveEventHandler(self, *_args, **_kwargs) return val def PopupMenuXY(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PopupMenuXY,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PopupMenuXY(self, *_args, **_kwargs) return val def PopupMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PopupMenu,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PopupMenu(self, *_args, **_kwargs) return val def Raise(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Raise,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Raise(self, *_args, **_kwargs) return val def Refresh(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Refresh,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Refresh(self, *_args, **_kwargs) return val def RefreshRect(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_RefreshRect,(self,) + _args, _kwargs) + val = windowsc.wxWindow_RefreshRect(self, *_args, **_kwargs) return val def AddChild(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_AddChild,(self,) + _args, _kwargs) + val = windowsc.wxWindow_AddChild(self, *_args, **_kwargs) return val def RemoveChild(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_RemoveChild,(self,) + _args, _kwargs) + val = windowsc.wxWindow_RemoveChild(self, *_args, **_kwargs) return val def Reparent(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Reparent,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Reparent(self, *_args, **_kwargs) return val def ScreenToClientXY(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ScreenToClientXY,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ScreenToClientXY(self, *_args, **_kwargs) return val def ScreenToClient(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ScreenToClient,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ScreenToClient(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ScrollWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ScrollWindow,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ScrollWindow(self, *_args, **_kwargs) return val def SetAutoLayout(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetAutoLayout,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetAutoLayout(self, *_args, **_kwargs) return val def GetAutoLayout(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetAutoLayout,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetAutoLayout(self, *_args, **_kwargs) return val def SetBackgroundColour(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetBackgroundColour,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetBackgroundColour(self, *_args, **_kwargs) return val def SetConstraints(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetConstraints,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetConstraints(self, *_args, **_kwargs) return val def UnsetConstraints(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_UnsetConstraints,(self,) + _args, _kwargs) + val = windowsc.wxWindow_UnsetConstraints(self, *_args, **_kwargs) return val def SetFocus(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetFocus,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetFocus(self, *_args, **_kwargs) return val def SetFocusFromKbd(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetFocusFromKbd,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetFocusFromKbd(self, *_args, **_kwargs) return val def AcceptsFocus(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_AcceptsFocus,(self,) + _args, _kwargs) + val = windowsc.wxWindow_AcceptsFocus(self, *_args, **_kwargs) return val def SetFont(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetFont,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetFont(self, *_args, **_kwargs) return val def SetForegroundColour(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetForegroundColour,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetForegroundColour(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetId,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetId(self, *_args, **_kwargs) return val def SetName(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetName,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetName(self, *_args, **_kwargs) return val def SetScrollbar(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetScrollbar,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetScrollbar(self, *_args, **_kwargs) return val def SetScrollPos(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetScrollPos,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetScrollPos(self, *_args, **_kwargs) return val def SetDimensions(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetDimensions,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetDimensions(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetSize(self, *_args, **_kwargs) return val def SetPosition(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetPosition,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetPosition(self, *_args, **_kwargs) return val def SetRect(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetRect,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetRect(self, *_args, **_kwargs) return val def SetSizeHints(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetSizeHints,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetSizeHints(self, *_args, **_kwargs) return val def SetVirtualSizeHints(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetVirtualSizeHints,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetVirtualSizeHints(self, *_args, **_kwargs) return val def SetVirtualSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetVirtualSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetVirtualSize(self, *_args, **_kwargs) return val def SetVirtualSizeWH(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetVirtualSizeWH,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetVirtualSizeWH(self, *_args, **_kwargs) return val def GetVirtualSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetVirtualSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetVirtualSizeTuple(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetVirtualSizeTuple,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetVirtualSizeTuple(self, *_args, **_kwargs) return val def GetBestVirtualSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetBestVirtualSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetBestVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetClientSizeWH(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetClientSizeWH,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetClientSizeWH(self, *_args, **_kwargs) return val def SetClientSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetClientSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetClientSize(self, *_args, **_kwargs) return val def SetCursor(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetCursor,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetCursor(self, *_args, **_kwargs) return val def GetCursor(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetCursor,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCursor(self, *_args, **_kwargs) if val: val = wxCursorPtr(val) return val def SetEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetEventHandler(self, *_args, **_kwargs) return val def SetExtraStyle(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetExtraStyle,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetExtraStyle(self, *_args, **_kwargs) return val def SetTitle(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetTitle,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetTitle(self, *_args, **_kwargs) return val def Show(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Show,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Show(self, *_args, **_kwargs) return val def TransferDataFromWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_TransferDataFromWindow,(self,) + _args, _kwargs) + val = windowsc.wxWindow_TransferDataFromWindow(self, *_args, **_kwargs) return val def TransferDataToWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_TransferDataToWindow,(self,) + _args, _kwargs) + val = windowsc.wxWindow_TransferDataToWindow(self, *_args, **_kwargs) return val def UpdateWindowUI(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_UpdateWindowUI,(self,) + _args, _kwargs) + val = windowsc.wxWindow_UpdateWindowUI(self, *_args, **_kwargs) return val def Validate(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Validate,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Validate(self, *_args, **_kwargs) return val def ConvertDialogPointToPixels(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ConvertDialogPointToPixels,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ConvertDialogPointToPixels(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ConvertDialogSizeToPixels(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ConvertDialogSizeToPixels,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ConvertDialogSizeToPixels(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def DLG_PNT(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_DLG_PNT,(self,) + _args, _kwargs) + val = windowsc.wxWindow_DLG_PNT(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def DLG_SZE(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_DLG_SZE,(self,) + _args, _kwargs) + val = windowsc.wxWindow_DLG_SZE(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def ConvertPixelPointToDialog(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ConvertPixelPointToDialog,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ConvertPixelPointToDialog(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def ConvertPixelSizeToDialog(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ConvertPixelSizeToDialog,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ConvertPixelSizeToDialog(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetToolTipString(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetToolTipString,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetToolTipString(self, *_args, **_kwargs) return val def SetToolTip(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetToolTip,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetToolTip(self, *_args, **_kwargs) return val def GetToolTip(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetToolTip,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetToolTip(self, *_args, **_kwargs) return val def SetSizer(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetSizer,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetSizer(self, *_args, **_kwargs) return val def SetSizerAndFit(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetSizerAndFit,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetSizerAndFit(self, *_args, **_kwargs) return val def GetSizer(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetSizer,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetSizer(self, *_args, **_kwargs) return val def SetContainingSizer(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetContainingSizer,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetContainingSizer(self, *_args, **_kwargs) return val def GetContainingSizer(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetContainingSizer,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetContainingSizer(self, *_args, **_kwargs) return val def GetValidator(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetValidator,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetValidator(self, *_args, **_kwargs) return val def SetValidator(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetValidator,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetValidator(self, *_args, **_kwargs) return val def SetDropTarget(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetDropTarget,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetDropTarget(self, *_args, **_kwargs) _args[0].thisown = 0 return val def GetDropTarget(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetDropTarget,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetDropTarget(self, *_args, **_kwargs) if val: val = wxDropTargetPtr(val) return val def GetBestSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetBestSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetMaxSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetMaxSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetMaxSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def GetAdjustedBestSize(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetAdjustedBestSize,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetAdjustedBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetCaret(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetCaret,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetCaret(self, *_args, **_kwargs) return val def GetCaret(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCaret(self, *_args, **_kwargs) if val: val = wxCaretPtr(val) return val def Freeze(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Freeze,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Freeze(self, *_args, **_kwargs) return val def Thaw(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Thaw,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Thaw(self, *_args, **_kwargs) return val def Update(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_Update,(self,) + _args, _kwargs) + val = windowsc.wxWindow_Update(self, *_args, **_kwargs) return val def GetHelpText(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetHelpText,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetHelpText(self, *_args, **_kwargs) return val def SetHelpText(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetHelpText,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetHelpText(self, *_args, **_kwargs) return val def SetHelpTextForId(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetHelpTextForId,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetHelpTextForId(self, *_args, **_kwargs) return val def ScrollLines(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ScrollLines,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ScrollLines(self, *_args, **_kwargs) return val def ScrollPages(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ScrollPages,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ScrollPages(self, *_args, **_kwargs) return val def LineUp(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_LineUp,(self,) + _args, _kwargs) + val = windowsc.wxWindow_LineUp(self, *_args, **_kwargs) return val def LineDown(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_LineDown,(self,) + _args, _kwargs) + val = windowsc.wxWindow_LineDown(self, *_args, **_kwargs) return val def PageUp(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PageUp,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PageUp(self, *_args, **_kwargs) return val def PageDown(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_PageDown,(self,) + _args, _kwargs) + val = windowsc.wxWindow_PageDown(self, *_args, **_kwargs) return val def SetAcceleratorTable(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetAcceleratorTable,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetAcceleratorTable(self, *_args, **_kwargs) return val def GetAcceleratorTable(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetAcceleratorTable,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetAcceleratorTable(self, *_args, **_kwargs) if val: val = wxAcceleratorTablePtr(val) return val def GetDefaultItem(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_GetDefaultItem,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetDefaultItem(self, *_args, **_kwargs) return val def SetDefaultItem(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetDefaultItem,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetDefaultItem(self, *_args, **_kwargs) return val def SetTmpDefaultItem(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_SetTmpDefaultItem,(self,) + _args, _kwargs) + val = windowsc.wxWindow_SetTmpDefaultItem(self, *_args, **_kwargs) return val def WarpPointer(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_WarpPointer,(self,) + _args, _kwargs) + val = windowsc.wxWindow_WarpPointer(self, *_args, **_kwargs) return val def CaptureMouse(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_CaptureMouse,(self,) + _args, _kwargs) + val = windowsc.wxWindow_CaptureMouse(self, *_args, **_kwargs) return val def ReleaseMouse(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_ReleaseMouse,(self,) + _args, _kwargs) + val = windowsc.wxWindow_ReleaseMouse(self, *_args, **_kwargs) return val def HasCapture(self, *_args, **_kwargs): - val = apply(windowsc.wxWindow_HasCapture,(self,) + _args, _kwargs) + val = windowsc.wxWindow_HasCapture(self, *_args, **_kwargs) + return val + def SetThemeEnabled(self, *_args, **_kwargs): + val = windowsc.wxWindow_SetThemeEnabled(self, *_args, **_kwargs) + return val + def GetThemeEnabled(self, *_args, **_kwargs): + val = windowsc.wxWindow_GetThemeEnabled(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) # replaces broken shadow method def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr - val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCaret(self, *_args, **_kwargs) if val: val = wxCaretPtr(val) return val class wxWindow(wxWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxWindow,_args,_kwargs) + self.this = windowsc.new_wxWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreWindow(*_args,**_kwargs): - val = wxWindowPtr(apply(windowsc.new_wxPreWindow,_args,_kwargs)) + val = wxWindowPtr(windowsc.new_wxPreWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -672,23 +678,23 @@ class wxPanelPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windowsc.wxPanel_Create,(self,) + _args, _kwargs) + val = windowsc.wxPanel_Create(self, *_args, **_kwargs) return val def InitDialog(self, *_args, **_kwargs): - val = apply(windowsc.wxPanel_InitDialog,(self,) + _args, _kwargs) + val = windowsc.wxPanel_InitDialog(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPanel instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPanel(wxPanelPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxPanel,_args,_kwargs) + self.this = windowsc.new_wxPanel(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPrePanel(*_args,**_kwargs): - val = wxPanelPtr(apply(windowsc.new_wxPrePanel,_args,_kwargs)) + val = wxPanelPtr(windowsc.new_wxPrePanel(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -699,103 +705,103 @@ class wxScrolledWindowPtr(wxPanelPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_Create,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_Create(self, *_args, **_kwargs) return val def EnableScrolling(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_EnableScrolling,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_EnableScrolling(self, *_args, **_kwargs) return val def GetScrollPageSize(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetScrollPageSize,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetScrollPageSize(self, *_args, **_kwargs) return val def GetScrollPixelsPerUnit(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetScrollPixelsPerUnit,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetScrollPixelsPerUnit(self, *_args, **_kwargs) return val def GetTargetWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetTargetWindow,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetTargetWindow(self, *_args, **_kwargs) return val def IsRetained(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_IsRetained,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_IsRetained(self, *_args, **_kwargs) return val def PrepareDC(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_PrepareDC,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_PrepareDC(self, *_args, **_kwargs) return val def Scroll(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_Scroll,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_Scroll(self, *_args, **_kwargs) return val def SetScrollbars(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_SetScrollbars,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_SetScrollbars(self, *_args, **_kwargs) return val def SetScrollPageSize(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_SetScrollPageSize,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_SetScrollPageSize(self, *_args, **_kwargs) return val def SetTargetWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_SetTargetWindow,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_SetTargetWindow(self, *_args, **_kwargs) return val def GetViewStart(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetViewStart,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetViewStart(self, *_args, **_kwargs) return val def CalcScrolledPosition1(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_CalcScrolledPosition1,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_CalcScrolledPosition1(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def CalcScrolledPosition2(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_CalcScrolledPosition2,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_CalcScrolledPosition2(self, *_args, **_kwargs) return val def CalcUnscrolledPosition1(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_CalcUnscrolledPosition1,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_CalcUnscrolledPosition1(self, *_args, **_kwargs) if val: val = wxPointPtr(val) ; val.thisown = 1 return val def CalcUnscrolledPosition2(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_CalcUnscrolledPosition2,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_CalcUnscrolledPosition2(self, *_args, **_kwargs) return val def SetScale(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_SetScale,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_SetScale(self, *_args, **_kwargs) return val def GetScaleX(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetScaleX,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetScaleX(self, *_args, **_kwargs) return val def GetScaleY(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_GetScaleY,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_GetScaleY(self, *_args, **_kwargs) return val def AdjustScrollbars(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_AdjustScrollbars,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_AdjustScrollbars(self, *_args, **_kwargs) return val def Layout(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_Layout,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_Layout(self, *_args, **_kwargs) return val def SetScrollRate(self, *_args, **_kwargs): - val = apply(windowsc.wxScrolledWindow_SetScrollRate,(self,) + _args, _kwargs) + val = windowsc.wxScrolledWindow_SetScrollRate(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) ViewStart = GetViewStart def CalcScrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcScrolledPosition1, args) + return self.CalcScrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcScrolledPosition2, args) + return self.CalcScrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' def CalcUnscrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcUnscrolledPosition1, args) + return self.CalcUnscrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcUnscrolledPosition2, args) + return self.CalcUnscrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' class wxScrolledWindow(wxScrolledWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxScrolledWindow,_args,_kwargs) + self.this = windowsc.new_wxScrolledWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreScrolledWindow(*_args,**_kwargs): - val = wxScrolledWindowPtr(apply(windowsc.new_wxPreScrolledWindow,_args,_kwargs)) + val = wxScrolledWindowPtr(windowsc.new_wxPreScrolledWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -806,157 +812,157 @@ class wxMenuPtr(wxEvtHandlerPtr): self.this = this self.thisown = 0 def Append(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Append,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Append(self, *_args, **_kwargs) return val def AppendMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_AppendMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenu_AppendMenu(self, *_args, **_kwargs) return val def AppendItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_AppendItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_AppendItem(self, *_args, **_kwargs) return val def AppendCheckItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_AppendCheckItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_AppendCheckItem(self, *_args, **_kwargs) return val def AppendRadioItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_AppendRadioItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_AppendRadioItem(self, *_args, **_kwargs) return val def AppendSeparator(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_AppendSeparator,(self,) + _args, _kwargs) + val = windowsc.wxMenu_AppendSeparator(self, *_args, **_kwargs) return val def Insert(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Insert,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Insert(self, *_args, **_kwargs) return val def InsertSeparator(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_InsertSeparator,(self,) + _args, _kwargs) + val = windowsc.wxMenu_InsertSeparator(self, *_args, **_kwargs) return val def InsertCheckItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_InsertCheckItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_InsertCheckItem(self, *_args, **_kwargs) return val def InsertRadioItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_InsertRadioItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_InsertRadioItem(self, *_args, **_kwargs) return val def InsertMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_InsertMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenu_InsertMenu(self, *_args, **_kwargs) return val def InsertItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_InsertItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_InsertItem(self, *_args, **_kwargs) return val def Prepend(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Prepend,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Prepend(self, *_args, **_kwargs) return val def PrependSeparator(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_PrependSeparator,(self,) + _args, _kwargs) + val = windowsc.wxMenu_PrependSeparator(self, *_args, **_kwargs) return val def PrependCheckItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_PrependCheckItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_PrependCheckItem(self, *_args, **_kwargs) return val def PrependRadioItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_PrependRadioItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_PrependRadioItem(self, *_args, **_kwargs) return val def PrependMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_PrependMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenu_PrependMenu(self, *_args, **_kwargs) return val def PrependItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_PrependItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_PrependItem(self, *_args, **_kwargs) return val def Break(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Break,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Break(self, *_args, **_kwargs) return val def Check(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Check,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Check(self, *_args, **_kwargs) return val def IsChecked(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_IsChecked,(self,) + _args, _kwargs) + val = windowsc.wxMenu_IsChecked(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Enable,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Enable(self, *_args, **_kwargs) return val def IsEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_IsEnabled,(self,) + _args, _kwargs) + val = windowsc.wxMenu_IsEnabled(self, *_args, **_kwargs) return val def FindItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_FindItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_FindItem(self, *_args, **_kwargs) return val def FindItemById(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_FindItemById,(self,) + _args, _kwargs) + val = windowsc.wxMenu_FindItemById(self, *_args, **_kwargs) return val def GetTitle(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetTitle,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetTitle(self, *_args, **_kwargs) return val def SetTitle(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetTitle,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetTitle(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetLabel,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetLabel(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetLabel,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetLabel(self, *_args, **_kwargs) return val def GetHelpString(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetHelpString,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetHelpString(self, *_args, **_kwargs) return val def SetHelpString(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetHelpString,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetHelpString(self, *_args, **_kwargs) return val def UpdateUI(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_UpdateUI,(self,) + _args, _kwargs) + val = windowsc.wxMenu_UpdateUI(self, *_args, **_kwargs) return val def Delete(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Delete,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Delete(self, *_args, **_kwargs) return val def DeleteItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_DeleteItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_DeleteItem(self, *_args, **_kwargs) return val def Remove(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Remove,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Remove(self, *_args, **_kwargs) return val def RemoveItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_RemoveItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_RemoveItem(self, *_args, **_kwargs) return val def Destroy(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_Destroy,(self,) + _args, _kwargs) + val = windowsc.wxMenu_Destroy(self, *_args, **_kwargs) return val def DestroyId(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_DestroyId,(self,) + _args, _kwargs) + val = windowsc.wxMenu_DestroyId(self, *_args, **_kwargs) return val def DestroyItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_DestroyItem,(self,) + _args, _kwargs) + val = windowsc.wxMenu_DestroyItem(self, *_args, **_kwargs) return val def GetMenuItemCount(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetMenuItemCount,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetMenuItemCount(self, *_args, **_kwargs) return val def GetMenuItems(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetMenuItems,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetMenuItems(self, *_args, **_kwargs) return val def SetEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetEventHandler(self, *_args, **_kwargs) return val def GetEventHandler(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetEventHandler,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetEventHandler(self, *_args, **_kwargs) return val def SetInvokingWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetInvokingWindow,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetInvokingWindow(self, *_args, **_kwargs) return val def GetInvokingWindow(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetInvokingWindow,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetInvokingWindow(self, *_args, **_kwargs) return val def GetStyle(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetStyle,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetStyle(self, *_args, **_kwargs) return val def IsAttached(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_IsAttached,(self,) + _args, _kwargs) + val = windowsc.wxMenu_IsAttached(self, *_args, **_kwargs) return val def SetParent(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_SetParent,(self,) + _args, _kwargs) + val = windowsc.wxMenu_SetParent(self, *_args, **_kwargs) return val def GetParent(self, *_args, **_kwargs): - val = apply(windowsc.wxMenu_GetParent,(self,) + _args, _kwargs) + val = windowsc.wxMenu_GetParent(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMenu instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMenu(wxMenuPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxMenu,_args,_kwargs) + self.this = windowsc.new_wxMenu(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -968,73 +974,73 @@ class wxMenuBarPtr(wxWindowPtr): self.this = this self.thisown = 0 def Append(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Append,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Append(self, *_args, **_kwargs) return val def Insert(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Insert,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Insert(self, *_args, **_kwargs) return val def GetMenuCount(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_GetMenuCount,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_GetMenuCount(self, *_args, **_kwargs) return val def GetMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_GetMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_GetMenu(self, *_args, **_kwargs) return val def Replace(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Replace,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Replace(self, *_args, **_kwargs) return val def Remove(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Remove,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Remove(self, *_args, **_kwargs) return val def EnableTop(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_EnableTop,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_EnableTop(self, *_args, **_kwargs) return val def IsEnabledTop(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_IsEnabledTop,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_IsEnabledTop(self, *_args, **_kwargs) return val def SetLabelTop(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_SetLabelTop,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_SetLabelTop(self, *_args, **_kwargs) return val def GetLabelTop(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_GetLabelTop,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_GetLabelTop(self, *_args, **_kwargs) return val def FindMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_FindMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_FindMenu(self, *_args, **_kwargs) return val def FindMenuItem(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_FindMenuItem,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_FindMenuItem(self, *_args, **_kwargs) return val def FindItemById(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_FindItemById,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_FindItemById(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Enable,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Enable(self, *_args, **_kwargs) return val def Check(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_Check,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_Check(self, *_args, **_kwargs) return val def IsChecked(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_IsChecked,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_IsChecked(self, *_args, **_kwargs) return val def IsEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_IsEnabled,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_IsEnabled(self, *_args, **_kwargs) return val def SetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_SetLabel,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_SetLabel(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_GetLabel,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_GetLabel(self, *_args, **_kwargs) return val def SetHelpString(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_SetHelpString,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_SetHelpString(self, *_args, **_kwargs) return val def GetHelpString(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuBar_GetHelpString,(self,) + _args, _kwargs) + val = windowsc.wxMenuBar_GetHelpString(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMenuBar instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMenuBar(wxMenuBarPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxMenuBar,_args,_kwargs) + self.this = windowsc.new_wxMenuBar(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) @@ -1046,84 +1052,87 @@ class wxMenuItemPtr(wxObjectPtr): self.this = this self.thisown = 0 def GetMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetMenu(self, *_args, **_kwargs) + return val + def SetMenu(self, *_args, **_kwargs): + val = windowsc.wxMenuItem_SetMenu(self, *_args, **_kwargs) return val def SetId(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetId,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetId(self, *_args, **_kwargs) return val def GetId(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetId,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetId(self, *_args, **_kwargs) return val def IsSeparator(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_IsSeparator,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_IsSeparator(self, *_args, **_kwargs) return val def SetText(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetText,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetText(self, *_args, **_kwargs) return val def GetLabel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetLabel,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetLabel(self, *_args, **_kwargs) return val def GetText(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetText,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetText(self, *_args, **_kwargs) return val def GetKind(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetKind,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetKind(self, *_args, **_kwargs) return val def SetCheckable(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetCheckable,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetCheckable(self, *_args, **_kwargs) return val def IsCheckable(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_IsCheckable,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_IsCheckable(self, *_args, **_kwargs) return val def IsSubMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_IsSubMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_IsSubMenu(self, *_args, **_kwargs) return val def SetSubMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetSubMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetSubMenu(self, *_args, **_kwargs) return val def GetSubMenu(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetSubMenu,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetSubMenu(self, *_args, **_kwargs) return val def Enable(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_Enable,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_Enable(self, *_args, **_kwargs) return val def IsEnabled(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_IsEnabled,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_IsEnabled(self, *_args, **_kwargs) return val def Check(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_Check,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_Check(self, *_args, **_kwargs) return val def IsChecked(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_IsChecked,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_IsChecked(self, *_args, **_kwargs) return val def Toggle(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_Toggle,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_Toggle(self, *_args, **_kwargs) return val def SetHelp(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetHelp,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetHelp(self, *_args, **_kwargs) return val def GetHelp(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetHelp,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetHelp(self, *_args, **_kwargs) return val def GetAccel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetAccel,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetAccel(self, *_args, **_kwargs) if val: val = wxAcceleratorEntryPtr(val) return val def SetAccel(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetAccel,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetAccel(self, *_args, **_kwargs) return val def SetBitmap(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_SetBitmap,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_SetBitmap(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(windowsc.wxMenuItem_GetBitmap,(self,) + _args, _kwargs) + val = windowsc.wxMenuItem_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxMenuItem instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxMenuItem(wxMenuItemPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windowsc.new_wxMenuItem,_args,_kwargs) + self.this = windowsc.new_wxMenuItem(*_args,**_kwargs) self.thisown = 1 @@ -1134,15 +1143,15 @@ class wxMenuItem(wxMenuItemPtr): #-------------- FUNCTION WRAPPERS ------------------ def wxFindWindowById(*_args, **_kwargs): - val = apply(windowsc.wxFindWindowById,_args,_kwargs) + val = windowsc.wxFindWindowById(*_args,**_kwargs) return val def wxFindWindowByName(*_args, **_kwargs): - val = apply(windowsc.wxFindWindowByName,_args,_kwargs) + val = windowsc.wxFindWindowByName(*_args,**_kwargs) return val def wxFindWindowByLabel(*_args, **_kwargs): - val = apply(windowsc.wxFindWindowByLabel,_args,_kwargs) + val = windowsc.wxFindWindowByLabel(*_args,**_kwargs) return val wxValidator_IsSilent = windowsc.wxValidator_IsSilent @@ -1150,7 +1159,7 @@ wxValidator_IsSilent = windowsc.wxValidator_IsSilent wxValidator_SetBellOnError = windowsc.wxValidator_SetBellOnError def wxWindow_FindFocus(*_args, **_kwargs): - val = apply(windowsc.wxWindow_FindFocus,_args,_kwargs) + val = windowsc.wxWindow_FindFocus(*_args,**_kwargs) return val wxWindow_NewControlId = windowsc.wxWindow_NewControlId @@ -1160,7 +1169,7 @@ wxWindow_NextControlId = windowsc.wxWindow_NextControlId wxWindow_PrevControlId = windowsc.wxWindow_PrevControlId def wxWindow_GetCapture(*_args, **_kwargs): - val = apply(windowsc.wxWindow_GetCapture,_args,_kwargs) + val = windowsc.wxWindow_GetCapture(*_args,**_kwargs) return val wxMenuItem_GetLabelFromText = windowsc.wxMenuItem_GetLabelFromText diff --git a/wxPython/src/gtk/windows2.cpp b/wxPython/src/gtk/windows2.cpp index 93f68f8e41..54d802fd96 100644 --- a/wxPython/src/gtk/windows2.cpp +++ b/wxPython/src/gtk/windows2.cpp @@ -1277,7 +1277,7 @@ static PyObject *_wrap_wxNotebook_InsertPage(PyObject *self, PyObject *args, PyO PyObject * _argo2 = 0; PyObject * _obj3 = 0; int tempbool4 = (int) FALSE; - char *_kwnames[] = { "self","page","page","text","select","imageId", NULL }; + char *_kwnames[] = { "self","index","page","text","select","imageId", NULL }; self = self; if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiOO|ii:wxNotebook_InsertPage",_kwnames,&_argo0,&_arg1,&_argo2,&_obj3,&tempbool4,&_arg5)) diff --git a/wxPython/src/gtk/windows2.py b/wxPython/src/gtk/windows2.py index 9047cab0df..3d88094351 100644 --- a/wxPython/src/gtk/windows2.py +++ b/wxPython/src/gtk/windows2.py @@ -20,22 +20,22 @@ class wxNotebookEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebookEvent_GetSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebookEvent_GetSelection(self, *_args, **_kwargs) return val def GetOldSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebookEvent_GetOldSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebookEvent_GetOldSelection(self, *_args, **_kwargs) return val def SetOldSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebookEvent_SetOldSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebookEvent_SetOldSelection(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebookEvent_SetSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebookEvent_SetSelection(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNotebookEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNotebookEvent(wxNotebookEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxNotebookEvent,_args,_kwargs) + self.this = windows2c.new_wxNotebookEvent(*_args,**_kwargs) self.thisown = 1 @@ -46,84 +46,84 @@ class wxNotebookPtr(wxControlPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_Create,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_Create(self, *_args, **_kwargs) return val def GetPageCount(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetPageCount,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetPageCount(self, *_args, **_kwargs) return val def SetSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetSelection(self, *_args, **_kwargs) return val def AdvanceSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_AdvanceSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_AdvanceSelection(self, *_args, **_kwargs) return val def GetSelection(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetSelection,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetSelection(self, *_args, **_kwargs) return val def SetPageText(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetPageText,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetPageText(self, *_args, **_kwargs) return val def GetPageText(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetPageText,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetPageText(self, *_args, **_kwargs) return val def SetImageList(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetImageList,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetImageList(self, *_args, **_kwargs) return val def AssignImageList(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_AssignImageList,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_AssignImageList(self, *_args, **_kwargs) _args[0].thisown = 0 return val def GetImageList(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetImageList,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetImageList(self, *_args, **_kwargs) return val def GetPageImage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetPageImage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetPageImage(self, *_args, **_kwargs) return val def SetPageImage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetPageImage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetPageImage(self, *_args, **_kwargs) return val def GetRowCount(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetRowCount,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetRowCount(self, *_args, **_kwargs) return val def SetPageSize(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetPageSize,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetPageSize(self, *_args, **_kwargs) return val def SetPadding(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_SetPadding,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_SetPadding(self, *_args, **_kwargs) return val def DeletePage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_DeletePage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_DeletePage(self, *_args, **_kwargs) return val def RemovePage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_RemovePage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_RemovePage(self, *_args, **_kwargs) return val def DeleteAllPages(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_DeleteAllPages,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_DeleteAllPages(self, *_args, **_kwargs) return val def AddPage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_AddPage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_AddPage(self, *_args, **_kwargs) return val def InsertPage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_InsertPage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_InsertPage(self, *_args, **_kwargs) return val def GetPage(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_GetPage,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_GetPage(self, *_args, **_kwargs) return val def ResizeChildren(self, *_args, **_kwargs): - val = apply(windows2c.wxNotebook_ResizeChildren,(self,) + _args, _kwargs) + val = windows2c.wxNotebook_ResizeChildren(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxNotebook instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxNotebook(wxNotebookPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxNotebook,_args,_kwargs) + self.this = windows2c.new_wxNotebook(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreNotebook(*_args,**_kwargs): - val = wxNotebookPtr(apply(windows2c.new_wxPreNotebook,_args,_kwargs)) + val = wxNotebookPtr(windows2c.new_wxPreNotebook(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -134,25 +134,25 @@ class wxSplitterEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetSashPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterEvent_GetSashPosition,(self,) + _args, _kwargs) + val = windows2c.wxSplitterEvent_GetSashPosition(self, *_args, **_kwargs) return val def GetX(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterEvent_GetX,(self,) + _args, _kwargs) + val = windows2c.wxSplitterEvent_GetX(self, *_args, **_kwargs) return val def GetY(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterEvent_GetY,(self,) + _args, _kwargs) + val = windows2c.wxSplitterEvent_GetY(self, *_args, **_kwargs) return val def GetWindowBeingRemoved(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterEvent_GetWindowBeingRemoved,(self,) + _args, _kwargs) + val = windows2c.wxSplitterEvent_GetWindowBeingRemoved(self, *_args, **_kwargs) return val def SetSashPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterEvent_SetSashPosition,(self,) + _args, _kwargs) + val = windows2c.wxSplitterEvent_SetSashPosition(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSplitterEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSplitterEvent(wxSplitterEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxSplitterEvent,_args,_kwargs) + self.this = windows2c.new_wxSplitterEvent(*_args,**_kwargs) self.thisown = 1 @@ -163,83 +163,83 @@ class wxSplitterWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_Create,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_Create(self, *_args, **_kwargs) return val def GetWindow1(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetWindow1,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetWindow1(self, *_args, **_kwargs) return val def GetWindow2(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetWindow2,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetWindow2(self, *_args, **_kwargs) return val def SetSplitMode(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetSplitMode,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetSplitMode(self, *_args, **_kwargs) return val def GetSplitMode(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetSplitMode,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetSplitMode(self, *_args, **_kwargs) return val def Initialize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_Initialize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_Initialize(self, *_args, **_kwargs) return val def SplitVertically(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SplitVertically,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SplitVertically(self, *_args, **_kwargs) return val def SplitHorizontally(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SplitHorizontally,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SplitHorizontally(self, *_args, **_kwargs) return val def Unsplit(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_Unsplit,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_Unsplit(self, *_args, **_kwargs) return val def ReplaceWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_ReplaceWindow,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_ReplaceWindow(self, *_args, **_kwargs) return val def IsSplit(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_IsSplit,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_IsSplit(self, *_args, **_kwargs) return val def SetSashSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetSashSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetSashSize(self, *_args, **_kwargs) return val def SetBorderSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetBorderSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetBorderSize(self, *_args, **_kwargs) return val def GetSashSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetSashSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetSashSize(self, *_args, **_kwargs) return val def GetBorderSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetBorderSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetBorderSize(self, *_args, **_kwargs) return val def SetSashPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetSashPosition,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetSashPosition(self, *_args, **_kwargs) return val def GetSashPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetSashPosition,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetSashPosition(self, *_args, **_kwargs) return val def SetMinimumPaneSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetMinimumPaneSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetMinimumPaneSize(self, *_args, **_kwargs) return val def GetMinimumPaneSize(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetMinimumPaneSize,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetMinimumPaneSize(self, *_args, **_kwargs) return val def SizeWindows(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SizeWindows,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SizeWindows(self, *_args, **_kwargs) return val def SetNeedUpdating(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_SetNeedUpdating,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_SetNeedUpdating(self, *_args, **_kwargs) return val def GetNeedUpdating(self, *_args, **_kwargs): - val = apply(windows2c.wxSplitterWindow_GetNeedUpdating,(self,) + _args, _kwargs) + val = windows2c.wxSplitterWindow_GetNeedUpdating(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSplitterWindow(wxSplitterWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxSplitterWindow,_args,_kwargs) + self.this = windows2c.new_wxSplitterWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSplitterWindow(*_args,**_kwargs): - val = wxSplitterWindowPtr(apply(windows2c.new_wxPreSplitterWindow,_args,_kwargs)) + val = wxSplitterWindowPtr(windows2c.new_wxPreSplitterWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -250,70 +250,70 @@ class wxPyWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow__setCallbackInfo,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow__setCallbackInfo(self, *_args, **_kwargs) return val def base_DoMoveWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoMoveWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoMoveWindow(self, *_args, **_kwargs) return val def base_DoSetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoSetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoSetSize(self, *_args, **_kwargs) return val def base_DoSetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoSetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoSetClientSize(self, *_args, **_kwargs) return val def base_DoSetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoSetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoSetVirtualSize(self, *_args, **_kwargs) return val def base_DoGetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoGetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoGetSize(self, *_args, **_kwargs) return val def base_DoGetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoGetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoGetClientSize(self, *_args, **_kwargs) return val def base_DoGetPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoGetPosition,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoGetPosition(self, *_args, **_kwargs) return val def base_DoGetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoGetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoGetVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_DoGetBestSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_DoGetBestSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_DoGetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_InitDialog(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_InitDialog,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_InitDialog(self, *_args, **_kwargs) return val def base_TransferDataToWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_TransferDataToWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_TransferDataToWindow(self, *_args, **_kwargs) return val def base_TransferDataFromWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_TransferDataFromWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_TransferDataFromWindow(self, *_args, **_kwargs) return val def base_Validate(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_Validate,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_Validate(self, *_args, **_kwargs) return val def base_AcceptsFocus(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_AcceptsFocus,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_AcceptsFocus(self, *_args, **_kwargs) return val def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs) return val def base_GetMaxSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_GetMaxSize,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_GetMaxSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_AddChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_AddChild,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_AddChild(self, *_args, **_kwargs) return val def base_RemoveChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyWindow_base_RemoveChild,(self,) + _args, _kwargs) + val = windows2c.wxPyWindow_base_RemoveChild(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyWindow(wxPyWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxPyWindow,_args,_kwargs) + self.this = windows2c.new_wxPyWindow(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyWindow) self._setOORInfo(self) @@ -326,70 +326,70 @@ class wxPyControlPtr(wxControlPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl__setCallbackInfo,(self,) + _args, _kwargs) + val = windows2c.wxPyControl__setCallbackInfo(self, *_args, **_kwargs) return val def base_DoMoveWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoMoveWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoMoveWindow(self, *_args, **_kwargs) return val def base_DoSetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoSetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoSetSize(self, *_args, **_kwargs) return val def base_DoSetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoSetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoSetClientSize(self, *_args, **_kwargs) return val def base_DoSetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoSetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoSetVirtualSize(self, *_args, **_kwargs) return val def base_DoGetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoGetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoGetSize(self, *_args, **_kwargs) return val def base_DoGetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoGetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoGetClientSize(self, *_args, **_kwargs) return val def base_DoGetPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoGetPosition,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoGetPosition(self, *_args, **_kwargs) return val def base_DoGetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoGetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoGetVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_DoGetBestSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_DoGetBestSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_DoGetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_InitDialog(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_InitDialog,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_InitDialog(self, *_args, **_kwargs) return val def base_TransferDataToWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_TransferDataToWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_TransferDataToWindow(self, *_args, **_kwargs) return val def base_TransferDataFromWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_TransferDataFromWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_TransferDataFromWindow(self, *_args, **_kwargs) return val def base_Validate(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_Validate,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_Validate(self, *_args, **_kwargs) return val def base_AcceptsFocus(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_AcceptsFocus,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_AcceptsFocus(self, *_args, **_kwargs) return val def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs) return val def base_GetMaxSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_GetMaxSize,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_GetMaxSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_AddChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_AddChild,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_AddChild(self, *_args, **_kwargs) return val def base_RemoveChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyControl_base_RemoveChild,(self,) + _args, _kwargs) + val = windows2c.wxPyControl_base_RemoveChild(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyControl instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyControl(wxPyControlPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxPyControl,_args,_kwargs) + self.this = windows2c.new_wxPyControl(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyControl) self._setOORInfo(self) @@ -402,70 +402,70 @@ class wxPyPanelPtr(wxPanelPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel__setCallbackInfo,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel__setCallbackInfo(self, *_args, **_kwargs) return val def base_DoMoveWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoMoveWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoMoveWindow(self, *_args, **_kwargs) return val def base_DoSetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoSetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoSetSize(self, *_args, **_kwargs) return val def base_DoSetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoSetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoSetClientSize(self, *_args, **_kwargs) return val def base_DoSetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoSetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoSetVirtualSize(self, *_args, **_kwargs) return val def base_DoGetSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoGetSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoGetSize(self, *_args, **_kwargs) return val def base_DoGetClientSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoGetClientSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoGetClientSize(self, *_args, **_kwargs) return val def base_DoGetPosition(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoGetPosition,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoGetPosition(self, *_args, **_kwargs) return val def base_DoGetVirtualSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoGetVirtualSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoGetVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_DoGetBestSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_DoGetBestSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_DoGetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_InitDialog(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_InitDialog,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_InitDialog(self, *_args, **_kwargs) return val def base_TransferDataToWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_TransferDataToWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_TransferDataToWindow(self, *_args, **_kwargs) return val def base_TransferDataFromWindow(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_TransferDataFromWindow,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_TransferDataFromWindow(self, *_args, **_kwargs) return val def base_Validate(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_Validate,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_Validate(self, *_args, **_kwargs) return val def base_AcceptsFocus(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_AcceptsFocus,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_AcceptsFocus(self, *_args, **_kwargs) return val def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs) return val def base_GetMaxSize(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_GetMaxSize,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_GetMaxSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_AddChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_AddChild,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_AddChild(self, *_args, **_kwargs) return val def base_RemoveChild(self, *_args, **_kwargs): - val = apply(windows2c.wxPyPanel_base_RemoveChild,(self,) + _args, _kwargs) + val = windows2c.wxPyPanel_base_RemoveChild(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyPanel instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyPanel(wxPyPanelPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows2c.new_wxPyPanel,_args,_kwargs) + self.this = windows2c.new_wxPyPanel(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyPanel) self._setOORInfo(self) diff --git a/wxPython/src/gtk/windows3.cpp b/wxPython/src/gtk/windows3.cpp index 4fe2badf76..7a5ae89c16 100644 --- a/wxPython/src/gtk/windows3.cpp +++ b/wxPython/src/gtk/windows3.cpp @@ -57,10 +57,8 @@ extern PyObject *SWIG_newvarlink(void); #include "helpers.h" #include #include -#ifndef __WXMAC__ #include #include -#endif static PyObject* t_output_helper(PyObject* target, PyObject* o) { diff --git a/wxPython/src/gtk/windows3.py b/wxPython/src/gtk/windows3.py index c7a571f564..dd7b26accd 100644 --- a/wxPython/src/gtk/windows3.py +++ b/wxPython/src/gtk/windows3.py @@ -28,29 +28,29 @@ class wxSashEventPtr(wxCommandEventPtr): self.this = this self.thisown = 0 def SetEdge(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_SetEdge,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_SetEdge(self, *_args, **_kwargs) return val def GetEdge(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_GetEdge,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_GetEdge(self, *_args, **_kwargs) return val def SetDragRect(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_SetDragRect,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_SetDragRect(self, *_args, **_kwargs) return val def GetDragRect(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_GetDragRect,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_GetDragRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def SetDragStatus(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_SetDragStatus,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_SetDragStatus(self, *_args, **_kwargs) return val def GetDragStatus(self, *_args, **_kwargs): - val = apply(windows3c.wxSashEvent_GetDragStatus,(self,) + _args, _kwargs) + val = windows3c.wxSashEvent_GetDragStatus(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSashEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSashEvent(wxSashEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxSashEvent,_args,_kwargs) + self.this = windows3c.new_wxSashEvent(*_args,**_kwargs) self.thisown = 1 @@ -61,71 +61,71 @@ class wxSashWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_Create,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_Create(self, *_args, **_kwargs) return val def GetSashVisible(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetSashVisible,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetSashVisible(self, *_args, **_kwargs) return val def GetDefaultBorderSize(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetDefaultBorderSize,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetDefaultBorderSize(self, *_args, **_kwargs) return val def GetEdgeMargin(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetEdgeMargin,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetEdgeMargin(self, *_args, **_kwargs) return val def GetExtraBorderSize(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetExtraBorderSize,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetExtraBorderSize(self, *_args, **_kwargs) return val def GetMaximumSizeX(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetMaximumSizeX,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetMaximumSizeX(self, *_args, **_kwargs) return val def GetMaximumSizeY(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetMaximumSizeY,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetMaximumSizeY(self, *_args, **_kwargs) return val def GetMinimumSizeX(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetMinimumSizeX,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetMinimumSizeX(self, *_args, **_kwargs) return val def GetMinimumSizeY(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_GetMinimumSizeY,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_GetMinimumSizeY(self, *_args, **_kwargs) return val def HasBorder(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_HasBorder,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_HasBorder(self, *_args, **_kwargs) return val def SetDefaultBorderSize(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetDefaultBorderSize,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetDefaultBorderSize(self, *_args, **_kwargs) return val def SetExtraBorderSize(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetExtraBorderSize,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetExtraBorderSize(self, *_args, **_kwargs) return val def SetMaximumSizeX(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetMaximumSizeX,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetMaximumSizeX(self, *_args, **_kwargs) return val def SetMaximumSizeY(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetMaximumSizeY,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetMaximumSizeY(self, *_args, **_kwargs) return val def SetMinimumSizeX(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetMinimumSizeX,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetMinimumSizeX(self, *_args, **_kwargs) return val def SetMinimumSizeY(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetMinimumSizeY,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetMinimumSizeY(self, *_args, **_kwargs) return val def SetSashVisible(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetSashVisible,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetSashVisible(self, *_args, **_kwargs) return val def SetSashBorder(self, *_args, **_kwargs): - val = apply(windows3c.wxSashWindow_SetSashBorder,(self,) + _args, _kwargs) + val = windows3c.wxSashWindow_SetSashBorder(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSashWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSashWindow(wxSashWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxSashWindow,_args,_kwargs) + self.this = windows3c.new_wxSashWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSashWindow(*_args,**_kwargs): - val = wxSashWindowPtr(apply(windows3c.new_wxPreSashWindow,_args,_kwargs)) + val = wxSashWindowPtr(windows3c.new_wxPreSashWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -136,41 +136,41 @@ class wxQueryLayoutInfoEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetRequestedLength(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_SetRequestedLength,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_SetRequestedLength(self, *_args, **_kwargs) return val def GetRequestedLength(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_GetRequestedLength,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_GetRequestedLength(self, *_args, **_kwargs) return val def SetFlags(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_SetFlags,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_SetFlags(self, *_args, **_kwargs) return val def GetFlags(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_GetFlags,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_GetFlags(self, *_args, **_kwargs) return val def SetSize(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_SetSize,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_SetSize(self, *_args, **_kwargs) return val def GetSize(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_GetSize,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_GetSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def SetOrientation(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_SetOrientation,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_SetOrientation(self, *_args, **_kwargs) return val def GetOrientation(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_GetOrientation,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_GetOrientation(self, *_args, **_kwargs) return val def SetAlignment(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_SetAlignment,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_SetAlignment(self, *_args, **_kwargs) return val def GetAlignment(self, *_args, **_kwargs): - val = apply(windows3c.wxQueryLayoutInfoEvent_GetAlignment,(self,) + _args, _kwargs) + val = windows3c.wxQueryLayoutInfoEvent_GetAlignment(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxQueryLayoutInfoEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxQueryLayoutInfoEvent(wxQueryLayoutInfoEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxQueryLayoutInfoEvent,_args,_kwargs) + self.this = windows3c.new_wxQueryLayoutInfoEvent(*_args,**_kwargs) self.thisown = 1 @@ -181,23 +181,23 @@ class wxCalculateLayoutEventPtr(wxEventPtr): self.this = this self.thisown = 0 def SetFlags(self, *_args, **_kwargs): - val = apply(windows3c.wxCalculateLayoutEvent_SetFlags,(self,) + _args, _kwargs) + val = windows3c.wxCalculateLayoutEvent_SetFlags(self, *_args, **_kwargs) return val def GetFlags(self, *_args, **_kwargs): - val = apply(windows3c.wxCalculateLayoutEvent_GetFlags,(self,) + _args, _kwargs) + val = windows3c.wxCalculateLayoutEvent_GetFlags(self, *_args, **_kwargs) return val def SetRect(self, *_args, **_kwargs): - val = apply(windows3c.wxCalculateLayoutEvent_SetRect,(self,) + _args, _kwargs) + val = windows3c.wxCalculateLayoutEvent_SetRect(self, *_args, **_kwargs) return val def GetRect(self, *_args, **_kwargs): - val = apply(windows3c.wxCalculateLayoutEvent_GetRect,(self,) + _args, _kwargs) + val = windows3c.wxCalculateLayoutEvent_GetRect(self, *_args, **_kwargs) if val: val = wxRectPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxCalculateLayoutEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxCalculateLayoutEvent(wxCalculateLayoutEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxCalculateLayoutEvent,_args,_kwargs) + self.this = windows3c.new_wxCalculateLayoutEvent(*_args,**_kwargs) self.thisown = 1 @@ -208,35 +208,35 @@ class wxSashLayoutWindowPtr(wxSashWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_Create,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_Create(self, *_args, **_kwargs) return val def GetAlignment(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_GetAlignment,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_GetAlignment(self, *_args, **_kwargs) return val def GetOrientation(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_GetOrientation,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_GetOrientation(self, *_args, **_kwargs) return val def SetAlignment(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_SetAlignment,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_SetAlignment(self, *_args, **_kwargs) return val def SetDefaultSize(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_SetDefaultSize,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_SetDefaultSize(self, *_args, **_kwargs) return val def SetOrientation(self, *_args, **_kwargs): - val = apply(windows3c.wxSashLayoutWindow_SetOrientation,(self,) + _args, _kwargs) + val = windows3c.wxSashLayoutWindow_SetOrientation(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxSashLayoutWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxSashLayoutWindow(wxSashLayoutWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxSashLayoutWindow,_args,_kwargs) + self.this = windows3c.new_wxSashLayoutWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreSashLayoutWindow(*_args,**_kwargs): - val = wxSashLayoutWindowPtr(apply(windows3c.new_wxPreSashLayoutWindow,_args,_kwargs)) + val = wxSashLayoutWindowPtr(windows3c.new_wxPreSashLayoutWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -253,19 +253,19 @@ class wxLayoutAlgorithmPtr(wxObjectPtr): except: pass def LayoutMDIFrame(self, *_args, **_kwargs): - val = apply(windows3c.wxLayoutAlgorithm_LayoutMDIFrame,(self,) + _args, _kwargs) + val = windows3c.wxLayoutAlgorithm_LayoutMDIFrame(self, *_args, **_kwargs) return val def LayoutFrame(self, *_args, **_kwargs): - val = apply(windows3c.wxLayoutAlgorithm_LayoutFrame,(self,) + _args, _kwargs) + val = windows3c.wxLayoutAlgorithm_LayoutFrame(self, *_args, **_kwargs) return val def LayoutWindow(self, *_args, **_kwargs): - val = apply(windows3c.wxLayoutAlgorithm_LayoutWindow,(self,) + _args, _kwargs) + val = windows3c.wxLayoutAlgorithm_LayoutWindow(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxLayoutAlgorithm instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxLayoutAlgorithm(wxLayoutAlgorithmPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxLayoutAlgorithm,_args,_kwargs) + self.this = windows3c.new_wxLayoutAlgorithm(*_args,**_kwargs) self.thisown = 1 @@ -276,23 +276,23 @@ class wxPopupWindowPtr(wxWindowPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(windows3c.wxPopupWindow_Create,(self,) + _args, _kwargs) + val = windows3c.wxPopupWindow_Create(self, *_args, **_kwargs) return val def Position(self, *_args, **_kwargs): - val = apply(windows3c.wxPopupWindow_Position,(self,) + _args, _kwargs) + val = windows3c.wxPopupWindow_Position(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPopupWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPopupWindow(wxPopupWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxPopupWindow,_args,_kwargs) + self.this = windows3c.new_wxPopupWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPrePopupWindow(*_args,**_kwargs): - val = wxPopupWindowPtr(apply(windows3c.new_wxPrePopupWindow,_args,_kwargs)) + val = wxPopupWindowPtr(windows3c.new_wxPrePopupWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -303,19 +303,19 @@ class wxPopupTransientWindowPtr(wxPopupWindowPtr): self.this = this self.thisown = 0 def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(windows3c.wxPopupTransientWindow__setCallbackInfo,(self,) + _args, _kwargs) + val = windows3c.wxPopupTransientWindow__setCallbackInfo(self, *_args, **_kwargs) return val def Popup(self, *_args, **_kwargs): - val = apply(windows3c.wxPopupTransientWindow_Popup,(self,) + _args, _kwargs) + val = windows3c.wxPopupTransientWindow_Popup(self, *_args, **_kwargs) return val def Dismiss(self, *_args, **_kwargs): - val = apply(windows3c.wxPopupTransientWindow_Dismiss,(self,) + _args, _kwargs) + val = windows3c.wxPopupTransientWindow_Dismiss(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPopupTransientWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPopupTransientWindow(wxPopupTransientWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxPopupTransientWindow,_args,_kwargs) + self.this = windows3c.new_wxPopupTransientWindow(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPopupTransientWindow) self._setOORInfo(self) @@ -323,7 +323,7 @@ class wxPopupTransientWindow(wxPopupTransientWindowPtr): def wxPrePopupTransientWindow(*_args,**_kwargs): - val = wxPopupTransientWindowPtr(apply(windows3c.new_wxPrePopupTransientWindow,_args,_kwargs)) + val = wxPopupTransientWindowPtr(windows3c.new_wxPrePopupTransientWindow(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -334,16 +334,16 @@ class wxTipWindowPtr(wxPopupTransientWindowPtr): self.this = this self.thisown = 0 def SetBoundingRect(self, *_args, **_kwargs): - val = apply(windows3c.wxTipWindow_SetBoundingRect,(self,) + _args, _kwargs) + val = windows3c.wxTipWindow_SetBoundingRect(self, *_args, **_kwargs) return val def Close(self, *_args, **_kwargs): - val = apply(windows3c.wxTipWindow_Close,(self,) + _args, _kwargs) + val = windows3c.wxTipWindow_Close(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxTipWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxTipWindow(wxTipWindowPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(windows3c.new_wxTipWindow,_args,_kwargs) + self.this = windows3c.new_wxTipWindow(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) diff --git a/wxPython/src/gtk/wizard.py b/wxPython/src/gtk/wizard.py index 845cdb939f..9acf81282b 100644 --- a/wxPython/src/gtk/wizard.py +++ b/wxPython/src/gtk/wizard.py @@ -41,16 +41,16 @@ class wxWizardEventPtr(wxNotifyEventPtr): self.this = this self.thisown = 0 def GetDirection(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardEvent_GetDirection,(self,) + _args, _kwargs) + val = wizardc.wxWizardEvent_GetDirection(self, *_args, **_kwargs) return val def GetPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardEvent_GetPage,(self,) + _args, _kwargs) + val = wizardc.wxWizardEvent_GetPage(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWizardEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWizardEvent(wxWizardEventPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(wizardc.new_wxWizardEvent,_args,_kwargs) + self.this = wizardc.new_wxWizardEvent(*_args,**_kwargs) self.thisown = 1 @@ -61,20 +61,20 @@ class wxWizardPagePtr(wxPanelPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPage_Create,(self,) + _args, _kwargs) + val = wizardc.wxWizardPage_Create(self, *_args, **_kwargs) return val def GetPrev(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPage_GetPrev,(self,) + _args, _kwargs) + val = wizardc.wxWizardPage_GetPrev(self, *_args, **_kwargs) return val def GetNext(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPage_GetNext,(self,) + _args, _kwargs) + val = wizardc.wxWizardPage_GetNext(self, *_args, **_kwargs) return val def GetBitmap(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPage_GetBitmap,(self,) + _args, _kwargs) + val = wizardc.wxWizardPage_GetBitmap(self, *_args, **_kwargs) if val: val = wxBitmapPtr(val) ; val.thisown = 1 return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWizardPage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWizardPage(wxWizardPagePtr): def __init__(self,this): self.this = this @@ -87,73 +87,73 @@ class wxPyWizardPagePtr(wxWizardPagePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_Create,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_Create(self, *_args, **_kwargs) return val def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage__setCallbackInfo,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage__setCallbackInfo(self, *_args, **_kwargs) return val def base_DoMoveWindow(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoMoveWindow,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoMoveWindow(self, *_args, **_kwargs) return val def base_DoSetSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoSetSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoSetSize(self, *_args, **_kwargs) return val def base_DoSetClientSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoSetClientSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoSetClientSize(self, *_args, **_kwargs) return val def base_DoSetVirtualSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoSetVirtualSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoSetVirtualSize(self, *_args, **_kwargs) return val def base_DoGetSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoGetSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoGetSize(self, *_args, **_kwargs) return val def base_DoGetClientSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoGetClientSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoGetClientSize(self, *_args, **_kwargs) return val def base_DoGetPosition(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoGetPosition,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoGetPosition(self, *_args, **_kwargs) return val def base_DoGetVirtualSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoGetVirtualSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoGetVirtualSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_DoGetBestSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_DoGetBestSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_DoGetBestSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_InitDialog(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_InitDialog,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_InitDialog(self, *_args, **_kwargs) return val def base_TransferDataToWindow(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_TransferDataToWindow,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_TransferDataToWindow(self, *_args, **_kwargs) return val def base_TransferDataFromWindow(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_TransferDataFromWindow,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_TransferDataFromWindow(self, *_args, **_kwargs) return val def base_Validate(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_Validate,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_Validate(self, *_args, **_kwargs) return val def base_AcceptsFocus(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_AcceptsFocus,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_AcceptsFocus(self, *_args, **_kwargs) return val def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs) return val def base_GetMaxSize(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_GetMaxSize,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_GetMaxSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def base_AddChild(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_AddChild,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_AddChild(self, *_args, **_kwargs) return val def base_RemoveChild(self, *_args, **_kwargs): - val = apply(wizardc.wxPyWizardPage_base_RemoveChild,(self,) + _args, _kwargs) + val = wizardc.wxPyWizardPage_base_RemoveChild(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyWizardPage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyWizardPage(wxPyWizardPagePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(wizardc.new_wxPyWizardPage,_args,_kwargs) + self.this = wizardc.new_wxPyWizardPage(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyWizardPage) self._setOORInfo(self) @@ -161,7 +161,7 @@ class wxPyWizardPage(wxPyWizardPagePtr): def wxPrePyWizardPage(*_args,**_kwargs): - val = wxPyWizardPagePtr(apply(wizardc.new_wxPrePyWizardPage,_args,_kwargs)) + val = wxPyWizardPagePtr(wizardc.new_wxPrePyWizardPage(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -172,26 +172,26 @@ class wxWizardPageSimplePtr(wxWizardPagePtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPageSimple_Create,(self,) + _args, _kwargs) + val = wizardc.wxWizardPageSimple_Create(self, *_args, **_kwargs) return val def SetPrev(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPageSimple_SetPrev,(self,) + _args, _kwargs) + val = wizardc.wxWizardPageSimple_SetPrev(self, *_args, **_kwargs) return val def SetNext(self, *_args, **_kwargs): - val = apply(wizardc.wxWizardPageSimple_SetNext,(self,) + _args, _kwargs) + val = wizardc.wxWizardPageSimple_SetNext(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWizardPageSimple instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWizardPageSimple(wxWizardPageSimplePtr): def __init__(self,*_args,**_kwargs): - self.this = apply(wizardc.new_wxWizardPageSimple,_args,_kwargs) + self.this = wizardc.new_wxWizardPageSimple(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreWizardPageSimple(*_args,**_kwargs): - val = wxWizardPageSimplePtr(apply(wizardc.new_wxPreWizardPageSimple,_args,_kwargs)) + val = wxWizardPageSimplePtr(wizardc.new_wxPreWizardPageSimple(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val @@ -202,51 +202,51 @@ class wxWizardPtr(wxDialogPtr): self.this = this self.thisown = 0 def Create(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_Create,(self,) + _args, _kwargs) + val = wizardc.wxWizard_Create(self, *_args, **_kwargs) return val def Init(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_Init,(self,) + _args, _kwargs) + val = wizardc.wxWizard_Init(self, *_args, **_kwargs) return val def RunWizard(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_RunWizard,(self,) + _args, _kwargs) + val = wizardc.wxWizard_RunWizard(self, *_args, **_kwargs) return val def GetCurrentPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_GetCurrentPage,(self,) + _args, _kwargs) + val = wizardc.wxWizard_GetCurrentPage(self, *_args, **_kwargs) return val def SetPageSize(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_SetPageSize,(self,) + _args, _kwargs) + val = wizardc.wxWizard_SetPageSize(self, *_args, **_kwargs) return val def GetPageSize(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_GetPageSize,(self,) + _args, _kwargs) + val = wizardc.wxWizard_GetPageSize(self, *_args, **_kwargs) if val: val = wxSizePtr(val) ; val.thisown = 1 return val def FitToPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_FitToPage,(self,) + _args, _kwargs) + val = wizardc.wxWizard_FitToPage(self, *_args, **_kwargs) return val def IsRunning(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_IsRunning,(self,) + _args, _kwargs) + val = wizardc.wxWizard_IsRunning(self, *_args, **_kwargs) return val def ShowPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_ShowPage,(self,) + _args, _kwargs) + val = wizardc.wxWizard_ShowPage(self, *_args, **_kwargs) return val def HasNextPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_HasNextPage,(self,) + _args, _kwargs) + val = wizardc.wxWizard_HasNextPage(self, *_args, **_kwargs) return val def HasPrevPage(self, *_args, **_kwargs): - val = apply(wizardc.wxWizard_HasPrevPage,(self,) + _args, _kwargs) + val = wizardc.wxWizard_HasPrevPage(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxWizard instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxWizard(wxWizardPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(wizardc.new_wxWizard,_args,_kwargs) + self.this = wizardc.new_wxWizard(*_args,**_kwargs) self.thisown = 1 self._setOORInfo(self) def wxPreWizard(*_args,**_kwargs): - val = wxWizardPtr(apply(wizardc.new_wxPreWizard,_args,_kwargs)) + val = wxWizardPtr(wizardc.new_wxPreWizard(*_args,**_kwargs)) val.thisown = 1 val._setOORInfo(val) return val diff --git a/wxPython/src/gtk/wx.cpp b/wxPython/src/gtk/wx.cpp index 0497076557..646088cbda 100644 --- a/wxPython/src/gtk/wx.cpp +++ b/wxPython/src/gtk/wx.cpp @@ -2242,6 +2242,7 @@ SWIGEXPORT(void) initwxc() { PyDict_SetItemString(d,"wxFRAME_FLOAT_ON_PARENT", PyInt_FromLong((long) wxFRAME_FLOAT_ON_PARENT)); PyDict_SetItemString(d,"wxFRAME_NO_WINDOW_MENU", PyInt_FromLong((long) wxFRAME_NO_WINDOW_MENU)); PyDict_SetItemString(d,"wxFRAME_NO_TASKBAR", PyInt_FromLong((long) wxFRAME_NO_TASKBAR)); + PyDict_SetItemString(d,"wxFRAME_SHAPED", PyInt_FromLong((long) wxFRAME_SHAPED)); PyDict_SetItemString(d,"wxED_CLIENT_MARGIN", PyInt_FromLong((long) wxED_CLIENT_MARGIN)); PyDict_SetItemString(d,"wxED_BUTTONS_BOTTOM", PyInt_FromLong((long) wxED_BUTTONS_BOTTOM)); PyDict_SetItemString(d,"wxED_BUTTONS_RIGHT", PyInt_FromLong((long) wxED_BUTTONS_RIGHT)); @@ -2485,6 +2486,7 @@ SWIGEXPORT(void) initwxc() { PyDict_SetItemString(d,"wxGROW", PyInt_FromLong((long) wxGROW)); PyDict_SetItemString(d,"wxEXPAND", PyInt_FromLong((long) wxEXPAND)); PyDict_SetItemString(d,"wxNB_FIXEDWIDTH", PyInt_FromLong((long) wxNB_FIXEDWIDTH)); + PyDict_SetItemString(d,"wxNB_TOP", PyInt_FromLong((long) wxNB_TOP)); PyDict_SetItemString(d,"wxNB_LEFT", PyInt_FromLong((long) wxNB_LEFT)); PyDict_SetItemString(d,"wxNB_RIGHT", PyInt_FromLong((long) wxNB_RIGHT)); PyDict_SetItemString(d,"wxNB_BOTTOM", PyInt_FromLong((long) wxNB_BOTTOM)); @@ -2956,7 +2958,6 @@ SWIGEXPORT(void) initwxc() { PyDict_SetItemString(d,"wxEVT_COMMAND_ENTER", PyInt_FromLong((long) wxEVT_COMMAND_ENTER)); PyDict_SetItemString(d,"wxEVT_NAVIGATION_KEY", PyInt_FromLong((long) wxEVT_NAVIGATION_KEY)); PyDict_SetItemString(d,"wxEVT_TIMER", PyInt_FromLong((long) wxEVT_TIMER)); - PyDict_SetItemString(d,"__version__", PyString_FromString("0.0.0")); PyDict_SetItemString(d,"cvar", SWIG_globals); SWIG_addvarlink(SWIG_globals,"wxDefaultPosition",_wrap_wxDefaultPosition_get, _wrap_wxDefaultPosition_set); SWIG_addvarlink(SWIG_globals,"wxDefaultSize",_wrap_wxDefaultSize_get, _wrap_wxDefaultSize_set); @@ -3001,17 +3002,12 @@ SWIGEXPORT(void) initwxc() { initfontsc(); + // Although these are redfined in __version__ they need to be here too so + // that an assert can be done to ensure that the wxPython and the wxWindows + // versions match. PyDict_SetItemString(d,"wxMAJOR_VERSION", PyInt_FromLong((long)wxMAJOR_VERSION )); PyDict_SetItemString(d,"wxMINOR_VERSION", PyInt_FromLong((long)wxMINOR_VERSION )); - PyDict_SetItemString(d,"wxRELEASE_NUMBER", PyInt_FromLong((long)wxRELEASE_NUMBER )); - PyDict_SetItemString(d,"wxVERSION_NUMBER", PyInt_FromLong((long)wxVERSION_NUMBER )); -#if wxUSE_UNICODE - wxString tempStr(wxVERSION_STRING); - PyDict_SetItemString(d,"wxVERSION_STRING", PyUnicode_FromWideChar(tempStr.c_str(), tempStr.Len())); -#else - PyDict_SetItemString(d,"wxVERSION_STRING", PyString_FromString(wxVERSION_STRING)); -#endif - + PyDict_SetItemString(d,"wxRELEASE_VERSION", PyInt_FromLong((long)wxRELEASE_NUMBER )); { int i; diff --git a/wxPython/src/gtk/wx.py b/wxPython/src/gtk/wx.py index 0651ed5757..8dcae391b5 100644 --- a/wxPython/src/gtk/wx.py +++ b/wxPython/src/gtk/wx.py @@ -53,82 +53,82 @@ class wxPyAppPtr(wxEvtHandlerPtr): except: pass def _setCallbackInfo(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp__setCallbackInfo,(self,) + _args, _kwargs) + val = wxc.wxPyApp__setCallbackInfo(self, *_args, **_kwargs) return val def GetAppName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetAppName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetAppName(self, *_args, **_kwargs) return val def GetClassName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetClassName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetClassName(self, *_args, **_kwargs) return val def GetExitOnFrameDelete(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetExitOnFrameDelete,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetExitOnFrameDelete(self, *_args, **_kwargs) return val def GetPrintMode(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetPrintMode,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetPrintMode(self, *_args, **_kwargs) return val def GetTopWindow(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetTopWindow,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetTopWindow(self, *_args, **_kwargs) return val def GetVendorName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetVendorName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetVendorName(self, *_args, **_kwargs) return val def GetUseBestVisual(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetUseBestVisual,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetUseBestVisual(self, *_args, **_kwargs) return val def Dispatch(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_Dispatch,(self,) + _args, _kwargs) + val = wxc.wxPyApp_Dispatch(self, *_args, **_kwargs) return val def ExitMainLoop(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_ExitMainLoop,(self,) + _args, _kwargs) + val = wxc.wxPyApp_ExitMainLoop(self, *_args, **_kwargs) return val def Initialized(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_Initialized,(self,) + _args, _kwargs) + val = wxc.wxPyApp_Initialized(self, *_args, **_kwargs) return val def MainLoop(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_MainLoop,(self,) + _args, _kwargs) + val = wxc.wxPyApp_MainLoop(self, *_args, **_kwargs) return val def Pending(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_Pending,(self,) + _args, _kwargs) + val = wxc.wxPyApp_Pending(self, *_args, **_kwargs) return val def ProcessIdle(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_ProcessIdle,(self,) + _args, _kwargs) + val = wxc.wxPyApp_ProcessIdle(self, *_args, **_kwargs) return val def Yield(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_Yield,(self,) + _args, _kwargs) + val = wxc.wxPyApp_Yield(self, *_args, **_kwargs) return val def SetAppName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetAppName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetAppName(self, *_args, **_kwargs) return val def SetClassName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetClassName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetClassName(self, *_args, **_kwargs) return val def SetExitOnFrameDelete(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetExitOnFrameDelete,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetExitOnFrameDelete(self, *_args, **_kwargs) return val def SetPrintMode(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetPrintMode,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetPrintMode(self, *_args, **_kwargs) return val def SetTopWindow(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetTopWindow,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetTopWindow(self, *_args, **_kwargs) return val def SetVendorName(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetVendorName,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetVendorName(self, *_args, **_kwargs) return val def SetUseBestVisual(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetUseBestVisual,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetUseBestVisual(self, *_args, **_kwargs) return val def GetAssertMode(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_GetAssertMode,(self,) + _args, _kwargs) + val = wxc.wxPyApp_GetAssertMode(self, *_args, **_kwargs) return val def SetAssertMode(self, *_args, **_kwargs): - val = apply(wxc.wxPyApp_SetAssertMode,(self,) + _args, _kwargs) + val = wxc.wxPyApp_SetAssertMode(self, *_args, **_kwargs) return val def __repr__(self): - return "" % (self.this,) + return "<%s.%s instance; proxy of C++ wxPyApp instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this) class wxPyApp(wxPyAppPtr): def __init__(self,*_args,**_kwargs): - self.this = apply(wxc.new_wxPyApp,_args,_kwargs) + self.this = wxc.new_wxPyApp(*_args,**_kwargs) self.thisown = 1 self._setCallbackInfo(self, wxPyApp) self._setOORInfo(self) @@ -159,7 +159,7 @@ _wxStart = wxc._wxStart _wxSetDictionary = wxc._wxSetDictionary def wxGetApp(*_args, **_kwargs): - val = apply(wxc.wxGetApp,_args,_kwargs) + val = wxc.wxGetApp(*_args,**_kwargs) return val wxApp_CleanUp = wxc.wxApp_CleanUp @@ -240,6 +240,7 @@ wxFRAME_TOOL_WINDOW = wxc.wxFRAME_TOOL_WINDOW wxFRAME_FLOAT_ON_PARENT = wxc.wxFRAME_FLOAT_ON_PARENT wxFRAME_NO_WINDOW_MENU = wxc.wxFRAME_NO_WINDOW_MENU wxFRAME_NO_TASKBAR = wxc.wxFRAME_NO_TASKBAR +wxFRAME_SHAPED = wxc.wxFRAME_SHAPED wxED_CLIENT_MARGIN = wxc.wxED_CLIENT_MARGIN wxED_BUTTONS_BOTTOM = wxc.wxED_BUTTONS_BOTTOM wxED_BUTTONS_RIGHT = wxc.wxED_BUTTONS_RIGHT @@ -483,6 +484,7 @@ wxSHRINK = wxc.wxSHRINK wxGROW = wxc.wxGROW wxEXPAND = wxc.wxEXPAND wxNB_FIXEDWIDTH = wxc.wxNB_FIXEDWIDTH +wxNB_TOP = wxc.wxNB_TOP wxNB_LEFT = wxc.wxNB_LEFT wxNB_RIGHT = wxc.wxNB_RIGHT wxNB_BOTTOM = wxc.wxNB_BOTTOM @@ -954,7 +956,6 @@ wxEVT_COMMAND_KILL_FOCUS = wxc.wxEVT_COMMAND_KILL_FOCUS wxEVT_COMMAND_ENTER = wxc.wxEVT_COMMAND_ENTER wxEVT_NAVIGATION_KEY = wxc.wxEVT_NAVIGATION_KEY wxEVT_TIMER = wxc.wxEVT_TIMER -__version__ = wxc.__version__ cvar = wxc.cvar wxDefaultPosition = wxPointPtr(wxc.cvar.wxDefaultPosition) wxDefaultSize = wxSizePtr(wxc.cvar.wxDefaultSize) @@ -1485,10 +1486,10 @@ def EVT_SASH_DRAGGED_RANGE(win, id1, id2, func): win.Connect(id1, id2, wxEVT_SASH_DRAGGED, func) def EVT_QUERY_LAYOUT_INFO(win, func): - win.Connect(-1, -1, wxEVT_EVT_QUERY_LAYOUT_INFO, func) + win.Connect(-1, -1, wxEVT_QUERY_LAYOUT_INFO, func) def EVT_CALCULATE_LAYOUT(win, func): - win.Connect(-1, -1, wxEVT_EVT_CALCULATE_LAYOUT, func) + win.Connect(-1, -1, wxEVT_CALCULATE_LAYOUT, func) #wxSplitterWindow @@ -1578,6 +1579,8 @@ wxSystemSettings_GetSystemMetric = wxSystemSettings_GetMetric # workarounds for bad wxRTTI names __wxPyPtrTypeMap['wxGauge95'] = 'wxGauge' +__wxPyPtrTypeMap['wxSlider95'] = 'wxSlider' +__wxPyPtrTypeMap['wxStatusBar95'] = 'wxStatusBar' @@ -1615,6 +1618,8 @@ if wxPlatform == "__WXGTK__": except: pass +# On MSW add the directory where the wxWindows catalogs were installed +# to the default catalog path. if wxPlatform == "__WXMSW__": import os localedir = os.path.join(os.path.split(__file__)[0], "locale") @@ -1622,15 +1627,17 @@ if wxPlatform == "__WXMSW__": del os #---------------------------------------------------------------------- -# wxWindows version numbers. wxPython version is in __version__. +# Load version numbers from __version__... Ensure that major and minor +# versions are the same for both wxPython and wxWindows. -wxMAJOR_VERSION = wxc.wxMAJOR_VERSION -wxMINOR_VERSION = wxc.wxMINOR_VERSION -wxRELEASE_NUMBER = wxc.wxRELEASE_NUMBER -wxVERSION_STRING = wxc.wxVERSION_STRING -wxVERSION_NUMBER = wxc.wxVERSION_NUMBER +from wxPython.__version__ import * +__version__ = wxVERSION_STRING -wxVERSION = (wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER) +assert wxMAJOR_VERSION == wxc.wxMAJOR_VERSION, "wxPython/wxWindows version mismatch" +assert wxMINOR_VERSION == wxc.wxMINOR_VERSION, "wxPython/wxWindows version mismatch" +if wxRELEASE_VERSION != wxc.wxRELEASE_VERSION: + import warnings + warnings.warn("wxPython/wxWindows release number mismatch") #---------------------------------------------------------------------- @@ -1698,9 +1705,9 @@ def wxCallAfter(callable, *args, **kw): global _wxCallAfterId if _wxCallAfterId is None: - _wxCallAfterId = wxNewId() + _wxCallAfterId = wxNewEventType() app.Connect(-1, -1, _wxCallAfterId, - lambda event: apply(event.callable, event.args, event.kw) ) + lambda event: event.callable(*event.args, **event.kw) ) evt = wxPyEvent() evt.SetEventType(_wxCallAfterId) evt.callable = callable @@ -1708,8 +1715,97 @@ def wxCallAfter(callable, *args, **kw): evt.kw = kw wxPostEvent(app, evt) -# an alias -wxRunLater = wxCallAfter + +#---------------------------------------------------------------------- + + +class wxFutureCall: + """ + A convenience class for wxTimer, that calls the given callable + object once after the given amount of milliseconds, passing any + positional or keyword args. The return value of the callable is + availbale after it has been run with the GetResult method. + + If you don't need to get the return value or restart the timer + then there is no need to hold a reference to this object. It will + hold a reference to itself while the timer is running (the timer + has a reference to self.Notify) but the cycle will be broken when + the timer completes, automatically cleaning up the wxFutureCall + object. + """ + def __init__(self, millis, callable, *args, **kwargs): + self.millis = millis + self.callable = callable + self.SetArgs(*args, **kwargs) + self.runCount = 0 + self.hasRun = False + self.result = None + self.timer = None + self.Start() + + def __del__(self): + self.Stop() + + + def Start(self, millis=None): + """ + (Re)start the timer + """ + self.hasRun = False + if millis is not None: + self.millis = millis + self.Stop() + self.timer = wxPyTimer(self.Notify) + self.timer.Start(self.millis, wxTIMER_ONE_SHOT) + Restart = Start + + + def Stop(self): + """ + Stop and destroy the timer. + """ + if self.timer is not None: + self.timer.Stop() + self.timer = None + + + def GetInterval(self): + if self.timer is not None: + return self.timer.GetInterval() + else: + return 0 + + + def IsRunning(self): + return self.timer is not None and self.timer.IsRunning() + + + def SetArgs(self, *args, **kwargs): + """ + (Re)set the args passed to the callable object. This is + useful in conjunction with Restart if you want to schedule a + new call to the same callable object but with different + parameters. + """ + self.args = args + self.kwargs = kwargs + + def HasRun(self): + return self.hasRun + + def GetResult(self): + return self.result + + def Notify(self): + """ + The timer has expired so call the callable. + """ + if self.callable and getattr(self.callable, 'im_self', True): + self.runCount += 1 + self.result = self.callable(*self.args, **self.kwargs) + self.hasRun = True + wxCallAfter(self.Stop) + #---------------------------------------------------------------------- @@ -1739,6 +1835,35 @@ class _wxPyDeadObject: return 0 +#---------------------------------------------------------------------- + +class wxNotebookPage(wxPanel): + """ + There is an old (and apparently unsolvable) bug when placing a + window with a nonstandard background colour in a wxNotebook on + wxGTK, as the notbooks's background colour would always be used + when the window is refreshed. The solution is to place a panel in + the notbook and the coloured window on the panel, sized to cover + the panel. This simple class does that for you, just put an + instance of this in the notebook and make your regular window a + child of this one and it will handle the resize for you. + """ + def __init__(self, parent, id=-1, + pos=wxDefaultPosition, size=wxDefaultSize, + style=wxTAB_TRAVERSAL, name="panel"): + wxPanel.__init__(self, parent, id, pos, size, style, name) + self.child = None + EVT_SIZE(self, self.OnSize) + def OnSize(self, evt): + if self.child is None: + children = self.GetChildren() + if len(children): + self.child = children[0] + if self.child: + self.child.SetPosition((0,0)) + self.child.SetSize(self.GetSize()) + + #---------------------------------------------------------------------- #---------------------------------------------------------------------- @@ -1793,6 +1918,18 @@ class wxApp(wxPyApp): def __init__(self, redirect=_defRedirect, filename=None, useBestVisual=False): wxPyApp.__init__(self) + + if wx.wxPlatform == "__WXMAC__": + try: + import MacOS + if not MacOS.WMAvailable(): + print """This program needs access to the screen. Please run with +'pythonw', not 'python', and only when you are logged in on the main display +of your Mac.""" + sys.exit(1) + except: + pass + self.stdioWin = None self.saveStdio = (sys.stdout, sys.stderr) @@ -1872,7 +2009,7 @@ class wxPyWidgetTester(wxApp): return True def SetWidget(self, widgetClass, *args): - w = apply(widgetClass, (self.frame,) + args) + w = widgetClass(self.frame, *args) self.frame.Show(True) #---------------------------------------------------------------------------- diff --git a/wxPython/src/help.i b/wxPython/src/help.i index 54f431b47c..3d2ad7bc78 100644 --- a/wxPython/src/help.i +++ b/wxPython/src/help.i @@ -105,8 +105,8 @@ public: // Virtuals... wxString GetHelp(const wxWindow *window); - bool ShowHelp(wxWindowBase *window); - void AddHelp(wxWindowBase *window, const wxString& text); + bool ShowHelp(wxWindow *window); + void AddHelp(wxWindow *window, const wxString& text); %name(AddHelpById)void AddHelp(wxWindowID id, const wxString& text); %addmethods { void Destroy() { delete self; } } diff --git a/wxPython/src/helpers.cpp b/wxPython/src/helpers.cpp index c47bd837c5..a425d6cf1f 100644 --- a/wxPython/src/helpers.cpp +++ b/wxPython/src/helpers.cpp @@ -386,6 +386,10 @@ void __wxPreStart(PyObject* moduleDict) wxPyTMutex = new wxMutex; #endif + // Restore default signal handlers, (prevents crash upon Ctrl-C in the + // console that launched a wxPython app...) + PyOS_FiniInterrupts(); + wxApp::CheckBuildOptions(wxBuildOptions()); wxPyAssertionError = PyErr_NewException("wxPython.wxc.wxPyAssertionError", @@ -587,21 +591,37 @@ void wxPyOORClientData_dtor(wxPyOORClientData* self) { Py_INCREF(deadObjectClass); } - // TODO: If wxPyDOingCleanup, should we skip the code below? - // Clear the instance's dictionary, put the name of the old class into the - // instance, and then reset the class to be the dead class. - if (self->m_obj->ob_refcnt > 1) { // but only if there is more than one reference + // Only if there is more than one reference to the object + if ( !wxPyDoingCleanup && self->m_obj->ob_refcnt > 1 ) { wxASSERT_MSG(PyInstance_Check(self->m_obj), wxT("m_obj not an instance!?!?!")); + + // Call __del__, if there is one. + PyObject* func = PyObject_GetAttrString(self->m_obj, "__del__"); + if (func) { + PyObject* rv = PyObject_CallMethod(self->m_obj, "__del__", NULL); + Py_XDECREF(rv); + Py_DECREF(func); + } + if (PyErr_Occurred()) + PyErr_Clear(); // just ignore it for now + + // Clear the instance's dictionary PyInstanceObject* inst = (PyInstanceObject*)self->m_obj; PyDict_Clear(inst->in_dict); + + // put the name of the old class into the instance, and then reset the + // class to be the dead class. PyDict_SetItemString(inst->in_dict, "_name", inst->in_class->cl_name); inst->in_class = (PyClassObject*)deadObjectClass; Py_INCREF(deadObjectClass); } + + // m_obj is DECREF's in the base class dtor... wxPyEndBlockThreads(); } + //--------------------------------------------------------------------------- // Stuff used by OOR to find the right wxPython class type to return and to // build it. @@ -1145,7 +1165,12 @@ size_t wxPyCBInputStream::OnSysWrite(const void *buffer, size_t bufsize) { off_t wxPyCBInputStream::OnSysSeek(off_t off, wxSeekMode mode) { wxPyBeginBlockThreads(); +#ifdef _LARGE_FILES + // off_t is a 64-bit value... + PyObject* arglist = Py_BuildValue("(Li)", off, mode); +#else PyObject* arglist = Py_BuildValue("(ii)", off, mode); +#endif PyObject* result = PyEval_CallObject(m_seek, arglist); Py_DECREF(arglist); Py_XDECREF(result); @@ -1153,6 +1178,7 @@ off_t wxPyCBInputStream::OnSysSeek(off_t off, wxSeekMode mode) { return OnSysTell(); } + off_t wxPyCBInputStream::OnSysTell() const { wxPyBeginBlockThreads(); PyObject* arglist = Py_BuildValue("()"); @@ -1160,7 +1186,13 @@ off_t wxPyCBInputStream::OnSysTell() const { Py_DECREF(arglist); off_t o = 0; if (result != NULL) { +#ifdef _LARGE_FILES + if (PyLong_Check(result)) + o = PyLong_AsLongLong(result); + else +#else o = PyInt_AsLong(result); +#endif Py_DECREF(result); }; wxPyEndBlockThreads(); diff --git a/wxPython/src/helpers.h b/wxPython/src/helpers.h index 4cfd02d5ba..e731fb51df 100644 --- a/wxPython/src/helpers.h +++ b/wxPython/src/helpers.h @@ -485,7 +485,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__(CBNAME) \ void CBNAME(); \ - void base_##CBNAME(); + void base_##CBNAME() #define IMP_PYCALLBACK__(CLASS, PCLASS, CBNAME) \ @@ -506,7 +506,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_INTINT(CBNAME) \ bool CBNAME(int a, int b); \ - bool base_##CBNAME(int a, int b); + bool base_##CBNAME(int a, int b) #define IMP_PYCALLBACK_BOOL_INTINT(CLASS, PCLASS, CBNAME) \ @@ -526,9 +526,30 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_VOID_(CBNAME) \ + void CBNAME(); \ + void base_##CBNAME() + + +#define IMP_PYCALLBACK_VOID_(CLASS, PCLASS, CBNAME) \ + void CLASS::CBNAME() { \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \ + wxPyEndBlockThreads(); \ + if (! found) \ + PCLASS::CBNAME(); \ + } \ + void CLASS::base_##CBNAME() { \ + PCLASS::CBNAME(); \ + } + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_VOID_INTINT(CBNAME) \ void CBNAME(int a, int b); \ - void base_##CBNAME(int a, int b); + void base_##CBNAME(int a, int b) #define IMP_PYCALLBACK_VOID_INTINT(CLASS, PCLASS, CBNAME) \ @@ -547,9 +568,30 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_VOID_INT(CBNAME) \ + void CBNAME(int a); \ + void base_##CBNAME(int a) + + +#define IMP_PYCALLBACK_VOID_INT(CLASS, PCLASS, CBNAME) \ + void CLASS::CBNAME(int a) { \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)",a)); \ + wxPyEndBlockThreads(); \ + if (! found) \ + PCLASS::CBNAME(a); \ + } \ + void CLASS::base_##CBNAME(int a) { \ + PCLASS::CBNAME(a); \ + } + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_VOID_INT4(CBNAME) \ void CBNAME(int a, int b, int c, int d); \ - void base_##CBNAME(int a, int b, int c, int d); + void base_##CBNAME(int a, int b, int c, int d) #define IMP_PYCALLBACK_VOID_INT4(CLASS, PCLASS, CBNAME) \ @@ -569,7 +611,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_VOID_INT5(CBNAME) \ void CBNAME(int a, int b, int c, int d, int e); \ - void base_##CBNAME(int a, int b, int c, int d, int e); + void base_##CBNAME(int a, int b, int c, int d, int e) #define IMP_PYCALLBACK_VOID_INT5(CLASS, PCLASS, CBNAME) \ @@ -590,7 +632,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_VOID_INTPINTP_const(CBNAME) \ void CBNAME(int* a, int* b) const; \ - void base_##CBNAME(int* a, int* b) const; + void base_##CBNAME(int* a, int* b) const #define IMP_PYCALLBACK_VOID_INTPINTP_const(CLASS, PCLASS, CBNAME) \ @@ -632,7 +674,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_SIZE_const(CBNAME) \ wxSize CBNAME() const; \ - wxSize base_##CBNAME() const; + wxSize base_##CBNAME() const #define IMP_PYCALLBACK_SIZE_const(CLASS, PCLASS, CBNAME) \ @@ -674,9 +716,31 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_BOOL_BOOL(CBNAME) \ + bool CBNAME(bool a); \ + bool base_##CBNAME(bool a) + + +#define IMP_PYCALLBACK_BOOL_BOOL(CLASS, PCLASS, CBNAME) \ + bool CLASS::CBNAME(bool a) { \ + bool rval=FALSE, found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)",a));\ + wxPyEndBlockThreads(); \ + if (! found) \ + rval = PCLASS::CBNAME(a); \ + return rval; \ + } \ + bool CLASS::base_##CBNAME(bool a) { \ + return PCLASS::CBNAME(a); \ + } + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_BOOL_INT(CBNAME) \ bool CBNAME(int a); \ - bool base_##CBNAME(int a); + bool base_##CBNAME(int a) #define IMP_PYCALLBACK_BOOL_INT(CLASS, PCLASS, CBNAME) \ @@ -697,7 +761,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BOOL_INT_pure(CBNAME) \ - bool CBNAME(int a); + bool CBNAME(int a) #define IMP_PYCALLBACK_BOOL_INT_pure(CLASS, PCLASS, CBNAME) \ @@ -716,7 +780,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DC(CBNAME) \ void CBNAME(wxDC& a); \ - void base_##CBNAME(wxDC& a); + void base_##CBNAME(wxDC& a) #define IMP_PYCALLBACK__DC(CLASS, PCLASS, CBNAME) \ @@ -742,7 +806,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DCBOOL(CBNAME) \ void CBNAME(wxDC& a, bool b); \ - void base_##CBNAME(wxDC& a, bool b); + void base_##CBNAME(wxDC& a, bool b) #define IMP_PYCALLBACK__DCBOOL(CLASS, PCLASS, CBNAME) \ @@ -766,7 +830,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DCBOOL(CBNAME) \ void CBNAME(wxDC& a, bool b); \ - void base_##CBNAME(wxDC& a, bool b); + void base_##CBNAME(wxDC& a, bool b) #define IMP_PYCALLBACK__DCBOOL(CLASS, PCLASS, CBNAME) \ @@ -790,7 +854,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__2DBL(CBNAME) \ void CBNAME(double a, double b); \ - void base_##CBNAME(double a, double b); + void base_##CBNAME(double a, double b) #define IMP_PYCALLBACK__2DBL(CLASS, PCLASS, CBNAME) \ @@ -811,7 +875,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__2DBL2INT(CBNAME) \ void CBNAME(double a, double b, int c, int d); \ - void base_##CBNAME(double a, double b, int c, int d); + void base_##CBNAME(double a, double b, int c, int d) #define IMP_PYCALLBACK__2DBL2INT(CLASS, PCLASS, CBNAME) \ @@ -833,7 +897,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DC4DBLBOOL(CBNAME) \ void CBNAME(wxDC& a, double b, double c, double d, double e, bool f); \ - void base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f); + void base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f) #define IMP_PYCALLBACK__DC4DBLBOOL(CLASS, PCLASS, CBNAME) \ @@ -857,7 +921,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_DC4DBLBOOL(CBNAME) \ bool CBNAME(wxDC& a, double b, double c, double d, double e, bool f); \ - bool base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f); + bool base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f) #define IMP_PYCALLBACK_BOOL_DC4DBLBOOL(CLASS, PCLASS, CBNAME) \ @@ -883,7 +947,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__BOOL2DBL2INT(CBNAME) \ void CBNAME(bool a, double b, double c, int d, int e); \ - void base_##CBNAME(bool a, double b, double c, int d, int e); + void base_##CBNAME(bool a, double b, double c, int d, int e) #define IMP_PYCALLBACK__BOOL2DBL2INT(CLASS, PCLASS, CBNAME) \ @@ -905,7 +969,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DC4DBL(CBNAME) \ void CBNAME(wxDC& a, double b, double c, double d, double e); \ - void base_##CBNAME(wxDC& a, double b, double c, double d, double e); + void base_##CBNAME(wxDC& a, double b, double c, double d, double e) #define IMP_PYCALLBACK__DC4DBL(CLASS, PCLASS, CBNAME) \ @@ -929,7 +993,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__DCBOOL(CBNAME) \ void CBNAME(wxDC& a, bool b); \ - void base_##CBNAME(wxDC& a, bool b); + void base_##CBNAME(wxDC& a, bool b) #define IMP_PYCALLBACK__DCBOOL(CLASS, PCLASS, CBNAME) \ @@ -953,7 +1017,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__WXCPBOOL2DBL2INT(CBNAME) \ void CBNAME(wxControlPoint* a, bool b, double c, double d, int e, int f); \ - void base_##CBNAME(wxControlPoint* a, bool b, double c, double d, int e, int f); + void base_##CBNAME(wxControlPoint* a, bool b, double c, double d, int e, int f) #define IMP_PYCALLBACK__WXCPBOOL2DBL2INT(CLASS, PCLASS, CBNAME) \ @@ -979,7 +1043,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__WXCP2DBL2INT(CBNAME) \ void CBNAME(wxControlPoint* a, double b, double c, int d, int e); \ - void base_##CBNAME(wxControlPoint* a, double b, double c, int d, int e); + void base_##CBNAME(wxControlPoint* a, double b, double c, int d, int e) #define IMP_PYCALLBACK__WXCP2DBL2INT(CLASS, PCLASS, CBNAME) \ @@ -1004,7 +1068,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__2DBLINT(CBNAME) \ void CBNAME(double a, double b, int c); \ - void base_##CBNAME(double a, double b, int c); + void base_##CBNAME(double a, double b, int c) #define IMP_PYCALLBACK__2DBLINT(CLASS, PCLASS, CBNAME) \ @@ -1025,7 +1089,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__BOOL2DBLINT(CBNAME) \ void CBNAME(bool a, double b, double c, int d); \ - void base_##CBNAME(bool a, double b, double c, int d); + void base_##CBNAME(bool a, double b, double c, int d) #define IMP_PYCALLBACK__BOOL2DBLINT(CLASS, PCLASS, CBNAME) \ @@ -1047,7 +1111,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__STRING(CBNAME) \ void CBNAME(const wxString& a); \ - void base_##CBNAME(const wxString& a); + void base_##CBNAME(const wxString& a) #define IMP_PYCALLBACK__STRING(CLASS, PCLASS, CBNAME) \ void CLASS::CBNAME(const wxString& a) { \ @@ -1070,7 +1134,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_STRING(CBNAME) \ bool CBNAME(const wxString& a); \ - bool base_##CBNAME(const wxString& a); + bool base_##CBNAME(const wxString& a) #define IMP_PYCALLBACK_BOOL_STRING(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(const wxString& a) { \ @@ -1094,7 +1158,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BOOL_STRING_pure(CBNAME) \ - bool CBNAME(const wxString& a); + bool CBNAME(const wxString& a) #define IMP_PYCALLBACK_BOOL_STRING_pure(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(const wxString& a) { \ @@ -1112,7 +1176,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_STRING_STRING_pure(CBNAME) \ - wxString CBNAME(const wxString& a); \ + wxString CBNAME(const wxString& a) #define IMP_PYCALLBACK_STRING_STRING_pure(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME(const wxString& a) { \ @@ -1136,7 +1200,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_STRING_STRING(CBNAME) \ wxString CBNAME(const wxString& a); \ - wxString base_##CBNAME(const wxString& a); + wxString base_##CBNAME(const wxString& a) #define IMP_PYCALLBACK_STRING_STRING(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME(const wxString& a) { \ @@ -1162,7 +1226,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_STRING_STRINGINT_pure(CBNAME) \ - wxString CBNAME(const wxString& a,int b); \ + wxString CBNAME(const wxString& a,int b) #define IMP_PYCALLBACK_STRING_STRINGINT_pure(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME(const wxString& a,int b) { \ @@ -1186,7 +1250,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_STRINGSTRING(CBNAME) \ bool CBNAME(const wxString& a, const wxString& b); \ - bool base_##CBNAME(const wxString& a, const wxString& b); + bool base_##CBNAME(const wxString& a, const wxString& b) #define IMP_PYCALLBACK_BOOL_STRINGSTRING(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(const wxString& a, const wxString& b) { \ @@ -1213,7 +1277,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_STRING_(CBNAME) \ wxString CBNAME(); \ - wxString base_##CBNAME(); + wxString base_##CBNAME() #define IMP_PYCALLBACK_STRING_(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME() { \ @@ -1268,7 +1332,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_STRING__pure(CBNAME) \ - wxString CBNAME(); + wxString CBNAME() #define IMP_PYCALLBACK_STRING__pure(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME() { \ @@ -1310,7 +1374,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BOOL_TAG_pure(CBNAME) \ - bool CBNAME(const wxHtmlTag& a); \ + bool CBNAME(const wxHtmlTag& a) #define IMP_PYCALLBACK_BOOL_TAG_pure(CLASS, PCLASS, CBNAME) \ @@ -1330,7 +1394,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__CELLINTINT(CBNAME) \ void CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y); \ - void base_##CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y); + void base_##CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y) #define IMP_PYCALLBACK__CELLINTINT(CLASS, PCLASS, CBNAME) \ void CLASS::CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y) { \ @@ -1354,7 +1418,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__CELLINTINTME(CBNAME) \ void CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& e); \ - void base_##CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& e); + void base_##CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& e) #define IMP_PYCALLBACK__CELLINTINTME(CLASS, PCLASS, CBNAME) \ void CLASS::CBNAME(wxHtmlCell *cell, wxCoord x, wxCoord y, const wxMouseEvent& e) { \ @@ -1380,7 +1444,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK___pure(CBNAME) \ - void CBNAME(); \ + void CBNAME() #define IMP_PYCALLBACK___pure(CLASS, PCLASS, CBNAME) \ @@ -1394,7 +1458,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_wxSize__pure(CBNAME) \ - wxSize CBNAME(); \ + wxSize CBNAME() #define IMP_PYCALLBACK_wxSize__pure(CLASS, PCLASS, CBNAME) \ @@ -1433,7 +1497,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_WXWIN(CBNAME) \ bool CBNAME(wxWindow* a); \ - bool base_##CBNAME(wxWindow* a); + bool base_##CBNAME(wxWindow* a) #define IMP_PYCALLBACK_BOOL_WXWIN(CLASS, PCLASS, CBNAME) \ @@ -1457,9 +1521,37 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- +#define DEC_PYCALLBACK_BOOL_WXWINDC(CBNAME) \ + bool CBNAME(wxWindow* a, wxDC& b); \ + bool base_##CBNAME(wxWindow* a, wxDC& b) + + +#define IMP_PYCALLBACK_BOOL_WXWINDC(CLASS, PCLASS, CBNAME) \ + bool CLASS::CBNAME(wxWindow* a, wxDC& b) { \ + bool rval=FALSE; \ + bool found; \ + wxPyBeginBlockThreads(); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ + PyObject* win = wxPyMake_wxObject(a); \ + PyObject* dc = wxPyMake_wxObject(&b); \ + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", win, dc));\ + Py_DECREF(win); \ + Py_DECREF(dc); \ + } \ + wxPyEndBlockThreads(); \ + if (! found) \ + rval = PCLASS::CBNAME(a, b); \ + return rval; \ + } \ + bool CLASS::base_##CBNAME(wxWindow* a, wxDC& b) { \ + return PCLASS::CBNAME(a, b); \ + } + +//--------------------------------------------------------------------------- + #define DEC_PYCALLBACK_VOID_WXWINBASE(CBNAME) \ void CBNAME(wxWindowBase* a); \ - void base_##CBNAME(wxWindowBase* a); + void base_##CBNAME(wxWindowBase* a) #define IMP_PYCALLBACK_VOID_WXWINBASE(CLASS, PCLASS, CBNAME) \ @@ -1483,7 +1575,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_(CBNAME) \ bool CBNAME(); \ - bool base_##CBNAME(); + bool base_##CBNAME() #define IMP_PYCALLBACK_BOOL_(CLASS, PCLASS, CBNAME) \ @@ -1506,7 +1598,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_const(CBNAME) \ bool CBNAME() const; \ - bool base_##CBNAME() const; + bool base_##CBNAME() const #define IMP_PYCALLBACK_BOOL_const(CLASS, PCLASS, CBNAME) \ @@ -1529,7 +1621,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_DR_2WXCDR(CBNAME) \ wxDragResult CBNAME(wxCoord x, wxCoord y, wxDragResult def); \ - wxDragResult base_##CBNAME(wxCoord x, wxCoord y, wxDragResult def); + wxDragResult base_##CBNAME(wxCoord x, wxCoord y, wxDragResult def) #define IMP_PYCALLBACK_DR_2WXCDR(CLASS, PCLASS, CBNAME) \ @@ -1551,7 +1643,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_FSF_FSSTRING_pure(CBNAME) \ - wxFSFile* CBNAME(wxFileSystem& fs, const wxString& location); \ + wxFSFile* CBNAME(wxFileSystem& fs, const wxString& location) #define IMP_PYCALLBACK_FSF_FSSTRING_pure(CLASS, PCLASS, CBNAME) \ wxFSFile* CLASS::CBNAME(wxFileSystem& a,const wxString& b) { \ @@ -1578,7 +1670,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_DR(CBNAME) \ bool CBNAME(wxDragResult a); \ - bool base_##CBNAME(wxDragResult a); + bool base_##CBNAME(wxDragResult a) #define IMP_PYCALLBACK_BOOL_DR(CLASS, PCLASS, CBNAME) \ @@ -1600,7 +1692,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_DR_2WXCDR_pure(CBNAME) \ - wxDragResult CBNAME(wxCoord x, wxCoord y, wxDragResult def); + wxDragResult CBNAME(wxCoord x, wxCoord y, wxDragResult def) #define IMP_PYCALLBACK_DR_2WXCDR_pure(CLASS, PCLASS, CBNAME) \ @@ -1616,7 +1708,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BOOL_INTINTSTR_pure(CBNAME) \ - bool CBNAME(int a, int b, const wxString& c); + bool CBNAME(int a, int b, const wxString& c) #define IMP_PYCALLBACK_BOOL_INTINTSTR_pure(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(int a, int b, const wxString& c) { \ @@ -1635,7 +1727,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_SIZET_(CBNAME) \ size_t CBNAME(); \ - size_t base_##CBNAME(); + size_t base_##CBNAME() #define IMP_PYCALLBACK_SIZET_(CLASS, PCLASS, CBNAME) \ @@ -1658,7 +1750,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_DATAFMT_SIZET(CBNAME) \ wxDataFormat CBNAME(size_t a); \ - wxDataFormat base_##CBNAME(size_t a); + wxDataFormat base_##CBNAME(size_t a) #define IMP_PYCALLBACK_DATAFMT_SIZET(CLASS, PCLASS, CBNAME) \ @@ -1689,7 +1781,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__constany(CBNAME, Type) \ void CBNAME(const Type& a); \ - void base_##CBNAME(const Type& a); + void base_##CBNAME(const Type& a) #define IMP_PYCALLBACK__constany(CLASS, PCLASS, CBNAME, Type) \ @@ -1714,7 +1806,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK__any(CBNAME, Type) \ void CBNAME(Type& a); \ - void base_##CBNAME(Type& a); + void base_##CBNAME(Type& a) #define IMP_PYCALLBACK__any(CLASS, PCLASS, CBNAME, Type) \ @@ -1738,7 +1830,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_bool_any(CBNAME, Type) \ bool CBNAME(Type& a); \ - bool base_##CBNAME(Type& a); + bool base_##CBNAME(Type& a) #define IMP_PYCALLBACK_bool_any(CLASS, PCLASS, CBNAME, Type) \ @@ -1763,7 +1855,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_bool_anypure(CBNAME, Type) \ - bool CBNAME(Type& a); + bool CBNAME(Type& a) #define IMP_PYCALLBACK_bool_anypure(CLASS, PCLASS, CBNAME, Type) \ @@ -1783,7 +1875,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_STRING_LONGLONG(CBNAME) \ wxString CBNAME(long a, long b) const; \ - wxString base_##CBNAME(long a, long b)const ; + wxString base_##CBNAME(long a, long b) const #define IMP_PYCALLBACK_STRING_LONGLONG(CLASS, PCLASS, CBNAME) \ wxString CLASS::CBNAME(long a, long b) const { \ @@ -1811,7 +1903,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_INT_LONG(CBNAME) \ int CBNAME(long a) const; \ - int base_##CBNAME(long a)const ; + int base_##CBNAME(long a) const #define IMP_PYCALLBACK_INT_LONG(CLASS, PCLASS, CBNAME) \ @@ -1841,7 +1933,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_LISTATTR_LONG(CBNAME) \ wxListItemAttr* CBNAME(long a) const; \ - wxListItemAttr* base_##CBNAME(long a); + wxListItemAttr* base_##CBNAME(long a) const #define IMP_PYCALLBACK_LISTATTR_LONG(CLASS, PCLASS, CBNAME) \ @@ -1864,7 +1956,7 @@ extern wxPyApp *wxPythonApp; rval = PCLASS::CBNAME(a); \ return rval; \ } \ - wxListItemAttr *CLASS::base_##CBNAME(long a) { \ + wxListItemAttr *CLASS::base_##CBNAME(long a) const { \ return PCLASS::CBNAME(a); \ } @@ -1872,7 +1964,7 @@ extern wxPyApp *wxPythonApp; #define DEC_PYCALLBACK_BOOL_ME(CBNAME) \ bool CBNAME(wxMouseEvent& e); \ - bool base_##CBNAME(wxMouseEvent& e); + bool base_##CBNAME(wxMouseEvent& e) #define IMP_PYCALLBACK_BOOL_ME(CLASS, PCLASS, CBNAME) \ bool CLASS::CBNAME(wxMouseEvent& e) { \ @@ -1902,7 +1994,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_WIZPG__pure(CBNAME) \ - wxWizardPage* CBNAME() const; + wxWizardPage* CBNAME() const #define IMP_PYCALLBACK_WIZPG__pure(CLASS, PCLASS, CBNAME) \ wxWizardPage* CLASS::CBNAME() const { \ @@ -1923,7 +2015,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BITMAP__pure(CBNAME) \ - wxBitmap CBNAME() const; + wxBitmap CBNAME() const #define IMP_PYCALLBACK_BITMAP__pure(CLASS, PCLASS, CBNAME) \ wxBitmap CLASS::CBNAME() const { \ @@ -1946,7 +2038,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_OBJECT__pure(CBNAME) \ - wxObject* CBNAME(); + wxObject* CBNAME() #define IMP_PYCALLBACK_OBJECT__pure(CLASS, PCLASS, CBNAME) \ wxObject* CLASS::CBNAME() { \ @@ -1967,7 +2059,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_OBJECT_STRING_pure(CBNAME) \ - wxObject* CBNAME(const wxString& a); + wxObject* CBNAME(const wxString& a) #define IMP_PYCALLBACK_OBJECT_STRING_pure(CLASS, PCLASS, CBNAME) \ wxObject* CLASS::CBNAME(const wxString& a) { \ @@ -1990,7 +2082,7 @@ extern wxPyApp *wxPythonApp; //--------------------------------------------------------------------------- #define DEC_PYCALLBACK_BOOL_NODE_pure(CBNAME) \ - bool CBNAME(wxXmlNode* a); + bool CBNAME(wxXmlNode* a) #define IMP_PYCALLBACK_BOOL_NODE_pure(CLASS, PCLASS, CBNAME) \ diff --git a/wxPython/src/html.i b/wxPython/src/html.i index cafe91ec3b..7c83c30edf 100644 --- a/wxPython/src/html.i +++ b/wxPython/src/html.i @@ -180,13 +180,14 @@ public: class wxHtmlWinParser : public wxHtmlParser { public: - wxHtmlWinParser(wxHtmlWindow *wnd = NULL); + wxHtmlWinParser(wxPyHtmlWindow *wnd = NULL); void SetDC(wxDC *dc); wxDC* GetDC(); int GetCharHeight(); int GetCharWidth(); - wxHtmlWindow* GetWindow(); + wxPyHtmlWindow* GetWindow(); + // Sets fonts to be used when displaying HTML page. (if size null then default sizes used). %addmethods { void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes=NULL) { int* temp = NULL; @@ -389,7 +390,7 @@ public: void DrawInvisible(wxDC& dc, int x, int y); const wxHtmlCell* Find(int condition, const void* param); - bool AdjustPagebreak(int * pagebreak); + bool AdjustPagebreak(int* INOUT); void SetCanLiveOnPagebreak(bool can); }; @@ -650,9 +651,8 @@ public: // Return value : same as SetPage bool LoadPage(const wxString& location); - // TODO: (accept a string, convert to filename) // Loads HTML page from file - // bool LoadFile(const wxFileName& filename); + bool LoadFile(const wxString& filename); // Append to current page bool AppendToPage(const wxString& source); @@ -744,6 +744,7 @@ public: void SetHtmlText(const wxString& html, const wxString& basepath = wxPyEmptyString, bool isdir = TRUE); + // Sets fonts to be used when displaying HTML page. (if size null then default sizes used). %addmethods { void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes=NULL) { int* temp = NULL; @@ -777,6 +778,7 @@ public: void SetHtmlFile(const wxString &htmlfile); void SetHeader(const wxString& header, int pg = wxPAGE_ALL); void SetFooter(const wxString& footer, int pg = wxPAGE_ALL); + // Sets fonts to be used when displaying HTML page. (if size null then default sizes used). %addmethods { void SetFonts(wxString normal_face, wxString fixed_face, PyObject* sizes=NULL) { int* temp = NULL; diff --git a/wxPython/src/image.i b/wxPython/src/image.i index 8e001f0d11..ee6606d097 100644 --- a/wxPython/src/image.i +++ b/wxPython/src/image.i @@ -333,6 +333,8 @@ public: return bitmap; } } + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; diff --git a/wxPython/src/misc2.i b/wxPython/src/misc2.i index c719f1e09d..5d61038132 100644 --- a/wxPython/src/misc2.i +++ b/wxPython/src/misc2.i @@ -379,6 +379,8 @@ public: void SetSize(const wxSize& size); void Show(int show = TRUE); void Hide(); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" }; %inline %{ @@ -537,7 +539,7 @@ public: bool IsOneShot(); bool IsRunning(); void SetOwner(wxEvtHandler *owner, int id = -1); - void Start(int milliseconds=-1, int oneShot=FALSE); + bool Start(int milliseconds=-1, int oneShot=FALSE); void Stop(); }; @@ -1048,6 +1050,8 @@ public: bool SetCapture(wxWindow* win, int pollingFreq = 0); bool ReleaseCapture(); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" }; //---------------------------------------------------------------------- @@ -1081,11 +1085,13 @@ public: class wxWave : public wxObject { public: - wxWave(const wxString& fileName, bool isResource = FALSE); - ~wxWave(); + wxWave(const wxString& fileName, bool isResource = FALSE); + ~wxWave(); + + bool IsOk() const; + bool Play(bool async = TRUE, bool looped = FALSE) const; - bool IsOk() const; - bool Play(bool async = TRUE, bool looped = FALSE) const; + %pragma(python) addtoclass = "def __nonzero__(self): return self.IsOk()" }; %new wxWave* wxWaveData(const wxString& data); diff --git a/wxPython/src/my_typemaps.i b/wxPython/src/my_typemaps.i index 4a3e33a01a..e20d37cba3 100644 --- a/wxPython/src/my_typemaps.i +++ b/wxPython/src/my_typemaps.i @@ -436,6 +436,7 @@ $function %typemap(python, out) wxTreeCtrl* { $target = wxPyMake_wxObject($source); } %typemap(python, out) wxWindow* { $target = wxPyMake_wxObject($source); } %typemap(python, out) wxHtmlWindow* { $target = wxPyMake_wxObject($source); } +%typemap(python, out) wxPyHtmlWindow* { $target = wxPyMake_wxObject($source); } %typemap(python, out) wxWizardPage* { $target = wxPyMake_wxObject($source); } %typemap(python, out) wxSizer* { $target = wxPyMake_wxSizer($source); } diff --git a/wxPython/src/printfw.i b/wxPython/src/printfw.i index 05293bade1..ea705ac36f 100644 --- a/wxPython/src/printfw.i +++ b/wxPython/src/printfw.i @@ -27,8 +27,13 @@ // Put some wx default wxChar* values into wxStrings. static const wxChar* wxPrintoutTitleStr = wxT("Printout"); DECLARE_DEF_STRING(PrintoutTitleStr); + static const wxChar* wxPreviewCanvasNameStr = wxT("previewcanvas"); + DECLARE_DEF_STRING(PreviewCanvasNameStr); DECLARE_DEF_STRING(FrameNameStr); + DECLARE_DEF_STRING(PanelNameStr); + DECLARE_DEF_STRING(DialogNameStr); + %} //---------------------------------------------------------------------- @@ -50,6 +55,14 @@ //---------------------------------------------------------------------- +enum wxPrintMode +{ + wxPRINT_MODE_NONE = 0, + wxPRINT_MODE_PREVIEW = 1, // Preview in external application + wxPRINT_MODE_FILE = 2, // Print to file + wxPRINT_MODE_PRINTER = 3 // Send to printer +}; + class wxPrintData : public wxObject { @@ -107,6 +120,7 @@ public: void SetPrinterTranslation(long x, long y); void SetPrintMode(wxPrintMode printMode); + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; //---------------------------------------------------------------------- @@ -181,6 +195,8 @@ public: void SetPaperId(wxPaperSize id); void SetPaperSize(const wxSize& size); void SetPrintData(const wxPrintData& printData); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -202,35 +218,49 @@ public: wxPrintDialogData(); ~wxPrintDialogData(); - void EnableHelp(bool flag); - void EnablePageNumbers(bool flag); + int GetFromPage() const; + int GetToPage() const; + int GetMinPage() const; + int GetMaxPage() const; + int GetNoCopies() const; + bool GetAllPages() const; + bool GetSelection() const; + bool GetCollate() const; + bool GetPrintToFile() const; + bool GetSetupDialog() const; + + void SetFromPage(int v); + void SetToPage(int v); + void SetMinPage(int v); + void SetMaxPage(int v); + void SetNoCopies(int v); + void SetAllPages(bool flag); + void SetSelection(bool flag); + void SetCollate(bool flag); + void SetPrintToFile(bool flag); + void SetSetupDialog(bool flag); + void EnablePrintToFile(bool flag); void EnableSelection(bool flag); - bool GetAllPages(); - bool GetCollate(); - int GetFromPage(); - int GetMaxPage(); - int GetMinPage(); - int GetNoCopies(); + void EnablePageNumbers(bool flag); + void EnableHelp(bool flag); + + bool GetEnablePrintToFile() const; + bool GetEnableSelection() const; + bool GetEnablePageNumbers() const; + bool GetEnableHelp() const; + + // Is this data OK for showing the print dialog? + bool Ok() const; + %addmethods { %new wxPrintData* GetPrintData() { return new wxPrintData(self->GetPrintData()); // force a copy } } - bool GetPrintToFile(); - int GetToPage(); - - bool Ok(); - - void SetCollate(bool flag); - void SetFromPage(int page); - void SetMaxPage(int page); - void SetMinPage(int page); - void SetNoCopies(int n); void SetPrintData(const wxPrintData& printData); - void SetPrintToFile(bool flag); - void SetSetupDialog(bool flag); - void SetToPage(int page); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; @@ -339,46 +369,91 @@ public: //---------------------------------------------------------------------- +enum wxPrinterError +{ + wxPRINTER_NO_ERROR = 0, + wxPRINTER_CANCELLED, + wxPRINTER_ERROR +}; + + class wxPrinter : public wxObject { public: wxPrinter(wxPrintDialogData* data = NULL); ~wxPrinter(); -// bool Abort(); void CreateAbortWindow(wxWindow* parent, wxPyPrintout* printout); wxPrintDialogData& GetPrintDialogData(); bool Print(wxWindow *parent, wxPyPrintout *printout, int prompt=TRUE); wxDC* PrintDialog(wxWindow *parent); void ReportError(wxWindow *parent, wxPyPrintout *printout, const wxString& message); bool Setup(wxWindow *parent); + bool GetAbort(); + + static wxPrinterError GetLastError(); +}; + +//---------------------------------------------------------------------- + +class wxPrintAbortDialog: public wxDialog +{ +public: + wxPrintAbortDialog(wxWindow *parent, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyDialogNameStr); + }; //---------------------------------------------------------------------- class wxPrintPreview : public wxObject { public: - wxPrintPreview(wxPyPrintout* printout, wxPyPrintout* printoutForPrinting, wxPrintData* data=NULL); -// ~wxPrintPreview(); **** ???? + wxPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintData* data=NULL); - wxWindow* GetCanvas(); + virtual bool SetCurrentPage(int pageNum); int GetCurrentPage(); - wxFrame * GetFrame(); - int GetMaxPage(); - int GetMinPage(); + + void SetPrintout(wxPyPrintout *printout); + wxPyPrintout *GetPrintout(); + wxPyPrintout *GetPrintoutForPrinting(); + + void SetFrame(wxFrame *frame); + void SetCanvas(wxWindow *canvas); + + virtual wxFrame *GetFrame(); + virtual wxWindow *GetCanvas(); + + // The preview canvas should call this from OnPaint + virtual bool PaintPage(wxWindow *canvas, wxDC& dc); + + // This draws a blank page onto the preview canvas + virtual bool DrawBlankPage(wxWindow *canvas, wxDC& dc); + + // This is called by wxPrintPreview to render a page into a wxMemoryDC. + virtual bool RenderPage(int pageNum); + wxPrintDialogData& GetPrintDialogData(); - wxPyPrintout * GetPrintout(); - wxPyPrintout * GetPrintoutForPrinting(); + + virtual void SetZoom(int percent); int GetZoom(); + + int GetMaxPage(); + int GetMinPage(); + bool Ok(); - bool Print(bool prompt); - void SetCanvas(wxWindow* window); - void SetCurrentPage(int pageNum); - void SetFrame(wxFrame *frame); - void SetPrintout(wxPyPrintout *printout); - void SetZoom(int percent); + void SetOk(bool ok); + + virtual bool Print(bool interactive); + virtual void DetermineScaling(); + + %pragma(python) addtoclass = "def __nonzero__(self): return self.Ok()" }; -//---------------------------------------------------------------------- class wxPreviewFrame : public wxFrame { public: @@ -391,13 +466,241 @@ public: %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" void Initialize(); + void CreateControlBar(); + void CreateCanvas(); +}; + + +class wxPreviewCanvas: public wxScrolledWindow +{ +public: + wxPreviewCanvas(wxPrintPreview *preview, + wxWindow *parent, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPreviewCanvasNameStr); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" +}; + + + +enum { + wxPREVIEW_PRINT, + wxPREVIEW_PREVIOUS, + wxPREVIEW_NEXT, + wxPREVIEW_ZOOM, + wxPREVIEW_FIRST, + wxPREVIEW_LAST, + wxPREVIEW_GOTO, + wxPREVIEW_DEFAULT, + + wxID_PREVIEW_CLOSE, + wxID_PREVIEW_NEXT, + wxID_PREVIEW_PREVIOUS, + wxID_PREVIEW_PRINT, + wxID_PREVIEW_ZOOM, + wxID_PREVIEW_FIRST, + wxID_PREVIEW_LAST, + wxID_PREVIEW_GOTO +}; + +class wxPreviewControlBar: public wxPanel +{ +public: + wxPreviewControlBar(wxPrintPreview *preview, + long buttons, + wxWindow *parent, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr); + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + int GetZoomControl(); + void SetZoomControl(int zoom); + wxPrintPreview* GetPrintPreview(); + + void OnNext(); + void OnPrevious(); + void OnFirst(); + void OnLast(); + void OnGoto(); +}; + + +//---------------------------------------------------------------------- +// Python-derivable versions of the above preview classes + +%{ +class wxPyPrintPreview : public wxPrintPreview +{ + DECLARE_CLASS(wxPyPrintPreview) +public: + wxPyPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintData* data=NULL) + : wxPrintPreview(printout, printoutForPrinting, data) + {} + + DEC_PYCALLBACK_BOOL_INT(SetCurrentPage); + DEC_PYCALLBACK_BOOL_WXWINDC(PaintPage); + DEC_PYCALLBACK_BOOL_WXWINDC(DrawBlankPage); + DEC_PYCALLBACK_BOOL_INT(RenderPage); + DEC_PYCALLBACK_VOID_INT(SetZoom); + DEC_PYCALLBACK_BOOL_BOOL(Print); + DEC_PYCALLBACK_VOID_(DetermineScaling); + + PYPRIVATE; +}; + +// Stupid renamed classes... Fix this in 2.5... +#if defined(__WXMSW__) +IMPLEMENT_CLASS( wxPyPrintPreview, wxWindowsPrintPreview ); +#elif defined(__WXMAC__) +IMPLEMENT_CLASS( wxPyPrintPreview, wxMacPrintPreview ); +#else +IMPLEMENT_CLASS( wxPyPrintPreview, wxPostScriptPrintPreview ); +#endif + +IMP_PYCALLBACK_BOOL_INT (wxPyPrintPreview, wxPrintPreview, SetCurrentPage); +IMP_PYCALLBACK_BOOL_WXWINDC(wxPyPrintPreview, wxPrintPreview, PaintPage); +IMP_PYCALLBACK_BOOL_WXWINDC(wxPyPrintPreview, wxPrintPreview, DrawBlankPage); +IMP_PYCALLBACK_BOOL_INT (wxPyPrintPreview, wxPrintPreview, RenderPage); +IMP_PYCALLBACK_VOID_INT (wxPyPrintPreview, wxPrintPreview, SetZoom); +IMP_PYCALLBACK_BOOL_BOOL (wxPyPrintPreview, wxPrintPreview, Print); +IMP_PYCALLBACK_VOID_ (wxPyPrintPreview, wxPrintPreview, DetermineScaling); +%} + + +class wxPyPrintPreview : public wxPrintPreview +{ +public: + wxPyPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintData* data=NULL); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyPrintPreview)" + + bool base_SetCurrentPage(int pageNum); + bool base_PaintPage(wxWindow *canvas, wxDC& dc); + bool base_DrawBlankPage(wxWindow *canvas, wxDC& dc); + bool base_RenderPage(int pageNum); + void base_SetZoom(int percent); + bool base_Print(bool interactive); + void base_DetermineScaling(); +}; + + - // **** need to use derived class so these can be properly overridden: - //void CreateControlBar() - //void CreateCanvas() +%{ +class wxPyPreviewFrame : public wxPreviewFrame +{ + DECLARE_CLASS(wxPyPreviewFrame); +public: + wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxPyFrameNameStr) + : wxPreviewFrame(preview, parent, title, pos, size, style, name) + {} + + void SetPreviewCanvas(wxWindow* canvas) { m_previewCanvas = canvas; } + void SetControlBar(wxPreviewControlBar* bar) { m_controlBar = bar; } + + DEC_PYCALLBACK_VOID_(Initialize); + DEC_PYCALLBACK_VOID_(CreateCanvas); + DEC_PYCALLBACK_VOID_(CreateControlBar); + + PYPRIVATE; +}; + +IMPLEMENT_CLASS(wxPyPreviewFrame, wxPreviewFrame); + +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, Initialize); +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateCanvas); +IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateControlBar); +%} + +class wxPyPreviewFrame : public wxPreviewFrame +{ +public: + wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const wxString& name = wxPyFrameNameStr); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyPreviewFrame)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + void SetPreviewCanvas(wxWindow* canvas); + void SetControlBar(wxPreviewControlBar* bar); + + void base_Initialize(); + void base_CreateCanvas(); + void base_CreateControlBar(); }; + + + +%{ +class wxPyPreviewControlBar : public wxPreviewControlBar +{ + DECLARE_CLASS(wxPyPreviewControlBar); +public: + wxPyPreviewControlBar(wxPrintPreview *preview, + long buttons, + wxWindow *parent, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr) + : wxPreviewControlBar(preview, buttons, parent, pos, size, style, name) + {} + + void SetPrintPreview(wxPrintPreview* preview) { m_printPreview = preview; } + + DEC_PYCALLBACK_VOID_(CreateButtons); + DEC_PYCALLBACK_VOID_INT(SetZoomControl); + + PYPRIVATE; +}; + +IMPLEMENT_CLASS(wxPyPreviewControlBar, wxPreviewControlBar); +IMP_PYCALLBACK_VOID_(wxPyPreviewControlBar, wxPreviewControlBar, CreateButtons); +IMP_PYCALLBACK_VOID_INT(wxPyPreviewControlBar, wxPreviewControlBar, SetZoomControl); +%} + +class wxPyPreviewControlBar : public wxPreviewControlBar +{ +public: + wxPyPreviewControlBar(wxPrintPreview *preview, + long buttons, + wxWindow *parent, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxPyPanelNameStr); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyPreviewControlBar)" + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + void SetPrintPreview(wxPrintPreview* preview); + + void base_CreateButtons(); + void base_SetZoomControl(int zoom); +}; + + //---------------------------------------------------------------------- %init %{ diff --git a/wxPython/src/pytree.h b/wxPython/src/pytree.h new file mode 100644 index 0000000000..dc178a7278 --- /dev/null +++ b/wxPython/src/pytree.h @@ -0,0 +1,47 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: pytree.h +// Purpose: Common declarations of tree stuff for wxTreeCtrl in the core +// and wxTreeListCtrl in gizmos +// +// Author: Robin Dunn +// +// Created: 30-April-2003 +// RCS-ID: $Id$ +// Copyright: (c) 2003 by Total Control Software +// Licence: wxWindows license +///////////////////////////////////////////////////////////////////////////// + + + + +class wxPyTreeItemData : public wxTreeItemData { +public: + wxPyTreeItemData(PyObject* obj = NULL) { + if (obj == NULL) + obj = Py_None; + Py_INCREF(obj); + m_obj = obj; + } + + ~wxPyTreeItemData() { + wxPyBeginBlockThreads(); + Py_DECREF(m_obj); + wxPyEndBlockThreads(); + } + + PyObject* GetData() { + Py_INCREF(m_obj); + return m_obj; + } + + void SetData(PyObject* obj) { + wxPyBeginBlockThreads(); + Py_DECREF(m_obj); + wxPyEndBlockThreads(); + m_obj = obj; + Py_INCREF(obj); + } + + PyObject* m_obj; +}; + diff --git a/wxPython/src/sizers.i b/wxPython/src/sizers.i index b841dd758c..ffa534b533 100644 --- a/wxPython/src/sizers.i +++ b/wxPython/src/sizers.i @@ -101,6 +101,7 @@ public: //--------------------------------------------------------------------------- + class wxSizer : public wxObject { public: // wxSizer(); **** abstract, can't instantiate @@ -115,168 +116,192 @@ public: %addmethods { void Destroy() { delete self; } - void AddWindow(wxWindow *window, int proportion=0, int flag=0, int border=0, - PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Add(window, proportion, flag, border, data); - } - void AddSizer(wxSizer *sizer, int proportion=0, int flag=0, int border=0, - PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Add(sizer, proportion, flag, border, data); - } - void AddSpacer(int width, int height, int proportion=0, int flag=0, - int border=0, PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Add(width, height, proportion, flag, border, data); - } - void InsertWindow(int before, wxWindow *window, int proportion=0, int flag=0, - int border=0, PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Insert(before, window, proportion, flag, border, data); - } - void InsertSizer(int before, wxSizer *sizer, int proportion=0, int flag=0, - int border=0, PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Insert(before, sizer, proportion, flag, border, data); - } - void InsertSpacer(int before, int width, int height, int proportion=0, int flag=0, - int border=0, PyObject* userData=NULL) { + void _Add(PyObject* item, int proportion=0, int flag=0, int border=0, + PyObject* userData=NULL, int option=-1) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Insert(before, width, height, proportion, flag, border, data); + + // Find out what type the item is and call the real Add method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Add(window, proportion, flag, border, data); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Add(sizer, proportion, flag, border, data); + + else if (wxSize_helper(item, &sizePtr)) + self->Add(sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } - void PrependWindow(wxWindow *window, int proportion=0, int flag=0, int border=0, - PyObject* userData=NULL) { + void _Insert(int before, PyObject* item, int proportion=0, int flag=0, + int border=0, PyObject* userData=NULL, int option=-1) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Prepend(window, proportion, flag, border, data); + + // Find out what type the item is and call the real Insert method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Insert(before, window, proportion, flag, border, data); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Insert(before, sizer, proportion, flag, border, data); + + else if (wxSize_helper(item, &sizePtr)) + self->Insert(before, sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } - void PrependSizer(wxSizer *sizer, int proportion=0, int flag=0, int border=0, - PyObject* userData=NULL) { + + + + void _Prepend(PyObject* item, int proportion=0, int flag=0, int border=0, + PyObject* userData=NULL, int option=-1) { + // The option parameter is only for backwards compatibility + // with keyword args, all new code should use "proportion" + // instead. This can be removed eventually. + if (option != -1) proportion = option; + + wxWindow* window; + wxSizer* sizer; + wxSize size; + wxSize* sizePtr = &size; wxPyUserData* data = NULL; if (userData) data = new wxPyUserData(userData); - self->Prepend(sizer, proportion, flag, border, data); + + // Find out what type the item is and call the real Prepend method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Prepend(window, proportion, flag, border, data); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Prepend(sizer, proportion, flag, border, data); + + else if (wxSize_helper(item, &sizePtr)) + self->Prepend(sizePtr->GetWidth(), sizePtr->GetHeight(), + proportion, flag, border, data); + else { + if (data) delete data; + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer, wxSize, or (w,h) expected for item"); + } } - void PrependSpacer(int width, int height, int proportion=0, int flag=0, - int border=0, PyObject* userData=NULL) { - wxPyUserData* data = NULL; - if (userData) data = new wxPyUserData(userData); - self->Prepend(width, height, proportion, flag, border, data); + + bool Remove(PyObject* item) { + wxWindow* window; + wxSizer* sizer; + + // Find out what type the item is and call the real Remove method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + return self->Remove(window); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + return self->Remove(sizer); + + else if (PyInt_Check(item)) { + int pos = PyInt_AsLong(item); + return self->Remove(pos); + } + else { + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer or int (position) expected."); + return FALSE; + } } - // TODO: AddItem, InsertItem, PrependItem + void _SetItemMinSize(PyObject* item, wxSize size) { + wxWindow* window; + wxSizer* sizer; - } + // Find out what type the item is and call the real Remove method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->SetItemMinSize(window, size); + + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->SetItemMinSize(sizer, size); - %name(RemoveWindow)bool Remove( wxWindow *window ); // TODO: This is DEPRECATED. Should all be removed? - %name(RemoveSizer)bool Remove( wxSizer *sizer ); - %name(RemovePos)bool Remove( int pos ); + else if (PyInt_Check(item)) { + int pos = PyInt_AsLong(item); + self->SetItemMinSize(pos, size); + } + else + PyErr_SetString(PyExc_TypeError, + "wxWindow, wxSizer or int (position) expected."); + } - %name(DetachWindow)bool Detach( wxWindow *window ); - %name(DetachSizer)bool Detach( wxSizer *sizer ); - %name(DetachPos)bool Detach( int pos ); + } %pragma(python) addtoclass = " - def Add(self, *args, **kw): - if type(args[0]) == type(1): - apply(self.AddSpacer, args, kw) - elif isinstance(args[0], wxSizerPtr): - apply(self.AddSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - apply(self.AddWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Insert(self, *args, **kw): - if type(args[1]) == type(1): - apply(self.InsertSpacer, args, kw) - elif isinstance(args[1], wxSizerPtr): - apply(self.InsertSizer, args, kw) - elif isinstance(args[1], wxWindowPtr): - apply(self.InsertWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Prepend(self, *args, **kw): - if type(args[0]) == type(1): - apply(self.PrependSpacer, args, kw) - elif isinstance(args[0], wxSizerPtr): - apply(self.PrependSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - apply(self.PrependWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Remove(self, *args, **kw): - if type(args[0]) == type(1): - return apply(self.RemovePos, args, kw) - elif isinstance(args[0], wxSizerPtr): - return apply(self.RemoveSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - return apply(self.RemoveWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Detach(self, *args, **kw): - if type(args[0]) == type(1): - return apply(self.DetachPos, args, kw) - elif isinstance(args[0], wxSizerPtr): - return apply(self.DetachSizer, args, kw) - elif isinstance(args[0], wxWindowPtr): - return apply(self.DetachWindow, args, kw) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' + def Add(self, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Add(item, *args, **kw) def AddMany(self, widgets): for childinfo in widgets: if type(childinfo) != type(()): childinfo = (childinfo, ) - apply(self.Add, childinfo) -" + self.Add(*childinfo) - void Clear( bool delete_windows = false ); - void DeleteWindows(); + def Prepend(self, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Prepend(item, *args, **kw) - void SetMinSize(wxSize size); + def Insert(self, before, item, *args, **kw): + if type(item) == type(1): + item = (item, args[0]) # backwards compatibility, args are width, height + args = args[1:] + self._Insert(before, item, *args, **kw) - %name(SetItemMinSizeWindow) void SetItemMinSize(wxWindow* window, wxSize size); - %name(SetItemMinSizeSizer) void SetItemMinSize(wxSizer* sizer, wxSize size); - %name(SetItemMinSizePos) void SetItemMinSize(int pos, wxSize size); - %name(SetItemMinSizeWindowWH) void SetItemMinSize(wxWindow* window, int width, int height); - %name(SetItemMinSizeSizerWH) void SetItemMinSize(wxSizer* sizer, int width, int height); - %name(SetItemMinSizePosWH) void SetItemMinSize(int pos, int width, int height); - %pragma(python) addtoclass = " - def SetItemMinSize(self, *args): - if type(args[0]) == type(1): - apply(self.SetItemMinSizePos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.SetItemMinSizeSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.SetItemMinSizeWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def SetItemMinSizeWH(self, *args): - if type(args[0]) == type(1): - apply(self.SetItemMinSizePosWH, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.SetItemMinSizeSizerWH, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.SetItemMinSizeWindowWH, args) + # for backwards compatibility only + AddWindow = AddSizer = AddSpacer = Add + PrependWindow = PrependSizer = PrependSpacer = Prepend + InsertWindow = InsertSizer = InsertSpacer = Insert + RemoveWindow = RemoveSizer = RemovePos = Remove + + + def SetItemMinSize(self, item, *args): + if len(args) == 2: + return self._SetItemMinSize(item, args) else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - " + return self._SetItemMinSize(item, args[0]) + +" + + + void SetDimension( int x, int y, int width, int height ); + void SetMinSize(wxSize size); wxSize GetSize(); wxPoint GetPosition(); @@ -302,63 +327,65 @@ public: void SetSizeHints( wxWindow *window ); void SetVirtualSizeHints( wxWindow *window ); + void Clear( bool delete_windows=FALSE ); + void DeleteWindows(); + // wxList& GetChildren(); %addmethods { PyObject* GetChildren() { - wxSizerItemList& list = self->GetChildren(); + wxList& list = self->GetChildren(); return wxPy_ConvertList(&list, "wxSizerItem"); } } - void SetDimension( int x, int y, int width, int height ); // Manage whether individual windows or sub-sizers are considered // in the layout calculations or not. - %name(ShowWindow)void Show( wxWindow *window, bool show = TRUE ); - %name(ShowSizer)void Show( wxSizer *sizer, bool show = TRUE ); - %name(ShowPos)void Show( size_t index, bool show = TRUE ); - %name(HideWindow)void Hide( wxWindow *window ); - %name(HideSizer)void Hide( wxSizer *sizer ); - %name(HidePos)void Hide( size_t index ); - %name(IsShownWindow)bool IsShown( wxWindow *window ); - %name(IsShownSizer)bool IsShown( wxSizer *sizer ); - %name(IsShownPos)bool IsShown( size_t index ); - %pragma(python) addtoclass = " - def Show(self, *args): - if type(args[0]) == type(1): - apply(self.ShowPos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.ShowSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.ShowWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def Hide(self, *args): - if type(args[0]) == type(1): - apply(self.HidePos, args) - elif isinstance(args[0], wxSizerPtr): - apply(self.HideSizer, args) - elif isinstance(args[0], wxWindowPtr): - apply(self.HideWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' - - def IsShown(self, *args): - if type(args[0]) == type(1): - return apply(self.IsShownPos, args) - elif isinstance(args[0], wxSizerPtr): - return apply(self.IsShownSizer, args) - elif isinstance(args[0], wxWindowPtr): - return apply(self.IsShownWindow, args) - else: - raise TypeError, 'Expected int, wxSizer or wxWindow parameter' -" + %addmethods { + void Show(PyObject* item, bool show = TRUE) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Show(window, show); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Show(sizer, show); + else + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + } + + void Hide(PyObject* item) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + self->Hide(window); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + self->Hide(sizer); + else + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + } + + bool IsShown(PyObject* item) { + wxWindow* window; + wxSizer* sizer; + // Find out what type the item is and call the real method + if (! SWIG_GetPtrObj(item, (void**)&window, "_wxWindow_p")) + return self->IsShown(window); + else if (!SWIG_GetPtrObj(item, (void**)&sizer, "_wxSizer_p")) + return self->IsShown(sizer); + else { + PyErr_SetString(PyExc_TypeError, "wxWindow or wxSizer expected."); + return FALSE; + } + } + } + - // Recursively call wxWindow::Show () on all sizer items. - void ShowItems (bool show); + // Recursively call wxWindow::Show() on all sizer items. + void ShowItems(bool show); }; diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 5b6ccf56da..d63b8d5f36 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -431,7 +431,7 @@ public: %pragma(python) addtoclass = "# replaces broken shadow method def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr - val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCaret(self, *_args, **_kwargs) if val: val = wxCaretPtr(val) return val " @@ -483,6 +483,9 @@ public: // does this window have the capture? bool HasCapture() const; + + void SetThemeEnabled(bool enable); + bool GetThemeEnabled(); }; @@ -613,17 +616,17 @@ public: %pragma(python) addtoclass = " def CalcScrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcScrolledPosition1, args) + return self.CalcScrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcScrolledPosition2, args) + return self.CalcScrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' def CalcUnscrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcUnscrolledPosition1, args) + return self.CalcUnscrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcUnscrolledPosition2, args) + return self.CalcUnscrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' " @@ -730,8 +733,6 @@ public: %name(RemoveItem) wxMenuItem *Remove(wxMenuItem *item); - - %addmethods { void Destroy() { delete self; } } @@ -809,6 +810,7 @@ public: wxMenu *GetMenu(); + void SetMenu(wxMenu* menu); void SetId(int id); int GetId(); bool IsSeparator(); diff --git a/wxPython/src/windows2.i b/wxPython/src/windows2.i index 167ecb379f..a81eccdf38 100644 --- a/wxPython/src/windows2.i +++ b/wxPython/src/windows2.i @@ -117,7 +117,7 @@ public: const wxString& text, int select = FALSE, int imageId = -1); - bool InsertPage(int page, + bool InsertPage(int index, /*wxNotebookPage*/ wxWindow *page, const wxString& text, bool select = FALSE, diff --git a/wxPython/src/windows3.i b/wxPython/src/windows3.i index bb2b7300d5..d74d808dec 100644 --- a/wxPython/src/windows3.i +++ b/wxPython/src/windows3.i @@ -16,10 +16,8 @@ #include "helpers.h" #include #include -#ifndef __WXMAC__ #include #include -#endif %} //---------------------------------------------------------------------- @@ -304,7 +302,39 @@ public: void Close(); }; +#endif // ! __WXMAC__ + +//--------------------------------------------------------------------------- + +#ifdef __WXMAC__ + +%import frames.i + +class wxTipWindow : public wxFrame +{ +public: + %addmethods { + wxTipWindow(wxWindow *parent, + const wxString* text, + wxCoord maxLength = 100, + wxRect* rectBound = NULL) { + wxString tmp = *text; + return new wxTipWindow(parent, tmp, maxLength, NULL, rectBound); + } + } + + %pragma(python) addtomethod = "__init__:self._setOORInfo(self)" + + // If rectBound is not NULL, the window will disappear automatically when + // the mouse leave the specified rect: note that rectBound should be in the + // screen coordinates! + void SetBoundingRect(const wxRect& rectBound); + + // Hide and destroy the window + void Close(); +}; + +#endif // __WXMAC__ //--------------------------------------------------------------------------- -#endif diff --git a/wxPython/src/wx.i b/wxPython/src/wx.i index 747fa6839e..5b0091eecf 100644 --- a/wxPython/src/wx.i +++ b/wxPython/src/wx.i @@ -54,9 +54,6 @@ //--------------------------------------------------------------------------- - -#define __version__ "0.0.0" // The real value is now in setup.py... - %readonly wxPoint wxDefaultPosition; wxSize wxDefaultSize; @@ -287,17 +284,12 @@ static wxPyCoreAPI API = { initfontsc(); + // Although these are redfined in __version__ they need to be here too so + // that an assert can be done to ensure that the wxPython and the wxWindows + // versions match. PyDict_SetItemString(d,"wxMAJOR_VERSION", PyInt_FromLong((long)wxMAJOR_VERSION )); PyDict_SetItemString(d,"wxMINOR_VERSION", PyInt_FromLong((long)wxMINOR_VERSION )); - PyDict_SetItemString(d,"wxRELEASE_NUMBER", PyInt_FromLong((long)wxRELEASE_NUMBER )); - PyDict_SetItemString(d,"wxVERSION_NUMBER", PyInt_FromLong((long)wxVERSION_NUMBER )); -#if wxUSE_UNICODE - wxString tempStr(wxVERSION_STRING); - PyDict_SetItemString(d,"wxVERSION_STRING", PyUnicode_FromWideChar(tempStr.c_str(), tempStr.Len())); -#else - PyDict_SetItemString(d,"wxVERSION_STRING", PyString_FromString(wxVERSION_STRING)); -#endif - + PyDict_SetItemString(d,"wxRELEASE_VERSION", PyInt_FromLong((long)wxRELEASE_NUMBER )); %} diff --git a/wxPython/tests/.cvsignore b/wxPython/tests/.cvsignore deleted file mode 100644 index 95e09fc86a..0000000000 --- a/wxPython/tests/.cvsignore +++ /dev/null @@ -1,13 +0,0 @@ -hh_test.py -hook.pyc -listGetItem.pyc -setup.bat -ste.pyc -test.out -test1.pyc -test4.pyc -test6.pyc -test8.pyc -testDlg.pyc -th_test.py -val.pyc diff --git a/wxPython/tests/README.txt b/wxPython/tests/README.txt deleted file mode 100644 index ca2d358b96..0000000000 --- a/wxPython/tests/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -29-Apr-1999 - -The tests in this directory are being depreciated in favor of the demo -program found in ../demo. - -They are still used from time to time for my development efforts, but -they should not be included with any distributions. - -Robin - - - diff --git a/wxPython/tests/TstLstIcon.py b/wxPython/tests/TstLstIcon.py deleted file mode 100644 index 915b20e853..0000000000 --- a/wxPython/tests/TstLstIcon.py +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: TstLstIcon.py -# Purpose: Lest Icon List -# -# Author: Lorne White -# -# Version: 0.8 -# Licence: wxWindows, wxPython license -#---------------------------------------------------------------------------- - -import sys, os -from wxPython.wx import * - -class AppFrame(wxFrame): - def __init__(self, parent, id=-1, title="New"): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, wxSize(420, 320)) - if wxPlatform == '__WXMSW__': - self.icon = wxIcon('bitmaps/mondrian.ico', wxBITMAP_TYPE_ICO) - self.SetIcon(self.icon) - - self.CreateStatusBar() - - self.mainmenu = wxMenuBar() - menu = wxMenu() - - menu = self.MakeFileMenu() - self.mainmenu.Append(menu, '&File') - - self.SetMenuBar(self.mainmenu) - - self.il = wxImageList(32, 32) - self.idx1 = idx1 = self.il.Add(wxNoRefBitmap('table.bmp', wxBITMAP_TYPE_BMP)) - self.idx2 = idx2 = self.il.Add(wxNoRefBitmap('query.bmp', wxBITMAP_TYPE_BMP)) - - self.nb = nb = wxNotebook(self, -1) - - self.list = wxListCtrl(nb, 1100, wxDefaultPosition, wxDefaultSize) - - nb.AddPage(self.list, "Tables") - - self.list.SetSingleStyle(wxLC_ICON) - self.list.SetWindowStyleFlag(wxSTATIC_BORDER|wxVSCROLL) - self.list.SetImageList(self.il, wxIMAGE_LIST_NORMAL) - - self.qlist = wxListCtrl(nb, 1200, wxDefaultPosition, wxDefaultSize) - nb.AddPage(self.qlist, "Queries") - - self.qlist.SetSingleStyle(wxLC_ICON) - self.qlist.SetWindowStyleFlag(wxSTATIC_BORDER|wxVSCROLL) - self.qlist.SetImageList(self.il, wxIMAGE_LIST_NORMAL) - - self.UpdateView2() - self.UpdateView1() - - self.nb.SetSelection(1) - self.nb.SetSelection(0) - #self.nb.Refresh() - #self.nb.ResizeChildren() - - def MakeFileMenu(self): - self.fl_mn = menu = wxMenu() - - mID = NewId() - menu.Append(mID, 'E&xit', 'Exit') - EVT_MENU(self, mID, self.OnFileExit) - - return menu - - - def UpdateView1(self): - vset = "ViewA " - for i in range(20): - self.list.InsertImageStringItem(i, vset + str(i), self.idx1) - - def UpdateView2(self): - vset = "ViewB " - for i in range(5): - self.qlist.InsertImageStringItem(i, vset + str(i), self.idx2) - - def OnFileExit(self, event): - self.Close() - -#--------------------------------------------------------------------------- - - -class MyApp(wxApp): - def OnInit(self): - frame = AppFrame(NULL, -1, "Demo") - frame.Show(true) - self.SetTopWindow(frame) - return true - -#--------------------------------------------------------------------------- - - -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - - -if __name__ == '__main__': - main() diff --git a/wxPython/tests/alternateThread.py b/wxPython/tests/alternateThread.py deleted file mode 100644 index 69d435b326..0000000000 --- a/wxPython/tests/alternateThread.py +++ /dev/null @@ -1,52 +0,0 @@ -from time import sleep -from threading import Thread - -def test_a_window(): - print "starting window thread" - - from wxPython.wx import * # <-- the wxWin DLL is not loaded until here - - app = wxPySimpleApp(1) - frame = wxFrame(None, -1, "Hello", size=(400,200)) - frame.Show(true) - EVT_SIZE(frame, OnFrameSize) - app.MainLoop() - print "finishing window thread" - -def OnFrameSize(evt): - print evt.GetSize() - - - -keep_going = 1 -def counter(): - print "starting counter thread" - count = 0 - while keep_going: - sleep(1) - count += 1 - print count - print "finishing counter thread" - -def main(): - print "main startup" - - ct = Thread(target=counter) - wt = Thread(target=test_a_window) - - ct.start() - wt.start() - wt.join() - - global keep_going - keep_going = 0 - - ct.join() - - print "main finished" - -main() - - - - diff --git a/wxPython/tests/atom.bmp b/wxPython/tests/atom.bmp deleted file mode 100644 index d85435104d3f95e67510ba6ac033427d9d88fa50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmZuuF;2ul3^WLdEA9nUS5or?gapMRQPAEuE-8pM-8DRFi%8c*h-RfL@DEO+bVFEX zyaA=a*-h3vW5*ufKJLy%Hga{d6On7|&AiX#0w);o|E(9nlD@AWym6G2621hAFDZp5 zY&^W8@7BQTiSL|OEiU4GGi|p|`@Q{LsDcn&rQWaa^N;hV?_g z=V5f%&~v1I>op{XgZ`-(1+M)U=tcc70CF*cSwB|lGn!mK%HVJ*)bG;uuLGM@-@SE4 O(-iPxp16TG&-({tSAQ%3 diff --git a/wxPython/tests/bitmaps/copy.bmp b/wxPython/tests/bitmaps/copy.bmp deleted file mode 100644 index 4551a06bfa79e0a42c1ffb7cdbb90fd4f699dce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmZvVK?*`K3`9pLxU9$U91{2|@hV+>tjiv)Cz3AyzP{vxy7<$~OeTT!c7JQf6T89- z%?kmn<${;(P#uFN<0A#FuUo(qgT{&F@ekspii W=d@ZzPG(Cb=QBs}_=7thzxV(viB<;y diff --git a/wxPython/tests/bitmaps/mondrian.ico b/wxPython/tests/bitmaps/mondrian.ico deleted file mode 100644 index 2310c5d275a87af295d5ea8dc79ea417a5e74c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmZQzU<5)11px*Sc)`TLAO@s0fLH;D9e|jTfdxnc0Zb0l4tjP;1(ew=nJ8j|<6WY3bU0`GK9aK^RUId`!4(ELX-1{H u>6c`QQqJ8_T9s0iQsQ8(Wab^@`3kuPA_p->w)Xt4Pkz>06 diff --git a/wxPython/tests/bitmaps/open.bmp b/wxPython/tests/bitmaps/open.bmp deleted file mode 100644 index 1c38e97b59dac5b7dcb3d4ac14a31fe36d3fbc6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmZvVF%m){3`Ez_nP2KLES>QN_TFVHvE)eH08ZrCQ{W?L=aStGNg%iTOA8O|3{UU~ zcRHZbGxVQiiBQhVP*Szl@Yxs<8e?XVGfPPN!qmmh`zzRz%k)d~SOwQraPKkc3JUWb WyzyG%ebUB{{{0*7WXGE5t%V;V>_w>n diff --git a/wxPython/tests/bitmaps/paste.bmp b/wxPython/tests/bitmaps/paste.bmp deleted file mode 100644 index 564f514e0df7225f0a7adbe8457b41af537813bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmZvVF%Ci@5Jbns$83OZ*I;# co}I%%@f6>ra3+S=gC69}eM%GII+SAI4J;x>B>(^b diff --git a/wxPython/tests/bitmaps/smiles.bmp b/wxPython/tests/bitmaps/smiles.bmp deleted file mode 100644 index 39006fae82aa4e8c238c053f871538a8e2e5d8ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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- diff --git a/wxPython/tests/bitmaps/smiles.ico b/wxPython/tests/bitmaps/smiles.ico deleted file mode 100644 index bb29c8edd7e66d24e5acde41c632ebb805b87891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmah{Ic~!+5FEt;0>gz}rHxAeBL12A1hx8wdNzED%9JWo7^Y`-NeVsyue8_f>~eJg z9k0GWK=StieA6GPJ@rKG@JUNy?X?7eH$ren%Md9gdKI$W$XOAUmmry!5-Dq8r!>Z? zBAzxzO$%UbpmkU$zHE6l(2OW(RYUe1r&$ z)Fj+QvAFmA=iIxDWqcdyW1sT2rPo)xMz%;3e5eO~rChb~`%^9A_*2Ywb{KLcM0*hm9^!K!#8l_#G{|IAsMso6S1XX#9x FeFHZg6}12W diff --git a/wxPython/tests/bitmaps/test2.bmp b/wxPython/tests/bitmaps/test2.bmp deleted file mode 100644 index 3a6547321271e48f304443d3597480f9e1b6f448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12342 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 C`uY<9 diff --git a/wxPython/tests/bitmaps/tog1.bmp b/wxPython/tests/bitmaps/tog1.bmp deleted file mode 100644 index 75f6e7c4cb5d8733655a31cdedc5a6e8a2cdf611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmZ?rea8R+Wk5;;hy{R{ABY(lSb!u0Lj@2Y;e%kX0G!y*zyL%H`}adAAPHnL95`@* vp`oDxDDfYR82= 0 and chr(key) in string.printable: - ch = chr(key) - if not evt.ShiftDown(): - ch = ch.lower() - - if ch is not None: - # Replace the text. Other option would be to append it. - # self._tc.AppendText(ch) - self._tc.SetValue(ch) - self._tc.SetInsertionPointEnd() - else: - evt.Skip() - - - def Destroy(self): - """final cleanup""" - self.base_Destroy() - - - def Clone(self): - """ - Create a new object which is the copy of this one - *Must Override* - """ - print "clone" - return MyCellEditor() - - -class MyGrid(wxGrid): - def __init__(self, parent, cust): - wxGrid.__init__(self, parent, -1) - self.CreateGrid(10, 10) - for column in xrange(10): - self.SetColSize(column, 40) - - self.SetDefaultCellAlignment(wxCENTRE, wxCENTRE) - - import os - if cust: - for column in xrange(10): - # Note, we create attr and cell editor for each column - # otherwise segfault at exit, probably tries to free those - # multiple times from each column. - attr = wxGridCellAttr() - attr.SetEditor(MyCellEditor()) - self.SetColAttr(column, attr) - - -#---------------------------------------------------------------------------- - -class CardNoteBook(wxNotebook): - def __init__(self, parent, id): - wxNotebook.__init__(self, parent, id) - - for title, cust in [("Default", 0), ("Custom Cell Editor", 1)]: - win = MyGrid(self, cust) - self.AddPage(win, title) - - EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged) - EVT_KEY_DOWN(self, self.OnKeyDown) - EVT_NAVIGATION_KEY(self, self.OnNavKey) - - - def OnKeyDown(self, evt): - print 'CardNoteBook.OnKeyDown: ', evt.GetKeyCode() - evt.Skip() - - - def OnNavKey(self, evt): - print 'CardNoteBook.OnNavKey:', evt - evt.Skip() - - def OnPageChanged(self, event): - event.Skip() - - -#---------------------------------------------------------------------------- - -class ScoreKeeper(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, -1, title, size = (500, 400), - style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE) - EVT_CLOSE(self, self.OnCloseWindow) - self.Centre(wxBOTH) - - self.nb = CardNoteBook(self, -1) - #win=MyGrid(self, "GTK") - self.Show(true) - - def OnCloseWindow(self, event): - self.dying = true - self.window = None - self.mainmenu = None - self.Destroy() - - def OnFileExit(self, event): - self.Close() - -#---------------------------------------------------------------------------- - -class MyApp(wxApp): - def OnInit(self): - frame = ScoreKeeper(None, -1, "ScoreKeeper: (A Demonstration)") - frame.Show(true) - self.SetTopWindow(frame) - return true - - - -#--------------------------------------------------------------------------- - -def main(): - app = MyApp(0) - app.MainLoop() - -main() diff --git a/wxPython/tests/hangman.py b/wxPython/tests/hangman.py deleted file mode 100644 index c735372bf4..0000000000 --- a/wxPython/tests/hangman.py +++ /dev/null @@ -1,390 +0,0 @@ -"""Hangman.py, a simple wxPython game, inspired by the -old bsd game by Ken Arnold. -From the original man page: - - In hangman, the computer picks a word from the on-line - word list and you must try to guess it. The computer - keeps track of which letters have been guessed and how - many wrong guesses you have made on the screen in a - graphic fashion. - -That says it all, doesn't it? - -Have fun with it, - -Harm van der Heijden (H.v.d.Heijden@phys.tue.nl)""" - -import random,re -from wxPython.wx import * - -class WordFetcher: - def __init__(self, filename, min_length = 5): - self.min_length = min_length - print "Trying to open file %s" % (filename,) - try: - f = open(filename, "r") - except: - print "Couldn't open dictionary file %s, using build-ins" % (filename,) - self.words = self.builtin_words - self.filename = None - return - self.words = f.read() - self.filename = filename - print "Got %d bytes." % (len(self.words),) - def SetMinLength(min_length): - self.min_length = min_length - def Get(self): - reg = re.compile('\s+([a-zA-Z]+)\s+') - n = 50 # safety valve; maximum number of tries to find a suitable word - while n: - index = int(random.random()*len(self.words)) - m = reg.search(self.words[index:]) - if m and len(m.groups()[0]) >= self.min_length: break - n = n - 1 - if n: return string.lower(m.groups()[0]) - return "error" - builtin_words = ' albatros banana electrometer eggshell' - -def stdprint(x): - print x - -class URLWordFetcher(WordFetcher): - def __init__(self, url): - self.OpenURL(url) - WordFetcher.__init__(self, "hangman_dict.txt") - def logprint(self,x): - print x - def RetrieveAsFile(self, host, path=''): - from httplib import HTTP - try: - h = HTTP(host) - except: - self.logprint("Failed to create HTTP connection to %s... is the network available?" % (host)) - return None - h.putrequest('GET',path) - h.putheader('Accept','text/html') - h.putheader('Accept','text/plain') - h.endheaders() - errcode, errmsg, headers = h.getreply() - if errcode != 200: - self.logprint("HTTP error code %d: %s" % (errcode, errmsg)) - return None - f = h.getfile() - return f - def OpenURL(self,url): - from htmllib import HTMLParser - import formatter - self.url = url - m = re.match('http://([^/]+)(/\S*)\s*', url) - if m: - host = m.groups()[0] - path = m.groups()[1] - else: - m = re.match('http://(\S+)\s*', url) - if not m: - # Invalid URL - self.logprint("Invalid or unsupported URL: %s" % (url)) - return - host = m.groups()[0] - path = '' - f = self.RetrieveAsFile(host,path) - if not f: - self.logprint("Could not open %s" % (url)) - return - self.logprint("Receiving data...") - data = f.read() - tmp = open('hangman_dict.txt','w') - fmt = formatter.AbstractFormatter(formatter.DumbWriter(tmp)) - p = HTMLParser(fmt) - self.logprint("Parsing data...") - p.feed(data) - p.close() - tmp.close() - -class HangmanWnd(wxWindow): - def __init__(self, parent, id, pos=wxDefaultPosition, size=wxDefaultSize): - wxWindow.__init__(self, parent, id, pos, size) - self.SetBackgroundColour(wxNamedColour('white')) - if wxPlatform == '__WXGTK__': - self.font = wxFont(12, wxMODERN, wxNORMAL, wxNORMAL) - else: - self.font = wxFont(10, wxMODERN, wxNORMAL, wxNORMAL) - self.SetFocus() - def StartGame(self, word): - self.word = word - self.guess = [] - self.tries = 0 - self.misses = 0 - self.Draw() - def EndGame(self): - self.misses = 7; - self.guess = map(chr, range(ord('a'),ord('z')+1)) - self.Draw() - def HandleKey(self, key): - self.message = "" - if self.guess.count(key): - self.message = 'Already guessed %s' % (key,) - return 0 - self.guess.append(key) - self.guess.sort() - self.tries = self.tries+1 - if not key in self.word: - self.misses = self.misses+1 - if self.misses == 7: - self.EndGame() - return 1 - has_won = 1 - for letter in self.word: - if not self.guess.count(letter): - has_won = 0 - break - if has_won: - self.Draw() - return 2 - self.Draw() - return 0 - def Draw(self, dc = None): - if not dc: - dc = wxClientDC(self) - dc.SetFont(self.font) - dc.Clear() - (x,y) = self.GetSizeTuple() - x1 = x-200; y1 = 20 - for letter in self.word: - if self.guess.count(letter): - dc.DrawText(letter, x1, y1) - else: - dc.DrawText('.', x1, y1) - x1 = x1 + 10 - x1 = x-200 - dc.DrawText("tries %d misses %d" % (self.tries,self.misses),x1,50) - guesses = "" - for letter in self.guess: - guesses = guesses + letter - dc.DrawText("guessed:", x1, 70) - dc.DrawText(guesses[:13], x1+80, 70) - dc.DrawText(guesses[13:], x1+80, 90) - dc.SetUserScale(x/1000., y/1000.) - self.DrawVictim(dc) - def DrawVictim(self, dc): - dc.SetPen(wxPen(wxNamedColour('black'), 20)) - dc.DrawLines([(10, 980), (10,900), (700,900), (700,940), (720,940), - (720,980), (900,980)]) - dc.DrawLines([(100,900), (100, 100), (300,100)]) - dc.DrawLine(100,200,200,100) - if ( self.misses == 0 ): return - dc.SetPen(wxPen(wxNamedColour('blue'), 10)) - dc.DrawLine(300,100,300,200) - if ( self.misses == 1 ): return - dc.DrawEllipse(250,200,100,100) - if ( self.misses == 2 ): return - dc.DrawLine(300,300,300,600) - if ( self.misses == 3) : return - dc.DrawLine(300,300,250,550) - if ( self.misses == 4) : return - dc.DrawLine(300,300,350,550) - if ( self.misses == 5) : return - dc.DrawLine(300,600,350,850) - if ( self.misses == 6) : return - dc.DrawLine(300,600,250,850) - def OnPaint(self, event): - dc = wxPaintDC(self) - self.Draw(dc) - -class HangmanDemo(HangmanWnd): - def __init__(self, wf, parent, id, pos, size): - HangmanWnd.__init__(self, parent, id, pos, size) - self.StartGame("dummy") - self.start_new = 1 - self.wf = wf - self.delay = 500 - self.timer = self.PlayTimer(self.MakeMove) - def MakeMove(self): - self.timer.Stop() - if self.start_new: - self.StartGame(self.wf.Get()) - self.start_new = 0 - self.left = list('aaaabcdeeeeefghiiiiijklmnnnoooopqrssssttttuuuuvwxyz') - else: - key = self.left[int(random.random()*len(self.left))] - while self.left.count(key): self.left.remove(key) - self.start_new = self.HandleKey(key) - self.timer.Start(self.delay) - def Stop(self): - self.timer.Stop() - class PlayTimer(wxTimer): - def __init__(self,func): - wxTimer.__init__(self) - self.func = func - self.Start(1000) - def Notify(self): - apply(self.func, ()) - -class HangmanDemoFrame(wxFrame): - def __init__(self, wf, parent, id, pos, size): - wxFrame.__init__(self, parent, id, "Hangman demo", pos, size) - self.demo = HangmanDemo(wf, self, -1, wxDefaultPosition, wxDefaultSize) - def OnCloseWindow(self, event): - self.demo.timer.Stop() - self.Destroy() - -class AboutBox(wxDialog): - def __init__(self, parent,wf): - wxDialog.__init__(self, parent, -1, "About Hangman", wxDefaultPosition, wxSize(350,450)) - self.wnd = HangmanDemo(wf, self, -1, wxPoint(1,1), wxSize(350,150)) - self.static = wxStaticText(self, -1, __doc__, wxPoint(1,160), wxSize(350, 250)) - self.button = wxButton(self, 2001, "OK", wxPoint(150,420), wxSize(50,-1)) - EVT_BUTTON(self, 2001, self.OnOK) - def OnOK(self, event): - self.wnd.Stop() - self.EndModal(wxID_OK) - -class MyFrame(wxFrame): - def __init__(self, wf): - self.wf = wf - wxFrame.__init__(self, NULL, -1, "hangman", wxDefaultPosition, wxSize(400,300)) - self.wnd = HangmanWnd(self, -1) - menu = wxMenu() - menu.Append(1001, "New") - menu.Append(1002, "End") - menu.AppendSeparator() - menu.Append(1003, "Reset") - menu.Append(1004, "Demo...") - menu.AppendSeparator() - menu.Append(1005, "Exit") - menubar = wxMenuBar() - menubar.Append(menu, "Game") - menu = wxMenu() - #menu.Append(1010, "Internal", "Use internal dictionary", TRUE) - menu.Append(1011, "ASCII File...") - urls = [ 'wxPython home', 'http://208.240.253.245/wxPython/main.html', - 'slashdot.org', 'http://slashdot.org/', - 'cnn.com', 'http://cnn.com', - 'The New York Times', 'http://www.nytimes.com', - 'De Volkskrant', 'http://www.volkskrant.nl/frameless/25000006.html', - 'Gnu GPL', 'http://www.fsf.org/copyleft/gpl.html', - 'Bijbel: Genesis', 'http://www.coas.com/bijbel/gn1.htm'] - urlmenu = wxMenu() - for item in range(0,len(urls),2): - urlmenu.Append(1020+item/2, urls[item], urls[item+1]) - urlmenu.Append(1080, 'Other...', 'Enter an URL') - menu.AppendMenu(1012, 'URL', urlmenu, 'Use a webpage') - menu.Append(1013, 'Dump', 'Write contents to stdout') - menubar.Append(menu, "Dictionary") - self.urls = urls - self.urloffset = 1020 - menu = wxMenu() - menu.Append(1090, "About...") - menubar.Append(menu, "Help") - self.SetMenuBar(menubar) - self.CreateStatusBar(2) - EVT_MENU(self, 1001, self.OnGameNew) - EVT_MENU(self, 1002, self.OnGameEnd) - EVT_MENU(self, 1003, self.OnGameReset) - EVT_MENU(self, 1004, self.OnGameDemo) - EVT_MENU(self, 1005, self.OnWindowClose) - EVT_MENU(self, 1011, self.OnDictFile) - EVT_MENU_RANGE(self, 1020, 1020+len(urls)/2, self.OnDictURL) - EVT_MENU(self, 1080, self.OnDictURLSel) - EVT_MENU(self, 1013, self.OnDictDump) - EVT_MENU(self, 1090, self.OnHelpAbout) - EVT_CHAR(self.wnd, self.OnChar) - self.OnGameReset() - def OnGameNew(self, event): - word = self.wf.Get() - self.in_progress = 1 - self.SetStatusText("",0) - self.wnd.StartGame(word) - def OnGameEnd(self, event): - self.UpdateAverages(0) - self.in_progress = 0 - self.SetStatusText("",0) - self.wnd.EndGame() - def OnGameReset(self, event=None): - self.played = 0 - self.won = 0 - self.history = [] - self.average = 0.0 - self.OnGameNew(None) - def OnGameDemo(self, event): - frame = HangmanDemoFrame(self.wf, self, -1, wxDefaultPosition, self.GetSize()) - frame.Show(TRUE) - def OnDictFile(self, event): - fd = wxFileDialog(self) - if (self.wf.filename): - fd.SetFilename(self.wf.filename) - if fd.ShowModal() == wxID_OK: - file = fd.GetPath() - self.wf = WordFetcher(file) - def OnDictURL(self, event): - item = (event.GetId() - self.urloffset)*2 - print "Trying to open %s at %s" % (self.urls[item], self.urls[item+1]) - self.wf = URLWordFetcher(self.urls[item+1]) - def OnDictURLSel(self, event): - msg = wxTextEntryDialog(self, "Enter the URL of the dictionary document", "Enter URL") - if msg.ShowModal() == wxID_OK: - url = msg.GetValue() - self.wf = URLWordFetcher(url) - def OnDictDump(self, event): - print self.wf.words - def OnHelpAbout(self, event): - about = AboutBox(self, self.wf) - about.ShowModal() - about.wnd.Stop() # that damn timer won't stop! - def UpdateAverages(self, has_won): - if has_won: - self.won = self.won + 1 - self.played = self.played+1 - self.history.append(self.wnd.misses) # ugly - total = 0.0 - for m in self.history: - total = total + m - self.average = float(total/len(self.history)) - def OnChar(self, event): - if not self.in_progress: - self.OnGameNew(None) - return - key = event.KeyCode(); - if key >= ord('A') and key <= ord('Z'): - key = key + ord('a') - ord('A') - key = chr(key) - if key < 'a' or key > 'z': - event.Skip() - return - res = self.wnd.HandleKey(key) - if res == 0: - self.SetStatusText(self.wnd.message) - elif res == 1: - self.UpdateAverages(0) - self.SetStatusText("Too bad, you're dead!",0) - self.in_progress = 0 - elif res == 2: - self.in_progress = 0 - self.UpdateAverages(1) - self.SetStatusText("Congratulations!",0) - if self.played: - percent = (100.*self.won)/self.played - else: - percent = 0.0 - self.SetStatusText("p %d, w %d (%g %%), av %g" % (self.played,self.won, percent, self.average),1) - - def OnWindowClose(self, event): - self.Destroy() - -class MyApp(wxApp): - def OnInit(self): - if wxPlatform == '__WXGTK__': - defaultfile = "/usr/share/games/hangman-words" - elif wxPlatform == '__WXMSW__': - defaultfile = "c:\\windows\\hardware.txt" - else: - defaultfile = "" - wf = WordFetcher(defaultfile) - frame = MyFrame(wf) - self.SetTopWindow(frame) - frame.Show(TRUE) - return TRUE - -if __name__ == '__main__': - app = MyApp(0) - app.MainLoop() diff --git a/wxPython/tests/hook.py b/wxPython/tests/hook.py deleted file mode 100644 index 990e9bafe4..0000000000 --- a/wxPython/tests/hook.py +++ /dev/null @@ -1,45 +0,0 @@ -from wxPython.wx import * - -class MyFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, - wxDefaultPosition, wxSize(400, 400)) - self.panel = wxPanel(self, -1) - wxStaticText(self.panel, -1, "wxTextCtrl", wxPoint(5, 25), - wxSize(75, 20)) - self.tc = wxTextCtrl(self.panel, 10, "", wxPoint(80, 25), - wxSize(200, 30)) - EVT_CHAR_HOOK(self, self.OnCharHook) - #EVT_CHAR_HOOK(self.tc, self.OnCharHook) - EVT_CHAR(self, self.OnChar) - self.panel.Layout() - return - - def OnCloseWindow(self, event): - self.Destroy() - return - - def OnChar(self, event): - print "OnChar: %d '%c'" % (event.KeyCode(), chr(event.KeyCode())) - event.Skip() - return - - def OnCharHook(self, event): - print "OnCharHook: %d" % event.KeyCode() - event.Skip() - return - - -class MyApp(wxApp): - def OnInit(self): - frame = MyFrame(None, -1, 'CharHook Test') - frame.Show(1) - self.SetTopWindow(frame) - return 1 - - -app = MyApp(0) -app.MainLoop() - - - diff --git a/wxPython/tests/info.bmp b/wxPython/tests/info.bmp deleted file mode 100644 index 709cd923361c94d42f4a4d040908eb961bcb6a07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmZ9HJqp4=5QRq&l2QvVU}f(GL7pgEmec{e_wAOnqyLKfk=l)A3zgt#RHBQ}>=6g0IR z5)X4pO5k`Q7OJBJINt#xA5!dRfT5~@`KM~`p`&u$#g3+@q(EhH number of list entries -# ostart - line number of the top line of the previous redraw -# vw - width of the viewing window -# vh - height of the viewing window -# smalltext - 0 = size 12pt, 1 = size 9pt text -# -# Method members: -# OnPaint(evt) - basic draw handler -# OnDraw(dc) - called by OnPaint, redraws the screen if required -# update(updatelist) - called every 3 seconds if updates are needed. - -class MyWindow(wxScrolledWindow): - def __init__(self,num,parent,id,pos,size,style): - wxScrolledWindow.__init__(self,parent,id,pos,size,style) - self.SetBackgroundColour(wxWHITE) - - self.num=num - self.ostart=0 - self.smalltext = 0 - self.vw,self.vh=self.GetClientSizeTuple() - - # calculate font pt size needed: a bit of a kludge to get round - # font compatibility problems of X and Windows. - dc=wxClientDC(self) - - dc.SetFont(wxFont(12,wxDEFAULT,wxNORMAL,wxNORMAL,FALSE)) - if dc.GetTextExtent("XXXXXXXXXX")[0] > 100: - self.smalltext = 1 - - def OnPaint(self,evt): - """ overriding OnPaint to give handler. """ - dc = wxPaintDC(self) - self.PrepareDC(dc) - self.OnDraw(dc) - - def update(self,updlist): - """ handles line by line updating of list entries. """ - dc = wxClientDC(self) - self.PrepareDC(dc) - dc.SetBrush(wxWHITE_BRUSH) - dc.SetPen(wxWHITE_PEN) - - if self.smalltext == 1: - dc.SetFont(wxFont(9,wxDEFAULT,wxNORMAL,wxNORMAL,FALSE)) - else: - dc.SetFont(wxFont(12,wxDEFAULT,wxNORMAL,wxNORMAL,FALSE)) - - dc.BeginDrawing() - - for i in updlist: - if i >= self.ostart and i < self.ostart+self.vh/17+1: - dc.DrawRectangle(0,i*17,self.vw,17) - dc.DrawText("This is a simple test.Line "+str(i)+".", - 10,i*17+2) - dc.EndDrawing() - - def OnDraw(self,dc): - """ Main redraw function. """ - - if self.smalltext == 1: - dc.SetFont(wxFont(9,wxDEFAULT,wxNORMAL,wxNORMAL,FALSE)) - else: - dc.SetFont(wxFont(12,wxDEFAULT,wxNORMAL,wxNORMAL,FALSE)) - - vx,vstart=self.ViewStart() - self.vw,self.vh=self.GetClientSizeTuple() - vend=vstart+(self.vh/17) + 1 - if vend > self.num: vend = self.num - - dc.BeginDrawing() - if vstart > self.ostart: # if moving downwards... - for i in range(vend-(vstart-self.ostart+1),vend): - dc.DrawText("This is a simple test. Line "+str(i)+".", - 10,i*17+2) - - elif vstart < self.ostart: # if moving upwards... - for i in range(vstart,self.ostart): - dc.DrawText("This is a simple test. Line "+str(i)+".", - 10,i*17+2) - - elif vstart == self.ostart: # if not moving (redraw)... - #dc.Clear() - for i in range(vstart,vend): - dc.DrawText("This is a simple test. Line "+str(i)+".", - 10,i*17+2) - - dc.EndDrawing() - self.ostart=vstart - -#-------------------------------------------------------------------- - -class MyTimer(wxTimer): - def __init__(self,frame): - wxTimer.__init__(self) - self.frame_ = frame - - def Notify(self): - self.frame_.idle() - - -class MyFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, - wxPoint(100, 100), wxSize(500, 300)) - - # number of entries - self.num = 30 - - # set up the scrolling window... - self.sw = MyWindow(self.num,self, -1, - wxDefaultPosition, wxDefaultSize, - wxVSCROLL|wxSUNKEN_BORDER) - - self.sw.SetScrollbars(1,17,0,self.num+1) - - lc = wxLayoutConstraints() - lc.top.SameAs(self, wxTop, 5) - lc.left.SameAs(self, wxLeft, 5) - lc.bottom.SameAs(self, wxBottom, 5) - lc.right.SameAs(self, wxRight,5) - self.sw.SetConstraints(lc) - - self.timer=MyTimer(self) - # stupidly short interval time to accelerate memory leak problem: - self.timer.Start(80) - - def idle(self): - #usually just update one or two lines; to accelerate problem, - #every line is updated here. - self.sw.update(range(self.num)) - - -###################################################################### -# Main procedure.... - -if __name__ == "__main__": - class MyApp(wxApp): - def OnInit(self): - - self.frame = MyFrame(NULL, -1, "Memory Leak Tester") - self.frame.Show(true) - - self.exiting = FALSE; - return true - - app = MyApp(0) # Create an instance of the application class - app.MainLoop() # Tell it to start processing events - diff --git a/wxPython/tests/menu_replace.py b/wxPython/tests/menu_replace.py deleted file mode 100644 index aa5deba997..0000000000 --- a/wxPython/tests/menu_replace.py +++ /dev/null @@ -1,43 +0,0 @@ - -from wxPython.wx import * - -class MainWindowFrame(wxFrame): - - def __init__(self, parentframe, title): - - wxFrame.__init__(self, parentframe, -1, - title, size=wxSize(500, 200)) - - self.mb = wxMenuBar() - self.SetMenuBar(self.mb) - self.sbut = wxButton(self, -1, - 'switch menu (push twice and then use menu)') - EVT_BUTTON(self, self.sbut.GetId(), self.switch) - - #help menu - self.helpmenu = wxMenu() - self.othermenu = wxMenu() - - self.mb.Append(self.helpmenu, '&Help') - - - def switch(self, event): - - lastmenu = self.mb.GetMenuCount() - 1 - self.mb.Replace(lastmenu, self.othermenu, 'Other') - - - -class TheApp(wxApp): - - def OnInit(self): - - mainwin = MainWindowFrame(NULL, 'menutest') - mainwin.Show(true) - self.SetTopWindow(mainwin) - return true - -app = TheApp(0) -app.MainLoop() - - diff --git a/wxPython/tests/og.py b/wxPython/tests/og.py deleted file mode 100644 index d11968e73d..0000000000 --- a/wxPython/tests/og.py +++ /dev/null @@ -1,69 +0,0 @@ -from wxPython.wx import * -#from Lib.Gui.PlainWidgets import * - -class TestLayoutConstraints(wxPanel): - def __init__(self, parent): - wxPanel.__init__(self, parent, -1) - # - nb = wxNotebook(self, -1) - page = wxPanel(nb, -1) - page.SetBackgroundColour(wxBLUE) - button = wxButton(page, -1, 'press me') - # - nb.AddPage(page, 'testpage') - # - lc = wxLayoutConstraints() - lc.top.PercentOf(parent, wxBottom, 0) - lc.bottom.PercentOf(parent, wxBottom, 100) - lc.left.PercentOf(parent, wxRight, 0) - lc.right.PercentOf(parent, wxRight, 100) - self.SetConstraints(lc) - self.SetAutoLayout(true) - # - lc = wxLayoutConstraints() - lc.top.PercentOf(self, wxBottom, 0) - lc.bottom.PercentOf(self, wxBottom, 100) - lc.left.PercentOf(self, wxRight, 0) - lc.right.PercentOf(self, wxRight, 100) - nb.SetConstraints(lc) -# nb.SetAutoLayout(true) - # -# lc = wxLayoutConstraints() -# lc.top.PercentOf(nb, wxBottom, 0) -# lc.bottom.PercentOf(nb, wxBottom, 100) -# lc.left.PercentOf(nb, wxRight, 0) -# lc.right.PercentOf(nb, wxRight, 100) -# page.SetConstraints(lc) - page.SetAutoLayout(true) - - # this should center "button" on "page": - lc = wxLayoutConstraints() - lc.centreY.PercentOf(page, wxBottom, 50) - lc.centreX.PercentOf(page, wxRight, 50) - lc.width.AsIs() - lc.height.AsIs() - button.SetConstraints(lc) -# button.SetAutoLayout(true) - # - button.Layout() - page.Layout() - nb.Layout() - self.Layout() - - -if __name__ == "__main__": - class MyFrame(wxFrame): - def __init__(self, *argT, **optionD): - apply(wxFrame.__init__, (self,) + argT, optionD) - self.SetAutoLayout(true) - TestLayoutConstraints(self) - - class MyApp(wxApp): - def OnInit(self): - frame = MyFrame(None, -1, "TestLayoutConstraints", - size=wxSize(400,300)) - frame.Show(true) - return true - - app = MyApp() - app.MainLoop() diff --git a/wxPython/tests/paul.py b/wxPython/tests/paul.py deleted file mode 100644 index 0341e7eb7d..0000000000 --- a/wxPython/tests/paul.py +++ /dev/null @@ -1,28 +0,0 @@ -from wxPython.wx import * - - -class MyFrame(wxFrame): - def __init__(self, parent, id, title='A pxFrame!'): - wxFrame.__init__(self, parent, id, title, - wxPyDefaultPosition, wxSize(50, 50)) - - def get_filename(self): - dlg = wxFileDialog(self, "Choose a file", ".", "", "*.*", wxOPEN) - dlg.ShowModal() - self.file = dlg.GetPath() - dlg.Destroy() - self.Iconize(true) - return self.file - - -class FilePicker(wxApp): - def OnInit(self): - return true - - def get_filename(self): - dlg = wxFileDialog(NULL, "Choose a file", ".", "", "*.*", wxOPEN) - dlg.ShowModal() - self.file = dlg.GetPath() - dlg.Destroy() - return self.file - diff --git a/wxPython/tests/popup.py b/wxPython/tests/popup.py deleted file mode 100644 index 5cc08d4529..0000000000 --- a/wxPython/tests/popup.py +++ /dev/null @@ -1,123 +0,0 @@ -# popup.py: -# Illustrates how to create a wxListCtrl with an associated pop-up menu, which is -# activated when the right mouse button is clicked. - -from wxPython.wx import * - - -class cPopupHandler(wxEvtHandler): - - def __init__(self, this): - wxEvtHandler.__init__(self, this) - - - def ProcessEvent(self, event): - print "G" - #wxEvtHandler.ProcessEvent(self, event) - - if event.GetEventClass() != wxTYPE_MOUSE_EVENT: - return - - if not event.ButtonUp(3): - return - - if event.ButtonDown(1): - print "left down" - elif event.ButtonUp(1): - print "left up" - elif event.ButtonDown(3): - print "right down" - elif event.ButtonUp(3): - print "right up" - - - def xProcessEvent(self, event): - # I tried to pass this one in as the Connect() handler, - # but all I got from that was that the icons disappeared - # from the wxListCtrl. - print "H" - pass - - - -class cMyFrame(wxFrame): - - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, -1, title, wxDefaultPosition, wxSize(800, 600)) - - self.Centre(wxBOTH) - - # create a dummy icon; can't seem to get the wxListCtrl to work without an icon - #self.imagelist = wxImageList(16, 16) - #self.image = self.imagelist.Add(wxNoRefBitmap('smile.bmp', wxBITMAP_TYPE_BMP)) - - # create a ListCtrl - id = NewId() - self.listctrl = wxListCtrl(self, id, wxDefaultPosition, wxDefaultSize, wxLC_REPORT) - #self.listctrl.SetImageList(self.imagelist, wxIMAGE_LIST_SMALL) - - if 1: - # install a handler for mouse right button up events - #EVT_RIGHT_DOWN(self.listctrl, self.OnListMouseEvent) - #EVT_RIGHT_UP(self.listctrl, self.OnListMouseEvent) - - #EVT_RIGHT_DOWN(self.listctrl, self.OnSaveMousePos) - - EVT_LIST_ITEM_SELECTED(self, id, self.OnSaveSelection) - EVT_COMMAND_RIGHT_CLICK(self, id, self.OnListRightClick) - else: - # create an wxEvtHandler and connect it to the wxListCtrl - print "A" - self.listctrl.handler = cPopupHandler(self.listctrl) - print "B" - id = NewId() - self.listctrl.Connect(id, id, wxEVT_RIGHT_DOWN, self.OnListMouseEvent) - print "C" - - # define the ListCtrl column - self.listctrl.InsertColumn(0, "Name") - - # create a set of dummy ListCtrl entries - for Index in range(20): - self.listctrl.InsertStringItem(Index, "Item number %d" % Index) - - # re-adjust the width of the column - self.listctrl.SetColumnWidth(0, wxLIST_AUTOSIZE_USEHEADER) - - - def OnSaveSelection(self, event): - self.lastSelection = event.m_itemIndex - print self.lastSelection - - - def OnListRightClick(self, event): - menu = wxPyMenu() - menu.Append(0, "One") - menu.Append(1, "Two") - menu.Append(2, "Three") - - pos = self.listctrl.GetItemPosition(self.lastSelection) - self.listctrl.PopupMenu(menu, pos.x, pos.y) - - -class cMyApp(wxApp): - - def OnInit(self): - frame = cMyFrame(NULL, -1, "Popup Sample") - frame.Show(true) - self.SetTopWindow(frame) - return true - - -def main(): - App = cMyApp(0) - App.MainLoop() - - -if __name__ == "__main__": - main() - - - - - diff --git a/wxPython/tests/pytree.py b/wxPython/tests/pytree.py deleted file mode 100644 index 10deb1859d..0000000000 --- a/wxPython/tests/pytree.py +++ /dev/null @@ -1,203 +0,0 @@ -""" -Hello, and welcome to this test of the wxTreeItemData class. - -The wxTreeItemData class can be used to associate a python object with -a wxTreeCtrl item. In this sample, its use is demonstrated via a tree -control that shows the contents of a python namespace according to the -standard dir() command. Every item in the tree has its label taken -from the dir() output, and 'behind it' a reference to the python -object is stored in a wxTreeItemData object. - -As you may have guessed by now, this sample automatically displays -'__doc__' strings if the selected python object happens to have -one. Please expand the pyTree object to learn more about the -implementation. - -Version 1.0, April 4 1999. -Harm van der Heijden (H.v.d.Heijden@phys.tue.nl) - -P.S. Check out the string module. It's imported in this sample not -because it's used, but because it's so beautifully documented... -""" - -from wxPython import wx -import string # Don't use it, but it's fun expanding :-) - -#---------------------------------------------------------------------- - -def _getindent(line): - """Returns the indentation level of the given line.""" - indent = 0 - for c in line: - if c == ' ': indent = indent + 1 - elif c == '\t': indent = indent + 8 - else: break - return indent - -def _sourcefinder(func): - """Given a func_code object, this function tries to find and return - the python source code of the function.""" - try: - f = open(func.co_filename,"r") - except: - return "(could not open file %s)" % (func.co_filename,) - - for i in range(func.co_firstlineno): - line = f.readline() - ind = _getindent(line) - msg = "" - while line: - msg = msg + line - line = f.readline() - # the following should be <= ind, but then we get - # confused by multiline docstrings. Using == works most of - # the time... but not always! - if _getindent(line) == ind: break - return msg - -#---------------------------------------------------------------------- - -class pyTree(wx.wxTreeCtrl): - """ - This wxTreeCtrl derivative displays a tree view of a Python namespace. - Anything from which the dir() command returns a non-empty list is a branch - in this tree. - """ - - def __init__(self, parent, id, root): - """ - Initialize function; because we insert branches into the tree - as needed, we use the ITEM_EXPANDING event handler. The - ITEM_COLLAPSED handler removes the stuff afterwards. The - SEL_CHANGED handler attempts to display interesting - information about the selected object. - """ - wx.wxTreeCtrl.__init__(self, parent, id) - self.root = self.AddRoot(str(root), -1, -1, wx.wxTreeItemData(root)) - if dir(root): - self.SetItemHasChildren(self.root, wx.TRUE) - wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding) - wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed) - wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) - self.output = None - - - def SetOutput(self, output): - """ - Set output function (accepts single string). Used to display string - representation of the selected object by OnSelChanged. - """ - self.output = output - - - def OnItemExpanding(self,event): - """ - The real workhorse of this class. First we retrieve the object - (parent) belonging to the branch that is to be expanded. This - is done by calling GetPyData(parent), which is a short-cut for - GetPyItemData(parent).Get(). - - Then we get the dir() list of that object. For each item in - this list, a tree item is created with associated - wxTreeItemData referencing the child object. We get this - object using child = getattr(parent, item). - - Finally, we check wether the child returns a non-empty dir() - list. If so, it is labeled as 'having children', so that it - may be expanded. When it actually is expanded, this function - will again figure out what the offspring is. - """ - item = event.GetItem() - obj = self.GetPyData( item ) - lst = dir(obj) - for key in lst: - new_obj = getattr(obj,key) - new_item = self.AppendItem( item, key, -1, -1, - wx.wxTreeItemData(new_obj) ) - if dir(new_obj): - self.SetItemHasChildren(new_item, wx.TRUE) - - def OnItemCollapsed(self, event): - """ - We need to remove all children here, otherwise we'll see all - that old rubbish again after the next expansion. - """ - item = event.GetItem() - self.DeleteChildren(item) - - def OnSelChanged(self, event): - """ - If an output function is defined, we try to print some - informative, interesting and thought-provoking stuff to it. - If it has a __doc__ string, we print it. If it's a function or - unbound class method, we attempt to find the python source. - """ - if not self.output: - return - obj = self.GetPyData( event.GetItem() ) - msg = str(obj) - if hasattr(obj, '__doc__'): - msg = msg+"\n\nDocumentation string:\n\n%s" % ( getattr(obj, '__doc__'),) - # Is it a function? - func = None - if hasattr(obj, "func_code"): # normal function - func = getattr(obj, "func_code") - elif hasattr(obj, "im_func"): # unbound class method - func = getattr(getattr(obj, "im_func"), "func_code") - if func: # if we found one, let's try to print the source - msg = msg+"\n\nFunction source:\n\n" + _sourcefinder(func) - - apply(self.output, (msg,)) - -#---------------------------------------------------------------------- - -overview = __doc__ - -def runTest(frame, nb, log): - split = wx.wxSplitterWindow(nb, -1) - tree = pyTree(split, -1, __main__) - text = wx.wxTextCtrl(split, -1, "", wx.wxDefaultPosition, - wx.wxDefaultSize, wx.wxTE_MULTILINE) - split.SplitVertically(tree, text, 200) - tree.SetOutput(text.SetValue) - tree.SelectItem(tree.root) - text.SetBackgroundColour(wxNamedColour("LIGHT BLUE")) - tree.SetBackgroundColour(wxNamedColour("LIGHT BLUE")) - - return split - - - -#---------------------------------------------------------------------- -if __name__ == '__main__': - - class MyFrame(wx.wxFrame): - """Very standard Frame class. Nothing special here!""" - - def __init__(self): - """Make a splitter window; left a tree, right a textctrl. Wow.""" - import __main__ - wx.wxFrame.__init__(self, wx.NULL, -1, "PyTreeItemData Test", - wx.wxDefaultPosition, wx.wxSize(800,500)) - split = wx.wxSplitterWindow(self, -1) - tree = pyTree(split, -1, __main__) - text = wx.wxTextCtrl(split, -1, "", wx.wxDefaultPosition, - wx.wxDefaultSize, wx.wxTE_MULTILINE) - split.SplitVertically(tree, text, 200) - tree.SetOutput(text.SetValue) - tree.SelectItem(tree.root) - - class MyApp(wx.wxApp): - """This class is even less interesting than MyFrame.""" - - def OnInit(self): - """OnInit. Boring, boring, boring!""" - frame = MyFrame() - frame.Show(wx.TRUE) - self.SetTopWindow(frame) - return wx.TRUE - - app = MyApp(0) - app.MainLoop() - - diff --git a/wxPython/tests/query.bmp b/wxPython/tests/query.bmp deleted file mode 100644 index f8022181a68437db918d73c7e461a0658b7da0a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmaKpF;2rU6o!8z29TmOU69I9b!6rU-8lpoC`@(PGMded+{P#H8QR4Xk|lehObPGB zX=5YQKX%^x{n^i!y?)wW0V~`;ZUH<{UyWVhnlcjc|J4H2(6%YipHdiOC^G1WhQ8;F zI(A*rt`9_gX8+S?xN^ftJQnX<_ z%Gc$Fq@~=k{{ilTb4~-v*Jk@|72^|Ng4{e&klr^5=Tu`?)(be&QDMrnVFJ y9+l6z9dxcwj1JYQ#E z#`XRJaATiaKjFfNjsACA0Nz-ZI`GL5+qQ9($mK@Pir9GxDeuigkILv1M&KdY0DRha z`vTgO%&b+&%D24O!52Gt6_54*;r&>DS>I{|_5ZX!w@6TP`SmR@_(;$;xA-VfcevDp rplw(61nmIm-8`b_A+36OY}50kj}!FsLQr~W9;!f}tyu(PD$t8R&mwid diff --git a/wxPython/tests/tabs.py b/wxPython/tests/tabs.py deleted file mode 100644 index 46d946bc62..0000000000 --- a/wxPython/tests/tabs.py +++ /dev/null @@ -1,37 +0,0 @@ -from wxPython.wx import * - -class Test: - def __init__(self): - self.panel = wxPanel(frame, -1) - self.box = wxListBox(self.panel, 100, wxPoint(10,10), - wxSize(300,100), [], wxLB_SINGLE|wxLB_SORT) - self.text = wxTextCtrl(self.panel, 110,'', wxPoint(310,10), - wxSize(300,100),wxTE_MULTILINE|wxTE_READONLY) - self.FillList() - - def FillList(self): - line = 'This is a test' - self.box.Append(line) - self.text.AppendText(line) - - def OnCloseWindow(self, event): - self.panel.Close(true) - -class MyApp(wxApp): - def OnInit(self): - global frame - frame = wxFrame(NULL,-1,'Main',wxDefaultPosition,wxSize(630,150)) - test = Test() - frame.Show(true) - self.SetTopWindow(frame) - return true - - def OnCloseWindow(self, event): - self.Destroy() - -if __name__ == '__main__': - app = MyApp(0) - app.MainLoop() - - - diff --git a/wxPython/tests/test1.py b/wxPython/tests/test1.py deleted file mode 100644 index 5cc269d636..0000000000 --- a/wxPython/tests/test1.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test1.py -# Purpose: A minimal wxPython program -# -# 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 -#---------------------------------------------------------------------------- - - -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) - - - # 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 - - - -#--------------------------------------------------------------------------- - - -# 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(1) # Create an instance of the application class -app.MainLoop() # Tell it to start processing events - -print 'done!' - - -#---------------------------------------------------------------------------- - - diff --git a/wxPython/tests/test2.py b/wxPython/tests/test2.py deleted file mode 100644 index 47ecaea47f..0000000000 --- a/wxPython/tests/test2.py +++ /dev/null @@ -1,212 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test2.py -# Purpose: Testing GDI stuff and events. -# -# Author: Robin Dunn -# -# Created: -# RCS-ID: $Id$ -# Copyright: (c) 1998 by Total Control Software -# Licence: wxWindows license -#---------------------------------------------------------------------------- - - -from wxPython.wx import * - - -#--------------------------------------------------------------------------- - - - -class MyCanvas(wxScrolledWindow): - def __init__(self, parent): - wxScrolledWindow.__init__(self, parent, -1, wxPoint(0, 0), wxPyDefaultSize, wxSUNKEN_BORDER) - - self.SetBackgroundColour(wxNamedColor("WHITE")) - self.Connect(-1, -1, wxEVT_LEFT_DOWN, self.OnLeftButtonEvent) - self.Connect(-1, -1, wxEVT_LEFT_UP, self.OnLeftButtonEvent) - self.Connect(-1, -1, wxEVT_MOTION, self.OnLeftButtonEvent) - - self.SetCursor(wxStockCursor(wxCURSOR_PENCIL)) - bmp = wxBitmap('bitmaps/test2.bmp', wxBITMAP_TYPE_BMP) - self.bmp = bmp - - self.SetScrollbars(20, 20, 50, 50) - - self.lines = [] - - - - def OnPaint(self, event): - dc = wxPaintDC(self) - self.PrepareDC(dc) - self.DoDrawing(dc) - - - - def DoDrawing(self, dc): - dc.BeginDrawing() - #dc.Clear() - pen1 = wxPen(wxNamedColour('RED')) - dc.SetPen(pen1) - dc.DrawRectangle(5, 5, 50, 50) - - dc.SetBrush(wxLIGHT_GREY_BRUSH) - dc.SetPen(wxPen(wxNamedColour('BLUE'), 4)) - dc.DrawRectangle(15, 15, 50, 50) - - font = wxFont(14, wxSWISS, wxNORMAL, wxNORMAL) - dc.SetFont(font) - dc.SetTextForeground(wxColour(0xFF, 0x20, 0xFF)) - te = dc.GetTextExtent("Hello World") - dc.DrawText("Hello World", 60, 65) - - dc.SetPen(wxPen(wxNamedColour('VIOLET'), 4)) - dc.DrawLine(5, 65+te[1], 60+te[0], 65+te[1]) - - lst = [(100,110), (150,110), (150,160), (100,160)] - dc.DrawLines(lst, -60) - dc.SetPen(wxGREY_PEN) - dc.DrawPolygon(lst, 75) - dc.SetPen(wxGREEN_PEN) - dc.DrawSpline(lst+[(100,100)]) - - dc.DrawBitmap(self.bmp, 200, 20) - dc.SetTextForeground(wxColour(0, 0xFF, 0x80)) - dc.DrawText("a bitmap", 200, 80) - - self.DrawSavedLines(dc) - dc.EndDrawing() - - - def DrawSavedLines(self, dc): - dc.SetPen(wxPen(wxNamedColour('MEDIUM FOREST GREEN'), 4)) - for line in self.lines: - for coords in line: - apply(dc.DrawLine, coords) - - - - def OnLeftButtonEvent(self, event): - if event.LeftDown(): - self.x, self.y = event.GetX(), event.GetY() - self.curLine = [] - elif event.Dragging(): - dc = wxClientDC(self) - dc.BeginDrawing() - dc.SetPen(wxPen(wxNamedColour('MEDIUM FOREST GREEN'), 4)) - coords = (self.x, self.y, event.GetX(), event.GetY()) - self.curLine.append(coords) - apply(dc.DrawLine, coords) - self.x, self.y = event.GetX(), event.GetY() - dc.EndDrawing() - elif event.LeftUp(): - self.lines.append(self.curLine) - self.curLine = [] - - - - - -#--------------------------------------------------------------------------- - -class MyFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, wxSize(320, 200)) - self.canvas = MyCanvas(self) - - def OnCloseWindow(self, event): - self.Destroy() - - def OnSize(self, event): - size = self.GetClientSize() - self.canvas.SetDimensions(5, 5, size.width-10, size.height-10) - - -#--------------------------------------------------------------------------- - - -class MyApp(wxApp): - def OnInit(self): - frame = MyFrame(NULL, -1, "Test 2") - frame.Show(true) - self.SetTopWindow(frame) - return true - - -#--------------------------------------------------------------------------- - - -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - -if __name__ == '__main__': - main() - - -#---------------------------------------------------------------------------- -# -# $Log$ -# Revision 1.4 2001/02/16 08:19:38 robind -# Copied/merged from the 2.2 branch. -# -# Changes needed to build with new event system -# -# Revision 1.1.2.2 2001/01/30 20:54:16 robind -# -# Gobs of changes move from the main trunk to the 2.2 branch in -# preparataion for 2.2.5 release. See CHANGES.txt for details. -# -# Revision 1.3 2000/10/30 21:05:22 robind -# -# Merged wxPython 2.2.2 over to the main branch -# -# Revision 1.1.2.1 2000/05/16 02:07:01 RD -# -# Moved and reorganized wxPython directories -# -# Now builds into an intermediate wxPython package directory before -# installing -# -# Revision 1.3 1999/04/30 03:29:53 RD -# -# wxPython 2.0b9, first phase (win32) -# Added gobs of stuff, see wxPython/README.txt for details -# -# Revision 1.2.4.1 1999/03/27 23:30:00 RD -# -# wxPython 2.0b8 -# Python thread support -# various minor additions -# various minor fixes -# -# Revision 1.2 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.1 1998/08/09 08:28:05 RD -# Initial version -# -# diff --git a/wxPython/tests/test3.py b/wxPython/tests/test3.py deleted file mode 100644 index dec9670a24..0000000000 --- a/wxPython/tests/test3.py +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test3.py -# Purpose: Testing menus and status lines -# -# Author: Robin Dunn -# -# Created: -# RCS-ID: $Id$ -# Copyright: (c) 1998 by Total Control Software -# Licence: wxWindows license -#---------------------------------------------------------------------------- - - -from wxPython.wx import * - - -#--------------------------------------------------------------------------- - -class MyCanvas(wxWindow): - def __init__(self, parent, ID): - wxWindow.__init__(self, parent, ID) - self.SetBackgroundColour(wxNamedColor("WHITE")) - - def OnPaint(self, event): - dc = wxPaintDC(self) - dc.BeginDrawing() - size = self.GetClientSize() - font = wxFont(42, wxSWISS, wxNORMAL, wxNORMAL) - dc.SetFont(font) - st = "Python Rules!" - tw,th = dc.GetTextExtent(st) - dc.DrawText(st, (size.width-tw)/2, (size.height-th)/2) - dc.EndDrawing() - -#--------------------------------------------------------------------------- - -#if wxPlatform == '__WXMSW__': -class MyMiniFrame(wxMiniFrame): - def __init__(self, parent, ID, title, pos, size, style): - wxMiniFrame.__init__(self, parent, ID, title, pos, size, style) - panel = wxPanel(self, -1) - ID = NewId() - button = wxButton(panel, ID, "Close Me") - button.SetPosition(wxPoint(15, 15)) - self.Connect(ID, -1, wxEVT_COMMAND_BUTTON_CLICKED, self.OnCloseMe) - - def OnCloseMe(self, event): - self.Close(true) - - def OnCloseWindow(self, event): - self.Destroy() -#--------------------------------------------------------------------------- - -class MyFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, - wxSize(420, 200)) - self.canvas = MyCanvas(self, -1) - self.CreateStatusBar(2) - mainmenu = wxMenuBar() - menu = wxMenu() - menu.Append(100, 'A &Menu Item', 'the help text') - menu.Append(101, '&Another', 'Grok!') - menu.AppendSeparator() - menu.Append(200, 'E&xit', 'Get the heck outta here!') - mainmenu.Append(menu, "&It's a menu!") - self.SetMenuBar(mainmenu) - if wxPlatform == '__WXMSW__': - print menu.GetHelpString(100) - print mainmenu.GetHelpString(101) - print mainmenu.GetHelpString(200) - self.DragAcceptFiles(true) - - self.Connect(-1, -1, wxEVT_COMMAND_MENU_SELECTED, self.OnMenuCommand) - self.Connect(-1, -1, wxEVT_DROP_FILES, self.OnDropFiles) - - - - def OnCloseWindow(self, event): - print 'OnCloseWindow' - self.Destroy() - - - def OnSize(self, event): - size = self.GetClientSize() - self.canvas.SetSize(size) - self.SetStatusText("hello, this is a test: (%d, %d)" % (size.width, size.height), 1) - -## def OnMenuHighlight(self, event): -## mainmenu = self.GetMenuBar() -## st = mainmenu.GetHelpString(event.GetMenuId()) -## self.SetStatusText('['+st+']', 0) - - def OnMenuCommand(self, event): - # why isn't this a wxMenuEvent??? - print event, event.GetInt() - if event.GetInt() == 200: - self.Close() - elif event.GetInt() == 101: - #if wxPlatform == '__WXMSW__': - win = MyMiniFrame(self, -1, "This is a Mini...", - wxPoint(-1, -1), #wxPyDefaultPosition, - wxSize(150, 150), - wxMINIMIZE_BOX | wxMAXIMIZE_BOX | - wxTHICK_FRAME | wxSYSTEM_MENU | - wxTINY_CAPTION_HORIZ) - win.Show(true) - #else: - # print 'Sorry, can\'t do mini\'s...' - - - - def OnDropFiles(self, event): - fileList = event.GetFiles() - for file in fileList: - print file - - -#--------------------------------------------------------------------------- - - -class MyApp(wxApp): - def OnInit(self): - frame = MyFrame(NULL, -1, "Test 3") - frame.Show(true) - self.SetTopWindow(frame) - return true - -#--------------------------------------------------------------------------- - - -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - -if __name__ == '__main__': - main() - - -#---------------------------------------------------------------------------- -# -# $Log$ -# Revision 1.4 2001/02/16 08:19:38 robind -# Copied/merged from the 2.2 branch. -# -# Changes needed to build with new event system -# -# Revision 1.1.2.2 2001/01/30 20:54:16 robind -# -# Gobs of changes move from the main trunk to the 2.2 branch in -# preparataion for 2.2.5 release. See CHANGES.txt for details. -# -# Revision 1.3 2000/10/30 21:05:22 robind -# -# Merged wxPython 2.2.2 over to the main branch -# -# Revision 1.1.2.1 2000/05/16 02:07:01 RD -# -# Moved and reorganized wxPython directories -# -# Now builds into an intermediate wxPython package directory before -# installing -# -# Revision 1.6 1999/04/30 03:29:53 RD -# -# wxPython 2.0b9, first phase (win32) -# Added gobs of stuff, see wxPython/README.txt for details -# -# 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 -# 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/08/22 19:51:17 RD -# some tweaks for wxGTK -# -# Revision 1.1 1998/08/09 08:28:05 RD -# Initial version -# -# diff --git a/wxPython/tests/test4.py b/wxPython/tests/test4.py deleted file mode 100644 index 469e14f497..0000000000 --- a/wxPython/tests/test4.py +++ /dev/null @@ -1,1121 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test4.py -# Purpose: Testing lots of stuff, controls, window types, etc. -# -# Author: Robin Dunn -# -# Created: -# RCS-ID: $Id$ -# Copyright: (c) 1998 by Total Control Software -# Licence: wxWindows license -#---------------------------------------------------------------------------- - - -from wxPython.wx import * - -import time - -#--------------------------------------------------------------------------- - -class TestSimpleControlsDlg(wxDialog): - def __init__(self, parent, log): - self.log = log - wxDialog.__init__(self, parent, -1, "Test Simple Controls", - wxDefaultPosition, wxSize(350, 400)) - - - sampleList = ["zero", "one", "two", "three", "four", "five", - "six", "seven", "eight", "nine", "ten"] - - y_pos = 5 - delta = 25 - - wxStaticText(self, -1, "wxTextCtrl", wxPoint(5, y_pos), wxSize(75, 20)) - wxTextCtrl(self, 10, "", wxPoint(80, y_pos), wxSize(150, 20)) - EVT_TEXT(self, 10, self.EvtText) - y_pos = y_pos + delta - - wxCheckBox(self, 20, "wxCheckBox", wxPoint(80, y_pos), wxSize(150, 20), wxNO_BORDER) - EVT_CHECKBOX(self, 20, self.EvtCheckBox) - y_pos = y_pos + delta - - rb = wxRadioBox(self, 30, "wxRadioBox", wxPoint(80, y_pos), wxDefaultSize, - sampleList, 3, wxRA_SPECIFY_COLS | wxNO_BORDER) - EVT_RADIOBOX(self, 30, self.EvtRadioBox) - width, height = rb.GetSizeTuple() - y_pos = y_pos + height + 5 - - wxStaticText(self, -1, "wxChoice", wxPoint(5, y_pos), wxSize(75, 20)) - wxChoice(self, 40, wxPoint(80, y_pos), wxSize(95, 20), #wxDefaultSize, - sampleList) - EVT_CHOICE(self, 40, self.EvtChoice) - y_pos = y_pos + delta - - wxStaticText(self, -1, "wxComboBox", wxPoint(5, y_pos), wxSize(75, 18)) - wxComboBox(self, 50, "default value", wxPoint(80, y_pos), wxSize(95, -1), - sampleList, wxCB_DROPDOWN) - EVT_COMBOBOX(self, 50, self.EvtComboBox) - y_pos = y_pos + delta - - wxStaticText(self, -1, "wxListBox", wxPoint(5, y_pos), wxSize(75, 18)) - lb = wxListBox(self, 60, wxPoint(80, y_pos), wxSize(95, 80), - sampleList, wxLB_SINGLE) - EVT_LISTBOX(self, 60, self.EvtListBox) - EVT_LISTBOX_DCLICK(self, 60, self.EvtListBoxDClick) - lb.SetSelection(0) - width, height = lb.GetSizeTuple() - y_pos = y_pos + height + 5 - - - - y_pos = y_pos + 15 - wxButton(self, wxID_OK, ' OK ', wxPoint(80, y_pos), wxDefaultSize).SetDefault() - wxButton(self, wxID_CANCEL, ' Cancel ', wxPoint(140, y_pos)) - - - def EvtText(self, event): - self.log.WriteText('EvtText: %s\n' % event.GetString()) - - def EvtCheckBox(self, event): - self.log.WriteText('EvtCheckBox: %d\n' % event.GetInt()) - - def EvtRadioBox(self, event): - self.log.WriteText('EvtRadioBox: %d\n' % event.GetInt()) - - def EvtChoice(self, event): - self.log.WriteText('EvtChoice: %s\n' % event.GetString()) - - def EvtComboBox(self, event): - self.log.WriteText('EvtComboBox: %s\n' % event.GetString()) - - def EvtListBox(self, event): - self.log.WriteText('EvtListBox: %s\n' % event.GetString()) - - def EvtListBoxDClick(self, event): - self.log.WriteText('EvtListBoxDClick:\n') - - - -#--------------------------------------------------------------------------- - -class TestTimer(wxTimer): - def __init__(self, log): - wxTimer.__init__(self) - self.log = log - - def Notify(self): - wxBell() - self.log.WriteText('beep!\n') - - -#--------------------------------------------------------------------------- - -class TestLayoutConstraints(wxFrame): - def __init__(self, parent): - wxFrame.__init__(self, parent, -1, 'Test Layout Constraints', - wxDefaultPosition, wxSize(500, 300)) - - self.SetAutoLayout(true) - EVT_BUTTON(self, 100, self.OnButton) - - self.panelA = wxWindow(self, -1, wxDefaultPosition, wxDefaultSize, - wxSIMPLE_BORDER) - self.panelA.SetBackgroundColour(wxBLUE) - lc = wxLayoutConstraints() - lc.top.SameAs(self, wxTop, 10) - lc.left.SameAs(self, wxLeft, 10) - lc.bottom.SameAs(self, wxBottom, 10) - lc.right.PercentOf(self, wxRight, 50) - self.panelA.SetConstraints(lc) - - self.panelB = wxWindow(self, -1, wxDefaultPosition, wxDefaultSize, - wxSIMPLE_BORDER) - self.panelB.SetBackgroundColour(wxRED) - lc = wxLayoutConstraints() - lc.top.SameAs(self, wxTop, 10) - lc.right.SameAs(self, wxRight, 10) - lc.bottom.PercentOf(self, wxBottom, 30) - lc.left.RightOf(self.panelA, 10) - self.panelB.SetConstraints(lc) - - self.panelC = wxWindow(self, -1, wxDefaultPosition, wxDefaultSize, - wxSIMPLE_BORDER) - self.panelC.SetBackgroundColour(wxWHITE) - lc = wxLayoutConstraints() - lc.top.Below(self.panelB, 10) - lc.right.SameAs(self, wxRight, 10) - lc.bottom.SameAs(self, wxBottom, 10) - lc.left.RightOf(self.panelA, 10) - self.panelC.SetConstraints(lc) - - b = wxButton(self.panelA, 100, ' Panel A ') - lc = wxLayoutConstraints() - lc.centreX.SameAs (self.panelA, wxCentreX) - lc.centreY.SameAs (self.panelA, wxCentreY) - lc.height.AsIs () - lc.width.PercentOf (self.panelA, wxWidth, 50) - b.SetConstraints(lc); - - b = wxButton(self.panelB, 100, ' Panel B ') - lc = wxLayoutConstraints() - lc.top.SameAs (self.panelB, wxTop, 2) - lc.right.SameAs (self.panelB, wxRight, 4) - lc.height.AsIs () - lc.width.AsIs () - b.SetConstraints(lc); - - self.panelD = wxWindow(self.panelC, -1, wxDefaultPosition, wxDefaultSize, - wxSIMPLE_BORDER) - self.panelD.SetBackgroundColour(wxGREEN) - wxStaticText(self.panelD, -1, "Panel D", wxPoint(4, 4)).SetBackgroundColour(wxGREEN) - - b = wxButton(self.panelC, 100, ' Panel C ') - lc = wxLayoutConstraints() - lc.top.Below (self.panelD) - lc.left.RightOf (self.panelD) - lc.height.AsIs () - lc.width.AsIs () - b.SetConstraints(lc); - - lc = wxLayoutConstraints() - lc.bottom.PercentOf (self.panelC, wxHeight, 50) - lc.right.PercentOf (self.panelC, wxWidth, 50) - lc.height.SameAs (b, wxHeight) - lc.width.SameAs (b, wxWidth) - self.panelD.SetConstraints(lc); - - - def OnButton(self, event): - self.Close(true) - - - def OnCloseWindow(self, event): - self.Destroy() - - -#--------------------------------------------------------------------------- - -class TestGrid(wxFrame): - def __init__(self, parent, log): - wxFrame.__init__(self, parent, -1, 'Test Grid', - wxDefaultPosition, wxSize(500, 300)) - self.log = log - - grid = wxGrid(self, -1) - - grid.CreateGrid(16, 16) - grid.SetColumnWidth(3, 200) - grid.SetRowHeight(4, 45) - grid.SetCellValue("First cell", 0, 0) - grid.SetCellValue("Another cell", 1, 1) - grid.SetCellValue("Yet another cell", 2, 2) - grid.SetCellTextFont(wxFont(12, wxROMAN, wxITALIC, wxNORMAL), 0, 0) - grid.SetCellTextColour(wxRED, 1, 1) - grid.SetCellBackgroundColour(wxCYAN, 2, 2) - grid.UpdateDimensions() - grid.AdjustScrollbars() - - EVT_GRID_SELECT_CELL(grid, self.OnSelectCell) - EVT_GRID_CELL_CHANGE(grid, self.OnCellChange) - EVT_GRID_CELL_LCLICK(grid, self.OnCellClick) - EVT_GRID_LABEL_LCLICK(grid, self.OnLabelClick) - - - - def OnCloseWindow(self, event): - self.Destroy() - - def OnSelectCell(self, event): - self.log.WriteText("OnSelectCell: (%d, %d)\n" % (event.m_row, event.m_col)) - - def OnCellChange(self, event): - self.log.WriteText("OnCellChange: (%d, %d)\n" % (event.m_row, event.m_col)) - - def OnCellClick(self, event): - self.log.WriteText("OnCellClick: (%d, %d)\n" % (event.m_row, event.m_col)) - - def OnLabelClick(self, event): - self.log.WriteText("OnLabelClick: (%d, %d)\n" % (event.m_row, event.m_col)) - -#--------------------------------------------------------------------------- - - -class ColoredPanel(wxWindow): - def __init__(self, parent, color): - wxWindow.__init__(self, parent, -1, - wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER) - self.SetBackgroundColour(color) - - -class TestNotebookWindow(wxFrame): - def __init__(self, parent, log): - wxFrame.__init__(self, parent, -1, 'Test wxNotebook') - - nb = wxNotebook(self, -1, wxPoint(0,0), self.GetClientSize()) - - win = ColoredPanel(nb, wxBLUE) - nb.AddPage(win, "Blue") - st = wxStaticText(win, -1, - "You can put nearly any type of window here!", - wxPoint(10, 10)) - st.SetForegroundColour(wxWHITE) - st.SetBackgroundColour(wxBLUE) - st = wxStaticText(win, -1, - "Check the next tab for an example...", - wxPoint(10, 30)) - st.SetForegroundColour(wxWHITE) - st.SetBackgroundColour(wxBLUE) - - win = TestTreeCtrlPanel(nb, log) - nb.AddPage(win, "TreeCtrl") - - win = TestListCtrlPanel(nb, log) - nb.AddPage(win, "ListCtrl") - - win = ColoredPanel(nb, wxRED) - nb.AddPage(win, "Red") - - win = ColoredPanel(nb, wxGREEN) - nb.AddPage(win, "Green") - - win = ColoredPanel(nb, wxCYAN) - nb.AddPage(win, "Cyan") - - win = ColoredPanel(nb, wxWHITE) - nb.AddPage(win, "White") - - win = ColoredPanel(nb, wxBLACK) - nb.AddPage(win, "Black") - - win = ColoredPanel(nb, wxNamedColour('MIDNIGHT BLUE')) - nb.AddPage(win, "MIDNIGHT BLUE") - - win = ColoredPanel(nb, wxNamedColour('INDIAN RED')) - nb.AddPage(win, "INDIAN RED") - - nb.SetSelection(0) - self.SetSize(wxSize(350, 300)) - - - def OnCloseWindow(self, event): - self.Destroy() - -#--------------------------------------------------------------------------- - -class TestSplitterWindow(wxFrame): - def __init__(self, parent): - wxFrame.__init__(self, parent, -1, 'Test wxSplitterWindow', - wxDefaultPosition, wxSize(500, 300)) - - splitter = wxSplitterWindow(self, -1) - - p1 = ColoredPanel(splitter, wxRED) - wxStaticText(p1, -1, "Panel One", wxPoint(5,5)).SetBackgroundColour(wxRED) - - p2 = ColoredPanel(splitter, wxBLUE) - wxStaticText(p2, -1, "Panel Two", wxPoint(5,5)).SetBackgroundColour(wxBLUE) - - splitter.SplitVertically(p1, p2) - - - def OnCloseWindow(self, event): - self.Destroy() - - -#--------------------------------------------------------------------------- - -class CustomStatusBar(wxStatusBar): - def __init__(self, parent): - wxStatusBar.__init__(self, parent, -1) - self.SetFieldsCount(3) - - self.SetStatusText("A Custom StatusBar...", 0) - - self.cb = wxCheckBox(self, 1001, "toggle clock") - EVT_CHECKBOX(self, 1001, self.OnToggleClock) - self.cb.SetValue(true) - - # figure out how tall to make it. - dc = wxClientDC(self) - dc.SetFont(self.GetFont()) - (w,h) = dc.GetTextExtent('X') - h = int(h * 1.8) - self.SetSize(wxSize(100, h)) - - # start our timer - self.timer = wxPyTimer(self.Notify) - self.timer.Start(1000) - self.Notify() - - - # Time-out handler - def Notify(self): - t = time.localtime(time.time()) - st = time.strftime("%d-%b-%Y %I:%M:%S", t) - self.SetStatusText(st, 2) - - # the checkbox was clicked - def OnToggleClock(self, event): - if self.cb.GetValue(): - self.timer.Start(1000) - self.Notify() - else: - self.timer.Stop() - - # reposition the checkbox - def OnSize(self, event): - rect = self.GetFieldRect(1) - print "%s, %s" % (rect.x, rect.y) - self.cb.SetPosition(wxPoint(rect.x+2, rect.y+2)) - self.cb.SetSize(wxSize(rect.width-4, rect.height-4)) - - - -class TestCustomStatusBar(wxFrame): - def __init__(self, parent): - wxFrame.__init__(self, parent, -1, 'Test Custom StatusBar', - wxDefaultPosition, wxSize(500, 300)) - wxWindow(self, -1).SetBackgroundColour(wxNamedColour("WHITE")) - - self.sb = CustomStatusBar(self) - self.SetStatusBar(self.sb) - - def OnCloseWindow(self, event): - self.sb.timer.Stop() - self.Destroy() - - -#--------------------------------------------------------------------------- - -class TestToolBar(wxFrame): - def __init__(self, parent, log): - wxFrame.__init__(self, parent, -1, 'Test ToolBar', - wxDefaultPosition, wxSize(500, 300)) - self.log = log - - wxWindow(self, -1).SetBackgroundColour(wxNamedColour("WHITE")) - - tb = self.CreateToolBar(wxTB_HORIZONTAL|wxNO_BORDER) - #tb = wxToolBar(self, -1, wxDefaultPosition, wxDefaultSize, - # wxTB_HORIZONTAL | wxNO_BORDER | wxTB_FLAT) - #self.SetToolBar(tb) - - self.CreateStatusBar() - - tb.AddTool(10, wxNoRefBitmap('bitmaps/new.bmp', wxBITMAP_TYPE_BMP), - wxNullBitmap, false, -1, -1, "New", "Long help for 'New'") - EVT_TOOL(self, 10, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 10, self.OnToolRClick) - - tb.AddTool(20, wxNoRefBitmap('bitmaps/open.bmp', wxBITMAP_TYPE_BMP), - wxNullBitmap, false, -1, -1, "Open") - EVT_TOOL(self, 20, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 20, self.OnToolRClick) - - tb.AddSeparator() - tb.AddTool(30, wxNoRefBitmap('bitmaps/copy.bmp', wxBITMAP_TYPE_BMP), - wxNullBitmap, false, -1, -1, "Copy") - EVT_TOOL(self, 30, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 30, self.OnToolRClick) - - tb.AddTool(40, wxNoRefBitmap('bitmaps/paste.bmp', wxBITMAP_TYPE_BMP), - wxNullBitmap, false, -1, -1, "Paste") - EVT_TOOL(self, 40, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 40, self.OnToolRClick) - - tb.AddSeparator() - - tb.AddTool(50, wxNoRefBitmap('bitmaps/tog1.bmp', wxBITMAP_TYPE_BMP), - wxNullBitmap, true, -1, -1, "Toggle this") - EVT_TOOL(self, 50, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 50, self.OnToolRClick) - - tb.AddTool(60, wxNoRefBitmap('bitmaps/tog1.bmp', wxBITMAP_TYPE_BMP), - wxNoRefBitmap('bitmaps/tog2.bmp', wxBITMAP_TYPE_BMP), - true, -1, -1, "Toggle with 2 bitmaps") - EVT_TOOL(self, 60, self.OnToolClick) - EVT_TOOL_RCLICKED(self, 60, self.OnToolRClick) - - tb.Realize() - - - def OnCloseWindow(self, event): - self.Destroy() - - def OnToolClick(self, event): - self.log.WriteText("tool %s clicked\n" % event.GetId()) - - def OnToolRClick(self, event): - self.log.WriteText("tool %s right-clicked\n" % event.GetId()) - - -#--------------------------------------------------------------------------- - -class TestTreeCtrlPanel(wxPanel): - def __init__(self, parent, log): - wxPanel.__init__(self, parent, -1) - - self.log = log - tID = 1101 - - self.tree = wxTreeCtrl(self, tID) - root = self.tree.AddRoot("The Root Item") - for x in range(10): - child = self.tree.AppendItem(root, "Item %d" % x) - for y in range(5): - last = self.tree.AppendItem(child, "item %d-%s" % (x, chr(ord("a")+y))) - - self.tree.Expand(root) - EVT_TREE_ITEM_EXPANDED (self, tID, self.OnItemExpanded) - EVT_TREE_ITEM_COLLAPSED (self, tID, self.OnItemCollapsed) - EVT_TREE_SEL_CHANGED (self, tID, self.OnSelChanged) - - - def OnSize(self, event): - w,h = self.GetClientSizeTuple() - self.tree.SetDimensions(0, 0, w, h) - - - def OnItemExpanded(self, event): - item = event.GetItem() - self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item)) - - def OnItemCollapsed(self, event): - item = event.GetItem() - self.log.WriteText("OnItemCollapsed: %s\n" % self.tree.GetItemText(item)) - - def OnSelChanged(self, event): - item = event.GetItem() - self.log.WriteText("OnSelChanged: %s\n" % self.tree.GetItemText(item)) - - - - -class TestTreeCtrl(wxFrame): - def __init__(self, parent, log): - wxFrame.__init__(self, parent, -1, 'Test TreeCtrl', - wxDefaultPosition, wxSize(250, 300)) - - 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): - NEW_WINDOW = 5000 - TOGGLE_WINDOW = 5001 - QUIT = 5002 - ID_WINDOW_TOP = 5100 - ID_WINDOW_LEFT1 = 5101 - ID_WINDOW_LEFT2 = 5102 - ID_WINDOW_BOTTOM = 5103 - - - def __init__(self, parent, log): - wxMDIParentFrame.__init__(self, parent, -1, 'Test Sash Window', - wxDefaultPosition, wxSize(250, 300)) - - self.log = log - menu = wxMenu() - menu.Append(self.NEW_WINDOW, "&New Window") - menu.Append(self.TOGGLE_WINDOW, "&Toggle window") - menu.Append(self.QUIT, "E&xit") - - menubar = wxMenuBar() - menubar.Append(menu, "&File") - - self.SetMenuBar(menubar) - self.CreateStatusBar() - - EVT_MENU(self, self.NEW_WINDOW, self.OnNewWindow) - EVT_MENU(self, self.TOGGLE_WINDOW, self.OnToggleWindow) - EVT_MENU(self, self.QUIT, self.OnQuit) - - EVT_SASH_DRAGGED_RANGE(self, self.ID_WINDOW_TOP, - self.ID_WINDOW_BOTTOM, self.OnSashDrag) - - - # Create some layout windows - # A window like a toolbar - win = wxSashLayoutWindow(self, self.ID_WINDOW_TOP, wxDefaultPosition, - wxSize(200, 30), wxNO_BORDER|wxSW_3D) - win.SetDefaultSize(wxSize(1000, 30)) - win.SetOrientation(wxLAYOUT_HORIZONTAL) - win.SetAlignment(wxLAYOUT_TOP) - win.SetBackgroundColour(wxColour(255, 0, 0)) - win.SetSashVisible(wxSASH_BOTTOM, true) - - self.topWindow = win - - - # A window like a statusbar - win = wxSashLayoutWindow(self, self.ID_WINDOW_BOTTOM, - wxDefaultPosition, wxSize(200, 30), - wxNO_BORDER|wxSW_3D) - win.SetDefaultSize(wxSize(1000, 30)) - win.SetOrientation(wxLAYOUT_HORIZONTAL) - win.SetAlignment(wxLAYOUT_BOTTOM) - win.SetBackgroundColour(wxColour(0, 0, 255)) - win.SetSashVisible(wxSASH_TOP, true) - - self.bottomWindow = win - - - # A window to the left of the client window - win = wxSashLayoutWindow(self, self.ID_WINDOW_LEFT1, - wxDefaultPosition, wxSize(200, 30), - wxNO_BORDER|wxSW_3D) - win.SetDefaultSize(wxSize(120, 1000)) - win.SetOrientation(wxLAYOUT_VERTICAL) - win.SetAlignment(wxLAYOUT_LEFT) - win.SetBackgroundColour(wxColour(0, 255, 0)) - win.SetSashVisible(wxSASH_RIGHT, TRUE) - win.SetExtraBorderSize(10) - - textWindow = wxTextCtrl(win, -1, "", wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE|wxSUNKEN_BORDER) - textWindow.SetValue("A help window") - - self.leftWindow1 = win - - - # Another window to the left of the client window - win = wxSashLayoutWindow(self, self.ID_WINDOW_LEFT2, - wxDefaultPosition, wxSize(200, 30), - wxNO_BORDER|wxSW_3D) - win.SetDefaultSize(wxSize(120, 1000)) - win.SetOrientation(wxLAYOUT_VERTICAL) - win.SetAlignment(wxLAYOUT_LEFT) - win.SetBackgroundColour(wxColour(0, 255, 255)) - win.SetSashVisible(wxSASH_RIGHT, TRUE) - - self.leftWindow2 = win - - - def OnNewWindow(self, event): - pass - - def OnToggleWindow(self, event): - pass - - def OnQuit(self, event): - self.Close(true) - - def OnSashDrag(self, event): - if event.GetDragStatus() == wxSASH_STATUS_OUT_OF_RANGE: - return - - eID = event.GetId() - if eID == self.ID_WINDOW_TOP: - self.topWindow.SetDefaultSize(wxSize(1000, event.GetDragRect().height)) - - elif eID == self.ID_WINDOW_LEFT1: - self.leftWindow1.SetDefaultSize(wxSize(event.GetDragRect().width, 1000)) - - - elif eID == self.ID_WINDOW_LEFT2: - self.leftWindow2.SetDefaultSize(wxSize(event.GetDragRect().width, 1000)) - - elif eID == self.ID_WINDOW_BOTTOM: - self.bottomWindow.SetDefaultSize(wxSize(1000, event.GetDragRect().height)) - - wxLayoutAlgorithm().LayoutMDIFrame(self) - - # Leaves bits of itself behind sometimes - self.GetClientWindow().Refresh() - - - def OnSize(self, event): - wxLayoutAlgorithm().LayoutMDIFrame(self) - -#--------------------------------------------------------------------------- -#--------------------------------------------------------------------------- -#--------------------------------------------------------------------------- - -class AppFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxDefaultPosition, - wxSize(420, 200)) - if wxPlatform == '__WXMSW__': - self.icon = wxIcon('bitmaps/mondrian.ico', wxBITMAP_TYPE_ICO) - self.SetIcon(self.icon) - - self.mainmenu = wxMenuBar() - menu = wxMenu() - menu.Append(200, 'E&xit', 'Get the heck outta here!') - EVT_MENU(self, 200, self.OnFileExit) - self.mainmenu.Append(menu, '&File') - - menu = self.MakeTestsMenu() - self.mainmenu.Append(menu, '&Tests') - self.SetMenuBar(self.mainmenu) - - self.log = wxTextCtrl(self, -1, '', wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE|wxTE_READONLY) - self.log.WriteText('Test 4:\n') - (w, self.charHeight) = self.log.GetTextExtent('X') - - - def MakeTestsMenu(self): - menu = wxMenu() - - mID = NewId() - menu.Append(mID, '&Simple Controls') - EVT_MENU(self, mID, self.OnTestSimpleControls) - - mID = NewId() - menu.Append(mID, '&Timer', '', true) - EVT_MENU(self, mID, self.OnTestTimer) - self.timerID = mID - self.timer = None - - mID = NewId() - menu.Append(mID, '&Layout Constraints') - EVT_MENU(self, mID, self.OnTestLayoutConstraints) - - mID = NewId() - menu.Append(mID, '&Grid') - EVT_MENU(self, mID, self.OnTestGrid) - - - smenu = wxMenu() # make a sub-menu - - mID = NewId() - smenu.Append(mID, '&Colour') - EVT_MENU(self, mID, self.OnTestColourDlg) - - mID = NewId() - smenu.Append(mID, '&Directory') - EVT_MENU(self, mID, self.OnTestDirDlg) - - mID = NewId() - smenu.Append(mID, '&File') - EVT_MENU(self, mID, self.OnTestFileDlg) - - mID = NewId() - smenu.Append(mID, '&Single Choice') - EVT_MENU(self, mID, self.OnTestSingleChoiceDlg) - - mID = NewId() - smenu.Append(mID, '&TextEntry') - EVT_MENU(self, mID, self.OnTestTextEntryDlg) - - mID = NewId() - smenu.Append(mID, '&Font') - EVT_MENU(self, mID, self.OnTestFontDlg) - - mID = NewId() - smenu.Append(mID, '&PageSetup') - EVT_MENU(self, mID, self.OnTestPageSetupDlg) - - mID = NewId() - smenu.Append(mID, '&Print') - EVT_MENU(self, mID, self.OnTestPrintDlg) - - mID = NewId() - smenu.Append(mID, '&Message') - EVT_MENU(self, mID, self.OnTestMessageDlg) - - - menu.AppendMenu(NewId(), '&Common Dialogs', smenu) - - - mID = NewId() - menu.Append(mID, '&Notebook') - EVT_MENU(self, mID, self.OnTestNotebook) - - mID = NewId() - menu.Append(mID, '&Splitter Window') - EVT_MENU(self, mID, self.OnTestSplitter) - - mID = NewId() - menu.Append(mID, '&Custom StatusBar') - EVT_MENU(self, mID, self.OnTestCustomStatusBar) - - mID = NewId() - menu.Append(mID, '&ToolBar') - EVT_MENU(self, mID, self.OnTestToolBar) - - mID = NewId() - 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) - - return menu - - - - - def WriteText(self, str): - self.log.WriteText(str) - if wxPlatform == '__WXMSW__': - w, h = self.log.GetClientSizeTuple() - numLines = h/self.charHeight - x, y = self.log.PositionToXY(self.log.GetLastPosition()) - self.log.ShowPosition(self.log.XYToPosition(x, y-numLines+1)) - - def OnFileExit(self, event): - self.Close() - - def OnCloseWindow(self, event): - self.Destroy() - - - - - def OnTestSimpleControls(self, event): - dlg = TestSimpleControlsDlg(self, self) - dlg.Centre() - dlg.ShowModal() - dlg.Destroy() - - def OnTestTimer(self, event): - if self.timer: - self.mainmenu.Check(self.timerID, false) - self.timer.Stop() - self.timer = None - else: - self.mainmenu.Check(self.timerID, true) - self.timer = TestTimer(self) - self.timer.Start(1000) - - def OnTestLayoutConstraints(self, event): - win = TestLayoutConstraints(self) - win.Show(true) - - def OnTestGrid(self, event): - win = TestGrid(self, self) - win.Show(true) - win.SetSize(wxSize(505, 300)) # have to force a resize, or the grid doesn't - # show up for some reason.... - - def OnTestColourDlg(self, event): - data = wxColourData() - data.SetChooseFull(true) - dlg = wxColourDialog(self, data) - if dlg.ShowModal() == wxID_OK: - data = dlg.GetColourData() - self.log.WriteText('You selected: %s\n' % str(data.GetColour().Get())) - dlg.Destroy() - - def OnTestDirDlg(self, event): - dlg = wxDirDialog(self) - if dlg.ShowModal() == wxID_OK: - self.log.WriteText('You selected: %s\n' % dlg.GetPath()) - dlg.Destroy() - - def OnTestFileDlg(self, event): - dlg = wxFileDialog(self, "Choose a file", ".", "", "*.*", wxOPEN) - if dlg.ShowModal() == wxID_OK: - self.log.WriteText('You selected: %s\n' % dlg.GetPath()) - dlg.Destroy() - - def OnTestSingleChoiceDlg(self, event): - dlg = wxSingleChoiceDialog(self, 'Test Single Choice', 'The Caption', - ['zero', 'one', 'two', 'three', 'four', 'five', - 'six', 'seven', 'eight']) - if dlg.ShowModal() == wxID_OK: - self.log.WriteText('You selected: %s\n' % dlg.GetStringSelection()) - dlg.Destroy() - - def OnTestTextEntryDlg(self, event): - dlg = wxTextEntryDialog(self, 'What is your favorite programming language?', - 'Duh??', 'Python') - #dlg.SetValue("Python is the best!") #### this doesn't work? - if dlg.ShowModal() == wxID_OK: - self.log.WriteText('You entered: %s\n' % dlg.GetValue()) - dlg.Destroy() - - - def OnTestFontDlg(self, event): - dlg = wxFontDialog(self) - if dlg.ShowModal() == wxID_OK: - data = dlg.GetFontData() - font = data.GetChosenFont() - self.log.WriteText('You selected: "%s", %d points, color %s\n' % - (font.GetFaceName(), font.GetPointSize(), - data.GetColour().Get())) - dlg.Destroy() - - - def OnTestPageSetupDlg(self, event): - data = wxPageSetupDialogData() - data.SetMarginTopLeft(wxPoint(50,50)) - data.SetMarginBottomRight(wxPoint(50,50)) - dlg = wxPageSetupDialog(self, data) - if dlg.ShowModal() == wxID_OK: - data = dlg.GetPageSetupData() - tl = data.GetMarginTopLeft() - br = data.GetMarginBottomRight() - self.log.WriteText('Margins are: %s %s\n' % (str(tl), str(br))) - dlg.Destroy() - - def OnTestPrintDlg(self, event): - data = wxPrintDialogData() - data.EnablePrintToFile(true) - data.EnablePageNumbers(true) - data.EnableSelection(true) - dlg = wxPrintDialog(self, data) - if dlg.ShowModal() == wxID_OK: - self.log.WriteText('\n') - dlg.Destroy() - - def OnTestMessageDlg(self, event): - dlg = wxMessageDialog(self, 'Hello from Python and wxWindows!', - 'A Message Box', wxOK | wxICON_INFORMATION) - dlg.ShowModal() - dlg.Destroy() - - - def OnTestNotebook(self, event): - win = TestNotebookWindow(self, self) - win.Show(true) - - def OnTestSplitter(self, event): - win = TestSplitterWindow(self) - win.Show(true) - - def OnTestCustomStatusBar(self, event): - win = TestCustomStatusBar(self) - win.Show(true) - - def OnTestToolBar(self, event): - win = TestToolBar(self, self) - win.Show(true) - - def OnTestTreeCtrl(self, event): - 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) - -#--------------------------------------------------------------------------- - - -class MyApp(wxApp): - def OnInit(self): - frame = AppFrame(NULL, -1, "Test 4: (lots of little tests...)") - frame.Show(true) - self.SetTopWindow(frame) - return true - -#--------------------------------------------------------------------------- - - -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - - -# for focused testing... -def main2(): - class T2App(wxApp): - def OnInit(self): - frame = TestLayoutConstraints(NULL) - frame.Show(true) - self.SetTopWindow(frame) - return true - - app = T2App(0) - app.MainLoop() - -def t2(): - import pdb - pdb.run('main2()') - - - -if __name__ == '__main__': - main() - - -#---------------------------------------------------------------------------- -# -# $Log$ -# Revision 1.4 2001/02/16 08:19:38 robind -# Copied/merged from the 2.2 branch. -# -# Changes needed to build with new event system -# -# Revision 1.1.2.2 2001/01/30 20:54:16 robind -# -# Gobs of changes move from the main trunk to the 2.2 branch in -# preparataion for 2.2.5 release. See CHANGES.txt for details. -# -# Revision 1.3 2000/10/30 21:05:22 robind -# -# Merged wxPython 2.2.2 over to the main branch -# -# Revision 1.1.2.1 2000/05/16 02:07:02 RD -# -# Moved and reorganized wxPython directories -# -# Now builds into an intermediate wxPython package directory before -# installing -# -# Revision 1.17 1999/08/05 05:06:50 RD -# -# Some minor tweaks -# -# Revision 1.16 1999/04/30 03:29:54 RD -# -# wxPython 2.0b9, first phase (win32) -# Added gobs of stuff, see wxPython/README.txt for details -# -# Revision 1.15.2.1 1999/03/16 06:05:50 RD -# -# wxPython 2.0b7 -# -# Revision 1.15 1999/03/05 07:23:42 RD -# -# Minor wxPython changes for wxWin 2.0 -# -# Revision 1.14 1999/02/27 04:20:50 RD -# -# minor tweaks for testing -# -# 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 -# compatibility with the current wxWindows. -# -# Revision 1.11 1999/01/29 16:17:59 HH -# In test4's toolbar sample, changed NULL to wxNullBitmap to prevent SIGSEVS -# with wxGTK. The sample works now. -# -# Revision 1.10 1998/12/16 22:12:47 RD -# -# Tweaks needed to be able to build wxPython with wxGTK. -# -# Revision 1.9 1998/12/15 20:44:35 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.8 1998/11/25 08:47:11 RD -# -# Added wxPalette, wxRegion, wxRegionIterator, wxTaskbarIcon -# Added events for wxGrid -# Other various fixes and additions -# -# Revision 1.7 1998/11/11 03:13:19 RD -# -# Additions for wxTreeCtrl -# -# Revision 1.6 1998/10/20 06:45:33 RD -# New wxTreeCtrl wrappers (untested) -# some changes in helpers -# etc. -# -# Revision 1.5 1998/10/02 06:42:28 RD -# -# Version 0.4 of wxPython for MSW. -# -# Revision 1.4 1998/08/27 21:59:51 RD -# Some chicken-and-egg problems solved for wxPython on wxGTK -# -# Revision 1.3 1998/08/27 00:01:17 RD -# - more tweaks -# - have discovered some problems but not yet discovered solutions... -# -# Revision 1.2 1998/08/22 19:51:18 RD -# some tweaks for wxGTK -# -# Revision 1.1 1998/08/09 08:28:05 RD -# Initial version -# -# diff --git a/wxPython/tests/test5.py b/wxPython/tests/test5.py deleted file mode 100644 index f81ddbb515..0000000000 --- a/wxPython/tests/test5.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test5.py -# Purpose: Testing wxTaskBarIcon for win32 systems -# -# Author: Robin Dunn -# -# Created: 17-Nov-1998 -# RCS-ID: $Id$ -# Copyright: (c) 1998 by Total Control Software -# Licence: wxWindows license -#---------------------------------------------------------------------------- - - -from wxPython.wx import * - - -#--------------------------------------------------------------------------- - -class MyDialog(wxDialog): - def __init__(self): - wxDialog.__init__(self, NULL, -1, "wxTaskBarIcon Test", - wxPoint(-1,-1), wxSize(380,250), - wxDIALOG_MODELESS|wxDEFAULT_DIALOG_STYLE) - - # build the contents of the Dialog - wxStaticText(self, -1, - "Press OK to hide me, Exit to quit.", - wxPoint(10, 20)) - wxStaticText(self, -1, - "Double-click on the taskbar icon to show me again.", - wxPoint(10, 40)) - - okButton = wxButton(self, wxID_OK, "OK", wxPoint(100, 180), wxSize(80, 25)) - exitButton = wxButton(self, wxID_EXIT, "Exit", wxPoint(185, 180), wxSize(80, 25)) - okButton.SetDefault() - self.Centre(wxBOTH) - - EVT_BUTTON(self, wxID_OK, self.OnOK) - EVT_BUTTON(self, wxID_EXIT, self.OnExit) - - - # make the TaskBar icon - self.tbIcon = wxTaskBarIcon() - icon = wxIcon('bitmaps/smiles.ico', wxBITMAP_TYPE_ICO) - self.tbIcon.SetIcon(icon, "Test ToolTip") - EVT_TASKBAR_LEFT_DCLICK(self.tbIcon, self.OnTaskBarActivate) - - - - def OnTaskBarActivate(self, event): - self.Show(true) - - def OnOK(self, event): - self.Show(false) - - def OnExit(self, event): - self.Close(true) - - def OnCloseWindow(self, event): - self.Destroy() - del self.tbIcon # ensure the tbIcon is cleaned up... - - - -#--------------------------------------------------------------------------- - -class MyApp(wxApp): - def OnInit(self): - self.dlg = MyDialog() - self.dlg.Show(true) - self.SetTopWindow(self.dlg) - return true - -#--------------------------------------------------------------------------- - - -def main(): - app = MyApp(0) - app.MainLoop() - - -def t(): - import pdb - pdb.run('main()') - -if __name__ == '__main__': - main() - - -#---------------------------------------------------------------------------- diff --git a/wxPython/tests/test6.py b/wxPython/tests/test6.py deleted file mode 100644 index 4f325d8a70..0000000000 --- a/wxPython/tests/test6.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -# Name: test6.py -# Purpose: Testing wxConfig -# -# Author: Robin Dunn -# -# Created: 26-Nov-1998 -# RCS-ID: $Id$ -# Copyright: (c) 1998 by Total Control Software -# Licence: wxWindows license -#---------------------------------------------------------------------------- - -import sys -from wxPython.utils import wxConfig - - -#---------------------------------------------------------------------------- - -def main(): - - cfg = wxConfig('test6', 'TCS', ".testconfig") - - cmd = '' - if len(sys.argv) > 1: - cmd = sys.argv[1] - - if cmd == 'add': - cfg.SetPath('one/two/three') - cfg.Flush() - - cfg.Write('aaa', 'The quick brown fox jummped over the lazy dog.') - cfg.Write('bbb', 'This is a test of the emergency broadcast system') - - aList = ['one', 'two', 'buckle', 'my', 'shoe', 1966] - cfg.Write('ccc', str(aList)) - - cfg.Write('zzz/yyy', 'foobar') - cfg.Write('zzz/xxx', 'spam and eggs') - - cfg.Flush() - - elif cmd == 'enum': - traverse(cfg, '/') - - elif cmd == 'del': - cfg.DeleteAll() - - else: - print 'Specify command: add, enum, or del.' - - - -def traverse(cfg, path): - print path - cont, val, idx = cfg.GetFirstEntry() - while cont: - print "%s/%s = %s" % (path, val, cfg.Read(val)) - cont, val, idx = cfg.GetNextEntry(idx) - - cont, val, idx = cfg.GetFirstGroup() - while cont: - if path == '/': - newpath = path+val - else: - newpath = path+'/'+val - - cfg.SetPath(newpath) - traverse(cfg, newpath) - cfg.SetPath(path) - cont, val, idx = cfg.GetNextGroup(idx) - - - -if __name__ == '__main__': - #import pdb - #pdb.run('main()') - main() - - -#---------------------------------------------------------------------------- diff --git a/wxPython/tests/test7.py b/wxPython/tests/test7.py deleted file mode 100644 index 11b786e19f..0000000000 --- a/wxPython/tests/test7.py +++ /dev/null @@ -1,123 +0,0 @@ -#!/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, 18)), wxDefaultSize) - wxStaticText(panel, -1, "ScreenPos:", - wxDLG_PNT(panel, wxPoint(4, 32)), wxDefaultSize) - self.sizeCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(36, 4)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) - - self.posCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(36, 18)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) - - self.sposCtrl = wxTextCtrl(panel, -1, "", - wxDLG_PNT(panel, wxPoint(36, 32)), - wxDLG_SZE(panel, wxSize(36, -1)), - wxTE_READONLY) - - panel.Fit() - self.Fit() - - # 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)) - p = self.ClientToScreen((0,0)) - self.sposCtrl.SetValue("%s, %s" % (p.x, p.y)) - - # 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)) - p = self.ClientToScreen((0,0)) - self.sposCtrl.SetValue("%s, %s" % (p.x, p.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 - - -#---------------------------------------------------------------------------- -# - - - - - - - - - diff --git a/wxPython/tests/test8.py b/wxPython/tests/test8.py deleted file mode 100644 index 34cd268791..0000000000 --- a/wxPython/tests/test8.py +++ /dev/null @@ -1,85 +0,0 @@ -# Thread testing example. Harm van der Heijden, March 26 1999. -# -# Rule One in threading: make sure only one thread interacts with the -# user interface. See the wxTextCtrlQueue class for an example of how -# to accomplish this - -import thread -import time -from whrandom import random - -from wxPython.wx import * - -# Set this to zero to prevent entering the wxApp mainloop -# (for testing whether threads work at all in the absense of wxWindows) -use_wxpython = 1 - -# write a message to stdout every second -def DoThread(mesg): - while 1: - sleeptime = (random() * 3) + 0.5 - print "Hello from %s (%1.3f)" % (mesg, sleeptime) - time.sleep(sleeptime) - -# the same, but write it to a textctrl. -def DoTextCtrlThread(text, mesg): - while 1: - sleeptime = (random() * 3) + 0.5 - text.WriteText("Hello from %s (%1.3f)\n" % (mesg, sleeptime)) - time.sleep(sleeptime) - -# A very simple queue for textctrls. -# Nice demonstration of the power of OO programming too (at least I think so!) -# WriteText puts text in the queue, rather than writing it immediately. -# The main (UI) thread must call Flush to force output. (see MyFrame::OnIdle) -class wxTextCtrlQueue(wxTextCtrl): - def __init__(self, parent, id, value, pos, size, flags): - wxTextCtrl.__init__(self,parent, id, value, pos, size, flags) - self.queue = [] - def WriteText(self, value): - self.queue.append(value) - def Flush(self): - queue = self.queue - self.queue = [] - for value in queue: - wxTextCtrl.WriteText(self,value) - -# MyFrame and MyApp are very simple classes to test python threads in -# wxPython. -class MyFrame(wxFrame): - def __init__(self): - wxFrame.__init__(self, NULL, -1, "test threads", wxDefaultPosition, wxSize(300,200)) - self.text = wxTextCtrlQueue(self, -1, "thread output\n", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE) - menu = wxMenu() - menu.Append(1001, "Start thread") - self.cnt = 0; - menubar = wxMenuBar() - menubar.Append(menu, "Action") - self.SetMenuBar(menubar) - EVT_MENU(self, 1001, self.StartThread) - def StartThread(self, event): - self.cnt = self.cnt + 1 - thread.start_new_thread(DoTextCtrlThread, (self.text, "thread %d" % self.cnt)) - def OnIdle(self, event): - self.text.Flush() - -class MyApp(wxApp): - def OnInit(self): - frame = MyFrame() - self.SetTopWindow(frame) - frame.Show(TRUE) - return TRUE - -# Start two threads that print a message every second -thread.start_new_thread(DoThread, ("thread A",)) -thread.start_new_thread(DoThread, ("thread B",)) - -# if using wxpython, open a frame. Otherwise, just hang in while 1 -if use_wxpython: - app = MyApp(0) - app.MainLoop() -else: - while 1: - print "main loop" - time.sleep(4) -print 'done!' diff --git a/wxPython/tests/testDlg.py b/wxPython/tests/testDlg.py deleted file mode 100644 index 5bad5eb49a..0000000000 --- a/wxPython/tests/testDlg.py +++ /dev/null @@ -1,49 +0,0 @@ -## import all of the wxPython GUI package -from wxPython.wx import * - - -## Create a new frame class, derived from the wxPython Frame. -class Dialog(wxDialog): - - def __init__(self, parent, title): - # First, call the base class' __init__ method to create the frame - wxDialog.__init__( self, parent, -1, title, wxDefaultPosition, wxDefaultSize ) - - wxButton(self, wxID_OK, "OK", (10, 10)) - wxButton(self, wxID_CANCEL, "Cancel", (50,50)) - self.Centre( wxBOTH ) - - - # This method is called automatically when the CLOSE event is - # sent to this window - #def OnCloseWindow(self, event): - # self.Destroy() - - #def OnCloseMe(self, event): - #self.Close(true) - - -def main(): - # Every wxWindows application must have a class derived from wxApp - class App(wxApp): - - # wxWindows calls this method to initialize the application - def OnInit(self): - - # Create an instance of our customized Frame class - dialog = Dialog( NULL, 'test' ) - dialog.ShowModal() - print "got here" - dialog.Destroy() - - # Tell wxWindows that this is our main window - # Return a success flag - return true - - app = App(0) # Create an instance of the application class - app.MainLoop() # Tell it to start processing events - - - -if __name__ == '__main__': - main() diff --git a/wxPython/tests/testTree.py b/wxPython/tests/testTree.py deleted file mode 100644 index 1b91ffd427..0000000000 --- a/wxPython/tests/testTree.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python - -from wxPython import wx -import sys, os -from stat import * - -GlobalObjList = [] - -class Obj: - def __init__(self, obj): - self.obj = obj - # Uncomment next line to eliminate crash. - # GlobalObjList.append(self) - - def Name(self): - head, tail = os.path.split(self.obj) - if tail: - return tail - else: - return head - - def HasChildren(self): - return os.path.isdir(self.obj) - - def Children(self): - objList = os.listdir(self.obj) - objList.sort() - objList = map(lambda obj,parent=self.obj: os.path.join(parent,obj), - objList) - objectList = map(Obj, objList) - return objectList - - def __str__(self): - return self.obj - - def __repr__(self): - return self.obj - - def __del__(self): - print 'del', self.obj - - -#---------------------------------------------------------------------- - -class pyTree(wx.wxTreeCtrl): - - def __init__(self, parent, id, obj): - wx.wxTreeCtrl.__init__(self, parent, id) - self.root = self.AddRoot(obj.Name(), -1, -1, wx.wxTreeItemData('')) - self.SetPyData(self.root, obj) - if obj.HasChildren(): - self.SetItemHasChildren(self.root, wx.TRUE) - wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding) - wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed) - wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) - self.output = None - - def SetOutput(self, output): - self.output = output - - def OnItemExpanding(self,event): - item = event.GetItem() - obj = self.GetPyData(item) - children = obj.Children() - for child in children: - new_item = self.AppendItem(item, child.Name(), -1, -1, - wx.wxTreeItemData('')) - self.SetPyData(new_item, child) - if child.HasChildren(): - self.SetItemHasChildren(new_item, wx.TRUE) - - def OnItemCollapsed(self, event): - item = event.GetItem() - self.DeleteChildren(item) - - def OnSelChanged(self, event): - if not self.output: - return - obj = self.GetPyData( event.GetItem() ) - apply(self.output, (`obj`,)) - - - -#---------------------------------------------------------------------- -if __name__ == '__main__': - - class MyFrame(wx.wxFrame): - - def __init__(self): - wx.wxFrame.__init__(self, wx.NULL, -1, 'PyTreeItemData Test', - wx.wxDefaultPosition, wx.wxSize(600,500)) - split = wx.wxSplitterWindow(self, -1) - - if sys.platform == 'win32': - tree = pyTree(split, -1, Obj('C:\\')) - else: - tree = pyTree(split, -1, Obj('/')) - - text = wx.wxTextCtrl(split, -1, '', wx.wxDefaultPosition, - wx.wxDefaultSize, wx.wxTE_MULTILINE) - split.SplitVertically(tree, text, 200) - tree.SetOutput(text.SetValue) - tree.SelectItem(tree.root) - - class MyApp(wx.wxApp): - - def OnInit(self): - frame = MyFrame() - frame.Show(wx.TRUE) - self.SetTopWindow(frame) - return wx.TRUE - - app = MyApp(0) - app.MainLoop() - - diff --git a/wxPython/tests/testi.py b/wxPython/tests/testi.py deleted file mode 100644 index 5fb4fced9c..0000000000 --- a/wxPython/tests/testi.py +++ /dev/null @@ -1,25 +0,0 @@ - - -from wxPython.wx import * - -def t(): - r1 = wxRect(0,0, 25, 500) - r2 = wxRect(10, 10, 50, 100) - - r = wxIntersectRect(r1, r2) - print r - - r = wxIntersectRect(r1, (50, 10, 50, 100)) - print r - - - - - -class MyApp(wxApp): - def OnInit(self): - t() - return false - -app = MyApp(0) - diff --git a/wxPython/tests/thrtest.py b/wxPython/tests/thrtest.py deleted file mode 100644 index b47cdfc82e..0000000000 --- a/wxPython/tests/thrtest.py +++ /dev/null @@ -1,39 +0,0 @@ - -from wxPython.wx import * -from wxPython.lib.grids import wxFlexGridSizer - -import time -from threading import Thread -def foo(): - for x in range(20): - print x, "Fooing!" - time.sleep(0.5) -Thread(target=foo).start() - -class MyFrame(wxFrame): - def __init__(self, parent, ID, title, pos, size): - wxFrame.__init__(self, parent, ID, title, pos, size) - panel = wxPanel(self, -1) - self.panel=panel - box = wxFlexGridSizer(1, 2, 10, 10) - box.Add(wxButton(panel, 11211, "Foo"), 0, wxCENTER) - box.Add(wxButton(panel, 11211, "Bar"), 0, wxCENTER) - box.AddGrowableCol(1) - panel.SetSizer(box) - panel.SetAutoLayout(true) - #EVT_SIZE(panel, lambda e, p=panel: p.Layout()) - EVT_BUTTON(self, 11211, self.Click) - - def Click(self, event): - print "Click" - - -class MyApp(wxApp): - def OnInit(self): - win = MyFrame(None, -1, "Bummer", wxDefaultPosition, (200, 100)) - win.Show(true) - self.SetTopWindow(win) - return true - -MyApp(0).MainLoop() - diff --git a/wxPython/tests/thtest.py b/wxPython/tests/thtest.py deleted file mode 100644 index dccbf0e35a..0000000000 --- a/wxPython/tests/thtest.py +++ /dev/null @@ -1,29 +0,0 @@ - -from wxPython.wx import * - -class someData: - def __init__(self, data="spam"): - self.data = data - -class errApp(wxApp): - def OnInit(self): - frame = wxFrame(NULL, -1, "Close to get an error", wxDefaultPosition, - wxSize(200,200)) - - tree = wxTreeCtrl(frame, -1, wxDefaultPosition, wxDefaultSize) - - root = tree.AddRoot("Spam") - tree.SetPyData(root, someData()) - #tree.SetPyData(root, "A string") - #tree.SetPyData(root, ["a list", "A string"]) - - frame.Show(true) - self.SetTopWindow(frame) - self.frame = frame - return true - - -app = errApp(0) -app.MainLoop() -print "got to the end" - diff --git a/wxPython/tests/txml.py b/wxPython/tests/txml.py deleted file mode 100644 index c8ea85f53c..0000000000 --- a/wxPython/tests/txml.py +++ /dev/null @@ -1,87 +0,0 @@ -""" -Build a GUI Tree (wxWindows) from an XML file -using pyExpat -""" - -import sys -from xml.parsers import pyexpat - -from wxPython.wx import * - -class MyFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPoint(100, 100), wxSize(160,100)) - menu = wxMenu() - menu.Append (1001,"Open") - menu.Append (1002,"Close") - menu.Append (1003,"Exit") - menubar = wxMenuBar() - menubar.Append (menu,"File") - self.SetMenuBar(menubar) - -class MyApp(wxApp): - def OnInit(self): - self.frame = MyFrame(NULL, -1, "Tree View of XML") - self.tree = wx.wxTreeCtrl(self.frame, -1) - EVT_MENU(self, 1001, self.OnOpen) - EVT_MENU(self, 1002, self.OnClose) - EVT_MENU(self, 1003, self.OnExit) - self.frame.Show(true) - self.SetTopWindow(self.frame) - return true - - def OnOpen(self,event): - f = wxFileDialog(self.frame,"Select a file",".","","*.xml",wxOPEN) - if f.ShowModal() == wxID_OK: - LoadTree(f.GetPath()) - - def OnClose(self,event): - self.tree = wx.wxTreeCtrl(self.frame, -1) - pass - - def OnExit(self,event): - self.OnCloseWindow(event) - - def OnCloseWindow(self, event): - self.frame.Destroy() - - -NodeStack = [] - -# Define a handler for start element events -def StartElement( name, attrs ): - global NodeStack - NodeStack.append(app.tree.AppendItem(NodeStack[-1],name)) - -def EndElement( name ): - global NodeStack - NodeStack = NodeStack[:-1] - -def CharacterData ( data ): - global NodeStack - if data.strip(): - app.tree.AppendItem(NodeStack[-1],data) - - -def LoadTree (f): - print f - # Create a parser - Parser = pyexpat.ParserCreate() - - # Tell the parser what the start element handler is - Parser.StartElementHandler = StartElement - Parser.EndElementHandler = EndElement - Parser.CharacterDataHandler = CharacterData - - # Parse the XML File - ParserStatus = Parser.Parse(open(f,'r').read(), 1) - if ParserStatus == 0: - print "oops!" - raise SystemExit - -app = MyApp(0) -NodeStack = [app.tree.AddRoot("Root")] - - -app.MainLoop() -raise SystemExit diff --git a/wxPython/tests/val.py b/wxPython/tests/val.py deleted file mode 100644 index d36f0c092c..0000000000 --- a/wxPython/tests/val.py +++ /dev/null @@ -1,107 +0,0 @@ -from wxPython.wx import * - - -class floatValidator(wxPyValidator): - - def __init__(self, obj=None, attrName=""): - wxPyValidator.__init__(self) - self.numList = ['1','2','3','4','5','6','7','8','9','0','.'] - EVT_CHAR(self, self.OnChar) - self.obj = obj - self.attrName = attrName - - def Clone(self): - return floatValidator(self.obj, self.attrName) - - def TransferToWindow(self): - if self.obj and hasattr(self.obj, self.attrName): - tc = wxPyTypeCast(self.GetWindow(), "wxTextCtrl") - tc.SetValue(str(getattr(self.obj, self.attrName))) - return true - - def TransferFromWindow(self): - if self.obj and self.attrName: - tc = wxPyTypeCast(self.GetWindow(), "wxTextCtrl") - text = tc.GetValue() - setattr(self.obj, self.attrName, float(text)) - return true - - - def Validate(self, win): - tc = wxPyTypeCast(self.GetWindow(), "wxTextCtrl") - val = tc.GetValue() - - for x in val: - if x not in self.numList: - return false - - return true - - def OnChar(self, event): - key = event.KeyCode() - if key < WXK_SPACE or key == WXK_DELETE or key > 255: - event.Skip() - return - - if chr(key) in self.numList: - event.Skip() - return - - if not wxValidator_IsSilent(): - wxBell() - - # Returning without calling even.Skip eats the event before it - # gets to the text control - return - - - -class MyDialog(wxDialog): - def __init__(self, parent): - wxDialog.__init__(self, parent, -1, "hello") - - self.theValue = 555.12 - fltValidator = floatValidator(self, "theValue") - - Vbox = wxBoxSizer(wxVERTICAL) - Tbox = wxBoxSizer(wxHORIZONTAL) - Tbox.Add(wxStaticText(self, -1, "Initial Balance"), 0, wxALL,5) - Tbox.Add(wxTextCtrl(self, 13, "123.45", validator = fltValidator, - size=(100, -1)), 0, wxALL,5) - - Vbox.Add(Tbox, 0, 0) - - Tbox = wxBoxSizer(wxHORIZONTAL) - Tbox.Add(wxButton(self, wxID_OK, "Ok"), 0, wxALL,5) - Tbox.Add(wxButton(self, wxID_CANCEL, "Cancel"), 0, wxALL,5) - - Vbox.Add(Tbox, 0, 0) - - self.SetAutoLayout(true) - self.SetSizer(Vbox) - Vbox.Fit(self) - - -class TestFrame(wxFrame): - def __init__(self, parent): - wxFrame.__init__(self, parent, -1, "Testing...", size=(150,75)) - wxButton(self, 25, "Click Me") - EVT_BUTTON(self, 25, self.OnClick) - - - def OnClick(self, event): - dlg = MyDialog(self) - dlg.ShowModal() - print dlg.theValue - dlg.Destroy() - - - -app = wxPySimpleApp() -frame = TestFrame(None) -frame.Show(true) -app.MainLoop() - - - - diff --git a/wxPython/tests/wxFrame1.py b/wxPython/tests/wxFrame1.py deleted file mode 100644 index 442a9f620e..0000000000 --- a/wxPython/tests/wxFrame1.py +++ /dev/null @@ -1,81 +0,0 @@ -#Boa:Frame:wxFrame1 - -from wxPython.wx import * - -import sys - - -def create(parent): - return wxFrame1(parent) - -frame_count = 0 - -[wxID_WXFRAME1BUTTON1, wxID_WXFRAME1] = map(lambda _init_ctrls: wxNewId(), range(2)) - -class wxFrame1(wxFrame): - def _init_utils(self): - pass - - def _init_ctrls(self, prnt): - wxFrame.__init__(self, size = wxSize(960, 662), id = wxID_WXFRAME1, title = 'wxFrame1', parent = prnt, name = '', style = wxDEFAULT_FRAME_STYLE, pos = (-1, -1)) - self._init_utils() - - self.button1 = wxButton(label = 'button1', id = wxID_WXFRAME1BUTTON1, parent = self, name = 'button1', size = wxSize(75, 23), style = 0, pos = wxPoint(216, 152)) - EVT_BUTTON(self.button1, wxID_WXFRAME1BUTTON1, self.OnButton1Button) - - def __init__(self, parent): - self._init_ctrls(parent) - global frame_count - frame_count += 1 - self.SetTitle('Frame %d' % frame_count) - print 'Frame %d' % frame_count - self.shown = 0 - EVT_IDLE(self, self.OnIdle) - - def OnButton1Button(self, event): - print 'Closing %s' % self.GetTitle() - self.Close() - - def OnIdle(self, evt): - if not self.shown: - #print self.GetTitle(), "shown" - #print self.Show(false), self.Show(true) - #import win32gui, win32con - #win32gui.ShowWindow(self.GetHandle(), win32con.SW_SHOW) - self.shown = 1 - - -class BoaApp(wxApp): - def OnInit(self): - frame1 = create(None) - -## import win32gui, win32con -## win32gui.ShowWindow(frame1.GetHandle(), win32con.SW_SHOW) -## frame1.Show(true) - - frame1.Show(true) - frame1.Show(false) - frame1.Show(true) - - frame2 = create(None) - print frame2.Show(true) - return true - -def main(): - application = BoaApp(0) - application.MainLoop() - -if __name__ == '__main__': - main() - -##if __name__ == '__main__': -## app = wxPySimpleApp() -## -## frame1 = create(None) -## frame1.Show(true) -## -## frame2 = create(None) -## frame2.Show(true) -## -## app.MainLoop() -## diff --git a/wxPython/tests/wxPlotCanvas.py b/wxPython/tests/wxPlotCanvas.py deleted file mode 100644 index c65e7011fb..0000000000 --- a/wxPython/tests/wxPlotCanvas.py +++ /dev/null @@ -1,459 +0,0 @@ -""" -This is a port of Konrad Hinsen's tkPlotCanvas.py plotting module. -After thinking long and hard I came up with the name "wxPlotCanvas.py". - -This file contains two parts; first the re-usable library stuff, then, after -a "if __name__=='__main__'" test, a simple frame and a few default plots -for testing. - -Harm van der Heijden, feb 1999 - -Original comment follows below: -# This module defines a plot widget for Tk user interfaces. -# It supports only elementary line plots at the moment. -# See the example at the end for documentation... -# -# Written by Konrad Hinsen -# With contributions from RajGopal Srinivasan -# Last revision: 1998-7-28 -# -""" - -from wxPython import wx - -# Not everybody will have Numeric, so let's be cool about it... -try: - import Numeric -except: - # bummer! - d = wx.wxMessageDialog(wx.NULL, - """This module requires the Numeric module, which could not be imported. -It probably is not installed (it's not part of the standard Python -distribution). See the Python site (http://www.python.org) for -information on downloading source or binaries.""", - "Numeric not found") - if d.ShowModal() == wx.wxID_CANCEL: - d = wx.wxMessageDialog(wx.NULL, "I kid you not! Pressing Cancel won't help you!", "Not a joke", wx.wxOK) - d.ShowModal() - import sys - sys.exit() - -# -# Plotting classes... -# -class PolyPoints: - - def __init__(self, points, attr): - self.points = Numeric.array(points) - self.scaled = self.points - self.attributes = {} - for name, value in self._attributes.items(): - try: - value = attr[name] - except KeyError: pass - self.attributes[name] = value - - def boundingBox(self): - return Numeric.minimum.reduce(self.points), \ - Numeric.maximum.reduce(self.points) - - def scaleAndShift(self, scale=1, shift=0): - self.scaled = scale*self.points+shift - - -class PolyLine(PolyPoints): - - def __init__(self, points, **attr): - PolyPoints.__init__(self, points, attr) - - _attributes = {'color': 'black', - 'width': 1} - - def draw(self, dc): - color = self.attributes['color'] - width = self.attributes['width'] - arguments = [] - dc.SetPen(wx.wxPen(wx.wxNamedColour(color), width)) - dc.DrawLines(map(tuple,self.scaled)) - - -class PolyMarker(PolyPoints): - - def __init__(self, points, **attr): - - PolyPoints.__init__(self, points, attr) - - _attributes = {'color': 'black', - 'width': 1, - 'fillcolor': None, - 'size': 2, - 'fillstyle': wx.wxSOLID, - 'outline': 'black', - 'marker': 'circle'} - - def draw(self, dc): - color = self.attributes['color'] - width = self.attributes['width'] - size = self.attributes['size'] - fillcolor = self.attributes['fillcolor'] - fillstyle = self.attributes['fillstyle'] - marker = self.attributes['marker'] - - dc.SetPen(wx.wxPen(wx.wxNamedColour(color),width)) - if fillcolor: - dc.SetBrush(wx.wxBrush(wx.wxNamedColour(fillcolor),fillstyle)) - else: - dc.SetBrush(wx.wxBrush(wx.wxNamedColour('black'), wx.wxTRANSPARENT)) - - self._drawmarkers(dc, self.scaled, marker, size) - - def _drawmarkers(self, dc, coords, marker,size=1): - f = eval('self._' +marker) - for xc, yc in coords: - f(dc, xc, yc, size) - - def _circle(self, dc, xc, yc, size=1): - dc.DrawEllipse(xc-2.5*size,yc-2.5*size,5.*size,5.*size) - - def _dot(self, dc, xc, yc, size=1): - dc.DrawPoint(xc,yc) - - def _square(self, dc, xc, yc, size=1): - dc.DrawRectangle(xc-2.5*size,yc-2.5*size,5.*size,5.*size) - - def _triangle(self, dc, xc, yc, size=1): - dc.DrawPolygon([(-0.5*size*5,0.2886751*size*5), - (0.5*size*5,0.2886751*size*5), - (0.0,-0.577350*size*5)],xc,yc) - - def _triangle_down(self, dc, xc, yc, size=1): - dc.DrawPolygon([(-0.5*size*5,-0.2886751*size*5), - (0.5*size*5,-0.2886751*size*5), - (0.0,0.577350*size*5)],xc,yc) - - def _cross(self, dc, xc, yc, size=1): - dc.DrawLine(xc-2.5*size,yc-2.5*size,xc+2.5*size,yc+2.5*size) - dc.DrawLine(xc-2.5*size,yc+2.5*size,xc+2.5*size,yc-2.5*size) - - def _plus(self, dc, xc, yc, size=1): - dc.DrawLine(xc-2.5*size,yc,xc+2.5*size,yc) - dc.DrawLine(xc,yc-2.5*size,xc,yc+2.5*size) - -class PlotGraphics: - - def __init__(self, objects): - self.objects = objects - - def boundingBox(self): - p1, p2 = self.objects[0].boundingBox() - for o in self.objects[1:]: - p1o, p2o = o.boundingBox() - p1 = Numeric.minimum(p1, p1o) - p2 = Numeric.maximum(p2, p2o) - return p1, p2 - - def scaleAndShift(self, scale=1, shift=0): - for o in self.objects: - o.scaleAndShift(scale, shift) - - def draw(self, canvas): - for o in self.objects: - o.draw(canvas) - - def __len__(self): - return len(self.objects) - - def __getitem__(self, item): - return self.objects[item] - - -class PlotCanvas(wx.wxWindow): - - def __init__(self, parent, id = -1): - wx.wxWindow.__init__(self, parent, id, wx.wxPyDefaultPosition, wx.wxPyDefaultSize) - self.border = (1,1) - self.SetClientSizeWH(400,400) - self.SetBackgroundColour(wx.wxNamedColour("white")) - - wx.EVT_SIZE(self,self.reconfigure) - self._setsize() - self.last_draw = None -# self.font = self._testFont(font) - - def OnPaint(self, event): - pdc = wx.wxPaintDC(self) - if self.last_draw is not None: - apply(self.draw, self.last_draw + (pdc,)) - - def reconfigure(self, event): - (new_width,new_height) = self.GetClientSizeTuple() - if new_width == self.width and new_height == self.height: - return - self._setsize() - # self.redraw() - - def _testFont(self, font): - if font is not None: - bg = self.canvas.cget('background') - try: - item = CanvasText(self.canvas, 0, 0, anchor=NW, - text='0', fill=bg, font=font) - self.canvas.delete(item) - except TclError: - font = None - return font - - def _setsize(self): - (self.width,self.height) = self.GetClientSizeTuple(); - self.plotbox_size = 0.97*Numeric.array([self.width, -self.height]) - xo = 0.5*(self.width-self.plotbox_size[0]) - yo = self.height-0.5*(self.height+self.plotbox_size[1]) - self.plotbox_origin = Numeric.array([xo, yo]) - - def draw(self, graphics, xaxis = None, yaxis = None, dc = None): - if dc == None: dc = wx.wxClientDC(self) - dc.BeginDrawing() - dc.Clear() - self.last_draw = (graphics, xaxis, yaxis) - p1, p2 = graphics.boundingBox() - xaxis = self._axisInterval(xaxis, p1[0], p2[0]) - yaxis = self._axisInterval(yaxis, p1[1], p2[1]) - text_width = [0., 0.] - text_height = [0., 0.] - if xaxis is not None: - p1[0] = xaxis[0] - p2[0] = xaxis[1] - xticks = self._ticks(xaxis[0], xaxis[1]) - bb = dc.GetTextExtent(xticks[0][1]) - text_height[1] = bb[1] - text_width[0] = 0.5*bb[0] - bb = dc.GetTextExtent(xticks[-1][1]) - text_width[1] = 0.5*bb[0] - else: - xticks = None - if yaxis is not None: - p1[1] = yaxis[0] - p2[1] = yaxis[1] - yticks = self._ticks(yaxis[0], yaxis[1]) - for y in yticks: - bb = dc.GetTextExtent(y[1]) - text_width[0] = max(text_width[0],bb[0]) - h = 0.5*bb[1] - text_height[0] = h - text_height[1] = max(text_height[1], h) - else: - yticks = None - text1 = Numeric.array([text_width[0], -text_height[1]]) - text2 = Numeric.array([text_width[1], -text_height[0]]) - scale = (self.plotbox_size-text1-text2) / (p2-p1) - shift = -p1*scale + self.plotbox_origin + text1 - self._drawAxes(dc, xaxis, yaxis, p1, p2, - scale, shift, xticks, yticks) - graphics.scaleAndShift(scale, shift) - graphics.draw(dc) - dc.EndDrawing() - - def _axisInterval(self, spec, lower, upper): - if spec is None: - return None - if spec == 'minimal': - if lower == upper: - return lower-0.5, upper+0.5 - else: - return lower, upper - if spec == 'automatic': - range = upper-lower - if range == 0.: - return lower-0.5, upper+0.5 - log = Numeric.log10(range) - power = Numeric.floor(log) - fraction = log-power - if fraction <= 0.05: - power = power-1 - grid = 10.**power - lower = lower - lower % grid - mod = upper % grid - if mod != 0: - upper = upper - mod + grid - return lower, upper - if type(spec) == type(()): - lower, upper = spec - if lower <= upper: - return lower, upper - else: - return upper, lower - raise ValueError, str(spec) + ': illegal axis specification' - - def _drawAxes(self, dc, xaxis, yaxis, - bb1, bb2, scale, shift, xticks, yticks): - dc.SetPen(wx.wxPen(wx.wxNamedColour('BLACK'),1)) - if xaxis is not None: - lower, upper = xaxis - text = 1 - for y, d in [(bb1[1], -3), (bb2[1], 3)]: - p1 = scale*Numeric.array([lower, y])+shift - p2 = scale*Numeric.array([upper, y])+shift - dc.DrawLine(p1[0],p1[1],p2[0],p2[1]) - for x, label in xticks: - p = scale*Numeric.array([x, y])+shift - dc.DrawLine(p[0],p[1],p[0],p[1]+d) - if text: - dc.DrawText(label,p[0],p[1]) - text = 0 - - if yaxis is not None: - lower, upper = yaxis - text = 1 - h = dc.GetCharHeight() - for x, d in [(bb1[0], -3), (bb2[0], 3)]: - p1 = scale*Numeric.array([x, lower])+shift - p2 = scale*Numeric.array([x, upper])+shift - dc.DrawLine(p1[0],p1[1],p2[0],p2[1]) - for y, label in yticks: - p = scale*Numeric.array([x, y])+shift - dc.DrawLine(p[0],p[1],p[0]-d,p[1]) - if text: - dc.DrawText(label,p[0]-dc.GetTextExtent(label)[0], - p[1]-0.5*h) - text = 0 - - def _ticks(self, lower, upper): - ideal = (upper-lower)/7. - log = Numeric.log10(ideal) - power = Numeric.floor(log) - fraction = log-power - factor = 1. - error = fraction - for f, lf in self._multiples: - e = Numeric.fabs(fraction-lf) - if e < error: - error = e - factor = f - grid = factor * 10.**power - if power > 3 or power < -3: - format = '%+7.0e' - elif power >= 0: - digits = max(1, int(power)) - format = '%' + `digits`+'.0f' - else: - digits = -int(power) - format = '%'+`digits+2`+'.'+`digits`+'f' - ticks = [] - t = -grid*Numeric.floor(-lower/grid) - while t <= upper: - ticks.append(t, format % (t,)) - t = t + grid - return ticks - - _multiples = [(2., Numeric.log10(2.)), (5., Numeric.log10(5.))] - - def redraw(self,dc=None): - if self.last_draw is not None: - apply(self.draw, self.last_draw + (dc,)) - - def clear(self): - self.canvas.delete('all') - -# -# Now a sample implementation using the above... -# - -if __name__ == '__main__': - - class AppFrame(wx.wxFrame): - def __init__(self, parent, id, title): - wx.wxFrame.__init__(self, parent, id, title, - wx.wxPyDefaultPosition, wx.wxSize(400, 400)) - - # Now Create the menu bar and items - self.mainmenu = wx.wxMenuBar() - - menu = wx.wxMenu() - menu.Append(200, '&Print...', 'Print the current plot') - wx.EVT_MENU(self, 200, self.OnFilePrint) - menu.Append(209, 'E&xit', 'Enough of this already!') - wx.EVT_MENU(self, 209, self.OnFileExit) - self.mainmenu.Append(menu, '&File') - - menu = wx.wxMenu() - menu.Append(210, '&Draw', 'Draw plots') - wx.EVT_MENU(self,210,self.OnPlotDraw) - menu.Append(211, '&Redraw', 'Redraw plots') - wx.EVT_MENU(self,211,self.OnPlotRedraw) - menu.Append(212, '&Clear', 'Clear canvas') - wx.EVT_MENU(self,212,self.OnPlotClear) - self.mainmenu.Append(menu, '&Plot') - - menu = wx.wxMenu() - menu.Append(220, '&About', 'About this thing...') - wx.EVT_MENU(self, 220, self.OnHelpAbout) - self.mainmenu.Append(menu, '&Help') - - self.SetMenuBar(self.mainmenu) - - # A status bar to tell people what's happening - self.CreateStatusBar(1) - - self.client = PlotCanvas(self) - - def OnFilePrint(self, event): - d = wx.wxMessageDialog(self, -"""As of this writing, printing support in wxPython is shaky at best. -Are you sure you want to do this?""", "Danger!", wx.wxYES_NO) - if d.ShowModal() == wx.wxID_YES: - psdc = wx.wxPostScriptDC("out.ps", wx.TRUE, self) - self.client.redraw(psdc) - - def OnFileExit(self, event): - self.Close() - - def OnPlotDraw(self, event): - self.client.draw(InitObjects(),'automatic','automatic'); - - def OnPlotRedraw(self,event): - self.client.redraw() - - def OnPlotClear(self,event): - self.client.last_draw = None - dc = wx.wxClientDC(self.client) - dc.Clear() - - def OnHelpAbout(self, event): - about = wx.wxMessageDialog(self, __doc__, "About...", wx.wxOK) - about.ShowModal() - - def OnCloseWindow(self, event): - self.Destroy() - - def InitObjects(): - # 100 points sin function, plotted as green circles - data1 = 2.*Numeric.pi*Numeric.arange(200)/200. - data1.shape = (100, 2) - data1[:,1] = Numeric.sin(data1[:,0]) - markers1 = PolyMarker(data1, color='green', marker='circle',size=1) - - # 50 points cos function, plotted as red line - data1 = 2.*Numeric.pi*Numeric.arange(100)/100. - data1.shape = (50,2) - data1[:,1] = Numeric.cos(data1[:,0]) - lines = PolyLine(data1, color='red') - - # A few more points... - pi = Numeric.pi - markers2 = PolyMarker([(0., 0.), (pi/4., 1.), (pi/2, 0.), - (3.*pi/4., -1)], color='blue', - fillcolor='green', marker='cross') - - return PlotGraphics([markers1, lines, markers2]) - - - class MyApp(wx.wxApp): - def OnInit(self): - frame = AppFrame(wx.NULL, -1, "wxPlotCanvas") - frame.Show(wx.TRUE) - self.SetTopWindow(frame) - return wx.TRUE - - - app = MyApp(0) - app.MainLoop() diff --git a/wxPython/tests/wxSlash.py b/wxPython/tests/wxSlash.py deleted file mode 100644 index c98148a028..0000000000 --- a/wxPython/tests/wxSlash.py +++ /dev/null @@ -1,359 +0,0 @@ -#!/usr/bin/python -"""This is wxSlash 1.1 - - It's the obligatory Slashdot.org headlines reader that any modern -widget set/library must have in order to be taken seriously :-) - - Usage is quite simple; wxSlash attempts to download the 'ultramode.txt' -file from http://slashdot.org, which contains the headlines in a computer -friendly format. It then displays said headlines in a wxWindows list control. - - You can read articles using either Python's html library or an external -browser. Uncheck the 'browser->internal' menu item to use the latter option. -Use the settings dialog box to set which external browser is started. - - This code is available under the wxWindows license, see elsewhere. If you -modify this code, be aware of the fact that slashdot.org's maintainer, -CmdrTaco, explicitly asks 'ultramode.txt' downloaders not to do this -automatically more than twice per hour. If this feature is abused, CmdrTaco -may remove the ultramode file completely and that will make a *lot* of people -unhappy. - - I want to thank Alex Shnitman whose slashes.pl (Perl/GTK) script gave me -the idea for this applet. - - Have fun with it, - - Harm van der Heijden (H.v.d.Heijden@phys.tue.nl) -""" - -from wxPython.wx import * -from httplib import HTTP -from htmllib import HTMLParser -import os -import re -import formatter - -class HTMLTextView(wxFrame): - def __init__(self, parent, id, title='HTMLTextView', url=None): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, - wxSize(600,400)) - - self.mainmenu = wxMenuBar() - - menu = wxMenu() - menu.Append(201, '&Open URL...', 'Open URL') - EVT_MENU(self, 201, self.OnFileOpen) - menu.Append(209, 'E&xit', 'Exit viewer') - EVT_MENU(self, 209, self.OnFileExit) - - self.mainmenu.Append(menu, '&File') - self.SetMenuBar(self.mainmenu) - self.CreateStatusBar(1) - - self.text = wxTextCtrl(self, -1, "", wxPyDefaultPosition, - wxPyDefaultSize, wxTE_MULTILINE | wxTE_READONLY) - - if (url): - self.OpenURL(url) - - def logprint(self, x): - self.SetStatusText(x) - - def OpenURL(self, url): - self.url = url - m = re.match('file:(\S+)\s*', url) - if m: - f = open(m.groups()[0],'r') - else: - m = re.match('http://([^/]+)(/\S*)\s*', url) - if m: - host = m.groups()[0] - path = m.groups()[1] - else: - m = re.match('http://(\S+)\s*', url) - if not m: - # Invalid URL - self.logprint("Invalid or unsupported URL: %s" % (url)) - return - host = m.groups()[0] - path = '' - f = RetrieveAsFile(host,path,self.logprint) - if not f: - self.logprint("Could not open %s" % (url)) - return - self.logprint("Receiving data...") - data = f.read() - tmp = open('tmphtml.txt','w') - fmt = formatter.AbstractFormatter(formatter.DumbWriter(tmp)) - p = HTMLParser(fmt) - self.logprint("Parsing data...") - p.feed(data) - p.close() - tmp.close() - tmp = open('tmphtml.txt', 'r') - self.text.SetValue(tmp.read()) - self.SetTitle(url) - self.logprint(url) - - def OnFileOpen(self, event): - dlg = wxTextEntryDialog(self, "Enter URL to open:", "") - if dlg.ShowModal() == wxID_OK: - url = dlg.GetValue() - else: - url = None - if url: - self.OpenURL(url) - - def OnFileExit(self, event): - self.Close() - - def OnCloseWindow(self, event): - self.Destroy() - - -def ParseSlashdot(f): - art_sep = re.compile('%%\r?\n') - line_sep = re.compile('\r?\n') - data = f.read() - list = art_sep.split(data) - art_list = [] - for i in range(1,len(list)-1): - art_list.append(line_sep.split(list[i])) - return art_list - -def myprint(x): - print x - -def RetrieveAsFile(host, path='', logprint = myprint): - try: - h = HTTP(host) - except: - logprint("Failed to create HTTP connection to %s... is the network available?" % (host)) - return None - h.putrequest('GET',path) - h.putheader('Accept','text/html') - h.putheader('Accept','text/plain') - h.endheaders() - errcode, errmsg, headers = h.getreply() - if errcode != 200: - logprint("HTTP error code %d: %s" % (errcode, errmsg)) - return None - f = h.getfile() -# f = open('/home/harm/ultramode.txt','r') - return f - - -class AppStatusBar(wxStatusBar): - def __init__(self, parent): - wxStatusBar.__init__(self,parent, -1) - self.SetFieldsCount(2) - self.SetStatusWidths([-1, 100]) - self.but = wxButton(self, 1001, "Refresh") - EVT_BUTTON(self, 1001, parent.OnViewRefresh) - self.OnSize(None) - - def logprint(self,x): - self.SetStatusText(x,0) - - def OnSize(self, event): - rect = self.GetFieldRect(1) - self.but.SetPosition(wxPoint(rect.x+2, rect.y+2)) - self.but.SetSize(wxSize(rect.width-4, rect.height-4)) - -# This is a simple timer class to start a function after a short delay; -class QuickTimer(wxTimer): - def __init__(self, func, wait=100): - wxTimer.__init__(self) - self.callback = func - self.Start(wait); # wait .1 second (.001 second doesn't work. why?) - def Notify(self): - self.Stop(); - apply(self.callback, ()); - -class AppFrame(wxFrame): - def __init__(self, parent, id, title): - wxFrame.__init__(self, parent, id, title, wxPyDefaultPosition, - wxSize(650, 250)) - - # if the window manager closes the window: - EVT_CLOSE(self, self.OnCloseWindow); - - # Now Create the menu bar and items - self.mainmenu = wxMenuBar() - - menu = wxMenu() - menu.Append(209, 'E&xit', 'Enough of this already!') - EVT_MENU(self, 209, self.OnFileExit) - self.mainmenu.Append(menu, '&File') - menu = wxMenu() - menu.Append(210, '&Refresh', 'Refresh headlines') - EVT_MENU(self, 210, self.OnViewRefresh) - menu.Append(211, '&Slashdot Index', 'View Slashdot index') - EVT_MENU(self, 211, self.OnViewIndex) - menu.Append(212, 'Selected &Article', 'View selected article') - EVT_MENU(self, 212, self.OnViewArticle) - self.mainmenu.Append(menu, '&View') - menu = wxMenu() - menu.Append(220, '&Internal', 'Use internal text browser',TRUE) - menu.Check(220, true) - self.UseInternal = 1; - EVT_MENU(self, 220, self.OnBrowserInternal) - menu.Append(222, '&Settings...', 'External browser Settings') - EVT_MENU(self, 222, self.OnBrowserSettings) - self.mainmenu.Append(menu, '&Browser') - menu = wxMenu() - menu.Append(230, '&About', 'Some documentation'); - EVT_MENU(self, 230, self.OnAbout) - self.mainmenu.Append(menu, '&Help') - - self.SetMenuBar(self.mainmenu) - - if wxPlatform == '__WXGTK__': - # I like lynx. Also Netscape 4.5 doesn't react to my cmdline opts - self.BrowserSettings = "xterm -e lynx %s &" - elif wxPlatform == '__WXMSW__': - # netscape 4.x likes to hang out here... - self.BrowserSettings = '\\progra~1\\Netscape\\Communicator\\Program\\netscape.exe %s' - else: - # a wild guess... - self.BrowserSettings = 'netscape %s' - - # A status bar to tell people what's happening - self.sb = AppStatusBar(self) - self.SetStatusBar(self.sb) - - self.list = wxListCtrl(self, 1100) - self.list.SetSingleStyle(wxLC_REPORT) - self.list.InsertColumn(0, 'Subject') - self.list.InsertColumn(1, 'Date') - self.list.InsertColumn(2, 'Posted by') - self.list.InsertColumn(3, 'Comments') - self.list.SetColumnWidth(0, 300) - self.list.SetColumnWidth(1, 150) - self.list.SetColumnWidth(2, 100) - self.list.SetColumnWidth(3, 100) - - EVT_LIST_ITEM_SELECTED(self, 1100, self.OnItemSelected) - EVT_LEFT_DCLICK(self.list, self.OnLeftDClick) - - self.logprint("Connecting to slashdot... Please wait.") - # wxYield doesn't yet work here. That's why we use a timer - # to make sure that we see some GUI stuff before the slashdot - # file is transfered. - self.timer = QuickTimer(self.DoRefresh, 1000) - - def logprint(self, x): - self.sb.logprint(x) - - def OnFileExit(self, event): - self.Destroy() - - def DoRefresh(self): - f = RetrieveAsFile('slashdot.org','/ultramode.txt',self.sb.logprint) - art_list = ParseSlashdot(f) - self.list.DeleteAllItems() - self.url = [] - self.current = -1 - i = 0; - for article in art_list: - self.list.InsertStringItem(i, article[0]) - self.list.SetStringItem(i, 1, article[2]) - self.list.SetStringItem(i, 2, article[3]) - self.list.SetStringItem(i, 3, article[6]) - self.url.append(article[1]) - i = i + 1 - self.logprint("File retrieved OK.") - - def OnViewRefresh(self, event): - self.logprint("Connecting to slashdot... Please wait."); - wxYield() - self.DoRefresh() - - def DoViewIndex(self): - if self.UseInternal: - self.view = HTMLTextView(self, -1, 'slashdot.org', - 'http://slashdot.org') - self.view.Show(true) - else: - self.logprint(self.BrowserSettings % ('http://slashdot.org')) - os.system(self.BrowserSettings % ('http://slashdot.org')) - self.logprint("OK") - - def OnViewIndex(self, event): - self.logprint("Starting browser... Please wait.") - wxYield() - self.DoViewIndex() - - def DoViewArticle(self): - if self.current<0: return - url = self.url[self.current] - if self.UseInternal: - self.view = HTMLTextView(self, -1, url, url) - self.view.Show(true) - else: - self.logprint(self.BrowserSettings % (url)) - os.system(self.BrowserSettings % (url)) - self.logprint("OK") - - def OnViewArticle(self, event): - self.logprint("Starting browser... Please wait.") - wxYield() - self.DoViewArticle() - - def OnBrowserInternal(self, event): - if self.mainmenu.Checked(220): - self.UseInternal = 1 - else: - self.UseInternal = 0 - - def OnBrowserSettings(self, event): - dlg = wxTextEntryDialog(self, "Enter command to view URL.\nUse %s as a placeholder for the URL.", "", self.BrowserSettings); - if dlg.ShowModal() == wxID_OK: - self.BrowserSettings = dlg.GetValue() - - def OnAbout(self, event): - dlg = wxMessageDialog(self, __doc__, "wxSlash", wxOK | wxICON_INFORMATION) - dlg.ShowModal() - - def OnItemSelected(self, event): - self.current = event.m_itemIndex - self.logprint("URL: %s" % (self.url[self.current])) - - def OnLeftDClick(self, event): - (x,y) = event.Position(); - # Actually, we should convert x,y to logical coords using - # a dc, but only for a wxScrolledWindow widget. - # Now wxGTK derives wxListCtrl from wxScrolledWindow, - # and wxMSW from wxControl... So that doesn't work. - #dc = wxClientDC(self.list) - ##self.list.PrepareDC(dc) - #x = dc.DeviceToLogicalX( event.GetX() ) - #y = dc.DeviceToLogicalY( event.GetY() ) - id = self.list.HitTest(wxPoint(x,y)) - #print "Double click at %d %d" % (x,y), id - # Okay, we got a double click. Let's assume it's the current selection - wxYield() - self.OnViewArticle(event) - - def OnCloseWindow(self, event): - self.Destroy() - -class MyApp(wxApp): - def OnInit(self): - frame = AppFrame(NULL, -1, "Slashdot Breaking News") - frame.Show(true) - self.SetTopWindow(frame) - return true - -# -# main thingy -# -if __name__ == '__main__': - app = MyApp(0) - app.MainLoop() - - - - - diff --git a/wxPython/tests/zigron.py b/wxPython/tests/zigron.py deleted file mode 100644 index 7a6c89d380..0000000000 --- a/wxPython/tests/zigron.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/env python -#---------------------------------------------------------------------------- -## import all of the wxPython GUI package -from wxPython.wx import * - - -#--------------------------------------------------------------------------- -class GeneralTab(wxWindow): - def __init__(self,parent,id): - wxWindow.__init__(self,parent,id,wxPoint(5,25)) - self.Opts = {} - hdr = wxStaticText(self,-1,"This space left intentionally blank.",wxPoint(5,10)) - def GetOpts(self): - return self.Opts - -class ServersTab(wxWindow): - def __init__(self,parent,id): - wxWindow.__init__(self,parent,id,wxPoint(5,25)) - hdr = wxStaticText(self,-1,"This is also blank on purpose.",wxPoint(5,10)) - self.Opts = {} - def GetOpts(self): - return self.Opts - -class OptionsTab(wxWindow): - def __init__(self,parent,id): - wxWindow.__init__(self,parent,id,wxPoint(5,25)) - hdr = wxStaticText(self,-1,"Quit bugging me!.",wxPoint(5,10)) - self.Opts = {} - def GetOpts(self): - return self.Opts - -class SettingsWindow(wxFrame): - NOTEBOOK = 3201 - GENERAL_TAB = 3210 - OPTIONS_TAB = 3211 - SERVERS_TAB = 3212 - - def __init__(self,parent,id): - self.id = id - self.parent = parent - wxFrame.__init__(self,parent,id,'Pyces Settings', - wxPoint(50,50), wxSize(350,475), - wxDIALOG_MODAL|wxSTATIC_BORDER|wxCAPTION|wxSYSTEM_MENU) - nb = wxNotebook(self, self.NOTEBOOK) - self.GeneralTab = GeneralTab(self,-1) - self.OptionsTab = OptionsTab(self,-1) - self.ServersTab = ServersTab(self,-1) - nb.AddPage(self.GeneralTab,'General') - nb.AddPage(self.OptionsTab,'Options') - nb.AddPage(self.ServersTab,'Servers') - nb.SetSelection(0) - nb.SetSize(wxSize(350,420)) - - - -#--------------------------------------------------------------------------- - -class MyApp(wxApp): - def OnInit(self): - frame = SettingsWindow(NULL, -1) - #frame.ShowModal() - #return false - frame.Show(true) - self.SetTopWindow(frame) - return true - -#--------------------------------------------------------------------------- - - -app = MyApp(0) # Create an instance of the application class -app.MainLoop() # Tell it to start processing events - -#---------------------------------------------------------------------------- -# - diff --git a/wxPython/wx/__init__.py b/wxPython/wx/__init__.py new file mode 100644 index 0000000000..a334633f8d --- /dev/null +++ b/wxPython/wx/__init__.py @@ -0,0 +1,73 @@ +"""wx package + +Provides a way to drop the wx prefix from wxPython objects by +dynamically loading and renaming objects from the real wxPython +package. This is the first phase of a transition to a new style of +using wxPython. For example: + + import wx + class MyFrame(wx.Frame): + ... + +instead of: + + from wxPython.wx import * + class MyFrame(wxFrame): + ... + +or: + + from wxPython import wx + class MyFrame(wx.wxFrame): + ... + + +Internally, this package contains only one function, called _rename, +and one dictionary, called _newnames. These are used by wx itself and +by its sub-modules whenever they are imported. The _rename function +changes the names in the real wxPython module being imported according +to the rules that have been decided, e.g. most wx prefixes are +removed, and the new names are made visible in the wx package or +sub-packages. + +The _newnames dictionary holds the set of new names (from wx and ALL +sub-modules), keyed by the original name. This serves two purposes, +duplicate old names in different modules are eliminated, the survivor +being the name in wx itself; and the dictionary is accessible to +external scripts whose purpose is to change occurrences of the +corresponding names in application programs that use wx. + +""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wxPython import wx + +_newnames = {} + +def _rename(d_new, d_old, modulename=None): + " copy the names from d_old to d_new according to the rules" + global _newnames + import types + prefix = 'wx.' + if modulename: + prefix += modulename + '.' + for old, obj in d_old.items(): + if type(obj) is types.ModuleType or old.startswith('_'): + # Skip modules and private names. + continue + if old.startswith('wx') and not old.startswith('wxEVT_'): + # remove all wx prefixes except wxEVT_ + new = old[2:] + else: + # add everything else unchanged + new = old + if not _newnames.has_key(old): + d_new[new] = obj + _newnames[old] = prefix + new # add fully qualified new name to lookup using old name as key + +# rename the wx namespace itself +_rename(globals(), wx.__dict__) +del wx + diff --git a/wxPython/wx/calendar.py b/wxPython/wx/calendar.py new file mode 100644 index 0000000000..fbc543e4da --- /dev/null +++ b/wxPython/wx/calendar.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import calendar +_rename(globals(), calendar.__dict__, modulename='calendar') +del calendar +del _rename diff --git a/wxPython/wx/dllwidget.py b/wxPython/wx/dllwidget.py new file mode 100644 index 0000000000..fc1ed89706 --- /dev/null +++ b/wxPython/wx/dllwidget.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import dllwidget +_rename(globals(), dllwidget.__dict__, modulename='dllwidget') +del dllwidget +del _rename diff --git a/wxPython/wx/gizmos.py b/wxPython/wx/gizmos.py new file mode 100644 index 0000000000..24714962c5 --- /dev/null +++ b/wxPython/wx/gizmos.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import gizmos +_rename(globals(), gizmos.__dict__, modulename='gizmos') +del gizmos +del _rename diff --git a/wxPython/wx/glcanvas.py b/wxPython/wx/glcanvas.py new file mode 100644 index 0000000000..9807814a81 --- /dev/null +++ b/wxPython/wx/glcanvas.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import glcanvas +_rename(globals(), glcanvas.__dict__, modulename='glcanvas') +del glcanvas +del _rename diff --git a/wxPython/wx/grid.py b/wxPython/wx/grid.py new file mode 100644 index 0000000000..2b196ab084 --- /dev/null +++ b/wxPython/wx/grid.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import grid +_rename(globals(), grid.__dict__, modulename='grid') +del grid +del _rename diff --git a/wxPython/wx/help.py b/wxPython/wx/help.py new file mode 100644 index 0000000000..0a5923faf0 --- /dev/null +++ b/wxPython/wx/help.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import help +_rename(globals(), help.__dict__, modulename='help') +del help +del _rename diff --git a/wxPython/wx/html.py b/wxPython/wx/html.py new file mode 100644 index 0000000000..5627c53709 --- /dev/null +++ b/wxPython/wx/html.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import html +_rename(globals(), html.__dict__, modulename='html') +del html +del _rename diff --git a/wxPython/wx/iewin.py b/wxPython/wx/iewin.py new file mode 100644 index 0000000000..b593683e5a --- /dev/null +++ b/wxPython/wx/iewin.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import iewin +_rename(globals(), iewin.__dict__, modulename='iewin') +del iewin +del _rename diff --git a/wxPython/wx/lib/CDate.py b/wxPython/wx/lib/CDate.py new file mode 100644 index 0000000000..54b6434903 --- /dev/null +++ b/wxPython/wx/lib/CDate.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import CDate +_rename(globals(), CDate.__dict__, modulename='lib.CDate') +del CDate +del _rename diff --git a/wxPython/wx/lib/ClickableHtmlWindow.py b/wxPython/wx/lib/ClickableHtmlWindow.py new file mode 100644 index 0000000000..dabee04345 --- /dev/null +++ b/wxPython/wx/lib/ClickableHtmlWindow.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import ClickableHtmlWindow +_rename(globals(), ClickableHtmlWindow.__dict__, modulename='lib.ClickableHtmlWindow') +del ClickableHtmlWindow +del _rename diff --git a/wxPython/wx/lib/ErrorDialogs.py b/wxPython/wx/lib/ErrorDialogs.py new file mode 100644 index 0000000000..eb20380b30 --- /dev/null +++ b/wxPython/wx/lib/ErrorDialogs.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import ErrorDialogs +_rename(globals(), ErrorDialogs.__dict__, modulename='lib.ErrorDialogs') +del ErrorDialogs +del _rename diff --git a/wxPython/wx/lib/ErrorDialogs_wdr.py b/wxPython/wx/lib/ErrorDialogs_wdr.py new file mode 100644 index 0000000000..ae07431b30 --- /dev/null +++ b/wxPython/wx/lib/ErrorDialogs_wdr.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import ErrorDialogs_wdr +_rename(globals(), ErrorDialogs_wdr.__dict__, modulename='lib.ErrorDialogs_wdr') +del ErrorDialogs_wdr +del _rename diff --git a/wxPython/wx/lib/PythonBitmaps.py b/wxPython/wx/lib/PythonBitmaps.py new file mode 100644 index 0000000000..d54dbbef07 --- /dev/null +++ b/wxPython/wx/lib/PythonBitmaps.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import PythonBitmaps +_rename(globals(), PythonBitmaps.__dict__, modulename='lib.PythonBitmaps') +del PythonBitmaps +del _rename diff --git a/wxPython/wx/lib/__init__.py b/wxPython/wx/lib/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/lib/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/lib/activexwrapper.py b/wxPython/wx/lib/activexwrapper.py new file mode 100644 index 0000000000..b92e6ed3b1 --- /dev/null +++ b/wxPython/wx/lib/activexwrapper.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import activexwrapper +_rename(globals(), activexwrapper.__dict__, modulename='lib.activexwrapper') +del activexwrapper +del _rename diff --git a/wxPython/wx/lib/analogclock.py b/wxPython/wx/lib/analogclock.py new file mode 100644 index 0000000000..f83fe1a29c --- /dev/null +++ b/wxPython/wx/lib/analogclock.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import analogclock +_rename(globals(), analogclock.__dict__, modulename='lib.analogclock') +del analogclock +del _rename diff --git a/wxPython/wx/lib/anchors.py b/wxPython/wx/lib/anchors.py new file mode 100644 index 0000000000..779cb6f043 --- /dev/null +++ b/wxPython/wx/lib/anchors.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import anchors +_rename(globals(), anchors.__dict__, modulename='lib.anchors') +del anchors +del _rename diff --git a/wxPython/wx/lib/buttons.py b/wxPython/wx/lib/buttons.py new file mode 100644 index 0000000000..aa4f3742b0 --- /dev/null +++ b/wxPython/wx/lib/buttons.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import buttons +_rename(globals(), buttons.__dict__, modulename='lib.buttons') +del buttons +del _rename diff --git a/wxPython/wx/lib/calendar.py b/wxPython/wx/lib/calendar.py new file mode 100644 index 0000000000..8b5a466e1c --- /dev/null +++ b/wxPython/wx/lib/calendar.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import calendar +_rename(globals(), calendar.__dict__, modulename='lib.calendar') +del calendar +del _rename diff --git a/wxPython/wx/lib/colourchooser/__init__.py b/wxPython/wx/lib/colourchooser/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/lib/colourchooser/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/lib/colourchooser/canvas.py b/wxPython/wx/lib/colourchooser/canvas.py new file mode 100644 index 0000000000..829909b48e --- /dev/null +++ b/wxPython/wx/lib/colourchooser/canvas.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import canvas +_rename(globals(), canvas.__dict__, modulename='lib.colourchooser.canvas') +del canvas +del _rename diff --git a/wxPython/wx/lib/colourchooser/intl.py b/wxPython/wx/lib/colourchooser/intl.py new file mode 100644 index 0000000000..2004276cad --- /dev/null +++ b/wxPython/wx/lib/colourchooser/intl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import intl +_rename(globals(), intl.__dict__, modulename='lib.colourchooser.intl') +del intl +del _rename diff --git a/wxPython/wx/lib/colourchooser/pycolourbox.py b/wxPython/wx/lib/colourchooser/pycolourbox.py new file mode 100644 index 0000000000..d240cb83c9 --- /dev/null +++ b/wxPython/wx/lib/colourchooser/pycolourbox.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import pycolourbox +_rename(globals(), pycolourbox.__dict__, modulename='lib.colourchooser.pycolourbox') +del pycolourbox +del _rename diff --git a/wxPython/wx/lib/colourchooser/pycolourchooser.py b/wxPython/wx/lib/colourchooser/pycolourchooser.py new file mode 100644 index 0000000000..4b1049ef3b --- /dev/null +++ b/wxPython/wx/lib/colourchooser/pycolourchooser.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import pycolourchooser +_rename(globals(), pycolourchooser.__dict__, modulename='lib.colourchooser.pycolourchooser') +del pycolourchooser +del _rename diff --git a/wxPython/wx/lib/colourchooser/pycolourslider.py b/wxPython/wx/lib/colourchooser/pycolourslider.py new file mode 100644 index 0000000000..b737da9cbc --- /dev/null +++ b/wxPython/wx/lib/colourchooser/pycolourslider.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import pycolourslider +_rename(globals(), pycolourslider.__dict__, modulename='lib.colourchooser.pycolourslider') +del pycolourslider +del _rename diff --git a/wxPython/wx/lib/colourchooser/pypalette.py b/wxPython/wx/lib/colourchooser/pypalette.py new file mode 100644 index 0000000000..e420d09a59 --- /dev/null +++ b/wxPython/wx/lib/colourchooser/pypalette.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.colourchooser import pypalette +_rename(globals(), pypalette.__dict__, modulename='lib.colourchooser.pypalette') +del pypalette +del _rename diff --git a/wxPython/wx/lib/colourdb.py b/wxPython/wx/lib/colourdb.py new file mode 100644 index 0000000000..ca11238ac9 --- /dev/null +++ b/wxPython/wx/lib/colourdb.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import colourdb +_rename(globals(), colourdb.__dict__, modulename='lib.colourdb') +del colourdb +del _rename diff --git a/wxPython/wx/lib/colourselect.py b/wxPython/wx/lib/colourselect.py new file mode 100644 index 0000000000..ac24ba0cb4 --- /dev/null +++ b/wxPython/wx/lib/colourselect.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import colourselect +_rename(globals(), colourselect.__dict__, modulename='lib.colourselect') +del colourselect +del _rename diff --git a/wxPython/wx/lib/dialogs.py b/wxPython/wx/lib/dialogs.py new file mode 100644 index 0000000000..851f36ae06 --- /dev/null +++ b/wxPython/wx/lib/dialogs.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import dialogs +_rename(globals(), dialogs.__dict__, modulename='lib.dialogs') +del dialogs +del _rename diff --git a/wxPython/wx/lib/editor/__init__.py b/wxPython/wx/lib/editor/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/lib/editor/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/lib/editor/editor.py b/wxPython/wx/lib/editor/editor.py new file mode 100644 index 0000000000..22ecac2614 --- /dev/null +++ b/wxPython/wx/lib/editor/editor.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.editor import editor +_rename(globals(), editor.__dict__, modulename='lib.editor.editor') +del editor +del _rename diff --git a/wxPython/wx/lib/editor/images.py b/wxPython/wx/lib/editor/images.py new file mode 100644 index 0000000000..8bbd370706 --- /dev/null +++ b/wxPython/wx/lib/editor/images.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.editor import images +_rename(globals(), images.__dict__, modulename='lib.editor.images') +del images +del _rename diff --git a/wxPython/wx/lib/editor/selection.py b/wxPython/wx/lib/editor/selection.py new file mode 100644 index 0000000000..cf3cebedc0 --- /dev/null +++ b/wxPython/wx/lib/editor/selection.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.editor import selection +_rename(globals(), selection.__dict__, modulename='lib.editor.selection') +del selection +del _rename diff --git a/wxPython/wx/lib/evtmgr.py b/wxPython/wx/lib/evtmgr.py new file mode 100644 index 0000000000..c010bf13f3 --- /dev/null +++ b/wxPython/wx/lib/evtmgr.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import evtmgr +_rename(globals(), evtmgr.__dict__, modulename='lib.evtmgr') +del evtmgr +del _rename diff --git a/wxPython/wx/lib/fancytext.py b/wxPython/wx/lib/fancytext.py new file mode 100644 index 0000000000..dfabeb8610 --- /dev/null +++ b/wxPython/wx/lib/fancytext.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import fancytext +_rename(globals(), fancytext.__dict__, modulename='lib.fancytext') +del fancytext +del _rename diff --git a/wxPython/wx/lib/filebrowsebutton.py b/wxPython/wx/lib/filebrowsebutton.py new file mode 100644 index 0000000000..b8f48bd212 --- /dev/null +++ b/wxPython/wx/lib/filebrowsebutton.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import filebrowsebutton +_rename(globals(), filebrowsebutton.__dict__, modulename='lib.filebrowsebutton') +del filebrowsebutton +del _rename diff --git a/wxPython/wx/lib/floatbar.py b/wxPython/wx/lib/floatbar.py new file mode 100644 index 0000000000..34c334b635 --- /dev/null +++ b/wxPython/wx/lib/floatbar.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import floatbar +_rename(globals(), floatbar.__dict__, modulename='lib.floatbar') +del floatbar +del _rename diff --git a/wxPython/wx/lib/gridmovers.py b/wxPython/wx/lib/gridmovers.py new file mode 100644 index 0000000000..55a3fa1baa --- /dev/null +++ b/wxPython/wx/lib/gridmovers.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import gridmovers +_rename(globals(), gridmovers.__dict__, modulename='lib.gridmovers') +del gridmovers +del _rename diff --git a/wxPython/wx/lib/grids.py b/wxPython/wx/lib/grids.py new file mode 100644 index 0000000000..010c1b972a --- /dev/null +++ b/wxPython/wx/lib/grids.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import grids +_rename(globals(), grids.__dict__, modulename='lib.grids') +del grids +del _rename diff --git a/wxPython/wx/lib/imagebrowser.py b/wxPython/wx/lib/imagebrowser.py new file mode 100644 index 0000000000..9009641090 --- /dev/null +++ b/wxPython/wx/lib/imagebrowser.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import imagebrowser +_rename(globals(), imagebrowser.__dict__, modulename='lib.imagebrowser') +del imagebrowser +del _rename diff --git a/wxPython/wx/lib/imageutils.py b/wxPython/wx/lib/imageutils.py new file mode 100644 index 0000000000..be7de7e57b --- /dev/null +++ b/wxPython/wx/lib/imageutils.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import imageutils +_rename(globals(), imageutils.__dict__, modulename='lib.imageutils') +del imageutils +del _rename diff --git a/wxPython/wx/lib/infoframe.py b/wxPython/wx/lib/infoframe.py new file mode 100644 index 0000000000..196bfabd66 --- /dev/null +++ b/wxPython/wx/lib/infoframe.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import infoframe +_rename(globals(), infoframe.__dict__, modulename='lib.infoframe') +del infoframe +del _rename diff --git a/wxPython/wx/lib/intctrl.py b/wxPython/wx/lib/intctrl.py new file mode 100644 index 0000000000..f201a6fc74 --- /dev/null +++ b/wxPython/wx/lib/intctrl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import intctrl +_rename(globals(), intctrl.__dict__, modulename='lib.intctrl') +del intctrl +del _rename diff --git a/wxPython/wx/lib/layoutf.py b/wxPython/wx/lib/layoutf.py new file mode 100644 index 0000000000..f1492446e7 --- /dev/null +++ b/wxPython/wx/lib/layoutf.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import layoutf +_rename(globals(), layoutf.__dict__, modulename='lib.layoutf') +del layoutf +del _rename diff --git a/wxPython/wx/lib/maskededit.py b/wxPython/wx/lib/maskededit.py new file mode 100644 index 0000000000..61f751cd6c --- /dev/null +++ b/wxPython/wx/lib/maskededit.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import maskededit +_rename(globals(), maskededit.__dict__, modulename='lib.maskededit') +del maskededit +del _rename diff --git a/wxPython/wx/lib/mixins/__init__.py b/wxPython/wx/lib/mixins/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/lib/mixins/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/lib/mixins/grid.py b/wxPython/wx/lib/mixins/grid.py new file mode 100644 index 0000000000..a5d5c8cdf2 --- /dev/null +++ b/wxPython/wx/lib/mixins/grid.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.mixins import grid +_rename(globals(), grid.__dict__, modulename='lib.mixins.grid') +del grid +del _rename diff --git a/wxPython/wx/lib/mixins/imagelist.py b/wxPython/wx/lib/mixins/imagelist.py new file mode 100644 index 0000000000..1275fe2f03 --- /dev/null +++ b/wxPython/wx/lib/mixins/imagelist.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.mixins import imagelist +_rename(globals(), imagelist.__dict__, modulename='lib.mixins.imagelist') +del imagelist +del _rename diff --git a/wxPython/wx/lib/mixins/listctrl.py b/wxPython/wx/lib/mixins/listctrl.py new file mode 100644 index 0000000000..88cc8860f7 --- /dev/null +++ b/wxPython/wx/lib/mixins/listctrl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.mixins import listctrl +_rename(globals(), listctrl.__dict__, modulename='lib.mixins.listctrl') +del listctrl +del _rename diff --git a/wxPython/wx/lib/mixins/rubberband.py b/wxPython/wx/lib/mixins/rubberband.py new file mode 100644 index 0000000000..de0614becf --- /dev/null +++ b/wxPython/wx/lib/mixins/rubberband.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib.mixins import rubberband +_rename(globals(), rubberband.__dict__, modulename='lib.mixins.rubberband') +del rubberband +del _rename diff --git a/wxPython/wx/lib/multisash.py b/wxPython/wx/lib/multisash.py new file mode 100644 index 0000000000..b586275f73 --- /dev/null +++ b/wxPython/wx/lib/multisash.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import multisash +_rename(globals(), multisash.__dict__, modulename='lib.multisash') +del multisash +del _rename diff --git a/wxPython/wx/lib/mvctree.py b/wxPython/wx/lib/mvctree.py new file mode 100644 index 0000000000..cc1b6c94a7 --- /dev/null +++ b/wxPython/wx/lib/mvctree.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import mvctree +_rename(globals(), mvctree.__dict__, modulename='lib.mvctree') +del mvctree +del _rename diff --git a/wxPython/wx/lib/popupctl.py b/wxPython/wx/lib/popupctl.py new file mode 100644 index 0000000000..860d3202fe --- /dev/null +++ b/wxPython/wx/lib/popupctl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import popupctl +_rename(globals(), popupctl.__dict__, modulename='lib.popupctl') +del popupctl +del _rename diff --git a/wxPython/wx/lib/printout.py b/wxPython/wx/lib/printout.py new file mode 100644 index 0000000000..c927f0659d --- /dev/null +++ b/wxPython/wx/lib/printout.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import printout +_rename(globals(), printout.__dict__, modulename='lib.printout') +del printout +del _rename diff --git a/wxPython/wx/lib/pubsub.py b/wxPython/wx/lib/pubsub.py new file mode 100644 index 0000000000..c2275bf65d --- /dev/null +++ b/wxPython/wx/lib/pubsub.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import pubsub +_rename(globals(), pubsub.__dict__, modulename='lib.pubsub') +del pubsub +del _rename diff --git a/wxPython/wx/lib/pyshell.py b/wxPython/wx/lib/pyshell.py new file mode 100644 index 0000000000..cdfca52db3 --- /dev/null +++ b/wxPython/wx/lib/pyshell.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import pyshell +_rename(globals(), pyshell.__dict__, modulename='lib.pyshell') +del pyshell +del _rename diff --git a/wxPython/wx/lib/rcsizer.py b/wxPython/wx/lib/rcsizer.py new file mode 100644 index 0000000000..b59b4c2876 --- /dev/null +++ b/wxPython/wx/lib/rcsizer.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import rcsizer +_rename(globals(), rcsizer.__dict__, modulename='lib.rcsizer') +del rcsizer +del _rename diff --git a/wxPython/wx/lib/rightalign.py b/wxPython/wx/lib/rightalign.py new file mode 100644 index 0000000000..e47e353d55 --- /dev/null +++ b/wxPython/wx/lib/rightalign.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import rightalign +_rename(globals(), rightalign.__dict__, modulename='lib.rightalign') +del rightalign +del _rename diff --git a/wxPython/wx/lib/rpcMixin.py b/wxPython/wx/lib/rpcMixin.py new file mode 100644 index 0000000000..8f4b66de98 --- /dev/null +++ b/wxPython/wx/lib/rpcMixin.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import rpcMixin +_rename(globals(), rpcMixin.__dict__, modulename='lib.rpcMixin') +del rpcMixin +del _rename diff --git a/wxPython/wx/lib/scrolledpanel.py b/wxPython/wx/lib/scrolledpanel.py new file mode 100644 index 0000000000..5c1d6a2648 --- /dev/null +++ b/wxPython/wx/lib/scrolledpanel.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import scrolledpanel +_rename(globals(), scrolledpanel.__dict__, modulename='lib.scrolledpanel') +del scrolledpanel +del _rename diff --git a/wxPython/wx/lib/sheet.py b/wxPython/wx/lib/sheet.py new file mode 100644 index 0000000000..b22fa83d62 --- /dev/null +++ b/wxPython/wx/lib/sheet.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import sheet +_rename(globals(), sheet.__dict__, modulename='lib.sheet') +del sheet +del _rename diff --git a/wxPython/wx/lib/shell.py b/wxPython/wx/lib/shell.py new file mode 100644 index 0000000000..b95f0e8041 --- /dev/null +++ b/wxPython/wx/lib/shell.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import shell +_rename(globals(), shell.__dict__, modulename='lib.shell') +del shell +del _rename diff --git a/wxPython/wx/lib/splashscreen.py b/wxPython/wx/lib/splashscreen.py new file mode 100644 index 0000000000..2c14a2fa1a --- /dev/null +++ b/wxPython/wx/lib/splashscreen.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import splashscreen +_rename(globals(), splashscreen.__dict__, modulename='lib.splashscreen') +del splashscreen +del _rename diff --git a/wxPython/wx/lib/stattext.py b/wxPython/wx/lib/stattext.py new file mode 100644 index 0000000000..4c152232d4 --- /dev/null +++ b/wxPython/wx/lib/stattext.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import stattext +_rename(globals(), stattext.__dict__, modulename='lib.stattext') +del stattext +del _rename diff --git a/wxPython/wx/lib/throbber.py b/wxPython/wx/lib/throbber.py new file mode 100644 index 0000000000..1ee8406b2f --- /dev/null +++ b/wxPython/wx/lib/throbber.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import throbber +_rename(globals(), throbber.__dict__, modulename='lib.throbber') +del throbber +del _rename diff --git a/wxPython/wx/lib/timectrl.py b/wxPython/wx/lib/timectrl.py new file mode 100644 index 0000000000..d410de7d5b --- /dev/null +++ b/wxPython/wx/lib/timectrl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import timectrl +_rename(globals(), timectrl.__dict__, modulename='lib.timectrl') +del timectrl +del _rename diff --git a/wxPython/wx/lib/vtk.py b/wxPython/wx/lib/vtk.py new file mode 100644 index 0000000000..be31f4a23f --- /dev/null +++ b/wxPython/wx/lib/vtk.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import vtk +_rename(globals(), vtk.__dict__, modulename='lib.vtk') +del vtk +del _rename diff --git a/wxPython/wx/lib/wxPlotCanvas.py b/wxPython/wx/lib/wxPlotCanvas.py new file mode 100644 index 0000000000..02c1d8f3d4 --- /dev/null +++ b/wxPython/wx/lib/wxPlotCanvas.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import wxPlotCanvas +_rename(globals(), wxPlotCanvas.__dict__, modulename='lib.wxPlotCanvas') +del wxPlotCanvas +del _rename diff --git a/wxPython/wx/lib/wxpTag.py b/wxPython/wx/lib/wxpTag.py new file mode 100644 index 0000000000..03fca45e9e --- /dev/null +++ b/wxPython/wx/lib/wxpTag.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.lib import wxpTag +_rename(globals(), wxpTag.__dict__, modulename='lib.wxpTag') +del wxpTag +del _rename diff --git a/wxPython/wx/ogl.py b/wxPython/wx/ogl.py new file mode 100644 index 0000000000..1ac54fd4dc --- /dev/null +++ b/wxPython/wx/ogl.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import ogl +_rename(globals(), ogl.__dict__, modulename='ogl') +del ogl +del _rename diff --git a/wxPython/wx/py/PyAlaCarte.py b/wxPython/wx/py/PyAlaCarte.py new file mode 100644 index 0000000000..64c8b6304e --- /dev/null +++ b/wxPython/wx/py/PyAlaCarte.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyAlaCarte +_rename(globals(), PyAlaCarte.__dict__, modulename='py.PyAlaCarte') +del PyAlaCarte +del _rename diff --git a/wxPython/wx/py/PyAlaMode.py b/wxPython/wx/py/PyAlaMode.py new file mode 100644 index 0000000000..6acf8f83e0 --- /dev/null +++ b/wxPython/wx/py/PyAlaMode.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyAlaMode +_rename(globals(), PyAlaMode.__dict__, modulename='py.PyAlaMode') +del PyAlaMode +del _rename diff --git a/wxPython/wx/py/PyCrust.py b/wxPython/wx/py/PyCrust.py new file mode 100644 index 0000000000..26b64d239d --- /dev/null +++ b/wxPython/wx/py/PyCrust.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyCrust +_rename(globals(), PyCrust.__dict__, modulename='py.PyCrust') +del PyCrust +del _rename diff --git a/wxPython/wx/py/PyFilling.py b/wxPython/wx/py/PyFilling.py new file mode 100644 index 0000000000..e1c068b282 --- /dev/null +++ b/wxPython/wx/py/PyFilling.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyFilling +_rename(globals(), PyFilling.__dict__, modulename='py.PyFilling') +del PyFilling +del _rename diff --git a/wxPython/wx/py/PyShell.py b/wxPython/wx/py/PyShell.py new file mode 100644 index 0000000000..08a2ae9329 --- /dev/null +++ b/wxPython/wx/py/PyShell.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyShell +_rename(globals(), PyShell.__dict__, modulename='py.PyShell') +del PyShell +del _rename diff --git a/wxPython/wx/py/PyWrap.py b/wxPython/wx/py/PyWrap.py new file mode 100644 index 0000000000..7adba6c479 --- /dev/null +++ b/wxPython/wx/py/PyWrap.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import PyWrap +_rename(globals(), PyWrap.__dict__, modulename='py.PyWrap') +del PyWrap +del _rename diff --git a/wxPython/wx/py/__init__.py b/wxPython/wx/py/__init__.py new file mode 100644 index 0000000000..7efc5e89c1 --- /dev/null +++ b/wxPython/wx/py/__init__.py @@ -0,0 +1,3 @@ +# Py is really located in the old namespace, but it doesn't need any +# renaming done. +from wxPython.py import * diff --git a/wxPython/wx/py/buffer.py b/wxPython/wx/py/buffer.py new file mode 100644 index 0000000000..2ce26d4bcf --- /dev/null +++ b/wxPython/wx/py/buffer.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import buffer +_rename(globals(), buffer.__dict__, modulename='py.buffer') +del buffer +del _rename diff --git a/wxPython/wx/py/crust.py b/wxPython/wx/py/crust.py new file mode 100644 index 0000000000..b0337c5ba2 --- /dev/null +++ b/wxPython/wx/py/crust.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import crust +_rename(globals(), crust.__dict__, modulename='py.crust') +del crust +del _rename diff --git a/wxPython/wx/py/dispatcher.py b/wxPython/wx/py/dispatcher.py new file mode 100644 index 0000000000..9ce9935b8e --- /dev/null +++ b/wxPython/wx/py/dispatcher.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import dispatcher +_rename(globals(), dispatcher.__dict__, modulename='py.dispatcher') +del dispatcher +del _rename diff --git a/wxPython/wx/py/document.py b/wxPython/wx/py/document.py new file mode 100644 index 0000000000..93f4d87cc9 --- /dev/null +++ b/wxPython/wx/py/document.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import document +_rename(globals(), document.__dict__, modulename='py.document') +del document +del _rename diff --git a/wxPython/wx/py/editor.py b/wxPython/wx/py/editor.py new file mode 100644 index 0000000000..02cb8f1f91 --- /dev/null +++ b/wxPython/wx/py/editor.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import editor +_rename(globals(), editor.__dict__, modulename='py.editor') +del editor +del _rename diff --git a/wxPython/wx/py/editwindow.py b/wxPython/wx/py/editwindow.py new file mode 100644 index 0000000000..f2b8ea7791 --- /dev/null +++ b/wxPython/wx/py/editwindow.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import editwindow +_rename(globals(), editwindow.__dict__, modulename='py.editwindow') +del editwindow +del _rename diff --git a/wxPython/wx/py/filling.py b/wxPython/wx/py/filling.py new file mode 100644 index 0000000000..db99a47f47 --- /dev/null +++ b/wxPython/wx/py/filling.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import filling +_rename(globals(), filling.__dict__, modulename='py.filling') +del filling +del _rename diff --git a/wxPython/wx/py/frame.py b/wxPython/wx/py/frame.py new file mode 100644 index 0000000000..deefe71e62 --- /dev/null +++ b/wxPython/wx/py/frame.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import frame +_rename(globals(), frame.__dict__, modulename='py.frame') +del frame +del _rename diff --git a/wxPython/wx/py/images.py b/wxPython/wx/py/images.py new file mode 100644 index 0000000000..d877918209 --- /dev/null +++ b/wxPython/wx/py/images.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import images +_rename(globals(), images.__dict__, modulename='py.images') +del images +del _rename diff --git a/wxPython/wx/py/interpreter.py b/wxPython/wx/py/interpreter.py new file mode 100644 index 0000000000..b92a9870bf --- /dev/null +++ b/wxPython/wx/py/interpreter.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import interpreter +_rename(globals(), interpreter.__dict__, modulename='py.interpreter') +del interpreter +del _rename diff --git a/wxPython/wx/py/introspect.py b/wxPython/wx/py/introspect.py new file mode 100644 index 0000000000..132b4fe32e --- /dev/null +++ b/wxPython/wx/py/introspect.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import introspect +_rename(globals(), introspect.__dict__, modulename='py.introspect') +del introspect +del _rename diff --git a/wxPython/wx/py/pseudo.py b/wxPython/wx/py/pseudo.py new file mode 100644 index 0000000000..2d296bbd85 --- /dev/null +++ b/wxPython/wx/py/pseudo.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import pseudo +_rename(globals(), pseudo.__dict__, modulename='py.pseudo') +del pseudo +del _rename diff --git a/wxPython/wx/py/shell.py b/wxPython/wx/py/shell.py new file mode 100644 index 0000000000..e6422e31fc --- /dev/null +++ b/wxPython/wx/py/shell.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import shell +_rename(globals(), shell.__dict__, modulename='py.shell') +del shell +del _rename diff --git a/wxPython/wx/py/version.py b/wxPython/wx/py/version.py new file mode 100644 index 0000000000..008691a6b1 --- /dev/null +++ b/wxPython/wx/py/version.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.py import version +_rename(globals(), version.__dict__, modulename='py.version') +del version +del _rename diff --git a/wxPython/wx/stc.py b/wxPython/wx/stc.py new file mode 100644 index 0000000000..50a0e58d0e --- /dev/null +++ b/wxPython/wx/stc.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import stc +_rename(globals(), stc.__dict__, modulename='stc') +del stc +del _rename diff --git a/wxPython/wx/tools/XRCed/__init__.py b/wxPython/wx/tools/XRCed/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/tools/XRCed/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/tools/XRCed/encode_bitmaps.py b/wxPython/wx/tools/XRCed/encode_bitmaps.py new file mode 100644 index 0000000000..5ddbb9836a --- /dev/null +++ b/wxPython/wx/tools/XRCed/encode_bitmaps.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import encode_bitmaps +_rename(globals(), encode_bitmaps.__dict__, modulename='tools.XRCed.encode_bitmaps') +del encode_bitmaps +del _rename diff --git a/wxPython/wx/tools/XRCed/globals.py b/wxPython/wx/tools/XRCed/globals.py new file mode 100644 index 0000000000..c0a4fe93aa --- /dev/null +++ b/wxPython/wx/tools/XRCed/globals.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import globals +_rename(globals(), globals.__dict__, modulename='tools.XRCed.globals') +del globals +del _rename diff --git a/wxPython/wx/tools/XRCed/images.py b/wxPython/wx/tools/XRCed/images.py new file mode 100644 index 0000000000..29c98de0b0 --- /dev/null +++ b/wxPython/wx/tools/XRCed/images.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import images +_rename(globals(), images.__dict__, modulename='tools.XRCed.images') +del images +del _rename diff --git a/wxPython/wx/tools/XRCed/panel.py b/wxPython/wx/tools/XRCed/panel.py new file mode 100644 index 0000000000..3d0c4e4066 --- /dev/null +++ b/wxPython/wx/tools/XRCed/panel.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import panel +_rename(globals(), panel.__dict__, modulename='tools.XRCed.panel') +del panel +del _rename diff --git a/wxPython/wx/tools/XRCed/params.py b/wxPython/wx/tools/XRCed/params.py new file mode 100644 index 0000000000..6f3e37bae7 --- /dev/null +++ b/wxPython/wx/tools/XRCed/params.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import params +_rename(globals(), params.__dict__, modulename='tools.XRCed.params') +del params +del _rename diff --git a/wxPython/wx/tools/XRCed/tools.py b/wxPython/wx/tools/XRCed/tools.py new file mode 100644 index 0000000000..87f9f1eee8 --- /dev/null +++ b/wxPython/wx/tools/XRCed/tools.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import tools +_rename(globals(), tools.__dict__, modulename='tools.XRCed.tools') +del tools +del _rename diff --git a/wxPython/wx/tools/XRCed/tree.py b/wxPython/wx/tools/XRCed/tree.py new file mode 100644 index 0000000000..5f05f2ef5e --- /dev/null +++ b/wxPython/wx/tools/XRCed/tree.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import tree +_rename(globals(), tree.__dict__, modulename='tools.XRCed.tree') +del tree +del _rename diff --git a/wxPython/wx/tools/XRCed/undo.py b/wxPython/wx/tools/XRCed/undo.py new file mode 100644 index 0000000000..f8a9893f4d --- /dev/null +++ b/wxPython/wx/tools/XRCed/undo.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import undo +_rename(globals(), undo.__dict__, modulename='tools.XRCed.undo') +del undo +del _rename diff --git a/wxPython/wx/tools/XRCed/xrced.py b/wxPython/wx/tools/XRCed/xrced.py new file mode 100644 index 0000000000..47b754b3ba --- /dev/null +++ b/wxPython/wx/tools/XRCed/xrced.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import xrced +_rename(globals(), xrced.__dict__, modulename='tools.XRCed.xrced') +del xrced +del _rename diff --git a/wxPython/wx/tools/XRCed/xxx.py b/wxPython/wx/tools/XRCed/xxx.py new file mode 100644 index 0000000000..acb17c15b4 --- /dev/null +++ b/wxPython/wx/tools/XRCed/xxx.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools.XRCed import xxx +_rename(globals(), xxx.__dict__, modulename='tools.XRCed.xxx') +del xxx +del _rename diff --git a/wxPython/wx/tools/__init__.py b/wxPython/wx/tools/__init__.py new file mode 100644 index 0000000000..717d76b577 --- /dev/null +++ b/wxPython/wx/tools/__init__.py @@ -0,0 +1 @@ +# Python package diff --git a/wxPython/wx/tools/dbg.py b/wxPython/wx/tools/dbg.py new file mode 100644 index 0000000000..6cc262f8de --- /dev/null +++ b/wxPython/wx/tools/dbg.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import dbg +_rename(globals(), dbg.__dict__, modulename='tools.dbg') +del dbg +del _rename diff --git a/wxPython/wx/tools/helpviewer.py b/wxPython/wx/tools/helpviewer.py new file mode 100644 index 0000000000..98bd0e24ba --- /dev/null +++ b/wxPython/wx/tools/helpviewer.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import helpviewer +_rename(globals(), helpviewer.__dict__, modulename='tools.helpviewer') +del helpviewer +del _rename diff --git a/wxPython/wx/tools/img2img.py b/wxPython/wx/tools/img2img.py new file mode 100644 index 0000000000..f155a65450 --- /dev/null +++ b/wxPython/wx/tools/img2img.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import img2img +_rename(globals(), img2img.__dict__, modulename='tools.img2img') +del img2img +del _rename diff --git a/wxPython/wx/tools/img2png.py b/wxPython/wx/tools/img2png.py new file mode 100644 index 0000000000..5967f8a7ec --- /dev/null +++ b/wxPython/wx/tools/img2png.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import img2png +_rename(globals(), img2png.__dict__, modulename='tools.img2png') +del img2png +del _rename diff --git a/wxPython/wx/tools/img2py.py b/wxPython/wx/tools/img2py.py new file mode 100644 index 0000000000..de1d5e2a58 --- /dev/null +++ b/wxPython/wx/tools/img2py.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import img2py +_rename(globals(), img2py.__dict__, modulename='tools.img2py') +del img2py +del _rename diff --git a/wxPython/wx/tools/img2xpm.py b/wxPython/wx/tools/img2xpm.py new file mode 100644 index 0000000000..ec59eb7a76 --- /dev/null +++ b/wxPython/wx/tools/img2xpm.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython.tools import img2xpm +_rename(globals(), img2xpm.__dict__, modulename='tools.img2xpm') +del img2xpm +del _rename diff --git a/wxPython/wx/wizard.py b/wxPython/wx/wizard.py new file mode 100644 index 0000000000..393b30775a --- /dev/null +++ b/wxPython/wx/wizard.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import wizard +_rename(globals(), wizard.__dict__, modulename='wizard') +del wizard +del _rename diff --git a/wxPython/wx/xrc.py b/wxPython/wx/xrc.py new file mode 100644 index 0000000000..c775d49810 --- /dev/null +++ b/wxPython/wx/xrc.py @@ -0,0 +1,11 @@ + +"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" + +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wx import _rename +from wxPython import xrc +_rename(globals(), xrc.__dict__, modulename='xrc') +del xrc +del _rename diff --git a/wxPython/wxPython/lib/PyCrust/.cvsignore b/wxPython/wxPython/lib/PyCrust/.cvsignore deleted file mode 100644 index 9020783b5e..0000000000 --- a/wxPython/wxPython/lib/PyCrust/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -*.pyc -*.BAK -*.$$$ \ No newline at end of file diff --git a/wxPython/wxPython/lib/PyCrust/CHANGES.txt b/wxPython/wxPython/lib/PyCrust/CHANGES.txt deleted file mode 100644 index 1e2bdafe8e..0000000000 --- a/wxPython/wxPython/lib/PyCrust/CHANGES.txt +++ /dev/null @@ -1,512 +0,0 @@ -============= - CHANGES.txt -============= - ------------------------------------------ - Changes made to each release of PyCrust ------------------------------------------ - - -0.9 (2/27/2003 to 3/20/2003) -============================ - -Added fontIncrease, fontDecrease, fontDefault signals, receivers and -keybindings: - - Ctrl+] Increase font size. - Ctrl+[ Decrease font size. - Ctrl+= Default font size. - -Continued enhancement of the decorator capability to provide better -documentation and docstrings for wxPython classes and functions. - -Introduced new tabbed interface: - -* Namespace -* Calltip -* Session -* Dispatcher -* wxPython Docs -* wxSTC Docs - -Filling.tree now expands tuples as well as lists. (It should have done -this all along, I just never noticed this omission before.) - -Added this True/False test to all modules: - - try: - True - except NameError: - True = 1==1 - False = 1==0 - -Added wxd directory with decoration classes. - - -0.8.2 (1/5/2003 to 2/26/2003) -============================= - -Wrapped sys.ps1, sys.ps2, and sys.ps3 in str(). (Thanks, Kieran -Holland.) - -Fixed minor things found by PyChecker. - -Changed locals to use __main__.__dict__ and added code to clean up the -namespace, making it as close to the regular Python environment as -possible. This solves the problem of pickling and unpickling instances -of classes defined in the shell. - -Made shell.PasteAndRun() a little more forgiving when it finds a ps2 -prompt line with no trailing space, such when you copy code from a web -page. - -Improved autocomplete behavior by adding these to shell: - self.AutoCompSetAutoHide(False) - self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`') - -Added decor directory, decorator.py, stcDecor.py, and -stcConstants.py. These all serve the purpose of adding docstrings to -existing wxPython classes, in particular the wxStyledTextControl. - -Added wrap.py, a command line utility for running a wxPython app with -additional runtime-tools loaded, such as PyCrust (the only tool at -this point). - -Flushed the clipboard Cut/Copy operations so that selections will -exist in the clipboard even after PyCrust has been closed. - -Improved the suppression of docstrings for simple data types appearing -in the namespace viewer. - -Better handling of autocompletion with numeric types; no -autocompletion when typing a dot after an integer. If the -autocompletion is desired, type a space before the dot: - - func = 3 . - -More Filling!!! The namespace tree is now dynamically updated. - - -0.8.1 (12/20/2002 to 12/25/2002) -================================ - -Improved keyboard handling with Autocomplete active. You can now use -Enter as well as Tab to select an item from the list. - -Disabled autocomplete for lists of 2000 items or more. The current -implementation of wxSTC can't handle lists this big. - -Changed filling to always display docstrings for objects. This is -useful for objects whose docstrings have been decorated, rather than -coming directly from the source code. (Hmmm. Sounds like someone is -doing some decorating. I wonder where that would be helpful? ;-) - -Fixed handling of icon. Added images.py file. - - -0.8 (10/29/2002 to 12/16/2002) -============================== - -Added "help" to startup banner info. - -Made all wx and stc imports explicit. No more import *. - -Replaced use of wx's true and false with Python's True and False. - -Changed introspect.getRoot() to use tokenize module. This does a -slightly better job than the previous parsing routine and the code is -clearer. - -Improved handling of whitespace and empty types during introspection. - -Fixed cut/copy clipboard problem under Linux. (Robin Dunn rocks!!!) - -Added shell.about() which works like this: - - >>> shell.about() - PyCrust Version: 0.8 - Shell Revision: 1.80 - Interpreter Revision: 1.15 - Python Version: 2.2.2 - wxPython Version: 2.3.3.1 - Platform: linux2 - -Added copy plus and paste plus to shell menu. - -Moved shell menu from shell.py to shellmenu.py. - -Added sys.stdin.readlines() support. - -Added time.sleep() in readline() and OnIdle() event handler to free up -the CPU. - - -0.7.2 (2/22/2002 to 8/27/2002) -============================== - -Tweaked getAttributeNames() to pick up a few more attributes: - - '__bases__', '__class__', '__dict__', '__name__', 'func_closure', - 'func_code', 'func_defaults', 'func_dict', 'func_doc', - 'func_globals', 'func_name' - -Added a tests directory and unit tests. - -Improved support for empty types in the shell: [], () and {} as far as -when call tips and autocompletion are available. - -Added support for the other triple string - ''''''. - -Refactored introspect.py to improve testability. - -Improved call tips for unbound methods by leaving the "self" -parameter, since unbound methods require an instance be passed. - -Fixed call tip bug where a tip was displayed when a "(" was typed -after an object that wasn't callable. - -Fixed getAllAttributeNames when str(object) fails. - -Added brace highlighting. (Thank you, Kevin Altis.) - -Fixed problem displaying unicode objects in PyFilling. - -Changed how filling.py checks for expandable objects. Lists are now -expandable objects. - -Made the key handling more robust when there is an active text -selection that includes text prior to the last primary prompt. Thanks -to Raul Cota for pointing this out. - -Fixed wxSTC problem with brace highlighting and non-us keyboards. -(Thank you for the patch, Jean-Michel Fauth.) - -Added busy = wxBusyCursor() to key point in shell and filling. - -Added OnCloseWindow handler to ShellFrame and CrustFrame. - -Default to SetWrapMode(1) for shell and namespace viewer. - -Added shell.wrap() and shell.zoom(). - -Added Raul Cota autoCompleteKeys hooks. - -Cleaned up various little key handling bugs. - -Changed input methods to get values from shell, rather than dialog -boxes. Renamed readIn to readline and readRaw to raw_input. - - -0.7.1 (12/12/2001 to 2/21/2002) -=============================== - -Fixed OnChar() issues effecting European keyboards, as reported by -Jean-Michel Fauth. - -Fixed introspect.py issue with xmlrpc objects reported by Kevin Altis. - -Fixed some introspect/PyFilling issues with regard to Python 2.2. - -Fixed font background color as reported by Keith J. Farmer. (Thanks) - -Fixed problem with call tips and autocompletion inside multiline -commands as report by Kevin Altis. - -Improved OnKeyDown handling of cut/copy/paste operations based on -feedback from Syver Enstad. (Thanks) - -Added a shell.help() method to display some help info. - -Changed sort of items in the namespace viewer to case insensitive. - -Changed attributes.sort(lambda x, y: cmp(x.upper(), y.upper())) in -advance of an upcoming fix to an autocompletion matching bug in wxSTC. - -Improved support for ZODB by allowing namespace drilldown into BTrees. - -Added shell.PasteAndRun() to support pasting multiple commands into -the shell from the clipboard. Ctrl+Shift+V or v. - -Enter now always processes a command (or copies down a previous one.) -To insert a line break, press Ctrl+Enter. - -Escape key clears the current, unexecuted command. - -History retrieval changed to replace current command. Added new keys -to insert from history - Shift+Up and Shift+Down. - -Better call tips on objects with __call__ methods. - -Improved call tip positioning calculation. - - -0.7 (10/15/2001 to 12/11/2001) -============================== - -Changed how command history retrieval functions work. Added Alt-P, -Alt-N as keybindings for Retrieve-Previous, Retrieve-Next. - -Added full support for mult-line commands, similar to IDLE. - -Changed introspect.getAttributeNames() to do a case insensitive sort. - -Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and -Copy remove all prompts. Paste can handle prompted or not-prompted -text. - -Added CopyWithPrompts() method attached to Ctrl-Shift-C for those -times when you really do want all the prompts left intact. - -Improved handling of the shell's read-only zone. - -Changed CrustFrame.__init__ parameter spec to include all parameters -allowed by a wxFrame. - -Changed FillingText to be read-only. - -Renamed PyCrust.py to PyCrustApp.py to eliminate package/module name -conflicts that kept you from doing "from PyCrust import shell" inside -files located in the PyCrust directory. - -Renamed PyFilling.py to PyFillingApp.py and PyShell.py to -PyShellApp.py to maintain consistency. - -Removed the __date__ property from all modules. - -Fixed bug in introspect.getCallTip(), reported by Kevin Altis. - - -0.6.1 (9/19/2001 to 10/12/2001) -=============================== - -Changed Shell.run() to always position to the end of existing text, as -suggested by Raul Cota. - -Changed introspect.getAllAttributeNames() to break circular references -in object.__class__, which occurs in Zope/ZODB extension classes. - -Changed filling.FillingTree.getChildren() to introspect extension -classes. - -Fixed minor bugs in introspect.getCallTip() that were interfering with -call tips for Zope/ZODB extension class methods. - -In preparation for wxPython 2.3.2, added code to fix a font sizing -problem. Versions of wxPython prior to 2.3.2 had a sizing bug on Win -platform where the font was 2 points larger than what was specified. - -Added a hack to introspect.getAllAttributeNames() to "wake up" ZODB -objects that are asleep - in a "ghost" state. Otherwise it returns -incomplete info. - - -0.6 (8/21/2001 to 9/12/2001) -============================ - -Added PyFilling.py and filling.py. - -PyShell.py and PyFilling.py can now be run standalone, as well as -PyCrust.py. - -Added crust.py and moved some code from PyCrust.py to it. - -Added command history retrieval features submitted by Richie Hindle. - -Changed shell.write() to replace line endings with OS-specific -endings. Changed shell.py and interpreter.py to use os.linesep in -strings having hardcoded line endings. - -Added shell.redirectStdin(), shell.redirectStdout() and -shell.redirectStderr() to allow the surrounding app to toggle requests -that the specified sys.std* be redirected to the shell. These can also -be run from within the shell itself, of course. - -The shell now adds the current working directory "." to the search -path: - - sys.path.insert(0, os.curdir) - -Added support for distutils installations. - - -0.5.4 (8/17/2001 to 8/20/2001) -============================== - -Changed default font size under *nix to: - - 'size' : 12, - 'lnsize' : 10, - -Changed Shell to expect a parameter referencing an Interpreter class, -rather than an intepreter instance, to facilitate subclassing of -Interpreter, which effectively broke when the Editor class was -eliminated. - -Fixed PyCrustAlaCarte.py, which had been broken by previous changes. - -Created InterpreterAlaCarte class as an example for use in the demo. - -Split PyCrust.py into PyCrust.py and PyShell.py in anticipation of -PyFilling. - - -0.5.3 (8/16/2001) -================= - -Added patch to PyCrust.py to fix wxPython bug: - - wxID_SELECTALL = NewId() # This *should* be defined by wxPython. - - -0.5.2 (8/14/2001 to 8/15/2001) -============================== - -Shortened module names by dropping "PyCrust" as a prefix. - -Changed version to VERSION in version module. - -Added Options menu to PyCrust application. - -Eliminated the Editor class (and editor module) by merging with Shell. -This means that Shell "is a" wxStyledTextCtrl rather than "has a". -There just wasn't enough non-gui code to justify the separation. Plus, -Shell will be much easier for gui toolkits/designers to deal with now. - - -0.5.1 (8/10/2001 to 8/14/2001) -============================== - -Added introspect module. - -Moved some functionality from PyCrustInterp to introspect. - -Changed introspect.getRoot() to no longer remove whitespace from the -command. This was a remnant of a previous approach that, when left as -part of the current approach, turned out to be a really bad thing. - -Changed introspect.getRoot() to allow commands of '', "", """""", [], -(), and {} to pass through. This allows you to type them, followed by -a dot, and get autocomplete options on them. - -Changed introspect.getRoot() to identify some situations where strings -shouldn't be considered roots. For example: - - >>> import PyCrust # To illustrate the potential problem. - >>> len('PyCrust.py') - -Typing the dot at the end of "PyCrust" in the second line above should -NOT result in an autocompletion list because "PyCrust" is part of a -string in this context, not a reference to the PyCrust module -object. Similar reasoning applies to call tips. For example: - - >>> len('dir(') - -Typing the left paren at the end of "dir" should NOT result in a call -tip. - -Both features now behave properly in the examples given. However, -there is still the case where whitespace precedes the potential root -and that is NOT handled properly. For example: - - >>> len('this is a dir(') - -and - - >>> len('This is PyCrust.py') - -More code needs to be written to handle more complex situations. - -Added locals=None parameter to Shell.__init__(). - -Added support for magic attribute retrieval. Users can change this -with: - - >>> shell.editor.autoCompleteIncludeMagic = 0 - -Added the ability to set filters on auto completion to exclude -attributes prefixed with a single or double underscore. Users can -exclude one or the other or both with: - - >>> shell.editor.autoCompleteExcludeSingle = 1 - >>> shell.editor.autoCompleteExcludeDouble = 1 - - -0.5 (8/8/2001) -============== - -Mostly just a final version change before creating a release. - - -0.4 (8/4/2001 to 8/7/2001) -========================== - -Changed version/revision handling. - -Fixed bugs. - - -0.3 (8/2/2001 to 8/3/2001) -========================== - -Removed lots of cruft. - -Added lots of docstrings. - -Imported to CVS repository at SourceForge. - -Added call tips. - - -0.2 (7/30/2001 to 8/2/2001) -=========================== - -Renamed several files. - -Added command autocompletion. - -Added menus to PyCrust.py: File, Edit and Help - -Added sample applications: PyCrustAlaCarte.py, PyCrustAlaMode.py, and -PyCrustMinimus.py. - - -0.1 (7/1/2001 to 7/19/2001) -=========================== - -Added basic syntax coloring much like Boa. - -Added read-only logging much like IDLE. - -Can retrieve a previous command by putting the cursor back on that -line and hitting enter. - -Stdin and raw_input operate properly so you can now do help() and -license() without hanging. - -Redefined "quit", "exit", and "close" to display a better-than-nothing -response. - -Home key honors the prompt. - -Created SourceForge account, but nothing was posted. - - -In the beginning, there was pie... (7/1/2001) -============================================= - -Blame it all on IDLE, Boa and PythonWin. I was using all three, got -frustrated with their dissimilarities, and began to let everyone know -how I felt. At the same time, Scintilla looked like an interesting -tool to build a shell around. And while I didn't receive much in the -way of positive feedback, let alone encouragement, I just couldn't let -go of the idea of a Scintilla-based Python shell. Then the PythonCard -project got to the point where they were talking about including a -shell in their development environment. That was all the incentive I -needed. PyCrust had to happen... - - -CVS Information -=============== -$Date$ -$Revision$ -$Id$ diff --git a/wxPython/wxPython/lib/PyCrust/PyCrustApp.py b/wxPython/wxPython/lib/PyCrust/PyCrustApp.py index 036e368002..a661288346 100755 --- a/wxPython/wxPython/lib/PyCrust/PyCrustApp.py +++ b/wxPython/wxPython/lib/PyCrust/PyCrustApp.py @@ -1,70 +1,6 @@ -"""PyCrustApp is a python shell and namespace browser application.""" +from wxPython.py.PyCrust import * -# The next two lines, and the other code below that makes use of -# ``__main__`` and ``original``, serve the purpose of cleaning up the -# main namespace to look as much as possible like the regular Python -# shell environment. -import __main__ -original = __main__.__dict__.keys() - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -from wxPython import wx - -try: - True -except NameError: - True = 1==1 - False = 1==0 - - -class App(wx.wxApp): - """PyCrust standalone application.""" - - def OnInit(self): - from wxPython import wx - wx.wxInitAllImageHandlers() - locals = __main__.__dict__ - from crust import CrustFrame - self.frame = CrustFrame(locals=locals) - self.frame.SetSize((800, 600)) - self.frame.Show() - self.SetTopWindow(self.frame) - # Add the application object to the sys module's namespace. - # This allows a shell user to do: - # >>> import sys - # >>> sys.app.whatever - import sys - sys.app = self - return 1 - -''' -The main() function needs to handle being imported, such as with the -pycrust script that wxPython installs: - - #!/usr/bin/env python - - from wxPython.lib.PyCrust.PyCrustApp import main - main() -''' - -def main(): - import __main__ - md = __main__.__dict__ - keepers = original - keepers.append('App') - for key in md.keys(): - if key not in keepers: - del md[key] - app = App(0) - if md.has_key('App') and md['App'] is App: - del md['App'] - if md.has_key('__main__') and md['__main__'] is __main__: - del md['__main__'] - app.MainLoop() if __name__ == '__main__': main() diff --git a/wxPython/wxPython/lib/PyCrust/PyFillingApp.py b/wxPython/wxPython/lib/PyCrust/PyFillingApp.py index b204210a80..0d8b321982 100755 --- a/wxPython/wxPython/lib/PyCrust/PyFillingApp.py +++ b/wxPython/wxPython/lib/PyCrust/PyFillingApp.py @@ -1,44 +1,5 @@ -"""PyFillingApp is a python namespace inspection application.""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -# We use this object to get more introspection when run standalone. -app = None - -import filling - -# These are imported just to have something interesting to inspect. -import crust -import interpreter -import introspect -import pseudo -import shell - -import sys -from wxPython import wx - -try: - True -except NameError: - True = 1==1 - False = 1==0 - - -class App(filling.App): - def OnInit(self): - filling.App.OnInit(self) - self.root = self.fillingFrame.filling.tree.root - return True - -def main(): - """Create and run the application.""" - global app - app = App(0) - app.fillingFrame.filling.tree.Expand(app.root) - app.MainLoop() +from wxPython.py.PyFilling import * if __name__ == '__main__': diff --git a/wxPython/wxPython/lib/PyCrust/PyShellApp.py b/wxPython/wxPython/lib/PyCrust/PyShellApp.py index 2ef7aae07f..674a451528 100755 --- a/wxPython/wxPython/lib/PyCrust/PyShellApp.py +++ b/wxPython/wxPython/lib/PyCrust/PyShellApp.py @@ -1,71 +1,6 @@ -"""PyShellApp is a python shell application.""" +from wxPython.py.PyShell import * -# The next two lines, and the other code below that makes use of -# ``__main__`` and ``original``, serve the purpose of cleaning up the -# main namespace to look as much as possible like the regular Python -# shell environment. -import __main__ -original = __main__.__dict__.keys() - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -from wxPython import wx - -try: - True -except NameError: - True = 1==1 - False = 1==0 - - -class App(wx.wxApp): - """PyShell standalone application.""" - - def OnInit(self): - from wxPython import wx - wx.wxInitAllImageHandlers() - locals = __main__.__dict__ - from shell import ShellFrame - self.frame = ShellFrame(locals=locals) - self.frame.SetSize((750, 525)) - self.frame.Show() - self.SetTopWindow(self.frame) - self.frame.shell.SetFocus() - # Add the application object to the sys module's namespace. - # This allows a shell user to do: - # >>> import sys - # >>> sys.app.whatever - import sys - sys.app = self - return 1 - -''' -The main() function needs to handle being imported, such as with the -pycrust script that wxPython installs: - - #!/usr/bin/env python - - from wxPython.lib.PyCrust.PyCrustApp import main - main() -''' - -def main(): - import __main__ - md = __main__.__dict__ - keepers = original - keepers.append('App') - for key in md.keys(): - if key not in keepers: - del md[key] - app = App(0) - if md.has_key('App') and md['App'] is App: - del md['App'] - if md.has_key('__main__') and md['__main__'] is __main__: - del md['__main__'] - app.MainLoop() if __name__ == '__main__': main() diff --git a/wxPython/wxPython/lib/PyCrust/__init__.py b/wxPython/wxPython/lib/PyCrust/__init__.py index db6003cf3b..cf7736acd1 100644 --- a/wxPython/wxPython/lib/PyCrust/__init__.py +++ b/wxPython/wxPython/lib/PyCrust/__init__.py @@ -1 +1,5 @@ -# Orbtech python package. \ No newline at end of file + +# Change this to an ImportError after the next release +import warnings +warnings.warn("PyCrust has been renamed to Py. Use 'from wx import py'", stacklevel=2) + diff --git a/wxPython/wxPython/lib/PyCrust/crust.py b/wxPython/wxPython/lib/PyCrust/crust.py index caeb20f6db..fc1360461d 100644 --- a/wxPython/wxPython/lib/PyCrust/crust.py +++ b/wxPython/wxPython/lib/PyCrust/crust.py @@ -1,169 +1,2 @@ -"""PyCrust Crust combines the shell and filling into one control.""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -from wxPython import wx -from filling import Filling -import os -from shell import Shell -from shellmenu import ShellMenu -from version import VERSION - -try: - True -except NameError: - True = 1==1 - False = 1==0 - - -class Crust(wx.wxSplitterWindow): - """PyCrust Crust based on wxSplitterWindow.""" - - name = 'PyCrust Crust' - revision = __revision__ - - def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition, - size=wx.wxDefaultSize, style=wx.wxSP_3D, - name='Crust Window', rootObject=None, rootLabel=None, - rootIsNamespace=True, intro='', locals=None, - InterpClass=None, *args, **kwds): - """Create a PyCrust Crust instance.""" - wx.wxSplitterWindow.__init__(self, parent, id, pos, size, style, name) - self.shell = Shell(parent=self, introText=intro, - locals=locals, InterpClass=InterpClass, - *args, **kwds) - if rootObject is None: - rootObject = self.shell.interp.locals - self.notebook = wx.wxNotebook(parent=self, id=-1) - self.shell.interp.locals['notebook'] = self.notebook - self.filling = Filling(parent=self.notebook, - rootObject=rootObject, - rootLabel=rootLabel, - rootIsNamespace=rootIsNamespace) - # Add 'filling' to the interpreter's locals. - self.shell.interp.locals['filling'] = self.filling - self.notebook.AddPage(page=self.filling, text='Namespace', select=True) - self.calltip = Calltip(parent=self.notebook) - self.notebook.AddPage(page=self.calltip, text='Calltip') - self.sessionlisting = SessionListing(parent=self.notebook) - self.notebook.AddPage(page=self.sessionlisting, text='Session') - self.dispatcherlisting = DispatcherListing(parent=self.notebook) - self.notebook.AddPage(page=self.dispatcherlisting, text='Dispatcher') - from wxd import wx_ - self.wxdocs = Filling(parent=self.notebook, - rootObject=wx_, - rootLabel='wx', - rootIsNamespace=False, - static=True) - self.notebook.AddPage(page=self.wxdocs, text='wxPython Docs') - from wxd import stc_ - self.stcdocs = Filling(parent=self.notebook, - rootObject=stc_.StyledTextCtrl, - rootLabel='StyledTextCtrl', - rootIsNamespace=False, - static=True) - self.notebook.AddPage(page=self.stcdocs, text='StyledTextCtrl Docs') - self.SplitHorizontally(self.shell, self.notebook, 300) - self.SetMinimumPaneSize(1) - - -class Calltip(wx.wxTextCtrl): - """Text control containing the most recent shell calltip.""" - - def __init__(self, parent=None, id=-1): - import dispatcher - style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | wx.wxTE_RICH2 - wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style) - self.SetBackgroundColour(wx.wxColour(255, 255, 232)) - dispatcher.connect(receiver=self.display, signal='Shell.calltip') - - def display(self, calltip): - """Receiver for Shell.calltip signal.""" - self.SetValue(calltip) - - -class SessionListing(wx.wxTextCtrl): - """Text control containing all commands for session.""" - - def __init__(self, parent=None, id=-1): - import dispatcher - style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | \ - wx.wxTE_RICH2 | wx.wxTE_DONTWRAP - wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style) - dispatcher.connect(receiver=self.push, signal='Interpreter.push') - - def push(self, command, more): - """Receiver for Interpreter.push signal.""" - if command and not more: - self.SetInsertionPointEnd() - start, end = self.GetSelection() - if start != end: - self.SetSelection(0, 0) - self.AppendText(command + '\n') - - -class DispatcherListing(wx.wxTextCtrl): - """Text control containing all dispatches for session.""" - - def __init__(self, parent=None, id=-1): - import dispatcher - style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | \ - wx.wxTE_RICH2 | wx.wxTE_DONTWRAP - wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style) - dispatcher.connect(receiver=self.spy) - - def spy(self, signal, sender): - """Receiver for Any signal from Any sender.""" - text = '%r from %s' % (signal, sender) - self.SetInsertionPointEnd() - start, end = self.GetSelection() - if start != end: - self.SetSelection(0, 0) - self.AppendText(text + '\n') - - -class CrustFrame(wx.wxFrame, ShellMenu): - """Frame containing all the PyCrust components.""" - - name = 'PyCrust Frame' - revision = __revision__ - - def __init__(self, parent=None, id=-1, title='PyCrust', - pos=wx.wxDefaultPosition, size=wx.wxDefaultSize, - style=wx.wxDEFAULT_FRAME_STYLE, - rootObject=None, rootLabel=None, rootIsNamespace=True, - locals=None, InterpClass=None, *args, **kwds): - """Create a PyCrust CrustFrame instance.""" - wx.wxFrame.__init__(self, parent, id, title, pos, size, style) - intro = 'PyCrust %s - The Flakiest Python Shell' % VERSION - intro += '\nSponsored by Orbtech - ' - intro += 'Your source for Python programming expertise.' - self.CreateStatusBar() - self.SetStatusText(intro.replace('\n', ', ')) - import images - self.SetIcon(images.getPyCrustIcon()) - self.crust = Crust(parent=self, intro=intro, - rootObject=rootObject, - rootLabel=rootLabel, - rootIsNamespace=rootIsNamespace, - locals=locals, - InterpClass=InterpClass, *args, **kwds) - # Override the filling so that status messages go to the status bar. - self.crust.filling.tree.setStatusText = self.SetStatusText - # Override the shell so that status messages go to the status bar. - self.crust.shell.setStatusText = self.SetStatusText - # Fix a problem with the sash shrinking to nothing. - self.crust.filling.SetSashPosition(200) - self.shell = self.crust.shell - self.createMenus() - wx.EVT_CLOSE(self, self.OnCloseWindow) - # Set focus to the shell editor. - self.crust.shell.SetFocus() - - def OnCloseWindow(self, event): - self.crust.shell.destroy() - self.Destroy() - +from wxPython.py.crust import * diff --git a/wxPython/wxPython/lib/PyCrust/filling.py b/wxPython/wxPython/lib/PyCrust/filling.py index 9a846b4def..a8fa098f3b 100644 --- a/wxPython/wxPython/lib/PyCrust/filling.py +++ b/wxPython/wxPython/lib/PyCrust/filling.py @@ -1,436 +1,3 @@ -"""PyCrust Filling is the gui tree control through which a user can -navigate the local namespace or any object.""" -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] +from wxPython.py.filling import * -from wxPython import wx -from wxPython import stc -from version import VERSION -import dispatcher -import inspect -import introspect -import keyword -import sys -import types - -try: - True -except NameError: - True = 1==1 - False = 1==0 - -COMMONTYPES = [getattr(types, t) for t in dir(types) \ - if not t.startswith('_') \ - and t not in ('ClassType', 'InstanceType', 'ModuleType')] - -DOCTYPES = ('BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', - 'FunctionType', 'GeneratorType', 'InstanceType', - 'LambdaType', 'MethodType', 'ModuleType', - 'UnboundMethodType', 'method-wrapper') - -SIMPLETYPES = [getattr(types, t) for t in dir(types) \ - if not t.startswith('_') and t not in DOCTYPES] - -try: - COMMONTYPES.append(type(''.__repr__)) # Method-wrapper in version 2.2.x. -except AttributeError: - pass - - -class FillingTree(wx.wxTreeCtrl): - """PyCrust FillingTree based on wxTreeCtrl.""" - - name = 'PyCrust Filling Tree' - revision = __revision__ - - def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition, - size=wx.wxDefaultSize, style=wx.wxTR_DEFAULT_STYLE, - rootObject=None, rootLabel=None, rootIsNamespace=0, - static=False): - """Create a PyCrust FillingTree instance.""" - wx.wxTreeCtrl.__init__(self, parent, id, pos, size, style) - self.rootIsNamespace = rootIsNamespace - import __main__ - if rootObject is None: - rootObject = __main__.__dict__ - self.rootIsNamespace = 1 - if rootObject is __main__.__dict__ and rootLabel is None: - rootLabel = 'locals()' - if not rootLabel: - rootLabel = 'Ingredients' - rootData = wx.wxTreeItemData(rootObject) - self.item = self.root = self.AddRoot(rootLabel, -1, -1, rootData) - self.SetItemHasChildren(self.root, self.hasChildren(rootObject)) - wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding) - wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed) - wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) - wx.EVT_TREE_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) - if not static: - dispatcher.connect(receiver=self.push, signal='Interpreter.push') - - def push(self, command, more): - """Receiver for Interpreter.push signal.""" - self.display() - - def OnItemExpanding(self, event): - """Add children to the item.""" - busy = wx.wxBusyCursor() - item = event.GetItem() - if self.IsExpanded(item): - return - self.addChildren(item) -# self.SelectItem(item) - - def OnItemCollapsed(self, event): - """Remove all children from the item.""" - busy = wx.wxBusyCursor() - item = event.GetItem() -# self.CollapseAndReset(item) -# self.DeleteChildren(item) -# self.SelectItem(item) - - def OnSelChanged(self, event): - """Display information about the item.""" - busy = wx.wxBusyCursor() - self.item = event.GetItem() - self.display() - - def OnItemActivated(self, event): - """Launch a DirFrame.""" - item = event.GetItem() - text = self.getFullName(item) - obj = self.GetPyData(item) - frame = FillingFrame(parent=self, size=(600, 100), rootObject=obj, - rootLabel=text, rootIsNamespace=False) - frame.Show() - - def hasChildren(self, obj): - """Return true if object has children.""" - if self.getChildren(obj): - return True - else: - return False - - def getChildren(self, obj): - """Return dictionary with attributes or contents of object.""" - busy = wx.wxBusyCursor() - otype = type(obj) - if otype is types.DictType \ - or str(otype)[17:23] == 'BTrees' and hasattr(obj, 'keys'): - return obj - d = {} - if otype is types.ListType or otype is types.TupleType: - for n in range(len(obj)): - key = '[' + str(n) + ']' - d[key] = obj[n] - if otype not in COMMONTYPES: - for key in introspect.getAttributeNames(obj): - # Believe it or not, some attributes can disappear, - # such as the exc_traceback attribute of the sys - # module. So this is nested in a try block. - try: - d[key] = getattr(obj, key) - except: - pass - return d - - def addChildren(self, item): - self.DeleteChildren(item) - obj = self.GetPyData(item) - children = self.getChildren(obj) - if not children: - return - keys = children.keys() - keys.sort(lambda x, y: cmp(x.lower(), y.lower())) - for key in keys: - itemtext = str(key) - # Show string dictionary items with single quotes, except - # for the first level of items, if they represent a - # namespace. - if type(obj) is types.DictType \ - and type(key) is types.StringType \ - and (item != self.root \ - or (item == self.root and not self.rootIsNamespace)): - itemtext = repr(key) - child = children[key] - data = wx.wxTreeItemData(child) - branch = self.AppendItem(parent=item, text=itemtext, data=data) - self.SetItemHasChildren(branch, self.hasChildren(child)) - - def display(self): - item = self.item - if self.IsExpanded(item): - self.addChildren(item) - self.setText('') - obj = self.GetPyData(item) - if obj is None: # Windows bug fix. - return - self.SetItemHasChildren(item, self.hasChildren(obj)) - otype = type(obj) - text = '' - text += self.getFullName(item) - text += '\n\nType: ' + str(otype) - try: - value = str(obj) - except: - value = '' - if otype is types.StringType or otype is types.UnicodeType: - value = repr(obj) - text += '\n\nValue: ' + value - if otype not in SIMPLETYPES: - try: - text += '\n\nDocstring:\n\n"""' + \ - inspect.getdoc(obj).strip() + '"""' - except: - pass - if otype is types.InstanceType: - try: - text += '\n\nClass Definition:\n\n' + \ - inspect.getsource(obj.__class__) - except: - pass - else: - try: - text += '\n\nSource Code:\n\n' + \ - inspect.getsource(obj) - except: - pass - self.setText(text) - - def getFullName(self, item, partial=''): - """Return a syntactically proper name for item.""" - name = self.GetItemText(item) - parent = None - obj = None - if item != self.root: - parent = self.GetItemParent(item) - obj = self.GetPyData(parent) - # Apply dictionary syntax to dictionary items, except the root - # and first level children of a namepace. - if (type(obj) is types.DictType \ - or str(type(obj))[17:23] == 'BTrees' \ - and hasattr(obj, 'keys')) \ - and ((item != self.root and parent != self.root) \ - or (parent == self.root and not self.rootIsNamespace)): - name = '[' + name + ']' - # Apply dot syntax to multipart names. - if partial: - if partial[0] == '[': - name += partial - else: - name += '.' + partial - # Repeat for everything but the root item - # and first level children of a namespace. - if (item != self.root and parent != self.root) \ - or (parent == self.root and not self.rootIsNamespace): - name = self.getFullName(parent, partial=name) - return name - - def setText(self, text): - """Display information about the current selection.""" - - # This method will likely be replaced by the enclosing app to - # do something more interesting, like write to a text control. - print text - - def setStatusText(self, text): - """Display status information.""" - - # This method will likely be replaced by the enclosing app to - # do something more interesting, like write to a status bar. - print text - - -if wx.wxPlatform == '__WXMSW__': - faces = { 'times' : 'Times New Roman', - 'mono' : 'Courier New', - 'helv' : 'Lucida Console', - 'lucida' : 'Lucida Console', - 'other' : 'Comic Sans MS', - 'size' : 10, - 'lnsize' : 9, - 'backcol': '#FFFFFF', - } -else: # GTK - faces = { 'times' : 'Times', - 'mono' : 'Courier', - 'helv' : 'Helvetica', - 'other' : 'new century schoolbook', - 'size' : 12, - 'lnsize' : 10, - 'backcol': '#FFFFFF', - } - - -class FillingText(stc.wxStyledTextCtrl): - """PyCrust FillingText based on wxStyledTextCtrl.""" - - name = 'PyCrust Filling Text' - revision = __revision__ - - def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition, - size=wx.wxDefaultSize, style=wx.wxCLIP_CHILDREN, - static=False): - """Create a PyCrust FillingText instance.""" - stc.wxStyledTextCtrl.__init__(self, parent, id, pos, size, style) - # Configure various defaults and user preferences. - self.config() - dispatcher.connect(receiver=self.fontsizer, signal='FontIncrease') - dispatcher.connect(receiver=self.fontsizer, signal='FontDecrease') - dispatcher.connect(receiver=self.fontsizer, signal='FontDefault') - if not static: - dispatcher.connect(receiver=self.push, signal='Interpreter.push') - - def push(self, command, more): - """Receiver for Interpreter.push signal.""" - self.Refresh() - - def fontsizer(self, signal): - """Receiver for Font* signals.""" - size = self.GetZoom() - if signal == 'FontIncrease': - size += 1 - elif signal == 'FontDecrease': - size -= 1 - elif signal == 'FontDefault': - size = 0 - self.SetZoom(size) - - def config(self): - """Configure shell based on user preferences.""" - self.SetMarginWidth(1, 0) - - self.SetLexer(stc.wxSTC_LEX_PYTHON) - self.SetKeyWords(0, ' '.join(keyword.kwlist)) - - self.setStyles(faces) - self.SetViewWhiteSpace(0) - self.SetTabWidth(4) - self.SetUseTabs(0) - self.SetReadOnly(1) - try: - self.SetWrapMode(1) - except AttributeError: - pass - - def setStyles(self, faces): - """Configure font size, typeface and color for lexer.""" - - # Default style - self.StyleSetSpec(stc.wxSTC_STYLE_DEFAULT, - "face:%(mono)s,size:%(size)d" % faces) - - self.StyleClearAll() - - # Built in styles - self.StyleSetSpec(stc.wxSTC_STYLE_LINENUMBER, - "back:#C0C0C0,face:%(mono)s,size:%(lnsize)d" % faces) - self.StyleSetSpec(stc.wxSTC_STYLE_CONTROLCHAR, - "face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_STYLE_BRACELIGHT, - "fore:#0000FF,back:#FFFF88") - self.StyleSetSpec(stc.wxSTC_STYLE_BRACEBAD, - "fore:#FF0000,back:#FFFF88") - - # Python styles - self.StyleSetSpec(stc.wxSTC_P_DEFAULT, - "face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_COMMENTLINE, - "fore:#007F00,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_NUMBER, - "") - self.StyleSetSpec(stc.wxSTC_P_STRING, - "fore:#7F007F,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_CHARACTER, - "fore:#7F007F,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_WORD, - "fore:#00007F,bold") - self.StyleSetSpec(stc.wxSTC_P_TRIPLE, - "fore:#7F0000") - self.StyleSetSpec(stc.wxSTC_P_TRIPLEDOUBLE, - "fore:#000033,back:#FFFFE8") - self.StyleSetSpec(stc.wxSTC_P_CLASSNAME, - "fore:#0000FF,bold") - self.StyleSetSpec(stc.wxSTC_P_DEFNAME, - "fore:#007F7F,bold") - self.StyleSetSpec(stc.wxSTC_P_OPERATOR, - "") - self.StyleSetSpec(stc.wxSTC_P_IDENTIFIER, - "") - self.StyleSetSpec(stc.wxSTC_P_COMMENTBLOCK, - "fore:#7F7F7F") - self.StyleSetSpec(stc.wxSTC_P_STRINGEOL, - "fore:#000000,face:%(mono)s,back:#E0C0E0,eolfilled" % faces) - - def SetText(self, *args, **kwds): - self.SetReadOnly(0) - stc.wxStyledTextCtrl.SetText(self, *args, **kwds) - self.SetReadOnly(1) - - -class Filling(wx.wxSplitterWindow): - """PyCrust Filling based on wxSplitterWindow.""" - - name = 'PyCrust Filling' - revision = __revision__ - - def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition, - size=wx.wxDefaultSize, style=wx.wxSP_3D, - name='Filling Window', rootObject=None, - rootLabel=None, rootIsNamespace=0, static=False): - """Create a PyCrust Filling instance.""" - wx.wxSplitterWindow.__init__(self, parent, id, pos, size, style, name) - self.tree = FillingTree(parent=self, rootObject=rootObject, - rootLabel=rootLabel, - rootIsNamespace=rootIsNamespace, - static=static) - self.text = FillingText(parent=self, static=static) - self.SplitVertically(self.tree, self.text, 200) - self.SetMinimumPaneSize(1) - # Override the filling so that descriptions go to FillingText. - self.tree.setText = self.text.SetText - # Display the root item. -## self.tree.SelectItem(self.tree.root) - self.tree.display() - - -class FillingFrame(wx.wxFrame): - """Frame containing the PyCrust filling, or namespace tree component.""" - - name = 'PyCrust Filling Frame' - revision = __revision__ - - def __init__(self, parent=None, id=-1, title='PyFilling', - pos=wx.wxDefaultPosition, size=wx.wxDefaultSize, - style=wx.wxDEFAULT_FRAME_STYLE, rootObject=None, - rootLabel=None, rootIsNamespace=0, static=False): - """Create a PyCrust FillingFrame instance.""" - wx.wxFrame.__init__(self, parent, id, title, pos, size, style) - intro = 'PyFilling - The Tastiest Namespace Inspector' - self.CreateStatusBar() - self.SetStatusText(intro) - import images - self.SetIcon(images.getPyCrustIcon()) - self.filling = Filling(parent=self, rootObject=rootObject, - rootLabel=rootLabel, - rootIsNamespace=rootIsNamespace, - static=static) - # Override so that status messages go to the status bar. - self.filling.tree.setStatusText = self.SetStatusText - - -class App(wx.wxApp): - """PyFilling standalone application.""" - - def OnInit(self): - wx.wxInitAllImageHandlers() - self.fillingFrame = FillingFrame() - self.fillingFrame.Show(True) - self.SetTopWindow(self.fillingFrame) - return True - - - - diff --git a/wxPython/wxPython/lib/PyCrust/shell.py b/wxPython/wxPython/lib/PyCrust/shell.py index f522356f09..2640aac7ec 100644 --- a/wxPython/wxPython/lib/PyCrust/shell.py +++ b/wxPython/wxPython/lib/PyCrust/shell.py @@ -1,1187 +1,3 @@ -"""The PyCrust Shell is an interactive text control in which a user -types in commands to be sent to the interpreter. This particular shell -is based on wxPython's wxStyledTextCtrl. The latest files are always -available at the SourceForge project page at -http://sourceforge.net/projects/pycrust/. -Sponsored by Orbtech - Your source for Python programming expertise.""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -import keyword -import os -import sys -import time -from pseudo import PseudoFileIn -from pseudo import PseudoFileOut -from pseudo import PseudoFileErr -from shellmenu import ShellMenu -from version import VERSION -import dispatcher - -try: - import wxd.d_wx -except ImportError: - from wxPython import wx -else: - from wxd.d_wx import wx - -try: - import wxd.d_stc -except ImportError: - from wxPython import stc -else: - from wxd.d_stc import stc - -try: - True -except NameError: - True = 1==1 - False = 1==0 - -sys.ps3 = '<-- ' # Input prompt. - -NAVKEYS = (wx.WXK_END, wx.WXK_LEFT, wx.WXK_RIGHT, - wx.WXK_UP, wx.WXK_DOWN, wx.WXK_PRIOR, wx.WXK_NEXT) - -if wx.wxPlatform == '__WXMSW__': - faces = { 'times' : 'Times New Roman', - 'mono' : 'Courier New', - 'helv' : 'Lucida Console', - 'lucida' : 'Lucida Console', - 'other' : 'Comic Sans MS', - 'size' : 10, - 'lnsize' : 9, - 'backcol': '#FFFFFF', - } -else: # GTK - faces = { 'times' : 'Times', - 'mono' : 'Courier', - 'helv' : 'Helvetica', - 'other' : 'new century schoolbook', - 'size' : 12, - 'lnsize' : 10, - 'backcol': '#FFFFFF', - } - - -class ShellFrame(wx.wxFrame, ShellMenu): - """Frame containing the PyCrust shell component.""" - - name = 'PyCrust Shell Frame' - revision = __revision__ - - def __init__(self, parent=None, id=-1, title='PyShell', - pos=wx.wxDefaultPosition, size=wx.wxDefaultSize, - style=wx.wxDEFAULT_FRAME_STYLE, locals=None, - InterpClass=None, *args, **kwds): - """Create a PyCrust ShellFrame instance.""" - wx.wxFrame.__init__(self, parent, id, title, pos, size, style) - intro = 'PyCrust %s - The Flakiest Python Shell' % VERSION - intro += '\nSponsored by Orbtech - ' + \ - 'Your source for Python programming expertise.' - self.CreateStatusBar() - self.SetStatusText(intro.replace('\n', ', ')) - import images - self.SetIcon(images.getPyCrustIcon()) - self.shell = Shell(parent=self, id=-1, introText=intro, - locals=locals, InterpClass=InterpClass, - *args, **kwds) - # Override the shell so that status messages go to the status bar. - self.shell.setStatusText = self.SetStatusText - self.createMenus() - wx.EVT_CLOSE(self, self.OnCloseWindow) - - def OnCloseWindow(self, event): - """Event handler for closing.""" - # This isn't working the way I want, but I'll leave it for now. - if self.shell.waiting: - event.Veto(True) - else: - self.shell.destroy() - self.Destroy() - - -class ShellFacade: - """Simplified interface to all shell-related functionality. - - This is a semi-transparent facade, in that all attributes of other - are accessible, even though only some are visible to the user.""" - - name = 'PyCrust Shell Interface' - revision = __revision__ - - def __init__(self, other): - """Create a ShellFacade instance.""" - methods = [ - 'about', - 'ask', - 'clear', - 'pause', - 'prompt', - 'quit', - 'redirectStderr', - 'redirectStdin', - 'redirectStdout', - 'run', - 'runfile', - 'wrap', - 'zoom', - ] - for method in methods: - self.__dict__[method] = getattr(other, method) - d = self.__dict__ - d['other'] = other - d['helpText'] = \ -""" -* Key bindings: -Home Go to the beginning of the command or line. -Shift+Home Select to the beginning of the command or line. -Shift+End Select to the end of the line. -End Go to the end of the line. -Ctrl+C Copy selected text, removing prompts. -Ctrl+Shift+C Copy selected text, retaining prompts. -Ctrl+X Cut selected text. -Ctrl+V Paste from clipboard. -Ctrl+Shift+V Paste and run multiple commands from clipboard. -Ctrl+Up Arrow Retrieve Previous History item. -Alt+P Retrieve Previous History item. -Ctrl+Down Arrow Retrieve Next History item. -Alt+N Retrieve Next History item. -Shift+Up Arrow Insert Previous History item. -Shift+Down Arrow Insert Next History item. -F8 Command-completion of History item. - (Type a few characters of a previous command and press F8.) -Ctrl+Enter Insert new line into multiline command. -Ctrl+] Increase font size. -Ctrl+[ Decrease font size. -Ctrl+= Default font size. -""" - - def help(self): - """Display some useful information about how to use the shell.""" - self.write(self.helpText) - - def __getattr__(self, name): - if hasattr(self.other, name): - return getattr(self.other, name) - else: - raise AttributeError, name - - def __setattr__(self, name, value): - if self.__dict__.has_key(name): - self.__dict__[name] = value - elif hasattr(self.other, name): - setattr(self.other, name, value) - else: - raise AttributeError, name - - def _getAttributeNames(self): - """Return list of magic attributes to extend introspection.""" - list = ['autoCallTip', - 'autoComplete', - 'autoCompleteCaseInsensitive', - 'autoCompleteIncludeDouble', - 'autoCompleteIncludeMagic', - 'autoCompleteIncludeSingle', - ] - list.sort() - return list - - -class Shell(stc.wxStyledTextCtrl): - """PyCrust Shell based on wxStyledTextCtrl.""" - - name = 'PyCrust Shell' - revision = __revision__ - - def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition, - size=wx.wxDefaultSize, style=wx.wxCLIP_CHILDREN, - introText='', locals=None, InterpClass=None, *args, **kwds): - """Create a PyCrust Shell instance.""" - stc.wxStyledTextCtrl.__init__(self, parent, id, pos, size, style) - if locals is None: - locals = {} - # Grab these so they can be restored by self.redirect* methods. - self.stdin = sys.stdin - self.stdout = sys.stdout - self.stderr = sys.stderr - # Add the current working directory "." to the search path. - sys.path.insert(0, os.curdir) - # Import a default interpreter class if one isn't provided. - if InterpClass == None: - from interpreter import Interpreter - else: - Interpreter = InterpClass - # Create a replacement for stdin. - self.reader = PseudoFileIn(self.readline, self.readlines) - self.reader.input = '' - self.reader.isreading = 0 - # Set up the interpreter. - self.interp = Interpreter(locals=locals, - rawin=self.raw_input, - stdin=self.reader, - stdout=PseudoFileOut(self.writeOut), - stderr=PseudoFileErr(self.writeErr), - *args, **kwds) - # Find out for which keycodes the interpreter will autocomplete. - self.autoCompleteKeys = self.interp.getAutoCompleteKeys() - # Keep track of the last non-continuation prompt positions. - self.promptPosStart = 0 - self.promptPosEnd = 0 - # Keep track of multi-line commands. - self.more = 0 - # Create the command history. Commands are added into the - # front of the list (ie. at index 0) as they are entered. - # self.historyIndex is the current position in the history; it - # gets incremented as you retrieve the previous command, - # decremented as you retrieve the next, and reset when you hit - # Enter. self.historyIndex == -1 means you're on the current - # command, not in the history. - self.history = [] - self.historyIndex = -1 - # Assign handlers for keyboard events. - wx.EVT_KEY_DOWN(self, self.OnKeyDown) - wx.EVT_CHAR(self, self.OnChar) - # Assign handlers for wxSTC events. - stc.EVT_STC_UPDATEUI(self, id, self.OnUpdateUI) - # Assign handler for idle time. - self.waiting = False - wx.EVT_IDLE(self, self.OnIdle) - dispatcher.connect(receiver=self.fontsizer, signal='FontIncrease') - dispatcher.connect(receiver=self.fontsizer, signal='FontDecrease') - dispatcher.connect(receiver=self.fontsizer, signal='FontDefault') - # Configure various defaults and user preferences. - self.config() - # Display the introductory banner information. - self.showIntro(introText) - # Assign some pseudo keywords to the interpreter's namespace. - self.setBuiltinKeywords() - # Add 'shell' to the interpreter's local namespace. - self.setLocalShell() - # Do this last so the user has complete control over their - # environment. They can override anything they want. - self.execStartupScript(self.interp.startupScript) - wx.wxCallAfter(self.ScrollToLine, 0) - - def fontsizer(self, signal): - """Receiver for Font* signals.""" - size = self.GetZoom() - if signal == 'FontIncrease': - size += 1 - elif signal == 'FontDecrease': - size -= 1 - elif signal == 'FontDefault': - size = 0 - self.SetZoom(size) - - def destroy(self): - del self.interp - pass - - def config(self): - """Configure shell based on user preferences.""" - self.SetMarginType(1, stc.wxSTC_MARGIN_NUMBER) - self.SetMarginWidth(1, 40) - - self.SetLexer(stc.wxSTC_LEX_PYTHON) - self.SetKeyWords(0, ' '.join(keyword.kwlist)) - - self.setStyles(faces) - self.SetViewWhiteSpace(0) - self.SetTabWidth(4) - self.SetUseTabs(0) - # Do we want to automatically pop up command completion options? - self.autoComplete = 1 - self.autoCompleteIncludeMagic = 1 - self.autoCompleteIncludeSingle = 1 - self.autoCompleteIncludeDouble = 1 - self.autoCompleteCaseInsensitive = 1 - self.AutoCompSetIgnoreCase(self.autoCompleteCaseInsensitive) - self.AutoCompSetAutoHide(False) - self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`') - # Do we want to automatically pop up command argument help? - self.autoCallTip = 1 - self.CallTipSetBackground(wx.wxColour(255, 255, 232)) - self.wrap() - try: - self.SetEndAtLastLine(False) - except AttributeError: - pass - - def showIntro(self, text=''): - """Display introductory text in the shell.""" - if text: - if not text.endswith(os.linesep): - text += os.linesep - self.write(text) - try: - self.write(self.interp.introText) - except AttributeError: - pass - - def setBuiltinKeywords(self): - """Create pseudo keywords as part of builtins. - - This sets `close`, `exit` and `quit` to a helpful string. - """ - import __builtin__ - __builtin__.close = __builtin__.exit = __builtin__.quit = \ - 'Click on the close button to leave the application.' - - def quit(self): - """Quit the application.""" - - # XXX Good enough for now but later we want to send a close event. - - # In the close event handler we can make sure they want to - # quit. Other applications, like PythonCard, may choose to - # hide rather than quit so we should just post the event and - # let the surrounding app decide what it wants to do. - self.write('Click on the close button to leave the application.') - - def setLocalShell(self): - """Add 'shell' to locals as reference to ShellFacade instance.""" - self.interp.locals['shell'] = ShellFacade(other=self) - - def execStartupScript(self, startupScript): - """Execute the user's PYTHONSTARTUP script if they have one.""" - if startupScript and os.path.isfile(startupScript): - text = 'Startup script executed: ' + startupScript - self.push('print %r; execfile(%r)' % (text, startupScript)) - else: - self.push('') - - def setStyles(self, faces): - """Configure font size, typeface and color for lexer.""" - - # Default style - self.StyleSetSpec(stc.wxSTC_STYLE_DEFAULT, - "face:%(mono)s,size:%(size)d,back:%(backcol)s" % \ - faces) - - self.StyleClearAll() - - # Built in styles - self.StyleSetSpec(stc.wxSTC_STYLE_LINENUMBER, - "back:#C0C0C0,face:%(mono)s,size:%(lnsize)d" % faces) - self.StyleSetSpec(stc.wxSTC_STYLE_CONTROLCHAR, - "face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_STYLE_BRACELIGHT, - "fore:#0000FF,back:#FFFF88") - self.StyleSetSpec(stc.wxSTC_STYLE_BRACEBAD, - "fore:#FF0000,back:#FFFF88") - - # Python styles - self.StyleSetSpec(stc.wxSTC_P_DEFAULT, - "face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_COMMENTLINE, - "fore:#007F00,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_NUMBER, - "") - self.StyleSetSpec(stc.wxSTC_P_STRING, - "fore:#7F007F,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_CHARACTER, - "fore:#7F007F,face:%(mono)s" % faces) - self.StyleSetSpec(stc.wxSTC_P_WORD, - "fore:#00007F,bold") - self.StyleSetSpec(stc.wxSTC_P_TRIPLE, - "fore:#7F0000") - self.StyleSetSpec(stc.wxSTC_P_TRIPLEDOUBLE, - "fore:#000033,back:#FFFFE8") - self.StyleSetSpec(stc.wxSTC_P_CLASSNAME, - "fore:#0000FF,bold") - self.StyleSetSpec(stc.wxSTC_P_DEFNAME, - "fore:#007F7F,bold") - self.StyleSetSpec(stc.wxSTC_P_OPERATOR, - "") - self.StyleSetSpec(stc.wxSTC_P_IDENTIFIER, - "") - self.StyleSetSpec(stc.wxSTC_P_COMMENTBLOCK, - "fore:#7F7F7F") - self.StyleSetSpec(stc.wxSTC_P_STRINGEOL, - "fore:#000000,face:%(mono)s,back:#E0C0E0,eolfilled" % faces) - - def about(self): - """Display information about PyCrust.""" - text = """ -Author: %r -PyCrust Version: %s -Shell Revision: %s -Interpreter Revision: %s -Python Version: %s -wxPython Version: %s -Platform: %s""" % \ - (__author__, VERSION, self.revision, self.interp.revision, - sys.version.split()[0], wx.__version__, sys.platform) - self.write(text.strip()) - - def OnIdle(self, event): - """Free the CPU to do other things.""" - if self.waiting: - time.sleep(0.05) - - def OnUpdateUI(self, event): - """Check for matching braces.""" - # If the auto-complete window is up let it do its thing. - if self.AutoCompActive(): - return - braceAtCaret = -1 - braceOpposite = -1 - charBefore = None - caretPos = self.GetCurrentPos() - if caretPos > 0: - charBefore = self.GetCharAt(caretPos - 1) - styleBefore = self.GetStyleAt(caretPos - 1) - - # Check before. - if charBefore and chr(charBefore) in '[]{}()' \ - and styleBefore == stc.wxSTC_P_OPERATOR: - braceAtCaret = caretPos - 1 - - # Check after. - if braceAtCaret < 0: - charAfter = self.GetCharAt(caretPos) - styleAfter = self.GetStyleAt(caretPos) - if charAfter and chr(charAfter) in '[]{}()' \ - and styleAfter == stc.wxSTC_P_OPERATOR: - braceAtCaret = caretPos - - if braceAtCaret >= 0: - braceOpposite = self.BraceMatch(braceAtCaret) - - if braceAtCaret != -1 and braceOpposite == -1: - self.BraceBadLight(braceAtCaret) - else: - self.BraceHighlight(braceAtCaret, braceOpposite) - - def OnChar(self, event): - """Keypress event handler. - - Only receives an event if OnKeyDown calls event.Skip() for the - corresponding event.""" - - # Prevent modification of previously submitted - # commands/responses. - if not self.CanEdit(): - return - key = event.KeyCode() - currpos = self.GetCurrentPos() - stoppos = self.promptPosEnd - # Return (Enter) needs to be ignored in this handler. - if key == wx.WXK_RETURN: - pass - elif key in self.autoCompleteKeys: - # Usually the dot (period) key activates auto completion. - # Get the command between the prompt and the cursor. Add - # the autocomplete character to the end of the command. - if self.AutoCompActive(): - self.AutoCompCancel() - command = self.GetTextRange(stoppos, currpos) + chr(key) - self.write(chr(key)) - if self.autoComplete: - self.autoCompleteShow(command) - elif key == ord('('): - # The left paren activates a call tip and cancels an - # active auto completion. - if self.AutoCompActive(): - self.AutoCompCancel() - # Get the command between the prompt and the cursor. Add - # the '(' to the end of the command. - self.ReplaceSelection('') - command = self.GetTextRange(stoppos, currpos) + '(' - self.write('(') - if self.autoCallTip: - self.autoCallTipShow(command) - else: - # Allow the normal event handling to take place. - event.Skip() - - def OnKeyDown(self, event): - """Key down event handler.""" - - key = event.KeyCode() - # If the auto-complete window is up let it do its thing. - if self.AutoCompActive(): - event.Skip() - return - # Prevent modification of previously submitted - # commands/responses. - controlDown = event.ControlDown() - altDown = event.AltDown() - shiftDown = event.ShiftDown() - currpos = self.GetCurrentPos() - endpos = self.GetTextLength() - selecting = self.GetSelectionStart() != self.GetSelectionEnd() - # Return (Enter) is used to submit a command to the - # interpreter. - if not controlDown and key == wx.WXK_RETURN: - if self.CallTipActive(): - self.CallTipCancel() - self.processLine() - # Ctrl+Return (Cntrl+Enter) is used to insert a line break. - elif controlDown and key == wx.WXK_RETURN: - if self.CallTipActive(): - self.CallTipCancel() - if currpos == endpos: - self.processLine() - else: - self.insertLineBreak() - # Let Ctrl-Alt-* get handled normally. - elif controlDown and altDown: - event.Skip() - # Clear the current, unexecuted command. - elif key == wx.WXK_ESCAPE: - if self.CallTipActive(): - event.Skip() - else: - self.clearCommand() - # Increase font size. - elif controlDown and key in (ord(']'),): - dispatcher.send(signal='FontIncrease') - # Decrease font size. - elif controlDown and key in (ord('['),): - dispatcher.send(signal='FontDecrease') - # Default font size. - elif controlDown and key in (ord('='),): - dispatcher.send(signal='FontDefault') - # Cut to the clipboard. - elif (controlDown and key in (ord('X'), ord('x'))) \ - or (shiftDown and key == wx.WXK_DELETE): - self.Cut() - # Copy to the clipboard. - elif controlDown and not shiftDown \ - and key in (ord('C'), ord('c'), wx.WXK_INSERT): - self.Copy() - # Copy to the clipboard, including prompts. - elif controlDown and shiftDown \ - and key in (ord('C'), ord('c'), wx.WXK_INSERT): - self.CopyWithPrompts() - # Copy to the clipboard, including prefixed prompts. - elif altDown and not controlDown \ - and key in (ord('C'), ord('c'), wx.WXK_INSERT): - self.CopyWithPromptsPrefixed() - # Home needs to be aware of the prompt. - elif key == wx.WXK_HOME: - home = self.promptPosEnd - if currpos > home: - self.SetCurrentPos(home) - if not selecting and not shiftDown: - self.SetAnchor(home) - self.EnsureCaretVisible() - else: - event.Skip() - # - # The following handlers modify text, so we need to see if - # there is a selection that includes text prior to the prompt. - # - # Don't modify a selection with text prior to the prompt. - elif selecting and key not in NAVKEYS and not self.CanEdit(): - pass - # Paste from the clipboard. - elif (controlDown and not shiftDown and key in (ord('V'), ord('v'))) \ - or (shiftDown and not controlDown and key == wx.WXK_INSERT): - self.Paste() - # Paste from the clipboard, run commands. - elif controlDown and shiftDown and key in (ord('V'), ord('v')): - self.PasteAndRun() - # Replace with the previous command from the history buffer. - elif (controlDown and key == wx.WXK_UP) \ - or (altDown and key in (ord('P'), ord('p'))): - self.OnHistoryReplace(step=+1) - # Replace with the next command from the history buffer. - elif (controlDown and key == wx.WXK_DOWN) \ - or (altDown and key in (ord('N'), ord('n'))): - self.OnHistoryReplace(step=-1) - # Insert the previous command from the history buffer. - elif (shiftDown and key == wx.WXK_UP) and self.CanEdit(): - self.OnHistoryInsert(step=+1) - # Insert the next command from the history buffer. - elif (shiftDown and key == wx.WXK_DOWN) and self.CanEdit(): - self.OnHistoryInsert(step=-1) - # Search up the history for the text in front of the cursor. - elif key == wx.WXK_F8: - self.OnHistorySearch() - # Don't backspace over the latest non-continuation prompt. - elif key == wx.WXK_BACK: - if selecting and self.CanEdit(): - event.Skip() - elif currpos > self.promptPosEnd: - event.Skip() - # Only allow these keys after the latest prompt. - elif key in (wx.WXK_TAB, wx.WXK_DELETE): - if self.CanEdit(): - event.Skip() - # Don't toggle between insert mode and overwrite mode. - elif key == wx.WXK_INSERT: - pass - # Don't allow line deletion. - elif controlDown and key in (ord('L'), ord('l')): - pass - # Don't allow line transposition. - elif controlDown and key in (ord('T'), ord('t')): - pass - # Basic navigation keys should work anywhere. - elif key in NAVKEYS: - event.Skip() - # Protect the readonly portion of the shell. - elif not self.CanEdit(): - pass - else: - event.Skip() - - def clearCommand(self): - """Delete the current, unexecuted command.""" - startpos = self.promptPosEnd - endpos = self.GetTextLength() - self.SetSelection(startpos, endpos) - self.ReplaceSelection('') - self.more = 0 - - def OnHistoryReplace(self, step): - """Replace with the previous/next command from the history buffer.""" - self.clearCommand() - self.replaceFromHistory(step) - - def replaceFromHistory(self, step): - """Replace selection with command from the history buffer.""" - ps2 = str(sys.ps2) - self.ReplaceSelection('') - newindex = self.historyIndex + step - if -1 <= newindex <= len(self.history): - self.historyIndex = newindex - if 0 <= newindex <= len(self.history)-1: - command = self.history[self.historyIndex] - command = command.replace('\n', os.linesep + ps2) - self.ReplaceSelection(command) - - def OnHistoryInsert(self, step): - """Insert the previous/next command from the history buffer.""" - if not self.CanEdit(): - return - startpos = self.GetCurrentPos() - self.replaceFromHistory(step) - endpos = self.GetCurrentPos() - self.SetSelection(endpos, startpos) - - def OnHistorySearch(self): - """Search up the history buffer for the text in front of the cursor.""" - if not self.CanEdit(): - return - startpos = self.GetCurrentPos() - # The text up to the cursor is what we search for. - numCharsAfterCursor = self.GetTextLength() - startpos - searchText = self.getCommand(rstrip=0) - if numCharsAfterCursor > 0: - searchText = searchText[:-numCharsAfterCursor] - if not searchText: - return - # Search upwards from the current history position and loop - # back to the beginning if we don't find anything. - if (self.historyIndex <= -1) \ - or (self.historyIndex >= len(self.history)-2): - searchOrder = range(len(self.history)) - else: - searchOrder = range(self.historyIndex+1, len(self.history)) + \ - range(self.historyIndex) - for i in searchOrder: - command = self.history[i] - if command[:len(searchText)] == searchText: - # Replace the current selection with the one we found. - self.ReplaceSelection(command[len(searchText):]) - endpos = self.GetCurrentPos() - self.SetSelection(endpos, startpos) - # We've now warped into middle of the history. - self.historyIndex = i - break - - def setStatusText(self, text): - """Display status information.""" - - # This method will likely be replaced by the enclosing app to - # do something more interesting, like write to a status bar. - print text - - def insertLineBreak(self): - """Insert a new line break.""" - if self.CanEdit(): - self.write(os.linesep) - self.more = 1 - self.prompt() - - def processLine(self): - """Process the line of text at which the user hit Enter.""" - - # The user hit ENTER and we need to decide what to do. They - # could be sitting on any line in the shell. - - thepos = self.GetCurrentPos() - startpos = self.promptPosEnd - endpos = self.GetTextLength() - ps2 = str(sys.ps2) - # If they hit RETURN inside the current command, execute the - # command. - if self.CanEdit(): - self.SetCurrentPos(endpos) - self.interp.more = 0 - command = self.GetTextRange(startpos, endpos) - lines = command.split(os.linesep + ps2) - lines = [line.rstrip() for line in lines] - command = '\n'.join(lines) - if self.reader.isreading: - if not command: - # Match the behavior of the standard Python shell - # when the user hits return without entering a - # value. - command = '\n' - self.reader.input = command - self.write(os.linesep) - else: - self.push(command) - # Or replace the current command with the other command. - else: - # If the line contains a command (even an invalid one). - if self.getCommand(rstrip=0): - command = self.getMultilineCommand() - self.clearCommand() - self.write(command) - # Otherwise, put the cursor back where we started. - else: - self.SetCurrentPos(thepos) - self.SetAnchor(thepos) - - def getMultilineCommand(self, rstrip=1): - """Extract a multi-line command from the editor. - - The command may not necessarily be valid Python syntax.""" - # XXX Need to extract real prompts here. Need to keep track of - # the prompt every time a command is issued. - ps1 = str(sys.ps1) - ps1size = len(ps1) - ps2 = str(sys.ps2) - ps2size = len(ps2) - # This is a total hack job, but it works. - text = self.GetCurLine()[0] - line = self.GetCurrentLine() - while text[:ps2size] == ps2 and line > 0: - line -= 1 - self.GotoLine(line) - text = self.GetCurLine()[0] - if text[:ps1size] == ps1: - line = self.GetCurrentLine() - self.GotoLine(line) - startpos = self.GetCurrentPos() + ps1size - line += 1 - self.GotoLine(line) - while self.GetCurLine()[0][:ps2size] == ps2: - line += 1 - self.GotoLine(line) - stoppos = self.GetCurrentPos() - command = self.GetTextRange(startpos, stoppos) - command = command.replace(os.linesep + ps2, '\n') - command = command.rstrip() - command = command.replace('\n', os.linesep + ps2) - else: - command = '' - if rstrip: - command = command.rstrip() - return command - - def getCommand(self, text=None, rstrip=1): - """Extract a command from text which may include a shell prompt. - - The command may not necessarily be valid Python syntax.""" - if not text: - text = self.GetCurLine()[0] - # Strip the prompt off the front leaving just the command. - command = self.lstripPrompt(text) - if command == text: - command = '' # Real commands have prompts. - if rstrip: - command = command.rstrip() - return command - - def lstripPrompt(self, text): - """Return text without a leading prompt.""" - ps1 = str(sys.ps1) - ps1size = len(ps1) - ps2 = str(sys.ps2) - ps2size = len(ps2) - # Strip the prompt off the front of text. - if text[:ps1size] == ps1: - text = text[ps1size:] - elif text[:ps2size] == ps2: - text = text[ps2size:] - return text - - def push(self, command): - """Send command to the interpreter for execution.""" - self.write(os.linesep) - busy = wx.wxBusyCursor() - self.waiting = True - self.more = self.interp.push(command) - self.waiting = False - del busy - if not self.more: - self.addHistory(command.rstrip()) - self.prompt() - - def addHistory(self, command): - """Add command to the command history.""" - # Reset the history position. - self.historyIndex = -1 - # Insert this command into the history, unless it's a blank - # line or the same as the last command. - if command != '' \ - and (len(self.history) == 0 or command != self.history[0]): - self.history.insert(0, command) - - def write(self, text): - """Display text in the shell. - - Replace line endings with OS-specific endings.""" - text = self.fixLineEndings(text) - self.AddText(text) - self.EnsureCaretVisible() - - def fixLineEndings(self, text): - """Return text with line endings replaced by OS-specific endings.""" - lines = text.split('\r\n') - for l in range(len(lines)): - chunks = lines[l].split('\r') - for c in range(len(chunks)): - chunks[c] = os.linesep.join(chunks[c].split('\n')) - lines[l] = os.linesep.join(chunks) - text = os.linesep.join(lines) - return text - - def prompt(self): - """Display proper prompt for the context: ps1, ps2 or ps3. - - If this is a continuation line, autoindent as necessary.""" - isreading = self.reader.isreading - skip = 0 - if isreading: - prompt = str(sys.ps3) - elif self.more: - prompt = str(sys.ps2) - else: - prompt = str(sys.ps1) - pos = self.GetCurLine()[1] - if pos > 0: - if isreading: - skip = 1 - else: - self.write(os.linesep) - if not self.more: - self.promptPosStart = self.GetCurrentPos() - if not skip: - self.write(prompt) - if not self.more: - self.promptPosEnd = self.GetCurrentPos() - # Keep the undo feature from undoing previous responses. - self.EmptyUndoBuffer() - # XXX Add some autoindent magic here if more. - if self.more: - self.write(' '*4) # Temporary hack indentation. - self.EnsureCaretVisible() - self.ScrollToColumn(0) - - def readline(self): - """Replacement for stdin.readline().""" - input = '' - reader = self.reader - reader.isreading = 1 - self.prompt() - try: - while not reader.input: - wx.wxYieldIfNeeded() - input = reader.input - finally: - reader.input = '' - reader.isreading = 0 - input = str(input) # In case of Unicode. - return input - - def readlines(self): - """Replacement for stdin.readlines().""" - lines = [] - while lines[-1:] != ['\n']: - lines.append(self.readline()) - return lines - - def raw_input(self, prompt=''): - """Return string based on user input.""" - if prompt: - self.write(prompt) - return self.readline() - - def ask(self, prompt='Please enter your response:'): - """Get response from the user using a dialog box.""" - dialog = wx.wxTextEntryDialog(None, prompt, - 'Input Dialog (Raw)', '') - try: - if dialog.ShowModal() == wx.wxID_OK: - text = dialog.GetValue() - return text - finally: - dialog.Destroy() - return '' - - def pause(self): - """Halt execution pending a response from the user.""" - self.ask('Press enter to continue:') - - def clear(self): - """Delete all text from the shell.""" - self.ClearAll() - - def run(self, command, prompt=1, verbose=1): - """Execute command as if it was typed in directly. - >>> shell.run('print "this"') - >>> print "this" - this - >>> - """ - # Go to the very bottom of the text. - endpos = self.GetTextLength() - self.SetCurrentPos(endpos) - command = command.rstrip() - if prompt: self.prompt() - if verbose: self.write(command) - self.push(command) - - def runfile(self, filename): - """Execute all commands in file as if they were typed into the - shell.""" - file = open(filename) - try: - self.prompt() - for command in file.readlines(): - if command[:6] == 'shell.': - # Run shell methods silently. - self.run(command, prompt=0, verbose=0) - else: - self.run(command, prompt=0, verbose=1) - finally: - file.close() - - def autoCompleteShow(self, command): - """Display auto-completion popup list.""" - list = self.interp.getAutoCompleteList(command, - includeMagic=self.autoCompleteIncludeMagic, - includeSingle=self.autoCompleteIncludeSingle, - includeDouble=self.autoCompleteIncludeDouble) - if list and len(list) < 2000: - options = ' '.join(list) - offset = 0 - self.AutoCompShow(offset, options) - - def autoCallTipShow(self, command): - """Display argument spec and docstring in a popup window.""" - if self.CallTipActive(): - self.CallTipCancel() - (name, argspec, tip) = self.interp.getCallTip(command) - if argspec: - startpos = self.GetCurrentPos() - self.write(argspec + ')') - endpos = self.GetCurrentPos() - self.SetSelection(endpos, startpos) - if tip: - curpos = self.GetCurrentPos() - tippos = curpos - (len(name) + 1) - fallback = curpos - self.GetColumn(curpos) - # In case there isn't enough room, only go back to the - # fallback. - tippos = max(tippos, fallback) - dispatcher.send(signal='Shell.calltip', sender=self, calltip=tip) - self.CallTipShow(tippos, tip) - - def writeOut(self, text): - """Replacement for stdout.""" - self.write(text) - - def writeErr(self, text): - """Replacement for stderr.""" - self.write(text) - - def redirectStdin(self, redirect=1): - """If redirect is true then sys.stdin will come from the shell.""" - if redirect: - sys.stdin = self.reader - else: - sys.stdin = self.stdin - - def redirectStdout(self, redirect=1): - """If redirect is true then sys.stdout will go to the shell.""" - if redirect: - sys.stdout = PseudoFileOut(self.writeOut) - else: - sys.stdout = self.stdout - - def redirectStderr(self, redirect=1): - """If redirect is true then sys.stderr will go to the shell.""" - if redirect: - sys.stderr = PseudoFileErr(self.writeErr) - else: - sys.stderr = self.stderr - - def CanCut(self): - """Return true if text is selected and can be cut.""" - if self.GetSelectionStart() != self.GetSelectionEnd() \ - and self.GetSelectionStart() >= self.promptPosEnd \ - and self.GetSelectionEnd() >= self.promptPosEnd: - return 1 - else: - return 0 - - def CanCopy(self): - """Return true if text is selected and can be copied.""" - return self.GetSelectionStart() != self.GetSelectionEnd() - - def CanPaste(self): - """Return true if a paste should succeed.""" - if self.CanEdit() and stc.wxStyledTextCtrl.CanPaste(self): - return 1 - else: - return 0 - - def CanEdit(self): - """Return true if editing should succeed.""" - if self.GetSelectionStart() != self.GetSelectionEnd(): - if self.GetSelectionStart() >= self.promptPosEnd \ - and self.GetSelectionEnd() >= self.promptPosEnd: - return 1 - else: - return 0 - else: - return self.GetCurrentPos() >= self.promptPosEnd - - def Cut(self): - """Remove selection and place it on the clipboard.""" - if self.CanCut() and self.CanCopy(): - if self.AutoCompActive(): - self.AutoCompCancel() - if self.CallTipActive(): - self.CallTipCancel() - self.Copy() - self.ReplaceSelection('') - - def Copy(self): - """Copy selection and place it on the clipboard.""" - if self.CanCopy(): - ps1 = str(sys.ps1) - ps2 = str(sys.ps2) - command = self.GetSelectedText() - command = command.replace(os.linesep + ps2, os.linesep) - command = command.replace(os.linesep + ps1, os.linesep) - command = self.lstripPrompt(text=command) - data = wx.wxTextDataObject(command) - self._clip(data) - - def CopyWithPrompts(self): - """Copy selection, including prompts, and place it on the clipboard.""" - if self.CanCopy(): - command = self.GetSelectedText() - data = wx.wxTextDataObject(command) - self._clip(data) - - def CopyWithPromptsPrefixed(self): - """Copy selection, including prompts prefixed with four - spaces, and place it on the clipboard.""" - if self.CanCopy(): - command = self.GetSelectedText() - spaces = ' ' * 4 - command = spaces + command.replace(os.linesep, - os.linesep + spaces) - data = wx.wxTextDataObject(command) - self._clip(data) - - def _clip(self, data): - if wx.wxTheClipboard.Open(): - wx.wxTheClipboard.UsePrimarySelection(False) - wx.wxTheClipboard.SetData(data) - wx.wxTheClipboard.Flush() - wx.wxTheClipboard.Close() - - def Paste(self): - """Replace selection with clipboard contents.""" - if self.CanPaste() and wx.wxTheClipboard.Open(): - ps2 = str(sys.ps2) - if wx.wxTheClipboard.IsSupported(wx.wxDataFormat(wx.wxDF_TEXT)): - data = wx.wxTextDataObject() - if wx.wxTheClipboard.GetData(data): - self.ReplaceSelection('') - command = data.GetText() - command = command.rstrip() - command = self.fixLineEndings(command) - command = self.lstripPrompt(text=command) - command = command.replace(os.linesep + ps2, '\n') - command = command.replace(os.linesep, '\n') - command = command.replace('\n', os.linesep + ps2) - self.write(command) - wx.wxTheClipboard.Close() - - def PasteAndRun(self): - """Replace selection with clipboard contents, run commands.""" - if wx.wxTheClipboard.Open(): - ps1 = str(sys.ps1) - ps2 = str(sys.ps2) - if wx.wxTheClipboard.IsSupported(wx.wxDataFormat(wx.wxDF_TEXT)): - data = wx.wxTextDataObject() - if wx.wxTheClipboard.GetData(data): - endpos = self.GetTextLength() - self.SetCurrentPos(endpos) - startpos = self.promptPosEnd - self.SetSelection(startpos, endpos) - self.ReplaceSelection('') - text = data.GetText() - text = text.lstrip() - text = self.fixLineEndings(text) - text = self.lstripPrompt(text) - text = text.replace(os.linesep + ps1, '\n') - text = text.replace(os.linesep + ps2, '\n') - text = text.replace(os.linesep, '\n') - lines = text.split('\n') - commands = [] - command = '' - for line in lines: - if line.strip() == ps2.strip(): - # If we are pasting from something like a - # web page that drops the trailing space - # from the ps2 prompt of a blank line. - line = '' - if line.strip() != '' and line.lstrip() == line: - # New command. - if command: - # Add the previous command to the list. - commands.append(command) - # Start a new command, which may be multiline. - command = line - else: - # Multiline command. Add to the command. - command += '\n' - command += line - commands.append(command) - for command in commands: - command = command.replace('\n', os.linesep + ps2) - self.write(command) - self.processLine() - wx.wxTheClipboard.Close() - - def wrap(self, wrap=1): - """Sets whether text is word wrapped.""" - try: - self.SetWrapMode(wrap) - except AttributeError: - return 'Wrapping is not available in this version of PyCrust.' - - def zoom(self, points=0): - """Set the zoom level. - - This number of points is added to the size of all fonts. It - may be positive to magnify or negative to reduce.""" - self.SetZoom(points) +from wxPython.py.shell import * diff --git a/wxPython/wxPython/lib/PyCrust/shellmenu.py b/wxPython/wxPython/lib/PyCrust/shellmenu.py deleted file mode 100644 index 1e3175a1f7..0000000000 --- a/wxPython/wxPython/lib/PyCrust/shellmenu.py +++ /dev/null @@ -1,226 +0,0 @@ -"""Shell menu mixin shared by shell and crust.""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -from wxPython import wx -import sys -from version import VERSION - -try: - True -except NameError: - True = 1==1 - False = 1==0 - -ID_AUTOCOMP = wx.wxNewId() -ID_AUTOCOMP_SHOW = wx.wxNewId() -ID_AUTOCOMP_INCLUDE_MAGIC = wx.wxNewId() -ID_AUTOCOMP_INCLUDE_SINGLE = wx.wxNewId() -ID_AUTOCOMP_INCLUDE_DOUBLE = wx.wxNewId() -ID_CALLTIPS = wx.wxNewId() -ID_CALLTIPS_SHOW = wx.wxNewId() -ID_COPY_PLUS = wx.wxNewId() -ID_PASTE_PLUS = wx.wxNewId() -ID_WRAP = wx.wxNewId() - - -class ShellMenu: - """Mixin class to add standard menu items.""" - - def createMenus(self): - m = self.fileMenu = wx.wxMenu() - m.AppendSeparator() - m.Append(wx.wxID_EXIT, 'E&xit', 'Exit PyCrust') - - m = self.editMenu = wx.wxMenu() - m.Append(wx.wxID_UNDO, '&Undo \tCtrl+Z', - 'Undo the last action') - m.Append(wx.wxID_REDO, '&Redo \tCtrl+Y', - 'Redo the last undone action') - m.AppendSeparator() - m.Append(wx.wxID_CUT, 'Cu&t \tCtrl+X', - 'Cut the selection') - m.Append(wx.wxID_COPY, '&Copy \tCtrl+C', - 'Copy the selection - removing prompts') - m.Append(ID_COPY_PLUS, 'Cop&y Plus \tCtrl+Shift+C', - 'Copy the selection - retaining prompts') - m.Append(wx.wxID_PASTE, '&Paste \tCtrl+V', 'Paste') - m.Append(ID_PASTE_PLUS, 'Past&e Plus \tCtrl+Shift+V', - 'Paste and run commands') - m.AppendSeparator() - m.Append(wx.wxID_CLEAR, 'Cle&ar', - 'Delete the selection') - m.Append(wx.wxID_SELECTALL, 'Select A&ll \tCtrl+A', - 'Select all text') - - m = self.autocompMenu = wx.wxMenu() - m.Append(ID_AUTOCOMP_SHOW, 'Show Auto Completion', - 'Show auto completion during dot syntax', 1) - m.Append(ID_AUTOCOMP_INCLUDE_MAGIC, 'Include Magic Attributes', - 'Include attributes visible to __getattr__ and __setattr__', - 1) - m.Append(ID_AUTOCOMP_INCLUDE_SINGLE, 'Include Single Underscores', - 'Include attibutes prefixed by a single underscore', 1) - m.Append(ID_AUTOCOMP_INCLUDE_DOUBLE, 'Include Double Underscores', - 'Include attibutes prefixed by a double underscore', 1) - - m = self.calltipsMenu = wx.wxMenu() - m.Append(ID_CALLTIPS_SHOW, 'Show Call Tips', - 'Show call tips with argument specifications', 1) - - m = self.optionsMenu = wx.wxMenu() - m.AppendMenu(ID_AUTOCOMP, '&Auto Completion', self.autocompMenu, - 'Auto Completion Options') - m.AppendMenu(ID_CALLTIPS, '&Call Tips', self.calltipsMenu, - 'Call Tip Options') - m.Append(ID_WRAP, '&Wrap Lines', - 'Wrap lines at right edge', 1) - - m = self.helpMenu = wx.wxMenu() - m.AppendSeparator() - m.Append(wx.wxID_ABOUT, '&About...', 'About PyCrust') - - b = self.menuBar = wx.wxMenuBar() - b.Append(self.fileMenu, '&File') - b.Append(self.editMenu, '&Edit') - b.Append(self.optionsMenu, '&Options') - b.Append(self.helpMenu, '&Help') - self.SetMenuBar(b) - - wx.EVT_MENU(self, wx.wxID_EXIT, self.OnExit) - wx.EVT_MENU(self, wx.wxID_UNDO, self.OnUndo) - wx.EVT_MENU(self, wx.wxID_REDO, self.OnRedo) - wx.EVT_MENU(self, wx.wxID_CUT, self.OnCut) - wx.EVT_MENU(self, wx.wxID_COPY, self.OnCopy) - wx.EVT_MENU(self, ID_COPY_PLUS, self.OnCopyPlus) - wx.EVT_MENU(self, wx.wxID_PASTE, self.OnPaste) - wx.EVT_MENU(self, ID_PASTE_PLUS, self.OnPastePlus) - wx.EVT_MENU(self, wx.wxID_CLEAR, self.OnClear) - wx.EVT_MENU(self, wx.wxID_SELECTALL, self.OnSelectAll) - wx.EVT_MENU(self, wx.wxID_ABOUT, self.OnAbout) - wx.EVT_MENU(self, ID_AUTOCOMP_SHOW, - self.OnAutoCompleteShow) - wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_MAGIC, - self.OnAutoCompleteIncludeMagic) - wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_SINGLE, - self.OnAutoCompleteIncludeSingle) - wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_DOUBLE, - self.OnAutoCompleteIncludeDouble) - wx.EVT_MENU(self, ID_CALLTIPS_SHOW, - self.OnCallTipsShow) - wx.EVT_MENU(self, ID_WRAP, self.OnWrap) - - wx.EVT_UPDATE_UI(self, wx.wxID_UNDO, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, wx.wxID_REDO, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, wx.wxID_CUT, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, wx.wxID_COPY, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_COPY_PLUS, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, wx.wxID_PASTE, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_PASTE_PLUS, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, wx.wxID_CLEAR, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_SHOW, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_MAGIC, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_SINGLE, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_DOUBLE, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_CALLTIPS_SHOW, self.OnUpdateMenu) - wx.EVT_UPDATE_UI(self, ID_WRAP, self.OnUpdateMenu) - - def OnExit(self, event): - self.Close(True) - - def OnUndo(self, event): - self.shell.Undo() - - def OnRedo(self, event): - self.shell.Redo() - - def OnCut(self, event): - self.shell.Cut() - - def OnCopy(self, event): - self.shell.Copy() - - def OnCopyPlus(self, event): - self.shell.CopyWithPrompts() - - def OnPaste(self, event): - self.shell.Paste() - - def OnPastePlus(self, event): - self.shell.PasteAndRun() - - def OnClear(self, event): - self.shell.Clear() - - def OnSelectAll(self, event): - self.shell.SelectAll() - - def OnAbout(self, event): - """Display an About PyCrust window.""" - title = 'About PyCrust' - text = 'PyCrust %s\n\n' % VERSION + \ - 'Yet another Python shell, only flakier.\n\n' + \ - 'Half-baked by Patrick K. O\'Brien,\n' + \ - 'the other half is still in the oven.\n\n' + \ - 'Shell Revision: %s\n' % self.shell.revision + \ - 'Interpreter Revision: %s\n\n' % self.shell.interp.revision + \ - 'Python Version: %s\n' % sys.version.split()[0] + \ - 'wxPython Version: %s\n' % wx.__version__ + \ - 'Platform: %s\n' % sys.platform - dialog = wx.wxMessageDialog(self, text, title, - wx.wxOK | wx.wxICON_INFORMATION) - dialog.ShowModal() - dialog.Destroy() - - def OnAutoCompleteShow(self, event): - self.shell.autoComplete = event.IsChecked() - - def OnAutoCompleteIncludeMagic(self, event): - self.shell.autoCompleteIncludeMagic = event.IsChecked() - - def OnAutoCompleteIncludeSingle(self, event): - self.shell.autoCompleteIncludeSingle = event.IsChecked() - - def OnAutoCompleteIncludeDouble(self, event): - self.shell.autoCompleteIncludeDouble = event.IsChecked() - - def OnCallTipsShow(self, event): - self.shell.autoCallTip = event.IsChecked() - - def OnWrap(self, event): - self.shell.SetWrapMode(event.IsChecked()) - - def OnUpdateMenu(self, event): - """Update menu items based on current status.""" - id = event.GetId() - if id == wx.wxID_UNDO: - event.Enable(self.shell.CanUndo()) - elif id == wx.wxID_REDO: - event.Enable(self.shell.CanRedo()) - elif id == wx.wxID_CUT: - event.Enable(self.shell.CanCut()) - elif id == wx.wxID_COPY: - event.Enable(self.shell.CanCopy()) - elif id == ID_COPY_PLUS: - event.Enable(self.shell.CanCopy()) - elif id == wx.wxID_PASTE: - event.Enable(self.shell.CanPaste()) - elif id == ID_PASTE_PLUS: - event.Enable(self.shell.CanPaste()) - elif id == wx.wxID_CLEAR: - event.Enable(self.shell.CanCut()) - elif id == ID_AUTOCOMP_SHOW: - event.Check(self.shell.autoComplete) - elif id == ID_AUTOCOMP_INCLUDE_MAGIC: - event.Check(self.shell.autoCompleteIncludeMagic) - elif id == ID_AUTOCOMP_INCLUDE_SINGLE: - event.Check(self.shell.autoCompleteIncludeSingle) - elif id == ID_AUTOCOMP_INCLUDE_DOUBLE: - event.Check(self.shell.autoCompleteIncludeDouble) - elif id == ID_CALLTIPS_SHOW: - event.Check(self.shell.autoCallTip) - elif id == ID_WRAP: - event.Check(self.shell.GetWrapMode()) - diff --git a/wxPython/wxPython/lib/PyCrust/wrap.py b/wxPython/wxPython/lib/PyCrust/wrap.py index cdfbfee359..e683be8ef8 100644 --- a/wxPython/wxPython/lib/PyCrust/wrap.py +++ b/wxPython/wxPython/lib/PyCrust/wrap.py @@ -1,54 +1,5 @@ -"""Wrap is a command line utility that runs a wxPython program with -additional runtime-tools, such as PyCrust.""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - -import os -import sys -from wxPython import wx -from crust import CrustFrame as Frame - -try: - True -except NameError: - True = 1==1 - False = 1==0 - - -def wrap(app): - wx.wxInitAllImageHandlers() - frame = Frame() - frame.SetSize((750, 525)) - frame.Show(True) - frame.shell.interp.locals['app'] = app - app.MainLoop() - - -def main(argv): - if len(argv) < 2: - print "Please specify a module name." - raise SystemExit - name = argv[1] - if name[-3:] == '.py': - name = name[:-3] - module = __import__(name) - # Find the App class. - App = None - d = module.__dict__ - for item in d.keys(): - try: - if issubclass(d[item], wx.wxApp): - App = d[item] - except (NameError, TypeError): - pass - if App is None: - print "No App class found." - raise SystemExit - app = App() - wrap(app) +from wxPython.py.PyWrap import * if __name__ == '__main__': diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Sizers.py b/wxPython/wxPython/lib/PyCrust/wxd/Sizers.py deleted file mode 100644 index 44446b3d51..0000000000 --- a/wxPython/wxPython/lib/PyCrust/wxd/Sizers.py +++ /dev/null @@ -1,488 +0,0 @@ -"""Decorator classes for documentation and shell scripting. -""" - -__author__ = "Patrick K. O'Brien " -__cvsid__ = "$Id$" -__revision__ = "$Revision$"[11:-2] - - -# These are not the real wxPython classes. These are Python versions -# for documentation purposes. They are also used to apply docstrings -# to the real wxPython classes, which are SWIG-generated wrappers for -# C-language classes. - - -from Base import Object -import Parameters as wx - - -class Sizer(Object): - """""" - - def Add(self): - """""" - pass - - def AddMany(self): - """""" - pass - - def AddSizer(self): - """""" - pass - - def AddSpacer(self): - """""" - pass - - def AddWindow(self): - """""" - pass - - def Clear(self): - """""" - pass - - def DeleteWindows(self): - """""" - pass - - def Destroy(self): - """""" - pass - - def Fit(self): - """""" - pass - - def FitInside(self): - """""" - pass - - def GetChildren(self): - """""" - pass - - def GetMinSize(self): - """""" - pass - - def GetMinSizeTuple(self): - """""" - pass - - def GetPosition(self): - """""" - pass - - def GetPositionTuple(self): - """""" - pass - - def GetSize(self): - """""" - pass - - def GetSizeTuple(self): - """""" - pass - - def Hide(self): - """""" - pass - - def HideSizer(self): - """""" - pass - - def HideWindow(self): - """""" - pass - - def Insert(self): - """""" - pass - - def InsertSizer(self): - """""" - pass - - def InsertSpacer(self): - """""" - pass - - def InsertWindow(self): - """""" - pass - - def IsShown(self): - """""" - pass - - def IsShownSizer(self): - """""" - pass - - def IsShownWindow(self): - """""" - pass - - def Layout(self): - """""" - pass - - def Prepend(self): - """""" - pass - - def PrependSizer(self): - """""" - pass - - def PrependSpacer(self): - """""" - pass - - def PrependWindow(self): - """""" - pass - - def Remove(self): - """""" - pass - - def RemovePos(self): - """""" - pass - - def RemoveSizer(self): - """""" - pass - - def RemoveWindow(self): - """""" - pass - - def SetDimension(self): - """""" - pass - - def SetItemMinSize(self): - """""" - pass - - def SetItemMinSizePos(self): - """""" - pass - - def SetItemMinSizeSizer(self): - """""" - pass - - def SetItemMinSizeWindow(self): - """""" - pass - - def SetMinSize(self): - """""" - pass - - def SetSizeHints(self): - """""" - pass - - def SetVirtualSizeHints(self): - """""" - pass - - def Show(self): - """""" - pass - - def ShowItems(self): - """""" - pass - - def ShowSizer(self): - """""" - pass - - def ShowWindow(self): - """""" - pass - - def __init__(self): - """""" - pass - - def _setOORInfo(self): - """""" - pass - - -class SizerItem(Object): - """""" - - def CalcMin(self): - """""" - pass - - def DeleteWindows(self): - """""" - pass - - def GetBorder(self): - """""" - pass - - def GetFlag(self): - """""" - pass - - def GetOption(self): - """""" - pass - - def GetPosition(self): - """""" - pass - - def GetRatio(self): - """""" - pass - - def GetSize(self): - """""" - pass - - def GetSizer(self): - """""" - pass - - def GetUserData(self): - """""" - pass - - def GetWindow(self): - """""" - pass - - def IsShown(self): - """""" - pass - - def IsSizer(self): - """""" - pass - - def IsSpacer(self): - """""" - pass - - def IsWindow(self): - """""" - pass - - def SetBorder(self): - """""" - pass - - def SetDimension(self): - """""" - pass - - def SetFlag(self): - """""" - pass - - def SetInitSize(self): - """""" - pass - - def SetOption(self): - """""" - pass - - def SetRatio(self): - """""" - pass - - def SetRatioSize(self): - """""" - pass - - def SetRatioWH(self): - """""" - pass - - def SetSizer(self): - """""" - pass - - def SetWindow(self): - """""" - pass - - def Show(self): - """""" - pass - - def __init__(self): - """""" - pass - - -class BoxSizer(Sizer): - """""" - - def CalcMin(self): - """""" - pass - - def GetOrientation(self): - """""" - pass - - def RecalcSizes(self): - """""" - pass - - def SetOrientation(self): - """""" - pass - - def __init__(self): - """""" - pass - - -class GridSizer(Sizer): - """""" - - def CalcMin(self): - """""" - pass - - def GetCols(self): - """""" - pass - - def GetHGap(self): - """""" - pass - - def GetRows(self): - """""" - pass - - def GetVGap(self): - """""" - pass - - def RecalcSizes(self): - """""" - pass - - def SetCols(self): - """""" - pass - - def SetHGap(self): - """""" - pass - - def SetRows(self): - """""" - pass - - def SetVGap(self): - """""" - pass - - def __init__(self): - """""" - pass - - -class FlexGridSizer(GridSizer): - """""" - - def AddGrowableCol(self): - """""" - pass - - def AddGrowableRow(self): - """""" - pass - - def CalcMin(self): - """""" - pass - - def RecalcSizes(self): - """""" - pass - - def RemoveGrowableCol(self): - """""" - pass - - def RemoveGrowableRow(self): - """""" - pass - - def __init__(self): - """""" - pass - - -class NotebookSizer(Sizer): - """""" - - def CalcMin(self): - """""" - pass - - def GetNotebook(self): - """""" - pass - - def RecalcSizes(self): - """""" - pass - - def __init__(self): - """""" - pass - - -class PySizer(Sizer): - """""" - - def __init__(self): - """""" - pass - - def _setCallbackInfo(self): - """""" - pass - - -class StaticBoxSizer(BoxSizer): - """""" - - def CalcMin(self): - """""" - pass - - def GetStaticBox(self): - """""" - pass - - def RecalcSizes(self): - """""" - pass - - def __init__(self): - """""" - pass diff --git a/wxPython/wxPython/lib/analogclock.py b/wxPython/wxPython/lib/analogclock.py new file mode 100644 index 0000000000..dd83981d5f --- /dev/null +++ b/wxPython/wxPython/lib/analogclock.py @@ -0,0 +1,201 @@ +#---------------------------------------------------------------------- +# Name: wxPython.lib.analogclock +# Purpose: A simple analog clock window +# +# Author: several folks on wxPython-users +# +# Created: 16-April-2003 +# RCS-ID: $Id$ +# Copyright: (c) 2003 by Total Control Software +# Licence: wxWindows license +#---------------------------------------------------------------------- + +import math, sys, string, time +from wxPython.wx import * + + + +class AnalogClockWindow(wxWindow): + """A simple analog clock window""" + + TICKS_NONE = 0 + TICKS_SQUARE = 1 + TICKS_CIRCLE = 2 + + def __init__(self, parent, ID=-1, pos=wxDefaultPosition, size=wxDefaultSize, + style=0, name="clock"): + # Initialize the wxWindow... + wxWindow.__init__(self, parent, ID, pos, size, style, name) + + # Initialize the default clock settings... + self.minuteMarks = 60 + self.hourMarks = 12 + self.tickMarksBrushC = self.GetForegroundColour() + self.tickMarksPenC = self.GetForegroundColour() + self.tickMarkStyle = self.TICKS_SQUARE + + # Make an initial bitmap for the face, it will be updated and + # painted at the first EVT_SIZE event. + W, H = size + self.faceBitmap = wxEmptyBitmap(max(W,1), max(H,1)) + + # Initialize the timer that drives the update of the clock + # face. Update every half second to ensure that there is at + # least one true update during each realtime second. + self.timer = wxTimer(self) + self.timer.Start(500) + + # Set event handlers... + EVT_PAINT(self, self.OnPaint) + EVT_ERASE_BACKGROUND(self, lambda x: None) + EVT_SIZE(self, self.OnSize) + EVT_TIMER(self, -1, self.OnTimerExpire) + EVT_WINDOW_DESTROY(self, self.OnQuit) + + + def SetTickMarkStyle(self, style): + """ + Set the style of the marks around the edge of the clock. + Options are TICKS_NONE, TICKS_SQUARE, and TICKS_CIRCLE + """ + self.tickMarkStyle = style + + + def SetTickMarkColours(self, brushC, penC="BLACK"): + """ + Set the brush colour and optionally the pen colour of + the marks around the edge of the clock. + """ + self.tickMarksBrushC = brushC + self.tickMarksPenC = penC + + SetTickMarkColour = SetTickMarkColours + + + def SetHandsColour(self, c): + """An alias for SetForegroundColour""" + self.SetForegroundColour(c) # the hands just use the foreground colour + + + + # Using the current settings, render the points and line endings for the + # circle inside the specified device context. In this case, the DC is + # a memory based device context that will be blitted to the actual + # display DC inside the OnPaint() event handler. + def OnSize(self, event): + # The faceBitmap init is done here, to make sure the buffer is always + # the same size as the Window + size = self.GetClientSize() + self.faceBitmap = wxEmptyBitmap(size.width, size.height) + self.DrawFace() + + + def OnPaint(self, event): + self.DrawHands(wxPaintDC(self)) + + + def OnQuit(self, event): + self.timer.Stop() + del self.timer + + + def OnTimerExpire(self, event): + self.DrawHands(wxClientDC(self)) + + + def DrawHands(self, drawDC): + # Start by drawing the face bitmap + drawDC.DrawBitmap(self.faceBitmap,0,0) + + currentTime = time.localtime(time.time()) + hour, minutes, seconds = currentTime[3:6] + + W,H = self.faceBitmap.GetWidth(), self.faceBitmap.GetHeight() + centerX = W / 2 + centerY = H / 2 + + radius = min(centerX, centerY) + hour += minutes / 60.0 # added so the hour hand moves continuously + x, y = self.point(hour, 12, (radius * .65)) + hourX, hourY = (x + centerX), (centerY - y) + x, y = self.point(minutes, 60, (radius * .85)) + minutesX, minutesY = (x + centerX), (centerY - y) + x, y = self.point(seconds, 60, (radius * .85)) + secondsX, secondsY = (x + centerX), (centerY - y) + + # Draw the hour hand... + drawDC.SetPen(wxPen(self.GetForegroundColour(), 5, wxSOLID)) + drawDC.DrawLine(centerX, centerY, hourX, hourY) + + # Draw the minutes hand... + drawDC.SetPen(wxPen(self.GetForegroundColour(), 3, wxSOLID)) + drawDC.DrawLine(centerX, centerY, minutesX, minutesY) + + # Draw the seconds hand... + drawDC.SetPen(wxPen(self.GetForegroundColour(), 1, wxSOLID)) + drawDC.DrawLine(centerX, centerY, secondsX, secondsY) + + + # Draw the specified set of line marks inside the clock face for the + # hours or minutes... + def DrawFace(self): + backgroundBrush = wxBrush(self.GetBackgroundColour(), wxSOLID) + drawDC = wxMemoryDC() + drawDC.SelectObject(self.faceBitmap) + drawDC.SetBackground(backgroundBrush) + drawDC.Clear() + + W,H = self.faceBitmap.GetWidth(), self.faceBitmap.GetHeight() + centerX = W / 2 + centerY = H / 2 + + # Draw the marks for hours and minutes... + self.DrawTimeMarks(drawDC, self.minuteMarks, centerX, centerY, 4) + self.DrawTimeMarks(drawDC, self.hourMarks, centerX, centerY, 9) + + + def DrawTimeMarks(self, drawDC, markCount, centerX, centerY, markSize): + for i in range(markCount): + x, y = self.point(i + 1, markCount, min(centerX,centerY) - 16) + scaledX = x + centerX - markSize/2 + scaledY = centerY - y - markSize/2 + + drawDC.SetBrush(wxBrush(self.tickMarksBrushC, wxSOLID)) + drawDC.SetPen(wxPen(self.tickMarksPenC, 1, wxSOLID)) + if self.tickMarkStyle != self.TICKS_NONE: + if self.tickMarkStyle == self.TICKS_CIRCLE: + drawDC.DrawEllipse(scaledX - 2, scaledY, markSize, markSize) + else: + drawDC.DrawRectangle(scaledX - 3, scaledY, markSize, markSize) + + + def point(self, tick, range, radius): + angle = tick * (360.0 / range) + radiansPerDegree = math.pi / 180 + pointX = int(round(radius * math.sin(angle * radiansPerDegree))) + pointY = int(round(radius * math.cos(angle * radiansPerDegree))) + return wxPoint(pointX, pointY) + + + + +if __name__ == "__main__": + class App(wxApp): + def OnInit(self): + frame = wxFrame(None, -1, "AnalogClockWindow Test", size=(375,375)) + + clock = AnalogClockWindow(frame) + clock.SetTickMarkColours("RED") + clock.SetHandsColour("WHITE") + clock.SetBackgroundColour("BLUE") + + frame.Centre(wxBOTH) + frame.Show(True) + self.SetTopWindow(frame) + return true + + theApp = App(0) + theApp.MainLoop() + + + diff --git a/wxPython/wxPython/lib/calendar.py b/wxPython/wxPython/lib/calendar.py index 29ba2c753c..f5247dc2be 100644 --- a/wxPython/wxPython/lib/calendar.py +++ b/wxPython/wxPython/lib/calendar.py @@ -716,12 +716,12 @@ class CalenDlg(wxDialog): monthlist = GetMonthList() # select the month - mID = NewId() + mID = wxNewId() self.date = wxComboBox(self, mID, Month[start_month], wxPoint(20, 20), wxSize(90, -1), monthlist, wxCB_DROPDOWN) EVT_COMBOBOX(self, mID, self.EvtComboBox) # alternate spin button to control the month - mID = NewId() + mID = wxNewId() h = self.date.GetSize().height self.m_spin = wxSpinButton(self, mID, wxPoint(130, 20), wxSize(h*2, h), wxSP_VERTICAL) self.m_spin.SetRange(1, 12) @@ -730,7 +730,7 @@ class CalenDlg(wxDialog): EVT_SPIN(self, mID, self.OnMonthSpin) # spin button to control the year - mID = NewId() + mID = wxNewId() self.dtext = wxTextCtrl(self, -1, str(start_year), wxPoint(160, 20), wxSize(60, -1)) h = self.dtext.GetSize().height @@ -746,11 +746,11 @@ class CalenDlg(wxDialog): y_pos = 280 but_size = wxSize(60, 25) - mID = NewId() + mID = wxNewId() wxButton(self, mID, ' Ok ', wxPoint(x_pos, y_pos), but_size) EVT_BUTTON(self, mID, self.OnOk) - mID = NewId() + mID = wxNewId() wxButton(self, mID, ' Close ', wxPoint(x_pos + 120, y_pos), but_size) EVT_BUTTON(self, mID, self.OnCancel) diff --git a/wxPython/wxPython/lib/dialogs.py b/wxPython/wxPython/lib/dialogs.py index 920b659af4..5afbd634a2 100644 --- a/wxPython/wxPython/lib/dialogs.py +++ b/wxPython/wxPython/lib/dialogs.py @@ -33,15 +33,16 @@ class wxScrolledMessageDialog(wx.wxDialog): class wxMultipleChoiceDialog(wx.wxDialog): - def __init__(self, parent, msg, title, lst, pos = wx.wxDefaultPosition, size = (200,200)): - wx.wxDialog.__init__(self, parent, -1, title, pos, size) + def __init__(self, parent, msg, title, lst, pos = wx.wxDefaultPosition, + size = (200,200), style = wx.wxDEFAULT_DIALOG_STYLE): + wx.wxDialog.__init__(self, parent, -1, title, pos, size, style) x, y = pos if x == -1 and y == -1: self.CenterOnScreen(wx.wxBOTH) dc = wx.wxClientDC(self) height = 0 for line in msg.splitlines(): - height = height + dc.GetTextExtent(msg)[1] + 4 + height = height + dc.GetTextExtent(line)[1] + 2 stat = wx.wxStaticText(self, -1, msg) self.lbox = wx.wxListBox(self, 100, wx.wxDefaultPosition, wx.wxDefaultSize, lst, wx.wxLB_MULTIPLE) diff --git a/wxPython/wxPython/lib/evtmgr.py b/wxPython/wxPython/lib/evtmgr.py index ef6fab004d..4ea2795342 100644 --- a/wxPython/wxPython/lib/evtmgr.py +++ b/wxPython/wxPython/lib/evtmgr.py @@ -8,7 +8,7 @@ # # Created: 12-December-2002 # RCS-ID: $Id$ -# Copyright: (c) 2002 by Robb Shecter +# Copyright: (c) 2003 by db-X Corporation # Licence: wxWindows license #--------------------------------------------------------------------------- @@ -32,7 +32,6 @@ programmer to declare or track control ids or parent containers: This module is Python 2.1+ compatible. -Author: Robb Shecter """ from wxPython import wx import pubsub @@ -176,7 +175,7 @@ class EventManager: Return a dictionary with data about my state. """ stats = {} - stats['Adapters: Message'] = reduce(lambda x,y: x+y, map(len, self.messageAdapterDict.values())) + stats['Adapters: Message'] = reduce(lambda x,y: x+y, [0] + map(len, self.messageAdapterDict.values())) stats['Adapters: Event'] = len(self.eventAdapterDict) stats['Topics: Total'] = len(self.__getTopics()) stats['Topics: Dead'] = len(self.GetDeadTopics()) @@ -193,7 +192,7 @@ class EventManager: is a problem. """ for topic in self.GetDeadTopics(): - self.DeregisterTopic(topic) + self.__deregisterTopic(topic) def GetDeadTopics(self): diff --git a/wxPython/wxPython/lib/imagebrowser.py b/wxPython/wxPython/lib/imagebrowser.py index 6496bb1a13..b1a9e7b13d 100644 --- a/wxPython/wxPython/lib/imagebrowser.py +++ b/wxPython/wxPython/lib/imagebrowser.py @@ -133,6 +133,7 @@ class ImageDialog(wxDialog): size = wxSize(80, 25) self.set_dir = os.getcwd() + self.set_file = None if set_dir != None: if os.path.exists(set_dir): # set to working directory if nothing set diff --git a/wxPython/wxPython/lib/infoframe.py b/wxPython/wxPython/lib/infoframe.py index f98b7fc5a4..b6d16fe2eb 100644 --- a/wxPython/wxPython/lib/infoframe.py +++ b/wxPython/wxPython/lib/infoframe.py @@ -130,12 +130,12 @@ class _MyStatusBar(wxStatusBar): self.SetStatusText("",0) - ID = NewId() + ID = wxNewId() self.button1 = wxButton(self,ID,"Dismiss", style=wxTAB_TRAVERSAL) EVT_BUTTON(self,ID,self.OnButton1) - ID = NewId() + ID = wxNewId() if not useopenbutton: self.button2 = wxButton(self,ID,"Close File", style=wxTAB_TRAVERSAL) diff --git a/wxPython/wxPython/lib/intctrl.py b/wxPython/wxPython/lib/intctrl.py index cf17abdaa4..7ec40a0d3b 100644 --- a/wxPython/wxPython/lib/intctrl.py +++ b/wxPython/wxPython/lib/intctrl.py @@ -338,17 +338,18 @@ class wxIntCtrl(wxTextCtrl): wxIntCtrl( parent, id = -1, value = 0, + pos = wxDefaultPosition, + size = wxDefaultSize, + style = 0, + validator = wxDefaultValidator, + name = "integer", min = None, max = None, limited = False, allow_none = False, allow_long = False, default_color = wxBLACK, - oob_color = wxRED, - pos = wxDefaultPosition, - size = wxDefaultSize, - style = 0, - name = "integer") + oob_color = wxRED ) value If no initial value is set, the default will be zero, or @@ -390,14 +391,22 @@ class wxIntCtrl(wxTextCtrl): oob_color Color value used for out-of-bounds values of the control when the bounds are set but the control is not limited. + + validator + Normally None, wxIntCtrl uses its own validator to do value + validation and input control. However, a validator derived + from wxIntValidator can be supplied to override the data + transfer methods for the wxIntValidator class. """ + def __init__ ( self, parent, id=-1, + pos = wxDefaultPosition, size = wxDefaultSize, + style = 0, validator = wxDefaultValidator, + name = "integer", value = 0, min=None, max=None, limited = 0, allow_none = 0, allow_long = 0, default_color = wxBLACK, oob_color = wxRED, - pos = wxDefaultPosition, size = wxDefaultSize, - style = 0, name = "integer", ): # Establish attrs required for any operation on value: @@ -408,10 +417,14 @@ class wxIntCtrl(wxTextCtrl): self.__oob_color = wxRED self.__allow_none = 0 self.__allow_long = 0 + self.__oldvalue = None + + if validator == wxDefaultValidator: + validator = wxIntValidator() wxTextCtrl.__init__( self, parent, id, self._toGUI(0), - pos, size, style, wxIntValidator(), name ) + pos, size, style, validator, name ) # The following lets us set out our "integer update" events: EVT_TEXT( self, self.GetId(), self.OnText ) @@ -424,20 +437,28 @@ class wxIntCtrl(wxTextCtrl): self.SetNoneAllowed(allow_none) self.SetLongAllowed(allow_long) self.SetValue(value) + self.__oldvalue = 0 def OnText( self, event ): """ Handles an event indicating that the text control's value has changed, and issue EVT_INT event. + NOTE: using wxTextCtrl.SetValue() to change the control's + contents from within a EVT_CHAR handler can cause double + text events. So we check for actual changes to the text + before passing the events on. """ - try: - self.GetEventHandler().ProcessEvent( - wxIntUpdatedEvent( self.GetId(), self.GetValue(), self ) ) - except ValueError: - return - # let normal processing of the text continue - event.Skip() + value = self.GetValue() + if value != self.__oldvalue: + try: + self.GetEventHandler().ProcessEvent( + wxIntUpdatedEvent( self.GetId(), self.GetValue(), self ) ) + except ValueError: + return + # let normal processing of the text continue + event.Skip() + self.__oldvalue = value # record for next event def GetValue(self): @@ -719,6 +740,13 @@ class wxIntCtrl(wxTextCtrl): """ Conversion function used in getting the value of the control. """ + + # One or more of the underlying text control implementations + # issue an intermediate EVT_TEXT when replacing the control's + # value, where the intermediate value is an empty string. + # So, to ensure consistency and to prevent spurious ValueErrors, + # we make the following test, and react accordingly: + # if value == '': if not self.IsNoneAllowed(): return 0 @@ -811,7 +839,7 @@ if __name__ == '__main__': style = wxDEFAULT_DIALOG_STYLE ): wxDialog.__init__(self, parent, id, title, pos, size, style) - self.int_ctrl = wxIntCtrl(self, NewId(), size=(55,20)) + self.int_ctrl = wxIntCtrl(self, wxNewId(), size=(55,20)) self.OK = wxButton( self, wxID_OK, "OK") self.Cancel = wxButton( self, wxID_CANCEL, "Cancel") diff --git a/wxPython/wxPython/lib/maskededit.py b/wxPython/wxPython/lib/maskededit.py new file mode 100644 index 0000000000..0142fb74df --- /dev/null +++ b/wxPython/wxPython/lib/maskededit.py @@ -0,0 +1,5348 @@ +#---------------------------------------------------------------------------- +# Name: maskededit.py +# Authors: Jeff Childers, Will Sadkin +# Email: jchilders_98@yahoo.com, wsadkin@nameconnector.com +# Created: 02/11/2003 +# Copyright: (c) 2003 by Jeff Childers, 2003 +# Portions: (c) 2002 by Will Sadkin, 2002-2003 +# RCS-ID: $Id$ +# License: wxWindows license +#---------------------------------------------------------------------------- +# NOTE: +# This was written way it is because of the lack of masked edit controls +# in wxWindows/wxPython. +# +# wxMaskedEdit controls are based on a suggestion made on [wxPython-Users] by +# Jason Hihn, and borrows liberally from Will Sadkin's original masked edit +# control for time entry (wxTimeCtrl). +# +# wxMaskedEdit controls do not normally use validators, because they do +# careful manipulation of the cursor in the text window on each keystroke, +# and validation is cursor-position specific, so the control intercepts the +# key codes before the validator would fire. However, validators can be +# provided to do data transfer to the controls. +## + +"""\ +Masked Edit Overview: +===================== + wxMaskedTextCtrl + is a sublassed text control that can carefully control + the user's input based on a mask string you provide. + + General usage example: + control = wxMaskedTextCtrl( win, -1, '', mask = '(###) ###-####') + + The example above will create a text control that allows only numbers to + be entered and then only in the positions indicated in the mask by the # + character. + + wxMaskedComboBox + is a similar subclass of wxComboBox that allows the + same sort of masking, but also can do auto-complete of values, and can + require the value typed to be in the list of choices to be colored + appropriately. + + wxIpAddrCtrl + is a special subclass of wxMaskedTextCtrl that handles + cursor movement and natural typing of IP addresses. + + +INITILIZATION PARAMETERS +======================== +mask= +Allowed mask characters and function: + Character Function + # Allow numeric only (0-9) + N Allow letters and numbers (0-9) + A Allow uppercase letters only + a Allow lowercase letters only + C Allow any letter, upper or lower + X Allow string.letters, string.punctuation, string.digits + + + These controls define these sets of characters using string.letters, + string.uppercase, etc. These sets are affected by the system locale + setting, so in order to have the masked controls accept characters + that are specific to your users' language, your application should + set the locale. + For example, to allow international characters to be used in the + above masks, you can place the following in your code as part of + your application's initialization code: + + import locale + locale.setlocale(locale.LC_ALL, '') + + + Using these mask characters, a variety of template masks can be built. See + the demo for some other common examples include date+time, social security + number, etc. If any of these characters are needed as template rather + than mask characters, they can be escaped with \, ie. \N means "literal N". + (use \\ for literal backslash, as in: r'CCC\\NNN'.) + + + Note: + Masks containing only # characters and one optional decimal point + character are handled specially, as "numeric" controls. Such + controls have special handling for typing the '-' key, handling + the "decimal point" character as truncating the ordinal portion, + optionally allowing grouping characters and so forth. + There are several parameters and format codes that only make sense + when combined with such masks, eg. groupChar, decimalChar, and so + forth (see below). These allow you to construct reasonable + numeric entry controls. + + Note: + Changing the mask for a control deletes any previous field classes + (and any associated validation or formatting constraints) for them. + +useFixedWidthFont= + By default, masked edit controls use a fixed width font, so that + the mask characters are fixed within the control, regardless of + subsequent modifications to the value. Set to False if having + the control font be the same as other controls is required. + + +formatcodes= + These other properties can be passed to the class when instantiating it: + Formatcodes are specified as a string of single character formatting + codes that modify behavior of the control: + _ Allow spaces + ! Force upper + ^ Force lower + R right-align field(s) + r right-insert in field(s) (implies R) + < stay in field until explicit navigation out of it + , Allow grouping character in integer fields of numeric controls + and auto-group/regroup digits (if the result fits) when leaving + such a field. (If specified, .SetValue() will attempt to + auto-group as well.) + ',' is also the default grouping character. To change the + grouping character and/or decimal character, use the groupChar + and decimalChar parameters, respectively. + Note: typing the "decimal point" character in such fields will + clip the value to that left of the cursor for integer + fields of controls with "integer" or "floating point" masks. + If the ',' format code is specified, this will also cause the + resulting digits to be regrouped properly, using the current + grouping character. + - Prepend and reserve leading space for sign to mask and allow + signed values (negative #s shown in red by default) + 0 integer fields get leading zeros + D Date[/time] field + T Time field + F Auto-Fit: the control calulates its size from + the length of the template mask + V validate entered chars against validRegex before allowing them + to be entered vs. being allowed by basic mask and then having + the resulting value just colored as invalid. + (See USSTATE autoformat demo for how this can be used.) + S select entire field when navigating to new field + +fillChar= +defaultValue= + These controls have two options for the initial state of the control. + If a blank control with just the non-editable characters showing + is desired, simply leave the constructor variable fillChar as its + default (' '). If you want some other character there, simply + change the fillChar to that value. Note: changing the control's fillChar + will implicitly reset all of the fields' fillChars to this value. + + If you need different default characters in each mask position, + you can specify a defaultValue parameter in the constructor, or + set them for each field individually. + This value must satisfy the non-editable characters of the mask, + but need not conform to the replaceable characters. + +groupChar= +decimalChar= + These parameters govern what character is used to group numbers + and is used to indicate the decimal point for numeric format controls. + The default groupChar is ',', the default decimalChar is '.' + By changing these, you can customize the presentation of numbers + for your location. + eg: formatcodes = ',', groupChar="'" allows 12'345.34 + formatcodes = ',', groupChar='.', decimalChar=',' allows 12.345,34 + +shiftDecimalChar= + The default "shiftDecimalChar" (used for "backwards-tabbing" until + shift-tab is fixed in wxPython) is '>' (for QUERTY keyboards.) for + other keyboards, you may want to customize this, eg '?' for shift ',' on + AZERTY keyboards, ':' or ';' for other European keyboards, etc. + +autoCompleteKeycodes=[] + By default, DownArrow, PageUp and PageDown will auto-complete a + partially entered field. Shift-DownArrow, Shift-UpArrow, PageUp + and PageDown will also auto-complete, but if the field already + contains a matched value, these keys will cycle through the list + of choices forward or backward as appropriate. Shift-Up and + Shift-Down also take you to the next/previous field after any + auto-complete action. + + Additional auto-complete keys can be specified via this parameter. + Any keys so specified will act like PageDown. + + + +Validating User Input: +====================== + There are a variety of initialization parameters that are used to validate + user input. These parameters can apply to the control as a whole, and/or + to individual fields: + + excludeChars= A string of characters to exclude even if otherwise allowed + includeChars= A string of characters to allow even if otherwise disallowed + validRegex= Use a regular expression to validate the contents of the text box + validRange= Pass a rangeas list (low,high) to limit numeric fields/values + choiceRequired= value must be member of choices list + compareNoCase= Perform case-insensitive matching when validating against list + emptyInvalid= Boolean indicating whether an empty value should be considered invalid + + validFunc= A function to call of the form: bool = func(candidate_value) + which will return True if the candidate_value satisfies some + external criteria for the control in addition to the the + other validation, or False if not. (This validation is + applied last in the chain of validations.) + + validRequired= Boolean indicating whether or not keys that are allowed by the + mask, but result in an invalid value are allowed to be entered + into the control. Setting this to True implies that a valid + default value is set for the control. + + retainFieldValidation= + False by default; if True, this allows individual fields to + retain their own validation constraints independently of any + subsequent changes to the control's overall parameters. + + validator= Validators are not normally needed for masked controls, because + of the nature of the validation and control of input. However, + you can supply one to provide data transfer routines for the + controls. + + +Coloring Behavior: +================== + The following parameters have been provided to allow you to change the default + coloring behavior of the control. These can be set at construction, or via + the .SetCtrlParameters() function. Pass a color as string e.g. 'Yellow': + + emptyBackgroundColor= Control Background color when identified as empty. Default=White + invalidBackgroundColor= Control Background color when identified as Not valid. Default=Yellow + validBackgroundColor= Control Background color when identified as Valid. Default=white + + + The following parameters control the default foreground color coloring behavior of the + control. Pass a color as string e.g. 'Yellow': + foregroundColor= Control foreground color when value is not negative. Default=Black + signedForegroundColor= Control foreground color when value is negative. Default=Red + + +Fields: +======= + Each part of the mask that allows user input is considered a field. The fields + are represented by their own class instances. You can specify field-specific + constraints by constructing or accessing the field instances for the control + and then specifying those constraints via parameters. + +fields= + This parameter allows you to specify Field instances containing + constraints for the individual fields of a control, eg: local + choice lists, validation rules, functions, regexps, etc. + It can be either an ordered list or a dictionary. If a list, + the fields will be applied as fields 0, 1, 2, etc. + If a dictionary, it should be keyed by field index. + the values should be a instances of maskededit.Field. + + Any field not represented by the list or dictionary will be + implicitly created by the control. + + eg: + fields = [ Field(formatcodes='_r'), Field('choices=['a', 'b', 'c']) ] + or + fields = { + 1: ( Field(formatcodes='_R', choices=['a', 'b', 'c']), + 3: ( Field(choices=['01', '02', '03'], choiceRequired=True) + } + + The following parameters are available for individual fields, with the + same semantics as for the whole control but applied to the field in question: + + fillChar # if set for a field, it will override the control's fillChar for that field + groupChar # if set for a field, it will override the control's default + defaultValue # sets field-specific default value; overrides any default from control + compareNoCase # overrides control's settings + emptyInvalid # determines whether field is required to be filled at all times + validRequired # if set, requires field to contain valid value + + If any of the above parameters are subsequently specified for the control as a + whole, that new value will be propagated to each field, unless the + retainFieldValidation control-level parameter is set. + + formatcodes # Augments control's settings + excludeChars # ' ' ' + includeChars # ' ' ' + validRegex # ' ' ' + validRange # ' ' ' + choices # ' ' ' + choiceRequired # ' ' ' + validFunc # ' ' ' + + + +Control Class Functions: +======================== + .GetPlainValue(value=None) + Returns the value specified (or the control's text value + not specified) without the formatting text. + In the example above, might return phone no='3522640075', + whereas control.GetValue() would return '(352) 264-0075' + .ClearValue() + Returns the control's value to its default, and places the + cursor at the beginning of the control. + .SetValue() + Does "smart replacement" of passed value into the control, as does + the .Paste() method. As with other text entry controls, the + .SetValue() text replacement begins at left-edge of the control, + with missing mask characters inserted as appropriate. + .SetValue will also adjust integer, float or date mask entry values, + adding commas, auto-completing years, etc. as appropriate. + For "right-aligned" numeric controls, it will also now automatically + right-adjust any value whose length is less than the width of the + control before attempting to set the value. + If a value does not follow the format of the control's mask, or will + not fit into the control, a ValueError exception will be raised. + Eg: + mask = '(###) ###-####' + .SetValue('1234567890') => '(123) 456-7890' + .SetValue('(123)4567890') => '(123) 456-7890' + .SetValue('(123)456-7890') => '(123) 456-7890' + .SetValue('123/4567-890') => illegal paste; ValueError + + mask = '#{6}.#{2}', formatcodes = '_,-', + .SetValue('111') => ' 111 . ' + .SetValue(' %9.2f' % -111.12345 ) => ' -111.12' + .SetValue(' %9.2f' % 1234.00 ) => ' 1,234.00' + .SetValue(' %9.2f' % -1234567.12345 ) => insufficient room; ValueError + + mask = '#{6}.#{2}', formatcodes = '_,-R' # will right-adjust value for right-aligned control + .SetValue('111') => padded value misalignment ValueError: " 111" will not fit + .SetValue('%.2f' % 111 ) => ' 111.00' + .SetValue('%.2f' % -111.12345 ) => ' -111.12' + + + .IsValid(value=None) + Returns True if the value specified (or the value of the control + if not specified) passes validation tests + .IsEmpty(value=None) + Returns True if the value specified (or the value of the control + if not specified) is equal to an "empty value," ie. all + editable characters == the fillChar for their respective fields. + .IsDefault(value=None) + Returns True if the value specified (or the value of the control + if not specified) is equal to the initial value of the control. + + .Refresh() + Recolors the control as appropriate to its current settings. + + .SetCtrlParameters(**kwargs) + This function allows you to set up and/or change the control parameters + after construction; it takes a list of key/value pairs as arguments, + where the keys can be any of the mask-specific parameters in the constructor. + Eg: + ctl = wxMaskedTextCtrl( self, -1 ) + ctl.SetCtrlParameters( mask='###-####', + defaultValue='555-1212', + formatcodes='F') + + .GetCtrlParameter(parametername) + This function allows you to retrieve the current value of a parameter + from the control. + + .SetFieldParameters(field_index, **kwargs) + This function allows you to specify change individual field + parameters after construction. (Indices are 0-based.) + + .GetFieldParameter(field_index, parametername) + Allows the retrieval of field parameters after construction + + +The control detects certain common constructions. In order to use the signed feature +(negative numbers and coloring), the mask has to be all numbers with optionally one +decimal. Without a decimal (e.g. '######', the control will treat it as an integer +value. With a decimal (e.g. '###.##'), the control will act as a decimal control +(i.e. press decimal to 'tab' to the decimal position). Pressing decimal in the +integer control truncates the value. + + +Check your controls by calling each control's .IsValid() function and the +.IsEmpty() function to determine which controls have been a) filled in and +b) filled in properly. + + +Regular expression validations can be used flexibly and creatively. +Take a look at the demo; the zip-code validation succeeds as long as the +first five numerals are entered. the last four are optional, but if +any are entered, there must be 4 to be valid. + +""" + +""" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +DEVELOPER COMMENTS: + +Naming Conventions +------------------ + All methods of the Mixin that are not meant to be exposed to the external + interface are prefaced with '_'. Those functions that are primarily + intended to be internal subroutines subsequently start with a lower-case + letter; those that are primarily intended to be used and/or overridden + by derived subclasses start with a capital letter. + + The following methods must be used and/or defined when deriving a control + from wxMaskedEditMixin. NOTE: if deriving from a *masked edit* control + (eg. class wxIpAddrCtrl(wxMaskedTextCtrl) ), then this is NOT necessary, + as it's already been done for you in the base class. + + ._SetInitialValue() + This function must be called after the associated base + control has been initialized in the subclass __init__ + function. It sets the initial value of the control, + either to the value specified if non-empty, the + default value if specified, or the "template" for + the empty control as necessary. It will also set/reset + the font if necessary and apply formatting to the + control at this time. + + ._GetSelection() + REQUIRED + Each class derived from wxMaskedEditMixin must define + the function for getting the start and end of the + current text selection. The reason for this is + that not all controls have the same function name for + doing this; eg. wxTextCtrl uses .GetSelection(), + whereas we had to write a .GetMark() function for + wxComboBox, because .GetSelection() for the control + gets the currently selected list item from the combo + box, and the control doesn't (yet) natively provide + a means of determining the text selection. + ._SetSelection() + REQUIRED + Similarly to _GetSelection, each class derived from + wxMaskedEditMixin must define the function for setting + the start and end of the current text selection. + (eg. .SetSelection() for wxMaskedTextCtrl, and .SetMark() for + wxMaskedComboBox. + + ._GetInsertionPoint() + ._SetInsertionPoint() + REQUIRED + For consistency, and because the mixin shouldn't rely + on fixed names for any manipulations it does of any of + the base controls, we require each class derived from + wxMaskedEditMixin to define these functions as well. + + ._GetValue() + ._SetValue() REQUIRED + Each class derived from wxMaskedEditMixin must define + the functions used to get and set the raw value of the + control. + This is necessary so that recursion doesn't take place + when setting the value, and so that the mixin can + call the appropriate function after doing all its + validation and manipulation without knowing what kind + of base control it was mixed in with. + + .Cut() + .Paste() + .SetValue() REQUIRED + Each class derived from wxMaskedEditMixin must redefine + these functions to call the _Cut(), _Paste() and _Paste() + methods, respectively for the control, so as to prevent + programmatic corruption of the control's value. This + must be done in each derivation, as the mixin cannot + itself override a member of a sibling class. + + ._Refresh() REQUIRED + Each class derived from wxMaskedEditMixin must define + the function used to refresh the base control. + + .Refresh() REQUIRED + Each class derived from wxMaskedEditMixin must redefine + this function so that it checks the validity of the + control (via self._CheckValid) and then refreshes + control using the base class method. + + ._IsEditable() REQUIRED + Each class derived from wxMaskedEditMixin must define + the function used to determine if the base control is + editable or not. (For wxMaskedComboBox, this has to + be done with code, rather than specifying the proper + function in the base control, as there isn't one...) + + + +Event Handling +-------------- + Event handlers are "chained", and wxMaskedEditMixin usually + swallows most of the events it sees, thereby preventing any other + handlers from firing in the chain. It is therefore required that + each class derivation using the mixin to have an option to hook up + the event handlers itself or forego this operation and let a + subclass of the masked control do so. For this reason, each + subclass should probably include the following code: + + if setupEventHandling: + ## Setup event handlers + EVT_SET_FOCUS( self, self._OnFocus ) ## defeat automatic full selection + EVT_KILL_FOCUS( self, self._OnKillFocus ) ## run internal validator + EVT_LEFT_DCLICK(self, self._OnDoubleClick) ## select field under cursor on dclick + EVT_KEY_DOWN( self, self._OnKeyDown ) ## capture control events not normally seen, eg ctrl-tab. + EVT_CHAR( self, self._OnChar ) ## handle each keypress + EVT_TEXT( self, self.GetId(), self._OnTextChange ) ## color control appropriately + + where setupEventHandling is an argument to its constructor. + + These 5 handlers must be "wired up" for the wxMaskedEdit + control to provide default behavior. (The setupEventHandling + is an argument to wxMaskedTextCtrl and wxMaskedComboBox, so + that controls derived from *them* may replace one of these + handlers if they so choose.) + + If your derived control wants to preprocess events before + taking action, it should then set up the event handling itself, + so it can be first in the event handler chain. + + + The following routines are available to facilitate changing + the default behavior of wxMaskedEdit controls: + + ._SetKeycodeHandler(keycode, func) + ._SetKeyHandler(char, func) + Use to replace default handling for any given keycode. + func should take the key event as argument and return + False if no further action is required to handle the + key. Eg: + self._SetKeycodeHandler(WXK_UP, self.IncrementValue) + self._SetKeyHandler('-', self._OnChangeSign) + + "Navigation" keys are assumed to change the cursor position, and + therefore don't cause automatic motion of the cursor as insertable + characters do. + + ._AddNavKeycode(keycode, handler=None) + ._AddNavKey(char, handler=None) + Allows controls to specify other keys (and optional handlers) + to be treated as navigational characters. (eg. '.' in wxIpAddrCtrl) + + ._GetNavKeycodes() Returns the current list of navigational keycodes. + + ._SetNavKeycodes(key_func_tuples) + Allows replacement of the current list of keycode + processed as navigation keys, and bind associated + optional keyhandlers. argument is a list of key/handler + tuples. Passing a value of None for the handler in a + given tuple indicates that default processing for the key + is desired. + + ._FindField(pos) Returns the Field object associated with this position + in the control. + + ._FindFieldExtent(pos, getslice=False, value=None) + Returns edit_start, edit_end of the field corresponding + to the specified position within the control, and + optionally also returns the current contents of that field. + If value is specified, it will retrieve the slice the corresponding + slice from that value, rather than the current value of the + control. + + ._AdjustField(pos) + This is, the function that gets called for a given position + whenever the cursor is adjusted to leave a given field. + By default, it adjusts the year in date fields if mask is a date, + It can be overridden by a derived class to + adjust the value of the control at that time. + (eg. wxIpAddrCtrl reformats the address in this way.) + + ._Change() Called by internal EVT_TEXT handler. Return False to force + skip of the normal class change event. + ._Keypress(key) Called by internal EVT_CHAR handler. Return False to force + skip of the normal class keypress event. + ._LostFocus() Called by internal EVT_KILL_FOCUS handler + + ._OnKeyDown(event) + This is the default EVT_KEY_DOWN routine; it just checks for + "navigation keys", and if event.ControlDown(), it fires the + mixin's _OnChar() routine, as such events are not always seen + by the "cooked" EVT_CHAR routine. + + ._OnChar(event) This is the main EVT_CHAR handler for the + wxMaskedEditMixin. + + The following routines are used to handle standard actions + for control keys: + _OnArrow(event) used for arrow navigation events + _OnCtrl_A(event) 'select all' + _OnCtrl_S(event) 'save' (does nothing) + _OnCtrl_V(event) 'paste' - calls _Paste() method, to do smart paste + _OnCtrl_X(event) 'cut' - calls _Cut() method, to "erase" selection + + _OnChangeField(event) primarily used for tab events, but can be + used for other keys (eg. '.' in wxIpAddrCtrl) + + _OnErase(event) used for backspace and delete + _OnHome(event) + _OnEnd(event) + +""" + +from wxPython.wx import * +import string, re, copy + +from wxPython.tools.dbg import Logger +dbg = Logger() +dbg(enable=0) + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +## Constants for identifying control keys and classes of keys: + +WXK_CTRL_X = (ord('X')+1) - ord('A') ## These keys are not already defined in wx +WXK_CTRL_V = (ord('V')+1) - ord('A') +WXK_CTRL_C = (ord('C')+1) - ord('A') +WXK_CTRL_S = (ord('S')+1) - ord('A') +WXK_CTRL_A = (ord('A')+1) - ord('A') + +nav = (WXK_BACK, WXK_LEFT, WXK_RIGHT, WXK_UP, WXK_DOWN, WXK_TAB, WXK_HOME, WXK_END, WXK_RETURN, WXK_PRIOR, WXK_NEXT) +control = (WXK_BACK, WXK_DELETE, WXK_CTRL_A, WXK_CTRL_C, WXK_CTRL_S, WXK_CTRL_V, WXK_CTRL_X) + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +## Constants for masking. This is where mask characters +## are defined. +## maskchars used to identify valid mask characters from all others +## #- allow numeric 0-9 only +## A- allow uppercase only. Combine with forceupper to force lowercase to upper +## a- allow lowercase only. Combine with forcelower to force upper to lowercase +## X- allow any character (string.letters, string.punctuation, string.digits) +## Note: locale settings affect what "uppercase", lowercase, etc comprise. +## +maskchars = ("#","A","a","X","C","N") + +months = '(01|02|03|04|05|06|07|08|09|10|11|12)' +charmonths = '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC|jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)' +charmonths_dict = {'jan': 1, 'feb': 2, 'mar': 3, 'apr': 4, 'may': 5, 'jun': 6, + 'jul': 7, 'aug': 8, 'sep': 9, 'oct': 10, 'nov': 11, 'dec': 12} + +days = '(01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)' +hours = '(0\d| \d|1[012])' +milhours = '(00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23)' +minutes = """(00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|\ +16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|\ +36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|\ +56|57|58|59)""" +seconds = minutes +am_pm_exclude = 'BCDEFGHIJKLMNOQRSTUVWXYZ\x8a\x8c\x8e\x9f\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xde' + +states = "AL,AK,AZ,AR,CA,CO,CT,DE,DC,FL,GA,GU,HI,ID,IL,IN,IA,KS,KY,LA,MA,ME,MD,MI,MN,MS,MO,MT,NE,NV,NH,NJ,NM,NY,NC,ND,OH,OK,OR,PA,PR,RI,SC,SD,TN,TX,UT,VA,VT,VI,WA,WV,WI,WY".split(',') + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +## The following table defines the current set of autoformat codes: + +masktags = { + # Name: (mask, excludeChars, formatcodes, validRegex, choices, choiceRequired, description) + "USPHONEFULLEXT":("(###) ###-#### x:###","",'F^-R',"^\(\d{3}\) \d{3}-\d{4}",[], False, "Phone Number w/opt. ext"), + "USPHONETIGHTEXT":("###-###-#### x:###","",'F^-R',"^\d{3}-\d{3}-\d{4}",[], False, "Phone Number\n (w/hyphens and opt. ext)"), + "USPHONEFULL":("(###) ###-####","",'F^-R',"^\(\d{3}\) \d{3}-\d{4}",[], False, "Phone Number only"), + "USPHONETIGHT":("###-###-####","",'F^-R',"^\d{3}-\d{3}-\d{4}",[], False, "Phone Number\n(w/hyphens)"), + "USSTATE":("AA","",'F!V',"([ACDFGHIKLMNOPRSTUVW] |%s)" % string.join(states,'|'), states, True, "US State"), + + "USDATETIMEMMDDYYYY/HHMMSS":("##/##/#### ##:##:## AM",am_pm_exclude,'DF!','^' + months + '/' + days + '/' + '\d{4} ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "US Date + Time"), + "USDATETIMEMMDDYYYY-HHMMSS":("##-##-#### ##:##:## AM",am_pm_exclude,'DF!','^' + months + '-' + days + '-' + '\d{4} ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "US Date + Time\n(w/hypens)"), + "USDATEMILTIMEMMDDYYYY/HHMMSS":("##/##/#### ##:##:##",'','DF','^' + months + '/' + days + '/' + '\d{4} ' + milhours + ':' + minutes + ':' + seconds,[], False, "US Date + Military Time"), + "USDATEMILTIMEMMDDYYYY-HHMMSS":("##-##-#### ##:##:##",'','DF','^' + months + '-' + days + '-' + '\d{4} ' + milhours + ':' + minutes + ':' + seconds,[], False, "US Date + Military Time\n(w/hypens)"), + "USDATETIMEMMDDYYYY/HHMM":("##/##/#### ##:## AM",am_pm_exclude,'DF!','^' + months + '/' + days + '/' + '\d{4} ' + hours + ':' + minutes + ' (A|P)M',[], False, "US Date + Time\n(without seconds)"), + "USDATEMILTIMEMMDDYYYY/HHMM":("##/##/#### ##:##",'','DF','^' + months + '/' + days + '/' + '\d{4} ' + milhours + ':' + minutes,[], False, "US Date + Military Time\n(without seconds)"), + "USDATETIMEMMDDYYYY-HHMM":("##-##-#### ##:## AM",am_pm_exclude,'DF!','^' + months + '-' + days + '-' + '\d{4} ' + hours + ':' + minutes + ' (A|P)M',[], False, "US Date + Time\n(w/hypens and w/o secs)"), + "USDATEMILTIMEMMDDYYYY-HHMM":("##-##-#### ##:##",'','DF','^' + months + '-' + days + '-' + '\d{4} ' + milhours + ':' + minutes,[], False, "US Date + Military Time\n(w/hyphens and w/o seconds)"), + "USDATEMMDDYYYY/":("##/##/####",'','DF','^' + months + '/' + days + '/' + '\d{4}',[], False, "US Date\n(MMDDYYYY)"), + "USDATEMMDDYY/":("##/##/##",'','DF','^' + months + '/' + days + '/\d\d',[], False, "US Date\n(MMDDYY)"), + "USDATEMMDDYYYY-":("##-##-####",'','DF','^' + months + '-' + days + '-' +'\d{4}',[], False, "MM-DD-YYYY"), + + "EUDATEYYYYMMDD/":("####/##/##",'','DF','^' + '\d{4}'+ '/' + months + '/' + days,[], False, "YYYY/MM/DD"), + "EUDATEYYYYMMDD.":("####.##.##",'','DF','^' + '\d{4}'+ '.' + months + '.' + days,[], False, "YYYY.MM.DD"), + "EUDATEDDMMYYYY/":("##/##/####",'','DF','^' + days + '/' + months + '/' + '\d{4}',[], False, "DD/MM/YYYY"), + "EUDATEDDMMYYYY.":("##.##.####",'','DF','^' + days + '.' + months + '.' + '\d{4}',[], False, "DD.MM.YYYY"), + "EUDATEDDMMMYYYY.":("##.CCC.####",'','DF','^' + days + '.' + charmonths + '.' + '\d{4}',[], False, "DD.Month.YYYY"), + "EUDATEDDMMMYYYY/":("##/CCC/####",'','DF','^' + days + '/' + charmonths + '/' + '\d{4}',[], False, "DD/Month/YYYY"), + + "EUDATETIMEYYYYMMDD/HHMMSS":("####/##/## ##:##:## AM",am_pm_exclude,'DF!','^' + '\d{4}'+ '/' + months + '/' + days + ' ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "YYYY/MM/DD HH:MM:SS"), + "EUDATETIMEYYYYMMDD.HHMMSS":("####.##.## ##:##:## AM",am_pm_exclude,'DF!','^' + '\d{4}'+ '.' + months + '.' + days + ' ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "YYYY.MM.DD HH:MM:SS"), + "EUDATETIMEDDMMYYYY/HHMMSS":("##/##/#### ##:##:## AM",am_pm_exclude,'DF!','^' + days + '/' + months + '/' + '\d{4} ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "DD/MM/YYYY HH:MM:SS"), + "EUDATETIMEDDMMYYYY.HHMMSS":("##.##.#### ##:##:## AM",am_pm_exclude,'DF!','^' + days + '.' + months + '.' + '\d{4} ' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "DD.MM.YYYY HH:MM:SS"), + + "EUDATETIMEYYYYMMDD/HHMM":("####/##/## ##:## AM",am_pm_exclude,'DF!','^' + '\d{4}'+ '/' + months + '/' + days + ' ' + hours + ':' + minutes + ' (A|P)M',[], False, "YYYY/MM/DD HH:MM"), + "EUDATETIMEYYYYMMDD.HHMM":("####.##.## ##:## AM",am_pm_exclude,'DF!','^' + '\d{4}'+ '.' + months + '.' + days + ' ' + hours + ':' + minutes + ' (A|P)M',[], False, "YYYY.MM.DD HH:MM"), + "EUDATETIMEDDMMYYYY/HHMM":("##/##/#### ##:## AM",am_pm_exclude,'DF!','^' + days + '/' + months + '/' + '\d{4} ' + hours + ':' + minutes + ' (A|P)M',[], False, "DD/MM/YYYY HH:MM"), + "EUDATETIMEDDMMYYYY.HHMM":("##.##.#### ##:## AM",am_pm_exclude,'DF!','^' + days + '.' + months + '.' + '\d{4} ' + hours + ':' + minutes + ' (A|P)M',[], False, "DD.MM.YYYY HH:MM"), + + "EUDATEMILTIMEYYYYMMDD/HHMMSS":("####/##/## ##:##:##",'','DF','^' + '\d{4}'+ '/' + months + '/' + days + ' ' + milhours + ':' + minutes + ':' + seconds,[], False, "YYYY/MM/DD Mil. Time"), + "EUDATEMILTIMEYYYYMMDD.HHMMSS":("####.##.## ##:##:##",'','DF','^' + '\d{4}'+ '.' + months + '.' + days + ' ' + milhours + ':' + minutes + ':' + seconds,[], False, "YYYY.MM.DD Mil. Time"), + "EUDATEMILTIMEDDMMYYYY/HHMMSS":("##/##/#### ##:##:##",'','DF','^' + days + '/' + months + '/' + '\d{4} ' + milhours + ':' + minutes + ':' + seconds,[], False, "DD/MM/YYYY Mil. Time"), + "EUDATEMILTIMEDDMMYYYY.HHMMSS":("##.##.#### ##:##:##",'','DF','^' + days + '.' + months + '.' + '\d{4} ' + milhours + ':' + minutes + ':' + seconds,[], False, "DD.MM.YYYY Mil. Time"), + "EUDATEMILTIMEYYYYMMDD/HHMM":("####/##/## ##:##",'','DF','^' + '\d{4}'+ '/' + months + '/' + days + ' ' + milhours + ':' + minutes,[], False, "YYYY/MM/DD Mil. Time\n(w/o seconds)"), + "EUDATEMILTIMEYYYYMMDD.HHMM":("####.##.## ##:##",'','DF','^' + '\d{4}'+ '.' + months + '.' + days + ' ' + milhours + ':' + minutes,[], False, "YYYY.MM.DD Mil. Time\n(w/o seconds)"), + "EUDATEMILTIMEDDMMYYYY/HHMM":("##/##/#### ##:##",'','DF','^' + days + '/' + months + '/' + '\d{4} ' + milhours + ':' + minutes,[], False, "DD/MM/YYYY Mil. Time\n(w/o seconds)"), + "EUDATEMILTIMEDDMMYYYY.HHMM":("##.##.#### ##:##",'','DF','^' + days + '.' + months + '.' + '\d{4} ' + milhours + ':' + minutes,[], False, "DD.MM.YYYY Mil. Time\n(w/o seconds)"), + + "TIMEHHMMSS":("##:##:## AM", am_pm_exclude, 'TF!', '^' + hours + ':' + minutes + ':' + seconds + ' (A|P)M',[], False, "HH:MM:SS (A|P)M\n(see wxTimeCtrl)"), + "TIMEHHMM":("##:## AM", am_pm_exclude, 'TF!', '^' + hours + ':' + minutes + ' (A|P)M',[], False, "HH:MM (A|P)M\n(see wxTimeCtrl)"), + "MILTIMEHHMMSS":("##:##:##", "", 'TF', '^' + milhours + ':' + minutes + ':' + seconds,[], False, "Military HH:MM:SS\n(see wxTimeCtrl)"), + "MILTIMEHHMM":("##:##", "", 'TF', '^' + milhours + ':' + minutes,[], False, "Military HH:MM\n(see wxTimeCtrl)"), + "USSOCIALSEC":("###-##-####","",'F',"\d{3}-\d{2}-\d{4}",[], False, "Social Sec#"), + "CREDITCARD":("####-####-####-####","",'F',"\d{4}-\d{4}-\d{4}-\d{4}",[], False, "Credit Card"), + "EXPDATEMMYY":("##/##", "", "F", "^" + months + "/\d\d",[], False, "Expiration MM/YY"), + "USZIP":("#####","",'F',"^\d{5}",[], False, "US 5-digit zip code"), + "USZIPPLUS4":("#####-####","",'F',"\d{5}-(\s{4}|\d{4})",[], False, "US zip+4 code"), + "PERCENT":("0.##","",'F',"^0.\d\d",[], False, "Percentage"), + "AGE":("###","","F","^[1-9]{1} |[1-9][0-9] |1[0|1|2][0-9]",[], False, "Age"), + "EMAIL":("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"," \\/*&%$#!+='\"","F", + "[a-zA-Z]\w*(\.\w+)*@\w+\.([a-zA-Z]\w*\.)*(com|org|net|edu|mil|gov|(co\.)?\w\w) *$",[], False, "Email address"), + "IPADDR":("###.###.###.###", "", 'F_Sr<', + "( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))(\.( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))){3}",[], False, "IP Address\n(see wxIpAddrCtrl)") + } + +# build demo-friendly dictionary of descriptions of autoformats +autoformats = [] +for key, value in masktags.items(): + autoformats.append((key, value[6])) +autoformats.sort() + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +class Field: + valid_params = { + 'index': None, ## which field of mask; set by parent control. + 'mask': "", ## mask chars for this field + 'extent': (), ## (edit start, edit_end) of field; set by parent control. + 'formatcodes': "", ## codes indicating formatting options for the control + 'fillChar': ' ', ## used as initial value for each mask position if initial value is not given + 'groupChar': ',', ## used with numeric fields; indicates what char groups 3-tuple digits + 'decimalChar': '.', ## used with numeric fields; indicates what char separates ordinal from fraction + 'shiftDecimalChar': '>', ## used with numeric fields, indicates what is above the decimal point char on keyboard + 'defaultValue': "", ## use if you want different positional defaults vs. all the same fillChar + 'excludeChars': "", ## optional string of chars to exclude even if main mask type does + 'includeChars': "", ## optional string of chars to allow even if main mask type doesn't + 'validRegex': "", ## optional regular expression to use to validate the control + 'validRange': (), ## Optional hi-low range for numerics + 'choices': [], ## Optional list for character expressions + 'choiceRequired': False, ## If choices supplied this specifies if valid value must be in the list + 'validFunc': None, ## Optional function for defining additional, possibly dynamic validation constraints on contrl + 'compareNoCase': False, ## Optional flag to indicate whether or not to use case-insensitive list search + 'validRequired': False, ## Set to True to disallow input that results in an invalid value + 'emptyInvalid': False, ## Set to True to make EMPTY = INVALID + } + + + def __init__(self, **kwargs): + """ + This is the "constructor" for setting up parameters for fields. + a field_index of -1 is used to indicate "the entire control." + """ +## dbg('Field::Field', indent=1) + # Validate legitimate set of parameters: + for key in kwargs.keys(): + if key not in Field.valid_params.keys(): + raise TypeError('invalid parameter "%s"' % (key)) + + # Set defaults for each parameter for this instance, and fully + # populate initial parameter list for configuration: + for key, value in Field.valid_params.items(): + setattr(self, '_' + key, copy.copy(value)) + if not kwargs.has_key(key): + kwargs[key] = copy.copy(value) + + self._SetParameters(**kwargs) + +## dbg(indent=0) + + + def _SetParameters(self, **kwargs): + """ + This function can be used to set individual or multiple parameters for + a masked edit field parameter after construction. + """ + dbg(suspend=1) + dbg('maskededit.Field::_SetParameters', indent=1) + # Validate keyword arguments: + for key in kwargs.keys(): + if key not in Field.valid_params.keys(): + raise AttributeError('invalid keyword argument "%s"' % key) + + if self._index is not None: dbg('field index:', self._index) + dbg('parameters:', indent=1) + for key, value in kwargs.items(): + dbg('%s:' % key, value) + dbg(indent=0) + + # First, Assign all parameters specified: + for key in Field.valid_params.keys(): + if kwargs.has_key(key): + setattr(self, '_' + key, kwargs[key] ) + + # Now go do validation, semantic and inter-dependency parameter processing: + if kwargs.has_key('choiceRequired'): # (set/changed) + if self._choiceRequired: + self._choices = [choice.strip() for choice in self._choices] + + if kwargs.has_key('compareNoCase'): # (set/changed) + if self._compareNoCase and self._choices: + self._choices = [item.lower() for item in self._choices] + dbg('modified choices:', self._choices) + + if kwargs.has_key('formatcodes'): # (set/changed) + self._forceupper = '!' in self._formatcodes + self._forcelower = '^' in self._formatcodes + self._groupdigits = ',' in self._formatcodes + self._okSpaces = '_' in self._formatcodes + self._padZero = '0' in self._formatcodes + self._autofit = 'F' in self._formatcodes + self._insertRight = 'r' in self._formatcodes + self._alignRight = 'R' in self._formatcodes or 'r' in self._formatcodes + self._moveOnFieldFull = not '<' in self._formatcodes + self._selectOnFieldEntry = 'S' in self._formatcodes + + if self._groupdigits: + if kwargs.has_key('groupChar'): + self._groupChar = kwargs['groupChar'] + if kwargs.has_key('decimalChar'): + self._decimalChar = kwargs['decimalChar'] + if kwargs.has_key('shiftDecimalChar'): + self._shiftDecimalChar = kwargs['shiftDecimalChar'] + + if kwargs.has_key('formatcodes') or kwargs.has_key('validRegex'): + self._regexMask = 'V' in self._formatcodes and self._validRegex + + if kwargs.has_key('validRegex'): # (set/changed) + if self._validRegex: + try: + if self._compareNoCase: + self._filter = re.compile(self._validRegex, re.IGNORECASE) + else: + self._filter = re.compile(self._validRegex) + except: + raise TypeError('%s: validRegex "%s" not a legal regular expression' % (str(self._index), self._validRegex)) + else: + self._filter = None + + if kwargs.has_key('mask') or kwargs.has_key('validRegex'): # (set/changed) + self._isInt = isInteger(self._mask) + dbg('isInt?', self._isInt) + + if kwargs.has_key('validRange'): # (set/changed) + self._hasRange = False + self._rangeHigh = 0 + self._rangeLow = 0 + if self._validRange: + if type(self._validRange) != type(()) or len( self._validRange )!= 2 or self._validRange[0] >= self._validRange[1]: + raise TypeError('%s: validRange %s parameter must be tuple of form (a,b) where a < b' + % (str(self._index), repr(self._validRange)) ) + + self._hasRange = True + self._rangeLow = self._validRange[0] + self._rangeHigh = self._validRange[1] + + if kwargs.has_key('choices'): # (set/changed) + self._hasList = False + if type(self._choices) not in (type(()), type([])): + raise TypeError('%s: choices must be a sequence of strings' % str(self._index)) + elif len( self._choices) > 0: + for choice in self._choices: + if type(choice) != type(''): + raise TypeError('%s: choices must be a sequence of strings' % str(self._index)) + + # Verify each choice specified is valid: + for choice in self._choices: + if not self.IsValid(choice): + raise ValueError('%s: "%s" is not a valid value for the control as specified.' % (str(self._index), choice)) + self._hasList = True + + # reset field validity assumption: + self._valid = True + dbg(indent=0, suspend=0) + + + def _GetParameter(self, paramname): + """ + Routine for retrieving the value of any given parameter + """ + if Field.valid_params.has_key(paramname): + return getattr(self, '_' + paramname) + else: + TypeError('Field._GetParameter: invalid parameter "%s"' % key) + + + def IsEmpty(self, slice): + """ + Indicates whether the specified slice is considered empty for the + field. + """ + dbg('Field::IsEmpty("%s")' % slice, indent=1) + if not hasattr(self, '_template'): + raise AttributeError('_template') + + dbg('self._template: "%s"' % self._template) + dbg('self._defaultValue: "%s"' % str(self._defaultValue)) + if slice == self._template and not self._defaultValue: + dbg(indent=0) + return True + + elif slice == self._template: + empty = True + for pos in range(len(self._template)): +## dbg('slice[%(pos)d] != self._fillChar?' %locals(), slice[pos] != self._fillChar[pos]) + if slice[pos] not in (' ', self._fillChar): + empty = False + break + dbg("IsEmpty? %(empty)d (do all mask chars == fillChar?)" % locals(), indent=0) + return empty + else: + dbg("IsEmpty? 0 (slice doesn't match template)", indent=0) + return False + + + def IsValid(self, slice): + """ + Indicates whether the specified slice is considered a valid value for the + field. + """ + dbg(suspend=1) + dbg('Field[%s]::IsValid("%s")' % (str(self._index), slice), indent=1) + valid = True # assume true to start + + if self._emptyInvalid and self.IsEmpty(slice): + valid = False + + elif self._hasList and self._choiceRequired: + dbg("(member of list required)") + # do case-insensitive match on list; strip surrounding whitespace from slice (already done for choices): + compareStr = slice.strip() + if self._compareNoCase: + compareStr = compareStr.lower() + valid = (compareStr in self._choices) + + elif self._hasRange and not self.IsEmpty(slice): + dbg('validating against range') + try: + valid = self._rangeLow <= int(slice) <= self._rangeHigh + except: + valid = False + + elif self._validRegex and self._filter: + dbg('validating against regex') + valid = (re.match( self._filter, slice) is not None) + + if valid and self._validFunc: + dbg('validating against supplied function') + valid = self._validFunc(slice) + dbg('valid?', valid, indent=0, suspend=0) + return valid + + + def _AdjustField(self, slice): + """ 'Fixes' an integer field. Right or left-justifies, as required.""" + dbg('Field::_AdjustField("%s")' % slice, indent=1) + length = len(self._mask) + if self._isInt: + signpos = slice.find('-') + intStr = slice.replace( '-', '' ) # drop sign, if any + intStr = intStr.replace(' ', '') # drop extra spaces + intStr = string.replace(intStr,self._fillChar,"") # drop extra fillchars + intStr = string.replace(intStr,"-","") # drop sign, if any + intStr = string.replace(intStr, self._groupChar, "") # lose commas/dots + if self._groupdigits: + new = '' + cnt = 1 + for i in range(len(intStr)-1, -1, -1): + new = intStr[i] + new + if (cnt) % 3 == 0: + new = self._groupChar + new + cnt += 1 + if new and new[0] == self._groupChar: + new = new[1:] + if len(new) <= length: + # expanded string will still fit and leave room for sign: + intStr = new + # else... leave it without the commas... + + dbg('padzero?', self._padZero) + dbg('len(intStr):', len(intStr), 'field length:', length) + if self._padZero and len(intStr) < length: + intStr = '0' * (length - len(intStr)) + intStr + if signpos != -1: + intStr = '-' + intStr[1:] + elif signpos != -1: + intStr = '-' + intStr + slice = intStr + + slice = slice.strip() # drop extra spaces + + if self._alignRight: ## Only if right-alignment is enabled + slice = slice.rjust( length ) + else: + slice = slice.ljust( length ) + dbg('adjusted slice: "%s"' % slice, indent=0) + return slice + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +class wxMaskedEditMixin: + """ + This class allows us to abstract the masked edit functionality that could + be associated with any text entry control. (eg. wxTextCtrl, wxComboBox, etc.) + """ + valid_ctrl_params = { + 'mask': 'XXXXXXXXXXXXX', ## mask string for formatting this control + 'autoformat': "", ## optional auto-format code to set format from masktags dictionary + 'fields': {}, ## optional list/dictionary of maskededit.Field class instances, indexed by position in mask + 'datestyle': 'MDY', ## optional date style for date-type values. Can trigger autocomplete year + 'autoCompleteKeycodes': [], ## Optional list of additional keycodes which will invoke field-auto-complete + 'useFixedWidthFont': True, ## Use fixed-width font instead of default for base control + 'retainFieldValidation': False, ## Set this to true if setting control-level parameters independently, + ## from field validation constraints + 'emptyBackgroundColor': "White", + 'validBackgroundColor': "White", + 'invalidBackgroundColor': "Yellow", + 'foregroundColor': "Black", + 'signedForegroundColor': "Red", + 'demo': False} + + + def __init__(self, name = 'wxMaskedEdit', **kwargs): + """ + This is the "constructor" for setting up the mixin variable parameters for the composite class. + """ + + self.name = name + + # set up flag for doing optional things to base control if possible + if not hasattr(self, 'controlInitialized'): + self.controlInitialized = False + + # Set internal state var for keeping track of whether or not a character + # action results in a modification of the control, since .SetValue() + # doesn't modify the base control's internal state: + self.modified = False + + # Validate legitimate set of parameters: + for key in kwargs.keys(): + if key not in wxMaskedEditMixin.valid_ctrl_params.keys() + Field.valid_params.keys(): + raise TypeError('%s: invalid parameter "%s"' % (name, key)) + + ## Set up dictionary that can be used by subclasses to override or add to default + ## behavior for individual characters. Derived subclasses needing to change + ## default behavior for keys can either redefine the default functions for the + ## common keys or add functions for specific keys to this list. Each function + ## added should take the key event as argument, and return False if the key + ## requires no further processing. + ## + ## Initially populated with navigation and function control keys: + self._keyhandlers = { + # default navigation keys and handlers: + WXK_BACK: self._OnErase, + WXK_LEFT: self._OnArrow, + WXK_RIGHT: self._OnArrow, + WXK_UP: self._OnAutoCompleteField, + WXK_DOWN: self._OnAutoCompleteField, + WXK_TAB: self._OnChangeField, + WXK_HOME: self._OnHome, + WXK_END: self._OnEnd, + WXK_RETURN: self._OnReturn, + WXK_PRIOR: self._OnAutoCompleteField, + WXK_NEXT: self._OnAutoCompleteField, + + # default function control keys and handlers: + WXK_DELETE: self._OnErase, + WXK_CTRL_A: self._OnCtrl_A, + WXK_CTRL_C: self._baseCtrlEventHandler, + WXK_CTRL_S: self._OnCtrl_S, + WXK_CTRL_V: self._OnCtrl_V, + WXK_CTRL_X: self._OnCtrl_X, + } + + ## bind standard navigational and control keycodes to this instance, + ## so that they can be augmented and/or changed in derived classes: + self._nav = list(nav) + self._control = list(control) + + ## Dynamically evaluate and store string constants for mask chars + ## so that locale settings can be made after this module is imported + ## and the controls created after that is done can allow the + ## appropriate characters: + self.maskchardict = { + "#": string.digits, + "A": string.uppercase, + "a": string.lowercase, + "X": string.letters + string.punctuation + string.digits, + "C": string.letters, + "N": string.letters + string.digits + } + + ## self._ignoreChange is used by wxMaskedComboBox, because + ## of the hack necessary to determine the selection; it causes + ## EVT_TEXT messages from the combobox to be ignored if set. + self._ignoreChange = False + self._oldvalue = None + + self._valid = True + + # Set defaults for each parameter for this instance, and fully + # populate initial parameter list for configuration: + for key, value in wxMaskedEditMixin.valid_ctrl_params.items(): + setattr(self, '_' + key, copy.copy(value)) + if not kwargs.has_key(key): +## dbg('%s: "%s"' % (key, repr(value))) + kwargs[key] = copy.copy(value) + + # Create a "field" that holds global parameters for control constraints + self._ctrl_constraints = self._fields[-1] = Field(index=-1) + self.SetCtrlParameters(**kwargs) + + + + def SetCtrlParameters(self, **kwargs): + """ + This public function can be used to set individual or multiple masked edit + parameters after construction. + """ + dbg('wxMaskedEditMixin::SetCtrlParameters', indent=1) + dbg('kwargs:', indent=1) + for key, value in kwargs.items(): + dbg(key, '=', value) + dbg(indent=0) + + # Validate keyword arguments: + constraint_kwargs = {} + ctrl_kwargs = {} + for key, value in kwargs.items(): + if key not in wxMaskedEditMixin.valid_ctrl_params.keys() + Field.valid_params.keys(): + raise TypeError('%s: invalid keyword argument "%s"' % (self.name, key)) + elif key in Field.valid_params.keys(): + constraint_kwargs[key] = value + else: + ctrl_kwargs[key] = value + + mask = None + reset_args = {} + + if ctrl_kwargs.has_key('autoformat'): + autoformat = ctrl_kwargs['autoformat'] + else: + autoformat = None + + if autoformat != self._autoformat and autoformat in masktags.keys(): + dbg('autoformat:', autoformat) + self._autoformat = autoformat + mask = masktags[self._autoformat][0] + constraint_kwargs['excludeChars'] = masktags[self._autoformat][1] + constraint_kwargs['formatcodes'] = masktags[self._autoformat][2] + constraint_kwargs['validRegex'] = masktags[self._autoformat][3] + constraint_kwargs['choices'] = masktags[self._autoformat][4] + if masktags[self._autoformat][4]: + constraint_kwargs['choiceRequired'] = masktags[self._autoformat][5] + + else: + dbg('autoformat not selected') + if kwargs.has_key('mask'): + mask = kwargs['mask'] + dbg('mask:', mask) + + ## Assign style flags + if mask is None: + dbg('preserving previous mask') + mask = self._previous_mask # preserve previous mask + else: + dbg('mask (re)set') + reset_args['reset_mask'] = mask + constraint_kwargs['mask'] = mask + + # wipe out previous fields; preserve new control-level constraints + self._fields = {-1: self._ctrl_constraints} + + + if ctrl_kwargs.has_key('fields'): + # do field parameter type validation, and conversion to internal dictionary + # as appropriate: + fields = ctrl_kwargs['fields'] + if type(fields) in (types.ListType, types.TupleType): + for i in range(len(fields)): + field = fields[i] + if not isinstance(field, Field): + dbg(indent=0) + raise AttributeError('invalid type for field parameter: %s' % repr(field)) + self._fields[i] = field + + elif type(fields) == types.DictionaryType: + for index, field in fields.items(): + if not isinstance(field, Field): + dbg(indent=0) + raise AttributeError('invalid type for field parameter: %s' % repr(field)) + self._fields[index] = field + else: + dbg(indent=0) + raise AttributeError('fields parameter must be a list or dictionary; not %s' % repr(fields)) + + # Assign constraint parameters for entire control: +## dbg('control constraints:', indent=1) +## for key, value in constraint_kwargs.items(): +## dbg('%s:' % key, value) +## dbg(indent=0) + + # determine if changing parameters that should affect the entire control: + for key in wxMaskedEditMixin.valid_ctrl_params.keys(): + if key in ( 'mask', 'fields' ): continue # (processed separately) + if ctrl_kwargs.has_key(key): + setattr(self, '_' + key, ctrl_kwargs[key]) + + + dbg('self._retainFieldValidation:', self._retainFieldValidation) + if not self._retainFieldValidation: + # Build dictionary of any changing parameters which should be propagated to the + # component fields: + for arg in ('fillChar', 'groupChar', 'compareNoCase', 'defaultValue', 'validRequired'): + dbg('kwargs.has_key(%s)?' % arg, kwargs.has_key(arg)) + dbg('getattr(self._ctrl_constraints, _%s)?' % arg, getattr(self._ctrl_constraints, '_'+arg)) + reset_args[arg] = kwargs.has_key(arg) and kwargs[arg] != getattr(self._ctrl_constraints, '_'+arg) + dbg('reset_args[%s]?' % arg, reset_args[arg]) + + # Set the control-level constraints: + self._ctrl_constraints._SetParameters(**constraint_kwargs) + + # This routine does the bulk of the interdependent parameter processing, determining + # the field extents of the mask if changed, resetting parameters as appropriate, + # determining the overall template value for the control, etc. + self._configure(mask, **reset_args) + + self._autofit = self._ctrl_constraints._autofit + self._isNeg = False + + self._isDate = 'D' in self._ctrl_constraints._formatcodes and isDateType(mask) + self._isTime = 'T' in self._ctrl_constraints._formatcodes and isTimeType(mask) + if self._isDate: + # Set _dateExtent, used in date validation to locate date in string; + # always set as though year will be 4 digits, even if mask only has + # 2 digits, so we can always properly process the intended year for + # date validation (leap years, etc.) + if self._mask.find('CCC') != -1: self._dateExtent = 11 + else: self._dateExtent = 10 + + self._4digityear = len(self._mask) > 8 and self._mask[9] == '#' + + if self._isDate and self._autoformat: + # Auto-decide datestyle: + if self._autoformat.find('MDDY') != -1: self._datestyle = 'MDY' + elif self._autoformat.find('YMMD') != -1: self._datestyle = 'YMD' + elif self._autoformat.find('YMMMD') != -1: self._datestyle = 'YMD' + elif self._autoformat.find('DMMY') != -1: self._datestyle = 'DMY' + elif self._autoformat.find('DMMMY') != -1: self._datestyle = 'DMY' + + + if self.controlInitialized: + # Then the base control is available for configuration; + # take action on base control based on new settings, as appropriate. + if kwargs.has_key('useFixedWidthFont'): + # Set control font - fixed width by default + self._setFont() + + if reset_args.has_key('reset_mask') or not self._GetValue().strip(): + self._SetInitialValue() + + if self._autofit: + self.SetClientSize(self._calcSize()) + + # Set value/type-specific formatting + self._applyFormatting() + dbg(indent=0) + + def SetMaskParameters(self, **kwargs): + """ old name for this function """ + return self.SetCtrlParameters(**kwargs) + + + def GetCtrlParameter(self, paramname): + """ + Routine for retrieving the value of any given parameter + """ + if wxMaskedEditMixin.valid_ctrl_params.has_key(paramname): + return getattr(self, '_' + paramname) + elif Field.valid_params.has_key(paramname): + return self._ctrl_constraints._GetParameter(paramname) + else: + TypeError('%s.GetCtrlParameter: invalid parameter "%s"' % (self.name, paramname)) + + def GetMaskParameter(self, paramname): + """ old name for this function """ + return self.GetCtrlParameter(paramname) + + def SetFieldParameters(self, field_index, **kwargs): + """ + Routine provided to modify the parameters of a given field. + Because changes to fields can affect the overall control, + direct access to the fields is prevented, and the control + is always "reconfigured" after setting a field parameter. + """ + if field_index not in self._field_indices: + raise IndexError('%s: %s is not a valid field for this control.' % (self.name, str(field_index))) + # set parameters as requested: + self._fields[field_index]._SetParameters(**kwargs) + + # Possibly reprogram control template due to resulting changes, and ensure + # control-level params are still propagated to fields: + self._configure(self._previous_mask) + + if self.controlInitialized: + if kwargs.has_key('fillChar') or kwargs.has_key('defaultValue'): + self._SetInitialValue() + + if self._autofit: + self.SetClientSize(self._calcSize()) + + # Set value/type-specific formatting + self._applyFormatting() + + + def GetFieldParameter(self, field_index, paramname): + """ + Routine provided for getting a parameter of an individual field. + """ + if field_index not in self._field_indices: + raise IndexError('%s: %s is not a valid field for this control.' % (self.name, str(field_index))) + elif Field.valid_params.has_key(paramname): + return self._fields[field_index]._GetParameter(paramname) + else: + TypeError('%s.GetFieldParameter: invalid parameter "%s"' % (self.name, paramname)) + + + def _SetKeycodeHandler(self, keycode, func): + """ + This function adds and/or replaces key event handling functions + used by the control. should take the event as argument + and return False if no further action on the key is necessary. + """ + self._keyhandlers[keycode] = func + + + def _SetKeyHandler(self, char, func): + """ + This function adds and/or replaces key event handling functions + for ascii characters. should take the event as argument + and return False if no further action on the key is necessary. + """ + self._SetKeycodeHandler(ord(char), func) + + + def _AddNavKeycode(self, keycode, handler=None): + """ + This function allows a derived subclass to augment the list of + keycodes that are considered "navigational" keys. + """ + self._nav.append(keycode) + if handler: + self._keyhandlers[keycode] = handler + + + def _AddNavKey(self, char, handler=None): + """ + This function is a convenience function so you don't have to + remember to call ord() for ascii chars to be used for navigation. + """ + self._AddNavKeycode(ord(char), handler) + + + def _GetNavKeycodes(self): + """ + This function retrieves the current list of navigational keycodes for + the control. + """ + return self._nav + + + def _SetNavKeycodes(self, keycode_func_tuples): + """ + This function allows you to replace the current list of keycode processed + as navigation keys, and bind associated optional keyhandlers. + """ + self._nav = [] + for keycode, func in keycode_func_tuples: + self._nav.append(keycode) + if func: + self._keyhandlers[keycode] = func + + + def _processMask(self, mask): + """ + This subroutine expands {n} syntax in mask strings, and looks for escaped + special characters and returns the expanded mask, and an dictionary + of booleans indicating whether or not a given position in the mask is + a mask character or not. + """ + dbg('_processMask: mask', mask, indent=1) + # regular expression for parsing c{n} syntax: + rex = re.compile('([' +string.join(maskchars,"") + '])\{(\d+)\}') + s = mask + match = rex.search(s) + while match: # found an(other) occurrence + maskchr = s[match.start(1):match.end(1)] # char to be repeated + repcount = int(s[match.start(2):match.end(2)]) # the number of times + replacement = string.join( maskchr * repcount, "") # the resulting substr + s = s[:match.start(1)] + replacement + s[match.end(2)+1:] #account for trailing '}' + match = rex.search(s) # look for another such entry in mask + + self._decimalChar = self._ctrl_constraints._decimalChar + self._shiftDecimalChar = self._ctrl_constraints._shiftDecimalChar + + self._isDec = isDecimal(s, self._decimalChar) and not self._ctrl_constraints._validRegex + self._isInt = isInteger(s) and not self._ctrl_constraints._validRegex + self._signOk = '-' in self._ctrl_constraints._formatcodes and (self._isDec or self._isInt) + dbg('isDecimal(%s, %c)?' % (s, self._decimalChar), isDecimal(s, self._decimalChar), + 'ctrl regex:', self._ctrl_constraints._validRegex) + + if self._signOk and s[0] != ' ': + s = ' ' + s + if self._ctrl_constraints._defaultValue and self._ctrl_constraints._defaultValue[0] != ' ': + self._ctrl_constraints._defaultValue = ' ' + self._ctrl_constraints._defaultValue + + # Now, go build up a dictionary of booleans, indexed by position, + # indicating whether or not a given position is masked or not + ismasked = {} + i = 0 + while i < len(s): + if s[i] == '\\': # if escaped character: + ismasked[i] = False # mark position as not a mask char + if i+1 < len(s): # if another char follows... + s = s[:i] + s[i+1:] # elide the '\' + if i+2 < len(s) and s[i+1] == '\\': + # if next char also a '\', char is a literal '\' + s = s[:i] + s[i+1:] # elide the 2nd '\' as well + else: # else if special char, mark position accordingly + ismasked[i] = s[i] in maskchars +## dbg('ismasked[%d]:' % i, ismasked[i], s) + i += 1 # increment to next char +## dbg('ismasked:', ismasked) + dbg(indent=0) + return s, ismasked + + + def _calcFieldExtents(self): + """ + Subroutine responsible for establishing/configuring field instances with + indices and editable extents appropriate to the specified mask, and building + the lookup table mapping each position to the corresponding field. + """ + if self._mask: + + ## Create dictionary of positions,characters in mask + self.maskdict = {} + for charnum in range( len( self._mask)): + self.maskdict[charnum] = self._mask[charnum:charnum+1] + + # For the current mask, create an ordered list of field extents + # and a dictionary of positions that map to field indices: + self._lookupField = {} + + if self._signOk: start = 1 + else: start = 0 + + if self._isDec: + # Skip field "discovery", and just construct a 2-field control with appropriate + # constraints for a floating-point entry. + + # .setdefault always constructs 2nd argument even if not needed, so we do this + # the old-fashioned way... + if not self._fields.has_key(0): + self._fields[0] = Field() + if not self._fields.has_key(1): + self._fields[1] = Field() + + self._decimalpos = string.find( self._mask, self._decimalChar) + dbg('decimal pos =', self._decimalpos) + + formatcodes = self._fields[0]._GetParameter('formatcodes') + if 'R' not in formatcodes: formatcodes += 'R' + self._fields[0]._SetParameters(index=0, extent=(start, self._decimalpos), + mask=self._mask[start:self._decimalpos], formatcodes=formatcodes) + + self._fields[1]._SetParameters(index=1, extent=(self._decimalpos+1, len(self._mask)), + mask=self._mask[self._decimalpos+1:len(self._mask)]) + + for i in range(self._decimalpos+1): + self._lookupField[i] = 0 + + for i in range(self._decimalpos+1, len(self._mask)+1): + self._lookupField[i] = 1 + + elif self._isInt: + # Skip field "discovery", and just construct a 1-field control with appropriate + # constraints for a integer entry. + if not self._fields.has_key(0): + self._fields[0] = Field(index=0) + self._fields[0]._SetParameters(extent=(start, len(self._mask)), + mask=self._mask[start:len(self._mask)]) + + for i in range(len(self._mask)+1): + self._lookupField[i] = 0 + else: + # generic control; parse mask to figure out where the fields are: + field_index = 0 + pos = 0 + i = self._findNextEntry(pos,adjustInsert=False) # go to 1st entry point: + if i < len(self._mask): # no editable chars! + for j in range(pos, i+1): + self._lookupField[j] = field_index + pos = i # figure out field for 1st editable space: + + while i <= len(self._mask): +## dbg('searching: outer field loop: i = ', i) + if self._isMaskChar(i): +## dbg('1st char is mask char; recording edit_start=', i) + edit_start = i + # Skip to end of editable part of current field: + while i < len(self._mask) and self._isMaskChar(i): + self._lookupField[i] = field_index + i += 1 +## dbg('edit_end =', i) + edit_end = i + self._lookupField[i] = field_index +## dbg('self._fields.has_key(%d)?' % field_index, self._fields.has_key(field_index)) + if not self._fields.has_key(field_index): + self._fields[field_index] = Field() + self._fields[field_index]._SetParameters( + index=field_index, + extent=(edit_start, edit_end), + mask=self._mask[edit_start:edit_end]) + pos = i + i = self._findNextEntry(pos, adjustInsert=False) # go to next field: + if i > pos: + for j in range(pos, i+1): + self._lookupField[j] = field_index + if i >= len(self._mask): + break # if past end, we're done + else: + field_index += 1 +## dbg('next field:', field_index) + + indices = self._fields.keys() + indices.sort() + self._field_indices = indices[1:] +## dbg('lookupField map:', indent=1) +## for i in range(len(self._mask)): +## dbg('pos %d:' % i, self._lookupField[i]) +## dbg(indent=0) + + # Verify that all field indices specified are valid for mask: + for index in self._fields.keys(): + if index not in [-1] + self._lookupField.values(): + dbg(indent=0) + raise IndexError('field %d is not a valid field for mask "%s"' % (index, self._mask)) + + + def _calcTemplate(self, reset_fillchar, reset_default): + """ + Subroutine for processing current fillchars and default values for + whole control and individual fields, constructing the resulting + overall template, and adjusting the current value as necessary. + """ + default_set = False + if self._ctrl_constraints._defaultValue: + default_set = True + else: + for field in self._fields.values(): + if field._defaultValue and not reset_default: + default_set = True + dbg('default set?', default_set) + + # Determine overall new template for control, and keep track of previous + # values, so that current control value can be modified as appropriate: + if self.controlInitialized: curvalue = list(self._GetValue()) + else: curvalue = None + + if hasattr(self, '_fillChar'): old_fillchars = self._fillChar + else: old_fillchars = None + + if hasattr(self, '_template'): old_template = self._template + else: old_template = None + + self._template = "" + + self._fillChar = {} + reset_value = False + + for field in self._fields.values(): + field._template = "" + + for pos in range(len(self._mask)): +## dbg('pos:', pos) + field = self._FindField(pos) +## dbg('field:', field._index) + start, end = field._extent + + if pos == 0 and self._signOk: + self._template = ' ' # always make 1st 1st position blank, regardless of fillchar + elif self._isMaskChar(pos): + if field._fillChar != self._ctrl_constraints._fillChar and not reset_fillchar: + fillChar = field._fillChar + else: + fillChar = self._ctrl_constraints._fillChar + self._fillChar[pos] = fillChar + + # Replace any current old fillchar with new one in current value; + # if action required, set reset_value flag so we can take that action + # after we're all done + if self.controlInitialized and old_fillchars and old_fillchars.has_key(pos) and curvalue: + if curvalue[pos] == old_fillchars[pos] and old_fillchars[pos] != fillChar: + reset_value = True + curvalue[pos] = fillChar + + if not field._defaultValue and not self._ctrl_constraints._defaultValue: +## dbg('no default value') + self._template += fillChar + field._template += fillChar + + elif field._defaultValue and not reset_default: +## dbg('len(field._defaultValue):', len(field._defaultValue)) +## dbg('pos-start:', pos-start) + if len(field._defaultValue) > pos-start: +## dbg('field._defaultValue[pos-start]: "%s"' % field._defaultValue[pos-start]) + self._template += field._defaultValue[pos-start] + field._template += field._defaultValue[pos-start] + else: +## dbg('field default not long enough; using fillChar') + self._template += fillChar + field._template += fillChar + else: + if len(self._ctrl_constraints._defaultValue) > pos: +## dbg('using control default') + self._template += self._ctrl_constraints._defaultValue[pos] + field._template += self._ctrl_constraints._defaultValue[pos] + else: +## dbg('ctrl default not long enough; using fillChar') + self._template += fillChar + field._template += fillChar +## dbg('field[%d]._template now "%s"' % (field._index, field._template)) +## dbg('self._template now "%s"' % self._template) + else: + self._template += self._mask[pos] + + self._fields[-1]._template = self._template # (for consistency) + + if curvalue: # had an old value, put new one back together + newvalue = string.join(curvalue, "") + else: + newvalue = None + + if default_set: + self._defaultValue = self._template + dbg('self._defaultValue:', self._defaultValue) + if not self.IsEmpty(self._defaultValue) and not self.IsValid(self._defaultValue): + dbg(indent=0) + raise ValueError('%s: default value of "%s" is not a valid value' % (self.name, self._defaultValue)) + + # if no fillchar change, but old value == old template, replace it: + if newvalue == old_template: + newvalue = self._template + reset_value = true + else: + self._defaultValue = None + + if reset_value: + pos = self._GetInsertionPoint() + sel_start, sel_to = self._GetSelection() + self._SetValue(newvalue) + self._SetInsertionPoint(pos) + self._SetSelection(sel_start, sel_to) + + + def _propagateConstraints(self, **reset_args): + """ + Subroutine for propagating changes to control-level constraints and + formatting to the individual fields as appropriate. + """ + parent_codes = self._ctrl_constraints._formatcodes + for i in self._field_indices: + field = self._fields[i] + inherit_args = {} + + field_codes = current_codes = field._GetParameter('formatcodes') + for c in parent_codes: + if c not in field_codes: field_codes += c + if field_codes != current_codes: + inherit_args['formatcodes'] = field_codes + + include_chars = current_includes = field._GetParameter('includeChars') + for c in include_chars: + if not c in include_chars: include_chars += c + if include_chars != current_includes: + inherit_args['includeChars'] = include_chars + + exclude_chars = current_excludes = field._GetParameter('excludeChars') + for c in exclude_chars: + if not c in exclude_chars: exclude_chars += c + if exclude_chars != current_excludes: + inherit_args['excludeChars'] = exclude_chars + + if reset_args.has_key('defaultValue') and reset_args['defaultValue']: + inherit_args['defaultValue'] = "" # (reset for field) + + for param in ['fillChar', 'groupChar', 'compareNoCase', 'emptyInvalid', 'validRequired']: + if reset_args.has_key(param) and reset_args[param]: + inherit_args[param] = self.GetCtrlParameter(param) + + if inherit_args: + field._SetParameters(**inherit_args) + + + def _validateChoices(self): + """ + Subroutine that validates that all choices for given fields are at + least of the necessary length, and that they all would be valid pastes + if pasted into their respective fields. + """ + for field in self._fields.values(): + if field._choices: + index = field._index +## dbg('checking for choices for field', field._index) + start, end = field._extent + field_length = end - start +## dbg('start, end, length:', start, end, field_length) + + for choice in field._choices: + valid_paste, ignore, replace_to = self._validatePaste(choice, start, end) + if not valid_paste: + dbg(indent=0) + raise ValueError('%s: "%s" could not be entered into field %d' % (self.name, choice, index)) + elif replace_to > end: + dbg(indent=0) + raise ValueError('%s: "%s" will not fit into field %d' (self.name, choice, index)) +## dbg(choice, 'valid in field', index) + + + def _configure(self, mask, **reset_args): + """ + This function sets flags for automatic styling options. It is + called whenever a control or field-level parameter is set/changed. + + This routine does the bulk of the interdependent parameter processing, determining + the field extents of the mask if changed, resetting parameters as appropriate, + determining the overall template value for the control, etc. + + reset_args is supplied if called from control's .SetCtrlParameters() + routine, and indicates which if any parameters which can be + overridden by individual fields have been reset by request for the + whole control. + """ + dbg('wxMaskedEditMixin::_configure("%s")' % mask, indent=1) + + # Preprocess specified mask to expand {n} syntax, handle escaped + # mask characters, etc and build the resulting positionally keyed + # dictionary for which positions are mask vs. template characters: + self._mask, self.ismasked = self._processMask(mask) + dbg('processed mask:', self._mask) + + # Preserve original mask specified, for subsequent reprocessing + # if parameters change. + self._previous_mask = mask + + + # Set extent of field -1 to width of entire control: + self._ctrl_constraints._SetParameters(extent=(0,len(self._mask))) + + # Go parse mask to determine where each field is, construct field + # instances as necessary, configure them with those extents, and + # build lookup table mapping each position for control to its corresponding + # field. + self._calcFieldExtents() + + # Go process defaultValues and fillchars to construct the overall + # template, and adjust the current value as necessary: + reset_fillchar = reset_args.has_key('fillChar') and reset_args['fillChar'] + reset_default = reset_args.has_key('defaultValue') and reset_args['defaultValue'] + + self._calcTemplate(reset_fillchar, reset_default) + + # Propagate control-level formatting and character constraints to each + # field if they don't already have them: + self._propagateConstraints(**reset_args) + + + + if self._isDec and self._fields[0]._groupChar == self._decimalChar: + raise AttributeError('groupChar (%s) and decimalChar (%s) must be distinct.' % + (self._fields[0]._groupChar, self._decimalChar) ) + + # Validate that all choices for given fields are at least of the + # necessary length, and that they all would be valid pastes if pasted + # into their respective fields: + self._validateChoices() + + dbg('fields:', indent=1) + for i in [-1] + self._field_indices: + dbg('field %d:' % i, self._fields[i].__dict__) + dbg(indent=0) + + # Set up special parameters for numeric control, if appropriate: + if self._signOk: + self._signpos = 0 # assume it starts here, but it will move around on floats + self._SetKeyHandler('-', self._OnChangeSign) + self._SetKeyHandler('+', self._OnChangeSign) + self._SetKeyHandler(' ', self._OnChangeSign) + + if self._isDec or self._isInt: + dbg('Registering numeric navigation and control handlers') + + # Replace up/down arrow default handling: + # make down act like tab, up act like shift-tab: + self._SetKeycodeHandler(WXK_DOWN, self._OnChangeField) + self._SetKeycodeHandler(WXK_UP, self._OnUpNumeric) # (adds "shift" to up arrow, and calls _OnChangeField) + + # On ., truncate contents right of cursor to decimal point (if any) + # leaves cusor after decimal point if dec, otherwise at 0. + self._SetKeyHandler(self._decimalChar, self._OnDecimalPoint) + self._SetKeyHandler(self._shiftDecimalChar, self._OnChangeField) # (Shift-'.' == '>' on US keyboards) + + # Allow selective insert of groupchar in numbers: + self._SetKeyHandler(self._fields[0]._groupChar, self._OnGroupChar) + + dbg(indent=0) + + + def _SetInitialValue(self, value=""): + """ + fills the control with the generated or supplied default value. + It will also set/reset the font if necessary and apply + formatting to the control at this time. + """ + dbg('wxMaskedEditMixin::_SetInitialValue("%s")' % value, indent=1) + if not value: + self._SetValue( self._template ) + else: + # Apply validation as appropriate to passed value + self.SetValue(value) + + # Set value/type-specific formatting + self._applyFormatting() + dbg(indent=0) + + + def _calcSize(self, size=None): + """ Calculate automatic size if allowed; must be called after the base control is instantiated""" +## dbg('wxMaskedEditMixin::_calcSize', indent=1) + cont = (size is None or size == wxDefaultSize) + + if cont and self._autofit: + sizing_text = 'M' * len(self._mask) + if wxPlatform != "__WXMSW__": # give it a little extra space + sizing_text += 'M' + if wxPlatform == "__WXMAC__": # give it even a little more... + sizing_text += 'M' +## dbg('len(sizing_text):', len(sizing_text), 'sizing_text: "%s"' % sizing_text) + w, h = self.GetTextExtent(sizing_text) + size = (w+4, self.GetClientSize().height) +## dbg('size:', size, indent=0) + return size + + + def _setFont(self): + """ Set the control's font typeface -- pass the font name as str.""" +## dbg('wxMaskedEditMixin::_setFont', indent=1) + if not self._useFixedWidthFont: + self._font = wxSystemSettings_GetFont(wxSYS_DEFAULT_GUI_FONT) + else: + font = self.GetFont() # get size, weight, etc from current font + + # Set to teletype font (guaranteed to be mappable to all wxWindows + # platforms: + self._font = wxFont( font.GetPointSize(), wxTELETYPE, font.GetStyle(), + font.GetWeight(), font.GetUnderlined()) +## dbg('font string: "%s"' % font.GetNativeFontInfo().ToString()) + + self.SetFont(self._font) +## dbg(indent=0) + + + def _OnTextChange(self, event): + """ + Handler for EVT_TEXT event. + self._Change() is provided for subclasses, and may return False to + skip this method logic. This function returns True if the event + detected was a legitimate event, or False if it was a "bogus" + EVT_TEXT event. (NOTE: There is currently an issue with calling + .SetValue from within the EVT_CHAR handler that causes duplicate + EVT_TEXT events for the same change.) + """ + newvalue = self._GetValue() + dbg('wxMaskedEditMixin::_OnTextChange: value: "%s"' % newvalue, indent=1) + bValid = False + if self._ignoreChange: # ie. if an "intermediate text change event" + dbg(indent=0) + return bValid + + ##! WS: For some inexplicable reason, every wxTextCtrl.SetValue + ## call is generating two (2) EVT_TEXT events. + ## This is the only mechanism I can find to mask this problem: + if newvalue == self._oldvalue: + dbg('ignoring bogus text change event', indent=0) + else: + dbg('oldvalue: "%s", newvalue: "%s"' % (self._oldvalue, newvalue)) + if self._Change(): + if self._signOk and self._isNeg and newvalue.find('-') == -1: + self._isNeg = False + text, self._signpos = self._getSignedValue() + self._CheckValid() # Recolor control as appropriate + event.Skip() + bValid = True + self._oldvalue = newvalue # Save last seen value for next iteration + dbg(indent=0) + return bValid + + + def _OnKeyDown(self, event): + """ + This function allows the control to capture Ctrl-events like Ctrl-tab, + that are not normally seen by the "cooked" EVT_CHAR routine. + """ + # Get keypress value, adjusted by control options (e.g. convert to upper etc) + key = event.GetKeyCode() + if key in self._nav and event.ControlDown(): + # then this is the only place we will likely see these events; + # process them now: + dbg('wxMaskedEditMixin::OnKeyDown: calling _OnChar') + self._OnChar(event) + return + # else allow regular EVT_CHAR key processing + event.Skip() + + + def _OnChar(self, event): + """ + This is the engine of wxMaskedEdit controls. It examines each keystroke, + decides if it's allowed, where it should go or what action to take. + """ + dbg('wxMaskedEditMixin::_OnChar', indent=1) + + # Get keypress value, adjusted by control options (e.g. convert to upper etc) + key = event.GetKeyCode() + orig_pos = self._GetInsertionPoint() + orig_value = self._GetValue() + dbg('keycode = ', key) + dbg('current pos = ', orig_pos) + dbg('current selection = ', self._GetSelection()) + + if not self._Keypress(key): + dbg(indent=0) + return + + # If no format string for this control, or the control is marked as "read-only", + # skip the rest of the special processing, and just "do the standard thing:" + if not self._mask or not self._IsEditable(): + event.Skip() + dbg(indent=0) + return + + # Process navigation and control keys first, with + # position/selection unadulterated: + if key in self._nav + self._control: + if self._keyhandlers.has_key(key): + keep_processing = self._keyhandlers[key](event) + if self._GetValue() != orig_value: + self.modified = True + if not keep_processing: + dbg(indent=0) + return + self._applyFormatting() + dbg(indent=0) + return + + # Else... adjust the position as necessary for next input key, + # and determine resulting selection: + pos = self._adjustPos( orig_pos, key ) ## get insertion position, adjusted as needed + sel_start, sel_to = self._GetSelection() ## check for a range of selected text + dbg("pos, sel_start, sel_to:", pos, sel_start, sel_to) + + keep_processing = True + # Capture user past end of format field + if pos > len(self.maskdict): + dbg("field length exceeded:",pos) + keep_processing = False + + if keep_processing: + if self._isMaskChar(pos): ## Get string of allowed characters for validation + okchars = self._getAllowedChars(pos) + else: + dbg('Not a valid position: pos = ', pos,"chars=",maskchars) + okchars = "" + + key = self._adjustKey(pos, key) # apply formatting constraints to key: + + if self._keyhandlers.has_key(key): + # there's an override for default behavior; use override function instead + dbg('using supplied key handler:', self._keyhandlers[key]) + keep_processing = self._keyhandlers[key](event) + if self._GetValue() != orig_value: + self.modified = True + if not keep_processing: + dbg(indent=0) + return + # else skip default processing, but do final formatting + if key < WXK_SPACE or key > 255: + dbg('key < WXK_SPACE or key > 255') + event.Skip() # non alphanumeric + keep_processing = False + else: + field = self._FindField(pos) + dbg("key ='%s'" % chr(key)) + if chr(key) == ' ': + dbg('okSpaces?', field._okSpaces) + + if chr(key) in field._excludeChars + self._ctrl_constraints._excludeChars: + keep_processing = False + if (not wxValidator_IsSilent()) and orig_pos == pos: + wxBell() + + if keep_processing and self._isCharAllowed( chr(key), pos, checkRegex = True ): + dbg("key allowed by mask") + # insert key into candidate new value, but don't change control yet: + oldstr = self._GetValue() + newstr, newpos = self._insertKey(chr(key), pos, sel_start, sel_to, self._GetValue()) + dbg("str with '%s' inserted:" % chr(key), '"%s"' % newstr) + if self._ctrl_constraints._validRequired and not self.IsValid(newstr): + dbg('not valid; checking to see if adjusted string is:') + keep_processing = False + if self._isDec and newstr != self._template: + newstr = self._adjustDec(newstr) + dbg('adjusted str:', newstr) + if self.IsValid(newstr): + dbg("it is!") + keep_processing = True + wxCallAfter(self._SetInsertionPoint, self._decimalpos) + if not keep_processing: + dbg("key disallowed by validation") + if not wxValidator_IsSilent() and orig_pos == pos: + wxBell() + + if keep_processing: + unadjusted = newstr + + # special case: adjust date value as necessary: + if self._isDate and newstr != self._template: + newstr = self._adjustDate(newstr) + dbg('adjusted newstr:', newstr) + + if newstr != orig_value: + self.modified = True + + wxCallAfter(self._SetValue, newstr) + + # Adjust insertion point on date if just entered 2 digit year, and there are now 4 digits: + if not self.IsDefault() and self._isDate and self._4digityear: + year2dig = self._dateExtent - 2 + if pos == year2dig and unadjusted[year2dig] != newstr[year2dig]: + newpos = pos+2 + + wxCallAfter(self._SetInsertionPoint, newpos) + newfield = self._FindField(newpos) + if newfield != field and newfield._selectOnFieldEntry: + wxCallAfter(self._SetSelection, newfield._extent[0], newfield._extent[1]) + keep_processing = false + else: + dbg('char not allowed; orig_pos == pos?', orig_pos == pos) + keep_processing = False + if (not wxValidator_IsSilent()) and orig_pos == pos: + wxBell() + + self._applyFormatting() + + # Move to next insertion point + if keep_processing and key not in self._nav: + pos = self._GetInsertionPoint() + next_entry = self._findNextEntry( pos ) + if pos != next_entry: + dbg("moving from %(pos)d to next valid entry: %(next_entry)d" % locals()) + wxCallAfter(self._SetInsertionPoint, next_entry ) + + if self._isTemplateChar(pos): + self._AdjustField(pos) + dbg(indent=0) + + + def _FindFieldExtent(self, pos=None, getslice=False, value=None): + """ returns editable extent of field corresponding to + position pos, and, optionally, the contents of that field + in the control or the value specified. + Template chars are bound to the preceding field. + For masks beginning with template chars, these chars are ignored + when calculating the current field. + + Eg: with template (###) ###-####, + >>> self._FindFieldExtent(pos=0) + 1, 4 + >>> self._FindFieldExtent(pos=1) + 1, 4 + >>> self._FindFieldExtent(pos=5) + 1, 4 + >>> self._FindFieldExtent(pos=6) + 6, 9 + >>> self._FindFieldExtent(pos=10) + 10, 14 + etc. + """ + dbg('wxMaskedEditMixin::_FindFieldExtent(pos=%s, getslice=%s)' % ( + str(pos), str(getslice)) ,indent=1) + + field = self._FindField(pos) + if not field: + if getslice: + return None, None, "" + else: + return None, None + edit_start, edit_end = field._extent + if getslice: + if value is None: value = self._GetValue() + slice = value[edit_start:edit_end] + dbg('edit_start:', edit_start, 'edit_end:', edit_end, 'slice: "%s"' % slice) + dbg(indent=0) + return edit_start, edit_end, slice + else: + dbg('edit_start:', edit_start, 'edit_end:', edit_end) + dbg(indent=0) + return edit_start, edit_end + + + def _FindField(self, pos=None): + """ + Returns the field instance in which pos resides. + Template chars are bound to the preceding field. + For masks beginning with template chars, these chars are ignored + when calculating the current field. + + """ +## dbg('wxMaskedEditMixin::_FindField(pos=%s)' % str(pos) ,indent=1) + if pos is None: pos = self._GetInsertionPoint() + elif pos < 0 or pos > len(self._mask): + raise IndexError('position %s out of range of control' % str(pos)) + + if len(self._fields) == 0: + dbg(indent=0) + return None + + # else... +## dbg(indent=0) + return self._fields[self._lookupField[pos]] + + + def ClearValue(self): + """ Blanks the current control value by replacing it with the default value.""" + dbg("wxMaskedEditMixin::ClearValue - value reset to default value (template)") + self._SetValue( self._template ) + self._SetInsertionPoint(0) + self.Refresh() + + + def _baseCtrlEventHandler(self, event): + """ + This function is used whenever a key should be handled by the base control. + """ + event.Skip() + return False + + + def _OnUpNumeric(self, event): + """ + Makes up-arrow act like shift-tab should; ie. take you to start of + previous field. + """ + dbg('wxMaskedEditMixin::_OnUpNumeric', indent=1) + event.m_shiftDown = 1 + dbg('event.ShiftDown()?', event.ShiftDown()) + self._OnChangeField(event) + dbg(indent=0) + + + def _OnArrow(self, event): + """ + Used in response to left/right navigation keys; makes these actions skip + over mask template chars. + """ + dbg("wxMaskedEditMixin::_OnArrow", indent=1) + pos = self._GetInsertionPoint() + keycode = event.GetKeyCode() + sel_start, sel_to = self._GetSelection() + entry_end = self._goEnd(getPosOnly=True) + if keycode in (WXK_RIGHT, WXK_DOWN): + if( ( not self._isTemplateChar(pos) and pos+1 > entry_end) + or ( self._isTemplateChar(pos) and pos >= entry_end) ): + dbg(indent=0) + return False + elif self._isTemplateChar(pos): + self._AdjustField(pos) + elif keycode in (WXK_LEFT,WXK_UP) and pos > 0 and self._isTemplateChar(pos-1): + dbg('adjusting field') + self._AdjustField(pos) + + # treat as shifted up/down arrows as tab/reverse tab: + if event.ShiftDown() and keycode in (WXK_UP, WXK_DOWN): + # remove "shifting" and treat as (forward) tab: + event.m_shiftDown = False + keep_processing = self._OnChangeField(event) + + elif self._FindField(pos)._selectOnFieldEntry: + if( keycode in (WXK_UP, WXK_LEFT) + and sel_start != 0 + and self._isTemplateChar(sel_start-1)): + + # call _OnChangeField to handle "ctrl-shifted event" + # (which moves to previous field and selects it.) + event.m_shiftDown = True + event.m_ControlDown = True + keep_processing = self._OnChangeField(event) + elif( keycode in (WXK_DOWN, WXK_RIGHT) + and sel_to != len(self._mask) + and self._isTemplateChar(sel_to)): + + # when changing field to the right, ensure don't accidentally go left instead + event.m_shiftDown = False + keep_processing = self._OnChangeField(event) + else: + # treat arrows as normal, allowing selection + # as appropriate: + event.Skip() + else: + if( (sel_to == self._fields[0]._extent[0] and keycode == WXK_LEFT) + or (sel_to == len(self._mask) and keycode == WXK_RIGHT) ): + if not wxValidator_IsSilent(): + wxBell() + else: + # treat arrows as normal, allowing selection + # as appropriate: + dbg('skipping event') + event.Skip() + + keep_processing = False + dbg(indent=0) + return keep_processing + + + def _OnCtrl_S(self, event): + """ Default Ctrl-S handler; prints value information if demo enabled. """ + dbg("wxMaskedEditMixin::_OnCtrl_S") + if self._demo: + print 'wxMaskedEditMixin.GetValue() = "%s"\nwxMaskedEditMixin.GetPlainValue() = "%s"' % (self.GetValue(), self.GetPlainValue()) + print "Valid? => " + str(self.IsValid()) + print "Current field, start, end, value =", str( self._FindFieldExtent(getslice=True)) + return False + + + def _OnCtrl_X(self, event): + """ Handles ctrl-x keypress in control. Should return False to skip other processing. """ + dbg("wxMaskedEditMixin::_OnCtrl_X", indent=1) + self._Cut() + dbg(indent=0) + return False + + + def _OnCtrl_V(self, event): + """ Handles ctrl-V keypress in control. Should return False to skip other processing. """ + dbg("wxMaskedEditMixin::_OnCtrl_V", indent=1) + self._Paste() + dbg(indent=0) + return False + + + def _OnCtrl_A(self,event): + """ Handles ctrl-a keypress in control. Should return False to skip other processing. """ + end = self._goEnd(getPosOnly=True) + if event.ShiftDown(): + wxCallAfter(self._SetInsertionPoint, 0) + wxCallAfter(self._SetSelection, 0, len(self._mask)) + else: + wxCallAfter(self._SetInsertionPoint, 0) + wxCallAfter(self._SetSelection, 0, end) + return False + + + def _OnErase(self,event): + """ Handles backspace and delete keypress in control. Should return False to skip other processing.""" + dbg("wxMaskedEditMixin::_OnErase", indent=1) + sel_start, sel_to = self._GetSelection() ## check for a range of selected text + key = event.GetKeyCode() + if( ((sel_to == 0 or sel_to == self._fields[0]._extent[0]) and key == WXK_BACK) + or (sel_to == len(self._mask) and key == WXK_DELETE)): + if not wxValidator_IsSilent(): + wxBell() + dbg(indent=0) + return False + + field = self._FindField(sel_to) + start, end = field._extent + value = self._GetValue() + + if( field._insertRight + and key == WXK_BACK + and sel_start >= start and sel_to == end # within field + and value[start:end] != self._template[start:end]): # and field not empty + dbg('delete left') + dbg('sel_start, start:', sel_start, start) + # special case: backspace at the end of a right insert field shifts contents right to cursor + + if sel_start == end: # select "last char in field" + sel_start -= 1 + + newfield = value[start:sel_start] + dbg('cut newfield: "%s"' % newfield) + left = "" + for i in range(start, end - len(newfield)): + if field._padZero: + left += '0' + elif self._signOk and self._isNeg and newfield.find('-') == -1 and i == 1: + left += '-' + else: + left += self._template[i] # this can produce strange results in combination with default values... + newfield = left + newfield + dbg('filled newfield: "%s"' % newfield) + newstr = value[:start] + newfield + value[end:] + if self._signOk and self._isNeg and newstr[0] == '-': + newstr = ' ' + newstr[1:] + pos = end + else: + if sel_start == sel_to: + dbg("current sel_start, sel_to:", sel_start, sel_to) + if key == WXK_BACK: + sel_start, sel_to = sel_to-1, sel_to-1 + dbg("new sel_start, sel_to:", sel_start, sel_to) + if field._padZero and not value[start:sel_to].replace('0', '').replace(' ','').replace(field._fillChar, ''): + # preceding chars (if any) are zeros, blanks or fillchar; new char should be 0: + newchar = '0' + else: + newchar = self._template[sel_to] ## get an original template character to "clear" the current char + dbg('value = "%s"' % value, 'value[%d] = "%s"' %(sel_start, value[sel_start])) + + if self._isTemplateChar(sel_to): + newstr = value + newpos = sel_to + else: + newstr, newpos = self._insertKey(newchar, sel_to, sel_start, sel_to, value) + + else: + newstr = value + newpos = sel_start + for i in range(sel_start, sel_to): + pos = i + newchar = self._template[pos] ## get an original template character to "clear" the current char + + if not self._isTemplateChar(pos): + newstr, newpos = self._insertKey(newchar, pos, sel_start, sel_to, newstr) + + pos = sel_start # put cursor back at beginning of selection + dbg('newstr:', newstr) + + # if erasure results in an invalid field, disallow it: + dbg('field._validRequired?', field._validRequired) + dbg('field.IsValid("%s")?' % newstr[start:end], field.IsValid(newstr[start:end])) + if field._validRequired and not field.IsValid(newstr[start:end]): + if not wxValidator_IsSilent(): + wxBell() + dbg(indent=0) + return False + + # if erasure results in an invalid value, disallow it: + if self._ctrl_constraints._validRequired and not self.IsValid(newstr): + if not wxValidator_IsSilent(): + wxBell() + dbg(indent=0) + return False + + dbg('setting value (later) to', newstr) + wxCallAfter(self._SetValue, newstr) + dbg('setting insertion point (later) to', pos) + wxCallAfter(self._SetInsertionPoint, pos) + dbg(indent=0) + return False + + + def _OnEnd(self,event): + """ Handles End keypress in control. Should return False to skip other processing. """ + dbg("wxMaskedEditMixin::_OnEnd", indent=1) + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + end = self._goEnd(getPosOnly=True) + + if event.ShiftDown(): + dbg("shift-end; select to end of non-whitespace") + wxCallAfter(self._SetInsertionPoint, pos) + wxCallAfter(self._SetSelection, pos, end) + elif event.ControlDown(): + dbg("control-end; select to end of control") + wxCallAfter(self._SetInsertionPoint, pos) + wxCallAfter(self._SetSelection, pos, len(self._mask)) + else: + onChar = self._goEnd() + dbg(indent=0) + return False + + + def _OnReturn(self, event): + """ + Changes the event to look like a tab event, so we can then call + event.Skip() on it, and have the parent form "do the right thing." + """ + event.m_keyCode = WXK_TAB + event.Skip() + + + def _OnHome(self,event): + """ Handles Home keypress in control. Should return False to skip other processing.""" + dbg("wxMaskedEditMixin::_OnHome", indent=1) + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + sel_start, sel_to = self._GetSelection() + + if event.ShiftDown(): + dbg("shift-home; select to beginning of non-whitespace") + if sel_to > pos: + pos = sel_to + wxCallAfter(self._SetInsertionPoint, pos) + wxCallAfter(self._SetSelection, 0, pos) + else: + self._goHome() + dbg(indent=0) + return False + + + def _OnChangeField(self, event): + """ + Primarily handles TAB events, but can be used for any key that + designer wants to change fields within a masked edit control. + NOTE: at the moment, although coded to handle shift-TAB and + control-shift-TAB, these events are not sent to the controls + by the framework. + """ + dbg('wxMaskedEditMixin::_OnChangeField', indent = 1) + # determine end of current field: + pos = self._GetInsertionPoint() + dbg('current pos:', pos) + + + masklength = len(self._mask) + if masklength < 0: # no fields; process tab normally + self._AdjustField(pos) + if event.GetKeyCode() == WXK_TAB: + dbg('tab to next ctrl') + event.Skip() + #else: do nothing + dbg(indent=0) + return False + + field = self._FindField(pos) + + if event.ShiftDown(): + # "Go backward" + + # NOTE: doesn't yet work with SHIFT-tab under wx; the control + # never sees this event! (But I've coded for it should it ever work, + # and it *does* work for '.' in wxIpAddrCtrl.) + + index = field._index + begin_field = field._extent[0] + if event.ControlDown(): + dbg('select to beginning of field:', begin_field, pos) + wxCallAfter(self._SetInsertionPoint, begin_field) + wxCallAfter(self._SetSelection, begin_field, pos) + dbg(indent=0) + return False + + elif index == 0: + # We're already in the 1st field; process shift-tab normally: + self._AdjustField(pos) + if event.GetKeyCode() == WXK_TAB: + dbg('tab to previous ctrl') + event.Skip() + else: + dbg('position at beginning') + wxCallAfter(self._SetInsertionPoint, begin_field) + dbg(indent=0) + return False + else: + # find beginning of previous field: + begin_prev = self._FindField(begin_field-1)._extent[0] + self._AdjustField(pos) + dbg('repositioning to', begin_prev) + wxCallAfter(self._SetInsertionPoint, begin_prev) + if self._FindField(begin_prev)._selectOnFieldEntry: + edit_start, edit_end = self._FindFieldExtent(begin_prev) + wxCallAfter(self._SetSelection, edit_start, edit_end) + dbg(indent=0) + return False + + else: + # "Go forward" + + end_field = field._extent[1] + if event.ControlDown(): + dbg('select to end of field:', pos, end_field) + wxCallAfter(self._SetInsertionPoint, pos) + wxCallAfter(self._SetSelection, pos, end_field) + dbg(indent=0) + return False + else: + dbg('end of current field:', end_field) + dbg('go to next field') + if end_field == self._fields[self._field_indices[-1]]._extent[1]: + self._AdjustField(pos) + if event.GetKeyCode() == WXK_TAB: + dbg('tab to next ctrl') + event.Skip() + else: + dbg('position at end') + wxCallAfter(self._SetInsertionPoint, end_field) + dbg(indent=0) + return False + else: + # we have to find the start of the next field + next_pos = self._findNextEntry(end_field) + if next_pos == end_field: + dbg('already in last field') + self._AdjustField(pos) + if event.GetKeyCode() == WXK_TAB: + dbg('tab to next ctrl') + event.Skip() + #else: do nothing + dbg(indent=0) + return False + else: + self._AdjustField( pos ) + + # move cursor to appropriate point in the next field and select as necessary: + field = self._FindField(next_pos) + edit_start, edit_end = field._extent + if field._selectOnFieldEntry: + dbg('move to ', next_pos) + wxCallAfter(self._SetInsertionPoint, next_pos) + edit_start, edit_end = self._FindFieldExtent(next_pos) + dbg('select', edit_start, edit_end) + wxCallAfter(self._SetSelection, edit_start, edit_end) + else: + if field._insertRight: + next_pos = field._extent[1] + dbg('move to ', next_pos) + wxCallAfter(self._SetInsertionPoint, next_pos) + dbg(indent=0) + return False + + + def _OnDecimalPoint(self, event): + dbg('wxMaskedEditMixin::_OnDecimalPoint', indent=1) + + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + + if self._isDec: ## handle decimal value, move to decimal place + dbg('key == Decimal tab; decimal pos:', self._decimalpos) + value = self._GetValue() + if pos < self._decimalpos: + clipped_text = value[0:pos] + self._decimalChar + value[self._decimalpos+1:] + dbg('value: "%s"' % self._GetValue(), 'clipped_text:', clipped_text) + newstr = self._adjustDec(clipped_text) + else: + newstr = self._adjustDec(value) + wxCallAfter(self._SetValue, newstr) + wxCallAfter(self._SetInsertionPoint, self._decimalpos+1) + keep_processing = False + + if self._isInt: ## handle integer value, truncate from current position + dbg('key == Integer decimal event') + value = self._GetValue() + clipped_text = value[0:pos] + dbg('value: "%s"' % self._GetValue(), 'clipped_text:', clipped_text) + newstr = self._adjustInt(clipped_text) + dbg('newstr: "%s"' % newstr) + wxCallAfter(self._SetValue, newstr) + wxCallAfter(self._SetInsertionPoint, len(newstr.rstrip())) + keep_processing = False + dbg(indent=0) + + + def _OnChangeSign(self, event): + dbg('wxMaskedEditMixin::_OnChangeSign', indent=1) + key = event.GetKeyCode() + pos = self._adjustPos(self._GetInsertionPoint(), key) + if chr(key) in ("-","+") or (chr(key) == " " and pos == self._signpos): + cursign = self._isNeg + dbg('cursign:', cursign) + if chr(key) == "-": + self._isNeg = (not self._isNeg) ## flip value + else: + self._isNeg = False + dbg('isNeg?', self._isNeg) + + text, signpos = self._getSignedValue() + if text is not None: + self._signpos = signpos + dbg('self._signpos now:', self._signpos) + else: + text = self._GetValue() + field = self._fields[0] + if field._alignRight and field._fillChar == ' ': + self._signpos = text.find('-') + if self._signpos == -1: + if len(text.lstrip()) < len(text): + self._signpos = len(text) - len(text.lstrip()) - 1 + else: + self._signpos = 0 + else: + self._signpos = 0 + dbg('self._signpos now:', self._signpos) + if self._isNeg: + text = text[:self._signpos] + '-' + text[self._signpos+1:] + else: + text = text[:self._signpos] + ' ' + text[self._signpos+1:] + + wxCallAfter(self._SetValue, text) + wxCallAfter(self._applyFormatting) + if pos == self._signpos: + wxCallAfter(self._SetInsertionPoint, self._signpos+1) + else: + wxCallAfter(self._SetInsertionPoint, pos) + + keep_processing = False + else: + keep_processing = True + dbg(indent=0) + return keep_processing + + + def _OnGroupChar(self, event): + """ + This handler is only registered if the mask is a numeric mask. + It allows the insertion of ',' or '.' if appropriate. + """ + dbg('wxMaskedEditMixin::_OnGroupChar', indent=1) + keep_processing = True + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + sel_start, sel_to = self._GetSelection() + groupchar = self._fields[0]._groupChar + if not self._isCharAllowed(groupchar, pos, checkRegex=True): + keep_processing = False + if not wxValidator_IsSilent(): + wxBell() + + if keep_processing: + newstr, newpos = self._insertKey(groupchar, pos, sel_start, sel_to, self._GetValue() ) + dbg("str with '%s' inserted:" % groupchar, '"%s"' % newstr) + if self._ctrl_constraints._validRequired and not self.IsValid(newstr): + keep_processing = False + if not wxValidator_IsSilent(): + wxBell() + + if keep_processing: + wxCallAfter(self._SetValue, newstr) + wxCallAfter(self._SetInsertionPoint, newpos) + keep_processing = False + dbg(indent=0) + return keep_processing + + + def _findNextEntry(self,pos, adjustInsert=True): + """ Find the insertion point for the next valid entry character position.""" + if self._isTemplateChar(pos): # if changing fields, pay attn to flag + adjustInsert = adjustInsert + else: # else within a field; flag not relevant + adjustInsert = False + + while self._isTemplateChar(pos) and pos < len(self._mask): + pos += 1 + + # if changing fields, and we've been told to adjust insert point, + # look at new field; if empty and right-insert field, + # adjust to right edge: + if adjustInsert and pos < len(self._mask): + field = self._FindField(pos) + start, end = field._extent + slice = self._GetValue()[start:end] + if field._insertRight and field.IsEmpty(slice): + pos = end + return pos + + + def _findNextTemplateChar(self, pos): + """ Find the position of the next non-editable character in the mask.""" + while not self._isTemplateChar(pos) and pos < len(self._mask): + pos += 1 + return pos + + + def _OnAutoCompleteField(self, event): + dbg('wxMaskedEditMixin::_OnAutoCompleteField', indent =1) + pos = self._GetInsertionPoint() + field = self._FindField(pos) + edit_start, edit_end, slice = self._FindFieldExtent(pos, getslice=True) + match_index = None + keycode = event.GetKeyCode() + text = slice.replace(field._fillChar, '') + text = text.strip() + keep_processing = True # (assume True to start) + dbg('field._hasList?', field._hasList) + if field._hasList: + dbg('choices:', field._choices) + choices, choice_required = field._choices, field._choiceRequired + if keycode in (WXK_PRIOR, WXK_UP): + direction = -1 + else: + direction = 1 + match_index = self._autoComplete(direction, choices, text, compareNoCase=field._compareNoCase) + if( match_index is None + and (keycode in self._autoCompleteKeycodes + [WXK_PRIOR, WXK_NEXT] + or (keycode in [WXK_UP, WXK_DOWN] and event.ShiftDown() ) ) ): + # Select the 1st thing from the list: + match_index = 0 + if( match_index is not None + and ( keycode in self._autoCompleteKeycodes + [WXK_PRIOR, WXK_NEXT] + or (keycode in [WXK_UP, WXK_DOWN] and event.ShiftDown()) + or (keycode == WXK_DOWN and len(text) < len(choices[match_index])) ) ): + + # We're allowed to auto-complete: + value = self._GetValue() + newvalue = value[:edit_start] + choices[match_index] + value[edit_end:] + dbg('match found; setting value to "%s"' % newvalue) + self._SetValue(newvalue) + self._SetInsertionPoint(edit_end) + self._CheckValid() # recolor as appopriate + + if keycode in (WXK_UP, WXK_DOWN, WXK_LEFT, WXK_RIGHT): + # treat as left right arrow if unshifted, tab/shift tab if shifted. + if event.ShiftDown(): + if keycode in (WXK_DOWN, WXK_RIGHT): + # remove "shifting" and treat as (forward) tab: + event.m_shiftDown = False + keep_processing = self._OnChangeField(event) + else: + keep_processing = self._OnArrow(event) + # some other key; keep processing the key + + dbg('keep processing?', keep_processing, indent=0) + return keep_processing + + + def _autoComplete(self, direction, choices, value, compareNoCase): + """ + This function gets called in response to Auto-complete events. + It attempts to find a match to the specified value against the + list of choices; if exact match, the index of then next + appropriate value in the list, based on the given direction. + If not an exact match, it will return the index of the 1st value from + the choice list for which the partial value can be extended to match. + If no match found, it will return None. + """ + if value is None: + dbg('nothing to match against', indent=0) + return None + + if compareNoCase: + choices = [choice.strip().lower() for choice in choices] + value = value.lower() + else: + choices = [choice.strip() for choice in choices] + + if value in choices: + index = choices.index(value) + dbg('matched "%s"' % choices[index]) + if direction == -1: + if index == 0: index = len(choices) - 1 + else: index -= 1 + else: + if index == len(choices) - 1: index = 0 + else: index += 1 + dbg('change value to ', index) + match = index + else: + value = value.strip() + dbg('no match; try to auto-complete:') + match = None + dbg('searching for "%s"' % value) + for index in range(len(choices)): + choice = choices[index] + if choice.find(value, 0) == 0: + dbg('match found:', choice) + match = index + break + if match is not None: + dbg('matched', match) + else: + dbg('no match found') + dbg(indent=0) + return match + + + def _AdjustField(self, pos): + """ + This function gets called by default whenever the cursor leaves a field. + The pos argument given is the char position before leaving that field. + By default, floating point, integer and date values are adjusted to be + legal in this function. Derived classes may override this function + to modify the value of the control in a different way when changing fields. + + NOTE: these change the value immediately, and restore the cursor to + the passed location, so that any subsequent code can then move it + based on the operation being performed. + """ + newvalue = value = self._GetValue() + field = self._FindField(pos) + start, end, slice = self._FindFieldExtent(getslice=True) + newfield = field._AdjustField(slice) + newvalue = value[:start] + newfield + value[end:] + + if self._isDec and newvalue != self._template: + newvalue = self._adjustDec(newvalue) + + if self._ctrl_constraints._isInt and value != self._template: + newvalue = self._adjustInt(value) + + if self._isDate and value != self._template: + newvalue = self._adjustDate(value, fixcentury=True) + if self._4digityear: + year2dig = self._dateExtent - 2 + if pos == year2dig and value[year2dig] != newvalue[year2dig]: + pos = pos+2 + + if newvalue != value: + self._SetValue(newvalue) + self._SetInsertionPoint(pos) + + + def _adjustKey(self, pos, key): + """ Apply control formatting to the key (e.g. convert to upper etc). """ + field = self._FindField(pos) + if field._forceupper and key in range(97,123): + key = ord( chr(key).upper()) + + if field._forcelower and key in range(97,123): + key = ord( chr(key).lower()) + + return key + + + def _adjustPos(self, pos, key): + """ + Checks the current insertion point position and adjusts it if + necessary to skip over non-editable characters. + """ + dbg('_adjustPos', pos, key, indent=1) + sel_start, sel_to = self._GetSelection() + # If a numeric or decimal mask, and negatives allowed, reserve the first space for sign + if( self._signOk + and pos == self._signpos + and key in (ord('-'), ord('+'), ord(' ')) ): + return pos + + if key not in self._nav: + field = self._FindField(pos) + + dbg('field._insertRight?', field._insertRight) + if field._insertRight: # if allow right-insert + start, end = field._extent + slice = self._GetValue()[start:end].strip() + field_len = end - start + if pos == end: # if cursor at right edge of field + # if not filled or supposed to stay in field, keep current position + if len(slice) < field_len or not field._moveOnFieldFull: + dbg('pos==end; len (slice) < field_len or not field._moveOnFieldFull') + pass + else: + # if at start of control, move to right edge + if sel_to == sel_start and self._isTemplateChar(pos) and pos != end: + pos = end # move to right edge + elif sel_start <= start and sel_to == end: + # select to right edge of field - 1 (to replace char) + pos = end - 1 + self._SetInsertionPoint(pos) + # restore selection + self._SetSelection(sel_start, pos) + + elif self._signOk and sel_start == 0: # if selected to beginning and signed, + # adjust to past reserved sign position: + pos = self._fields[0]._extent[0] + self._SetInsertionPoint(pos) + # restore selection + self._SetSelection(pos, sel_to) + else: + pass # leave position/selection alone + + # else make sure the user is not trying to type over a template character + # If they are, move them to the next valid entry position + elif self._isTemplateChar(pos): + if( not field._moveOnFieldFull + and (not self._signOk + or (self._signOk + and field._index == 0 + and pos > 0) ) ): # don't move to next field without explicit cursor movement + pass + else: + # find next valid position + pos = self._findNextEntry(pos) + self._SetInsertionPoint(pos) + if pos < sel_to: # restore selection + self._SetSelection(pos, sel_to) + dbg('adjusted pos:', pos, indent=0) + return pos + + + def _adjustDec(self, candidate=None): + """ + 'Fixes' an floating point control. Collapses spaces, right-justifies, etc. + """ + dbg('wxMaskedEditMixin::_adjustDec, candidate = "%s"' % candidate, indent=1) + lenOrd,lenDec = self._mask.split(self._decimalChar) ## Get ordinal, decimal lengths + lenOrd = len(lenOrd) + lenDec = len(lenDec) + if candidate is None: value = self._GetValue() + else: value = candidate + dbg('value = "%(value)s"' % locals(), 'len(value):', len(value)) + ordStr,decStr = value.split(self._decimalChar) + + ordStr = self._fields[0]._AdjustField(ordStr) + dbg('adjusted ordStr: "%s"' % ordStr) + lenOrd = len(ordStr) + decStr = decStr + ('0'*(lenDec-len(decStr))) # add trailing spaces to decimal + + dbg('ordStr "%(ordStr)s"' % locals()) + dbg('lenOrd:', lenOrd) + + ordStr = string.rjust( ordStr[-lenOrd:], lenOrd) + dbg('right-justifed ordStr = "%(ordStr)s"' % locals()) + newvalue = ordStr + self._decimalChar + decStr + if self._signOk: + if len(newvalue) < len(self._mask): + newvalue = ' ' + newvalue + signedvalue = self._getSignedValue(newvalue)[0] + if signedvalue is not None: newvalue = signedvalue + + # Finally, align string with decimal position, left-padding with + # fillChar: + newdecpos = newvalue.find(self._decimalChar) + if newdecpos < self._decimalpos: + padlen = self._decimalpos - newdecpos + newvalue = string.join([' ' * padlen] + [newvalue] ,'') + dbg('newvalue = "%s"' % newvalue) + if candidate is None: + wxCallAfter(self._SetValue, newvalue) + dbg(indent=0) + return newvalue + + + def _adjustInt(self, candidate=None): + """ 'Fixes' an integer control. Collapses spaces, right or left-justifies.""" + dbg("wxMaskedEditMixin::_adjustInt") + lenInt = len(self._mask) + if candidate is None: value = self._GetValue() + else: value = candidate + intStr = self._fields[0]._AdjustField(value) + intStr = intStr.strip() # drop extra spaces + if self._isNeg and intStr.find('-') == -1: + intStr = '-' + intStr + elif self._signOk and intStr.find('-') == -1: + intStr = ' ' + intStr + + if self._fields[0]._alignRight: ## Only if right-alignment is enabled + intStr = intStr.rjust( lenInt ) + else: + intStr = intStr.ljust( lenInt ) + + if candidate is None: + wxCallAfter(self._SetValue, intStr ) + return intStr + + + def _adjustDate(self, candidate=None, fixcentury=False, force4digit_year=False): + """ + 'Fixes' a date control, expanding the year if it can. + Applies various self-formatting options. + """ + dbg("wxMaskedEditMixin::_adjustDate", indent=1) + if candidate is None: text = self._GetValue() + else: text = candidate + dbg('text=', text) + if self._datestyle == "YMD": + year_field = 0 + else: + year_field = 2 + + dbg('getYear: "%s"' % getYear(text, self._datestyle)) + year = string.replace( getYear( text, self._datestyle),self._fields[year_field]._fillChar,"") # drop extra fillChars + month = getMonth( text, self._datestyle) + day = getDay( text, self._datestyle) + dbg('self._datestyle:', self._datestyle, 'year:', year, 'Month', month, 'day:', day) + + yearVal = None + yearstart = self._dateExtent - 4 + if( len(year) < 4 + and (fixcentury + or force4digit_year + or (self._GetInsertionPoint() > yearstart+1 and text[yearstart+2] == ' ') + or (self._GetInsertionPoint() > yearstart+2 and text[yearstart+3] == ' ') ) ): + ## user entered less than four digits and changing fields or past point where we could + ## enter another digit: + try: + yearVal = int(year) + except: + dbg('bad year=', year) + year = text[yearstart:self._dateExtent] + + if len(year) < 4 and yearVal: + if len(year) == 2: + # Fix year adjustment to be less "20th century" :-) and to adjust heuristic as the + # years pass... + now = wxDateTime_Now() + century = (now.GetYear() /100) * 100 # "this century" + twodig_year = now.GetYear() - century # "this year" (2 digits) + # if separation between today's 2-digit year and typed value > 50, + # assume last century, + # else assume this century. + # + # Eg: if 2003 and yearVal == 30, => 2030 + # if 2055 and yearVal == 80, => 2080 + # if 2010 and yearVal == 96, => 1996 + # + if abs(yearVal - twodig_year) > 50: + yearVal = (century - 100) + yearVal + else: + yearVal = century + yearVal + year = str( yearVal ) + else: # pad with 0's to make a 4-digit year + year = "%04d" % yearVal + if self._4digityear or force4digit_year: + text = makeDate(year, month, day, self._datestyle, text) + text[self._dateExtent:] + dbg('newdate: "%s"' % text, indent=0) + return text + + + def _goEnd(self, getPosOnly=False): + """ Moves the insertion point to the end of user-entry """ + dbg("wxMaskedEditMixin::_goEnd; getPosOnly:", getPosOnly, indent=1) + text = self._GetValue() + for i in range( min( len(self._mask)-1, len(text)-1 ), -1, -1): + if self._isMaskChar(i): + char = text[i] + if char != ' ': + break + + pos = min(i+1,len(self._mask)) + field = self._FindField(pos) + start, end = field._extent + if field._insertRight and pos < end: + pos = end + dbg('next pos:', pos) + dbg(indent=0) + if getPosOnly: + return pos + else: + self._SetInsertionPoint(pos) + + + def _goHome(self): + """ Moves the insertion point to the beginning of user-entry """ + dbg("wxMaskedEditMixin::_goHome", indent=1) + text = self._GetValue() + for i in range(len(self._mask)): + if self._isMaskChar(i): + break + self._SetInsertionPoint(max(i,0)) + dbg(indent=0) + + + def _getAllowedChars(self, pos): + """ Returns a string of all allowed user input characters for the provided + mask character plus control options + """ + maskChar = self.maskdict[pos] + okchars = self.maskchardict[maskChar] ## entry, get mask approved characters + field = self._FindField(pos) + if okchars and field._okSpaces: ## Allow spaces? + okchars += " " + if okchars and field._includeChars: ## any additional included characters? + okchars += field._includeChars +## dbg('okchars[%d]:' % pos, okchars) + return okchars + + + def _isMaskChar(self, pos): + """ Returns True if the char at position pos is a special mask character (e.g. NCXaA#) + """ + if pos < len(self._mask): + return self.ismasked[pos] + else: + return False + + + def _isTemplateChar(self,Pos): + """ Returns True if the char at position pos is a template character (e.g. -not- NCXaA#) + """ + if Pos < len(self._mask): + return not self._isMaskChar(Pos) + else: + return False + + + def _isCharAllowed(self, char, pos, checkRegex=False): + """ Returns True if character is allowed at the specific position, otherwise False.""" + dbg('_isCharAllowed', char, pos, checkRegex, indent=1) + field = self._FindField(pos) + right_insert = False + + if self.controlInitialized: + sel_start, sel_to = self._GetSelection() + else: + sel_start, sel_to = pos, pos + + if (field._insertRight or self._ctrl_constraints._insertRight): + start, end = field._extent + if pos == end or (sel_start, sel_to) == field._extent: + pos = end - 1 + right_insert = True + + if self._isTemplateChar( pos ): ## if a template character, return empty + dbg(indent=0) + return False + + if self._isMaskChar( pos ): + okChars = self._getAllowedChars(pos) + if self._fields[0]._groupdigits and (self._isInt or (self._isDec and pos < self._decimalpos)): + okChars += self._fields[0]._groupChar + if self._signOk and (self._isInt or (self._isDec and pos < self._decimalpos)): + okChars += '-' +## dbg('%s in %s?' % (char, okChars), char in okChars) + approved = char in okChars + + if approved and checkRegex: + dbg("checking appropriate regex's") + value = self._eraseSelection(self._GetValue()) + if right_insert: + newvalue, newpos = self._insertKey(char, pos+1, sel_start, sel_to, value) + else: + newvalue, newpos = self._insertKey(char, pos, sel_start, sel_to, value) + dbg('newvalue: "%s"' % newvalue) + + fields = [self._FindField(pos)] + [self._ctrl_constraints] + for field in fields: # includes fields[-1] == "ctrl_constraints" + if field._regexMask and field._filter: + dbg('checking vs. regex') + start, end = field._extent + slice = newvalue[start:end] + approved = (re.match( field._filter, slice) is not None) + dbg('approved?', approved) + if not approved: break + dbg(indent=0) + return approved + else: + dbg(indent=0) + return False + + + def _applyFormatting(self): + """ Apply formatting depending on the control's state. + Need to find a way to call this whenever the value changes, in case the control's + value has been changed or set programatically. + """ + dbg(suspend=1) + dbg('wxMaskedEditMixin::_applyFormatting', indent=1) + + # Handle negative numbers + if self._signOk: +## value = self._GetValue() + text, signpos = self._getSignedValue() + dbg('text: "%s", signpos:' % text, signpos) + if not text or text[signpos] != '-': + self._isNeg = False + dbg('supposedly negative, but no sign found; new sign:', self._isNeg) + if text and signpos != self._signpos: + self._signpos = signpos + elif text and self._valid and not self._isNeg and text[signpos] == '-': + self._isNeg = True + + if self._signOk and self._isNeg: + dbg('setting foreground to', self._signedForegroundColor) + self.SetForegroundColour(self._signedForegroundColor) + else: + dbg('setting foreground to', self._foregroundColor) + self.SetForegroundColour(self._foregroundColor) + + if self._valid: + dbg('valid') + if self.IsEmpty(): + dbg('setting background to', self._emptyBackgroundColor) + self.SetBackgroundColour(self._emptyBackgroundColor) + else: + self.SetBackgroundColour(self._validBackgroundColor) + else: + dbg('invalid; coloring', self._invalidBackgroundColor) + self.SetBackgroundColour(self._invalidBackgroundColor) ## Change BG color if invalid + + self._Refresh() + dbg(indent=0, suspend=0) + + + def _getAbsValue(self, candidate=None): + """ Return an unsigned value (i.e. strip the '-' prefix if any). + """ + dbg('wxMaskedEditMixin::_getAbsValue; candidate="%s"' % candidate, indent=1) + if candidate is None: text = self._GetValue() + else: text = candidate + + if self._isInt: + if self._ctrl_constraints._alignRight and self._fields[0]._fillChar == ' ': + signpos = text.find('-') + if signpos == -1: + rstripped_text = text.rstrip() + signpos = rstripped_text.rfind(' ') + dbg('signpos:', signpos) + if signpos == -1: + signpos = 0 + abstext = text[:signpos] + ' ' + text[signpos+1:] + else: + signpos = 0 + text = self._template[0] + text[1:] + groupchar = self._fields[0]._groupChar + try: + value = long(text.replace(groupchar,'')) + except: + dbg('invalid number', indent=0) + return None, None + + else: # decimal value + try: + groupchar = self._fields[0]._groupChar + value = float(text.replace(groupchar,'').replace(self._decimalChar, '.')) + if value < 0: + signpos = text.find('-') + text = text[:signpos] + self._template[signpos] + text[signpos+1:] + else: + # look backwards from the decimal point for the 1st non-digit + dbg('decimal pos:', self._decimalpos) + signpos = self._decimalpos-1 + dbg('text: "%s"' % text) + dbg('text[%d]:' % signpos, text[signpos]) + dbg('text[signpos] in list(string.digits) + [groupchar]?', text[signpos] in list(string.digits) + [groupchar]) + while text[signpos] in list(string.digits) + [groupchar] and signpos > 0: + signpos -= 1 + dbg('text[%d]:' % signpos, text[signpos]) + except ValueError: + dbg('invalid number', indent=0) + return None, None + + dbg('abstext = "%s"' % text, 'signpos:', signpos) + dbg(indent=0) + return text, signpos + + + def _getSignedValue(self, candidate=None): + """ Return a signed value by adding a "-" prefix if the value + is set to negative, or a space if positive. + """ + dbg('wxMaskedEditMixin::_getSignedValue; candidate="%s"' % candidate, indent=1) + if candidate is None: text = self._GetValue() + else: text = candidate + + + abstext, signpos = self._getAbsValue(text) + if self._signOk: + if abstext is None: + dbg(indent=0) + return abstext, signpos + + if self._isNeg or text[signpos] == '-': + sign = '-' + else: + sign = ' ' + if text[signpos] not in string.digits: + text = text[:signpos] + sign + text[signpos+1:] + else: + # this can happen if value passed is too big; sign assumed to be + # in position 0, but if already filled with a digit, prepend sign... + text = sign + text + else: + text = abstext + dbg('signedtext = "%s"' % text, 'signpos:', signpos) + dbg(indent=0) + return text, signpos + + + def GetPlainValue(self, candidate=None): + """ Returns control's value stripped of the template text. + plainvalue = wxMaskedEditMixin.GetPlainValue() + """ + if candidate is None: text = self._GetValue() + else: text = candidate + + if self.IsEmpty(): + return "" + else: + plain = "" + for idx in range( len( self._template)): + if self._mask[idx] in maskchars: + plain += text[idx] + + if self._isDec or self._isInt: + if self._fields[0]._alignRight: + lpad = plain.count(',') + plain = ' ' * lpad + plain.replace(',','') + else: + plain = plain.replace(',','') + + if self._signOk and self._isNeg and plain.count('-') == 0: + # must be in reserved position; add to "plain value" + plain = '-' + plain + + return plain.rstrip() + + + def IsEmpty(self, value=None): + """ + Returns True if control is equal to an empty value. + (Empty means all editable positions in the template == fillChar.) + """ + if value is None: value = self._GetValue() + if value == self._template and not self._defaultValue: +## dbg("IsEmpty? 1 (value == self._template and not self._defaultValue)") + return True # (all mask chars == fillChar by defn) + elif value == self._template: + empty = True + for pos in range(len(self._template)): +## dbg('isMaskChar(%(pos)d)?' % locals(), self._isMaskChar(pos)) +## dbg('value[%(pos)d] != self._fillChar?' %locals(), value[pos] != self._fillChar[pos]) + if self._isMaskChar(pos) and value[pos] not in (' ', self._fillChar[pos]): + empty = False +## dbg("IsEmpty? %(empty)d (do all mask chars == fillChar?)" % locals()) + return empty + else: +## dbg("IsEmpty? 0 (value doesn't match template)") + return False + + + def IsDefault(self, value=None): + """ + Returns True if the value specified (or the value of the control if not specified) + is equal to the default value. + """ + if value is None: value = self._GetValue() + return value == self._template + + + def IsValid(self, value=None): + """ Indicates whether the value specified (or the current value of the control + if not specified) is considered valid.""" +## dbg('wxMaskedEditMixin::IsValid("%s")' % value, indent=1) + if value is None: value = self._GetValue() + ret = self._CheckValid(value) +## dbg(indent=0) + return ret + + + def _eraseSelection(self, value=None, sel_start=None, sel_to=None): + """ Used to blank the selection when inserting a new character. """ + dbg("wxMaskedEditMixin::_eraseSelection", indent=1) + if value is None: value = self._GetValue() + if sel_start is None or sel_to is None: + sel_start, sel_to = self._GetSelection() ## check for a range of selected text + dbg('value: "%s"' % value) + dbg("current sel_start, sel_to:", sel_start, sel_to) + + newvalue = list(value) + for i in range(sel_start, sel_to): + if self._isMaskChar(i): + field = self._FindField(i) + if field._padZero: + newvalue[i] = '0' + else: + newvalue[i] = self._template[i] + elif self._signOk and i == 0 and newvalue[i] == '-': + newvalue[i] = ' ' + value = string.join(newvalue,"") + dbg('new value: "%s"' % value) + dbg(indent=0) + return value + + + def _insertKey(self, char, pos, sel_start, sel_to, value): + """ Handles replacement of the character at the current insertion point.""" + dbg('wxMaskedEditMixin::_insertKey', "\'" + char + "\'", pos, sel_start, sel_to, '"%s"' % value, indent=1) + + text = self._eraseSelection(value) + field = self._FindField(pos) + start, end = field._extent + newtext = "" + if field._insertRight: + # special case; do right insertion if either whole field selected or cursor at right edge of field + if pos == end or (sel_start, sel_to) == field._extent: # right edge insert + fstr = text[start:end] + erasable_chars = [field._fillChar, ' '] + if field._padZero: erasable_chars.append('0') + erased = '' + if fstr[0] in erasable_chars or (self._signOk and field._index == 0 and fstr[0] == '-'): + erased = fstr[0] + fstr = fstr[1:] + char + dbg('field str: "%s"' % fstr) + newtext = text[:start] + fstr + text[end:] + if erased == '-' and self._signOk: + newtext = '-' + newtext[1:] + dbg('newtext: "%s"' % newtext) + if self._signOk and field._index == 0: start -= 1 # account for sign position + if( field._moveOnFieldFull + and len(fstr.lstrip()) == end-start): # if field now full + newpos = self._findNextEntry(end) # go to next field + else: + newpos = end # else keep cursor at right edge + + if not newtext: + before = text[0:pos] + after = text[pos+1:] + newtext = before + char + after + newpos = pos+1 + + dbg('newtext: "%s"' % newtext, 'newpos:', newpos) + + dbg(indent=0) + return newtext, newpos + + + def _OnFocus(self,event): + """ + This event handler is currently necessary to work around new default + behavior as of wxPython2.3.3; + The TAB key auto selects the entire contents of the wxTextCtrl *after* + the EVT_SET_FOCUS event occurs; therefore we can't query/adjust the selection + *here*, because it hasn't happened yet. So to prevent this behavior, and + preserve the correct selection when the focus event is not due to tab, + we need to pull the following trick: + """ + dbg('wxMaskedEditMixin::_OnFocus') + wxCallAfter(self._fixSelection) + event.Skip() + self.Refresh() + + + def _CheckValid(self, candidate=None): + """ + This is the default validation checking routine; It verifies that the + current value of the control is a "valid value," and has the side + effect of coloring the control appropriately. + """ + dbg(suspend=1) + dbg('wxMaskedEditMixin::_CheckValid: candidate="%s"' % candidate, indent=1) + oldValid = self._valid + if candidate is None: value = self._GetValue() + else: value = candidate + dbg('value: "%s"' % value) + oldvalue = value + valid = True # assume True + + if not self.IsDefault(value) and self._isDate: ## Date type validation + valid = self._validateDate(value) + dbg("valid date?", valid) + + elif not self.IsDefault(value) and self._isTime: + valid = self._validateTime(value) + dbg("valid time?", valid) + + elif not self.IsDefault(value) and (self._isInt or self._isDec): ## Numeric type + valid = self._validateNumeric(value) + dbg("valid Number?", valid) + + if valid and not self.IsDefault(value): + ## valid so far; ensure also allowed by any list or regex provided: + valid = self._validateGeneric(value) + dbg("valid value?", valid) + + if valid: + for field in self._fields.values(): # (includes field -1, ie: "global setting") + if field._emptyInvalid: + start, end = field._extent + if field.IsEmpty(value[start:end]): + valid = False + break + + dbg('valid?', valid) + + if not candidate: + self._valid = valid + self._applyFormatting() + if self._valid != oldValid: + dbg('validity changed: oldValid =',oldValid,'newvalid =', self._valid) + dbg('oldvalue: "%s"' % oldvalue, 'newvalue: "%s"' % self._GetValue()) + dbg(indent=0, suspend=0) + return valid + + + def _validateGeneric(self, candidate=None): + """ Validate the current value using the provided list or Regex filter (if any). + """ + if candidate is None: + text = self._GetValue() + else: + text = candidate + + valid = True # assume true + for i in [-1] + self._field_indices: # process global constraints first: + field = self._fields[i] + start, end = field._extent + slice = text[start:end] + valid = field.IsValid(slice) + if not valid: + break + + return valid + + + def _validateNumeric(self, candidate=None): + """ Validate that the value is within the specified range (if specified.)""" + if candidate is None: value = self._GetValue() + else: value = candidate + try: + groupchar = self._fields[0]._groupChar + if self._isDec: + number = float(value.replace(groupchar, '').replace(self._decimalChar, '.')) + else: + number = int( value.replace(groupchar, '')) + dbg('number:', number) + if self._ctrl_constraints._hasRange: + valid = self._ctrl_constraints._rangeLow <= number <= self._ctrl_constraints._rangeHigh + else: + valid = True + groupcharpos = value.rfind(groupchar) + if groupcharpos != -1: # group char present + dbg('groupchar found at', groupcharpos) + if self._isDec and groupcharpos > self._decimalpos: + # 1st one found on right-hand side is past decimal point + dbg('groupchar in fraction; illegal') + valid = False + elif self._isDec: + ord = value[:self._decimalpos] + else: + ord = value.strip() + + parts = ord.split(groupchar) + for i in range(len(parts)): + if i == 0 and abs(int(parts[0])) > 999: + dbg('group 0 too long; illegal') + valid = False + break + elif i > 0 and (len(parts[i]) != 3 or ' ' in parts[i]): + dbg('group %i (%s) not right size; illegal' % (i, parts[i])) + valid = False + break + except ValueError: + dbg('value not a valid number') + valid = False + return valid + + + def _validateDate(self, candidate=None): + """ Validate the current date value using the provided Regex filter. + Generally used for character types.BufferType + """ + dbg('wxMaskedEditMixin::_validateDate', indent=1) + if candidate is None: value = self._GetValue() + else: value = candidate + dbg('value = "%s"' % value) + text = self._adjustDate(value, force4digit_year=True) ## Fix the date up before validating it + dbg('text =', text) + valid = True # assume True until proven otherwise + + try: + # replace fillChar in each field with space: + datestr = text[0:self._dateExtent] + for i in range(3): + field = self._fields[i] + start, end = field._extent + fstr = datestr[start:end] + fstr.replace(field._fillChar, ' ') + datestr = datestr[:start] + fstr + datestr[end:] + + year, month, day = getDateParts( datestr, self._datestyle) + year = int(year) + dbg('self._dateExtent:', self._dateExtent) + if self._dateExtent == 11: + month = charmonths_dict[month.lower()] + else: + month = int(month) + day = int(day) + dbg('year, month, day:', year, month, day) + + except ValueError: + dbg('cannot convert string to integer parts') + valid = False + except KeyError: + dbg('cannot convert string to integer month') + valid = False + + if valid: + # use wxDateTime to unambiguously try to parse the date: + # ### Note: because wxDateTime is *brain-dead* and expects months 0-11, + # rather than 1-12, so handle accordingly: + if month > 12: + valid = False + else: + month -= 1 + try: + dbg("trying to create date from values day=%d, month=%d, year=%d" % (day,month,year)) + dateHandler = wxDateTimeFromDMY(day,month,year) + dbg("succeeded") + dateOk = True + except: + dbg('cannot convert string to valid date') + dateOk = False + if not dateOk: + valid = False + + if valid: + # wxDateTime doesn't take kindly to leading/trailing spaces when parsing, + # so we eliminate them here: + timeStr = text[self._dateExtent+1:].strip() ## time portion of the string + if timeStr: + dbg('timeStr: "%s"' % timeStr) + try: + checkTime = dateHandler.ParseTime(timeStr) + valid = checkTime == len(timeStr) + except: + valid = False + if not valid: + dbg('cannot convert string to valid time') + if valid: dbg('valid date') + dbg(indent=0) + return valid + + + def _validateTime(self, candidate=None): + """ Validate the current time value using the provided Regex filter. + Generally used for character types.BufferType + """ + dbg('wxMaskedEditMixin::_validateTime', indent=1) + # wxDateTime doesn't take kindly to leading/trailing spaces when parsing, + # so we eliminate them here: + if candidate is None: value = self._GetValue().strip() + else: value = candidate.strip() + dbg('value = "%s"' % value) + valid = True # assume True until proven otherwise + + dateHandler = wxDateTime_Today() + try: + checkTime = dateHandler.ParseTime(value) + dbg('checkTime:', checkTime, 'len(value)', len(value)) + valid = checkTime == len(value) + except: + valid = False + + if not valid: + dbg('cannot convert string to valid time') + if valid: dbg('valid time') + dbg(indent=0) + return valid + + + def _OnKillFocus(self,event): + """ Handler for EVT_KILL_FOCUS event. + """ + dbg('wxMaskedEditMixin::_OnKillFocus', 'isDate=',self._isDate, indent=1) + if self._mask and self._IsEditable(): + self._AdjustField(self._GetInsertionPoint()) + self._CheckValid() ## Call valid handler + + self._LostFocus() ## Provided for subclass use + event.Skip() + dbg(indent=0) + + + def _fixSelection(self): + """ + This gets called after the TAB traversal selection is made, if the + focus event was due to this, but before the EVT_LEFT_* events if + the focus shift was due to a mouse event. + + The trouble is that, a priori, there's no explicit notification of + why the focus event we received. However, the whole reason we need to + do this is because the default behavior on TAB traveral in a wxTextCtrl is + now to select the entire contents of the window, something we don't want. + So we can *now* test the selection range, and if it's "the whole text" + we can assume the cause, change the insertion point to the start of + the control, and deselect. + """ + dbg('wxMaskedEditMixin::_fixSelection', indent=1) + if not self._mask or not self._IsEditable(): + dbg(indent=0) + return + + sel_start, sel_to = self._GetSelection() + dbg('sel_start, sel_to:', sel_start, sel_to, 'self.IsEmpty()?', self.IsEmpty()) + + if( sel_start == 0 and sel_to >= len( self._mask ) #(can be greater in numeric controls because of reserved space) + or self.IsEmpty() or self.IsDefault()): + # This isn't normally allowed, and so assume we got here by the new + # "tab traversal" behavior, so we need to reset the selection + # and insertion point: + dbg('entire text selected; resetting selection to start of control') + self._goHome() + if self._FindField(0)._selectOnFieldEntry: + edit_start, edit_end = self._FindFieldExtent(self._GetInsertionPoint()) + self._SetSelection(edit_start, edit_end) + elif self._fields[0]._insertRight: + self._SetInsertionPoint(self._fields[0]._extent[1]) + + elif sel_start == 0 and self._GetValue()[0] == '-' and (self._isDec or self._isInt) and self._signOk: + dbg('control is empty; start at beginning after -') + self._SetInsertionPoint(1) ## Move past minus sign space if signed + if self._FindField(0)._selectOnFieldEntry: + edit_start, edit_end = self._FindFieldExtent(self._GetInsertionPoint()) + self._SetSelection(1, edit_end) + elif self._fields[0]._insertRight: + self._SetInsertionPoint(self._fields[0]._extent[1]) + + elif sel_start > self._goEnd(getPosOnly=True): + dbg('cursor beyond the end of the user input; go to end of it') + self._goEnd() + else: + dbg('sel_start, sel_to:', sel_start, sel_to, 'len(self._mask):', len(self._mask)) + dbg(indent=0) + + + def _Keypress(self,key): + """ Method provided to override OnChar routine. Return False to force + a skip of the 'normal' OnChar process. Called before class OnChar. + """ + return True + + + def _LostFocus(self): + """ Method provided for subclasses. _LostFocus() is called after + the class processes its EVT_KILL_FOCUS event code. + """ + pass + + + def _OnDoubleClick(self, event): + """ selects field under cursor on dclick.""" + pos = self._GetInsertionPoint() + field = self._FindField(pos) + start, end = field._extent + self._SetInsertionPoint(start) + self._SetSelection(start, end) + + + def _Change(self): + """ Method provided for subclasses. Called by internal EVT_TEXT + handler. Return False to override the class handler, True otherwise. + """ + return True + + + def _Cut(self): + """ + Used to override the default Cut() method in base controls, instead + copying the selection to the clipboard and then blanking the selection, + leaving only the mask in the selected area behind. + Note: _Cut (read "undercut" ;-) must be called from a Cut() override in the + derived control because the mixin functions can't override a method of + a sibling class. + """ + dbg("wxMaskedEditMixin::_Cut", indent=1) + value = self._GetValue() + dbg('current value: "%s"' % value) + sel_start, sel_to = self._GetSelection() ## check for a range of selected text + dbg('selected text: "%s"' % value[sel_start:sel_to].strip()) + do = wxTextDataObject() + do.SetText(value[sel_start:sel_to].strip()) + wxTheClipboard.Open() + wxTheClipboard.SetData(do) + wxTheClipboard.Close() + + wxCallAfter(self._SetValue, self._eraseSelection() ) + wxCallAfter(self._SetInsertionPoint, sel_start) + dbg(indent=0) + + +# WS Note: overriding Copy is no longer necessary given that you +# can no longer select beyond the last non-empty char in the control. +# +## def _Copy( self ): +## """ +## Override the wxTextCtrl's .Copy function, with our own +## that does validation. Need to strip trailing spaces. +## """ +## sel_start, sel_to = self._GetSelection() +## select_len = sel_to - sel_start +## textval = wxTextCtrl._GetValue(self) +## +## do = wxTextDataObject() +## do.SetText(textval[sel_start:sel_to].strip()) +## wxTheClipboard.Open() +## wxTheClipboard.SetData(do) +## wxTheClipboard.Close() + + + def _getClipboardContents( self ): + """ Subroutine for getting the current contents of the clipboard. + """ + do = wxTextDataObject() + wxTheClipboard.Open() + success = wxTheClipboard.GetData(do) + wxTheClipboard.Close() + + if not success: + return None + else: + # Remove leading and trailing spaces before evaluating contents + return do.GetText().strip() + + + def _validatePaste(self, paste_text, sel_start, sel_to, raise_on_invalid=False): + """ + Used by paste routine and field choice validation to see + if a given slice of paste text is legal for the area in question: + returns validity, replacement text, and extent of paste in + template. + """ + dbg(suspend=1) + dbg('wxMaskedEditMixin::_validatePaste("%(paste_text)s", %(sel_start)d, %(sel_to)d), raise_on_invalid? %(raise_on_invalid)d' % locals(), indent=1) + select_length = sel_to - sel_start + maxlength = select_length + dbg('sel_to - sel_start:', maxlength) + if maxlength == 0: + maxlength = len(self._mask) - sel_start + dbg('maxlength:', maxlength) + length_considered = len(paste_text) + if length_considered > maxlength: + dbg('paste text will not fit into the control:', indent=0) + if raise_on_invalid: + raise ValueError('"%s" will not fit into the control "%s"' % (paste_text, self.name)) + else: + return False, None, None + + text = self._template + dbg('length_considered:', length_considered) + + valid_paste = True + replacement_text = "" + replace_to = sel_start + i = 0 + while valid_paste and i < length_considered and replace_to < len(self._mask): + char = paste_text[i] + field = self._FindField(replace_to) + if field._forceupper: char = char.upper() + elif field._forcelower: char = char.lower() + + dbg('char:', "'"+char+"'", 'i =', i, 'replace_to =', replace_to) + dbg('self._isTemplateChar(%d)?' % replace_to, self._isTemplateChar(replace_to)) + if not self._isTemplateChar(replace_to) and self._isCharAllowed( char, replace_to): + replacement_text += char + dbg("not template(%(replace_to)d) and charAllowed('%(char)s',%(replace_to)d)" % locals()) + dbg("replacement_text:", '"'+replacement_text+'"') + i += 1 + replace_to += 1 + elif char == self._template[replace_to] or (i == 0 and char == '-' and self._signOk): + replacement_text += char + dbg("'%(char)s' == template(%(replace_to)d)" % locals()) + dbg("replacement_text:", '"'+replacement_text+'"') + i += 1 + replace_to += 1 + else: + next_entry = self._findNextEntry(replace_to, adjustInsert=False) + if next_entry == replace_to: + valid_paste = False + else: + replacement_text += self._template[replace_to:next_entry] + dbg("skipping template; next_entry =", next_entry) + dbg("replacement_text:", '"'+replacement_text+'"') + replace_to = next_entry # so next_entry will be considered on next loop + + if not valid_paste and raise_on_invalid: + dbg('raising exception') + raise ValueError('"%s" cannot be inserted into the control "%s"' % (paste_text, self.name)) + + elif i < len(paste_text): + valid_paste = False + if raise_on_invalid: + dbg('raising exception') + raise ValueError('"%s" will not fit into the control "%s"' % (paste_text, self.name)) + + dbg('valid_paste?', valid_paste) + if valid_paste: + dbg('replacement_text: "%s"' % replacement_text, 'replace to:', replace_to) + dbg(indent=0, suspend=0) + return valid_paste, replacement_text, replace_to + + + def _Paste( self, value=None, raise_on_invalid=False, just_return_value=False ): + """ + Used to override the base control's .Paste() function, + with our own that does validation. + Note: _Paste must be called from a Paste() override in the + derived control because the mixin functions can't override a + method of a sibling class. + """ + dbg('wxMaskedEditMixin::_Paste (value = "%s")' % value, indent=1) + if value is None: + paste_text = self._getClipboardContents() + else: + paste_text = value + + if paste_text is not None: + dbg('paste text:', paste_text) + # (conversion will raise ValueError if paste isn't legal) + sel_start, sel_to = self._GetSelection() + try: + valid_paste, replacement_text, replace_to = self._validatePaste(paste_text, sel_start, sel_to, raise_on_invalid) + except: + dbg('exception thrown', indent=0) + raise + + if not valid_paste: + dbg('paste text not legal for the selection or portion of the control following the cursor;') + dbg(indent=0) + return False + # else... + text = self._eraseSelection() + + new_text = text[:sel_start] + replacement_text + text[replace_to:] + if new_text: + new_text = string.ljust(new_text,len(self._mask)) + dbg("new_text:", '"'+new_text+'"') + + if not just_return_value: + if new_text == '': + self.ClearValue() + else: + wxCallAfter(self._SetValue, new_text) + new_pos = sel_start + len(replacement_text) + wxCallAfter(self._SetInsertionPoint, new_pos) + else: + return new_text + elif just_return_value: + return self._GetValue() + dbg(indent=0) + + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +class wxMaskedTextCtrl( wxTextCtrl, wxMaskedEditMixin ): + """ + This is the primary derivation from wxMaskedEditMixin. It provides + a general masked text control that can be configured with different + masks. + """ + + def __init__( self, parent, id=-1, value = '', + pos = wxDefaultPosition, + size = wxDefaultSize, + style = wxTE_PROCESS_TAB, + validator=wxDefaultValidator, ## placeholder provided for data-transfer logic + name = 'maskedTextCtrl', + setupEventHandling = True, ## setup event handling by default + **kwargs): + + wxTextCtrl.__init__(self, parent, id, value='', + pos=pos, size = size, + style=style, validator=validator, + name=name) + + self.controlInitialized = True + wxMaskedEditMixin.__init__( self, name, **kwargs ) + self._SetInitialValue(value) + + if setupEventHandling: + ## Setup event handlers + EVT_SET_FOCUS( self, self._OnFocus ) ## defeat automatic full selection + EVT_KILL_FOCUS( self, self._OnKillFocus ) ## run internal validator + EVT_LEFT_DCLICK(self, self._OnDoubleClick) ## select field under cursor on dclick + EVT_KEY_DOWN( self, self._OnKeyDown ) ## capture control events not normally seen, eg ctrl-tab. + EVT_CHAR( self, self._OnChar ) ## handle each keypress + EVT_TEXT( self, self.GetId(), self._OnTextChange ) ## color control appropriately + + + def __repr__(self): + return "" % self.GetValue() + + + def _GetSelection(self): + """ + Allow mixin to get the text selection of this control. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.GetSelection() + + def _SetSelection(self, sel_start, sel_to): + """ + Allow mixin to set the text selection of this control. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.SetSelection( sel_start, sel_to ) + + def SetSelection(self, sel_start, sel_to): + """ + This is just for debugging... + """ + dbg("wxMaskedTextCtrl::SetSelection(%(sel_start)d, %(sel_to)d)" % locals()) + wxTextCtrl.SetSelection(self, sel_start, sel_to) + + + def _GetInsertionPoint(self): + return self.GetInsertionPoint() + + def _SetInsertionPoint(self, pos): + self.SetInsertionPoint(pos) + + def SetInsertionPoint(self, pos): + """ + This is just for debugging... + """ + dbg("wxMaskedTextCtrl::SetInsertionPoint(%(pos)d)" % locals()) + wxTextCtrl.SetInsertionPoint(self, pos) + + + def _GetValue(self): + """ + Allow mixin to get the raw value of the control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.GetValue() + + def _SetValue(self, value): + """ + Allow mixin to set the raw value of the control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + dbg('wxMaskedTextCtrl::_SetValue("%(value)s")' % locals(), indent=1) + wxTextCtrl.SetValue(self, value) + dbg(indent=0) + + def SetValue(self, value): + """ + This function redefines the externally accessible .SetValue to be + a smart "paste" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + dbg('wxMaskedTextCtrl::SetValue = "%s"' % value, indent=1) + + # empty previous contents, replacing entire value: + self._SetInsertionPoint(0) + self._SetSelection(0, len(self._mask)) + + if( len(value) < len(self._mask) # value shorter than control + and (self._isDec or self._isInt) # and it's a numeric control + and self._ctrl_constraints._alignRight ): # and it's a right-aligned control + # try to intelligently "pad out" the value to the right size: + value = self._template[0:len(self._mask) - len(value)] + value + dbg('padded value = "%s"' % value) + + # make SetValue behave the same as if you had typed the value in: + try: + value = self._Paste(value, raise_on_invalid=True, just_return_value=True) + if self._isDec: + self._isNeg = False # (clear current assumptions) + value = self._adjustDec(value) + elif self._isInt: + self._isNeg = False # (clear current assumptions) + value = self._adjustInt(value) + elif self._isDate and not self.IsValid(value) and self._4digityear: + value = self._adjustDate(value, fixcentury=true) + except ValueError: + # If date, year might be 2 digits vs. 4; try adjusting it: + if self._isDate and self._4digityear: + dateparts = value.split(' ') + dateparts[0] = self._adjustDate(dateparts[0], fixcentury=true) + value = string.join(dateparts, ' ') + dbg('adjusted value: "%s"' % value) + value = self._Paste(value, raise_on_invalid=True, just_return_value=True) + else: + raise + + self._SetValue(value) + dbg(indent=0) + + + def _Refresh(self): + """ + Allow mixin to refresh the base control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + dbg('wxMaskedTextCtrl::_Refresh', indent=1) + wxTextCtrl.Refresh(self) + dbg(indent=0) + + + def Refresh(self): + """ + This function redefines the externally accessible .Refresh() to + validate the contents of the masked control as it refreshes. + NOTE: this must be done in the class derived from the base wx control. + """ + dbg('wxMaskedTextCtrl::Refresh', indent=1) + self._CheckValid() + self._Refresh() + dbg(indent=0) + + + def _IsEditable(self): + """ + Allow mixin to determine if the base control is editable with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return wxTextCtrl.IsEditable(self) + + + def Cut(self): + """ + This function redefines the externally accessible .Cut to be + a smart "erase" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + self._Cut() # call the mixin's Cut method + + + def Paste(self): + """ + This function redefines the externally accessible .Paste to be + a smart "paste" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + self._Paste() # call the mixin's Paste method + + + def IsModified(self): + """ + This function overrides the raw wxTextCtrl method, because the + masked edit mixin uses SetValue to change the value, which doesn't + modify the state of this attribute. So, we keep track on each + keystroke to see if the value changes, and if so, it's been + modified. + """ + return wxTextCtrl.IsModified(self) or self.modified + + + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- +## Because calling SetSelection programmatically does not fire EVT_COMBOBOX +## events, we have to do it ourselves when we auto-complete. +class wxMaskedComboBoxSelectEvent(wxPyCommandEvent): + def __init__(self, id, selection = 0, object=None): + wxPyCommandEvent.__init__(self, wxEVT_COMMAND_COMBOBOX_SELECTED, id) + + self.__selection = selection + self.SetEventObject(object) + + def GetSelection(self): + """Retrieve the value of the control at the time + this event was generated.""" + return self.__selection + + +class wxMaskedComboBox( wxComboBox, wxMaskedEditMixin ): + """ + This masked edit control adds the ability to use a masked input + on a combobox, and do auto-complete of such values. + """ + def __init__( self, parent, id=-1, value = '', + pos = wxDefaultPosition, + size = wxDefaultSize, + choices = [], + style = wxCB_DROPDOWN, + validator = wxDefaultValidator, + name = "maskedComboBox", + setupEventHandling = True, ## setup event handling by default): + **kwargs): + + + # This is necessary, because wxComboBox currently provides no + # method for determining later if this was specified in the + # constructor for the control... + self.__readonly = style & wxCB_READONLY == wxCB_READONLY + + kwargs['choices'] = choices ## set up maskededit to work with choice list too + + ## Since combobox completion is case-insensitive, always validate same way + if not kwargs.has_key('compareNoCase'): + kwargs['compareNoCase'] = True + + wxMaskedEditMixin.__init__( self, name, **kwargs ) + self._choices = self._ctrl_constraints._choices + dbg('self._choices:', self._choices) + + if self._ctrl_constraints._alignRight: + choices = [choice.rjust(len(self._mask)) for choice in choices] + else: + choices = [choice.ljust(len(self._mask)) for choice in choices] + + wxComboBox.__init__(self, parent, id, value='', + pos=pos, size = size, + choices=choices, style=style|wxWANTS_CHARS, + validator=validator, + name=name) + + self.controlInitialized = True + + # Set control font - fixed width by default + self._setFont() + + if self._autofit: + self.SetClientSize(self.calcSize()) + + if value: + # ensure value is width of the mask of the control: + if self._ctrl_constraints._alignRight: + value = value.rjust(len(self._mask)) + else: + value = value.ljust(len(self._mask)) + + if self.__readonly: + self.SetStringSelection(value) + else: + self._SetInitialValue(value) + + + self._SetKeycodeHandler(WXK_UP, self.OnSelectChoice) + self._SetKeycodeHandler(WXK_DOWN, self.OnSelectChoice) + + if setupEventHandling: + ## Setup event handlers + EVT_SET_FOCUS( self, self._OnFocus ) ## defeat automatic full selection + EVT_KILL_FOCUS( self, self._OnKillFocus ) ## run internal validator + EVT_LEFT_DCLICK(self, self._OnDoubleClick) ## select field under cursor on dclick + EVT_CHAR( self, self._OnChar ) ## handle each keypress + EVT_KEY_DOWN( self, self.OnKeyDown ) ## for special processing of up/down keys + EVT_KEY_DOWN( self, self._OnKeyDown ) ## for processing the rest of the control keys + ## (next in evt chain) + EVT_TEXT( self, self.GetId(), self._OnTextChange ) ## color control appropriately + + + def __repr__(self): + return "" % self.GetValue() + + + def calcSize(self, size=None): + """ + Calculate automatic size if allowed; override base mixin function + to account for the selector button. + """ + size = self._calcSize(size) + return (size[0]+20, size[1]) + + + def _GetSelection(self): + """ + Allow mixin to get the text selection of this control. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.GetMark() + + def _SetSelection(self, sel_start, sel_to): + """ + Allow mixin to set the text selection of this control. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.SetMark( sel_start, sel_to ) + + + def _GetInsertionPoint(self): + return self.GetInsertionPoint() + + def _SetInsertionPoint(self, pos): + self.SetInsertionPoint(pos) + + + def _GetValue(self): + """ + Allow mixin to get the raw value of the control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return self.GetValue() + + def _SetValue(self, value): + """ + Allow mixin to set the raw value of the control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + # For wxComboBox, ensure that values are properly padded so that + # if varying length choices are supplied, they always show up + # in the window properly, and will be the appropriate length + # to match the mask: + if self._ctrl_constraints._alignRight: + value = value.rjust(len(self._mask)) + else: + value = value.ljust(len(self._mask)) + wxComboBox.SetValue(self, value) + + def SetValue(self, value): + """ + This function redefines the externally accessible .SetValue to be + a smart "paste" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + + # empty previous contents, replacing entire value: + self._SetInsertionPoint(0) + self._SetSelection(0, len(self._mask)) + + if( len(value) < len(self._mask) # value shorter than control + and (self._isDec or self._isInt) # and it's a numeric control + and self._ctrl_constraints._alignRight ): # and it's a right-aligned control + # try to intelligently "pad out" the value to the right size: + value = self._template[0:len(self._mask) - len(value)] + value + dbg('padded value = "%s"' % value) + + # make SetValue behave the same as if you had typed the value in: + try: + value = self._Paste(value, raise_on_invalid=True, just_return_value=True) + if self._isDec: + self._isNeg = False # (clear current assumptions) + value = self._adjustDec(value) + elif self._isInt: + self._isNeg = False # (clear current assumptions) + value = self._adjustInt(value) + elif self._isDate and not self.IsValid(value) and self._4digityear: + value = self._adjustDate(value, fixcentury=true) + except ValueError: + # If date, year might be 2 digits vs. 4; try adjusting it: + if self._isDate and self._4digityear: + dateparts = value.split(' ') + dateparts[0] = self._adjustDate(dateparts[0], fixcentury=true) + value = string.join(dateparts, ' ') + dbg('adjusted value: "%s"' % value) + value = self._Paste(value, raise_on_invalid=True, just_return_value=True) + else: + raise + + self._SetValue(value) + + def _Refresh(self): + """ + Allow mixin to refresh the base control with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + wxComboBox.Refresh(self) + + def Refresh(self): + """ + This function redefines the externally accessible .Refresh() to + validate the contents of the masked control as it refreshes. + NOTE: this must be done in the class derived from the base wx control. + """ + self._CheckValid() + self._Refresh() + + + def _IsEditable(self): + """ + Allow mixin to determine if the base control is editable with this function. + REQUIRED by any class derived from wxMaskedEditMixin. + """ + return not self.__readonly + + + def Cut(self): + """ + This function redefines the externally accessible .Cut to be + a smart "erase" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + self._Cut() # call the mixin's Cut method + + + def Paste(self): + """ + This function redefines the externally accessible .Paste to be + a smart "paste" of the text in question, so as not to corrupt the + masked control. NOTE: this must be done in the class derived + from the base wx control. + """ + self._Paste() # call the mixin's Paste method + + + def Append( self, choice ): + """ + This function override is necessary so we can keep track of any additions to the list + of choices, because wxComboBox doesn't have an accessor for the choice list. + """ + if self._ctrl_constraints._alignRight: + choice = choice.rjust(len(self._mask)) + else: + choice = choice.ljust(len(self._mask)) + + if self._ctrl_constraints._choiceRequired: + choice = choice.lower().strip() + self._choices.append(choice) + + if not self.IsValid(choice): + raise ValueError('%s: "%s" is not a valid value for the control as specified.' % (self.name, choice)) + + + wxComboBox.Append(self, choice) + + + def Clear( self ): + """ + This function override is necessary so we can keep track of any additions to the list + of choices, because wxComboBox doesn't have an accessor for the choice list. + """ + self._choices = [] + if self._ctrl_constraints._choices: + self.SetCtrlParameters(choices=[]) + wxComboBox.Clear(self) + + + def GetMark(self): + """ + This function is a hack to make up for the fact that wxComboBox has no + method for returning the selected portion of its edit control. It + works, but has the nasty side effect of generating lots of intermediate + events. + """ + dbg(suspend=1) # turn off debugging around this function + dbg('wxMaskedComboBox::GetMark', indent=1) + sel_start = sel_to = self.GetInsertionPoint() + dbg("current sel_start:", sel_start) + value = self.GetValue() + dbg('value: "%s"' % value) + + self._ignoreChange = True # tell _OnTextChange() to ignore next event (if any) + + wxComboBox.Cut(self) + newvalue = self.GetValue() + dbg("value after Cut operation:", newvalue) + + if newvalue != value: # something was selected; calculate extent + dbg("something selected") + sel_to = sel_start + len(value) - len(newvalue) + wxComboBox.SetValue(self, value) # restore original value and selection (still ignoring change) + wxComboBox.SetInsertionPoint(self, sel_start) + wxComboBox.SetMark(self, sel_start, sel_to) + + self._ignoreChange = False # tell _OnTextChange() to pay attn again + + dbg('computed selection:', sel_start, sel_to, indent=0, suspend=0) + return sel_start, sel_to + + + def OnKeyDown(self, event): + """ + This function is necessary because navigation and control key + events do not seem to normally be seen by the wxComboBox's + EVT_CHAR routine. (Tabs don't seem to be visible no matter + what... {:-( ) + """ + if event.GetKeyCode() in self._nav + self._control: + self._OnChar(event) + return + else: + event.Skip() # let mixin default KeyDown behavior occur + + + def OnSelectChoice(self, event): + """ + This function appears to be necessary, because the processing done + on the text of the control somehow interferes with the combobox's + selection mechanism for the arrow keys. + """ + dbg('wxMaskedComboBox::OnSelectChoice', indent=1) + + # force case-insensitive comparison for matching purposes: + value = self.GetValue().lower().strip() + if event.GetKeyCode() == WXK_UP: + direction = -1 + else: + direction = 1 + match_index = self._autoComplete(direction, self._choices, value, self._ctrl_constraints._compareNoCase) + if match_index is not None: + dbg('setting selection to', match_index) + self.SetSelection(match_index) + # issue appropriate event to outside: + self.GetEventHandler().ProcessEvent( + wxMaskedComboBoxSelectEvent( self.GetId(), match_index, self ) ) + self._CheckValid() + keep_processing = False + else: + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + field = self._FindField(pos) + if self.IsEmpty() or not field._hasList: + dbg('selecting 1st value in list') + self.SetSelection(0) + self.GetEventHandler().ProcessEvent( + wxMaskedComboBoxSelectEvent( self.GetId(), 0, self ) ) + self._CheckValid() + keep_processing = False + else: + # attempt field-level auto-complete + dbg(indent=0) + keep_processing = self._OnAutoCompleteField(event) + dbg(indent=0) + return keep_processing + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +class wxIpAddrCtrl( wxMaskedTextCtrl ): + """ + This class is a particular type of wxMaskedTextCtrl that accepts + and understands the semantics of IP addresses, reformats input + as you move from field to field, and accepts '.' as a navigation + character, so that typing an IP address can be done naturally. + """ + def __init__( self, parent, id=-1, value = '', + pos = wxDefaultPosition, + size = wxDefaultSize, + style = wxTE_PROCESS_TAB, + validator = wxDefaultValidator, + name = 'wxIpAddrCtrl', + setupEventHandling = True, ## setup event handling by default + **kwargs): + + if not kwargs.has_key('mask'): + kwargs['mask'] = mask = "###.###.###.###" + if not kwargs.has_key('formatcodes'): + kwargs['formatcodes'] = 'F_Sr<' + if not kwargs.has_key('validRegex'): + kwargs['validRegex'] = "( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))(\.( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))){3}" + + if not kwargs.has_key('emptyInvalid'): + kwargs['emptyInvalid'] = True + + wxMaskedTextCtrl.__init__( + self, parent, id=id, value = value, + pos=pos, size=size, + style = style, + validator = validator, + name = name, + setupEventHandling = setupEventHandling, + **kwargs) + + field_params = {} + if not kwargs.has_key('validRequired'): + field_params['validRequired'] = True + + field_params['validRegex'] = "( | \d| \d |\d | \d\d|\d\d |\d \d|(1\d\d|2[0-4]\d|25[0-5]))" + + # require "valid" string; this prevents entry of any value > 255, but allows + # intermediate constructions; overall control validation requires well-formatted value. + field_params['formatcodes'] = 'V' + + if field_params: + for i in self._field_indices: + self.SetFieldParameters(i, **field_params) + + # This makes '.' act like tab: + self._AddNavKey('.', handler=self.OnDot) + self._AddNavKey('>', handler=self.OnDot) # for "shift-." + + + def OnDot(self, event): + dbg('wxIpAddrCtrl::OnDot', indent=1) + pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode()) + oldvalue = self.GetValue() + edit_start, edit_end, slice = self._FindFieldExtent(pos, getslice=True) + if not event.ShiftDown(): + if pos < edit_end: + # clip data in field to the right of pos, if adjusting fields + # when not at delimeter; (assumption == they hit '.') + newvalue = oldvalue[:pos] + ' ' * (edit_end - pos) + oldvalue[edit_end:] + self._SetValue(newvalue) + self._SetInsertionPoint(pos) + dbg(indent=0) + return self._OnChangeField(event) + + + + def GetAddress(self): + value = wxMaskedTextCtrl.GetValue(self) + return value.replace(' ','') # remove spaces from the value + + + def _OnCtrl_S(self, event): + dbg("wxIpAddrCtrl::_OnCtrl_S") + if self._demo: + print "value:", self.GetAddress() + return False + + def SetValue(self, value): + dbg('wxIpAddrCtrl::SetValue(%s)' % str(value), indent=1) + if type(value) != types.StringType: + raise ValueError('%s must be a string', str(value)) + + bValid = True # assume true + parts = value.split('.') + if len(parts) != 4: + bValid = False + else: + for i in range(4): + part = parts[i] + if not 0 <= len(part) <= 3: + bValid = False + break + elif part.strip(): # non-empty part + try: + j = string.atoi(part) + if not 0 <= j <= 255: + bValid = False + break + else: + parts[i] = '%3d' % j + except: + bValid = False + break + else: + # allow empty sections for SetValue (will result in "invalid" value, + # but this may be useful for initializing the control: + parts[i] = ' ' # convert empty field to 3-char length + + if not bValid: + dbg(indent=0) + raise ValueError('value (%s) must be a string of form n.n.n.n where n is empty or in range 0-255' % str(value)) + else: + dbg('parts:', parts) + value = string.join(parts, '.') + wxMaskedTextCtrl.SetValue(self, value) + dbg(indent=0) + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- +## these are helper subroutines: + +def movetodec( origvalue, fmtstring, neg, addseparators=False, sepchar = ',',fillchar=' '): + """ addseparators = add separator character every three numerals if True + """ + fmt0 = fmtstring.split('.') + fmt1 = fmt0[0] + fmt2 = fmt0[1] + val = origvalue.split('.')[0].strip() + ret = fillchar * (len(fmt1)-len(val)) + val + "." + "0" * len(fmt2) + if neg: + ret = '-' + ret[1:] + return (ret,len(fmt1)) + + +def isDateType( fmtstring ): + """ Checks the mask and returns True if it fits an allowed + date or datetime format. + """ + dateMasks = ("^##/##/####", + "^##-##-####", + "^##.##.####", + "^####/##/##", + "^####-##-##", + "^####.##.##", + "^##/CCC/####", + "^##.CCC.####", + "^##/##/##$", + "^##/##/## ", + "^##/CCC/##$", + "^##.CCC.## ",) + reString = "|".join(dateMasks) + filter = re.compile( reString) + if re.match(filter,fmtstring): return True + return False + +def isTimeType( fmtstring ): + """ Checks the mask and returns True if it fits an allowed + time format. + """ + reTimeMask = "^##:##(:##)?( (AM|PM))?" + filter = re.compile( reTimeMask ) + if re.match(filter,fmtstring): return True + return False + + +def isDecimal( fmtstring, decimalchar ): + filter = re.compile("[ ]?[#]+\%c[#]+\n" % decimalchar) + if re.match(filter,fmtstring+"\n"): return True + return False + + +def isInteger( fmtstring ): + filter = re.compile("[#]+\n") + if re.match(filter,fmtstring+"\n"): return True + return False + + +def getDateParts( dateStr, dateFmt ): + if len(dateStr) > 11: clip = dateStr[0:11] + else: clip = dateStr + if clip[-2] not in string.digits: + clip = clip[:-1] # (got part of time; drop it) + + dateSep = (('/' in clip) * '/') + (('-' in clip) * '-') + (('.' in clip) * '.') + slices = clip.split(dateSep) + if dateFmt == "MDY": + y,m,d = (slices[2],slices[0],slices[1]) ## year, month, date parts + elif dateFmt == "DMY": + y,m,d = (slices[2],slices[1],slices[0]) ## year, month, date parts + elif dateFmt == "YMD": + y,m,d = (slices[0],slices[1],slices[2]) ## year, month, date parts + else: + y,m,d = None, None, None + if not y: + return None + else: + return y,m,d + + +def getDateSepChar(dateStr): + clip = dateStr[0:10] + dateSep = (('/' in clip) * '/') + (('-' in clip) * '-') + (('.' in clip) * '.') + return dateSep + + +def makeDate( year, month, day, dateFmt, dateStr): + sep = getDateSepChar( dateStr) + if dateFmt == "MDY": + return "%s%s%s%s%s" % (month,sep,day,sep,year) ## year, month, date parts + elif dateFmt == "DMY": + return "%s%s%s%s%s" % (day,sep,month,sep,year) ## year, month, date parts + elif dateFmt == "YMD": + return "%s%s%s%s%s" % (year,sep,month,sep,day) ## year, month, date parts + else: + return none + + +def getYear(dateStr,dateFmt): + parts = getDateParts( dateStr, dateFmt) + return parts[0] + +def getMonth(dateStr,dateFmt): + parts = getDateParts( dateStr, dateFmt) + return parts[1] + +def getDay(dateStr,dateFmt): + parts = getDateParts( dateStr, dateFmt) + return parts[2] + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- +class test(wxPySimpleApp): + def OnInit(self): + from wxPython.lib.rcsizer import RowColSizer + self.frame = wxFrame( NULL, -1, "wxMaskedEditMixin 0.0.7 Demo Page #1", size = (700,600)) + self.panel = wxPanel( self.frame, -1) + self.sizer = RowColSizer() + self.labels = [] + self.editList = [] + rowcount = 4 + + id, id1 = wxNewId(), wxNewId() + self.command1 = wxButton( self.panel, id, "&Close" ) + self.command2 = wxButton( self.panel, id1, "&AutoFormats" ) + self.sizer.Add(self.command1, row=0, col=0, flag=wxALL, border = 5) + self.sizer.Add(self.command2, row=0, col=1, colspan=2, flag=wxALL, border = 5) + EVT_BUTTON( self.panel, id, self.onClick ) +## self.panel.SetDefaultItem(self.command1 ) + EVT_BUTTON( self.panel, id1, self.onClickPage ) + + self.check1 = wxCheckBox( self.panel, -1, "Disallow Empty" ) + self.check2 = wxCheckBox( self.panel, -1, "Highlight Empty" ) + self.sizer.Add( self.check1, row=0,col=3, flag=wxALL,border=5 ) + self.sizer.Add( self.check2, row=0,col=4, flag=wxALL,border=5 ) + EVT_CHECKBOX( self.panel, self.check1.GetId(), self._onCheck1 ) + EVT_CHECKBOX( self.panel, self.check2.GetId(), self._onCheck2 ) + + + label = """Press ctrl-s in any field to output the value and plain value. Press ctrl-x to clear and re-set any field. +Note that all controls have been auto-sized by including F in the format code. +Try entering nonsensical or partial values in validated fields to see what happens (use ctrl-s to test the valid status).""" + label2 = "\nNote that the State and Last Name fields are list-limited (Name:Smith,Jones,Williams)." + + self.label1 = wxStaticText( self.panel, -1, label) + self.label2 = wxStaticText( self.panel, -1, "Description") + self.label3 = wxStaticText( self.panel, -1, "Mask Value") + self.label4 = wxStaticText( self.panel, -1, "Format") + self.label5 = wxStaticText( self.panel, -1, "Reg Expr Val. (opt)") + self.label6 = wxStaticText( self.panel, -1, "wxMaskedEdit Ctrl") + self.label7 = wxStaticText( self.panel, -1, label2) + self.label7.SetForegroundColour("Blue") + self.label1.SetForegroundColour("Blue") + self.label2.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label3.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label4.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label5.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label6.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + + self.sizer.Add( self.label1, row=1,col=0,colspan=7, flag=wxALL,border=5) + self.sizer.Add( self.label7, row=2,col=0,colspan=7, flag=wxALL,border=5) + self.sizer.Add( self.label2, row=3,col=0, flag=wxALL,border=5) + self.sizer.Add( self.label3, row=3,col=1, flag=wxALL,border=5) + self.sizer.Add( self.label4, row=3,col=2, flag=wxALL,border=5) + self.sizer.Add( self.label5, row=3,col=3, flag=wxALL,border=5) + self.sizer.Add( self.label6, row=3,col=4, flag=wxALL,border=5) + + # The following list is of the controls for the demo. Feel free to play around with + # the options! + controls = [ + #description mask excl format regexp range,list,initial + ("Phone No", "(###) ###-#### x:###", "", 'F!^-R', "^\(\d\d\d\) \d\d\d-\d\d\d\d", (),[],''), + ("Last Name Only", "C{14}", "", 'F {list}', '^[A-Z][a-zA-Z]+', (),('Smith','Jones','Williams'),''), + ("Full Name", "C{14}", "", 'F_', '^[A-Z][a-zA-Z]+ [A-Z][a-zA-Z]+', (),[],''), + ("Social Sec#", "###-##-####", "", 'F', "\d{3}-\d{2}-\d{4}", (),[],''), + ("U.S. Zip+4", "#{5}-#{4}", "", 'F', "\d{5}-(\s{4}|\d{4})",(),[],''), + ("U.S. State (2 char)\n(with default)","AA", "", 'F!', "[A-Z]{2}", (),states, 'AZ'), + ("Customer No", "\CAA-###", "", 'F!', "C[A-Z]{2}-\d{3}", (),[],''), + ("Date (MDY) + Time\n(with default)", "##/##/#### ##:## AM", 'BCDEFGHIJKLMNOQRSTUVWXYZ','DFR!',"", (),[], r'03/05/2003 12:00 AM'), + ("Invoice Total", "#{9}.##", "", 'F-R,', "", (),[], ''), + ("Integer (signed)\n(with default)", "#{6}", "", 'F-R', "", (),[], '0 '), + ("Integer (unsigned)\n(with default), 1-399", "######", "", 'F', "", (1,399),[], '1 '), + ("Month selector", "XXX", "", 'F', "", (), + ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],""), + ("fraction selector","#/##", "", 'F', "^\d\/\d\d?", (), + ['2/3', '3/4', '1/2', '1/4', '1/8', '1/16', '1/32', '1/64'], "") + ] + + for control in controls: + self.sizer.Add( wxStaticText( self.panel, -1, control[0]),row=rowcount, col=0,border=5,flag=wxALL) + self.sizer.Add( wxStaticText( self.panel, -1, control[1]),row=rowcount, col=1,border=5, flag=wxALL) + self.sizer.Add( wxStaticText( self.panel, -1, control[3]),row=rowcount, col=2,border=5, flag=wxALL) + self.sizer.Add( wxStaticText( self.panel, -1, control[4][:20]),row=rowcount, col=3,border=5, flag=wxALL) + + if control in controls[:]:#-2]: + newControl = wxMaskedTextCtrl( self.panel, -1, "", + mask = control[1], + excludeChars = control[2], + formatcodes = control[3], + includeChars = "", + validRegex = control[4], + validRange = control[5], + choices = control[6], + defaultValue = control[7], + demo = True) + if control[6]: newControl.SetCtrlParameters(choiceRequired = True) + else: + newControl = wxMaskedComboBox( self.panel, -1, "", + choices = control[7], + choiceRequired = True, + mask = control[1], + formatcodes = control[3], + excludeChars = control[2], + includeChars = "", + validRegex = control[4], + validRange = control[5], + demo = True) + self.editList.append( newControl ) + + self.sizer.Add( newControl, row=rowcount,col=4,flag=wxALL,border=5) + rowcount += 1 + + self.sizer.AddGrowableCol(4) + + self.panel.SetSizer(self.sizer) + self.panel.SetAutoLayout(1) + + self.frame.Show(1) + self.MainLoop() + + return True + + def onClick(self, event): + self.frame.Close() + + def onClickPage(self, event): + self.page2 = test2(self.frame,-1,"") + self.page2.Show(True) + + def _onCheck1(self,event): + """ Set required value on/off """ + value = event.Checked() + if value: + for control in self.editList: + control.SetCtrlParameters(emptyInvalid=True) + control.Refresh() + else: + for control in self.editList: + control.SetCtrlParameters(emptyInvalid=False) + control.Refresh() + self.panel.Refresh() + + def _onCheck2(self,event): + """ Highlight empty values""" + value = event.Checked() + if value: + for control in self.editList: + control.SetCtrlParameters( emptyBackgroundColor = 'Aquamarine') + control.Refresh() + else: + for control in self.editList: + control.SetCtrlParameters( emptyBackgroundColor = 'White') + control.Refresh() + self.panel.Refresh() + + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +class test2(wxFrame): + def __init__(self, parent, id, caption): + wxFrame.__init__( self, parent, id, "wxMaskedEdit control 0.0.7 Demo Page #2 -- AutoFormats", size = (550,600)) + from wxPython.lib.rcsizer import RowColSizer + self.panel = wxPanel( self, -1) + self.sizer = RowColSizer() + self.labels = [] + self.texts = [] + rowcount = 4 + + label = """\ +All these controls have been created by passing a single parameter, the AutoFormat code. +The class contains an internal dictionary of types and formats (autoformats). +To see a great example of validations in action, try entering a bad email address, then tab out.""" + + self.label1 = wxStaticText( self.panel, -1, label) + self.label2 = wxStaticText( self.panel, -1, "Description") + self.label3 = wxStaticText( self.panel, -1, "AutoFormat Code") + self.label4 = wxStaticText( self.panel, -1, "wxMaskedEdit Control") + self.label1.SetForegroundColour("Blue") + self.label2.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label3.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + self.label4.SetFont(wxFont(9,wxSWISS,wxNORMAL,wxBOLD)) + + self.sizer.Add( self.label1, row=1,col=0,colspan=3, flag=wxALL,border=5) + self.sizer.Add( self.label2, row=3,col=0, flag=wxALL,border=5) + self.sizer.Add( self.label3, row=3,col=1, flag=wxALL,border=5) + self.sizer.Add( self.label4, row=3,col=2, flag=wxALL,border=5) + + id, id1 = wxNewId(), wxNewId() + self.command1 = wxButton( self.panel, id, "&Close") + self.command2 = wxButton( self.panel, id1, "&Print Formats") + EVT_BUTTON( self.panel, id, self.onClick) + self.panel.SetDefaultItem(self.command1) + EVT_BUTTON( self.panel, id1, self.onClickPrint) + + # The following list is of the controls for the demo. Feel free to play around with + # the options! + controls = [ + ("Phone No","USPHONEFULLEXT"), + ("US Date + Time","USDATETIMEMMDDYYYY/HHMM"), + ("US Date MMDDYYYY","USDATEMMDDYYYY/"), + ("Time (with seconds)","TIMEHHMMSS"), + ("Military Time\n(without seconds)","MILTIMEHHMM"), + ("Social Sec#","USSOCIALSEC"), + ("Credit Card","CREDITCARD"), + ("Expiration MM/YY","EXPDATEMMYY"), + ("Percentage","PERCENT"), + ("Person's Age","AGE"), + ("US Zip Code","USZIP"), + ("US Zip+4","USZIPPLUS4"), + ("Email Address","EMAIL"), + ("IP Address", "(derived control wxIpAddrCtrl)") + ] + + for control in controls: + self.sizer.Add( wxStaticText( self.panel, -1, control[0]),row=rowcount, col=0,border=5,flag=wxALL) + self.sizer.Add( wxStaticText( self.panel, -1, control[1]),row=rowcount, col=1,border=5, flag=wxALL) + if control in controls[:-1]: + self.sizer.Add( wxMaskedTextCtrl( self.panel, -1, "", + autoformat = control[1], + demo = True), + row=rowcount,col=2,flag=wxALL,border=5) + else: + self.sizer.Add( wxIpAddrCtrl( self.panel, -1, "", demo=True ), + row=rowcount,col=2,flag=wxALL,border=5) + rowcount += 1 + + self.sizer.Add(self.command1, row=0, col=0, flag=wxALL, border = 5) + self.sizer.Add(self.command2, row=0, col=1, flag=wxALL, border = 5) + self.sizer.AddGrowableCol(3) + + self.panel.SetSizer(self.sizer) + self.panel.SetAutoLayout(1) + + def onClick(self, event): + self.Close() + + def onClickPrint(self, event): + for format in masktags.keys(): + sep = "+------------------------+" + print "%s\n%s \n Mask: %s \n RE Validation string: %s\n" % (sep,format, masktags[format][0], masktags[format][3]) + +## ---------- ---------- ---------- ---------- ---------- ---------- ---------- + +if __name__ == "__main__": + app = test() + +i=1 +## +## Current Issues: +## =================================== +## +## 1. WS: For some reason I don't understand, the control is generating two (2) +## EVT_TEXT events for every one (1) .SetValue() of the underlying control. +## I've been unsuccessful in determining why or in my efforts to make just one +## occur. So, I've added a hack to save the last seen value from the +## control in the EVT_TEXT handler, and if *different*, call event.Skip() +## to propagate it down the event chain, and let the application see it. +## +## 2. WS: wxMaskedComboBox is deficient in several areas, all having to do with the +## behavior of the underlying control that I can't fix. The problems are: +## a) The background coloring doesn't work in the text field of the control; +## instead, there's a only border around it that assumes the correct color. +## b) The control will not pass WXK_TAB to the event handler, no matter what +## I do, and there's no style wxCB_PROCESS_TAB like wxTE_PROCESS_TAB to +## indicate that we want these events. As a result, wxMaskedComboBox +## doesn't do the nice field-tabbing that wxMaskedTextCtrl does. +## c) Auto-complete had to be reimplemented for the control because programmatic +## setting of the value of the text field does not set up the auto complete +## the way that the control processing keystrokes does. (But I think I've +## implemented a fairly decent approximation.) Because of this the control +## also won't auto-complete on dropdown, and there's no event I can catch +## to work around this problem. +## d) There is no method provided for getting the selection; the hack I've +## implemented has its flaws, not the least of which is that due to the +## strategy that I'm using, the paste buffer is always replaced by the +## contents of the control's selection when in focus, on each keystroke; +## this makes it impossible to paste anything into a wxMaskedComboBox +## at the moment... :-( +## e) The other deficient behavior, likely induced by the workaround for (d), +## is that you can can't shift-left to select more than one character +## at a time. +## +## +## 3. WS: Controls on wxPanels don't seem to pass Shift-WXK_TAB to their +## EVT_KEY_DOWN or EVT_CHAR event handlers. Until this is fixed in +## wxWindows, shift-tab won't take you backwards through the fields of +## a wxMaskedTextCtrl like it should. Until then Shifted arrow keys will +## work like shift-tab and tab ought to. +## + +## To-Do's: +## =============================## +## 1. Add Popup list for auto-completable fields that simulates combobox on individual +## fields. Example: City validates against list of cities, or zip vs zip code list. +## 2. Allow optional monetary symbols (eg. $, pounds, etc.) at front of a "decimal" +## control. +## 3. Fix shift-left selection for wxMaskedComboBox. +## 5. Transform notion of "decimal control" to be less "entire control"-centric, +## so that monetary symbols can be included and still have the appropriate +## semantics. (Big job, as currently written, but would make control even +## more useful for business applications.) + + +## CHANGELOG: +## ==================== +## Version 1.3 +## 1. Made it possible to configure grouping, decimal and shift-decimal characters, +## to make controls more usable internationally. +## 2. Added code to smart "adjust" value strings presented to .SetValue() +## for right-aligned numeric format controls if they are shorter than +## than the control width, prepending the missing portion, prepending control +## template left substring for the missing characters, so that setting +## numeric values is easier. +## 3. Renamed SetMaskParameters SetCtrlParameters() (with old name preserved +## for b-c), as this makes more sense. +## +## Version 1.2 +## 1. Fixed .SetValue() to replace the current value, rather than the current +## selection. Also changed it to generate ValueError if presented with +## either a value which doesn't follow the format or won't fit. Also made +## set value adjust numeric and date controls as if user entered the value. +## Expanded doc explaining how SetValue() works. +## 2. Fixed EUDATE* autoformats, fixed IsDateType mask list, and added ability to +## use 3-char months for dates, and EUDATETIME, and EUDATEMILTIME autoformats. +## 3. Made all date autoformats automatically pick implied "datestyle". +## 4. Added IsModified override, since base wxTextCtrl never reports modified if +## .SetValue used to change the value, which is what the masked edit controls +## use internally. +## 5. Fixed bug in date position adjustment on 2 to 4 digit date conversion when +## using tab to "leave field" and auto-adjust. +## 6. Fixed bug in _isCharAllowed() for negative number insertion on pastes, +## and bug in ._Paste() that didn't account for signs in signed masks either. +## 7. Fixed issues with _adjustPos for right-insert fields causing improper +## selection/replacement of values +## 8. Fixed _OnHome handler to properly handle extending current selection to +## beginning of control. +## 9. Exposed all (valid) autoformats to demo, binding descriptions to +## autoformats. +## 10. Fixed a couple of bugs in email regexp. +## 11. Made maskchardict an instance var, to make mask chars to be more +## amenable to international use. +## 12. Clarified meaning of '-' formatcode in doc. +## 13. Fixed a couple of coding bugs being flagged by Python2.1. +## 14. Fixed several issues with sign positioning, erasure and validity +## checking for "numeric" masked controls. +## 15. Added validation to wxIpAddrCtrl.SetValue(). +## +## Version 1.1 +## 1. Changed calling interface to use boolean "useFixedWidthFont" (True by default) +## vs. literal font facename, and use wxTELETYPE as the font family +## if so specified. +## 2. Switched to use of dbg module vs. locally defined version. +## 3. Revamped entire control structure to use Field classes to hold constraint +## and formatting data, to make code more hierarchical, allow for more +## sophisticated masked edit construction. +## 4. Better strategy for managing options, and better validation on keywords. +## 5. Added 'V' format code, which requires that in order for a character +## to be accepted, it must result in a string that passes the validRegex. +## 6. Added 'S' format code which means "select entire field when navigating +## to new field." +## 7. Added 'r' format code to allow "right-insert" fields. (implies 'R'--right-alignment) +## 8. Added '<' format code to allow fields to require explicit cursor movement +## to leave field. +## 9. Added validFunc option to other validation mechanisms, that allows derived +## classes to add dynamic validation constraints to the control. +## 10. Fixed bug in validatePaste code causing possible IndexErrors, and also +## fixed failure to obey case conversion codes when pasting. +## 11. Implemented '0' (zero-pad) formatting code, as it wasn't being done anywhere... +## 12. Removed condition from OnDecimalPoint, so that it always truncates right on '.' +## 13. Enhanced wxIpAddrCtrl to use right-insert fields, selection on field traversal, +## individual field validation to prevent field values > 255, and require explicit +## tab/. to change fields. +## 14. Added handler for left double-click to select field under cursor. +## 15. Fixed handling for "Read-only" styles. +## 16. Separated signedForegroundColor from 'R' style, and added foregroundColor +## attribute, for more consistent and controllable coloring. +## 17. Added retainFieldValidation parameter, allowing top-level constraints +## such as "validRequired" to be set independently of field-level equivalent. +## (needed in wxTimeCtrl for bounds constraints.) +## 18. Refactored code a bit, cleaned up and commented code more heavily, fixed +## some of the logic for setting/resetting parameters, eg. fillChar, defaultValue, +## etc. +## 19. Fixed maskchar setting for upper/lowercase, to work in all locales. +## +## +## Version 1.0 +## 1. Decimal point behavior restored for decimal and integer type controls: +## decimal point now trucates the portion > 0. +## 2. Return key now works like the tab character and moves to the next field, +## provided no default button is set for the form panel on which the control +## resides. +## 3. Support added in _FindField() for subclasses controls (like timecontrol) +## to determine where the current insertion point is within the mask (i.e. +## which sub-'field'). See method documentation for more info and examples. +## 4. Added Field class and support for all constraints to be field-specific +## in addition to being globally settable for the control. +## Choices for each field are validated for length and pastability into +## the field in question, raising ValueError if not appropriate for the control. +## Also added selective additional validation based on individual field constraints. +## By default, SHIFT-WXK_DOWN, SHIFT-WXK_UP, WXK_PRIOR and WXK_NEXT all +## auto-complete fields with choice lists, supplying the 1st entry in +## the choice list if the field is empty, and cycling through the list in +## the appropriate direction if already a match. WXK_DOWN will also auto- +## complete if the field is partially completed and a match can be made. +## SHIFT-WXK_UP/DOWN will also take you to the next field after any +## auto-completion performed. +## 5. Added autoCompleteKeycodes=[] parameters for allowing further +## customization of the control. Any keycode supplied as a member +## of the _autoCompleteKeycodes list will be treated like WXK_NEXT. If +## requireFieldChoice is set, then a valid value from each non-empty +## choice list will be required for the value of the control to validate. +## 6. Fixed "auto-sizing" to be relative to the font actually used, rather +## than making assumptions about character width. +## 7. Fixed GetMaskParameter(), which was non-functional in previous version. +## 8. Fixed exceptions raised to provide info on which control had the error. +## 9. Fixed bug in choice management of wxMaskedComboBox. +## 10. Fixed bug in wxIpAddrCtrl causing traceback if field value was of +## the form '# #'. Modified control code for wxIpAddrCtrl so that '.' +## in the middle of a field clips the rest of that field, similar to +## decimal and integer controls. +## +## +## Version 0.0.7 +## 1. "-" is a toggle for sign; "+" now changes - signed numerics to positive. +## 2. ',' in formatcodes now causes numeric values to be comma-delimited (e.g.333,333). +## 3. New support for selecting text within the control.(thanks Will Sadkin!) +## Shift-End and Shift-Home now select text as you would expect +## Control-Shift-End selects to the end of the mask string, even if value not entered. +## Control-A selects all *entered* text, Shift-Control-A selects everything in the control. +## 4. event.Skip() added to onKillFocus to correct remnants when running in Linux (contributed- +## for some reason I couldn't find the original email but thanks!!!) +## 5. All major key-handling code moved to their own methods for easier subclassing: OnHome, +## OnErase, OnEnd, OnCtrl_X, OnCtrl_A, etc. +## 6. Email and autoformat validations corrected using regex provided by Will Sadkin (thanks!). +## (The rest of the changes in this version were done by Will Sadkin with permission from Jeff...) +## 7. New mechanism for replacing default behavior for any given key, using +## ._SetKeycodeHandler(keycode, func) and ._SetKeyHandler(char, func) now available +## for easier subclassing of the control. +## 8. Reworked the delete logic, cut, paste and select/replace logic, as well as some bugs +## with insertion point/selection modification. Changed Ctrl-X to use standard "cut" +## semantics, erasing the selection, rather than erasing the entire control. +## 9. Added option for an "default value" (ie. the template) for use when a single fillChar +## is not desired in every position. Added IsDefault() function to mean "does the value +## equal the template?" and modified .IsEmpty() to mean "do all of the editable +## positions in the template == the fillChar?" +## 10. Extracted mask logic into mixin, so we can have both wxMaskedTextCtrl and wxMaskedComboBox, +## now included. +## 11. wxMaskedComboBox now adds the capability to validate from list of valid values. +## Example: City validates against list of cities, or zip vs zip code list. +## 12. Fixed oversight in EVT_TEXT handler that prevented the events from being +## passed to the next handler in the event chain, causing updates to the +## control to be invisible to the parent code. +## 13. Added IPADDR autoformat code, and subclass wxIpAddrCtrl for controlling tabbing within +## the control, that auto-reformats as you move between cells. +## 14. Mask characters [A,a,X,#] can now appear in the format string as literals, by using '\'. +## 15. It is now possible to specify repeating masks, e.g. #{3}-#{3}-#{14} +## 16. Fixed major bugs in date validation, due to the fact that +## wxDateTime.ParseDate is too liberal, and will accept any form that +## makes any kind of sense, regardless of the datestyle you specified +## for the control. Unfortunately, the strategy used to fix it only +## works for versions of wxPython post 2.3.3.1, as a C++ assert box +## seems to show up on an invalid date otherwise, instead of a catchable +## exception. +## 17. Enhanced date adjustment to automatically adjust heuristic based on +## current year, making last century/this century determination on +## 2-digit year based on distance between today's year and value; +## if > 50 year separation, assume last century (and don't assume last +## century is 20th.) +## 18. Added autoformats and support for including HHMMSS as well as HHMM for +## date times, and added similar time, and militaray time autoformats. +## 19. Enhanced tabbing logic so that tab takes you to the next field if the +## control is a multi-field control. +## 20. Added stub method called whenever the control "changes fields", that +## can be overridden by subclasses (eg. wxIpAddrCtrl.) +## 21. Changed a lot of code to be more functionally-oriented so side-effects +## aren't as problematic when maintaining code and/or adding features. +## Eg: IsValid() now does not have side-effects; it merely reflects the +## validity of the value of the control; to determine validity AND recolor +## the control, _CheckValid() should be used with a value argument of None. +## Similarly, made most reformatting function take an optional candidate value +## rather than just using the current value of the control, and only +## have them change the value of the control if a candidate is not specified. +## In this way, you can do validation *before* changing the control. +## 22. Changed validRequired to mean "disallow chars that result in invalid +## value." (Old meaning now represented by emptyInvalid.) (This was +## possible once I'd made the changes in (19) above.) +## 23. Added .SetMaskParameters and .GetMaskParameter methods, so they +## can be set/modified/retrieved after construction. Removed individual +## parameter setting functions, in favor of this mechanism, so that +## all adjustment of the control based on changing parameter values can +## be handled in one place with unified mechanism. +## 24. Did a *lot* of testing and fixing re: numeric values. Added ability +## to type "grouping char" (ie. ',') and validate as appropriate. +## 25. Fixed ZIPPLUS4 to allow either 5 or 4, but if > 5 must be 9. +## 26. Fixed assumption about "decimal or integer" masks so that they're only +## made iff there's no validRegex associated with the field. (This +## is so things like zipcodes which look like integers can have more +## restrictive validation (ie. must be 5 digits.) +## 27. Added a ton more doc strings to explain use and derivation requirements +## and did regularization of the naming conventions. +## 28. Fixed a range bug in _adjustKey preventing z from being handled properly. +## 29. Changed behavior of '.' (and shift-.) in numeric controls to move to +## reformat the value and move the next field as appropriate. (shift-'.', +## ie. '>' moves to the previous field. + +## Version 0.0.6 +## 1. Fixed regex bug that caused autoformat AGE to invalidate any age ending +## in '0'. +## 2. New format character 'D' to trigger date type. If the user enters 2 digits in the +## year position, the control will expand the value to four digits, using numerals below +## 50 as 21st century (20+nn) and less than 50 as 20th century (19+nn). +## Also, new optional parameter datestyle = set to one of {MDY|DMY|YDM} +## 3. revalid parameter renamed validRegex to conform to standard for all validation +## parameters (see 2 new ones below). +## 4. New optional init parameter = validRange. Used only for int/dec (numeric) types. +## Allows the developer to specify a valid low/high range of values. +## 5. New optional init parameter = validList. Used for character types. Allows developer +## to send a list of values to the control to be used for specific validation. +## See the Last Name Only example - it is list restricted to Smith/Jones/Williams. +## 6. Date type fields now use wxDateTime's parser to validate the date and time. +## This works MUCH better than my kludgy regex!! Thanks to Robin Dunn for pointing +## me toward this solution! +## 7. Date fields now automatically expand 2-digit years when it can. For example, +## if the user types "03/10/67", then "67" will auto-expand to "1967". If a two-year +## date is entered it will be expanded in any case when the user tabs out of the +## field. +## 8. New class functions: SetValidBackgroundColor, SetInvalidBackgroundColor, SetEmptyBackgroundColor, +## SetSignedForeColor allow accessto override default class coloring behavior. +## 9. Documentation updated and improved. +## 10. Demo - page 2 is now a wxFrame class instead of a wxPyApp class. Works better. +## Two new options (checkboxes) - test highlight empty and disallow empty. +## 11. Home and End now work more intuitively, moving to the first and last user-entry +## value, respectively. +## 12. New class function: SetRequired(bool). Sets the control's entry required flag +## (i.e. disallow empty values if True). +## +## Version 0.0.5 +## 1. get_plainValue method renamed to GetPlainValue following the wxWindows +## StudlyCaps(tm) standard (thanks Paul Moore). ;) +## 2. New format code 'F' causes the control to auto-fit (auto-size) itself +## based on the length of the mask template. +## 3. Class now supports "autoformat" codes. These can be passed to the class +## on instantiation using the parameter autoformat="code". If the code is in +## the dictionary, it will self set the mask, formatting, and validation string. +## I have included a number of samples, but I am hoping that someone out there +## can help me to define a whole bunch more. +## 4. I have added a second page to the demo (as well as a second demo class, test2) +## to showcase how autoformats work. The way they self-format and self-size is, +## I must say, pretty cool. +## 5. Comments added and some internal cosmetic revisions re: matching the code +## standards for class submission. +## 6. Regex validation is now done in real time - field turns yellow immediately +## and stays yellow until the entered value is valid +## 7. Cursor now skips over template characters in a more intuitive way (before the +## next keypress). +## 8. Change, Keypress and LostFocus methods added for convenience of subclasses. +## Developer may use these methods which will be called after EVT_TEXT, EVT_CHAR, +## and EVT_KILL_FOCUS, respectively. +## 9. Decimal and numeric handlers have been rewritten and now work more intuitively. +## +## Version 0.0.4 +## 1. New .IsEmpty() method returns True if the control's value is equal to the +## blank template string +## 2. Control now supports a new init parameter: revalid. Pass a regular expression +## that the value will have to match when the control loses focus. If invalid, +## the control's BackgroundColor will turn yellow, and an internal flag is set (see next). +## 3. Demo now shows revalid functionality. Try entering a partial value, such as a +## partial social security number. +## 4. New .IsValid() value returns True if the control is empty, or if the value matches +## the revalid expression. If not, .IsValid() returns False. +## 5. Decimal values now collapse to decimal with '.00' on losefocus if the user never +## presses the decimal point. +## 6. Cursor now goes to the beginning of the field if the user clicks in an +## "empty" field intead of leaving the insertion point in the middle of the +## field. +## 7. New "N" mask type includes upper and lower chars plus digits. a-zA-Z0-9. +## 8. New formatcodes init parameter replaces other init params and adds functions. +## String passed to control on init controls: +## _ Allow spaces +## ! Force upper +## ^ Force lower +## R Show negative #s in red +## , Group digits +## - Signed numerals +## 0 Numeric fields get leading zeros +## 9. Ctrl-X in any field clears the current value. +## 10. Code refactored and made more modular (esp in OnChar method). Should be more +## easy to read and understand. +## 11. Demo enhanced. +## 12. Now has _doc_. +## +## Version 0.0.3 +## 1. GetPlainValue() now returns the value without the template characters; +## so, for example, a social security number (123-33-1212) would return as +## 123331212; also removes white spaces from numeric/decimal values, so +## "- 955.32" is returned "-955.32". Press ctrl-S to see the plain value. +## 2. Press '.' in an integer style masked control and truncate any trailing digits. +## 3. Code moderately refactored. Internal names improved for clarity. Additional +## internal documentation. +## 4. Home and End keys now supported to move cursor to beginning or end of field. +## 5. Un-signed integers and decimals now supported. +## 6. Cosmetic improvements to the demo. +## 7. Class renamed to wxMaskedTextCtrl. +## 8. Can now specify include characters that will override the basic +## controls: for example, includeChars = "@." for email addresses +## 9. Added mask character 'C' -> allow any upper or lowercase character +## 10. .SetSignColor(str:color) sets the foreground color for negative values +## in signed controls (defaults to red) +## 11. Overview documentation written. +## +## Version 0.0.2 +## 1. Tab now works properly when pressed in last position +## 2. Decimal types now work (e.g. #####.##) +## 3. Signed decimal or numeric values supported (i.e. negative numbers) +## 4. Negative decimal or numeric values now can show in red. +## 5. Can now specify an "exclude list" with the excludeChars parameter. +## See date/time formatted example - you can only enter A or P in the +## character mask space (i.e. AM/PM). +## 6. Backspace now works properly, including clearing data from a selected +## region but leaving template characters intact. Also delete key. +## 7. Left/right arrows now work properly. +## 8. Removed EventManager call from test so demo should work with wxPython 2.3.3 +## diff --git a/wxPython/wxPython/lib/mixins/rubberband.py b/wxPython/wxPython/lib/mixins/rubberband.py index f71dbf50a9..678282d810 100644 --- a/wxPython/wxPython/lib/mixins/rubberband.py +++ b/wxPython/wxPython/lib/mixins/rubberband.py @@ -1,14 +1,21 @@ +#--------------------------------------------------------------------------- +# Name: wxPython.lib.mixins.rubberband +# Purpose: A mixin class for doing "RubberBand"-ing on a window. +# +# Author: Robb Shecter and members of wxPython-users +# +# Created: 11-September-2002 +# RCS-ID: $Id$ +# Copyright: (c) 2002 by db-X Corporation +# Licence: wxWindows license +#--------------------------------------------------------------------------- + """ A mixin class for doing "RubberBand"-ing on a window. - -by "Robb Shecter" - -$Id$ - """ from wxPython.wx import * -import Image + # # Some miscellaneous mathematical and geometrical functions diff --git a/wxPython/wxPython/lib/popupctl.py b/wxPython/wxPython/lib/popupctl.py index 466e06f77d..76dfc6de19 100644 --- a/wxPython/wxPython/lib/popupctl.py +++ b/wxPython/wxPython/lib/popupctl.py @@ -140,7 +140,7 @@ class PopButton(wxPyControl): # Tried to use wxPopupWindow but the control misbehaves on MSW class wxPopupDialog(wxDialog): def __init__(self,parent,content = None): - wxDialog.__init__(self,parent,-1,'', style = wxSTAY_ON_TOP) + wxDialog.__init__(self,parent,-1,'', style = wxBORDER_SIMPLE|wxSTAY_ON_TOP) self.ctrl = parent self.win = wxWindow(self,-1,pos = wxPoint(0,0),style = 0) @@ -197,6 +197,12 @@ class wxPopupControl(wxPyControl): EVT_SIZE(self,self.OnSize) EVT_BUTTON(self.bCtrl,self.bCtrl.GetId(),self.OnButton) + # embedded control should get focus on TAB keypress + EVT_SET_FOCUS(self,self.OnFocus) + + def OnFocus(self,evt): + self.textCtrl.SetFocus() + evt.Skip() def OnSize(self,evt): w,h = self.GetClientSizeTuple() diff --git a/wxPython/wxPython/lib/pubsub.py b/wxPython/wxPython/lib/pubsub.py index c2b6968094..6efa12c378 100644 --- a/wxPython/wxPython/lib/pubsub.py +++ b/wxPython/wxPython/lib/pubsub.py @@ -6,7 +6,7 @@ # # Created: 12-December-2002 # RCS-ID: $Id$ -# Copyright: (c) 2002 by Robb Shecter +# Copyright: (c) 2002 by db-X Corporation # Licence: wxWindows license #--------------------------------------------------------------------------- """ diff --git a/wxPython/wxPython/lib/rightalign.py b/wxPython/wxPython/lib/rightalign.py index 5c363ef4ac..ca3c262d31 100644 --- a/wxPython/wxPython/lib/rightalign.py +++ b/wxPython/wxPython/lib/rightalign.py @@ -28,6 +28,9 @@ Hope this can help someone, as much as this list helps me. Josu Oyanguren Ubera Servicios Informáticos. + + +P.S. This only works well on wxMSW. """ from wxPython.wx import * @@ -51,6 +54,12 @@ class wxRightTextCtrl(wxTextCtrl): y = (dcheight - textheight) / 2 x = dcwidth - textwidth - 2 + if self.IsEnabled(): + fclr = self.GetForegroundColour() + else: + fclr = wxSystemSettings_GetColour(wxSYS_COLOUR_GRAYTEXT) + dc.SetTextForeground(fclr) + dc.SetClippingRegion(0, 0, dcwidth, dcheight) dc.DrawText(text, x, y) diff --git a/wxPython/wxPython/lib/scrolledpanel.py b/wxPython/wxPython/lib/scrolledpanel.py index b8da67e498..1b8c79a844 100644 --- a/wxPython/wxPython/lib/scrolledpanel.py +++ b/wxPython/wxPython/lib/scrolledpanel.py @@ -27,8 +27,10 @@ as a proper class (and the demo is now converted to just use it.) pos=pos, size=size, style=style, name=name) + EVT_CHILD_FOCUS(self, self.OnChildFocus) + - def SetupScrolling(self, scroll_x=True, scroll_y=True, rate_x=1, rate_y=1): + def SetupScrolling(self, scroll_x=True, scroll_y=True, rate_x=20, rate_y=20): """ This function sets up the event handling necessary to handle scrolling properly. It should be called within the __init__ @@ -42,10 +44,18 @@ as a proper class (and the demo is now converted to just use it.) if not scroll_x: rate_x = 0 if not scroll_y: rate_y = 0 - self.SetScrollRate(rate_x, rate_y) + # Round up the virtual size to be a multiple of the scroll rate + sizer = self.GetSizer() + if sizer: + w, h = sizer.GetMinSize() + if rate_x: + w += rate_x - (w % rate_x) + if rate_y: + h += rate_y - (h % rate_y) + self.SetVirtualSize( (w, h) ) + self.SetVirtualSizeHints( w, h ) - self.GetSizer().SetVirtualSizeHints(self) - EVT_CHILD_FOCUS(self, self.OnChildFocus) + self.SetScrollRate(rate_x, rate_y) wxCallAfter(self.Scroll, 0, 0) # scroll back to top after initial events diff --git a/wxPython/wxPython/lib/stattext.py b/wxPython/wxPython/lib/stattext.py index d93b16d156..894a474c69 100644 --- a/wxPython/wxPython/lib/stattext.py +++ b/wxPython/wxPython/lib/stattext.py @@ -26,7 +26,8 @@ class wxGenStaticText(wxPyControl): pos = wxDefaultPosition, size = wxDefaultSize, style = 0, name = "genstattext"): - wxPyControl.__init__(self, parent, ID, pos, size, style, wxDefaultValidator, name) + wxPyControl.__init__(self, parent, ID, pos, size, style|wxNO_BORDER, + wxDefaultValidator, name) wxPyControl.SetLabel(self, label) # don't check wxST_NO_AUTORESIZE yet self.SetPosition(pos) @@ -35,10 +36,10 @@ class wxGenStaticText(wxPyControl): font = wxSystemSettings_GetSystemFont(wxSYS_DEFAULT_GUI_FONT) wxPyControl.SetFont(self, font) # same here - clr = parent.GetBackgroundColour() - if not clr.Ok(): - clr = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_BTNFACE) - self.SetBackgroundColour(clr) + self.defBackClr = parent.GetBackgroundColour() + if not self.defBackClr.Ok(): + self.defBackClr = wxSystemSettings_GetSystemColour(wxSYS_COLOUR_3DFACE) + self.SetBackgroundColour(self.defBackClr) clr = parent.GetForegroundColour() if not clr.Ok(): @@ -105,7 +106,14 @@ class wxGenStaticText(wxPyControl): width, height = self.GetClientSize() if not width or not height: return - dc.SetBackground(wxBrush(self.GetBackgroundColour(), wxSOLID)) + + clr = self.GetBackgroundColour() + backBrush = wxBrush(clr, wxSOLID) + if wxPlatform == "__WXMAC__" and clr == self.defBackClr: + # if colour still the default the use the striped background on Mac + backBrush.SetMacTheme(1) # 1 == kThemeBrushDialogBackgroundActive + dc.SetBackground(backBrush) + dc.SetTextForeground(self.GetForegroundColour()) dc.Clear() dc.SetFont(self.GetFont()) diff --git a/wxPython/wxPython/lib/timectrl.py b/wxPython/wxPython/lib/timectrl.py index 52d9c4b4fc..7347a2799a 100644 --- a/wxPython/wxPython/lib/timectrl.py +++ b/wxPython/wxPython/lib/timectrl.py @@ -18,43 +18,240 @@ # cursor-position specific, so the control intercepts the key codes before the # validator would fire. # +# wxTimeCtrl now also supports .SetValue() with either strings or wxDateTime +# values, as well as range limits, with the option of either enforcing them +# or simply coloring the text of the control if the limits are exceeded. +# +# Note: this class now makes heavy use of wxDateTime for parsing and +# regularization, but it always does so with ephemeral instances of +# wxDateTime, as the C++/Python validity of these instances seems to not +# persist. Because "today" can be a day for which an hour can "not exist" +# or be counted twice (1 day each per year, for DST adjustments), the date +# portion of all wxDateTimes used/returned have their date portion set to +# Jan 1, 1970 (the "epoch.") +# +""" +

+wxTimeCtrl provides a multi-cell control that allows manipulation of a time +value. It supports 12 or 24 hour format, and you can use wxDateTime or mxDateTime +to get/set values from the control. +

+Left/right/tab keys to switch cells within a wxTimeCtrl, and the up/down arrows act +like a spin control. wxTimeCtrl also allows for an actual spin button to be attached +to the control, so that it acts like the up/down arrow keys. +

+The ! or c key sets the value of the control to the current time. +

+Here's the API for wxTimeCtrl: +

+    wxTimeCtrl(
+         parent, id = -1,
+         value = '12:00:00 AM',
+         pos = wxDefaultPosition,
+         size = wxDefaultSize,
+         style = wxTE_PROCESS_TAB,
+         validator = wxDefaultValidator,
+         name = "time",
+         fmt24hr = False,
+         spinButton = None,
+         min = None,
+         max = None,
+         limited = None,
+         oob_color = "Yellow"
+)
+
+
    +
    value +
    If no initial value is set, the default will be midnight; if an illegal string + is specified, a ValueError will result. (You can always later set the initial time + with SetValue() after instantiation of the control.) +
    size +
    The size of the control will be automatically adjusted for 12/24 hour format + if wxDefaultSize is specified. +
    style +
    By default, wxTimeCtrl will process TAB events, by allowing tab to the + different cells within the control. +
    validator +
    By default, wxTimeCtrl just uses the default (empty) validator, as all + of its validation for entry control is handled internally. However, a validator + can be supplied to provide data transfer capability to the control. +
    +
    fmt24hr +
    If True, control will display time in 24 hour time format; if False, it will + use 12 hour AM/PM format. SetValue() will adjust values accordingly for the + control, based on the format specified. +
    +
    spinButton +
    If specified, this button's events will be bound to the behavior of the + wxTimeCtrl, working like up/down cursor key events. (See BindSpinButton.) +
    +
    min +
    Defines the lower bound for "valid" selections in the control. + By default, wxTimeCtrl doesn't have bounds. You must set both upper and lower + bounds to make the control pay attention to them, (as only one bound makes no sense + with times.) "Valid" times will fall between the min and max "pie wedge" of the + clock. +
    max +
    Defines the upper bound for "valid" selections in the control. + "Valid" times will fall between the min and max "pie wedge" of the + clock. (This can be a "big piece", ie. min = 11pm, max= 10pm + means all but the hour from 10:00pm to 11pm are valid times.) +
    limited +
    If True, the control will not permit entry of values that fall outside the + set bounds. +
    +
    oob_color +
    Sets the background color used to indicate out-of-bounds values for the control + when the control is not limited. This is set to "Yellow" by default. +
    +
+
+
+
+
EVT_TIMEUPDATE(win, id, func) +
func is fired whenever the value of the control changes. +
+
+
SetValue(time_string | wxDateTime | wxTimeSpan | mx.DateTime | mx.DateTimeDelta) +
Sets the value of the control to a particular time, given a valid +value; raises ValueError on invalid value. +NOTE: This will only allow mx.DateTime or mx.DateTimeDelta if mx.DateTime +was successfully imported by the class module. +
+
GetValue(as_wxDateTime = False, as_mxDateTime = False, as_wxTimeSpan=False, as mxDateTimeDelta=False) +
Retrieves the value of the time from the control. By default this is +returned as a string, unless one of the other arguments is set; args are +searched in the order listed; only one value will be returned. +
+
GetWxDateTime(value=None) +
When called without arguments, retrieves the value of the control, and applies +it to the wxDateTimeFromHMS() constructor, and returns the resulting value. +The date portion will always be set to Jan 1, 1970. This form is the same +as GetValue(as_wxDateTime=True). GetWxDateTime can also be called with any of the +other valid time formats settable with SetValue, to regularize it to a single +wxDateTime form. The function will raise ValueError on an unconvertable argument. +
+
GetMxDateTime() +
Retrieves the value of the control and applies it to the DateTime.Time() +constructor,and returns the resulting value. (The date portion will always be +set to Jan 1, 1970.) (Same as GetValue(as_wxDateTime=True); provided for backward +compatibility with previous release.) +
+
+
BindSpinButton(wxSpinBtton) +
Binds an externally created spin button to the control, so that up/down spin +events change the active cell or selection in the control (in addition to the +up/down cursor keys.) (This is primarily to allow you to create a "standard" +interface to time controls, as seen in Windows.) +
+
+
SetMin(min=None) +
Sets the expected minimum value, or lower bound, of the control. +(The lower bound will only be enforced if the control is +configured to limit its values to the set bounds.) +If a value of None is provided, then the control will have +explicit lower bound. If the value specified is greater than +the current lower bound, then the function returns False and the +lower bound will not change from its current setting. On success, +the function returns True. Even if set, if there is no corresponding +upper bound, the control will behave as if it is unbounded. +
If successful and the current value is outside the +new bounds, if the control is limited the value will be +automatically adjusted to the nearest bound; if not limited, +the background of the control will be colored with the current +out-of-bounds color. +
+
GetMin(as_string=False) +
Gets the current lower bound value for the control, returning +None, if not set, or a wxDateTime, unless the as_string parameter +is set to True, at which point it will return the string +representation of the lower bound. +
+
+
SetMax(max=None) +
Sets the expected maximum value, or upper bound, of the control. +(The upper bound will only be enforced if the control is +configured to limit its values to the set bounds.) +If a value of None is provided, then the control will +have no explicit upper bound. If the value specified is less +than the current lower bound, then the function returns False and +the maximum will not change from its current setting. On success, +the function returns True. Even if set, if there is no corresponding +lower bound, the control will behave as if it is unbounded. +
If successful and the current value is outside the +new bounds, if the control is limited the value will be +automatically adjusted to the nearest bound; if not limited, +the background of the control will be colored with the current +out-of-bounds color. +
+
GetMax(as_string = False) +
Gets the current upper bound value for the control, returning +None, if not set, or a wxDateTime, unless the as_string parameter +is set to True, at which point it will return the string +representation of the lower bound. + +
+
+
SetBounds(min=None,max=None) +
This function is a convenience function for setting the min and max +values at the same time. The function only applies the maximum bound +if setting the minimum bound is successful, and returns True +only if both operations succeed. Note: leaving out an argument +will remove the corresponding bound, and result in the behavior of +an unbounded control. +
+
GetBounds(as_string = False) +
This function returns a two-tuple (min,max), indicating the +current bounds of the control. Each value can be None if +that bound is not set. The values will otherwise be wxDateTimes +unless the as_string argument is set to True, at which point they +will be returned as string representations of the bounds. +
+
+
IsInBounds(value=None) +
Returns True if no value is specified and the current value +of the control falls within the current bounds. This function can also +be called with a value to see if that value would fall within the current +bounds of the given control. It will raise ValueError if the value +specified is not a wxDateTime, mxDateTime (if available) or parsable string. +
+
+
IsValid(value) +
Returns Trueif specified value is a legal time value and +falls within the current bounds of the given control. +
+
+
SetLimited(bool) +
If called with a value of True, this function will cause the control +to limit the value to fall within the bounds currently specified. +(Provided both bounds have been set.) +If the control's value currently exceeds the bounds, it will then +be set to the nearest bound. +If called with a value of False, this function will disable value +limiting, but coloring of out-of-bounds values will still take +place if bounds have been set for the control. +
IsLimited() +
Returns True if the control is currently limiting the +value to fall within the current bounds. +
+
+ +""" + +import string, copy from wxPython.wx import * -import string - -# wxWindows' wxTextCtrl translates Composite "control key" -# events into single events before returning them to its OnChar -# routine. The doc says that this results in 1 for Ctrl-A, 2 for -# Ctrl-B, etc. However, there are no wxPython or wxWindows -# symbols for them, so I'm defining codes for Ctrl-X (cut) and -# Ctrl-V (paste) here for readability: -WXK_CTRL_X = (ord('X')+1) - ord('A') -WXK_CTRL_V = (ord('V')+1) - ord('A') - -# The following bit of function is for debugging the subsequent code. -# To turn on debugging output, set _debug to 1 -_debug = 0 -_indent = 0 - -if _debug: - def _dbg(*args, **kwargs): - global _indent - - if len(args): - if _indent: print ' ' * 3 * _indent, - for arg in args: print arg, - print - # else do nothing - - # post process args: - for kwarg, value in kwargs.items(): - if kwarg == 'indent' and value: _indent = _indent + 1 - elif kwarg == 'indent' and value == 0: _indent = _indent - 1 - if _indent < 0: _indent = 0 -else: - def _dbg(*args, **kwargs): - pass - +from wxPython.tools.dbg import Logger +from wxPython.lib.maskededit import wxMaskedTextCtrl, Field +import wxPython.utils +dbg = Logger() +dbg(enable=0) + +try: + from mx import DateTime + accept_mx = True +except ImportError: + accept_mx = False # This class of event fires whenever the value of the time changes in the control: wxEVT_TIMEVAL_UPDATED = wxNewId() @@ -71,98 +268,173 @@ class TimeUpdatedEvent(wxPyCommandEvent): return self.value -# Set up all the positions of the cells in the wxTimeCtrl (once at module import): -# Format of control is: -# hh:mm:ss xM -# 1 -# positions: 01234567890 -_listCells = ['hour', 'minute', 'second', 'am_pm'] -_listCellRange = [(0,1,2), (3,4,5), (6,7,8), (9,10,11)] -_listDelimPos = [2,5,8] - -# Create dictionary of cell ranges, indexed by name or position in the range: -_dictCellRange = {} -for i in range(4): - _dictCellRange[_listCells[i]] = _listCellRange[i] -for cell in _listCells: - for i in _dictCellRange[cell]: - _dictCellRange[i] = _dictCellRange[cell] - - -# Create lists of starting and ending positions for each range, and a dictionary of starting -# positions indexed by name -_listStartCellPos = [] -_listEndCellPos = [] -for tup in _listCellRange: - _listStartCellPos.append(tup[0]) # 1st char of cell - _listEndCellPos.append(tup[1]) # last char of cell (not including delimiter) - -_dictStartCellPos = {} -for i in range(4): - _dictStartCellPos[_listCells[i]] = _listStartCellPos[i] +class wxTimeCtrl(wxMaskedTextCtrl): + valid_ctrl_params = { + 'display_seconds' : True, # by default, shows seconds + 'min': None, # by default, no bounds set + 'max': None, + 'limited': False, # by default, no limiting even if bounds set + 'useFixedWidthFont': True, # by default, use a fixed-width font + 'oob_color': "Yellow" # by default, the default wxMaskedTextCtrl "invalid" color + } -class wxTimeCtrl(wxTextCtrl): def __init__ ( self, parent, id=-1, value = '12:00:00 AM', pos = wxDefaultPosition, size = wxDefaultSize, - fmt24hr=0, + fmt24hr=False, spinButton = None, - style = wxTE_PROCESS_TAB, name = "time" - ): - wxTextCtrl.__init__(self, parent, id, value='', - pos=pos, size=size, style=style, name=name) - + style = wxTE_PROCESS_TAB, + validator = wxDefaultValidator, + name = "time", + **kwargs ): + + # set defaults for control: + dbg('setting defaults:') + for key, param_value in wxTimeCtrl.valid_ctrl_params.items(): + # This is done this way to make setattr behave consistently with + # "private attribute" name mangling + setattr(self, "_wxTimeCtrl__" + key, copy.copy(param_value)) + + # create locals from current defaults, so we can override if + # specified in kwargs, and handle uniformly: + min = self.__min + max = self.__max + limited = self.__limited + self.__posCurrent = 0 + + + # (handle positional args (from original release) differently from rest of kwargs:) self.__fmt24hr = fmt24hr - if size == wxDefaultSize: - # set appropriate default sizes depending on format: - if self.__fmt24hr: - testText = '00:00:00' - else: - testText = '00:00:00 MM' - _dbg(wxPlatform) + maskededit_kwargs = {} + + # assign keyword args as appropriate: + for key, param_value in kwargs.items(): + if key not in wxTimeCtrl.valid_ctrl_params.keys(): + raise AttributeError('invalid keyword argument "%s"' % key) + + if key == "display_seconds": + self.__display_seconds = param_value + + elif key == "min": min = param_value + elif key == "max": max = param_value + elif key == "limited": limited = param_value + + elif key == "useFixedWidthFont": + maskededit_kwargs[key] = param_value + elif key == "oob_color": + maskededit_kwargs['invalidBackgroundColor'] = param_value + + if self.__fmt24hr: + if self.__display_seconds: maskededit_kwargs['autoformat'] = 'MILTIMEHHMMSS' + else: maskededit_kwargs['autoformat'] = 'MILTIMEHHMM' + + # Set hour field to zero-pad, right-insert, require explicit field change, + # select entire field on entry, and require a resultant valid entry + # to allow character entry: + hourfield = Field(formatcodes='0r" % self.GetValue() - def SetValue(self, value): """ - Validating SetValue function for time strings, doing 12/24 format conversion as appropriate. + Validating SetValue function for time values: + This function will do dynamic type checking on the value argument, + and convert wxDateTime, mxDateTime, or 12/24 format time string + into the appropriate format string for the control. """ - _dbg('wxTimeCtrl::SetValue', indent=1) - dict_range = _dictCellRange # (for brevity) - dict_start = _dictStartCellPos - - fmt12len = dict_range['am_pm'][-1] - fmt24len = dict_range['second'][-1] + dbg('wxTimeCtrl::SetValue(%s)' % repr(value), indent=1) try: - separators_correct = value[2] == ':' and value[5] == ':' - len_ok = len(value) in (fmt12len, fmt24len) - - if len(value) > fmt24len: - separators_correct = separators_correct and value[8] == ' ' - hour = int(value[dict_range['hour'][0]:dict_range['hour'][-1]]) - hour_ok = ((hour in range(0,24) and len(value) == fmt24len) - or (hour in range(1,13) and len(value) == fmt12len - and value[dict_start['am_pm']:] in ('AM', 'PM'))) - - minute = int(value[dict_range['minute'][0]:dict_range['minute'][-1]]) - min_ok = minute in range(60) - second = int(value[dict_range['second'][0]:dict_range['second'][-1]]) - sec_ok = second in range(60) - - _dbg('len_ok =', len_ok, 'separators_correct =', separators_correct) - _dbg('hour =', hour, 'hour_ok =', hour_ok, 'min_ok =', min_ok, 'sec_ok =', sec_ok) - - if len_ok and hour_ok and min_ok and sec_ok and separators_correct: - _dbg('valid time string') - - self.__hour = hour - if len(value) == fmt12len: # handle 12 hour format conversion for actual hour: - am = value[dict_start['am_pm']:] == 'AM' - if hour != 12 and not am: - self.__hour = hour = (hour+12) % 24 - elif hour == 12: - if am: self.__hour = hour = 0 - - self.__minute = minute - self.__second = second - - # valid time - need_to_convert = ((self.__fmt24hr and len(value) == fmt12len) - or (not self.__fmt24hr and len(value) == fmt24len)) - _dbg('need_to_convert =', need_to_convert) - - if need_to_convert: #convert to 12/24 hour format as specified: - if self.__fmt24hr and len(value) == fmt12len: - text = '%.2d:%.2d:%.2d' % (hour, minute, second) - else: - if hour > 12: - hour = hour - 12 - am_pm = 'PM' - elif hour == 12: - am_pm = 'PM' - else: - if hour == 0: hour = 12 - am_pm = 'AM' - text = '%2d:%.2d:%.2d %s' % (hour, minute, second, am_pm) - else: - text = value - _dbg('text=', text) - wxTextCtrl.SetValue(self, text) - _dbg('firing TimeUpdatedEvent...') - evt = TimeUpdatedEvent(self.GetId(), text) - evt.SetEventObject(self) - self.GetEventHandler().ProcessEvent(evt) - else: - _dbg('len_ok:', len_ok, 'separators_correct =', separators_correct) - _dbg('hour_ok:', hour_ok, 'min_ok:', min_ok, 'sec_ok:', sec_ok, indent=0) - raise ValueError, 'value is not a valid time string' + strtime = self._toGUI(self.__validateValue(value)) + except: + dbg('validation failed', indent=0) + raise + + dbg('strtime:', strtime) + self._SetValue(strtime) + dbg(indent=0) + + def GetValue(self, + as_wxDateTime = False, + as_mxDateTime = False, + as_wxTimeSpan = False, + as_mxDateTimeDelta = False): + + + if as_wxDateTime or as_mxDateTime or as_wxTimeSpan or as_mxDateTimeDelta: + value = self.GetWxDateTime() + if as_wxDateTime: + pass + elif as_mxDateTime: + value = DateTime.DateTime(1970, 1, 1, value.GetHour(), value.GetMinute(), value.GetSecond()) + elif as_wxTimeSpan: + value = wxTimeSpan(value.GetHour(), value.GetMinute(), value.GetSecond()) + elif as_mxDateTimeDelta: + value = DateTime.DateTimeDelta(0, value.GetHour(), value.GetMinute(), value.GetSecond()) + else: + value = wxMaskedTextCtrl.GetValue(self) + return value - except (TypeError, ValueError): - _dbg(indent=0) - raise ValueError, 'value is not a valid time string' - _dbg(indent=0) def SetWxDateTime(self, wxdt): - value = '%2d:%.2d:%.2d' % (wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond()) - self.SetValue(value) + """ + Because SetValue can take a wxDateTime, this is now just an alias. + """ + self.SetValue(wxdt) + + + def GetWxDateTime(self, value=None): + """ + This function is the conversion engine for wxTimeCtrl; it takes + one of the following types: + time string + wxDateTime + wxTimeSpan + mxDateTime + mxDateTimeDelta + and converts it to a wxDateTime that always has Jan 1, 1970 as its date + portion, so that range comparisons around values can work using + wxDateTime's built-in comparison function. If a value is not + provided to convert, the string value of the control will be used. + If the value is not one of the accepted types, a ValueError will be + raised. + """ + global accept_mx + dbg(suspend=1) + dbg('wxTimeCtrl::GetWxDateTime(%s)' % repr(value), indent=1) + if value is None: + dbg('getting control value') + value = self.GetValue() + dbg('value = "%s"' % value) + + valid = True # assume true + if type(value) == types.StringType: + + # Construct constant wxDateTime, then try to parse the string: + wxdt = wxDateTimeFromDMY(1, 0, 1970) + dbg('attempting conversion') + value = value.strip() # (parser doesn't like leading spaces) + checkTime = wxdt.ParseTime(value) + valid = checkTime == len(value) # entire string parsed? + dbg('checkTime == len(value)?', valid) + + if not valid: + dbg(indent=0, suspend=0) + raise ValueError('cannot convert string "%s" to valid time' % value) + + else: + if isinstance(value, wxPython.utils.wxDateTimePtr): + hour, minute, second = value.GetHour(), value.GetMinute(), value.GetSecond() + elif isinstance(value, wxPython.utils.wxTimeSpanPtr): + totalseconds = value.GetSeconds() + hour = totalseconds / 3600 + minute = totalseconds / 60 - (hour * 60) + second = totalseconds - ((hour * 3600) + (minute * 60)) + + elif accept_mx and isinstance(value, DateTime.DateTimeType): + hour, minute, second = value.hour, value.minute, value.second + elif accept_mx and isinstance(value, DateTime.DateTimeDeltaType): + hour, minute, second = value.hour, value.minute, value.second + else: + # Not a valid function argument + if self.__accept_mx: + error = 'GetWxDateTime requires wxDateTime, mxDateTime or parsable time string, passed %s'% repr(value) + else: + error = 'GetWxDateTime requires wxDateTime or parsable time string, passed %s'% repr(value) + dbg(indent=0, suspend=0) + raise ValueError(error) + + wxdt = wxDateTimeFromDMY(1, 0, 1970) + wxdt.SetHour(hour) + wxdt.SetMinute(minute) + wxdt.SetSecond(second) + + dbg('wxdt:', wxdt, indent=0, suspend=0) + return wxdt - def GetWxDateTime(self): - t = wxDateTimeFromHMS(self.__hour, self.__minute, self.__second) - return t def SetMxDateTime(self, mxdt): - from mx import DateTime - value = '%2d:%.2d:%.2d' % (mxdt.hour, mxdt.minute, mxdt.second) + """ + Because SetValue can take an mxDateTime, (if DateTime is importable), + this is now just an alias. + """ self.SetValue(value) - def GetMxDateTime(self): - from mx import DateTime - t = DateTime.Time(self.__hour, self.__minute, self.__second) + + def GetMxDateTime(self, value=None): + if value is None: + t = self.GetValue(as_mxDateTime=True) + else: + # Convert string 1st to wxDateTime, then use components, since + # mx' DateTime.Parser.TimeFromString() doesn't handle AM/PM: + wxdt = self.GetWxDateTime(value) + hour, minute, second = wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond() + t = DateTime.DateTime(1970,1,1) + DateTimeDelta(0, hour, minute, second) return t -#------------------------------------------------------------------------------------------------------------- -# these are private functions and overrides: - def __SetCurrentCell(self, pos): + def SetMin(self, min=None): """ - Sets state variables that indicate the current cell and position within the control. + Sets the minimum value of the control. If a value of None + is provided, then the control will have no explicit minimum value. + If the value specified is greater than the current maximum value, + then the function returns 0 and the minimum will not change from + its current setting. On success, the function returns 1. + + If successful and the current value is lower than the new lower + bound, if the control is limited, the value will be automatically + adjusted to the new minimum value; if not limited, the value in the + control will be colored as invalid. """ - self.__posCurrent = pos - self.__cellStart, self.__cellEnd = _dictCellRange[pos][0], _dictCellRange[pos][-1] + dbg('wxTimeCtrl::SetMin(%s)'% repr(min), indent=1) + if min is not None: + try: + min = self.GetWxDateTime(min) + self.__min = self._toGUI(min) + except: + dbg('exception occurred', indent=0) + return False + else: + self.__min = min + + if self.IsLimited() and not self.IsInBounds(): + self.SetLimited(self.__limited) # force limited value: + else: + self._CheckValid() + ret = True + dbg('ret:', ret, indent=0) + return ret - def SetInsertionPoint(self, pos): + def GetMin(self, as_string = False): """ - Records the specified position and associated cell before calling base class' function. + Gets the minimum value of the control. + If None, it will return None. Otherwise it will return + the current minimum bound on the control, as a wxDateTime + by default, or as a string if as_string argument is True. """ - _dbg('wxTimeCtrl::SetInsertionPoint', pos, indent=1) + dbg(suspend=1) + dbg('wxTimeCtrl::GetMin, as_string?', as_string, indent=1) + if self.__min is None: + dbg('(min == None)') + ret = self.__min + elif as_string: + ret = self.__min + dbg('ret:', ret) + else: + try: + ret = self.GetWxDateTime(self.__min) + except: + dbg(suspend=0) + dbg('exception occurred', indent=0) + dbg('ret:', repr(ret)) + dbg(indent=0, suspend=0) + return ret + + + def SetMax(self, max=None): + """ + Sets the maximum value of the control. If a value of None + is provided, then the control will have no explicit maximum value. + If the value specified is less than the current minimum value, then + the function returns False and the maximum will not change from its + current setting. On success, the function returns True. + + If successful and the current value is greater than the new upper + bound, if the control is limited the value will be automatically + adjusted to this maximum value; if not limited, the value in the + control will be colored as invalid. + """ + dbg('wxTimeCtrl::SetMax(%s)' % repr(max), indent=1) + if max is not None: + try: + max = self.GetWxDateTime(max) + self.__max = self._toGUI(max) + except: + dbg('exception occurred', indent=0) + return False + else: + self.__max = max + dbg('max:', repr(self.__max)) + if self.IsLimited() and not self.IsInBounds(): + self.SetLimited(self.__limited) # force limited value: + else: + self._CheckValid() + ret = True + dbg('ret:', ret, indent=0) + return ret - # Adjust pos to legal value if not already - if pos < 0: pos = 0 - elif pos in _listDelimPos + [_dictCellRange[self.__lastCell]]: - pos = pos - 1 - if self.__lastCell == 'am_pm' and pos in _dictCellRange[self.__lastCell]: - pos = _dictStartCellPos[self.__lastCell] - self.__SetCurrentCell(pos) - wxTextCtrl.SetInsertionPoint(self, pos) # (causes EVT_TEXT event to fire) - _dbg(indent=0) + def GetMax(self, as_string = False): + """ + Gets the minimum value of the control. + If None, it will return None. Otherwise it will return + the current minimum bound on the control, as a wxDateTime + by default, or as a string if as_string argument is True. + """ + dbg(suspend=1) + dbg('wxTimeCtrl::GetMin, as_string?', as_string, indent=1) + if self.__max is None: + dbg('(max == None)') + ret = self.__max + elif as_string: + ret = self.__max + dbg('ret:', ret) + else: + try: + ret = self.GetWxDateTime(self.__max) + except: + dbg(suspend=0) + dbg('exception occurred', indent=0) + raise + dbg('ret:', repr(ret)) + dbg(indent=0, suspend=0) + return ret - def SetSelection(self, sel_start, sel_to): - _dbg('wxTimeCtrl::SetSelection', sel_start, sel_to, indent=1) + def SetBounds(self, min=None, max=None): + """ + This function is a convenience function for setting the min and max + values at the same time. The function only applies the maximum bound + if setting the minimum bound is successful, and returns True + only if both operations succeed. + NOTE: leaving out an argument will remove the corresponding bound. + """ + ret = self.SetMin(min) + return ret and self.SetMax(max) - # Adjust selection range to legal extent if not already - if sel_start < 0: - self.SetInsertionPoint(0) - sel_start = self.__posCurrent - elif sel_start in _listDelimPos + [_dictCellRange[self.__lastCell]]: - self.SetInsertionPoint(sel_start - 1) - sel_start = self.__posCurrent + def GetBounds(self, as_string = False): + """ + This function returns a two-tuple (min,max), indicating the + current bounds of the control. Each value can be None if + that bound is not set. + """ + return (self.GetMin(as_string), self.GetMax(as_string)) - if self.__posCurrent != sel_start: # force selection and insertion point to match - self.SetInsertionPoint(sel_start) - if sel_to not in _dictCellRange[sel_start]: - sel_to = _dictCellRange[sel_start][-1] # limit selection to end of current cell + def SetLimited(self, limited): + """ + If called with a value of True, this function will cause the control + to limit the value to fall within the bounds currently specified. + If the control's value currently exceeds the bounds, it will then + be limited accordingly. + + If called with a value of 0, this function will disable value + limiting, but coloring of out-of-bounds values will still take + place if bounds have been set for the control. + """ + dbg('wxTimeCtrl::SetLimited(%d)' % limited, indent=1) + self.__limited = limited + + if not limited: + self.SetMaskParameters(validRequired = False) + self._CheckValid() + dbg(indent=0) + return + + dbg('requiring valid value') + self.SetMaskParameters(validRequired = True) + + min = self.GetMin() + max = self.GetMax() + if min is None or max is None: + dbg('both bounds not set; no further action taken') + return # can't limit without 2 bounds + + elif not self.IsInBounds(): + # set value to the nearest bound: + try: + value = self.GetWxDateTime() + except: + dbg('exception occurred', indent=0) + raise + + if min <= max: # valid range doesn't span midnight + dbg('min <= max') + # which makes the "nearest bound" computation trickier... + + # determine how long the "invalid" pie wedge is, and cut + # this interval in half for comparison purposes: + + # Note: relies on min and max and value date portions + # always being the same. + interval = (min + wxTimeSpan(24, 0, 0, 0)) - max + + half_interval = wxTimeSpan( + 0, # hours + 0, # minutes + interval.GetSeconds() / 2, # seconds + 0) # msec + + if value < min: # min is on next day, so use value on + # "next day" for "nearest" interval calculation: + cmp_value = value + wxTimeSpan(24, 0, 0, 0) + else: # "before midnight; ok + cmp_value = value + + if (cmp_value - max) > half_interval: + dbg('forcing value to min (%s)' % min.FormatTime()) + self.SetValue(min) + else: + dbg('forcing value to max (%s)' % max.FormatTime()) + self.SetValue(max) + else: + dbg('max < min') + # therefore max < value < min guaranteed to be true, + # so "nearest bound" calculation is much easier: + if (value - max) >= (min - value): + # current value closer to min; pick that edge of pie wedge + dbg('forcing value to min (%s)' % min.FormatTime()) + self.SetValue(min) + else: + dbg('forcing value to max (%s)' % max.FormatTime()) + self.SetValue(max) - self.__bSelection = sel_start != sel_to - self.__posSelectTo = sel_to - wxTextCtrl.SetSelection(self, sel_start, sel_to) - _dbg(indent=0) + dbg(indent=0) - def __OnFocus(self,event): + + def IsLimited(self): """ - This event handler is currently necessary to work around new default - behavior as of wxPython2.3.3; - The TAB key auto selects the entire contents of the wxTextCtrl *after* - the EVT_SET_FOCUS event occurs; therefore we can't query/adjust the selection - *here*, because it hasn't happened yet. So to prevent this behavior, and - preserve the correct selection when the focus event is not due to tab, - we need to pull the following trick: + Returns True if the control is currently limiting the + value to fall within any current bounds. Note: can + be set even if there are no current bounds. """ - _dbg('wxTimeCtrl::OnFocus') - wxCallAfter(self.__FixSelection) - event.Skip() + return self.__limited - def __FixSelection(self): + def IsInBounds(self, value=None): + """ + Returns True if no value is specified and the current value + of the control falls within the current bounds. As the clock + is a "circle", both minimum and maximum bounds must be set for + a value to ever be considered "out of bounds". This function can + also be called with a value to see if that value would fall within + the current bounds of the given control. """ - This gets called after the TAB traversal selection is made, if the - focus event was due to this, but before the EVT_LEFT_* events if - the focus shift was due to a mouse event. + if value is not None: + try: + value = self.GetWxDateTime(value) # try to regularize passed value + except ValueError: + dbg('ValueError getting wxDateTime for %s' % repr(value), indent=0) + raise + + dbg('wxTimeCtrl::IsInBounds(%s)' % repr(value), indent=1) + if self.__min is None or self.__max is None: + dbg(indent=0) + return True + + elif value is None: + try: + value = self.GetWxDateTime() + except: + dbg('exception occurred', indent=0) + + dbg('value:', value.FormatTime()) + + # Get wxDateTime representations of bounds: + min = self.GetMin() + max = self.GetMax() + + midnight = wxDateTimeFromDMY(1, 0, 1970) + if min <= max: # they don't span midnight + ret = min <= value <= max + + else: + # have to break into 2 tests; to be in bounds + # either "min" <= value (<= midnight of *next day*) + # or midnight <= value <= "max" + ret = min <= value or (midnight <= value <= max) + dbg('in bounds?', ret, indent=0) + return ret + - The trouble is that, a priori, there's no explicit notification of - why the focus event we received. However, the whole reason we need to - do this is because the default behavior on TAB traveral in a wxTextCtrl is - now to select the entire contents of the window, something we don't want. - So we can *now* test the selection range, and if it's "the whole text" - we can assume the cause, change the insertion point to the start of - the control, and deselect. + def IsValid( self, value ): """ - _dbg('wxTimeCtrl::FixSelection', indent=1) - sel_start, sel_to = self.GetSelection() - if sel_start == 0 and sel_to in _dictCellRange[self.__lastCell]: - # This isn't normally allowed, and so assume we got here by the new - # "tab traversal" behavior, so we need to reset the selection - # and insertion point: - _dbg('entire text selected; resetting selection to start of control') - self.SetInsertionPoint(0) - self.SetSelection(self.__cellStart, self.__cellEnd) - _dbg(indent=0) + Can be used to determine if a given value would be a legal and + in-bounds value for the control. + """ + try: + self.__validateValue(value) + return True + except ValueError: + return False - def __OnTextChange(self, event): +#------------------------------------------------------------------------------------------------------------- +# these are private functions and overrides: + + + def __OnTextChange(self, event=None): + dbg('wxTimeCtrl::OnTextChange', indent=1) + + # Allow wxMaskedtext base control to color as appropriate, + # and Skip the EVT_TEXT event (if appropriate.) + ##! WS: For some inexplicable reason, every wxTextCtrl.SetValue() + ## call is generating two (2) EVT_TEXT events. (!) + ## The the only mechanism I can find to mask this problem is to + ## keep track of last value seen, and declare a valid EVT_TEXT + ## event iff the value has actually changed. The masked edit + ## OnTextChange routine does this, and returns True on a valid event, + ## False otherwise. + if not wxMaskedTextCtrl._OnTextChange(self, event): + return + + dbg('firing TimeUpdatedEvent...') + evt = TimeUpdatedEvent(self.GetId(), self.GetValue()) + evt.SetEventObject(self) + self.GetEventHandler().ProcessEvent(evt) + dbg(indent=0) + + + def SetInsertionPoint(self, pos): """ - This private event handler is required to retain the current position information of the cursor - after update to the underlying text control is done. + Records the specified position and associated cell before calling base class' function. + This is necessary to handle the optional spin button, because the insertion + point is lost when the focus shifts to the spin button. """ - _dbg('wxTimeCtrl::OnTextChange', indent=1) - self.__SetCurrentCell(self.__posCurrent) # ensure cell range vars are set + dbg('wxTimeCtrl::SetInsertionPoint', pos, indent=1) + wxMaskedTextCtrl.SetInsertionPoint(self, pos) # (causes EVT_TEXT event to fire) + self.__posCurrent = self.GetInsertionPoint() + dbg(indent=0) + + + def SetSelection(self, sel_start, sel_to): + dbg('wxTimeCtrl::SetSelection', sel_start, sel_to, indent=1) + + # Adjust selection range to legal extent if not already + if sel_start < 0: + sel_start = 0 + + if self.__posCurrent != sel_start: # force selection and insertion point to match + self.SetInsertionPoint(sel_start) + cell_start, cell_end = self._FindField(sel_start)._extent + if not cell_start <= sel_to <= cell_end: + sel_to = cell_end + + self.__bSelection = sel_start != sel_to + wxMaskedTextCtrl.SetSelection(self, sel_start, sel_to) + dbg(indent=0) - # Note: must call self.SetSelection here to preserve insertion point cursor after update! - # (I don't know why, but this does the trick!) - if self.__bSelection: - _dbg('reselecting from ', self.__posCurrent, 'to', self.__posSelectTo) - self.SetSelection(self.__posCurrent, self.__posSelectTo) - else: - self.SetSelection(self.__posCurrent, self.__posCurrent) - event.Skip() - _dbg(indent=0) def __OnSpin(self, key): - self.__IncrementValue(key, self.__posCurrent) + """ + This is the function that gets called in response to up/down arrow or + bound spin button events. + """ + self.__IncrementValue(key, self.__posCurrent) # changes the value + + # Ensure adjusted control regains focus and has adjusted portion + # selected: self.SetFocus() - self.SetInsertionPoint(self.__posCurrent) - self.SetSelection(self.__posCurrent, self.__posSelectTo) + start, end = self._FindField(self.__posCurrent)._extent + self.SetInsertionPoint(start) + self.SetSelection(start, end) + dbg('current position:', self.__posCurrent) + def __OnSpinUp(self, event): """ Event handler for any bound spin button on EVT_SPIN_UP; causes control to behave as if up arrow was pressed. """ - _dbg('wxTimeCtrl::OnSpinUp', indent=1) + dbg('wxTimeCtrl::OnSpinUp', indent=1) self.__OnSpin(WXK_UP) - _dbg(indent=0) + keep_processing = False + dbg(indent=0) + return keep_processing def __OnSpinDown(self, event): @@ -406,381 +961,146 @@ class wxTimeCtrl(wxTextCtrl): Event handler for any bound spin button on EVT_SPIN_DOWN; causes control to behave as if down arrow was pressed. """ - _dbg('wxTimeCtrl::OnSpinDown', indent=1) + dbg('wxTimeCtrl::OnSpinDown', indent=1) self.__OnSpin(WXK_DOWN) - _dbg(indent=0) + keep_processing = False + dbg(indent=0) + return keep_processing - def __OnChangePos(self, event): + def __OnChar(self, event): """ - Event handler for motion events; this handler - changes limits the selection to the new cell boundaries. + Handler to explicitly look for ':' keyevents, and if found, + clear the m_shiftDown field, so it will behave as forward tab. + It then calls the base control's _OnChar routine with the modified + event instance. """ - _dbg('wxTimeCtrl::OnChangePos', indent=1) - pos = self.GetInsertionPoint() - self.__SetCurrentCell(pos) - sel_start, sel_to = self.GetSelection() - selection = sel_start != sel_to - if not selection: - # disallow position at end of field: - if pos in _listDelimPos + [_dictCellRange[self.__lastCell][-1]]: - self.SetInsertionPoint(pos-1) - self.__posSelectTo = self.__cellEnd - else: - # only allow selection to end of current cell: - if sel_to < pos: self.__posSelectTo = self.__cellStart - elif sel_to > pos: self.__posSelectTo = self.__cellEnd - - _dbg('new pos =', self.__posCurrent, 'select to ', self.__posSelectTo) - self.SetSelection(self.__posCurrent, self.__posSelectTo) - if event: event.Skip() - _dbg(indent=0) + dbg('wxTimeCtrl::OnChar', indent=1) + keycode = event.GetKeyCode() + dbg('keycode:', keycode) + if keycode == ord(':'): + dbg('colon seen! removing shift attribute') + event.m_shiftDown = False + wxMaskedTextCtrl._OnChar(self, event ) ## handle each keypress + dbg(indent=0) - def __OnDoubleClick(self, event): + def __OnSetToNow(self, event): """ - Event handler for left double-click mouse events; this handler - causes the cell at the double-click point to be selected. + This is the key handler for '!' and 'c'; this allows the user to + quickly set the value of the control to the current time. """ - _dbg('wxTimeCtrl::OnDoubleClick', indent=1) - pos = self.GetInsertionPoint() - self.__SetCurrentCell(pos) - if self.__posCurrent != self.__cellStart: - self.SetInsertionPoint(self.__cellStart) - self.SetSelection(self.__cellStart, self.__cellEnd) - _dbg(indent=0) + self.SetValue(wxDateTime_Now().FormatTime()) + keep_processing = False + return keep_processing - def __OnChar(self, event): + def __LimitSelection(self, event): """ - This private event handler is the main control point for the wxTimeCtrl. - It governs whether input characters are accepted and if so, handles them - so as to provide appropriate cursor and selection behavior for the control. + Event handler for motion events; this handler + changes limits the selection to the new cell boundaries. """ - _dbg('wxTimeCtrl::OnChar', indent=1) - - # NOTE: Returning without calling event.Skip() eats the event before it - # gets to the text control... - - key = event.GetKeyCode() - text = self.GetValue() + dbg('wxTimeCtrl::LimitSelection', indent=1) pos = self.GetInsertionPoint() - if pos != self.__posCurrent: - _dbg("insertion point has moved; resetting current cell") - self.__SetCurrentCell(pos) - self.SetSelection(self.__posCurrent, self.__posCurrent) - + self.__posCurrent = pos sel_start, sel_to = self.GetSelection() selection = sel_start != sel_to - _dbg('sel_start=', sel_start, 'sel_to =', sel_to) - if not selection: - self.__bSelection = False # predict unselection of entire region - - _dbg('keycode = ', key) - _dbg('pos = ', pos) - - # don't allow deletion, cut or paste: - if key in (WXK_DELETE, WXK_BACK, WXK_CTRL_X, WXK_CTRL_V): - pass - - elif key == WXK_TAB: # skip to next field if applicable: - _dbg('key == WXK_TAB') - dict_range = _dictCellRange # (for brevity) - dict_start = _dictStartCellPos - if event.ShiftDown(): # tabbing backwords - - ###(NOTE: doesn't work; wxTE_PROCESS_TAB doesn't appear to send us this event!) - - _dbg('event.ShiftDown()') - if pos in dict_range['hour']: # already in 1st field - self.__SetCurrentCell(dict_start['hour']) # ensure we have our member vars set - event.Skip() #then do normal tab processing for the form - _dbg(indent=0) - return - - elif pos in dict_range['minute']: # skip to hours field - new_pos = dict_start['hour'] - elif pos in dict_range['second']: # skip to minutes field - new_pos = dict_start['minute'] - elif pos in dict_range['am_pm']: # skip to seconds field - new_pos = dict_start['second'] - - self.SetInsertionPoint(new_pos) # force insert point to jump to next cell (swallowing TAB) - self.__OnChangePos(None) # update selection accordingly - - else: - # Tabbing forwards through control... - - if pos in dict_range[self.__lastCell]: # already in last field; ensure we have our members set - self.__SetCurrentCell(dict_start[self.__lastCell]) - _dbg('tab in last cell') - event.Skip() # then do normal tab processing for the form - _dbg(indent=0) - return - - if pos in dict_range['second']: # skip to AM/PM field (if not last cell) - new_pos = dict_start['am_pm'] - elif pos in dict_range['minute']: # skip to seconds field - new_pos = dict_start['second'] - elif pos in dict_range['hour']: # skip to minutes field - new_pos = dict_start['minute'] - - self.SetInsertionPoint(new_pos) # force insert point to jump to next cell (swallowing TAB) - self.__OnChangePos(None) # update selection accordingly - - elif key == WXK_LEFT: # move left; set insertion point as appropriate: - _dbg('key == WXK_LEFT') - if event.ShiftDown(): # selecting a range... - _dbg('event.ShiftDown()') - if pos in _listStartCellPos: # can't select pass delimiters - if( sel_to == pos+2 and sel_to != _dictCellRange['am_pm'][-1]): - self.SetSelection(pos, pos+1) # allow deselection of 2nd char in cell if not am/pm - # else ignore event - - elif pos in _listEndCellPos: # can't use normal selection, because position ends up - # at delimeter - _dbg('set selection from', pos-1, 'to', self.__posCurrent) - self.SetInsertionPoint(pos-1) # this selects the previous position - self.SetSelection(self.__posCurrent, pos) - else: - self.SetInsertionPoint(sel_to - 1) # this unselects the last digit - self.SetSelection(self.__posCurrent, pos) - - else: # ... not selecting - if pos == 0: # can't position before position 0 - pass - elif pos in _listStartCellPos: # skip (left) OVER the colon/space: - self.SetInsertionPoint(pos-2) - self.__OnChangePos(None) # set the selection appropriately - else: - self.SetInsertionPoint(pos-1) # reposition the cursor and - self.__OnChangePos(None) # set the selection appropriately - - - elif key == WXK_RIGHT: # move right - _dbg('key == WXK_RIGHT') - if event.ShiftDown(): - _dbg('event.ShiftDown()') - if sel_to in _listDelimPos: # can't select pass delimiters - pass - else: - self.SetSelection(self.__posCurrent, sel_to+1) - else: - if( (self.__lastCell == 'second' - and pos == _dictStartCellPos['second']+1) - or (self.__lastCell == 'am_pm' - and pos == _dictStartCellPos['am_pm']) ): - pass # don't allow cursor past last cell - elif pos in _listEndCellPos: # skip (right) OVER the colon/space: - self.SetInsertionPoint(pos+2) - self.__OnChangePos(None) # set the selection appropriately - else: - self.SetInsertionPoint(pos+1) # reposition the cursor and - self.__OnChangePos(None) # set the selection appropriately - - elif key in (WXK_UP, WXK_DOWN): - _dbg('key in (WXK_UP, WXK_DOWN)') - self.__IncrementValue(key, pos) # increment/decrement as appropriate - - - elif key < WXK_SPACE or key == WXK_DELETE or key > 255: - event.Skip() # non alphanumeric; process normally (Right thing to do?) - - elif chr(key) in ['!', 'c', 'C']: # Special character; sets the value of the control to "now" - _dbg("key == '!'; setting time to 'now'") - now = wxDateTime_Now() - self.SetWxDateTime(now) - - elif chr(key) in string.digits: # let ChangeValue validate and update current position - self.__ChangeValue(chr(key), pos) # handle event (and swallow it) - - elif chr(key) in ('a', 'A', 'p', 'P', ' '): # let ChangeValue validate and update current position - self.__ChangeValue(chr(key), pos) # handle event (and swallow it) + if selection: + # only allow selection to end of current cell: + start, end = self._FindField(sel_start)._extent + if sel_to < pos: sel_to = start + elif sel_to > pos: sel_to = end - else: # disallowed char; swallow event - pass - _dbg(indent=0) + dbg('new pos =', self.__posCurrent, 'select to ', sel_to) + self.SetInsertionPoint(self.__posCurrent) + self.SetSelection(self.__posCurrent, sel_to) + if event: event.Skip() + dbg(indent=0) def __IncrementValue(self, key, pos): - _dbg('wxTimeCtrl::IncrementValue', key, pos, indent=1) + dbg('wxTimeCtrl::IncrementValue', key, pos, indent=1) text = self.GetValue() + field = self._FindField(pos) + dbg('field: ', field._index) + start, end = field._extent + slice = text[start:end] + if key == WXK_UP: increment = 1 + else: increment = -1 + + if slice in ('A', 'P'): + if slice == 'A': newslice = 'P' + elif slice == 'P': newslice = 'A' + newvalue = text[:start] + newslice + text[end:] + + elif field._index == 0: + # adjusting this field is trickier, as its value can affect the + # am/pm setting. So, we use wxDateTime to generate a new value for us: + # (Use a fixed date not subject to DST variations:) + converter = wxDateTimeFromDMY(1, 0, 1970) + dbg('text: "%s"' % text) + converter.ParseTime(text.strip()) + currenthour = converter.GetHour() + dbg('current hour:', currenthour) + newhour = (currenthour + increment) % 24 + dbg('newhour:', newhour) + converter.SetHour(newhour) + dbg('converter.GetHour():', converter.GetHour()) + newvalue = converter # take advantage of auto-conversion for am/pm in .SetValue() + + else: # minute or second field; handled the same way: + newslice = "%02d" % ((int(slice) + increment) % 60) + newvalue = text[:start] + newslice + text[end:] - sel_start, sel_to = self.GetSelection() - selection = sel_start != sel_to - cell_selected = selection and sel_to -1 != pos + try: + self.SetValue(newvalue) - dict_start = _dictStartCellPos # (for brevity) + except ValueError: # must not be in bounds: + if not wxValidator_IsSilent(): + wxBell() + dbg(indent=0) - # Determine whether we should change the entire cell or just a portion of it: - if( cell_selected - or (pos in _listStartCellPos and not selection) - or (text[pos] == ' ' and text[pos+1] not in ('1', '2')) - or (text[pos] == '9' and text[pos-1] == ' ' and key == WXK_UP) - or (text[pos] == '1' and text[pos-1] == ' ' and key == WXK_DOWN) - or pos >= dict_start['am_pm']): - self.__IncrementCell(key, pos) - else: - if key == WXK_UP: inc = 1 - else: inc = -1 - - if pos == dict_start['hour'] and not self.__fmt24hr: - if text[pos] == ' ': digit = '1' # allow ' ' or 1 for 1st digit in 12hr format - else: digit = ' ' - else: - if pos == dict_start['hour']: - if int(text[pos + 1]) >3: mod = 2 # allow for 20-23 - else: mod = 3 # allow 00-19 - elif pos == dict_start['hour'] + 1: - if self.__fmt24hr: - if text[pos - 1] == '2': mod = 4 # allow hours 20-23 - else: mod = 10 # allow hours 00-19 - else: - if text[pos - 1] == '1': mod = 3 # allow hours 10-12 - else: mod = 10 # allow 0-9 - - elif pos in (dict_start['minute'], - dict_start['second']): mod = 6 # allow minutes/seconds 00-59 - else: mod = 10 - - digit = '%d' % ((int(text[pos]) + inc) % mod) - - _dbg("new digit = \'%s\'" % digit) - self.__ChangeValue(digit, pos) - _dbg(indent=0) - - - def __IncrementCell(self, key, pos): - _dbg('wxTimeCtrl::IncrementCell', key, pos, indent=1) - self.__SetCurrentCell(pos) # determine current cell - hour, minute, second = self.__hour, self.__minute, self.__second - text = self.GetValue() - dict_start = _dictStartCellPos # (for brevity) - if key == WXK_UP: inc = 1 - else: inc = -1 - - if self.__cellStart == dict_start['am_pm']: - am = text[dict_start['am_pm']:] == 'AM' - if am: hour = hour + 12 - else: hour = hour - 12 + def _toGUI( self, wxdt ): + """ + This function takes a wxdt as an unambiguous representation of a time, and + converts it to a string appropriate for the format of the control. + """ + if self.__fmt24hr: + if self.__display_seconds: strval = wxdt.Format('%H:%M:%S') + else: strval = wxdt.Format('%H:%M') else: - if self.__cellStart == dict_start['hour']: - hour = (hour + inc) % 24 - elif self.__cellStart == dict_start['minute']: - minute = (minute + inc) % 60 - elif self.__cellStart == dict_start['second']: - second = (second + inc) % 60 - - newvalue = '%.2d:%.2d:%.2d' % (hour, minute, second) + if self.__display_seconds: strval = wxdt.Format('%I:%M:%S %p') + else: strval = wxdt.Format('%I:%M %p') - self.SetValue(newvalue) - self.SetInsertionPoint(self.__cellStart) - self.SetSelection(self.__cellStart, self.__cellEnd) - _dbg(indent=0) + return strval - def __ChangeValue(self, char, pos): - _dbg('wxTimeCtrl::ChangeValue', "\'" + char + "\'", pos, indent=1) - text = self.GetValue() - - self.__SetCurrentCell(pos) - sel_start, sel_to = self.GetSelection() - self.__posSelectTo = sel_to - self.__bSelection = selection = sel_start != sel_to - cell_selected = selection and sel_to -1 != pos - _dbg('cell_selected =', cell_selected, indent=0) - - dict_start = _dictStartCellPos # (for brevity) - - if pos in _listDelimPos: return # don't allow change of punctuation - - elif( 0 < pos < dict_start['am_pm'] and char not in string.digits): - return # AM/PM not allowed in this position - - # See if we're changing the hour cell, and validate/update appropriately: - # - hour_start = dict_start['hour'] # (ie. 0) - - if pos == hour_start: # if at 1st position, - if self.__fmt24hr: # and using 24 hour format - if cell_selected: # replace cell contents with hour represented by digit - newtext = '%.2d' % int(char) + text[hour_start+2:] - elif char not in ('0', '1', '2'): # return if digit not 0,1, or 2 - return - else: # relace current position - newtext = char + text[pos+1:] - else: # (12 hour format) - if cell_selected: - if char == ' ': return # can't erase entire cell - elif char == '0': # treat 0 as '12' - newtext = '12' + text[hour_start+2:] - else: # replace cell contents with hour represented by digit - newtext = '%2d' % int(char) + text[hour_start+2:] - else: - if char not in ('1', ' '): # can only type a 1 or space - return - if text[pos+1] not in ('0', '1', '2'): # and then, only if other column is 0,1, or 2 - return - if char == ' ' and text[pos+1] == '0': # and char isn't space if 2nd column is 0 - return - else: # ok; replace current position - newtext = char + text[pos+1:] - if char == ' ': self.SetInsertionPoint(pos+1) # move insert point to legal position - - elif pos == hour_start+1: # if editing 2nd position of hour - if( not self.__fmt24hr # and using 12 hour format - and text[hour_start] == '1' # if 1st char is 1, - and char not in ('0', '1', '2')): # disallow anything bug 0,1, or 2 - return - newtext = text[hour_start] + char + text[hour_start+2:] # else any digit ok - - # Do the same sort of validation for minute and second cells - elif pos in (dict_start['minute'], dict_start['second']): - if cell_selected: # if cell selected, replace value - newtext = text[:pos] + '%.2d' % int(char) + text[pos+2:] - elif int(char) > 5: return # else disallow > 59 for minute and second fields - else: - newtext = text[:pos] + char + text[pos+1:] # else ok - - elif pos in (dict_start['minute']+1, dict_start['second']+1): - newtext = text[:pos] + char + text[pos+1:] # all digits ok for 2nd digit of minute/second - - # Process AM/PM cell - elif pos == dict_start['am_pm']: - char = char.upper() - if char not in ('A','P'): return # disallow all but A or P as 1st char of column - newtext = text[:pos] + char + text[pos+1:] - else: return # not a valid position - - _dbg(indent=1) - # update member position vars and set selection to character changed - if not cell_selected: - _dbg('reselecting current digit') - self.__posSelectTo = pos+1 - - _dbg('newtext=', newtext) - self.SetValue(newtext) - self.SetInsertionPoint(self.__posCurrent) - self.SetSelection(self.__posCurrent, self.__posSelectTo) - _dbg(indent=0) - - - def Cut(self): + def __validateValue( self, value ): """ - Override wxTextCtrl::Cut() method, as this operation should not - be allowed for wxTimeCtrls. + This function converts the value to a wxDateTime if not already one, + does bounds checking and raises ValueError if argument is + not a valid value for the control as currently specified. + It is used by both the SetValue() and the IsValid() methods. """ - return - + dbg('wxTimeCtrl::__validateValue(%s)' % repr(value), indent=1) + if not value: + dbg(indent=0) + raise ValueError('%s not a valid time value' % repr(value)) - def Paste(self): - """ - Override wxTextCtrl::Paste() method, as this operation should not - be allowed for wxTimeCtrls. - """ - return + valid = True # assume true + try: + value = self.GetWxDateTime(value) # regularize form; can generate ValueError if problem doing so + except: + dbg('exception occurred', indent=0) + raise + if self.IsLimited() and not self.IsInBounds(value): + dbg(indent=0) + raise ValueError ( + 'value %s is not within the bounds of the control' % str(value) ) + dbg(indent=0) + return value #---------------------------------------------------------------------------- # Test jig for wxTimeCtrl: @@ -814,12 +1134,12 @@ if __name__ == '__main__': EVT_TIMEUPDATE(self, self.tc.GetId(), self.OnTimeChange) def OnTimeChange(self, event): - _dbg('OnTimeChange: value = ', event.GetValue()) + dbg('OnTimeChange: value = ', event.GetValue()) wxdt = self.tc.GetWxDateTime() - _dbg('wxdt =', wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond()) + dbg('wxdt =', wxdt.GetHour(), wxdt.GetMinute(), wxdt.GetSecond()) if self.test_mx: mxdt = self.tc.GetMxDateTime() - _dbg('mxdt =', mxdt.hour, mxdt.minute, mxdt.second) + dbg('mxdt =', mxdt.hour, mxdt.minute, mxdt.second) class MyApp(wxApp): diff --git a/wxPython/wxPython/py/CHANGES.txt b/wxPython/wxPython/py/CHANGES.txt new file mode 100644 index 0000000000..572f2a9529 --- /dev/null +++ b/wxPython/wxPython/py/CHANGES.txt @@ -0,0 +1,594 @@ + +0.9.2 (5/3/2003 to //2003) +----------------------------- + +Changed to the new prefix-less "wx" package:: + + import wx + +instead of:: + + from wxPython import wx + +Fixed typo in ``PyWrap.py``:: + + if __name__ == '__main__': + main(sys.argv) + +should have been:: + + if __name__ == '__main__': + main() + +Added pretty-print Display tab to Crust, based on suggestion from +Jason Whitlark. + +Improved ``Can*`` checks in ``EditWindow``, since STC is too lenient, +particularly when it is set to read-only but returns True for +CanPaste() (seems like an STC bug to me):: + + def CanCopy(self): + """Return True if text is selected and can be copied.""" + return self.GetSelectionStart() != self.GetSelectionEnd() + + def CanCut(self): + """Return True if text is selected and can be cut.""" + return self.CanCopy() and self.CanEdit() + + def CanEdit(self): + """Return True if editing should succeed.""" + return not self.GetReadOnly() + + def CanPaste(self): + """Return True if pasting should succeed.""" + return stc.StyledTextCtrl.CanPaste(self) and self.CanEdit() + + +0.9.1 (3/21/2003 to 5/2/2003) +----------------------------- + +PyCrust is dead! Long live Py! + +* Renamed ``PyCrust`` package to ``py``. +* Moved code to wxPython's CVS repository. + +Fixed bug in ``introspect.py`` on introspecting objects occurring +immediately after a secondary prompt, like this:: + + >>> l = [1, 2, 3] + >>> for n in range(3): + ... l. <-- failed to popup autocomplete list + +Added documentation files: + +* PyManual.txt +* wxPythonManual.txt +* wxPythonPackage.txt +* wxPythonExamples.txt + +Added PyAlaMode and PyAlaCarte code editors. + +Major refactoring to support ``editor`` and ``shell`` from the same +base. + +Renamed program files: + +* ``PyCrustApp.py`` to ``PyCrust.py`` +* ``PyFillingApp.py`` to ``PyFilling.py`` +* ``PyShellApp.py`` to ``PyShell.py`` +* ``wrap.py`` to ``PyWrap.py`` + +Removed disabling of autocomplete for lists of 2000 items or more. +The current implementation of wxSTC can now handle lists this big. + +Improved handling of ``sys.path`` to mimic the standard Python shell. + + +0.9 (2/27/2003 to 3/20/2003) +---------------------------- + +Added fontIncrease, fontDecrease, fontDefault signals, receivers and +keybindings:: + + Ctrl+] Increase font size. + Ctrl+[ Decrease font size. + Ctrl+= Default font size. + +Continued enhancement of the decorator capability to provide better +documentation and docstrings for wxPython classes and functions. + +Introduced new tabbed interface: + +* Namespace +* Calltip +* Session +* Dispatcher +* wxPython Docs +* wxSTC Docs + +``Filling.tree`` now expands tuples as well as lists. (It should have +done this all along, I just never noticed this omission before.) + +Added this True/False test to all modules:: + + try: + True + except NameError: + True = 1==1 + False = 1==0 + +Added ``wxd`` directory with decoration classes. + + +0.8.2 (1/5/2003 to 2/26/2003) +----------------------------- + +Wrapped ``sys.ps1``, ``sys.ps2``, and ``sys.ps3`` in ``str()``. +(Thanks, Kieran Holland.) + +Fixed minor things found by PyChecker. + +Changed locals to use ``__main__.__dict__`` and added code to clean up +the namespace, making it as close to the regular Python environment as +possible. This solves the problem of pickling and unpickling +instances of classes defined in the shell. + +Made ``shell.PasteAndRun()`` a little more forgiving when it finds a +ps2 prompt line with no trailing space, such when you copy code from a +web page. + +Improved autocomplete behavior by adding these to shell:: + + self.AutoCompSetAutoHide(False) + self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`') + +Added ``decor`` directory, ``decorator.py``, ``stcDecor.py``, and +``stcConstants.py``. These all serve the purpose of adding docstrings +to existing wxPython classes, in particular the ``wxStyledTextCtrl``. + +Added ``wrap.py``, a command line utility for running a wxPython app +with additional runtime-tools loaded, such as PyCrust (the only tool +at this point). + +Flushed the clipboard Cut/Copy operations so that selections will +exist in the clipboard even after PyCrust has been closed. + +Improved the suppression of docstrings for simple data types appearing +in the namespace viewer. + +Better handling of autocompletion with numeric types; no +autocompletion when typing a dot after an integer. If the +autocompletion is desired, type a space before the dot:: + + func = 3 . + +More Filling!!! The namespace tree is now dynamically updated. + + +0.8.1 (12/20/2002 to 12/25/2002) +-------------------------------- + +Improved keyboard handling with Autocomplete active. You can now use +Enter as well as Tab to select an item from the list. + +Disabled autocomplete for lists of 2000 items or more. The current +implementation of wxSTC can't handle lists this big. + +Changed ``filling`` to always display docstrings for objects. This is +useful for objects whose docstrings have been decorated, rather than +coming directly from the source code. (Hmmm. Sounds like someone is +doing some decorating. I wonder where that would be helpful? ) + +Fixed handling of icon. Added ``images.py`` file. + + +0.8 (10/29/2002 to 12/16/2002) +------------------------------ + +Added "help" to startup banner info. + +Made all ``wx`` and ``stc`` imports explicit. No more ``import *``. + +Replaced use of the ``wx`` module's ``true`` and ``false`` with +Python's ``True`` and ``False``. + +Changed ``introspect.getRoot()`` to use ``tokenize`` module. This +does a slightly better job than the previous parsing routine and the +code is clearer. + +Improved handling of whitespace and empty types during introspection. + +Fixed cut/copy clipboard problem under Linux. (Robin Dunn rocks!!!) + +Added shell.about() which works like this:: + + >>> shell.about() + PyCrust Version: 0.8 + Shell Revision: 1.80 + Interpreter Revision: 1.15 + Python Version: 2.2.2 + wxPython Version: 2.3.3.1 + Platform: linux2 + +Added copy plus and paste plus to shell menu. + +Moved shell menu from ``shell.py`` to ``shellmenu.py``. + +Added ``sys.stdin.readlines()`` support. + +Added ``time.sleep()`` in ``readline()`` and ``OnIdle()`` event +handler to free up the CPU. + + +0.7.2 (2/22/2002 to 8/27/2002) +------------------------------ + +Tweaked ``getAttributeNames()`` to pick up a few more attributes:: + + '__bases__', '__class__', '__dict__', '__name__', 'func_closure', + 'func_code', 'func_defaults', 'func_dict', 'func_doc', + 'func_globals', 'func_name' + +Added a tests directory and unit tests. + +Improved support for empty types in the shell: ``[]``, ``()`` and +``{}`` as far as when call tips and autocompletion are available. + +Added support for the other triple string - ``''''''``. + +Refactored ``introspect.py`` to improve testability. + +Improved call tips for unbound methods by leaving the "self" +parameter, since unbound methods require an instance be passed. + +Fixed call tip bug where a tip was displayed when a "(" was typed +after an object that wasn't callable. + +Fixed ``getAllAttributeNames`` when ``str(object)`` fails. + +Added brace highlighting. (Thank you, Kevin Altis.) + +Fixed problem displaying unicode objects in ``PyFilling``. + +Changed how ``filling.py`` checks for expandable objects. Lists are +now expandable objects. + +Made the key handling more robust when there is an active text +selection that includes text prior to the last primary prompt. Thanks +to Raul Cota for pointing this out. + +Fixed wxSTC problem with brace highlighting and non-us keyboards. +(Thank you for the patch, Jean-Michel Fauth.) + +Added ``busy = wxBusyCursor()`` to key points in ``shell`` and +``filling``. + +Added ``OnCloseWindow`` handler to ``ShellFrame`` and ``CrustFrame``. + +Default to ``SetWrapMode(1)`` for shell and namespace viewer. + +Added ``shell.wrap()`` and ``shell.zoom()``. + +Added autoCompleteKeys hooks for Raul Cota. + +Cleaned up various little key handling bugs. + +Changed input methods to get values from shell, rather than dialog +boxes. Renamed ``readIn`` to ``readline`` and ``readRaw`` to +``raw_input``. + + +0.7.1 (12/12/2001 to 2/21/2002) +------------------------------- + +Fixed ``OnChar()`` issues effecting European keyboards, as reported by +Jean-Michel Fauth. + +Fixed ``introspect.py`` issue with xmlrpc objects reported by Kevin +Altis. + +Fixed some introspect/PyFilling issues with regard to Python 2.2. + +Fixed font background color as reported by Keith J. Farmer. (Thanks) + +Fixed problem with call tips and autocompletion inside multiline +commands as report by Kevin Altis. + +Improved ``OnKeyDown`` handling of cut/copy/paste operations based on +feedback from Syver Enstad. (Thanks) + +Added a ``shell.help()`` method to display some help info. + +Changed sort of items in the namespace viewer to case insensitive. + +Changed ``attributes.sort(lambda x, y: cmp(x.upper(), y.upper()))`` in +advance of an upcoming fix to an autocompletion matching bug in wxSTC. + +Improved support for ZODB by allowing namespace drilldown into BTrees. + +Added ``shell.PasteAndRun()`` to support pasting multiple commands into +the shell from the clipboard. Ctrl+Shift+V or v. + +Enter now always processes a command (or copies down a previous one.) +To insert a line break, press Ctrl+Enter. + +Escape key clears the current, unexecuted command. + +History retrieval changed to replace current command. Added new keys +to insert from history - Shift+Up and Shift+Down. + +Better call tips on objects with ``__call__`` methods. + +Improved call tip positioning calculation. + + +0.7 (10/15/2001 to 12/11/2001) +------------------------------ + +Changed how command history retrieval functions work. Added Alt-P, +Alt-N as keybindings for Retrieve-Previous, Retrieve-Next. + +Added full support for multi-line commands, similar to IDLE. + +Changed ``introspect.getAttributeNames()`` to do a case insensitive +sort. + +Changed Cut/Copy/Paste to deal with prompts intelligently. Cut and +Copy remove all prompts. Paste can handle prompted or not-prompted +text. + +Added ``CopyWithPrompts()`` method attached to Ctrl-Shift-C for those +times when you really do want all the prompts left intact. + +Improved handling of the shell's read-only zone. + +Changed ``CrustFrame.__init__`` parameter spec to include all +parameters allowed by a ``wxFrame``. + +Changed ``FillingText`` to be read-only. + +Renamed ``PyCrust.py`` to ``PyCrustApp.py`` to eliminate +package/module name conflicts that kept you from doing ``from PyCrust +import shell`` inside files located in the ``PyCrust`` directory. + +Renamed ``PyFilling.py`` to ``PyFillingApp.py`` and ``PyShell.py`` to +``PyShellApp.py`` to maintain consistency. + +Removed the ``__date__`` property from all modules. + +Fixed bug in ``introspect.getCallTip()``, reported by Kevin Altis. + + +0.6.1 (9/19/2001 to 10/12/2001) +------------------------------- + +Changed ``Shell.run()`` to always position to the end of existing +text, as suggested by Raul Cota. + +Changed ``introspect.getAllAttributeNames()`` to break circular +references in ``object.__class__``, which occurs in Zope/ZODB +extension classes. + +Changed ``filling.FillingTree.getChildren()`` to introspect extension +classes. + +Fixed minor bugs in ``introspect.getCallTip()`` that were interfering +with call tips for Zope/ZODB extension class methods. + +In preparation for wxPython 2.3.2, added code to fix a font sizing +problem. Versions of wxPython prior to 2.3.2 had a sizing bug on Win +platform where the font was 2 points larger than what was specified. + +Added a hack to ``introspect.getAllAttributeNames()`` to "wake up" +ZODB objects that are asleep - in a "ghost" state. Otherwise it +returns incomplete info. + + +0.6 (8/21/2001 to 9/12/2001) +---------------------------- + +Added ``PyFilling.py`` and ``filling.py``. + +``PyShell.py`` and ``PyFilling.py`` can now be run standalone, as well +as ``PyCrust.py``. + +Added ``crust.py`` and moved some code from ``PyCrust.py`` to it. + +Added command history retrieval features submitted by Richie Hindle. + +Changed ``shell.write()`` to replace line endings with OS-specific +endings. Changed ``shell.py`` and ``interpreter.py`` to use +``os.linesep`` in strings having hardcoded line endings. + +Added ``shell.redirectStdin()``, ``shell.redirectStdout()`` and +``shell.redirectStderr()`` to allow the surrounding app to toggle +requests that the specified ``sys.std*`` be redirected to the shell. +These can also be run from within the shell itself, of course. + +The shell now adds the current working directory "." to the search +path:: + + sys.path.insert(0, os.curdir) + +Added support for distutils installations. + + +0.5.4 (8/17/2001 to 8/20/2001) +------------------------------ + +Changed default font size under Linux to:: + + 'size' : 12, + 'lnsize' : 10, + +Changed ``Shell`` to expect a parameter referencing an Interpreter +class, rather than an intepreter instance, to facilitate subclassing +of Interpreter, which effectively broke when the Editor class was +eliminated. + +Fixed ``PyCrustAlaCarte.py``, which had been broken by previous +changes. + +Created ``InterpreterAlaCarte`` class as an example for use in the +demo. + +Split ``PyCrust.py`` into ``PyCrust.py`` and ``PyShell.py`` in +anticipation of ``PyFilling.py``. + + +0.5.3 (8/16/2001) +----------------- + +Added patch to ``PyCrust.py`` to fix wxPython bug:: + + wxID_SELECTALL = NewId() # This *should* be defined by wxPython. + + +0.5.2 (8/14/2001 to 8/15/2001) +------------------------------ + +Shortened module names by dropping "PyCrust" as a prefix. + +Changed ``version`` to ``VERSION`` in ``version`` module. + +Added Options menu to PyCrust application. + +Eliminated the Editor class (and editor module) by merging with Shell. +This means that Shell "is a" wxStyledTextCtrl rather than "has a". +There just wasn't enough non-gui code to justify the separation. +Plus, Shell will be much easier for gui toolkits/designers to deal +with now. + + +0.5.1 (8/10/2001 to 8/14/2001) +------------------------------ + +Added ``introspect`` module. + +Moved some functionality from ``PyCrustInterp`` to ``introspect``. + +Changed ``introspect.getRoot()`` to no longer remove whitespace from +the command. This was a remnant of a previous approach that, when +left as part of the current approach, turned out to be a really bad +thing. + +Changed ``introspect.getRoot()`` to allow commands of ``''``, ``""``, +``""""""``, ``[]``, ``()``, and ``{}`` to pass through. This allows +you to type them, followed by a dot, and get autocomplete options on +them. + +Changed ``introspect.getRoot()`` to identify some situations where +strings shouldn't be considered roots. For example:: + + >>> import PyCrust # To illustrate the potential problem. + >>> len('PyCrust.py') + +Typing the dot at the end of "PyCrust" in the second line above should +NOT result in an autocompletion list because "PyCrust" is part of a +string in this context, not a reference to the PyCrust module object. +Similar reasoning applies to call tips. For example:: + + >>> len('dir(') + +Typing the left paren at the end of "dir" should NOT result in a call +tip. + +Both features now behave properly in the examples given. However, +there is still the case where whitespace precedes the potential root +and that is NOT handled properly. For example:: + + >>> len('this is a dir(') + +and:: + + >>> len('This is PyCrust.py') + +More code needs to be written to handle more complex situations. + +Added ``locals=None`` parameter to ``Shell.__init__()``. + +Added support for magic attribute retrieval. Users can change this +with:: + + >>> shell.editor.autoCompleteIncludeMagic = 0 + +Added the ability to set filters on auto completion to exclude +attributes prefixed with a single or double underscore. Users can +exclude one or the other or both with:: + + >>> shell.editor.autoCompleteExcludeSingle = 1 + >>> shell.editor.autoCompleteExcludeDouble = 1 + + +0.5 (8/8/2001) +-------------- + +Mostly just a final version change before creating a release. + + +0.4 (8/4/2001 to 8/7/2001) +-------------------------- + +Changed version/revision handling. + +Fixed bugs. + + +0.3 (8/2/2001 to 8/3/2001) +-------------------------- + +Removed lots of cruft. + +Added lots of docstrings. + +Imported to CVS repository at SourceForge. + +Added call tips. + + +0.2 (7/30/2001 to 8/2/2001) +--------------------------- + +Renamed several files. + +Added command autocompletion. + +Added menus to PyCrust.py: File, Edit and Help. + +Added sample applications: ``PyCrustAlaCarte.py``, +``PyCrustAlaMode.py``, and ``PyCrustMinimus.py``. + + +0.1 (7/1/2001 to 7/19/2001) +--------------------------- + +Added basic syntax coloring much like Boa. + +Added read-only logging much like IDLE. + +Can retrieve a previous command by putting the cursor back on that +line and hitting enter. + +Stdin and raw_input operate properly so you can now do ``help()`` and +``license()`` without hanging. + +Redefined "quit", "exit", and "close" to display a better-than-nothing +response. + +Home key honors the prompt. + +Created SourceForge account, but nothing was posted. + + +In the beginning, there was pie... (7/1/2001) +--------------------------------------------- + +Blame it all on IDLE, Boa and PythonWin. I was using all three, got +frustrated with their dissimilarities, and began to let everyone know +how I felt. At the same time, Scintilla looked like an interesting +tool to build a shell around. And while I didn't receive much in the +way of positive feedback, let alone encouragement, I just couldn't let +go of the idea of a Scintilla-based Python shell. Then the PythonCard +project got to the point where they were talking about including a +shell in their development environment. That was all the incentive I +needed. PyCrust had to happen... diff --git a/wxPython/wxPython/lib/PyCrust/PyCrust.ico b/wxPython/wxPython/py/Py.ico similarity index 100% rename from wxPython/wxPython/lib/PyCrust/PyCrust.ico rename to wxPython/wxPython/py/Py.ico diff --git a/wxPython/wxPython/py/PyAlaCarte.py b/wxPython/wxPython/py/PyAlaCarte.py new file mode 100755 index 0000000000..0f71bd447b --- /dev/null +++ b/wxPython/wxPython/py/PyAlaCarte.py @@ -0,0 +1,43 @@ +"""PyAlaCarte is a simple programmer's editor.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +import os +import sys + +import editor + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +class App(wx.App): + """PyAlaCarte standalone application.""" + + def __init__(self, filename=None): + self.filename = filename + wx.App.__init__(self, redirect=False) + + def OnInit(self): + wx.InitAllImageHandlers() + self.frame = editor.EditorFrame(filename=self.filename) + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(filename=None): + if not filename and len(sys.argv) > 1: + filename = sys.argv[1] + if filename: + filename = os.path.realpath(filename) + app = App(filename) + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/py/PyAlaMode.py b/wxPython/wxPython/py/PyAlaMode.py new file mode 100755 index 0000000000..d33243a36a --- /dev/null +++ b/wxPython/wxPython/py/PyAlaMode.py @@ -0,0 +1,43 @@ +"""PyAlaMode is a programmer's editor.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +import os +import sys + +import editor + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +class App(wx.App): + """PyAlaMode standalone application.""" + + def __init__(self, filename=None): + self.filename = filename + wx.App.__init__(self, redirect=False) + + def OnInit(self): + wx.InitAllImageHandlers() + self.frame = editor.EditorNotebookFrame(filename=self.filename) + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(filename=None): + if not filename and len(sys.argv) > 1: + filename = sys.argv[1] + if filename: + filename = os.path.realpath(filename) + app = App(filename) + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/py/PyAlaModeTest.py b/wxPython/wxPython/py/PyAlaModeTest.py new file mode 100755 index 0000000000..57b52e4524 --- /dev/null +++ b/wxPython/wxPython/py/PyAlaModeTest.py @@ -0,0 +1,42 @@ +"""PyAlaModeTest is a programmer's editor.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +import os +import sys + +import editor + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +class App(wx.App): + """PyAlaModeTest standalone application.""" + + def __init__(self, filename=None): + self.filename = filename + wx.App.__init__(self, redirect=False) + + def OnInit(self): + wx.InitAllImageHandlers() + self.frame = editor.EditorShellNotebookFrame(filename=self.filename) + self.frame.Show() + self.SetTopWindow(self.frame) + return True + +def main(filename=None): + app = App(filename) + app.MainLoop() + +if __name__ == '__main__': + filename = None + if len(sys.argv) > 1: + filename = os.path.realpath(sys.argv[1]) + main(filename) diff --git a/wxPython/wxPython/py/PyCrust.ico b/wxPython/wxPython/py/PyCrust.ico new file mode 100644 index 0000000000000000000000000000000000000000..eae6180e103f0c480023dabb654fa3cfb1202fe7 GIT binary patch literal 4710 zcmeHKUu;`f8UGn4O*-4FTL&d+igKH(s6dJ@q$3{Du$RG_7O(c&N=Y*f`-x<1tuKnS zlm*GRse}`vVIvp~h|QP34c)*OWoje-+3>Qy*-x}_9%9~jizQz6P;vO3~do^!r`_dDM`x!*5<18wkny^wUm0X)gEzQlApaD_5WtLgv#5#X=;H`-s3)U7)&Nb(uJAxYgjH^S+)9*1*;wD4QNxw^XQG8o1+GSXqoc+T3I zli@YF2IfpPyvwbTiOlAmY*JPszfJxpS(xO%k^e!i)6P1vc%%^P+oWyt$h3(>DkCEy zp3ER!*hIFtg=9Lb>Xe*KqWD%3IGsQ!VIo%%NZKXDuBNehZxdG50;aP-G7lqdAs&k( zw~|ApQUL-nAYDQ*orihDLTD<9&CM;?Z-NmZ&Jt+7^; ziHSakhgsF>(BUq4*brLehUejrww6FUANN7&Kk=Q__|Oo!(T_~_t_FD<6E&J_Dx9$Q zsDXD*-*-Qvr=(7FI@QDphlAI(h2eneqdxYiI$i5v)7nO=e<_^-9K1ebDE&d^+zBDMB7thcv={jpBInXk7N zlpRdzPN~wlt)Zcj5uJNvmmFdTRkV;Y0ohmU6qw^K(9o`~F3d{LmW4h?ds4%~yc1As zZ{5FRPAwZ2YaMqQYZW7~WT<#b$QY*VGff%^bk1FGu82m=RLfn;dsKEU3nyC9TG9_V zW2bitQ~rtWjS6(Dk{^(Tpvb_T>`s2Np^Q&8CsPTTy-7&e^Ek-{Ovfgc>>6^wa4lw`336 zh|*8IEl^l1V5?H4Uj>19?dt2N?0g*WC&=X`#jdm4m(M}6Rx%MJLtYww> z>}4DM+?Ta%A;KDDh`&P8Zz`+s4!nNa`(YI;z(l%+k)|@xiKU`u26;Z;U=5J4_ysrl z0Z)?YKVc%yeABF9l+VId8{U`+jo2hcxkZd;5QFJGd`HAXAz~q&m`K;Nv|&yYbL(erUg|)5f5>1==GISUjuN|t4v;%dWEo3hK!Y{Tv4+;& zP1tIzAe|>(yThCrqd$;<=I5UMj6r{WmU$9W=8Ckx$9G0sd$S6Q=OKQx2#tC8c~<>X zCX5?7zDMTBcOkK0mh)_}ib#UF@LbzGpNVCj6Z%GZej~(vNuCXp?=dFVwE1t4`|_J; z|C;sxhl%`W-)p;n{)_yOJkwJD@fr1Hsogov6JLZ2vKveKop|WTNebNI-_OtAKJIf% zIvx)HL5QWWi*n!XMYoT1=k}uOwr_rIX=&}{#l>)!5L7DT#piFm{`wogzV#c11Ni?K zQg2HAkH=qqEo=Scr(NeM{u$Z%^I!b(^774>R^0BzE+ISXclmh~;(OnJ-L=-*WkUsiuDJn~9pd zTwX7)udh$8i+P{>y10A=G-n-OoGrh&E>)B3lN*y88yjMD)c35wB#AN#H#Rtt!^YHw za=9$dj6eT^z{R8LHyNXc3UsEtQ7#`nIxwIKaptQk6jnn; z_#5c!6XQc&HFt=uRRg)T>> import sys + # >>> sys.app.whatever + sys.app = app + del sys + # Cleanup the main namespace some more. + if md.has_key('App') and md['App'] is App: + del md['App'] + if md.has_key('__main__') and md['__main__'] is __main__: + del md['__main__'] + # Start the wxPython event loop. + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/py/PyCrust_16.png b/wxPython/wxPython/py/PyCrust_16.png new file mode 100644 index 0000000000000000000000000000000000000000..1abc97df903a6ef1514c29149319562e214cb142 GIT binary patch literal 706 zcmV;z0zLhSP)1vF@3EO_1{ub11|3AubhOES&`k>6psaRwe5rVaL)P8`+e_w&Vm0b z_BGTD^!1!HFSOJRtnMlQLaZz%boq#FFq4dwSMNT=#kQm6(!z-P@^ke5-?*W66?5Ra z&3thK^W9C%=3SVnFOSSSJsqZ%-!J`v*xh*;gvethOas1thnd1l98~Ms-q_jwyM<8K z3ESYUwyfF|%oAn#S5mUtxwpX3aF_$ltxQc$t74T{SK;oy))J$tEWPPsOx+sR6>$XS2Y`l;jqkfWERonC}mMh zky=uin1lK4jxkD<#iT;Y@^ki70QXiqMJ^YjFyY>4ShwSe`|#k)ufur+)*UH0 zZ>iLEl6o33>>1^4GKRlMkkWKKF7VoYh&jV}pF_HOI$+iWgQTsB z{$ejxwLyHv+j7q)RzMbEy}vHma$R#SEyOcv`g-rN=_fw8dnMH0dpkET@%so*M%Hrv oidwa@sz!C%vq(bW$-~F$PXsj8B~~=~9RL6T07*qoM6N<$f&>;ui2wiq literal 0 HcmV?d00001 diff --git a/wxPython/wxPython/py/PyCrust_32.png b/wxPython/wxPython/py/PyCrust_32.png new file mode 100644 index 0000000000000000000000000000000000000000..0496f5f5156592cfe94752d8c04ba56fcef0fb78 GIT binary patch literal 1273 zcmV9(E6o9|m89LM0c<&?_x*(a?1QAWh8x{~)7={J09T!t} z$cAEq8W*-*_!ErjV4_hr)C~(vuq-r{#I#*l7A}}dh{P`12@4F6bS8mV5|gE8h?SbCCHDl^EbGkRl=^pstIAmNnay-ZM+&oF8aJn7d9~y3f{KpwEb-P$T2W3A= zB3?qq009{Ic+6(P6ej?~^lX9jv0S(xo;m}jZX?d;taBwH5ii-O;vizy?(=>-mKMr@ z!0C1v9~lV2pLi2CM;wTftz#&SN@rY{y*W*?uMZVhB$A2HWYYjE9j|h>hBRj(H8{$| z4u|ZaREy1qB{21xdGBazsyE}jWewkEK`#^maJn7xV>wK{X4VA=YCQf?l2biT=QwZ< zHVaoqM?<~VWnhgA1dcN<%$*a~c`d)cJXIqrT`kw$K zUswW`Gw4;}+_;^$Cmhm;Qx;(4?N-uV?Va3vyvVNhP5|ybUS#LCj_~>YrAlZ6v^)cd zc2+2tK}5ENx+^!9XiqqdoX;VF>A5*Bj*K9NyHX}$B!ds9!-!T!_gSw(Ybdon!hQZZ z9z3!U{!y#4JrWBc1E`(bI=H`7X#u-*y~4L+<6%ZTp*WE}g2=d-qlGN%iwDYp5&Y!j zTWi^n(RXd6+as|SsAjMWKQHp#_oK*|Y;;J)>)9il>4XyOejxxoy27G-!H!ql$p+xk z3X4SsdXmVv0%O2{_UyS4Jy1w*%&gKl$;BUnks5YE8 zHMM7VDHV;QQGlt~n(lttCHi6)3>79ryMe6Yt4V8+X=+Bh6E4yKMFmw5z5s)b%HQ~q zP+cjA%MhYCU*yj10@1q*kRKbwc_{@#VtkLGvkH8Tsgx=CfbTIenP+A;&s3=a+M~Gp zyAHpIf!6>pNunY!01p+SqCgm=RyeYV3_4_N`Cb|YaQ4_UI;j98HZ%!H5OsYT5afmcV=x346pv2Xzv3X-il{$ z{9wjMbIjbFTMc>> import sys + # >>> sys.app.whatever + sys.app = app + del sys + # Start the wxPython event loop. + app.MainLoop() + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/py/PyWrap.py b/wxPython/wxPython/py/PyWrap.py new file mode 100755 index 0000000000..4911be1ae1 --- /dev/null +++ b/wxPython/wxPython/py/PyWrap.py @@ -0,0 +1,56 @@ +"""PyWrap is a command line utility that runs a wxPython program with +additional runtime-tools, such as PyCrust.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import os +import sys +import wx +from crust import CrustFrame as Frame + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +def wrap(app): + wx.InitAllImageHandlers() + frame = Frame() + frame.SetSize((750, 525)) + frame.Show(True) + frame.shell.interp.locals['app'] = app + app.MainLoop() + + +def main(modulename=None): + sys.path.insert(0, os.curdir) + if not modulename: + if len(sys.argv) < 2: + print "Please specify a module name." + raise SystemExit + modulename = sys.argv[1] + if modulename.endswith('.py'): + modulename = modulename[:-3] + module = __import__(modulename) + # Find the App class. + App = None + d = module.__dict__ + for item in d.keys(): + try: + if issubclass(d[item], wx.App): + App = d[item] + except (NameError, TypeError): + pass + if App is None: + print "No App class found." + raise SystemExit + app = App() + wrap(app) + + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/lib/PyCrust/README.txt b/wxPython/wxPython/py/README.txt similarity index 100% rename from wxPython/wxPython/lib/PyCrust/README.txt rename to wxPython/wxPython/py/README.txt diff --git a/wxPython/wxPython/py/__init__.py b/wxPython/wxPython/py/__init__.py new file mode 100644 index 0000000000..4ae1c3a91a --- /dev/null +++ b/wxPython/wxPython/py/__init__.py @@ -0,0 +1,20 @@ +"""The py package, formerly the PyCrust package.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import buffer +import crust +import dispatcher +import document +import editor +import editwindow +import filling +import frame +import images +import interpreter +import introspect +import pseudo +import shell +import version diff --git a/wxPython/wxPython/py/buffer.py b/wxPython/wxPython/py/buffer.py new file mode 100644 index 0000000000..ebb04cc920 --- /dev/null +++ b/wxPython/wxPython/py/buffer.py @@ -0,0 +1,144 @@ +"""Buffer class.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from interpreter import Interpreter +import imp +import os +import sys + +import document + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +class Buffer: + """Buffer class.""" + + id = 0 + + def __init__(self, filename=None): + """Create a Buffer instance.""" + Buffer.id += 1 + self.id = Buffer.id + self.interp = Interpreter(locals={}) + self.name = '' + self.editors = {} + self.editor = None + self.modules = sys.modules.keys() + self.syspath = sys.path[:] + while True: + try: + self.syspath.remove('') + except ValueError: + break + while True: + try: + self.syspath.remove('.') + except ValueError: + break + self.open(filename) + + def addEditor(self, editor): + """Add an editor.""" + self.editor = editor + self.editors[editor.id] = editor + + def hasChanged(self): + """Return True if text in editor has changed since last save.""" + if self.editor: + return self.editor.hasChanged() + else: + return False + + def new(self, filepath): + """New empty buffer.""" + if not filepath: + return + if os.path.exists(filepath): + self.confirmed = self.overwriteConfirm(filepath) + else: + self.confirmed = True + + def open(self, filename): + """Open file into buffer.""" + self.doc = document.Document(filename) + self.name = self.doc.filename or ('Untitled:' + str(self.id)) + self.modulename = self.doc.filebase + # XXX This should really make sure filedir is first item in syspath. + # XXX Or maybe this should be moved to the update namespace method. + if self.doc.filedir and self.doc.filedir not in self.syspath: + # To create the proper context for updateNamespace. + self.syspath.insert(0, self.doc.filedir) + if self.doc.filepath and os.path.exists(self.doc.filepath): + self.confirmed = True + if self.editor: + text = self.doc.read() + self.editor._setBuffer(buffer=self, text=text) + + def overwriteConfirm(filepath): + """Confirm overwriting an existing file.""" + return False + + def save(self): + """Save buffer.""" + filepath = self.doc.filepath + if not filepath: + return # XXX Get filename + if not os.path.exists(filepath): + self.confirmed = True + if not self.confirmed: + self.confirmed = self.overwriteConfirm(filepath) + if self.confirmed: + self.doc.write(self.editor.getText()) + if self.editor: + self.editor.setSavePoint() + + def saveAs(self, filename): + """Save buffer.""" + self.doc = document.Document(filename) + self.name = self.doc.filename + self.modulename = self.doc.filebase + self.save() + + def updateNamespace(self): + """Update the namespace for autocompletion and calltips. + + Return True if updated, False if there was an error.""" + if not self.interp or not hasattr(self.editor, 'getText'): + return False + syspath = sys.path + sys.path = self.syspath + text = self.editor.getText() + text = text.replace('\r\n', '\n') + text = text.replace('\r', '\n') + name = self.modulename or self.name + module = imp.new_module(name) + newspace = module.__dict__.copy() + try: + try: + code = compile(text, name, 'exec') + except: + raise +# return False + try: + exec code in newspace + except: + raise +# return False + else: + # No problems, so update the namespace. + self.interp.locals.clear() + self.interp.locals.update(newspace) + return True + finally: + sys.path = syspath + for m in sys.modules.keys(): + if m not in self.modules: + del sys.modules[m] diff --git a/wxPython/wxPython/py/crust.py b/wxPython/wxPython/py/crust.py new file mode 100644 index 0000000000..c7ac81fa92 --- /dev/null +++ b/wxPython/wxPython/py/crust.py @@ -0,0 +1,221 @@ +"""Crust combines the shell and filling into one control.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +import os +import pprint +import sys + +import dispatcher +import editwindow +from filling import Filling +import frame +from shell import Shell +from version import VERSION + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +class Crust(wx.SplitterWindow): + """Crust based on SplitterWindow.""" + + name = 'Crust' + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.SP_3D, + name='Crust Window', rootObject=None, rootLabel=None, + rootIsNamespace=True, intro='', locals=None, + InterpClass=None, *args, **kwds): + """Create Crust instance.""" + wx.SplitterWindow.__init__(self, parent, id, pos, size, style, name) + self.shell = Shell(parent=self, introText=intro, + locals=locals, InterpClass=InterpClass, + *args, **kwds) + self.editor = self.shell + if rootObject is None: + rootObject = self.shell.interp.locals + self.notebook = wx.Notebook(parent=self, id=-1) + self.shell.interp.locals['notebook'] = self.notebook + self.filling = Filling(parent=self.notebook, + rootObject=rootObject, + rootLabel=rootLabel, + rootIsNamespace=rootIsNamespace) + # Add 'filling' to the interpreter's locals. + self.shell.interp.locals['filling'] = self.filling + self.notebook.AddPage(page=self.filling, text='Namespace', select=True) + self.display = Display(parent=self.notebook) + self.notebook.AddPage(page=self.display, text='Display') + # Add 'pp' (pretty print) to the interpreter's locals. + self.shell.interp.locals['pp'] = self.display.setItem + self.calltip = Calltip(parent=self.notebook) + self.notebook.AddPage(page=self.calltip, text='Calltip') + self.sessionlisting = SessionListing(parent=self.notebook) + self.notebook.AddPage(page=self.sessionlisting, text='Session') + self.dispatcherlisting = DispatcherListing(parent=self.notebook) + self.notebook.AddPage(page=self.dispatcherlisting, text='Dispatcher') + from wxd import wx_ + self.wxdocs = Filling(parent=self.notebook, + rootObject=wx_, + rootLabel='wx', + rootIsNamespace=False, + static=True) + self.notebook.AddPage(page=self.wxdocs, text='wxPython Docs') + from wxd import stc_ + self.stcdocs = Filling(parent=self.notebook, + rootObject=stc_.StyledTextCtrl, + rootLabel='StyledTextCtrl', + rootIsNamespace=False, + static=True) + self.notebook.AddPage(page=self.stcdocs, text='StyledTextCtrl Docs') + self.SplitHorizontally(self.shell, self.notebook, 300) + self.SetMinimumPaneSize(1) + + +class Display(editwindow.EditWindow): + """STC used to display an object using Pretty Print.""" + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, + style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER, + static=False): + """Create Display instance.""" + editwindow.EditWindow.__init__(self, parent, id, pos, size, style) + # Configure various defaults and user preferences. + self.SetReadOnly(True) + self.SetWrapMode(False) + if not static: + dispatcher.connect(receiver=self.push, signal='Interpreter.push') + + def push(self, command, more): + """Receiver for Interpreter.push signal.""" + self.Refresh() + + def Refresh(self): + if not hasattr(self, "item"): + return + self.SetReadOnly(False) + text = pprint.pformat(self.item) + self.SetText(text) + self.SetReadOnly(True) + + def setItem(self, item): + """Set item to pretty print in the notebook Display tab.""" + self.item = item + self.Refresh() + + +class Calltip(wx.TextCtrl): + """Text control containing the most recent shell calltip.""" + + def __init__(self, parent=None, id=-1): + style = wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_RICH2 + wx.TextCtrl.__init__(self, parent=parent, id=id, style=style) + self.SetBackgroundColour(wx.Colour(255, 255, 232)) + dispatcher.connect(receiver=self.display, signal='Shell.calltip') + + def display(self, calltip): + """Receiver for Shell.calltip signal.""" + self.SetValue(calltip) + + +class SessionListing(wx.TextCtrl): + """Text control containing all commands for session.""" + + def __init__(self, parent=None, id=-1): + style = wx.TE_MULTILINE | wx.TE_READONLY | \ + wx.TE_RICH2 | wx.TE_DONTWRAP + wx.TextCtrl.__init__(self, parent=parent, id=id, style=style) + dispatcher.connect(receiver=self.push, signal='Interpreter.push') + + def push(self, command, more): + """Receiver for Interpreter.push signal.""" + if command and not more: + self.SetInsertionPointEnd() + start, end = self.GetSelection() + if start != end: + self.SetSelection(0, 0) + self.AppendText(command + '\n') + + +class DispatcherListing(wx.TextCtrl): + """Text control containing all dispatches for session.""" + + def __init__(self, parent=None, id=-1): + style = wx.TE_MULTILINE | wx.TE_READONLY | \ + wx.TE_RICH2 | wx.TE_DONTWRAP + wx.TextCtrl.__init__(self, parent=parent, id=id, style=style) + dispatcher.connect(receiver=self.spy) + + def spy(self, signal, sender): + """Receiver for Any signal from Any sender.""" + text = '%r from %s' % (signal, sender) + self.SetInsertionPointEnd() + start, end = self.GetSelection() + if start != end: + self.SetSelection(0, 0) + self.AppendText(text + '\n') + + +class CrustFrame(frame.Frame): + """Frame containing all the PyCrust components.""" + + name = 'CrustFrame' + revision = __revision__ + + def __init__(self, parent=None, id=-1, title='PyCrust', + pos=wx.DefaultPosition, size=wx.DefaultSize, + style=wx.DEFAULT_FRAME_STYLE, + rootObject=None, rootLabel=None, rootIsNamespace=True, + locals=None, InterpClass=None, *args, **kwds): + """Create CrustFrame instance.""" + frame.Frame.__init__(self, parent, id, title, pos, size, style) + intro = 'PyCrust %s - The Flakiest Python Shell' % VERSION + intro += '\nSponsored by Orbtech - ' + intro += 'Your source for Python programming expertise.' + self.SetStatusText(intro.replace('\n', ', ')) + self.crust = Crust(parent=self, intro=intro, + rootObject=rootObject, + rootLabel=rootLabel, + rootIsNamespace=rootIsNamespace, + locals=locals, + InterpClass=InterpClass, *args, **kwds) + self.shell = self.crust.shell + # Override the filling so that status messages go to the status bar. + self.crust.filling.tree.setStatusText = self.SetStatusText + # Override the shell so that status messages go to the status bar. + self.shell.setStatusText = self.SetStatusText + # Fix a problem with the sash shrinking to nothing. + self.crust.filling.SetSashPosition(200) + # Set focus to the shell editor. + self.shell.SetFocus() + + def OnClose(self, event): + """Event handler for closing.""" + self.crust.shell.destroy() + self.Destroy() + + def OnAbout(self, event): + """Display an About window.""" + title = 'About PyCrust' + text = 'PyCrust %s\n\n' % VERSION + \ + 'Yet another Python shell, only flakier.\n\n' + \ + 'Half-baked by Patrick K. O\'Brien,\n' + \ + 'the other half is still in the oven.\n\n' + \ + 'Shell Revision: %s\n' % self.shell.revision + \ + 'Interpreter Revision: %s\n\n' % self.shell.interp.revision + \ + 'Python Version: %s\n' % sys.version.split()[0] + \ + 'wxPython Version: %s\n' % wx.VERSION_STRING + \ + 'Platform: %s\n' % sys.platform + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() diff --git a/wxPython/wxPython/lib/PyCrust/dispatcher.py b/wxPython/wxPython/py/dispatcher.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/dispatcher.py rename to wxPython/wxPython/py/dispatcher.py diff --git a/wxPython/wxPython/py/document.py b/wxPython/wxPython/py/document.py new file mode 100644 index 0000000000..7bba48cb54 --- /dev/null +++ b/wxPython/wxPython/py/document.py @@ -0,0 +1,49 @@ +"""Document class.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import os + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +class Document: + """Document class.""" + + def __init__(self, filename=None): + """Create a Document instance.""" + self.filename = filename + self.filepath = None + self.filedir = None + self.filebase = None + self.fileext = None + if self.filename: + self.filepath = os.path.realpath(self.filename) + self.filedir, self.filename = os.path.split(self.filepath) + self.filebase, self.fileext = os.path.splitext(self.filename) + + def read(self): + """Return contents of file.""" + if self.filepath and os.path.exists(self.filepath): + f = file(self.filepath, 'rb') + try: + return f.read() + finally: + f.close() + else: + return '' + + def write(self, text): + """Write text to file.""" + try: + f = file(self.filepath, 'wb') + f.write(text) + finally: + if f: + f.close() diff --git a/wxPython/wxPython/py/editor.py b/wxPython/wxPython/py/editor.py new file mode 100644 index 0000000000..72b356f31e --- /dev/null +++ b/wxPython/wxPython/py/editor.py @@ -0,0 +1,839 @@ +"""PyAlaCarte and PyAlaMode editors.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +from buffer import Buffer +import crust +import dispatcher +import editwindow +import frame +from shell import Shell +import version + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +class EditorFrame(frame.Frame): + """Frame containing one editor.""" + + def __init__(self, parent=None, id=-1, title='PyAlaCarte', + pos=wx.DefaultPosition, size=(800, 600), + style=wx.DEFAULT_FRAME_STYLE, filename=None): + """Create EditorFrame instance.""" + frame.Frame.__init__(self, parent, id, title, pos, size, style) + self.buffers = {} + self.buffer = None # Current buffer. + self.editor = None + self._defaultText = title + ' - the tastiest Python editor.' + self._statusText = self._defaultText + self.SetStatusText(self._statusText) + wx.EVT_IDLE(self, self.OnIdle) + self._setup() + if filename: + self.bufferCreate(filename) + + def _setup(self): + """Setup prior to first buffer creation. + + Useful for subclasses.""" + pass + + def setEditor(self, editor): + self.editor = editor + self.buffer = self.editor.buffer + self.buffers[self.buffer.id] = self.buffer + + def OnAbout(self, event): + """Display an About window.""" + title = 'About PyAlaCarte' + text = 'Another fine, flaky program.' + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() + + def OnClose(self, event): + """Event handler for closing.""" + for buffer in self.buffers.values(): + self.buffer = buffer + if buffer.hasChanged(): + cancel = self.bufferSuggestSave() + if cancel and event.CanVeto(): + event.Veto() + return + self.Destroy() + + def OnIdle(self, event): + """Event handler for idle time.""" + self._updateStatus() + if hasattr(self, 'notebook'): + self._updateTabText() + self._updateTitle() + event.Skip() + + def _updateStatus(self): + """Show current status information.""" + if self.editor and hasattr(self.editor, 'getStatus'): + status = self.editor.getStatus() + text = 'File: %s | Line: %d | Column: %d' % status + else: + text = self._defaultText + if text != self._statusText: + self.SetStatusText(text) + self._statusText = text + + def _updateTabText(self): + """Show current buffer information on notebook tab.""" +## suffix = ' **' +## notebook = self.notebook +## selection = notebook.GetSelection() +## if selection == -1: +## return +## text = notebook.GetPageText(selection) +## window = notebook.GetPage(selection) +## if window.editor and window.editor.buffer.hasChanged(): +## if text.endswith(suffix): +## pass +## else: +## notebook.SetPageText(selection, text + suffix) +## else: +## if text.endswith(suffix): +## notebook.SetPageText(selection, text[:len(suffix)]) + + def _updateTitle(self): + """Show current title information.""" + title = self.GetTitle() + if self.bufferHasChanged(): + if title.startswith('* '): + pass + else: + self.SetTitle('* ' + title) + else: + if title.startswith('* '): + self.SetTitle(title[2:]) + + def hasBuffer(self): + """Return True if there is a current buffer.""" + if self.buffer: + return True + else: + return False + + def bufferClose(self): + """Close buffer.""" + if self.bufferHasChanged(): + cancel = self.bufferSuggestSave() + if cancel: + return cancel + self.bufferDestroy() + cancel = False + return cancel + + def bufferCreate(self, filename=None): + """Create new buffer.""" + self.bufferDestroy() + buffer = Buffer() + self.panel = panel = wx.Panel(parent=self, id=-1) + editor = Editor(parent=panel) + panel.editor = editor + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(editor.window, 1, wx.EXPAND) + panel.SetSizer(sizer) + panel.SetAutoLayout(True) + sizer.Layout() + buffer.addEditor(editor) + buffer.open(filename) + self.setEditor(editor) + self.editor.setFocus() + + def bufferDestroy(self): + """Destroy the current buffer.""" + if self.buffer: + for editor in self.buffer.editors.values(): + editor.destroy() + self.editor = None + del self.buffers[self.buffer.id] + self.buffer = None + self.panel.Destroy() + + def bufferHasChanged(self): + """Return True if buffer has changed since last save.""" + if self.buffer: + return self.buffer.hasChanged() + else: + return False + + def bufferNew(self): + """Create new buffer.""" + if self.bufferHasChanged(): + cancel = self.bufferSuggestSave() + if cancel: + return cancel + self.bufferCreate() + cancel = False + return cancel + + def bufferOpen(self): + """Open file in buffer.""" + if self.bufferHasChanged(): + cancel = self.bufferSuggestSave() + if cancel: + return cancel + filedir = '' + if self.buffer and self.buffer.doc.filedir: + filedir = self.buffer.doc.filedir + result = openSingle(directory=filedir) + if result.path: + self.bufferCreate(result.path) + cancel = False + return cancel + +## def bufferPrint(self): +## """Print buffer.""" +## pass + +## def bufferRevert(self): +## """Revert buffer to version of file on disk.""" +## pass + + def bufferSave(self): + """Save buffer to its file.""" + if self.buffer.doc.filepath: + self.buffer.save() + cancel = False + else: + cancel = self.bufferSaveAs() + return cancel + + def bufferSaveAs(self): + """Save buffer to a new filename.""" + if self.bufferHasChanged() and self.buffer.doc.filepath: + cancel = self.bufferSuggestSave() + if cancel: + return cancel + filedir = '' + if self.buffer and self.buffer.doc.filedir: + filedir = self.buffer.doc.filedir + result = saveSingle(directory=filedir) + if result.path: + self.buffer.saveAs(result.path) + cancel = False + else: + cancel = True + return cancel + + def bufferSuggestSave(self): + """Suggest saving changes. Return True if user selected Cancel.""" + result = messageDialog(parent=None, + message='%s has changed.\n' + 'Would you like to save it first' + '?' % self.buffer.name, + title='Save current file?') + if result.positive: + cancel = self.bufferSave() + else: + cancel = result.text == 'Cancel' + return cancel + + def updateNamespace(self): + """Update the buffer namespace for autocompletion and calltips.""" + if self.buffer.updateNamespace(): + self.SetStatusText('Namespace updated') + else: + self.SetStatusText('Error executing, unable to update namespace') + + +class EditorNotebookFrame(EditorFrame): + """Frame containing one or more editors in a notebook.""" + + def __init__(self, parent=None, id=-1, title='PyAlaMode', + pos=wx.DefaultPosition, size=(800, 600), + style=wx.DEFAULT_FRAME_STYLE, filename=None): + """Create EditorNotebookFrame instance.""" + self.notebook = None + EditorFrame.__init__(self, parent, id, title, pos, + size, style, filename) + if self.notebook: + dispatcher.connect(receiver=self._editorChange, + signal='EditorChange', sender=self.notebook) + + def _setup(self): + """Setup prior to first buffer creation. + + Called automatically by base class during init.""" + self.notebook = EditorNotebook(parent=self) + intro = 'Py %s' % version.VERSION + import imp + module = imp.new_module('__main__') + import __builtin__ + module.__dict__['__builtins__'] = __builtin__ + namespace = module.__dict__.copy() + self.crust = crust.Crust(parent=self.notebook, intro=intro, locals=namespace) + self.shell = self.crust.shell + # Override the filling so that status messages go to the status bar. + self.crust.filling.tree.setStatusText = self.SetStatusText + # Override the shell so that status messages go to the status bar. + self.shell.setStatusText = self.SetStatusText + # Fix a problem with the sash shrinking to nothing. + self.crust.filling.SetSashPosition(200) + self.notebook.AddPage(page=self.crust, text='*Shell*', select=True) + self.setEditor(self.crust.editor) + self.crust.editor.SetFocus() + + def _editorChange(self, editor): + """Editor change signal receiver.""" + self.setEditor(editor) + + def OnAbout(self, event): + """Display an About window.""" + title = 'About PyAlaMode' + text = 'Another fine, flaky program.' + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() + + def _updateTitle(self): + """Show current title information.""" + pass +## title = self.GetTitle() +## if self.bufferHasChanged(): +## if title.startswith('* '): +## pass +## else: +## self.SetTitle('* ' + title) +## else: +## if title.startswith('* '): +## self.SetTitle(title[2:]) + + def bufferCreate(self, filename=None): + """Create new buffer.""" + buffer = Buffer() + panel = wx.Panel(parent=self.notebook, id=-1) + editor = Editor(parent=panel) + panel.editor = editor + sizer = wx.BoxSizer(wx.VERTICAL) + sizer.Add(editor.window, 1, wx.EXPAND) + panel.SetSizer(sizer) + panel.SetAutoLayout(True) + sizer.Layout() + buffer.addEditor(editor) + buffer.open(filename) + self.setEditor(editor) + self.notebook.AddPage(page=panel, text=self.buffer.name, select=True) + self.editor.setFocus() + + def bufferDestroy(self): + """Destroy the current buffer.""" + selection = self.notebook.GetSelection() +## print "Destroy Selection:", selection + if selection > 0: # Don't destroy the PyCrust tab. + if self.buffer: + del self.buffers[self.buffer.id] + self.buffer = None # Do this before DeletePage(). + self.notebook.DeletePage(selection) + + def bufferNew(self): + """Create new buffer.""" + self.bufferCreate() + cancel = False + return cancel + + def bufferOpen(self): + """Open file in buffer.""" + filedir = '' + if self.buffer and self.buffer.doc.filedir: + filedir = self.buffer.doc.filedir + result = openMultiple(directory=filedir) + for path in result.paths: + self.bufferCreate(path) + cancel = False + return cancel + + +class EditorNotebook(wx.Notebook): + """A notebook containing a page for each editor.""" + + def __init__(self, parent): + """Create EditorNotebook instance.""" + wx.Notebook.__init__(self, parent, id=-1) + wx.EVT_NOTEBOOK_PAGE_CHANGING(self, self.GetId(), + self.OnPageChanging) + wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), + self.OnPageChanged) + wx.EVT_IDLE(self, self.OnIdle) + + def OnIdle(self, event): + """Event handler for idle time.""" + self._updateTabText() + event.Skip() + + def _updateTabText(self): + """Show current buffer display name on all but first tab.""" + size = 3 + changed = ' **' + unchanged = ' --' + selection = self.GetSelection() + if selection < 1: + return + text = self.GetPageText(selection) + window = self.GetPage(selection) + if not window.editor: + return + if text.endswith(changed) or text.endswith(unchanged): + name = text[:-size] + else: + name = text + if name != window.editor.buffer.name: + text = window.editor.buffer.name + if window.editor.buffer.hasChanged(): + if text.endswith(changed): + text = None + elif text.endswith(unchanged): + text = text[:-size] + changed + else: + text += changed + else: + if text.endswith(changed): + text = text[:-size] + unchanged + elif text.endswith(unchanged): + text = None + else: + text += unchanged + if text is not None: + self.SetPageText(selection, text) + self.Refresh() # Needed on Win98. + + def OnPageChanging(self, event): + """Page changing event handler.""" + event.Skip() + + def OnPageChanged(self, event): + """Page changed event handler.""" + new = event.GetSelection() + window = self.GetPage(new) + dispatcher.send(signal='EditorChange', sender=self, + editor=window.editor) + window.SetFocus() + event.Skip() + + +class EditorShellNotebookFrame(EditorNotebookFrame): + """Frame containing a notebook containing EditorShellNotebooks.""" + + def __init__(self, parent=None, id=-1, title='PyAlaModeTest', + pos=wx.DefaultPosition, size=(600, 400), + style=wx.DEFAULT_FRAME_STYLE, + filename=None, singlefile=False): + """Create EditorShellNotebookFrame instance.""" + self._singlefile = singlefile + EditorNotebookFrame.__init__(self, parent, id, title, pos, + size, style, filename) + + def _setup(self): + """Setup prior to first buffer creation. + + Called automatically by base class during init.""" + if not self._singlefile: + self.notebook = EditorNotebook(parent=self) + + def OnAbout(self, event): + """Display an About window.""" + title = 'About PyAlaModePlus' + text = 'Another fine, flaky program.' + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() + + def bufferCreate(self, filename=None): + """Create new buffer.""" + if self._singlefile: + self.bufferDestroy() + notebook = EditorShellNotebook(parent=self, + filename=filename) + self.notebook = notebook + else: + notebook = EditorShellNotebook(parent=self.notebook, + filename=filename) + self.setEditor(notebook.editor) + if not self._singlefile: + self.notebook.AddPage(page=notebook, text=self.buffer.name, + select=True) + self.editor.setFocus() + + def bufferDestroy(self): + """Destroy the current buffer.""" + if self.buffer: + self.editor = None + del self.buffers[self.buffer.id] + self.buffer = None # Do this before DeletePage(). + if self._singlefile: + self.notebook.Destroy() + self.notebook = None + else: + selection = self.notebook.GetSelection() +## print "Destroy Selection:", selection + self.notebook.DeletePage(selection) + + def bufferNew(self): + """Create new buffer.""" + if self._singlefile and self.bufferHasChanged(): + cancel = self.bufferSuggestSave() + if cancel: + return cancel + self.bufferCreate() + cancel = False + return cancel + + def bufferOpen(self): + """Open file in buffer.""" + if self._singlefile and self.bufferHasChanged(): + cancel = self.bufferSuggestSave() + if cancel: + return cancel + filedir = '' + if self.buffer and self.buffer.doc.filedir: + filedir = self.buffer.doc.filedir + if self._singlefile: + result = openSingle(directory=filedir) + if result.path: + self.bufferCreate(result.path) + else: + result = openMultiple(directory=filedir) + for path in result.paths: + self.bufferCreate(path) + cancel = False + return cancel + + +class EditorShellNotebook(wx.Notebook): + """A notebook containing an editor page and a shell page.""" + + def __init__(self, parent, filename=None): + """Create EditorShellNotebook instance.""" + wx.Notebook.__init__(self, parent, id=-1) + usePanels = True + if usePanels: + editorparent = editorpanel = wx.Panel(self, -1) + shellparent = shellpanel = wx.Panel(self, -1) + else: + editorparent = self + shellparent = self + self.buffer = Buffer() + self.editor = Editor(parent=editorparent) + self.buffer.addEditor(self.editor) + self.buffer.open(filename) + self.shell = Shell(parent=shellparent, locals=self.buffer.interp.locals, + style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER) + self.buffer.interp.locals.clear() + if usePanels: + self.AddPage(page=editorpanel, text='Editor', select=True) + self.AddPage(page=shellpanel, text='Shell') + # Setup sizers + editorsizer = wx.BoxSizer(wx.VERTICAL) + editorsizer.Add(self.editor.window, 1, wx.EXPAND) + editorpanel.SetSizer(editorsizer) + editorpanel.SetAutoLayout(True) + shellsizer = wx.BoxSizer(wx.VERTICAL) + shellsizer.Add(self.shell, 1, wx.EXPAND) + shellpanel.SetSizer(shellsizer) + shellpanel.SetAutoLayout(True) + else: + self.AddPage(page=self.editor.window, text='Editor', select=True) + self.AddPage(page=self.shell, text='Shell') + self.editor.setFocus() + wx.EVT_NOTEBOOK_PAGE_CHANGED(self, self.GetId(), self.OnPageChanged) + + def OnPageChanged(self, event): + """Page changed event handler.""" + selection = event.GetSelection() + if selection == 0: + self.editor.setFocus() + else: + self.shell.SetFocus() + event.Skip() + + def SetFocus(self): + wx.Notebook.SetFocus(self) + selection = self.GetSelection() + if selection == 0: + self.editor.setFocus() + else: + self.shell.SetFocus() + + +class Editor: + """Editor having an EditWindow.""" + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, + style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER): + """Create Editor instance.""" + self.window = EditWindow(self, parent, id, pos, size, style) + self.id = self.window.GetId() + self.buffer = None + # Assign handlers for keyboard events. + wx.EVT_CHAR(self.window, self.OnChar) + wx.EVT_KEY_DOWN(self.window, self.OnKeyDown) + + def _setBuffer(self, buffer, text): + """Set the editor to a buffer. Private callback called by buffer.""" + self.buffer = buffer + self.autoCompleteKeys = buffer.interp.getAutoCompleteKeys() + self.clearAll() + self.setText(text) + self.emptyUndoBuffer() + self.setSavePoint() + + def destroy(self): + """Destroy all editor objects.""" + self.window.Destroy() + + def clearAll(self): + self.window.ClearAll() + + def emptyUndoBuffer(self): + self.window.EmptyUndoBuffer() + + def getStatus(self): + """Return (filepath, line, column) status tuple.""" + pos = self.window.GetCurrentPos() + line = self.window.LineFromPosition(pos) + 1 + col = self.window.GetColumn(pos) + if self.buffer: + name = self.buffer.doc.filepath or self.buffer.name + else: + name = '' + status = (name, line, col) + return status + + def getText(self): + """Return contents of editor.""" + return self.window.GetText() + + def hasChanged(self): + """Return True if contents have changed.""" + return self.window.GetModify() + + def setFocus(self): + """Set the input focus to the editor window.""" + self.window.SetFocus() + + def setSavePoint(self): + self.window.SetSavePoint() + + def setText(self, text): + """Set contents of editor.""" + self.window.SetText(text) + + def OnChar(self, event): + """Keypress event handler. + + Only receives an event if OnKeyDown calls event.Skip() for the + corresponding event.""" + + key = event.KeyCode() + if key in self.autoCompleteKeys: + # Usually the dot (period) key activates auto completion. + if self.window.AutoCompActive(): + self.window.AutoCompCancel() + self.window.ReplaceSelection('') + self.window.AddText(chr(key)) + text, pos = self.window.GetCurLine() + text = text[:pos] + if self.window.autoComplete: + self.autoCompleteShow(text) + elif key == ord('('): + # The left paren activates a call tip and cancels an + # active auto completion. + if self.window.AutoCompActive(): + self.window.AutoCompCancel() + self.window.ReplaceSelection('') + self.window.AddText('(') + text, pos = self.window.GetCurLine() + text = text[:pos] + self.autoCallTipShow(text) + else: + # Allow the normal event handling to take place. + event.Skip() + + def OnKeyDown(self, event): + """Key down event handler.""" + + key = event.KeyCode() + # If the auto-complete window is up let it do its thing. + if self.window.AutoCompActive(): + event.Skip() + return + controlDown = event.ControlDown() + altDown = event.AltDown() + shiftDown = event.ShiftDown() + # Let Ctrl-Alt-* get handled normally. + if controlDown and altDown: + event.Skip() + # Increase font size. + elif controlDown and key in (ord(']'),): + dispatcher.send(signal='FontIncrease') + # Decrease font size. + elif controlDown and key in (ord('['),): + dispatcher.send(signal='FontDecrease') + # Default font size. + elif controlDown and key in (ord('='),): + dispatcher.send(signal='FontDefault') + else: + event.Skip() + + def autoCompleteShow(self, command): + """Display auto-completion popup list.""" + list = self.buffer.interp.getAutoCompleteList(command, + includeMagic=self.window.autoCompleteIncludeMagic, + includeSingle=self.window.autoCompleteIncludeSingle, + includeDouble=self.window.autoCompleteIncludeDouble) + if list: + options = ' '.join(list) + offset = 0 + self.window.AutoCompShow(offset, options) + + def autoCallTipShow(self, command): + """Display argument spec and docstring in a popup window.""" + if self.window.CallTipActive(): + self.window.CallTipCancel() + (name, argspec, tip) = self.buffer.interp.getCallTip(command) + if tip: + dispatcher.send(signal='Shell.calltip', sender=self, calltip=tip) + if not self.window.autoCallTip: + return + if argspec: + startpos = self.window.GetCurrentPos() + self.window.AddText(argspec + ')') + endpos = self.window.GetCurrentPos() + self.window.SetSelection(endpos, startpos) + if tip: + curpos = self.window.GetCurrentPos() + size = len(name) + tippos = curpos - (size + 1) + fallback = curpos - self.window.GetColumn(curpos) + # In case there isn't enough room, only go back to the + # fallback. + tippos = max(tippos, fallback) + self.window.CallTipShow(tippos, tip) + self.window.CallTipSetHighlight(0, size) + + +class EditWindow(editwindow.EditWindow): + """EditWindow based on StyledTextCtrl.""" + + def __init__(self, editor, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, + style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER): + """Create EditWindow instance.""" + editwindow.EditWindow.__init__(self, parent, id, pos, size, style) + self.editor = editor + + +class DialogResults: + """DialogResults class.""" + + def __init__(self, returned): + """Create wrapper for results returned by dialog.""" + self.returned = returned + self.positive = returned in (wx.ID_OK, wx.ID_YES) + self.text = self._asString() + + + def __repr__(self): + return str(self.__dict__) + + def _asString(self): + returned = self.returned + if returned == wx.ID_OK: + return "Ok" + elif returned == wx.ID_CANCEL: + return "Cancel" + elif returned == wx.ID_YES: + return "Yes" + elif returned == wx.ID_NO: + return "No" + + +def fileDialog(parent=None, title='Open', directory='', filename='', + wildcard='All Files (*.*)|*.*', + style=wx.OPEN | wx.MULTIPLE): + """File dialog wrapper function.""" + dialog = wx.FileDialog(parent, title, directory, filename, + wildcard, style) + result = DialogResults(dialog.ShowModal()) + if result.positive: + result.paths = dialog.GetPaths() + else: + result.paths = [] + dialog.Destroy() + return result + + +def openSingle(parent=None, title='Open', directory='', filename='', + wildcard='All Files (*.*)|*.*', style=wx.OPEN): + """File dialog wrapper function.""" + dialog = wx.FileDialog(parent, title, directory, filename, + wildcard, style) + result = DialogResults(dialog.ShowModal()) + if result.positive: + result.path = dialog.GetPath() + else: + result.path = None + dialog.Destroy() + return result + + +def openMultiple(parent=None, title='Open', directory='', filename='', + wildcard='All Files (*.*)|*.*', + style=wx.OPEN | wx.MULTIPLE): + """File dialog wrapper function.""" + return fileDialog(parent, title, directory, filename, wildcard, style) + + +def saveSingle(parent=None, title='Save', directory='', filename='', + wildcard='All Files (*.*)|*.*', + style=wx.SAVE | wx.HIDE_READONLY | wx.OVERWRITE_PROMPT): + """File dialog wrapper function.""" + dialog = wx.FileDialog(parent, title, directory, filename, + wildcard, style) + result = DialogResults(dialog.ShowModal()) + if result.positive: + result.path = dialog.GetPath() + else: + result.path = None + dialog.Destroy() + return result + + +def directory(parent=None, message='Choose a directory', path='', style=0, + pos=wx.DefaultPosition, size=wx.DefaultSize): + """Dir dialog wrapper function.""" + dialog = wx.DirDialog(parent, message, path, style, pos, size) + result = DialogResults(dialog.ShowModal()) + if result.positive: + result.path = dialog.GetPath() + else: + result.path = None + dialog.Destroy() + return result + + +def messageDialog(parent=None, message='', title='Message box', + style=wx.YES_NO | wx.CANCEL | wx.CENTRE | wx.ICON_QUESTION, + pos=wx.DefaultPosition): + """Message dialog wrapper function.""" + dialog = wx.MessageDialog(parent, message, title, style, pos) + result = DialogResults(dialog.ShowModal()) + dialog.Destroy() + return result diff --git a/wxPython/wxPython/py/editwindow.py b/wxPython/wxPython/py/editwindow.py new file mode 100644 index 0000000000..cc62b12488 --- /dev/null +++ b/wxPython/wxPython/py/editwindow.py @@ -0,0 +1,199 @@ +"""EditWindow class.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx +from wx import stc + +import keyword +import os +import sys +import time + +import dispatcher +from version import VERSION + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +if wx.Platform == '__WXMSW__': + FACES = { 'times' : 'Times New Roman', + 'mono' : 'Courier New', + 'helv' : 'Lucida Console', + 'lucida' : 'Lucida Console', + 'other' : 'Comic Sans MS', + 'size' : 10, + 'lnsize' : 9, + 'backcol': '#FFFFFF', + } +else: # GTK + FACES = { 'times' : 'Times', + 'mono' : 'Courier', + 'helv' : 'Helvetica', + 'other' : 'new century schoolbook', + 'size' : 12, + 'lnsize' : 10, + 'backcol': '#FFFFFF', + } + + +class EditWindow(stc.StyledTextCtrl): + """EditWindow based on StyledTextCtrl.""" + + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER): + """Create EditWindow instance.""" + stc.StyledTextCtrl.__init__(self, parent, id, pos, size, style) + self.__config() + stc.EVT_STC_UPDATEUI(self, id, self.OnUpdateUI) + dispatcher.connect(receiver=self._fontsizer, signal='FontIncrease') + dispatcher.connect(receiver=self._fontsizer, signal='FontDecrease') + dispatcher.connect(receiver=self._fontsizer, signal='FontDefault') + + def _fontsizer(self, signal): + """Receiver for Font* signals.""" + size = self.GetZoom() + if signal == 'FontIncrease': + size += 1 + elif signal == 'FontDecrease': + size -= 1 + elif signal == 'FontDefault': + size = 0 + self.SetZoom(size) + + def __config(self): + """Configure shell based on user preferences.""" + self.SetMarginType(1, stc.STC_MARGIN_NUMBER) + self.SetMarginWidth(1, 40) + + self.SetLexer(stc.STC_LEX_PYTHON) + self.SetKeyWords(0, ' '.join(keyword.kwlist)) + + self.setStyles(FACES) + self.SetViewWhiteSpace(False) + self.SetTabWidth(4) + self.SetUseTabs(False) + # Do we want to automatically pop up command completion options? + self.autoComplete = True + self.autoCompleteIncludeMagic = True + self.autoCompleteIncludeSingle = True + self.autoCompleteIncludeDouble = True + self.autoCompleteCaseInsensitive = True + self.AutoCompSetIgnoreCase(self.autoCompleteCaseInsensitive) + self.AutoCompSetAutoHide(False) + self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`') + # Do we want to automatically pop up command argument help? + self.autoCallTip = True + self.CallTipSetBackground(wx.Colour(255, 255, 232)) + self.SetWrapMode(False) + try: + self.SetEndAtLastLine(False) + except AttributeError: + pass + + def setStyles(self, faces): + """Configure font size, typeface and color for lexer.""" + + # Default style + self.StyleSetSpec(stc.STC_STYLE_DEFAULT, + "face:%(mono)s,size:%(size)d,back:%(backcol)s" % \ + faces) + + self.StyleClearAll() + + # Built in styles + self.StyleSetSpec(stc.STC_STYLE_LINENUMBER, + "back:#C0C0C0,face:%(mono)s,size:%(lnsize)d" % faces) + self.StyleSetSpec(stc.STC_STYLE_CONTROLCHAR, + "face:%(mono)s" % faces) + self.StyleSetSpec(stc.STC_STYLE_BRACELIGHT, + "fore:#0000FF,back:#FFFF88") + self.StyleSetSpec(stc.STC_STYLE_BRACEBAD, + "fore:#FF0000,back:#FFFF88") + + # Python styles + self.StyleSetSpec(stc.STC_P_DEFAULT, + "face:%(mono)s" % faces) + self.StyleSetSpec(stc.STC_P_COMMENTLINE, + "fore:#007F00,face:%(mono)s" % faces) + self.StyleSetSpec(stc.STC_P_NUMBER, + "") + self.StyleSetSpec(stc.STC_P_STRING, + "fore:#7F007F,face:%(mono)s" % faces) + self.StyleSetSpec(stc.STC_P_CHARACTER, + "fore:#7F007F,face:%(mono)s" % faces) + self.StyleSetSpec(stc.STC_P_WORD, + "fore:#00007F,bold") + self.StyleSetSpec(stc.STC_P_TRIPLE, + "fore:#7F0000") + self.StyleSetSpec(stc.STC_P_TRIPLEDOUBLE, + "fore:#000033,back:#FFFFE8") + self.StyleSetSpec(stc.STC_P_CLASSNAME, + "fore:#0000FF,bold") + self.StyleSetSpec(stc.STC_P_DEFNAME, + "fore:#007F7F,bold") + self.StyleSetSpec(stc.STC_P_OPERATOR, + "") + self.StyleSetSpec(stc.STC_P_IDENTIFIER, + "") + self.StyleSetSpec(stc.STC_P_COMMENTBLOCK, + "fore:#7F7F7F") + self.StyleSetSpec(stc.STC_P_STRINGEOL, + "fore:#000000,face:%(mono)s,back:#E0C0E0,eolfilled" % faces) + + def OnUpdateUI(self, event): + """Check for matching braces.""" + # If the auto-complete window is up let it do its thing. + if self.AutoCompActive() or self.CallTipActive(): + return + braceAtCaret = -1 + braceOpposite = -1 + charBefore = None + caretPos = self.GetCurrentPos() + if caretPos > 0: + charBefore = self.GetCharAt(caretPos - 1) + styleBefore = self.GetStyleAt(caretPos - 1) + + # Check before. + if charBefore and chr(charBefore) in '[]{}()' \ + and styleBefore == stc.STC_P_OPERATOR: + braceAtCaret = caretPos - 1 + + # Check after. + if braceAtCaret < 0: + charAfter = self.GetCharAt(caretPos) + styleAfter = self.GetStyleAt(caretPos) + if charAfter and chr(charAfter) in '[]{}()' \ + and styleAfter == stc.STC_P_OPERATOR: + braceAtCaret = caretPos + + if braceAtCaret >= 0: + braceOpposite = self.BraceMatch(braceAtCaret) + + if braceAtCaret != -1 and braceOpposite == -1: + self.BraceBadLight(braceAtCaret) + else: + self.BraceHighlight(braceAtCaret, braceOpposite) + + def CanCopy(self): + """Return True if text is selected and can be copied.""" + return self.GetSelectionStart() != self.GetSelectionEnd() + + def CanCut(self): + """Return True if text is selected and can be cut.""" + return self.CanCopy() and self.CanEdit() + + def CanEdit(self): + """Return True if editing should succeed.""" + return not self.GetReadOnly() + + def CanPaste(self): + """Return True if pasting should succeed.""" + return stc.StyledTextCtrl.CanPaste(self) and self.CanEdit() diff --git a/wxPython/wxPython/py/filling.py b/wxPython/wxPython/py/filling.py new file mode 100644 index 0000000000..0a4b701465 --- /dev/null +++ b/wxPython/wxPython/py/filling.py @@ -0,0 +1,337 @@ +"""Filling is the gui tree control through which a user can navigate +the local namespace or any object.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx + +import dispatcher +import editwindow +import inspect +import introspect +import keyword +import sys +import types +from version import VERSION + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +COMMONTYPES = [getattr(types, t) for t in dir(types) \ + if not t.startswith('_') \ + and t not in ('ClassType', 'InstanceType', 'ModuleType')] + +DOCTYPES = ('BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', + 'FunctionType', 'GeneratorType', 'InstanceType', + 'LambdaType', 'MethodType', 'ModuleType', + 'UnboundMethodType', 'method-wrapper') + +SIMPLETYPES = [getattr(types, t) for t in dir(types) \ + if not t.startswith('_') and t not in DOCTYPES] + +del t + +try: + COMMONTYPES.append(type(''.__repr__)) # Method-wrapper in version 2.2.x. +except AttributeError: + pass + + +class FillingTree(wx.TreeCtrl): + """FillingTree based on TreeCtrl.""" + + name = 'Filling Tree' + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.TR_DEFAULT_STYLE, + rootObject=None, rootLabel=None, rootIsNamespace=False, + static=False): + """Create FillingTree instance.""" + wx.TreeCtrl.__init__(self, parent, id, pos, size, style) + self.rootIsNamespace = rootIsNamespace + import __main__ + if rootObject is None: + rootObject = __main__.__dict__ + self.rootIsNamespace = True + if rootObject is __main__.__dict__ and rootLabel is None: + rootLabel = 'locals()' + if not rootLabel: + rootLabel = 'Ingredients' + rootData = wx.TreeItemData(rootObject) + self.item = self.root = self.AddRoot(rootLabel, -1, -1, rootData) + self.SetItemHasChildren(self.root, self.objHasChildren(rootObject)) + wx.EVT_TREE_ITEM_EXPANDING(self, self.GetId(), self.OnItemExpanding) + wx.EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemCollapsed) + wx.EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) + wx.EVT_TREE_ITEM_ACTIVATED(self, self.GetId(), self.OnItemActivated) + if not static: + dispatcher.connect(receiver=self.push, signal='Interpreter.push') + + def push(self, command, more): + """Receiver for Interpreter.push signal.""" + self.display() + + def OnItemExpanding(self, event): + """Add children to the item.""" + busy = wx.BusyCursor() + item = event.GetItem() + if self.IsExpanded(item): + return + self.addChildren(item) +# self.SelectItem(item) + + def OnItemCollapsed(self, event): + """Remove all children from the item.""" + busy = wx.BusyCursor() + item = event.GetItem() +# self.CollapseAndReset(item) +# self.DeleteChildren(item) +# self.SelectItem(item) + + def OnSelChanged(self, event): + """Display information about the item.""" + busy = wx.BusyCursor() + self.item = event.GetItem() + self.display() + + def OnItemActivated(self, event): + """Launch a DirFrame.""" + item = event.GetItem() + text = self.getFullName(item) + obj = self.GetPyData(item) + frame = FillingFrame(parent=self, size=(600, 100), rootObject=obj, + rootLabel=text, rootIsNamespace=False) + frame.Show() + + def objHasChildren(self, obj): + """Return true if object has children.""" + if self.objGetChildren(obj): + return True + else: + return False + + def objGetChildren(self, obj): + """Return dictionary with attributes or contents of object.""" + busy = wx.BusyCursor() + otype = type(obj) + if otype is types.DictType \ + or str(otype)[17:23] == 'BTrees' and hasattr(obj, 'keys'): + return obj + d = {} + if otype is types.ListType or otype is types.TupleType: + for n in range(len(obj)): + key = '[' + str(n) + ']' + d[key] = obj[n] + if otype not in COMMONTYPES: + for key in introspect.getAttributeNames(obj): + # Believe it or not, some attributes can disappear, + # such as the exc_traceback attribute of the sys + # module. So this is nested in a try block. + try: + d[key] = getattr(obj, key) + except: + pass + return d + + def addChildren(self, item): + self.DeleteChildren(item) + obj = self.GetPyData(item) + children = self.objGetChildren(obj) + if not children: + return + keys = children.keys() + keys.sort(lambda x, y: cmp(str(x).lower(), str(y).lower())) + for key in keys: + itemtext = str(key) + # Show string dictionary items with single quotes, except + # for the first level of items, if they represent a + # namespace. + if type(obj) is types.DictType \ + and type(key) is types.StringType \ + and (item != self.root \ + or (item == self.root and not self.rootIsNamespace)): + itemtext = repr(key) + child = children[key] + data = wx.TreeItemData(child) + branch = self.AppendItem(parent=item, text=itemtext, data=data) + self.SetItemHasChildren(branch, self.objHasChildren(child)) + + def display(self): + item = self.item + if self.IsExpanded(item): + self.addChildren(item) + self.setText('') + obj = self.GetPyData(item) + if wx.Platform == '__WXMSW__': + if obj is None: # Windows bug fix. + return + self.SetItemHasChildren(item, self.objHasChildren(obj)) + otype = type(obj) + text = '' + text += self.getFullName(item) + text += '\n\nType: ' + str(otype) + try: + value = str(obj) + except: + value = '' + if otype is types.StringType or otype is types.UnicodeType: + value = repr(obj) + text += '\n\nValue: ' + value + if otype not in SIMPLETYPES: + try: + text += '\n\nDocstring:\n\n"""' + \ + inspect.getdoc(obj).strip() + '"""' + except: + pass + if otype is types.InstanceType: + try: + text += '\n\nClass Definition:\n\n' + \ + inspect.getsource(obj.__class__) + except: + pass + else: + try: + text += '\n\nSource Code:\n\n' + \ + inspect.getsource(obj) + except: + pass + self.setText(text) + + def getFullName(self, item, partial=''): + """Return a syntactically proper name for item.""" + name = self.GetItemText(item) + parent = None + obj = None + if item != self.root: + parent = self.GetItemParent(item) + obj = self.GetPyData(parent) + # Apply dictionary syntax to dictionary items, except the root + # and first level children of a namepace. + if (type(obj) is types.DictType \ + or str(type(obj))[17:23] == 'BTrees' \ + and hasattr(obj, 'keys')) \ + and ((item != self.root and parent != self.root) \ + or (parent == self.root and not self.rootIsNamespace)): + name = '[' + name + ']' + # Apply dot syntax to multipart names. + if partial: + if partial[0] == '[': + name += partial + else: + name += '.' + partial + # Repeat for everything but the root item + # and first level children of a namespace. + if (item != self.root and parent != self.root) \ + or (parent == self.root and not self.rootIsNamespace): + name = self.getFullName(parent, partial=name) + return name + + def setText(self, text): + """Display information about the current selection.""" + + # This method will likely be replaced by the enclosing app to + # do something more interesting, like write to a text control. + print text + + def setStatusText(self, text): + """Display status information.""" + + # This method will likely be replaced by the enclosing app to + # do something more interesting, like write to a status bar. + print text + + +class FillingText(editwindow.EditWindow): + """FillingText based on StyledTextCtrl.""" + + name = 'Filling Text' + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.CLIP_CHILDREN, + static=False): + """Create FillingText instance.""" + editwindow.EditWindow.__init__(self, parent, id, pos, size, style) + # Configure various defaults and user preferences. + self.SetReadOnly(True) + self.SetWrapMode(True) + self.SetMarginWidth(1, 0) + if not static: + dispatcher.connect(receiver=self.push, signal='Interpreter.push') + + def push(self, command, more): + """Receiver for Interpreter.push signal.""" + self.Refresh() + + def SetText(self, *args, **kwds): + self.SetReadOnly(False) + editwindow.EditWindow.SetText(self, *args, **kwds) + self.SetReadOnly(True) + + +class Filling(wx.SplitterWindow): + """Filling based on wxSplitterWindow.""" + + name = 'Filling' + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.SP_3D, + name='Filling Window', rootObject=None, + rootLabel=None, rootIsNamespace=False, static=False): + """Create a Filling instance.""" + wx.SplitterWindow.__init__(self, parent, id, pos, size, style, name) + self.tree = FillingTree(parent=self, rootObject=rootObject, + rootLabel=rootLabel, + rootIsNamespace=rootIsNamespace, + static=static) + self.text = FillingText(parent=self, static=static) + self.SplitVertically(self.tree, self.text, 130) + self.SetMinimumPaneSize(1) + # Override the filling so that descriptions go to FillingText. + self.tree.setText = self.text.SetText + # Display the root item. +## self.tree.SelectItem(self.tree.root) + self.tree.display() + + +class FillingFrame(wx.Frame): + """Frame containing the namespace tree component.""" + + name = 'Filling Frame' + revision = __revision__ + + def __init__(self, parent=None, id=-1, title='PyFilling', + pos=wx.DefaultPosition, size=(600, 400), + style=wx.DEFAULT_FRAME_STYLE, rootObject=None, + rootLabel=None, rootIsNamespace=False, static=False): + """Create FillingFrame instance.""" + wx.Frame.__init__(self, parent, id, title, pos, size, style) + intro = 'PyFilling - The Tastiest Namespace Inspector' + self.CreateStatusBar() + self.SetStatusText(intro) + import images + self.SetIcon(images.getPyIcon()) + self.filling = Filling(parent=self, rootObject=rootObject, + rootLabel=rootLabel, + rootIsNamespace=rootIsNamespace, + static=static) + # Override so that status messages go to the status bar. + self.filling.tree.setStatusText = self.SetStatusText + + +class App(wx.App): + """PyFilling standalone application.""" + + def OnInit(self): + wx.InitAllImageHandlers() + self.fillingFrame = FillingFrame() + self.fillingFrame.Show(True) + self.SetTopWindow(self.fillingFrame) + return True diff --git a/wxPython/wxPython/py/frame.py b/wxPython/wxPython/py/frame.py new file mode 100644 index 0000000000..74b85b34fd --- /dev/null +++ b/wxPython/wxPython/py/frame.py @@ -0,0 +1,348 @@ +"""Base frame with menu.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx +from version import VERSION + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +ID_NEW = wx.ID_NEW +ID_OPEN = wx.ID_OPEN +ID_REVERT = wx.ID_REVERT +ID_CLOSE = wx.ID_CLOSE +ID_SAVE = wx.ID_SAVE +ID_SAVEAS = wx.ID_SAVEAS +ID_PRINT = wx.ID_PRINT +ID_EXIT = wx.ID_EXIT +ID_UNDO = wx.ID_UNDO +ID_REDO = wx.ID_REDO +ID_CUT = wx.ID_CUT +ID_COPY = wx.ID_COPY +ID_PASTE = wx.ID_PASTE +ID_CLEAR = wx.ID_CLEAR +ID_SELECTALL = wx.ID_SELECTALL +ID_ABOUT = wx.ID_ABOUT +ID_AUTOCOMP = wx.NewId() +ID_AUTOCOMP_SHOW = wx.NewId() +ID_AUTOCOMP_MAGIC = wx.NewId() +ID_AUTOCOMP_SINGLE = wx.NewId() +ID_AUTOCOMP_DOUBLE = wx.NewId() +ID_CALLTIPS = wx.NewId() +ID_CALLTIPS_SHOW = wx.NewId() +ID_COPY_PLUS = wx.NewId() +ID_NAMESPACE = wx.NewId() +ID_PASTE_PLUS = wx.NewId() +ID_WRAP = wx.NewId() + + +class Frame(wx.Frame): + """Frame with standard menu items.""" + + revision = __revision__ + + def __init__(self, parent=None, id=-1, title='Editor', + pos=wx.DefaultPosition, size=wx.DefaultSize, + style=wx.DEFAULT_FRAME_STYLE): + """Create a Frame instance.""" + wx.Frame.__init__(self, parent, id, title, pos, size, style) + self.CreateStatusBar() + self.SetStatusText('Frame') + import images + self.SetIcon(images.getPyIcon()) + self.__createMenus() + wx.EVT_CLOSE(self, self.OnClose) + + def OnClose(self, event): + """Event handler for closing.""" + self.Destroy() + + def __createMenus(self): + m = self.fileMenu = wx.Menu() + m.Append(ID_NEW, '&New \tCtrl+N', + 'New file') + m.Append(ID_OPEN, '&Open... \tCtrl+O', + 'Open file') + m.AppendSeparator() + m.Append(ID_REVERT, '&Revert \tCtrl+R', + 'Revert to last saved version') + m.Append(ID_CLOSE, '&Close \tCtrl+W', + 'Close file') + m.AppendSeparator() + m.Append(ID_SAVE, '&Save... \tCtrl+S', + 'Save file') + m.Append(ID_SAVEAS, 'Save &As \tShift+Ctrl+S', + 'Save file with new name') + m.AppendSeparator() + m.Append(ID_PRINT, '&Print... \tCtrl+P', + 'Print file') + m.AppendSeparator() + m.Append(ID_NAMESPACE, '&Update Namespace \tShift+Ctrl+N', + 'Update namespace for autocompletion and calltips') + m.AppendSeparator() + m.Append(ID_EXIT, 'E&xit', 'Exit Program') + + m = self.editMenu = wx.Menu() + m.Append(ID_UNDO, '&Undo \tCtrl+Z', + 'Undo the last action') + m.Append(ID_REDO, '&Redo \tCtrl+Y', + 'Redo the last undone action') + m.AppendSeparator() + m.Append(ID_CUT, 'Cu&t \tCtrl+X', + 'Cut the selection') + m.Append(ID_COPY, '&Copy \tCtrl+C', + 'Copy the selection') + m.Append(ID_COPY_PLUS, 'Cop&y Plus \tShift+Ctrl+C', + 'Copy the selection - retaining prompts') + m.Append(ID_PASTE, '&Paste \tCtrl+V', 'Paste from clipboard') + m.Append(ID_PASTE_PLUS, 'Past&e Plus \tShift+Ctrl+V', + 'Paste and run commands') + m.AppendSeparator() + m.Append(ID_CLEAR, 'Cle&ar', + 'Delete the selection') + m.Append(ID_SELECTALL, 'Select A&ll \tCtrl+A', + 'Select all text') + + m = self.autocompMenu = wx.Menu() + m.Append(ID_AUTOCOMP_SHOW, 'Show Auto Completion', + 'Show auto completion list', 1) + m.Append(ID_AUTOCOMP_MAGIC, 'Include Magic Attributes', + 'Include attributes visible to __getattr__ and __setattr__', + 1) + m.Append(ID_AUTOCOMP_SINGLE, 'Include Single Underscores', + 'Include attibutes prefixed by a single underscore', 1) + m.Append(ID_AUTOCOMP_DOUBLE, 'Include Double Underscores', + 'Include attibutes prefixed by a double underscore', 1) + + m = self.calltipsMenu = wx.Menu() + m.Append(ID_CALLTIPS_SHOW, 'Show Call Tips', + 'Show call tips with argument signature and docstring', 1) + + m = self.optionsMenu = wx.Menu() + m.AppendMenu(ID_AUTOCOMP, '&Auto Completion', self.autocompMenu, + 'Auto Completion Options') + m.AppendMenu(ID_CALLTIPS, '&Call Tips', self.calltipsMenu, + 'Call Tip Options') + m.Append(ID_WRAP, '&Wrap Lines', + 'Wrap lines at right edge', 1) + + m = self.helpMenu = wx.Menu() + m.AppendSeparator() + m.Append(ID_ABOUT, '&About...', 'About this program') + + b = self.menuBar = wx.MenuBar() + b.Append(self.fileMenu, '&File') + b.Append(self.editMenu, '&Edit') + b.Append(self.optionsMenu, '&Options') + b.Append(self.helpMenu, '&Help') + self.SetMenuBar(b) + + wx.EVT_MENU(self, ID_NEW, self.OnFileNew) + wx.EVT_MENU(self, ID_OPEN, self.OnFileOpen) + wx.EVT_MENU(self, ID_REVERT, self.OnFileRevert) + wx.EVT_MENU(self, ID_CLOSE, self.OnFileClose) + wx.EVT_MENU(self, ID_SAVE, self.OnFileSave) + wx.EVT_MENU(self, ID_SAVEAS, self.OnFileSaveAs) + wx.EVT_MENU(self, ID_NAMESPACE, self.OnFileUpdateNamespace) + wx.EVT_MENU(self, ID_PRINT, self.OnFilePrint) + wx.EVT_MENU(self, ID_EXIT, self.OnExit) + wx.EVT_MENU(self, ID_UNDO, self.OnUndo) + wx.EVT_MENU(self, ID_REDO, self.OnRedo) + wx.EVT_MENU(self, ID_CUT, self.OnCut) + wx.EVT_MENU(self, ID_COPY, self.OnCopy) + wx.EVT_MENU(self, ID_COPY_PLUS, self.OnCopyPlus) + wx.EVT_MENU(self, ID_PASTE, self.OnPaste) + wx.EVT_MENU(self, ID_PASTE_PLUS, self.OnPastePlus) + wx.EVT_MENU(self, ID_CLEAR, self.OnClear) + wx.EVT_MENU(self, ID_SELECTALL, self.OnSelectAll) + wx.EVT_MENU(self, ID_ABOUT, self.OnAbout) + wx.EVT_MENU(self, ID_AUTOCOMP_SHOW, self.OnAutoCompleteShow) + wx.EVT_MENU(self, ID_AUTOCOMP_MAGIC, self.OnAutoCompleteMagic) + wx.EVT_MENU(self, ID_AUTOCOMP_SINGLE, self.OnAutoCompleteSingle) + wx.EVT_MENU(self, ID_AUTOCOMP_DOUBLE, self.OnAutoCompleteDouble) + wx.EVT_MENU(self, ID_CALLTIPS_SHOW, self.OnCallTipsShow) + wx.EVT_MENU(self, ID_WRAP, self.OnWrap) + + wx.EVT_UPDATE_UI(self, ID_NEW, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_OPEN, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_REVERT, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_CLOSE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_SAVE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_SAVEAS, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_NAMESPACE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_PRINT, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_UNDO, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_REDO, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_CUT, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_COPY, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_COPY_PLUS, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_PASTE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_PASTE_PLUS, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_CLEAR, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_SELECTALL, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_SHOW, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_MAGIC, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_SINGLE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_DOUBLE, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_CALLTIPS_SHOW, self.OnUpdateMenu) + wx.EVT_UPDATE_UI(self, ID_WRAP, self.OnUpdateMenu) + + def OnFileNew(self, event): + self.bufferNew() + + def OnFileOpen(self, event): + self.bufferOpen() + + def OnFileRevert(self, event): + self.bufferRevert() + + def OnFileClose(self, event): + self.bufferClose() + + def OnFileSave(self, event): + self.bufferSave() + + def OnFileSaveAs(self, event): + self.bufferSaveAs() + + def OnFileUpdateNamespace(self, event): + self.updateNamespace() + + def OnFilePrint(self, event): + self.bufferPrint() + + def OnExit(self, event): + self.Close(False) + + def OnUndo(self, event): + win = wx.Window_FindFocus() + win.Undo() + + def OnRedo(self, event): + win = wx.Window_FindFocus() + win.Redo() + + def OnCut(self, event): + win = wx.Window_FindFocus() + win.Cut() + + def OnCopy(self, event): + win = wx.Window_FindFocus() + win.Copy() + + def OnCopyPlus(self, event): + win = wx.Window_FindFocus() + win.CopyWithPrompts() + + def OnPaste(self, event): + win = wx.Window_FindFocus() + win.Paste() + + def OnPastePlus(self, event): + win = wx.Window_FindFocus() + win.PasteAndRun() + + def OnClear(self, event): + win = wx.Window_FindFocus() + win.Clear() + + def OnSelectAll(self, event): + win = wx.Window_FindFocus() + win.SelectAll() + + def OnAbout(self, event): + """Display an About window.""" + title = 'About' + text = 'Your message here.' + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() + + def OnAutoCompleteShow(self, event): + win = wx.Window_FindFocus() + win.autoComplete = event.IsChecked() + + def OnAutoCompleteMagic(self, event): + win = wx.Window_FindFocus() + win.autoCompleteIncludeMagic = event.IsChecked() + + def OnAutoCompleteSingle(self, event): + win = wx.Window_FindFocus() + win.autoCompleteIncludeSingle = event.IsChecked() + + def OnAutoCompleteDouble(self, event): + win = wx.Window_FindFocus() + win.autoCompleteIncludeDouble = event.IsChecked() + + def OnCallTipsShow(self, event): + win = wx.Window_FindFocus() + win.autoCallTip = event.IsChecked() + + def OnWrap(self, event): + win = wx.Window_FindFocus() + win.SetWrapMode(event.IsChecked()) + + def OnUpdateMenu(self, event): + """Update menu items based on current status and context.""" + win = wx.Window_FindFocus() + id = event.GetId() + event.Enable(True) + try: + if id == ID_NEW: + event.Enable(hasattr(self, 'bufferNew')) + elif id == ID_OPEN: + event.Enable(hasattr(self, 'bufferOpen')) + elif id == ID_REVERT: + event.Enable(hasattr(self, 'bufferRevert') and self.hasBuffer()) + elif id == ID_CLOSE: + event.Enable(hasattr(self, 'bufferClose') and self.hasBuffer()) + elif id == ID_SAVE: + event.Enable(hasattr(self, 'bufferSave') and self.bufferHasChanged()) + elif id == ID_SAVEAS: + event.Enable(hasattr(self, 'bufferSaveAs') and self.hasBuffer()) + elif id == ID_NAMESPACE: + event.Enable(hasattr(self, 'updateNamespace') and self.hasBuffer()) + elif id == ID_PRINT: + event.Enable(hasattr(self, 'bufferPrint') and self.hasBuffer()) + elif id == ID_UNDO: + event.Enable(win.CanUndo()) + elif id == ID_REDO: + event.Enable(win.CanRedo()) + elif id == ID_CUT: + event.Enable(win.CanCut()) + elif id == ID_COPY: + event.Enable(win.CanCopy()) + elif id == ID_COPY_PLUS: + event.Enable(win.CanCopy() and hasattr(win, 'CopyWithPrompts')) + elif id == ID_PASTE: + event.Enable(win.CanPaste()) + elif id == ID_PASTE_PLUS: + event.Enable(win.CanPaste() and hasattr(win, 'PasteAndRun')) + elif id == ID_CLEAR: + event.Enable(win.CanCut()) + elif id == ID_SELECTALL: + event.Enable(hasattr(win, 'SelectAll')) + elif id == ID_AUTOCOMP_SHOW: + event.Check(win.autoComplete) + elif id == ID_AUTOCOMP_MAGIC: + event.Check(win.autoCompleteIncludeMagic) + elif id == ID_AUTOCOMP_SINGLE: + event.Check(win.autoCompleteIncludeSingle) + elif id == ID_AUTOCOMP_DOUBLE: + event.Check(win.autoCompleteIncludeDouble) + elif id == ID_CALLTIPS_SHOW: + event.Check(win.autoCallTip) + elif id == ID_WRAP: + event.Check(win.GetWrapMode()) + else: + event.Enable(False) + except AttributeError: + # This menu option is not supported in the current context. + event.Enable(False) diff --git a/wxPython/wxPython/lib/PyCrust/images.py b/wxPython/wxPython/py/images.py similarity index 87% rename from wxPython/wxPython/lib/PyCrust/images.py rename to wxPython/wxPython/py/images.py index 375e2004fd..4eba169368 100644 --- a/wxPython/wxPython/lib/PyCrust/images.py +++ b/wxPython/wxPython/py/images.py @@ -1,12 +1,26 @@ -#---------------------------------------------------------------------- -# This file was generated by ../scripts/img2py -# -from wxPython.wx import wxImageFromStream, wxBitmapFromImage -from wxPython.wx import wxEmptyIcon +"""Support for icons.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import wx import cStringIO -def getPyCrustData(): +def getPyIcon(): + icon = wx.EmptyIcon() + icon.CopyFromBitmap(getPyBitmap()) + return icon + +def getPyBitmap(): + return wx.BitmapFromImage(getPyImage()) + +def getPyImage(): + stream = cStringIO.StringIO(getPyData()) + return wx.ImageFromStream(stream) + +def getPyData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\ \x00\x00szz\xf4\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x04\ @@ -56,16 +70,3 @@ N\xba\xb3\xab\x87\xfb\x8f\x97\xd8\xd9\xd5\x03\xc0\xfd\xc7K\xec\xd8\xd6\xdd\ \x8f\xdb\xbel\x8e\xa1S\xc7\xda\xc6\xe6\xee\xccs\xe9\xdcYnV\x95\xd8\xf2?&q+\ \x9c\x1b1\xf3\xbf\xcd3{\xfdJ\xdb\xf8\xde\xfd\x19.\\\xad\x08\x80\xbf\x01\xd1\ \x86\xfa\x8b\xc7\xc0\xc8\xb7\x00\x00\x00\x00IEND\xaeB`\x82' - -def getPyCrustBitmap(): - return wxBitmapFromImage(getPyCrustImage()) - -def getPyCrustImage(): - stream = cStringIO.StringIO(getPyCrustData()) - return wxImageFromStream(stream) - -def getPyCrustIcon(): - icon = wxEmptyIcon() - icon.CopyFromBitmap(getPyCrustBitmap()) - return icon - diff --git a/wxPython/wxPython/lib/PyCrust/interpreter.py b/wxPython/wxPython/py/interpreter.py similarity index 96% rename from wxPython/wxPython/lib/PyCrust/interpreter.py rename to wxPython/wxPython/py/interpreter.py index 07caaafc84..426b0b966f 100644 --- a/wxPython/wxPython/lib/PyCrust/interpreter.py +++ b/wxPython/wxPython/py/interpreter.py @@ -1,4 +1,4 @@ -"""PyCrust Interpreter executes Python commands.""" +"""Interpreter executes Python commands.""" __author__ = "Patrick K. O'Brien " __cvsid__ = "$Id$" @@ -18,7 +18,7 @@ except NameError: class Interpreter(InteractiveInterpreter): - """PyCrust Interpreter based on code.InteractiveInterpreter.""" + """Interpreter based on code.InteractiveInterpreter.""" revision = __revision__ @@ -112,7 +112,7 @@ class Interpreter(InteractiveInterpreter): class InterpreterAlaCarte(Interpreter): - """PyCrustAlaCarte Demo Interpreter.""" + """Demo Interpreter.""" def __init__(self, locals, rawin, stdin, stdout, stderr, ps1='main prompt', ps2='continuation prompt'): diff --git a/wxPython/wxPython/lib/PyCrust/introspect.py b/wxPython/wxPython/py/introspect.py similarity index 96% rename from wxPython/wxPython/lib/PyCrust/introspect.py rename to wxPython/wxPython/py/introspect.py index 482464735d..3bdff3a460 100644 --- a/wxPython/wxPython/lib/PyCrust/introspect.py +++ b/wxPython/wxPython/py/introspect.py @@ -9,6 +9,7 @@ from __future__ import nested_scopes import cStringIO import inspect +import sys import tokenize import types @@ -173,7 +174,10 @@ def getCallTip(command='', locals=None): tip1 = name + argspec doc = '' if callable(object): - doc = inspect.getdoc(object) + try: + doc = inspect.getdoc(object) + except: + pass if doc: # tip2 is the first separated line of the docstring, like: # "Return call tip text for a command." @@ -200,6 +204,10 @@ def getRoot(command, terminator=None): effects. The command would normally terminate with a '(' or '.'. The terminator and anything after the terminator will be dropped.""" + command = command.split('\n')[-1] + if command.startswith(sys.ps2): + command = command[len(sys.ps2):] + command = command.lstrip() command = rtrimTerminus(command, terminator) tokens = getTokens(command) if not tokens: @@ -207,13 +215,17 @@ def getRoot(command, terminator=None): if tokens[-1][0] is tokenize.ENDMARKER: # Remove the end marker. del tokens[-1] + if not tokens: + return '' if terminator == '.' and \ (tokens[-1][1] <> '.' or tokens[-1][0] is not tokenize.OP): # Trap decimals in numbers, versus the dot operator. return '' else: # Strip off the terminator. - command = command[:-1] + if terminator and command.endswith(terminator): + size = 0 - len(terminator) + command = command[:size] command = command.rstrip() tokens = getTokens(command) tokens.reverse() @@ -293,7 +305,7 @@ def getTokens(command): return tokens def rtrimTerminus(command, terminator=None): - """Return command minus anything that fillows the final terminator.""" + """Return command minus anything that follows the final terminator.""" if terminator: pieces = command.split(terminator) if len(pieces) > 1: diff --git a/wxPython/wxPython/lib/PyCrust/pseudo.py b/wxPython/wxPython/py/pseudo.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/pseudo.py rename to wxPython/wxPython/py/pseudo.py diff --git a/wxPython/wxPython/py/shell.py b/wxPython/wxPython/py/shell.py new file mode 100644 index 0000000000..6c87ab6e76 --- /dev/null +++ b/wxPython/wxPython/py/shell.py @@ -0,0 +1,1039 @@ +"""Shell is an interactive text control in which a user types in +commands to be sent to the interpreter. This particular shell is +based on wxPython's wxStyledTextCtrl. + +Sponsored by Orbtech - Your source for Python programming expertise.""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +from wxd.d_wx import wx +from wxd.d_stc import stc + +import wx + +import keyword +import os +import sys +import time + +from buffer import Buffer +import dispatcher +import editwindow +import frame +from pseudo import PseudoFileIn +from pseudo import PseudoFileOut +from pseudo import PseudoFileErr +from version import VERSION + +try: + True +except NameError: + True = 1==1 + False = 1==0 + +sys.ps3 = '<-- ' # Input prompt. + +NAVKEYS = (wx.WXK_END, wx.WXK_LEFT, wx.WXK_RIGHT, + wx.WXK_UP, wx.WXK_DOWN, wx.WXK_PRIOR, wx.WXK_NEXT) + + +class ShellFrame(frame.Frame): + """Frame containing the shell component.""" + + name = 'Shell Frame' + revision = __revision__ + + def __init__(self, parent=None, id=-1, title='PyShell', + pos=wx.DefaultPosition, size=wx.DefaultSize, + style=wx.DEFAULT_FRAME_STYLE, locals=None, + InterpClass=None, *args, **kwds): + """Create ShellFrame instance.""" + frame.Frame.__init__(self, parent, id, title, pos, size, style) + intro = 'PyShell %s - The Flakiest Python Shell' % VERSION + intro += '\nSponsored by Orbtech - ' + \ + 'Your source for Python programming expertise.' + self.SetStatusText(intro.replace('\n', ', ')) + self.shell = Shell(parent=self, id=-1, introText=intro, + locals=locals, InterpClass=InterpClass, + *args, **kwds) + # Override the shell so that status messages go to the status bar. + self.shell.setStatusText = self.SetStatusText + + def OnClose(self, event): + """Event handler for closing.""" + # This isn't working the way I want, but I'll leave it for now. + if self.shell.waiting: + if event.CanVeto(): + event.Veto(True) + else: + self.shell.destroy() + self.Destroy() + + def OnAbout(self, event): + """Display an About window.""" + title = 'About PyShell' + text = 'PyShell %s\n\n' % VERSION + \ + 'Yet another Python shell, only flakier.\n\n' + \ + 'Half-baked by Patrick K. O\'Brien,\n' + \ + 'the other half is still in the oven.\n\n' + \ + 'Shell Revision: %s\n' % self.shell.revision + \ + 'Interpreter Revision: %s\n\n' % self.shell.interp.revision + \ + 'Python Version: %s\n' % sys.version.split()[0] + \ + 'wxPython Version: %s\n' % wx.VERSION_STRING + \ + 'Platform: %s\n' % sys.platform + dialog = wx.MessageDialog(self, text, title, + wx.OK | wx.ICON_INFORMATION) + dialog.ShowModal() + dialog.Destroy() + + +class ShellFacade: + """Simplified interface to all shell-related functionality. + + This is a semi-transparent facade, in that all attributes of other + are accessible, even though only some are visible to the user.""" + + name = 'Shell Interface' + revision = __revision__ + + def __init__(self, other): + """Create a ShellFacade instance.""" + d = self.__dict__ + d['other'] = other + d['helpText'] = \ +""" +* Key bindings: +Home Go to the beginning of the command or line. +Shift+Home Select to the beginning of the command or line. +Shift+End Select to the end of the line. +End Go to the end of the line. +Ctrl+C Copy selected text, removing prompts. +Ctrl+Shift+C Copy selected text, retaining prompts. +Ctrl+X Cut selected text. +Ctrl+V Paste from clipboard. +Ctrl+Shift+V Paste and run multiple commands from clipboard. +Ctrl+Up Arrow Retrieve Previous History item. +Alt+P Retrieve Previous History item. +Ctrl+Down Arrow Retrieve Next History item. +Alt+N Retrieve Next History item. +Shift+Up Arrow Insert Previous History item. +Shift+Down Arrow Insert Next History item. +F8 Command-completion of History item. + (Type a few characters of a previous command and press F8.) +Ctrl+Enter Insert new line into multiline command. +Ctrl+] Increase font size. +Ctrl+[ Decrease font size. +Ctrl+= Default font size. +""" + + def help(self): + """Display some useful information about how to use the shell.""" + self.write(self.helpText) + + def __getattr__(self, name): + if hasattr(self.other, name): + return getattr(self.other, name) + else: + raise AttributeError, name + + def __setattr__(self, name, value): + if self.__dict__.has_key(name): + self.__dict__[name] = value + elif hasattr(self.other, name): + setattr(self.other, name, value) + else: + raise AttributeError, name + + def _getAttributeNames(self): + """Return list of magic attributes to extend introspection.""" + list = [ + 'about', + 'ask', + 'autoCallTip', + 'autoComplete', + 'autoCompleteCaseInsensitive', + 'autoCompleteIncludeDouble', + 'autoCompleteIncludeMagic', + 'autoCompleteIncludeSingle', + 'clear', + 'pause', + 'prompt', + 'quit', + 'redirectStderr', + 'redirectStdin', + 'redirectStdout', + 'run', + 'runfile', + 'wrap', + 'zoom', + ] + list.sort() + return list + + +class Shell(editwindow.EditWindow): + """Shell based on StyledTextCtrl.""" + + name = 'Shell' + revision = __revision__ + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=wx.CLIP_CHILDREN, + introText='', locals=None, InterpClass=None, *args, **kwds): + """Create Shell instance.""" + editwindow.EditWindow.__init__(self, parent, id, pos, size, style) + self.wrap() + if locals is None: + locals = {} + # Grab these so they can be restored by self.redirect* methods. + self.stdin = sys.stdin + self.stdout = sys.stdout + self.stderr = sys.stderr + # Import a default interpreter class if one isn't provided. + if InterpClass == None: + from interpreter import Interpreter + else: + Interpreter = InterpClass + # Create a replacement for stdin. + self.reader = PseudoFileIn(self.readline, self.readlines) + self.reader.input = '' + self.reader.isreading = False + # Set up the interpreter. + self.interp = Interpreter(locals=locals, + rawin=self.raw_input, + stdin=self.reader, + stdout=PseudoFileOut(self.writeOut), + stderr=PseudoFileErr(self.writeErr), + *args, **kwds) + # Set up the buffer. + self.buffer = Buffer() + # Find out for which keycodes the interpreter will autocomplete. + self.autoCompleteKeys = self.interp.getAutoCompleteKeys() + # Keep track of the last non-continuation prompt positions. + self.promptPosStart = 0 + self.promptPosEnd = 0 + # Keep track of multi-line commands. + self.more = False + # Create the command history. Commands are added into the + # front of the list (ie. at index 0) as they are entered. + # self.historyIndex is the current position in the history; it + # gets incremented as you retrieve the previous command, + # decremented as you retrieve the next, and reset when you hit + # Enter. self.historyIndex == -1 means you're on the current + # command, not in the history. + self.history = [] + self.historyIndex = -1 + # Assign handlers for keyboard events. + wx.EVT_CHAR(self, self.OnChar) + wx.EVT_KEY_DOWN(self, self.OnKeyDown) + # Assign handler for idle time. + self.waiting = False + wx.EVT_IDLE(self, self.OnIdle) + # Display the introductory banner information. + self.showIntro(introText) + # Assign some pseudo keywords to the interpreter's namespace. + self.setBuiltinKeywords() + # Add 'shell' to the interpreter's local namespace. + self.setLocalShell() + # Do this last so the user has complete control over their + # environment. They can override anything they want. + self.execStartupScript(self.interp.startupScript) + wx.CallAfter(self.ScrollToLine, 0) + + def destroy(self): + del self.interp + + def setFocus(self): + """Set focus to the shell.""" + self.SetFocus() + + def OnIdle(self, event): + """Free the CPU to do other things.""" + if self.waiting: + time.sleep(0.05) + event.Skip() + + def showIntro(self, text=''): + """Display introductory text in the shell.""" + if text: + if not text.endswith(os.linesep): + text += os.linesep + self.write(text) + try: + self.write(self.interp.introText) + except AttributeError: + pass + + def setBuiltinKeywords(self): + """Create pseudo keywords as part of builtins. + + This sets `close`, `exit` and `quit` to a helpful string. + """ + import __builtin__ + __builtin__.close = __builtin__.exit = __builtin__.quit = \ + 'Click on the close button to leave the application.' + + def quit(self): + """Quit the application.""" + + # XXX Good enough for now but later we want to send a close event. + + # In the close event handler we can make sure they want to + # quit. Other applications, like PythonCard, may choose to + # hide rather than quit so we should just post the event and + # let the surrounding app decide what it wants to do. + self.write('Click on the close button to leave the application.') + + def setLocalShell(self): + """Add 'shell' to locals as reference to ShellFacade instance.""" + self.interp.locals['shell'] = ShellFacade(other=self) + + def execStartupScript(self, startupScript): + """Execute the user's PYTHONSTARTUP script if they have one.""" + if startupScript and os.path.isfile(startupScript): + text = 'Startup script executed: ' + startupScript + self.push('print %r; execfile(%r)' % (text, startupScript)) + else: + self.push('') + + def about(self): + """Display information about Py.""" + text = """ +Author: %r +Py Version: %s +Py Shell Revision: %s +Py Interpreter Revision: %s +Python Version: %s +wxPython Version: %s +Platform: %s""" % \ + (__author__, VERSION, self.revision, self.interp.revision, + sys.version.split()[0], wx.VERSION_STRING, sys.platform) + self.write(text.strip()) + + def OnChar(self, event): + """Keypress event handler. + + Only receives an event if OnKeyDown calls event.Skip() for the + corresponding event.""" + + # Prevent modification of previously submitted + # commands/responses. + if not self.CanEdit(): + return + key = event.KeyCode() + currpos = self.GetCurrentPos() + stoppos = self.promptPosEnd + # Return (Enter) needs to be ignored in this handler. + if key == wx.WXK_RETURN: + pass + elif key in self.autoCompleteKeys: + # Usually the dot (period) key activates auto completion. + # Get the command between the prompt and the cursor. Add + # the autocomplete character to the end of the command. + if self.AutoCompActive(): + self.AutoCompCancel() + command = self.GetTextRange(stoppos, currpos) + chr(key) + self.write(chr(key)) + if self.autoComplete: + self.autoCompleteShow(command) + elif key == ord('('): + # The left paren activates a call tip and cancels an + # active auto completion. + if self.AutoCompActive(): + self.AutoCompCancel() + # Get the command between the prompt and the cursor. Add + # the '(' to the end of the command. + self.ReplaceSelection('') + command = self.GetTextRange(stoppos, currpos) + '(' + self.write('(') + self.autoCallTipShow(command) + else: + # Allow the normal event handling to take place. + event.Skip() + + def OnKeyDown(self, event): + """Key down event handler.""" + + key = event.KeyCode() + # If the auto-complete window is up let it do its thing. + if self.AutoCompActive(): + event.Skip() + return + # Prevent modification of previously submitted + # commands/responses. + controlDown = event.ControlDown() + altDown = event.AltDown() + shiftDown = event.ShiftDown() + currpos = self.GetCurrentPos() + endpos = self.GetTextLength() + selecting = self.GetSelectionStart() != self.GetSelectionEnd() + # Return (Enter) is used to submit a command to the + # interpreter. + if not controlDown and key == wx.WXK_RETURN: + if self.CallTipActive(): + self.CallTipCancel() + self.processLine() + # Ctrl+Return (Cntrl+Enter) is used to insert a line break. + elif controlDown and key == wx.WXK_RETURN: + if self.CallTipActive(): + self.CallTipCancel() + if currpos == endpos: + self.processLine() + else: + self.insertLineBreak() + # Let Ctrl-Alt-* get handled normally. + elif controlDown and altDown: + event.Skip() + # Clear the current, unexecuted command. + elif key == wx.WXK_ESCAPE: + if self.CallTipActive(): + event.Skip() + else: + self.clearCommand() + # Increase font size. + elif controlDown and key in (ord(']'),): + dispatcher.send(signal='FontIncrease') + # Decrease font size. + elif controlDown and key in (ord('['),): + dispatcher.send(signal='FontDecrease') + # Default font size. + elif controlDown and key in (ord('='),): + dispatcher.send(signal='FontDefault') + # Cut to the clipboard. + elif (controlDown and key in (ord('X'), ord('x'))) \ + or (shiftDown and key == wx.WXK_DELETE): + self.Cut() + # Copy to the clipboard. + elif controlDown and not shiftDown \ + and key in (ord('C'), ord('c'), wx.WXK_INSERT): + self.Copy() + # Copy to the clipboard, including prompts. + elif controlDown and shiftDown \ + and key in (ord('C'), ord('c'), wx.WXK_INSERT): + self.CopyWithPrompts() + # Copy to the clipboard, including prefixed prompts. + elif altDown and not controlDown \ + and key in (ord('C'), ord('c'), wx.WXK_INSERT): + self.CopyWithPromptsPrefixed() + # Home needs to be aware of the prompt. + elif key == wx.WXK_HOME: + home = self.promptPosEnd + if currpos > home: + self.SetCurrentPos(home) + if not selecting and not shiftDown: + self.SetAnchor(home) + self.EnsureCaretVisible() + else: + event.Skip() + # + # The following handlers modify text, so we need to see if + # there is a selection that includes text prior to the prompt. + # + # Don't modify a selection with text prior to the prompt. + elif selecting and key not in NAVKEYS and not self.CanEdit(): + pass + # Paste from the clipboard. + elif (controlDown and not shiftDown and key in (ord('V'), ord('v'))) \ + or (shiftDown and not controlDown and key == wx.WXK_INSERT): + self.Paste() + # Paste from the clipboard, run commands. + elif controlDown and shiftDown and key in (ord('V'), ord('v')): + self.PasteAndRun() + # Replace with the previous command from the history buffer. + elif (controlDown and key == wx.WXK_UP) \ + or (altDown and key in (ord('P'), ord('p'))): + self.OnHistoryReplace(step=+1) + # Replace with the next command from the history buffer. + elif (controlDown and key == wx.WXK_DOWN) \ + or (altDown and key in (ord('N'), ord('n'))): + self.OnHistoryReplace(step=-1) + # Insert the previous command from the history buffer. + elif (shiftDown and key == wx.WXK_UP) and self.CanEdit(): + self.OnHistoryInsert(step=+1) + # Insert the next command from the history buffer. + elif (shiftDown and key == wx.WXK_DOWN) and self.CanEdit(): + self.OnHistoryInsert(step=-1) + # Search up the history for the text in front of the cursor. + elif key == wx.WXK_F8: + self.OnHistorySearch() + # Don't backspace over the latest non-continuation prompt. + elif key == wx.WXK_BACK: + if selecting and self.CanEdit(): + event.Skip() + elif currpos > self.promptPosEnd: + event.Skip() + # Only allow these keys after the latest prompt. + elif key in (wx.WXK_TAB, wx.WXK_DELETE): + if self.CanEdit(): + event.Skip() + # Don't toggle between insert mode and overwrite mode. + elif key == wx.WXK_INSERT: + pass + # Don't allow line deletion. + elif controlDown and key in (ord('L'), ord('l')): + pass + # Don't allow line transposition. + elif controlDown and key in (ord('T'), ord('t')): + pass + # Basic navigation keys should work anywhere. + elif key in NAVKEYS: + event.Skip() + # Protect the readonly portion of the shell. + elif not self.CanEdit(): + pass + else: + event.Skip() + + def clearCommand(self): + """Delete the current, unexecuted command.""" + startpos = self.promptPosEnd + endpos = self.GetTextLength() + self.SetSelection(startpos, endpos) + self.ReplaceSelection('') + self.more = False + + def OnHistoryReplace(self, step): + """Replace with the previous/next command from the history buffer.""" + self.clearCommand() + self.replaceFromHistory(step) + + def replaceFromHistory(self, step): + """Replace selection with command from the history buffer.""" + ps2 = str(sys.ps2) + self.ReplaceSelection('') + newindex = self.historyIndex + step + if -1 <= newindex <= len(self.history): + self.historyIndex = newindex + if 0 <= newindex <= len(self.history)-1: + command = self.history[self.historyIndex] + command = command.replace('\n', os.linesep + ps2) + self.ReplaceSelection(command) + + def OnHistoryInsert(self, step): + """Insert the previous/next command from the history buffer.""" + if not self.CanEdit(): + return + startpos = self.GetCurrentPos() + self.replaceFromHistory(step) + endpos = self.GetCurrentPos() + self.SetSelection(endpos, startpos) + + def OnHistorySearch(self): + """Search up the history buffer for the text in front of the cursor.""" + if not self.CanEdit(): + return + startpos = self.GetCurrentPos() + # The text up to the cursor is what we search for. + numCharsAfterCursor = self.GetTextLength() - startpos + searchText = self.getCommand(rstrip=False) + if numCharsAfterCursor > 0: + searchText = searchText[:-numCharsAfterCursor] + if not searchText: + return + # Search upwards from the current history position and loop + # back to the beginning if we don't find anything. + if (self.historyIndex <= -1) \ + or (self.historyIndex >= len(self.history)-2): + searchOrder = range(len(self.history)) + else: + searchOrder = range(self.historyIndex+1, len(self.history)) + \ + range(self.historyIndex) + for i in searchOrder: + command = self.history[i] + if command[:len(searchText)] == searchText: + # Replace the current selection with the one we found. + self.ReplaceSelection(command[len(searchText):]) + endpos = self.GetCurrentPos() + self.SetSelection(endpos, startpos) + # We've now warped into middle of the history. + self.historyIndex = i + break + + def setStatusText(self, text): + """Display status information.""" + + # This method will likely be replaced by the enclosing app to + # do something more interesting, like write to a status bar. + print text + + def insertLineBreak(self): + """Insert a new line break.""" + if self.CanEdit(): + self.write(os.linesep) + self.more = True + self.prompt() + + def processLine(self): + """Process the line of text at which the user hit Enter.""" + + # The user hit ENTER and we need to decide what to do. They + # could be sitting on any line in the shell. + + thepos = self.GetCurrentPos() + startpos = self.promptPosEnd + endpos = self.GetTextLength() + ps2 = str(sys.ps2) + # If they hit RETURN inside the current command, execute the + # command. + if self.CanEdit(): + self.SetCurrentPos(endpos) + self.interp.more = False + command = self.GetTextRange(startpos, endpos) + lines = command.split(os.linesep + ps2) + lines = [line.rstrip() for line in lines] + command = '\n'.join(lines) + if self.reader.isreading: + if not command: + # Match the behavior of the standard Python shell + # when the user hits return without entering a + # value. + command = '\n' + self.reader.input = command + self.write(os.linesep) + else: + self.push(command) + # Or replace the current command with the other command. + else: + # If the line contains a command (even an invalid one). + if self.getCommand(rstrip=False): + command = self.getMultilineCommand() + self.clearCommand() + self.write(command) + # Otherwise, put the cursor back where we started. + else: + self.SetCurrentPos(thepos) + self.SetAnchor(thepos) + + def getMultilineCommand(self, rstrip=True): + """Extract a multi-line command from the editor. + + The command may not necessarily be valid Python syntax.""" + # XXX Need to extract real prompts here. Need to keep track of + # the prompt every time a command is issued. + ps1 = str(sys.ps1) + ps1size = len(ps1) + ps2 = str(sys.ps2) + ps2size = len(ps2) + # This is a total hack job, but it works. + text = self.GetCurLine()[0] + line = self.GetCurrentLine() + while text[:ps2size] == ps2 and line > 0: + line -= 1 + self.GotoLine(line) + text = self.GetCurLine()[0] + if text[:ps1size] == ps1: + line = self.GetCurrentLine() + self.GotoLine(line) + startpos = self.GetCurrentPos() + ps1size + line += 1 + self.GotoLine(line) + while self.GetCurLine()[0][:ps2size] == ps2: + line += 1 + self.GotoLine(line) + stoppos = self.GetCurrentPos() + command = self.GetTextRange(startpos, stoppos) + command = command.replace(os.linesep + ps2, '\n') + command = command.rstrip() + command = command.replace('\n', os.linesep + ps2) + else: + command = '' + if rstrip: + command = command.rstrip() + return command + + def getCommand(self, text=None, rstrip=True): + """Extract a command from text which may include a shell prompt. + + The command may not necessarily be valid Python syntax.""" + if not text: + text = self.GetCurLine()[0] + # Strip the prompt off the front leaving just the command. + command = self.lstripPrompt(text) + if command == text: + command = '' # Real commands have prompts. + if rstrip: + command = command.rstrip() + return command + + def lstripPrompt(self, text): + """Return text without a leading prompt.""" + ps1 = str(sys.ps1) + ps1size = len(ps1) + ps2 = str(sys.ps2) + ps2size = len(ps2) + # Strip the prompt off the front of text. + if text[:ps1size] == ps1: + text = text[ps1size:] + elif text[:ps2size] == ps2: + text = text[ps2size:] + return text + + def push(self, command): + """Send command to the interpreter for execution.""" + self.write(os.linesep) + busy = wx.BusyCursor() + self.waiting = True + self.more = self.interp.push(command) + self.waiting = False + del busy + if not self.more: + self.addHistory(command.rstrip()) + self.prompt() + + def addHistory(self, command): + """Add command to the command history.""" + # Reset the history position. + self.historyIndex = -1 + # Insert this command into the history, unless it's a blank + # line or the same as the last command. + if command != '' \ + and (len(self.history) == 0 or command != self.history[0]): + self.history.insert(0, command) + + def write(self, text): + """Display text in the shell. + + Replace line endings with OS-specific endings.""" + text = self.fixLineEndings(text) + self.AddText(text) + self.EnsureCaretVisible() + + def fixLineEndings(self, text): + """Return text with line endings replaced by OS-specific endings.""" + lines = text.split('\r\n') + for l in range(len(lines)): + chunks = lines[l].split('\r') + for c in range(len(chunks)): + chunks[c] = os.linesep.join(chunks[c].split('\n')) + lines[l] = os.linesep.join(chunks) + text = os.linesep.join(lines) + return text + + def prompt(self): + """Display proper prompt for the context: ps1, ps2 or ps3. + + If this is a continuation line, autoindent as necessary.""" + isreading = self.reader.isreading + skip = False + if isreading: + prompt = str(sys.ps3) + elif self.more: + prompt = str(sys.ps2) + else: + prompt = str(sys.ps1) + pos = self.GetCurLine()[1] + if pos > 0: + if isreading: + skip = True + else: + self.write(os.linesep) + if not self.more: + self.promptPosStart = self.GetCurrentPos() + if not skip: + self.write(prompt) + if not self.more: + self.promptPosEnd = self.GetCurrentPos() + # Keep the undo feature from undoing previous responses. + self.EmptyUndoBuffer() + # XXX Add some autoindent magic here if more. + if self.more: + self.write(' '*4) # Temporary hack indentation. + self.EnsureCaretVisible() + self.ScrollToColumn(0) + + def readline(self): + """Replacement for stdin.readline().""" + input = '' + reader = self.reader + reader.isreading = True + self.prompt() + try: + while not reader.input: + wx.YieldIfNeeded() + input = reader.input + finally: + reader.input = '' + reader.isreading = False + input = str(input) # In case of Unicode. + return input + + def readlines(self): + """Replacement for stdin.readlines().""" + lines = [] + while lines[-1:] != ['\n']: + lines.append(self.readline()) + return lines + + def raw_input(self, prompt=''): + """Return string based on user input.""" + if prompt: + self.write(prompt) + return self.readline() + + def ask(self, prompt='Please enter your response:'): + """Get response from the user using a dialog box.""" + dialog = wx.TextEntryDialog(None, prompt, + 'Input Dialog (Raw)', '') + try: + if dialog.ShowModal() == wx.ID_OK: + text = dialog.GetValue() + return text + finally: + dialog.Destroy() + return '' + + def pause(self): + """Halt execution pending a response from the user.""" + self.ask('Press enter to continue:') + + def clear(self): + """Delete all text from the shell.""" + self.ClearAll() + + def run(self, command, prompt=True, verbose=True): + """Execute command as if it was typed in directly. + >>> shell.run('print "this"') + >>> print "this" + this + >>> + """ + # Go to the very bottom of the text. + endpos = self.GetTextLength() + self.SetCurrentPos(endpos) + command = command.rstrip() + if prompt: self.prompt() + if verbose: self.write(command) + self.push(command) + + def runfile(self, filename): + """Execute all commands in file as if they were typed into the + shell.""" + file = open(filename) + try: + self.prompt() + for command in file.readlines(): + if command[:6] == 'shell.': + # Run shell methods silently. + self.run(command, prompt=False, verbose=False) + else: + self.run(command, prompt=False, verbose=True) + finally: + file.close() + + def autoCompleteShow(self, command): + """Display auto-completion popup list.""" + list = self.interp.getAutoCompleteList(command, + includeMagic=self.autoCompleteIncludeMagic, + includeSingle=self.autoCompleteIncludeSingle, + includeDouble=self.autoCompleteIncludeDouble) + if list: + options = ' '.join(list) + offset = 0 + self.AutoCompShow(offset, options) + + def autoCallTipShow(self, command): + """Display argument spec and docstring in a popup window.""" + if self.CallTipActive(): + self.CallTipCancel() + (name, argspec, tip) = self.interp.getCallTip(command) + if tip: + dispatcher.send(signal='Shell.calltip', sender=self, calltip=tip) + if not self.autoCallTip: + return + if argspec: + startpos = self.GetCurrentPos() + self.write(argspec + ')') + endpos = self.GetCurrentPos() + self.SetSelection(endpos, startpos) + if tip: + curpos = self.GetCurrentPos() + tippos = curpos - (len(name) + 1) + fallback = curpos - self.GetColumn(curpos) + # In case there isn't enough room, only go back to the + # fallback. + tippos = max(tippos, fallback) + self.CallTipShow(tippos, tip) + + def writeOut(self, text): + """Replacement for stdout.""" + self.write(text) + + def writeErr(self, text): + """Replacement for stderr.""" + self.write(text) + + def redirectStdin(self, redirect=True): + """If redirect is true then sys.stdin will come from the shell.""" + if redirect: + sys.stdin = self.reader + else: + sys.stdin = self.stdin + + def redirectStdout(self, redirect=True): + """If redirect is true then sys.stdout will go to the shell.""" + if redirect: + sys.stdout = PseudoFileOut(self.writeOut) + else: + sys.stdout = self.stdout + + def redirectStderr(self, redirect=True): + """If redirect is true then sys.stderr will go to the shell.""" + if redirect: + sys.stderr = PseudoFileErr(self.writeErr) + else: + sys.stderr = self.stderr + + def CanCut(self): + """Return true if text is selected and can be cut.""" + if self.GetSelectionStart() != self.GetSelectionEnd() \ + and self.GetSelectionStart() >= self.promptPosEnd \ + and self.GetSelectionEnd() >= self.promptPosEnd: + return True + else: + return False + + def CanPaste(self): + """Return true if a paste should succeed.""" + if self.CanEdit() and editwindow.EditWindow.CanPaste(self): + return True + else: + return False + + def CanEdit(self): + """Return true if editing should succeed.""" + if self.GetSelectionStart() != self.GetSelectionEnd(): + if self.GetSelectionStart() >= self.promptPosEnd \ + and self.GetSelectionEnd() >= self.promptPosEnd: + return True + else: + return False + else: + return self.GetCurrentPos() >= self.promptPosEnd + + def Cut(self): + """Remove selection and place it on the clipboard.""" + if self.CanCut() and self.CanCopy(): + if self.AutoCompActive(): + self.AutoCompCancel() + if self.CallTipActive(): + self.CallTipCancel() + self.Copy() + self.ReplaceSelection('') + + def Copy(self): + """Copy selection and place it on the clipboard.""" + if self.CanCopy(): + ps1 = str(sys.ps1) + ps2 = str(sys.ps2) + command = self.GetSelectedText() + command = command.replace(os.linesep + ps2, os.linesep) + command = command.replace(os.linesep + ps1, os.linesep) + command = self.lstripPrompt(text=command) + data = wx.TextDataObject(command) + self._clip(data) + + def CopyWithPrompts(self): + """Copy selection, including prompts, and place it on the clipboard.""" + if self.CanCopy(): + command = self.GetSelectedText() + data = wx.TextDataObject(command) + self._clip(data) + + def CopyWithPromptsPrefixed(self): + """Copy selection, including prompts prefixed with four + spaces, and place it on the clipboard.""" + if self.CanCopy(): + command = self.GetSelectedText() + spaces = ' ' * 4 + command = spaces + command.replace(os.linesep, + os.linesep + spaces) + data = wx.TextDataObject(command) + self._clip(data) + + def _clip(self, data): + if wx.TheClipboard.Open(): + wx.TheClipboard.UsePrimarySelection(False) + wx.TheClipboard.SetData(data) + wx.TheClipboard.Flush() + wx.TheClipboard.Close() + + def Paste(self): + """Replace selection with clipboard contents.""" + if self.CanPaste() and wx.TheClipboard.Open(): + ps2 = str(sys.ps2) + if wx.TheClipboard.IsSupported(wx.DataFormat(wx.DF_TEXT)): + data = wx.TextDataObject() + if wx.TheClipboard.GetData(data): + self.ReplaceSelection('') + command = data.GetText() + command = command.rstrip() + command = self.fixLineEndings(command) + command = self.lstripPrompt(text=command) + command = command.replace(os.linesep + ps2, '\n') + command = command.replace(os.linesep, '\n') + command = command.replace('\n', os.linesep + ps2) + self.write(command) + wx.TheClipboard.Close() + + def PasteAndRun(self): + """Replace selection with clipboard contents, run commands.""" + if wx.TheClipboard.Open(): + ps1 = str(sys.ps1) + ps2 = str(sys.ps2) + if wx.TheClipboard.IsSupported(wx.DataFormat(wx.DF_TEXT)): + data = wx.TextDataObject() + if wx.TheClipboard.GetData(data): + endpos = self.GetTextLength() + self.SetCurrentPos(endpos) + startpos = self.promptPosEnd + self.SetSelection(startpos, endpos) + self.ReplaceSelection('') + text = data.GetText() + text = text.lstrip() + text = self.fixLineEndings(text) + text = self.lstripPrompt(text) + text = text.replace(os.linesep + ps1, '\n') + text = text.replace(os.linesep + ps2, '\n') + text = text.replace(os.linesep, '\n') + lines = text.split('\n') + commands = [] + command = '' + for line in lines: + if line.strip() == ps2.strip(): + # If we are pasting from something like a + # web page that drops the trailing space + # from the ps2 prompt of a blank line. + line = '' + if line.strip() != '' and line.lstrip() == line: + # New command. + if command: + # Add the previous command to the list. + commands.append(command) + # Start a new command, which may be multiline. + command = line + else: + # Multiline command. Add to the command. + command += '\n' + command += line + commands.append(command) + for command in commands: + command = command.replace('\n', os.linesep + ps2) + self.write(command) + self.processLine() + wx.TheClipboard.Close() + + def wrap(self, wrap=True): + """Sets whether text is word wrapped.""" + try: + self.SetWrapMode(wrap) + except AttributeError: + return 'Wrapping is not available in this version.' + + def zoom(self, points=0): + """Set the zoom level. + + This number of points is added to the size of all fonts. It + may be positive to magnify or negative to reduce.""" + self.SetZoom(points) diff --git a/wxPython/wxPython/py/tests/test_interpreter.py b/wxPython/wxPython/py/tests/test_interpreter.py new file mode 100644 index 0000000000..9ab26a091f --- /dev/null +++ b/wxPython/wxPython/py/tests/test_interpreter.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import unittest + +# Import from this module's parent directory. +import os +import sys +sys.path.insert(0, os.pardir) +import interpreter +del sys.path[0] +del sys +del os + + +""" +These unittest methods are preferred: +------------------------------------- +self.assert_(expr, msg=None) +self.assertEqual(first, second, msg=None) +self.assertRaises(excClass, callableObj, *args, **kwargs) +self.fail(msg=None) +self.failIf(expr, msg=None) +""" + + +class ModuleTestCase(unittest.TestCase): + + def test_module(self): + module = interpreter + self.assert_(module.__author__) + self.assert_(module.__cvsid__) + self.assert_(module.__revision__) + self.assert_(module.Interpreter) + self.assert_(module.Interpreter.push) + self.assert_(module.Interpreter.runsource) + self.assert_(module.Interpreter.getAutoCompleteList) + self.assert_(module.Interpreter.getCallTip) + self.assert_(module.InterpreterAlaCarte) + + +class InterpreterTestCase(unittest.TestCase): + + def setUp(self): + self.output = '' + self.i = interpreter.Interpreter(stdout=self) + + def write(self, text): + """Capture output from self.i.push().""" + self.output += text + + def tearDown(self): + self.output = '' + self.i = None + del self.i + + def test_more(self): + self.assertEqual(self.i.push('dir()'), 0) + self.assertEqual(self.i.push('for n in range(3):'), 1) + + def test_push(self): + values = ( + ('dir', ''), + ('dir()', "['__builtins__', '__doc__', '__name__']"), + ('2 + 2', '4'), + ('d = {}', ''), + ('d', '{}'), + ('del d', ''), + ('len([4,5,6])', '3'), + ) + for input, output in values: + if output: output += '\n' + self.i.push(input) + self.assertEqual(self.output, output) + self.output = '' + + +if __name__ == '__main__': + unittest.main() diff --git a/wxPython/wxPython/py/tests/test_introspect.py b/wxPython/wxPython/py/tests/test_introspect.py new file mode 100644 index 0000000000..887b40c39e --- /dev/null +++ b/wxPython/wxPython/py/tests/test_introspect.py @@ -0,0 +1,862 @@ +#!/usr/bin/env python + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import unittest + +# Import from this module's parent directory. +import os +import sys +sys.path.insert(0, os.pardir) +import introspect +del sys.path[0] +del sys +del os + + +""" +These unittest methods are preferred: +------------------------------------- +self.assert_(expr, msg=None) +self.assertEqual(first, second, msg=None) +self.assertRaises(excClass, callableObj, *args, **kwargs) +self.fail(msg=None) +self.failIf(expr, msg=None) +""" + + +class ModuleTestCase(unittest.TestCase): + + def test_module(self): + module = introspect + self.assert_(module.__author__) + self.assert_(module.__cvsid__) + self.assert_(module.__revision__) + self.assert_(module.getAllAttributeNames) + self.assert_(module.getAttributeNames) + self.assert_(module.getAutoCompleteList) + self.assert_(module.getBaseObject) + self.assert_(module.getCallTip) + self.assert_(module.getConstructor) + self.assert_(module.getRoot) + self.assert_(module.rtrimTerminus) + + +class RtrimTerminusTestCase(unittest.TestCase): + + def test_rtrimTerminus(self): + values = ( + ('', '', ''), + ('', None, ''), + ('', '.', ''), + ('', '(', ''), + + ('.', '', '.'), + ('.', None, '.'), + ('.', '.', '.'), + ('.', '(', '.'), + + ('(', '', '('), + ('(', None, '('), + ('(', '.', '('), + ('(', '(', '('), + + ('spam', '', 'spam'), + ('spam', None, 'spam'), + ('spam', '.', 'spam'), + ('spam', '(', 'spam'), + + ('spam.', '', 'spam.'), + ('spam.', None, 'spam.'), + ('spam.', '.', 'spam.'), + ('spam.', '(', 'spam.'), + + ('spam(', '', 'spam('), + ('spam(', None, 'spam('), + ('spam(', '.', 'spam('), + ('spam(', '(', 'spam('), + + ('spam.eggs', '.', 'spam.'), + ('spam.eggs.', '.', 'spam.eggs.'), + ('spam.eggs(', '(', 'spam.eggs('), + ('spam.eggs.', '(', 'spam.eggs.'), + ('spam.eggs(', '.', 'spam.'), + + ('x = spam.', '.', 'x = spam.'), + ('x = spam.eggs', '.', 'x = spam.'), + ('x = spam.eggs.', '.', 'x = spam.eggs.'), + ('x = spam.eggs(', '(', 'x = spam.eggs('), + ) + for input, terminator, output in values: + result = introspect.rtrimTerminus(input, terminator) + self.assertEqual(result, output, + ':in: %r :t: %r :out: %r :result: %r' % + (input, terminator, output, result)) + + +class GetRootTestCase(unittest.TestCase): + + def _checkRoot(self, input, terminator, output): + root = introspect.getRoot(command=input, terminator=terminator) + self.assertEqual(root, output, + ':in: %r :t: %r :out: %r :root: %r' % + (input, terminator, output, root)) + + def test_getRoot(self): + values = ( + ('', '', ''), + ('', None, ''), + ('', '.', ''), + ('', '(', ''), + + ('.', '', '.'), + ('.', None, '.'), + ('.', '.', ''), + ('.', '(', '.'), + + ('(', '', ''), + ('(', None, ''), + ('(', '.', ''), + ('(', '(', ''), + + ('spam', '', 'spam'), + ('spam', None, 'spam'), + ('spam', '.', ''), + ('spam', '(', 'spam'), + + ('spam.', '', 'spam.'), + ('spam.', None, 'spam.'), + ('spam.', '.', 'spam'), + ('spam.', '(', 'spam.'), + + ('spam(', '', ''), + ('spam(', None, ''), + ('spam(', '.', ''), + ('spam(', '(', 'spam'), + + ('spam.eggs', '.', 'spam'), + ('spam.eggs.', '.', 'spam.eggs'), + ('spam.eggs(', '(', 'spam.eggs'), + ('spam.eggs.', '(', 'spam.eggs.'), + ('spam.eggs(', '.', 'spam'), + + ('x = spam.', '.', 'spam'), + ('x = spam.eggs', '.', 'spam'), + ('x = spam.eggs.', '.', 'spam.eggs'), + ('x = spam.eggs(', '(', 'spam.eggs'), + + ('for n in range(3):\n d.', '.', 'd'), + ('for n in range(3):\n... d.', '.', 'd'), + ) + for input, terminator, output in values: + self._checkRoot(input, terminator, output) + + def test_getRoot_Advanced(self): + values = ( + ('spam_', '', 'spam_'), + ('spam_', None, 'spam_'), + ('spam_', '.', ''), + ('spam_', '(', 'spam_'), + + ('_spam', '', '_spam'), + ('_spam', None, '_spam'), + ('_spam', '.', ''), + ('_spam', '(', '_spam'), + + ('spam_eggs', '', 'spam_eggs'), + ('spam_eggs', None, 'spam_eggs'), + ('spam_eggs', '.', ''), + ('spam_eggs', '(', 'spam_eggs'), + + ('spam123', '', 'spam123'), + ('spam123', None, 'spam123'), + ('spam123', '.', ''), + ('spam123', '(', 'spam123'), + + ('spam_123', '', 'spam_123'), + ('spam_123', None, 'spam_123'), + ('spam_123', '.', ''), + ('spam_123', '(', 'spam_123'), + ) + for input, terminator, output in values: + self._checkRoot(input, terminator, output) + +## The original intent was to detect when we were inside a string. +## That has proven to be very difficult, for little benefit. +## The fact that autocomplete or calltips might be triggered inside +## a string is not a big deal. Sometimes it is even helpful. + +## def test_getRoot_InsideStrings(self): +## values = ( +## ('x = ".', '.', ''), +## ("x = '.", '.', ''), +## ('x = """.', '.', ''), +## ("x = '''.", '.', ''), +## +## ('x = "(', '(', ''), +## ("x = '(", '(', ''), +## ('x = """(', '(', ''), +## ("x = '''(", '(', ''), +## +## ('x = "spam', '.', ''), +## ('x = "spam.', '.', ''), +## ("x = 'spam.", '.', ''), +## ('x = """spam.', '.', ''), +## ("x = '''spam.", '.', ''), +## +## ('x = "spam', '(', ''), +## ('x = "spam(', '(', ''), +## ("x = 'spam(", '(', ''), +## ('x = """spam(', '(', ''), +## ("x = '''spam(", '(', ''), +## +## ('x = "spam.eggs.', '.', ''), +## ("x = 'spam.eggs.", '.', ''), +## ('x = """spam.eggs.', '.', ''), +## ("x = '''spam.eggs.", '.', ''), +## +## ('x = "spam.eggs(', '(', ''), +## ("x = 'spam.eggs(", '(', ''), +## ('x = """spam.eggs(', '(', ''), +## ("x = '''spam.eggs(", '(', ''), +## ) +## for input, terminator, output in values: +## self._checkRoot(input, terminator, output) + + def test_getRoot_EmptyTypes(self): + values = ( + ("''.", '.', "''"), + ('"".', '.', '""'), + ('"""""".', '.', '""""""'), + ("''''''.", '.', "''''''"), + + ('[].', '.', '[]'), + ('().', '.', '()'), + ('{}.', '.', '{}'), + + ('[](', '(', '[]'), + ('()(', '(', '()'), + ('{}(', '(', '{}'), + + ("x = ''.", '.', "''"), + ('x = "".', '.', '""'), + ('x = """""".', '.', '""""""'), + ("x = ''''''.", '.', "''''''"), + + ('x = [].', '.', '[]'), + ('x = ().', '.', '()'), + ('x = {}.', '.', '{}'), + + ('x = [](', '(', '[]'), + ('x = ()(', '(', '()'), + ('x = {}(', '(', '{}'), + + ('print [].', '.', '[]'), + ('print ().', '.', '()'), + ('print {}.', '.', '{}'), + + ('print [](', '(', '[]'), + ('print ()(', '(', '()'), + ('print {}(', '(', '{}'), + + ("''.attr.", '.', "''.attr"), + ('"".attr.', '.', '"".attr'), + ('"""""".attr.', '.', '"""""".attr'), + ("''''''.attr.", '.', "''''''.attr"), + + ('[].attr.', '.', '[].attr'), + ('().attr.', '.', '().attr'), + ('{}.attr.', '.', '{}.attr'), + + ('[].attr(', '(', '[].attr'), + ('().attr(', '(', '().attr'), + ('{}.attr(', '(', '{}.attr'), + + ('spam().', '.', ''), + ('spam_().', '.', ''), + ('spam5().', '.', ''), + ('spam[]().', '.', ''), + ('spam()[].', '.', ''), + ('spam[]{}.', '.', ''), + + ("spam(''.", '.', "''"), + ('spam("".', '.', '""'), + ('spam("""""".', '.', '""""""'), + ("spam(''''''.", '.', "''''''"), + + ('spam([].', '.', '[]'), + ('spam(().', '.', '()'), + ('spam({}.', '.', '{}'), + ('spam[[].', '.', '[]'), + ('spam[().', '.', '()'), + ('spam[{}.', '.', '{}'), + ('x = {[].', '.', '[]'), + ('x = {().', '.', '()'), + ('x = {{}.', '.', '{}'), + + ('spam,[].', '.', '[]'), + ('spam+[].', '.', '[]'), + ('spam-[].', '.', '[]'), + ('spam*[].', '.', '[]'), + ('spam/[].', '.', '[]'), + ('spam=[].', '.', '[]'), + ('spam%[].', '.', '[]'), + ('spam<[].', '.', '[]'), + ('spam>[].', '.', '[]'), + ('spam&[].', '.', '[]'), + ('spam|[].', '.', '[]'), + ('spam^[].', '.', '[]'), + ('spam~[].', '.', '[]'), + ('spam:[].', '.', '[]'), + + ('spam,().', '.', '()'), + ('spam+().', '.', '()'), + ('spam-().', '.', '()'), + ('spam*().', '.', '()'), + ('spam/().', '.', '()'), + ('spam=().', '.', '()'), + ('spam%().', '.', '()'), + ('spam<().', '.', '()'), + ('spam>().', '.', '()'), + ('spam&().', '.', '()'), + ('spam|().', '.', '()'), + ('spam^().', '.', '()'), + ('spam~().', '.', '()'), + ('spam:().', '.', '()'), + + ('spam,{}.', '.', '{}'), + ('spam+{}.', '.', '{}'), + ('spam-{}.', '.', '{}'), + ('spam*{}.', '.', '{}'), + ('spam/{}.', '.', '{}'), + ('spam={}.', '.', '{}'), + ('spam%{}.', '.', '{}'), + ('spam<{}.', '.', '{}'), + ('spam>{}.', '.', '{}'), + ('spam&{}.', '.', '{}'), + ('spam|{}.', '.', '{}'), + ('spam^{}.', '.', '{}'), + ('spam~{}.', '.', '{}'), + ('spam:{}.', '.', '{}'), + ) + for input, terminator, output in values: + self._checkRoot(input, terminator, output) + + +# Support for GetBaseObjectTestCase and GetAttributeNamesTestCase. + +class Foo: + def __init__(self): + pass + + def __del__(self): + pass + + def _private(self): + pass + +class Bar: + pass + +class Spam: + def __call__(self): + pass + + def foo(self): + pass + + def bar(spam): + # It shouldn't matter what we call "self". + pass + + def eggs(self): + pass + +def ham(eggs): + pass + +class GetBaseObjectTestCase(unittest.TestCase): + + def test_getBaseObject(self): + spam = Spam() + eggs = Spam.eggs + listappend = [].append + spamda = lambda: None + values = ( + ('spam', 'spam', 0), + (123, 123, 0), + (12.3, 12.3, 0), + ([], [], 0), + ((), (), 0), + ({}, {}, 0), + # Builtin function. + (len, len, 0), + # Builtin method. + (listappend, listappend, 0), + # User function. + (ham, ham, 0), + # Byte-compiled code. + (ham.func_code, ham.func_code, 0), + # Lambda. + (spamda, spamda, 0), + # Class with init. + (Foo, Foo.__init__.im_func, 1), + # Class with no init. + (Bar, Bar, 0), + # Bound method. + (spam.foo, spam.foo.im_func, 1), + # Bound method with self named something else (spam). + (spam.bar, spam.bar.im_func, 1), + # Unbound method. (Do not drop the self argument.) + (eggs, eggs.im_func, 0), + # Callable instance. + (spam, spam.__call__.im_func, 1), + ) + for object, baseObject, dropSelf in values: + result = introspect.getBaseObject(object) + self.assertEqual(result, (baseObject, dropSelf)) + + +class GetAttributeTestCase(unittest.TestCase): + """Base class for other test case classes.""" + + def setUp(self): + self.values = ( + '__abs__', + '__add__', + '__and__', + '__base__', + '__bases__', + '__basicsize__', + '__builtins__', + '__call__', + '__class__', + '__cmp__', + '__coerce__', + '__contains__', + '__del__', + '__delattr__', + '__delitem__', + '__delslice__', + '__dict__', + '__dictoffset__', + '__div__', + '__divmod__', + '__doc__', + '__eq__', + '__file__', + '__flags__', + '__float__', + '__floordiv__', + '__ge__', + '__get__', + '__getattr__', + '__getattribute__', + '__getitem__', + '__getslice__', + '__gt__', + '__hash__', + '__hex__', + '__iadd__', + '__imul__', + '__init__', + '__int__', + '__invert__', + '__itemsize__', + '__iter__', + '__le__', + '__len__', + '__long__', + '__lshift__', + '__lt__', + '__mod__', + '__module__', + '__mro__', + '__mul__', + '__name__', + '__ne__', + '__neg__', + '__new__', + '__nonzero__', + '__oct__', + '__or__', + '__path__', + '__pos__', + '__pow__', + '__radd__', + '__rand__', + '__rdiv__', + '__rdivmod__', + '__reduce__', + '__repr__', + '__rfloordiv__', + '__rlshift__', + '__rmod__', + '__rmul__', + '__ror__', + '__rpow__', + '__rrshift__', + '__rshift__', + '__rsub__', + '__rtruediv__', + '__rxor__', + '__self__', + '__setattr__', + '__setitem__', + '__setslice__', + '__str__', + '__sub__', + '__subclasses__', + '__truediv__', + '__warningregistry__', + '__weakrefoffset__', + '__xor__', + 'append', + 'capitalize', + 'center', + 'clear', + 'close', + 'closed', + 'co_argcount', + 'co_cellvars', + 'co_code', + 'co_consts', + 'co_filename', + 'co_firstlineno', + 'co_flags', + 'co_freevars', + 'co_lnotab', + 'co_name', + 'co_names', + 'co_nlocals', + 'co_stacksize', + 'co_varnames', + 'conjugate', + 'copy', + 'count', + 'decode', + 'encode', + 'endswith', + 'expandtabs', + 'extend', + 'fileno', + 'find', + 'flush', + 'func_closure', + 'func_code', + 'func_defaults', + 'func_dict', + 'func_doc', + 'func_globals', + 'func_name', + 'get', + 'has_key', + 'im_class', + 'im_func', + 'im_self', + 'imag', + 'index', + 'insert', + 'isalnum', + 'isalpha', + 'isatty', + 'isdigit', + 'islower', + 'isspace', + 'istitle', + 'isupper', + 'items', + 'iteritems', + 'iterkeys', + 'itervalues', + 'join', + 'keys', + 'ljust', + 'lower', + 'lstrip', + 'mode', + 'mro', + 'name', + 'pop', + 'popitem', + 'real', + 'read', + 'readinto', + 'readline', + 'readlines', + 'remove', + 'replace', + 'reverse', + 'rfind', + 'rindex', + 'rjust', + 'rstrip', + 'seek', + 'setdefault', + 'softspace', + 'sort', + 'split', + 'splitlines', + 'start', + 'startswith', + 'step', + 'stop', + 'strip', + 'swapcase', + 'tell', + 'title', + 'tolist', + 'translate', + 'truncate', + 'update', + 'upper', + 'values', + 'write', + 'writelines', + 'xreadlines', + ) + +# Since getAllAttributeNames() calls str(object), +# we need to test for a broken __str__ method. +class BrokenStr: + def __str__(self): + raise Exception + +brokenStr = BrokenStr() + +class GetAttributeNamesTestCase(GetAttributeTestCase): + + def setUp(self): + GetAttributeTestCase.setUp(self) + import PyCrust + spam = Spam() + self.f = open('test_introspect.py') + self.items = ( + None, + int(123), + long(123), + float(123), + complex(123), + "", + unicode(""), + [], + (), + xrange(0), + {}, + # Builtin function. + len, + # Builtin method. + [].append, + # User function. + ham, + # Byte-compiled code. + ham.func_code, + # Lambda. + lambda: None, + # Class with no init. + Bar, + # Instance with no init. + Bar(), + # Class with init and del. + Foo, + # Instance with init and del. + Foo(), + # Bound method. + spam.foo, + # Unbound method. + Spam.eggs, + # Callable instance. + spam, + # Module. + introspect, + # Package. + PyCrust, + # Buffer. + buffer(''), + # File. + self.f, + # Slice. + slice(0), + # Ellipsis. + Ellipsis, + # BrokenStr class. + BrokenStr, + # BrokenStr instance. + brokenStr, + ) + + def tearDown(self): + self.items = None + self.f.close() + + def test_getAttributeNames(self): + for item in self.items: + self._checkAttributeNames(item) + if __builtins__.has_key('object'): + self._checkAttributeNames(object) + + def test_getAttributeNames_NoSingle(self): + for item in self.items: + result = introspect.getAttributeNames(item, includeSingle=0) + attributes = [attribute for attribute in result \ + if attribute[0] != '_' or attribute[:2] == '__'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + def test_getAttributeNames_NoDouble(self): + for item in self.items: + result = introspect.getAttributeNames(item, includeDouble=0) + attributes = [attribute for attribute in result \ + if attribute[:2] != '__'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + def test_getAttributeNames_NoSingleOrDouble(self): + for item in self.items: + result = introspect.getAttributeNames(item, includeSingle=0, + includeDouble=0) + attributes = [attribute for attribute in result \ + if attribute[0] != '_'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + def _checkAttributeNames(self, item): + result = introspect.getAttributeNames(item) + attributes = [attribute for attribute in self.values \ + if hasattr(item, attribute)] + for attribute in attributes: + self.assert_(attribute in result, + ':item: %r :attribute: %r' % (item, attribute)) + + +class GetAutoCompleteListTestCase(GetAttributeTestCase): + + def setUp(self): + GetAttributeTestCase.setUp(self) + self.items = ( + 'None.', + '123 .', + '"".', + '[].', + '().', + '{}.', + # Builtin function. + 'len.', + # Builtin method. + '[].append.', + ) + + def test_getAutoCompleteList(self): + for item in self.items: + result = introspect.getAutoCompleteList(item) + object = eval(item[:-1]) + attributes = [attribute for attribute in self.values \ + if hasattr(object, attribute)] + for attribute in attributes: + self.assert_(attribute in result, + ':item: %r :attribute: %r' % (item, attribute)) + + def test_getAutoCompleteList_NoSingle(self): + for item in self.items: + result = introspect.getAutoCompleteList(item, includeSingle=0) + attributes = [attribute for attribute in result \ + if attribute[0] != '_' or attribute[:2] == '__'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + def test_getAutoCompleteList_NoDouble(self): + for item in self.items: + result = introspect.getAutoCompleteList(item, includeDouble=0) + attributes = [attribute for attribute in result \ + if attribute[:2] != '__'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + def test_getAutoCompleteList_NoSingleOrDouble(self): + for item in self.items: + result = introspect.getAutoCompleteList(item, includeSingle=0, + includeDouble=0) + attributes = [attribute for attribute in result \ + if attribute[0] != '_'] + self.assertEqual(result, attributes, + ':item: %r' % (item,)) + + +# Support for GetConstructorTestCase. + +class A1: + def __init__(self, a): + self.a = a + +class B1(A1): + def __init__(self, b): + self.b = b + +class C1(A1): + pass + +class D1(C1, B1): + pass + +if __builtins__.has_key('object'): + class A2(object): + def __init__(self, a): + self.a = a + + class B2(A2): + def __init__(self, b): + self.b = b + + class C2(A2): + pass + + class D2(C2, B2): + pass + +class N: + pass + +class O: + def __init__(self, a, b=2, *args, **kwargs): + pass + +class P(O): + pass + +class Q(P): + def __init__(self, c, d=4): + pass + +class GetConstructorTestCase(unittest.TestCase): + + def test_getConstructor(self): + args = ('self', 'a', 'b', 'args', 'kwargs') + varnames = introspect.getConstructor(O).func_code.co_varnames + self.assertEqual(varnames, args) + varnames = introspect.getConstructor(P).func_code.co_varnames + self.assertEqual(varnames, args) + args = ('self', 'c', 'd') + varnames = introspect.getConstructor(Q).func_code.co_varnames + self.assertEqual(varnames, args) + + def test_getConstructor_None(self): + values = (N, 1, 'spam', {}, [], (), dir) + for value in values: + self.assertEqual(introspect.getConstructor(N), None) + + def test_getConstructor_MultipleInheritance(self): + # Test old style inheritance rules. + args = ('self', 'a') + varnames = introspect.getConstructor(D1).func_code.co_varnames + self.assertEqual(varnames, args) + if __builtins__.has_key('object'): + # Test new style inheritance rules as well. + args = ('self', 'b') + varnames = introspect.getConstructor(D2).func_code.co_varnames + self.assertEqual(varnames, args) + + +if __name__ == '__main__': + unittest.main() diff --git a/wxPython/wxPython/py/tests/test_pseudo.py b/wxPython/wxPython/py/tests/test_pseudo.py new file mode 100644 index 0000000000..b6064b283e --- /dev/null +++ b/wxPython/wxPython/py/tests/test_pseudo.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import unittest + +# Import from this module's parent directory. +import os +import sys +sys.path.insert(0, os.pardir) +import pseudo +del sys.path[0] +del sys +del os + + +""" +These unittest methods are preferred: +------------------------------------- +self.assert_(expr, msg=None) +self.assertEqual(first, second, msg=None) +self.assertRaises(excClass, callableObj, *args, **kwargs) +self.fail(msg=None) +self.failIf(expr, msg=None) +""" + + +class ModuleTestCase(unittest.TestCase): + + def test_module(self): + module = pseudo + self.assert_(module.__author__) + self.assert_(module.__cvsid__) + self.assert_(module.__revision__) + self.assert_(module.PseudoFile) + self.assert_(module.PseudoFileErr) + self.assert_(module.PseudoFileIn) + self.assert_(module.PseudoFileOut) + self.assert_(module.PseudoKeyword) + + +class PseudoTestCase(unittest.TestCase): + + def setUp(self): + pass + + def tearDown(self): + pass + + +class PseudoFileTestCase(unittest.TestCase): + + def setUp(self): + pass + + def tearDown(self): + pass + + +class PseudoFileOutTestCase(unittest.TestCase): + + def setUp(self): + pass + + def tearDown(self): + pass + + def _write(self): + pass + + def test_PseudoFileOut_goodInit(self): + self.assert_(pseudo.PseudoFileOut(write=self._write)) + + def test_PseudoFileOut_badInit(self): + self.assertRaises(ValueError, pseudo.PseudoFileOut, write='bad') + + +if __name__ == '__main__': + unittest.main() diff --git a/wxPython/wxPython/py/tests/test_version.py b/wxPython/wxPython/py/tests/test_version.py new file mode 100644 index 0000000000..9eb40fb7cd --- /dev/null +++ b/wxPython/wxPython/py/tests/test_version.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + +import unittest + +import types + +# Import from this module's parent directory. +import os +import sys +sys.path.insert(0, os.pardir) +import version +del sys.path[0] +del sys +del os + + +""" +These unittest methods are preferred: +------------------------------------- +self.assert_(expr, msg=None) +self.assertEqual(first, second, msg=None) +self.assertRaises(excClass, callableObj, *args, **kwargs) +self.fail(msg=None) +self.failIf(expr, msg=None) +""" + + +class ModuleTestCase(unittest.TestCase): + + def test_module(self): + module = version + self.assert_(module.__author__) + self.assert_(module.__cvsid__) + self.assert_(module.__revision__) + self.assert_(module.VERSION) + + +class VersionTestCase(unittest.TestCase): + + def test_VERSION(self): + self.assert_(type(version.VERSION) is types.StringType) + + +if __name__ == '__main__': + unittest.main() diff --git a/wxPython/wxPython/py/tests/testall.py b/wxPython/wxPython/py/tests/testall.py new file mode 100644 index 0000000000..22669e777d --- /dev/null +++ b/wxPython/wxPython/py/tests/testall.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + + +import unittest +import glob +import os + + +def suite(): + """Return a test suite containing all test cases in all test modules. + Searches the current directory for any modules matching test_*.py.""" + suite = unittest.TestSuite() + for filename in glob.glob('test_*.py'): + module = __import__(os.path.splitext(filename)[0]) + suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(module)) + return suite + + +if __name__ == '__main__': + unittest.main(defaultTest='suite') + diff --git a/wxPython/wxPython/lib/PyCrust/version.py b/wxPython/wxPython/py/version.py similarity index 52% rename from wxPython/wxPython/lib/PyCrust/version.py rename to wxPython/wxPython/py/version.py index 3950c4a402..57d43f99f7 100644 --- a/wxPython/wxPython/lib/PyCrust/version.py +++ b/wxPython/wxPython/py/version.py @@ -1,11 +1,9 @@ """Provides an object representing the current 'version' or 'release' -of PyCrust as a whole. Individual classes, such as the shell, filling -and interpreter, each have a revision property based on the CVS -Revision.""" +of Py as a whole. Individual classes, such as the shell, filling and +interpreter, each have a revision property based on the CVS Revision.""" __author__ = "Patrick K. O'Brien " __cvsid__ = "$Id$" __revision__ = "$Revision$"[11:-2] -VERSION = '0.9' - +VERSION = '0.9.2' diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Accelerators.py b/wxPython/wxPython/py/wxd/Accelerators.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Accelerators.py rename to wxPython/wxPython/py/wxd/Accelerators.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/App.py b/wxPython/wxPython/py/wxd/App.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/App.py rename to wxPython/wxPython/py/wxd/App.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Base.py b/wxPython/wxPython/py/wxd/Base.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Base.py rename to wxPython/wxPython/py/wxd/Base.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/ClipDragDrop.py b/wxPython/wxPython/py/wxd/ClipDragDrop.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/ClipDragDrop.py rename to wxPython/wxPython/py/wxd/ClipDragDrop.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Config.py b/wxPython/wxPython/py/wxd/Config.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Config.py rename to wxPython/wxPython/py/wxd/Config.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Controls.py b/wxPython/wxPython/py/wxd/Controls.py similarity index 97% rename from wxPython/wxPython/lib/PyCrust/wxd/Controls.py rename to wxPython/wxPython/py/wxd/Controls.py index 1d1fad0210..0ae01ea9ec 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/Controls.py +++ b/wxPython/wxPython/py/wxd/Controls.py @@ -503,6 +503,19 @@ class GenericDirCtrl(Control): pass +class DirFilterListCtrl(Choice): + """""" + + def __init__(self, parent, id=-1, pos=wx.DefaultPosition, + size=wx.DefaultSize, style=0): + """""" + pass + + def FillFilterList(filter, defaultFilter): + """""" + pass + + class ListBox(ControlWithItems): """""" @@ -1126,11 +1139,11 @@ class Notebook(Control): """""" pass - def AddPage(self, pPage, strText, bSelect=False, imageId=-1): + def AddPage(self, page, text, select=False, imageId=-1): """""" pass - def AdvanceSelection(self, bForward=True): + def AdvanceSelection(self, forward=True): """""" pass @@ -1147,7 +1160,7 @@ class Notebook(Control): """""" pass - def DeletePage(self, nPage): + def DeletePage(self, page): """""" pass @@ -1155,7 +1168,7 @@ class Notebook(Control): """""" pass - def GetPage(self, nPage): + def GetPage(self, page): """""" pass @@ -1163,11 +1176,11 @@ class Notebook(Control): """""" pass - def GetPageImage(self, nPage): + def GetPageImage(self, page): """""" pass - def GetPageText(self, nPage): + def GetPageText(self, page): """""" pass @@ -1179,11 +1192,11 @@ class Notebook(Control): """""" pass - def InsertPage(self, nPage, pPage, strText, bSelect=False, imageId=-1): + def InsertPage(self, index, page, text, select=False, imageId=-1): """""" pass - def RemovePage(self, nPage): + def RemovePage(self, page): """""" pass @@ -1199,7 +1212,7 @@ class Notebook(Control): """""" pass - def SetPageImage(self, nPage, nImage): + def SetPageImage(self, page, image): """""" pass @@ -1207,11 +1220,11 @@ class Notebook(Control): """""" pass - def SetPageText(self, nPage, strText): + def SetPageText(self, page, text): """""" pass - def SetSelection(self, nPage): + def SetSelection(self, page): """""" pass diff --git a/wxPython/wxPython/lib/PyCrust/wxd/DataStructures.py b/wxPython/wxPython/py/wxd/DataStructures.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/DataStructures.py rename to wxPython/wxPython/py/wxd/DataStructures.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/DateTime.py b/wxPython/wxPython/py/wxd/DateTime.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/DateTime.py rename to wxPython/wxPython/py/wxd/DateTime.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Dialogs.py b/wxPython/wxPython/py/wxd/Dialogs.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Dialogs.py rename to wxPython/wxPython/py/wxd/Dialogs.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Drawing.py b/wxPython/wxPython/py/wxd/Drawing.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Drawing.py rename to wxPython/wxPython/py/wxd/Drawing.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Errors.py b/wxPython/wxPython/py/wxd/Errors.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Errors.py rename to wxPython/wxPython/py/wxd/Errors.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/EventFunctions.py b/wxPython/wxPython/py/wxd/EventFunctions.py similarity index 98% rename from wxPython/wxPython/lib/PyCrust/wxd/EventFunctions.py rename to wxPython/wxPython/py/wxd/EventFunctions.py index 24be2c9a13..b9e7f8a822 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/EventFunctions.py +++ b/wxPython/wxPython/py/wxd/EventFunctions.py @@ -788,7 +788,14 @@ def EVT_WINDOW_CREATE(win, func): """""" pass +def EVT_WINDOW_CREATE_ID(win, id, func): + """""" + pass + def EVT_WINDOW_DESTROY(win, func): """""" pass +def EVT_WINDOW_DESTROY_ID(win, id, func): + """""" + pass diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Events.py b/wxPython/wxPython/py/wxd/Events.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Events.py rename to wxPython/wxPython/py/wxd/Events.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/FileSystem.py b/wxPython/wxPython/py/wxd/FileSystem.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/FileSystem.py rename to wxPython/wxPython/py/wxd/FileSystem.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Frames.py b/wxPython/wxPython/py/wxd/Frames.py similarity index 67% rename from wxPython/wxPython/lib/PyCrust/wxd/Frames.py rename to wxPython/wxPython/py/wxd/Frames.py index 94c0e72074..49b5b21306 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/Frames.py +++ b/wxPython/wxPython/py/wxd/Frames.py @@ -37,9 +37,9 @@ class Frame(TopLevelWindow): name=wx.PyFrameNameStr): """Create a Frame instance. - parent - The window parent. This may be NULL. If it is - non-NULL, the frame will always be displayed on top of the - parent window on Windows. + parent - The window parent. This may be None. If it is not + None, the frame will always be displayed on top of the parent + window on Windows. id - The window identifier. It may take a value of -1 to indicate a default value. @@ -93,8 +93,8 @@ class Frame(TopLevelWindow): By default, the status bar is an instance of wx.StatusBar.""" pass - def CreateToolBar(self, style=wx.NO_BORDER|wx.TB_HORIZONTAL, id=-1, - name=wx.PyToolBarNameStr): + def CreateToolBar(self, style=wx.NO_BORDER | wx.TB_HORIZONTAL, + id=-1, name=wx.PyToolBarNameStr): """Create a toolbar at the top or left of frame. style - The toolbar style. See wxToolBar for a list of valid @@ -141,8 +141,7 @@ class Frame(TopLevelWindow): pass def GetStatusBarPane(self): - """Return status bar pane used to display menu and toolbar - help.""" + """Return status bar pane used to display menu/toolbar help.""" pass def GetToolBar(self): @@ -237,22 +236,102 @@ class Frame(TopLevelWindow): class LayoutAlgorithm(Object): - """""" + """LayoutAlgorithm implements layout of subwindows in MDI or SDI + frames. It sends a wx.CalculateLayoutEvent event to children of + the frame, asking them for information about their size. For MDI + parent frames, the algorithm allocates the remaining space to the + MDI client window (which contains the MDI child frames). For SDI + (normal) frames, a 'main' window is specified as taking up the + remaining space. + + Because the event system is used, this technique can be applied to + any windows, which are not necessarily 'aware' of the layout + classes. However, you may wish to use wx.SashLayoutWindow for + your subwindows since this class provides handlers for the + required events, and accessors to specify the desired size of the + window. The sash behaviour in the base class can be used, + optionally, to make the windows user-resizable. + + LayoutAlgorithm is typically used in IDE (integrated development + environment) applications, where there are several resizable + windows in addition to the MDI client window, or other primary + editing window. Resizable windows might include toolbars, a + project window, and a window for displaying error and warning + messages. + + When a window receives an OnCalculateLayout event, it should call + SetRect in the given event object, to be the old supplied + rectangle minus whatever space the window takes up. It should + also set its own size accordingly. + SashLayoutWindow.OnCalculateLayout generates an OnQueryLayoutInfo + event which it sends to itself to determine the orientation, + alignment and size of the window, which it gets from internal + member variables set by the application. + + The algorithm works by starting off with a rectangle equal to the + whole frame client area. It iterates through the frame children, + generating OnCalculateLayout events which subtract the window size + and return the remaining rectangle for the next window to process. + It is assumed (by SashLayoutWindow.OnCalculateLayout) that a + window stretches the full dimension of the frame client, according + to the orientation it specifies. For example, a horizontal window + will stretch the full width of the remaining portion of the frame + client area. In the other orientation, the window will be fixed + to whatever size was specified by OnQueryLayoutInfo. An alignment + setting will make the window 'stick' to the left, top, right or + bottom of the remaining client area. This scheme implies that + order of window creation is important. Say you wish to have an + extra toolbar at the top of the frame, a project window to the + left of the MDI client window, and an output window above the + status bar. You should therefore create the windows in this + order: toolbar, output window, project window. This ensures that + the toolbar and output window take up space at the top and bottom, + and then the remaining height in-between is used for the project + window. + + LayoutAlgorithm is quite independent of the way in which + OnCalculateLayout chooses to interpret a window's size and + alignment. Therefore you could implement a different window class + with a new OnCalculateLayout event handler, that has a more + sophisticated way of laying out the windows. It might allow + specification of whether stretching occurs in the specified + orientation, for example, rather than always assuming + stretching. (This could, and probably should, be added to the + existing implementation). + + The algorithm object does not respond to events, but itself + generates the following events in order to calculate window sizes: + EVT_QUERY_LAYOUT_INFO(func), EVT_CALCULATE_LAYOUT(func).""" def __init__(self): - """""" + """Create a LayoutAlgorithm instance.""" pass - def LayoutFrame(self): - """""" + def LayoutFrame(self, frame, mainWindow=wx.NULL): + """Lay out the children of a normal frame. + + mainWindow is set to occupy the remaining space. This + function simply calls LayoutWindow().""" pass - def LayoutMDIFrame(self): - """""" + def LayoutMDIFrame(self, frame, rect=wx.NULL): + """Lay out the children of an MDI parent frame. + + If rect is non-NULL, the given rectangle will be used as a + starting point instead of the frame's client area. + + The MDI client window is set to occupy the remaining space.""" pass - def LayoutWindow(self): - """""" + def LayoutWindow(self, parent, mainWindow=wx.NULL): + """Lay out the children of a normal frame or other window. + + mainWindow is set to occupy the remaining space. If this is + not specified, then the last window that responds to a + calculate layout event in query mode will get the remaining + space (that is, a non-query OnCalculateLayout event will not + be sent to this window and the window will be set to the + remaining size).""" pass diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Functions.py b/wxPython/wxPython/py/wxd/Functions.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Functions.py rename to wxPython/wxPython/py/wxd/Functions.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Help.py b/wxPython/wxPython/py/wxd/Help.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Help.py rename to wxPython/wxPython/py/wxd/Help.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/ImageHandlers.py b/wxPython/wxPython/py/wxd/ImageHandlers.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/ImageHandlers.py rename to wxPython/wxPython/py/wxd/ImageHandlers.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Joystick.py b/wxPython/wxPython/py/wxd/Joystick.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Joystick.py rename to wxPython/wxPython/py/wxd/Joystick.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/LayoutConstraints.py b/wxPython/wxPython/py/wxd/LayoutConstraints.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/LayoutConstraints.py rename to wxPython/wxPython/py/wxd/LayoutConstraints.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Logging.py b/wxPython/wxPython/py/wxd/Logging.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Logging.py rename to wxPython/wxPython/py/wxd/Logging.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Menus.py b/wxPython/wxPython/py/wxd/Menus.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Menus.py rename to wxPython/wxPython/py/wxd/Menus.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/MimeTypes.py b/wxPython/wxPython/py/wxd/MimeTypes.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/MimeTypes.py rename to wxPython/wxPython/py/wxd/MimeTypes.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Misc.py b/wxPython/wxPython/py/wxd/Misc.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Misc.py rename to wxPython/wxPython/py/wxd/Misc.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Panel.py b/wxPython/wxPython/py/wxd/Panel.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Panel.py rename to wxPython/wxPython/py/wxd/Panel.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Parameters.py b/wxPython/wxPython/py/wxd/Parameters.py similarity index 98% rename from wxPython/wxPython/lib/PyCrust/wxd/Parameters.py rename to wxPython/wxPython/py/wxd/Parameters.py index 2bc3c79592..60db3e157a 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/Parameters.py +++ b/wxPython/wxPython/py/wxd/Parameters.py @@ -36,6 +36,7 @@ _params = ( 'DefaultValidator', 'EmptyString', 'EVT_NULL', + 'HORIZONTAL', 'HSCROLL', 'NO_BORDER', 'NULL', diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Printing.py b/wxPython/wxPython/py/wxd/Printing.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Printing.py rename to wxPython/wxPython/py/wxd/Printing.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Process.py b/wxPython/wxPython/py/wxd/Process.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Process.py rename to wxPython/wxPython/py/wxd/Process.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/SashSplitter.py b/wxPython/wxPython/py/wxd/SashSplitter.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/SashSplitter.py rename to wxPython/wxPython/py/wxd/SashSplitter.py diff --git a/wxPython/wxPython/py/wxd/Sizers.py b/wxPython/wxPython/py/wxd/Sizers.py new file mode 100644 index 0000000000..918a80b7c2 --- /dev/null +++ b/wxPython/wxPython/py/wxd/Sizers.py @@ -0,0 +1,605 @@ +"""Decorator classes for documentation and shell scripting. + +Sizer is the abstract base class used for laying out subwindows in a +window. You cannot use Sizer directly; instead, you will have to use +one of the sizer classes derived from it. Currently there are +BoxSizer, StaticBoxSizer, NotebookSizer, GridSizer, and FlexGridSizer. + +The layout algorithm used by sizers in wxPython is closely related to +layout in other GUI toolkits, such as Java's AWT, the GTK toolkit or +the Qt toolkit. It is based upon the idea of the individual +subwindows reporting their minimal required size and their ability to +get stretched if the size of the parent window has changed. This will +most often mean, that the programmer does not set the original size of +a dialog in the beginning, rather the dialog will assigned a sizer and +this sizer will be queried about the recommended size. The sizer in +turn will query its children, which can be normal windows, empty space +or other sizers, so that a hierarchy of sizers can be constructed. +Note that wxSizer does not derive from wxWindow and thus do not +interfere with tab ordering and requires very little resources +compared to a real window on screen. + +What makes sizers so well fitted for use in wxPython is the fact that +every control reports its own minimal size and the algorithm can +handle differences in font sizes or different window (dialog item) +sizes on different platforms without problems. If e.g. the standard +font as well as the overall design of Motif widgets requires more +space than on Windows, the initial dialog size will automatically be +bigger on Motif than on Windows. + +If you wish to create a sizer class in wxPython you should derive the +class from PySizer in order to get Python-aware capabilities for the +various virtual methods. +""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + + +# These are not the real wxPython classes. These are Python versions +# for documentation purposes. They are also used to apply docstrings +# to the real wxPython classes, which are SWIG-generated wrappers for +# C-language classes. + + +from Base import Object +import Parameters as wx + +try: + True +except NameError: + True = 1==1 + False = 1==0 + + +class Sizer(Object): + """Sizer is the abstract base class used for laying out subwindows + in a window. You shouldn't use Sizer directly; instead, you should + use one of the sizer classes derived from it. + + If you wish to create a sizer class in wxPython you should derive + the class from PySizer in order to get Python-aware capabilities + for the various virtual methods. + + Placing a child sizer in a sizer allows you to create hierarchies + of sizers (typically a vertical box as the top sizer and several + horizontal boxes on the level beneath). + + When you place a window in a sizer the window's initial size + (either set explicitly by the user or calculated internally when + using wxDefaultSize) is interpreted as the minimal and in many + cases also the initial size. This is particularly useful in + connection with SetSizeHints. + + Adding spacers to sizers gives more flexibility in the design of + dialogs. Imagine for example a horizontal box with two buttons at + the bottom of a dialog: you might want to insert a space between + the two buttons and make that space stretchable using the + proportion flag and the result will be that the left button will + be aligned with the left side of the dialog and the right button + with the right side - the space in between will shrink and grow + with the dialog. + + Several methods (Add, Insert, Prepend) take the following + parameters: + + proportion - Used only by BoxSizer to indicate if a child of a + sizer can change its size in the main orientation of the BoxSizer, + where 0 stands for not changeable and a value of more than zero is + interpreted relative to the value of other children of the same + BoxSizer. For example, you might have a horizontal BoxSizer with + three children, two of which are supposed to change their size + with the sizer. Then the two stretchable windows would each get a + value of 1 to make them grow and shrink equally with the sizer's + horizontal dimension. + + flag - This parameter can be used to set a number of flags which + can be combined using the binary OR operator |. Two main + behaviours are defined using these flags. One is the border + around a window: the border parameter determines the border width + whereas the flags given here determine where the border may be + (wx.TOP, wx.BOTTOM, wx.LEFT, wx.RIGHT or wx.ALL). The other flags + determine the child window's behaviour if the size of the sizer + changes. However this is not - in contrast to the proportion flag + - in the main orientation, but in the respectively other + orientation. So if you created a BoxSizer with the wx.VERTICAL + option, these flags will be relevant if the sizer changes its + horizontal size. A child may get resized to completely fill out + the new size (using either wx.GROW or wx.EXPAND), it may get + proportionally resized (wx.SHAPED), it may get centered + (wx.ALIGN_CENTER or wx.ALIGN_CENTRE) or it may get aligned to + either side (wx.ALIGN_LEFT and wx.ALIGN_TOP are set to 0 and thus + represent the default, wx.ALIGN_RIGHT and wx.ALIGN_BOTTOM have + their obvious meaning). With proportional resize, a child may + also be centered in the main orientation using + wx.ALIGN_CENTER_VERTICAL (same as wx.ALIGN_CENTRE_VERTICAL) and + wx.ALIGN_CENTER_HORIZONTAL (same as wx.ALIGN_CENTRE_HORIZONTAL) + flags. Finally, you can also specify wx.ADJUST_MINSIZE flag to + make the minimal size of the control dynamically adjust to the + value returned by its GetAdjustedBestSize() method - this allows, + for example, for correct relayouting of a static text control even + if its text is changed during run-time. + + border - Determines the border width, if the flag parameter is set + to any border. A border is not a visible element, but rather a + margin of empty space surrounding the item. + + userData - Allows an extra object to be attached to the sizer + item, for use in derived classes when sizing information is more + complex than the option and flag parameters will allow.""" + + def __init__(self): + """Must be defined by subclasses.""" + pass + + def Add(self, item, proportion=0, flag=0, border=0, + userData=wx.NULL): + """Add item to sizer. + + item - window, sizer, or spacer. Spacer is specified with a + (width, height) tuple or wx.Size representing the spacer size. + + Call Layout() to update the layout on-screen after adding.""" + pass + + def Clear(self, delete_windows=False): + """Remove all items from this sizer. + + If delete_windows is True, destroy any window items.""" + pass + + def DeleteWindows(self): + """Destroy windows associated with this sizer.""" + pass + + def Destroy(self): + """Destroy the sizer.""" + pass + + def Fit(self, window): + """Resize window to match sizer's minimal size; return size. + + This is commonly done in the constructor of the window itself.""" + pass + + def FitInside(self, window): + """Resize window virtual size to match sizer's minimal size. + + This will not alter the on screen size of the window, but may + cause the addition/removal/alteration of scrollbars required + to view the virtual area in windows which manage it.""" + pass + + def GetChildren(self): + """Return list of SizerItem instances.""" + pass + + def GetMinSize(self): + """Return the minimal size of the sizer. + + This is either the combined minimal size of all the children + and their borders or the minimal size set by SetMinSize, + whichever is larger.""" + pass + + def GetMinSizeTuple(self): + """Return the minimal size of the sizer as a tuple. + + This is either the combined minimal size of all the children + and their borders or the minimal size set by SetMinSize, + whichever is larger.""" + pass + + def GetPosition(self): + """Return the current position of the sizer.""" + pass + + def GetPositionTuple(self): + """Return the current position of the sizer as a tuple.""" + pass + + def GetSize(self): + """Return the current size of the sizer.""" + pass + + def GetSizeTuple(self): + """Return the current size of the sizer as a tuple.""" + pass + + def Hide(self, item): + """Hide item (sizer or window). To make a sizer item + disappear on-screen, use Hide() followed by Layout().""" + pass + + def Insert(self, before, item, proportion=0, flag=0, border=0, + userData=wx.NULL): + """Same as Add, but inserts item into list of items (windows, + subsizers or spacers) owned by this sizer. + + Call Layout() to update the layout on-screen after inserting.""" + pass + + def IsShown(self, item): + """Return True if item (sizer or window) is shown.""" + pass + + def Layout(self): + """Force layout of children anew. + + Use after adding or removing a child (window, other sizer, or + spacer) from the sizer while keeping the current dimension.""" + pass + + def Prepend(self, item, proportion=0, flag=0, border=0, + userData=wx.NULL): + """Same as Add, but prepends item to beginning of list of + items (windows, subsizers or spacers) owned by this sizer. + + Call Layout() to update the layout on-screen after prepending.""" + pass + + def Remove(self, item): + """Remove item from the sizer. + + item - sizer, window, or index of item in the sizer, typically + 0 for the first item. + + Does not cause any layout or resizing to take place, and does + not delete the child itself. Call Layout() to update the + layout on-screen after removing child. + + Return True if child found and removed, False otherwise.""" + pass + + def SetDimension(self, x, y, width, height): + """Force sizer to take the given dimension and thus force + items owned by sizer to resize themselves according to the + rules defined by the parameter in the Add and Prepend methods.""" + pass + + def SetItemMinSize(self, item, width, height): + """Set minimal size of item. + + item - sizer, window, or index of item in the sizer, typically + 0 for the first item. + + The item will be found recursively in the sizer's descendants. + Enables application to set size of item after initialization.""" + pass + + def SetMinSize(self, size): + """Set minimal size. + + Normally, sizer will calculate minimal size based on how much + space its children need. After calling this method, + GetMinSize will return the minimal size as requested by its + children or the minimal size set here, whichever is larger.""" + pass + + def SetSizeHints(self, window): + """Set (and Fit) minimal size of window to match sizer's + minimal size. Commonly called in the window's init.""" + pass + + def SetVirtualSizeHints(self, window): + """Set minimal size of window virtual area to match sizer's + minimal size. For windows with managed scrollbars this will + set them appropriately.""" + pass + + def Show(self, item, show=True): + """Show or hide item (sizer or window). To make item + disappear or reappear on-screen, use Show() followed by + Layout().""" + pass + + def ShowItems(self, show): + """Recursively call Show() on all sizer items.""" + pass + + +class PySizer(Sizer): + """If you wish to create a custom sizer class you should derive + the class from PySizer in order to get Python-aware capabilities + for the various virtual methods.""" + + def __init__(self): + """Create a PySizer instance. Override in subclass.""" + pass + + +class BoxSizer(Sizer): + """A box sizer is used to lay out a rather simple geometry, + typically a row or column or several hierarchies of either.""" + + def __init__(self, orient=wx.HORIZONTAL): + """Create BoxSizer instance. + + orient is either wx.VERTICAL or wx.HORIZONTAL""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def GetOrientation(self): + """Return orientation: wx.VERTICAL or wx.HORIZONTAL.""" + pass + + def RecalcSizes(self): + """Recalculate sizes, then set the size of its children + (calling SetSize if child is a window). Do not call directly.""" + pass + + def SetOrientation(self, orient): + """Set orientation to either wx.VERTICAL or wx.HORIZONTAL.""" + pass + + +class StaticBoxSizer(BoxSizer): + """Like BoxSizer, but adds a static box around the sizer. Note + that the static box has to be created separately.""" + + def __init__(self, box, orient=wx.HORIZONTAL): + """Create StaticBoxSizer instance. + + box - instance of wx.StaticBox + + orient - either wx.VERTICAL or wx.HORIZONTAL""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def GetStaticBox(self): + """Return the static box associated with the sizer.""" + pass + + def RecalcSizes(self): + """Recalculate sizes, then set the size of its children + (calling SetSize if child is a window). Do not call directly.""" + pass + + +class GridSizer(Sizer): + """A grid sizer lays out its children in a two-dimensional table + where all cells have the same size: the width of each cell is the + width of the widest child, the height of each cell is the height + of the tallest child. See also the FlexGridSizer.""" + + def __init__(self, rows=1, cols=0, vgap=0, hgap=0): + """Create a GridSizer instance. + + rows and cols - the number of rows and columns in the grid; if + either is zero, it will be calculated as the number of + children in the sizer, allowing the sizer grow dynamically. + + vgap and hgap - extra space between all cells, in pixels.""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def GetCols(self): + """Return the number of columns in the grid.""" + pass + + def GetHGap(self): + """Return the horizontal gap (in pixels) between cells.""" + pass + + def GetRows(self): + """Return the number of rows in the grid.""" + pass + + def GetVGap(self): + """Return the vertical gap (in pixels) between cells.""" + pass + + def RecalcSizes(self): + """Recalculate sizes, then set the size of its children + (calling SetSize if child is a window). Do not call directly.""" + pass + + def SetCols(self, cols): + """Set the number of columns in the grid.""" + pass + + def SetHGap(self, gap): + """Set the horizontal gap (in pixels) between cells.""" + pass + + def SetRows(self, rows): + """Sets the number of rows in the grid.""" + pass + + def SetVGap(self, gap): + """Set the vertical gap (in pixels) between cells.""" + pass + + +class FlexGridSizer(GridSizer): + """A flex grid sizer lays out its children in a two-dimensional + table where all cells in one row have the same height and all + cells in one column have the same width, but all cells are not + necessarily the same height and width, as in the GridSizer.""" + + def __init__(self, rows=1, cols=0, vgap=0, hgap=0): + """Create a GridSizer instance. + + rows and cols - the number of rows and columns in the grid; if + either is zero, it will be calculated as the number of + children in the sizer, allowing the sizer grow dynamically. + + vgap and hgap - extra space between all cells, in pixels.""" + pass + + def AddGrowableCol(self, idx): + """Specify that column idx (starting from zero) should expand + if there is extra space available to the sizer.""" + pass + + def AddGrowableRow(self, idx): + """Specify that row idx (starting from zero) should expand if + there is extra space available to the sizer.""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def RecalcSizes(self): + """Recalculate sizes, then set the size of its children + (calling SetSize if child is a window). Do not call directly.""" + pass + + def RemoveGrowableCol(self, idx): + """Specify that column idx is no longer growable.""" + pass + + def RemoveGrowableRow(self, idx): + """Specify that row idx is no longer growable.""" + pass + + +class NotebookSizer(Sizer): + """NotebookSizer works with a notebook to determine the size of + the biggest page and report an adjusted minimal size to a more + toplevel sizer. Do not add children to a NotebookSizer.""" + + def __init__(self, nb): + """Create a NotebookSizer instance for notebook.""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def GetNotebook(self): + """Return the notebook associated with the sizer.""" + pass + + def RecalcSizes(self): + """Recalculate size. Do not call directly.""" + pass + + +class SizerItem(Object): + """SizerItem class. Wrapper for items managed by a sizer.""" + + def __init__(self, this): + """Create a SizerItem instance. You don't normally create one + directly.""" + pass + + def CalcMin(self): + """Calculate minimum size. Do not call directly.""" + pass + + def DeleteWindows(self): + """Recursively destroy windows associated with this SizerItem.""" + pass + + def GetBorder(self): + """Return border width.""" + pass + + def GetFlag(self): + """Return flag value.""" + pass + + def GetOption(self): + """Return option value.""" + pass + + def GetPosition(self): + """Return wx.Point instance representing position relative to + the client area.""" + pass + + def GetRatio(self): + """Return a floating point aspect ratio (width/height). If + wx.SHAPED flag is used item will maintain ratio when resized.""" + pass + + def GetSize(self): + """Return wx.Size instance with size.""" + pass + + def GetSizer(self): + """If IsSizer() return the sizer; otherwise return None.""" + pass + + def GetUserData(self): + """Return a wx.PyUserData object.""" + pass + + def GetWindow(self): + """If IsWindow() return the window; otherwise return None.""" + pass + + def IsShown(self): + """Return True if item is shown.""" + pass + + def IsSizer(self): + """Return True if SizerItem represents a sizer.""" + pass + + def IsSpacer(self): + """Return True if SizerItem represents a spacer.""" + pass + + def IsWindow(self): + """Return True if SizerItem represents a window.""" + pass + + def SetBorder(self, border): + """Set border width for item.""" + pass + + def SetDimension(self, pos, size): + """Set position and size for item.""" + pass + + def SetFlag(self, flag): + """Set flag for item.""" + pass + + def SetInitSize(self, x, y): + """Set initial size of item.""" + pass + + def SetOption(self, option): + """Set option for item.""" + pass + + def SetRatio(self, ratio): + """Set a floating point aspect ratio (width/height). If + wx.SHAPED flag is used item will maintain ratio when resized.""" + pass + + def SetRatioSize(self, size): + """Set a floating point aspect ratio (width/height). If + wx.SHAPED flag is used item will maintain ratio when resized.""" + pass + + def SetRatioWH(self, width, height): + """Set a floating point aspect ratio (width/height). If + wx.SHAPED flag is used item will maintain ratio when resized.""" + pass + + def SetSizer(self, sizer): + """Set sizer associated with SizerItem.""" + pass + + def SetWindow(self, window): + """Set window associated with SizerItem.""" + pass + + def Show(self, show): + """Is show is True, show item, otherwise hide item.""" + pass diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Streams.py b/wxPython/wxPython/py/wxd/Streams.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Streams.py rename to wxPython/wxPython/py/wxd/Streams.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/StyledTextConstants.py b/wxPython/wxPython/py/wxd/StyledTextConstants.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/StyledTextConstants.py rename to wxPython/wxPython/py/wxd/StyledTextConstants.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Threading.py b/wxPython/wxPython/py/wxd/Threading.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Threading.py rename to wxPython/wxPython/py/wxd/Threading.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/ToolBar.py b/wxPython/wxPython/py/wxd/ToolBar.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/ToolBar.py rename to wxPython/wxPython/py/wxd/ToolBar.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Tree.py b/wxPython/wxPython/py/wxd/Tree.py similarity index 82% rename from wxPython/wxPython/lib/PyCrust/wxd/Tree.py rename to wxPython/wxPython/py/wxd/Tree.py index 46ae981f33..9b71efd20e 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/Tree.py +++ b/wxPython/wxPython/py/wxd/Tree.py @@ -18,7 +18,10 @@ import Parameters as wx class TreeCtrl(Control): - """""" + """A tree control presents information as a hierarchy, with items + that may be expanded to show further items. Items in a tree + control are referenced by wx.TreeItemId handles, which may be + tested for validity by calling TreeItemId.IsOk().""" def AddRoot(self): """""" @@ -354,49 +357,47 @@ class TreeItemAttr: class TreeItemData(Object): - """""" + """TreeItemData is some (arbitrary) user class associated with + some item. The main advantage of having this class is that + TreeItemData objects are destroyed automatically by the tree and + the memory and any other resources associated with a tree item + will be automatically freed when it is deleted.""" - def GetData(self): - """""" + def __init__(self, obj=wx.NULL): + """Associate any Python object with tree item using + wxTreeItemData as container.""" pass - def GetId(self): - """""" + def GetData(self): + """Return the Python object.""" pass - def SetData(self): - """""" + def GetId(self): + """Return the item associated with this node.""" pass - def SetId(self): - """""" + def SetData(self, obj): + """Associate Python object with tree item.""" pass - def __init__(self): - """""" + def SetId(self, id): + """Set the item associated with this node.""" pass class TreeItemId: - """""" - - def IsOk(self): - """""" - pass + """Item in a TreeCtrl.""" - def Ok(self): - """""" - pass +## You wouldn't create these directly. - def __cmp__(self): - """""" - pass +## def __init__(self): +## """""" +## pass - def __del__(self): - """""" + def IsOk(self): + """Return True if item is valid.""" pass - def __init__(self): - """""" + def Ok(self): + """Synonym for IsOk.""" pass - diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Validators.py b/wxPython/wxPython/py/wxd/Validators.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Validators.py rename to wxPython/wxPython/py/wxd/Validators.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/Window.py b/wxPython/wxPython/py/wxd/Window.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/Window.py rename to wxPython/wxPython/py/wxd/Window.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/__init__.py b/wxPython/wxPython/py/wxd/__init__.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/__init__.py rename to wxPython/wxPython/py/wxd/__init__.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/d_stc.py b/wxPython/wxPython/py/wxd/d_stc.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/d_stc.py rename to wxPython/wxPython/py/wxd/d_stc.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/d_wx.py b/wxPython/wxPython/py/wxd/d_wx.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/d_wx.py rename to wxPython/wxPython/py/wxd/d_wx.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/decorator.py b/wxPython/wxPython/py/wxd/decorator.py similarity index 98% rename from wxPython/wxPython/lib/PyCrust/wxd/decorator.py rename to wxPython/wxPython/py/wxd/decorator.py index 6765268f5b..1139d0b75c 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/decorator.py +++ b/wxPython/wxPython/py/wxd/decorator.py @@ -29,7 +29,8 @@ def decorateClass(item, realdict): try: wxclass = realdict[classname] except: - print classname + # print classname + pass else: if item.__doc__: wxclass.__doc__ = item.__doc__ diff --git a/wxPython/wxPython/lib/PyCrust/wxd/gen.py b/wxPython/wxPython/py/wxd/gen.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/gen.py rename to wxPython/wxPython/py/wxd/gen.py diff --git a/wxPython/wxPython/py/wxd/genapi.py b/wxPython/wxPython/py/wxd/genapi.py new file mode 100644 index 0000000000..8b09cc3380 --- /dev/null +++ b/wxPython/wxPython/py/wxd/genapi.py @@ -0,0 +1,133 @@ +"""API generator for decorator classes. +""" + +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] + + +import inspect +import os +import sys +import types + + +header = '''\ +"""wxPython decorator classes. + +This file is automatically generated, and these are not the real +wxPython classes. These are Python versions for API documentation +purposes only. + +Please send corrections, questions, and suggestions to: + +Patrick K. O'Brien +""" + +__author__ = "Patrick K. O'Brien " + +from wxd import Parameters as wx + +try: + True +except NameError: + True = 1==1 + False = 1==0 +''' + +modlist = [ + 'Base', + 'Window', + 'Frames', + 'Accelerators', + 'App', + 'ClipDragDrop', + 'Config', + 'Controls', + 'DataStructures', + 'DateTime', + 'Dialogs', + 'Drawing', + 'Errors', + 'EventFunctions', + 'Events', + 'FileSystem', + 'Functions', + 'Help', + 'ImageHandlers', + 'Joystick', + 'LayoutConstraints', + 'Logging', + 'Menus', + 'MimeTypes', + 'Misc', + 'Panel', + 'Printing', + 'Process', + 'SashSplitter', + 'Sizers', + 'Streams', + 'Threading', + 'ToolBar', + 'Tree', + 'Validators', + ] + +dir = os.path.realpath('api/wx/') +filename = os.path.join(dir, '__init__.py') + +def main(): + modules = {} + f = file(filename, 'w') + f.write(header) + for modname in modlist: + modules[modname] = __import__(modname, globals()) + for modname in modlist: + module = modules[modname] + try: + source = inspect.getsource(module) + except IOError: + print 'No source for', module + else: + # Remove everything up to the first class or function definition. + splitter = '\n\nclass ' + parts = source.split(splitter, 1) + if len(parts) == 2: + source = splitter + parts[1] + else: + splitter = '\n\ndef ' + parts = source.split(splitter, 1) + if len(parts) == 2: + source = splitter + parts[1] + source = '\n\n\n' + source.strip() + f.write(source) + print 'Writing', modname + f.write('\n') + f.close() + + # Add constants and any other missing stuff. + f = file(filename, 'a') + f.write('\n\n## Other Stuff:\n\n') + import wx as old + old = old.__dict__ + sys.path.insert(0, dir) # Munge the sys.path so that we can + import __init__ # import the file we just created. + new = __init__.__dict__ + l = [(k, v) for (k, v) in old.items() if (not k.startswith('_') + and not k.endswith('Ptr') + and not (k == 'cvar'))] + l.sort() + from wxPython import wx + for key, value in l: + if key not in new: + if (inspect.isclass(value) + or inspect.isroutine(value) + or type(value) is types.InstanceType): + value = repr(value) + text = '%s = %r' % (key, value) + f.write(text + '\n') + print 'Writing', text + f.close() + +if __name__ == '__main__': + main() diff --git a/wxPython/wxPython/lib/PyCrust/wxd/stc_.py b/wxPython/wxPython/py/wxd/stc_.py similarity index 100% rename from wxPython/wxPython/lib/PyCrust/wxd/stc_.py rename to wxPython/wxPython/py/wxd/stc_.py diff --git a/wxPython/wxPython/lib/PyCrust/wxd/wx_.py b/wxPython/wxPython/py/wxd/wx_.py similarity index 89% rename from wxPython/wxPython/lib/PyCrust/wxd/wx_.py rename to wxPython/wxPython/py/wxd/wx_.py index 492d623714..90fea4db74 100644 --- a/wxPython/wxPython/lib/PyCrust/wxd/wx_.py +++ b/wxPython/wxPython/py/wxd/wx_.py @@ -1,4 +1,8 @@ """Decorator classes for documentation and shell scripting. + +Information contained in this module, and all modules imported by this +module, is covered by the wxWindows Free Documentation Licence. See +the LICENSE.txt file for details. """ __author__ = "Patrick K. O'Brien " diff --git a/wxPython/wxPython/tools/XRCed/CHANGES.txt b/wxPython/wxPython/tools/XRCed/CHANGES.txt index 3945253906..567f7b7932 100644 --- a/wxPython/wxPython/tools/XRCed/CHANGES.txt +++ b/wxPython/wxPython/tools/XRCed/CHANGES.txt @@ -1,3 +1,39 @@ +0.1.1-3 +------- + +Sizes of some controls were not normal on wxMSW. Fixed. + +Some changes to test window code to make it resize better and to +have focus control with sawfish for all types of windows. + +0.1.1-2 +------- + +Bugs with currentEncoding and frame testing fixed. + +Some required parameters are set to default if missing. + +Unsupported classes are tolerated, with warning message. + +wxScrolledWindow added (to 'control' pulldown menu, not yet to the +tool palette). + +Multi-line editing for labels and some values (wxTextCtrl, +wxHtmlWindow). + +0.1.1-1 +------- + +Changed internationalization support. '-i' option removed, default +encoding is used (should be defined in sitecustomize.py, or 'ascii' by +default). When XRC file is opened with encoding specified, +translations are not used. + +0.1.1 +----- + +Replace command added (not quite finished yet). + 0.1.0 ----- @@ -11,6 +47,7 @@ Fixed double-refreshing after Ctrl+R. Maybe something else that I've forgot. It's been a looong day... :) + 0.0.9-6 ------- diff --git a/wxPython/wxPython/tools/XRCed/XRCed_16.png b/wxPython/wxPython/tools/XRCed/XRCed_16.png new file mode 100644 index 0000000000000000000000000000000000000000..e47a565a064f8af91669b7f5dabb4135f8aff467 GIT binary patch literal 542 zcmV+(0^$9MP)8L{vkt0Li)!}t965)aHDj6KC)`}tc z@h#u?@#Ft}|1W1|2LBUFTI*mX7^S23^Y+$@Eg^*GdY}FIyKHpGkP`O?mgv*_R387?us+ z2O$`x_?Y6JeT%;Z)N5F_p*7qpwzpBQfiWmG2Nue>&v0?o2O$N7 z6u3|KNUoX$!lpt*Rogwu+RzviKMnxb%eCr6L||qxa|Brfbx6|mr?tl?A@?{CQl8c| z*mZrE`PaA=Gr$*yF$TKPVCGngwr#(>skT{su9s_^1ICzm&&+uSYHgRcjkR_+14^lE zw?tH(17&B#Nf>IGUWo{HvN1E^T{`iUQrqbUpzAvbDRw8}%g&J{)vQh#wCZBkfKlrUYi_%=v5=vTk!^5dHiQoDSeGrge!+LXS9400000 LNkvXXu0mjfOm3_rAvilu~YobI!ow2@(~Fx)~yh$j&N? z9(YyrANciPpP@3$Y93DfRghAuj4R#>%0B!2{RLP=Bz2nYy#2xN!=004POL_t(|ob8i44uBvKL?4ENl4DR< za9obV5hyG;iiL?5ATcKRfyTn=9x#&$n-yAXdNg#oKM^42WnNp&N-88kjPbSEdk>HT z0L*ApDiEfCF_~pzo0-hJy8oawP^SweYcDIu$68Og1UTnzN*`WJ0L^0r5dSW)0YI7@ UiCEYGv;Y7A07*qoM6N<$f`SY^zW@LL diff --git a/wxPython/wxPython/tools/XRCed/tools.py b/wxPython/wxPython/tools/XRCed/tools.py index 718385ed99..5cca5d282b 100644 --- a/wxPython/wxPython/tools/XRCed/tools.py +++ b/wxPython/wxPython/tools/XRCed/tools.py @@ -178,6 +178,7 @@ class Tools(wxPanel): # Update interface def UpdateUI(self): + if not self.IsShown(): return # Update status bar pullDownMenu = g.pullDownMenu tree = g.tree diff --git a/wxPython/wxPython/tools/XRCed/tree.py b/wxPython/wxPython/tools/XRCed/tree.py index 4036f5d249..6e8c192550 100644 --- a/wxPython/wxPython/tools/XRCed/tree.py +++ b/wxPython/wxPython/tools/XRCed/tree.py @@ -6,6 +6,9 @@ from xxx import * # xxx imports globals and params +# Constant to define standart window name +STD_NAME = '_XRCED_T_W' + # Icons import images @@ -68,6 +71,7 @@ class ID_NEW: LIST_CTRL = wxNewId() CHECK_LIST = wxNewId() NOTEBOOK = wxNewId() + SCROLLED_WINDOW = wxNewId() HTML_WINDOW = wxNewId() CALENDAR_CTRL = wxNewId() GENERIC_DIR_CTRL = wxNewId() @@ -84,7 +88,7 @@ class ID_NEW: MENU = wxNewId() MENU_ITEM = wxNewId() SEPARATOR = wxNewId() - LAST = wxNewId() + LAST = wxNewId() class PullDownMenu: ID_EXPAND = wxNewId() @@ -94,6 +98,7 @@ class PullDownMenu: def __init__(self, parent): self.ID_DELETE = parent.ID_DELETE EVT_MENU_RANGE(parent, ID_NEW.PANEL, ID_NEW.LAST, parent.OnCreate) + EVT_MENU_RANGE(parent, 1000 + ID_NEW.PANEL, 1000 + ID_NEW.LAST, parent.OnReplace) EVT_MENU(parent, self.ID_COLLAPSE, parent.OnCollapse) EVT_MENU(parent, self.ID_EXPAND, parent.OnExpand) EVT_MENU(parent, self.ID_PASTE_SIBLING, parent.OnPaste) @@ -136,6 +141,7 @@ class PullDownMenu: ID_NEW.LIST_CTRL: 'wxListCtrl', ID_NEW.CHECK_LIST: 'wxCheckList', ID_NEW.NOTEBOOK: 'wxNotebook', + ID_NEW.SCROLLED_WINDOW: 'wxScrolledWindow', ID_NEW.HTML_WINDOW: 'wxHtmlWindow', ID_NEW.CALENDAR_CTRL: 'wxCalendarCtrl', ID_NEW.GENERIC_DIR_CTRL: 'wxGenericDirCtrl', @@ -148,6 +154,29 @@ class PullDownMenu: ID_NEW.SPACER: 'spacer', ID_NEW.UNKNOWN: 'unknown', } + self.topLevel = [ + (ID_NEW.PANEL, 'Panel', 'Create panel'), + (ID_NEW.DIALOG, 'Dialog', 'Create dialog'), + (ID_NEW.FRAME, 'Frame', 'Create frame'), + None, + (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'), + (ID_NEW.MENU_BAR, 'MenuBar', 'Create menubar'), + (ID_NEW.MENU, 'Menu', 'Create menu') + ] + self.containers = [ + (ID_NEW.PANEL, 'Panel', 'Create panel'), + (ID_NEW.NOTEBOOK, 'Notebook', 'Create notebook control'), + (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'), + ] + self.sizers = [ + (ID_NEW.BOX_SIZER, 'BoxSizer', 'Create box sizer'), + (ID_NEW.STATIC_BOX_SIZER, 'StaticBoxSizer', + 'Create static box sizer'), + (ID_NEW.GRID_SIZER, 'GridSizer', 'Create grid sizer'), + (ID_NEW.FLEX_GRID_SIZER, 'FlexGridSizer', + 'Create flexgrid sizer'), + (ID_NEW.SPACER, 'Spacer', 'Create spacer'), + ] self.controls = [ ['control', 'Various controls', (ID_NEW.STATIC_TEXT, 'Label', 'Create label'), @@ -162,6 +191,7 @@ class PullDownMenu: (ID_NEW.TREE_CTRL, 'TreeCtrl', 'Create tree'), (ID_NEW.LIST_CTRL, 'ListCtrl', 'Create list'), (ID_NEW.CHECK_LIST, 'CheckList', 'Create check list'), + (ID_NEW.SCROLLED_WINDOW, 'ScrolledWindow', 'Create scrolled window'), (ID_NEW.HTML_WINDOW, 'HtmlWindow', 'Create HTML window'), (ID_NEW.CALENDAR_CTRL, 'CalendarCtrl', 'Create calendar control'), (ID_NEW.GENERIC_DIR_CTRL, 'GenericDirCtrl', 'Create generic dir control'), @@ -246,6 +276,19 @@ def SetMenu(m, list): m.AppendMenu(wxNewId(), l[0], subMenu, l[1]) else: # separator m.AppendSeparator() +# Same, but adds 1000 to all IDs +def SetMenu2(m, list): + for l in list: + if type(l) == types.TupleType: + # Shift ID + l = (1000 + l[0],) + l[1:] + apply(m.Append, l) + elif type(l) == types.ListType: + subMenu = wxMenu() + SetMenu2(subMenu, l[2:]) + m.AppendMenu(wxNewId(), l[0], subMenu, l[1]) + else: # separator + m.AppendSeparator() ################################################################################ @@ -279,11 +322,10 @@ class HighLightBox: ################################################################################ class XML_Tree(wxTreeCtrl): - # Constant to define standart window name - stdName = '_XRCED_T_W' def __init__(self, parent, id): wxTreeCtrl.__init__(self, parent, id, style = wxTR_HAS_BUTTONS) self.SetBackgroundColour(wxColour(224, 248, 224)) + # Register events EVT_TREE_SEL_CHANGED(self, self.GetId(), self.OnSelChanged) # One works on Linux, another on Windows if wxPlatform == '__WXGTK__': @@ -291,7 +333,10 @@ class XML_Tree(wxTreeCtrl): else: EVT_LEFT_DCLICK(self, self.OnDClick) EVT_RIGHT_DOWN(self, self.OnRightDown) + EVT_TREE_ITEM_EXPANDED(self, self.GetId(), self.OnItemExpandedCollapsed) + EVT_TREE_ITEM_COLLAPSED(self, self.GetId(), self.OnItemExpandedCollapsed) + self.selection = None self.needUpdate = False self.pendingHighLight = None self.ctrl = self.shift = False @@ -413,6 +458,7 @@ class XML_Tree(wxTreeCtrl): elif n.nodeType != minidom.Node.ELEMENT_NODE: treeObj.element.removeChild(n) n.unlink() + # Insert new item at specific position def InsertNode(self, itemParent, parent, elem, nextItem): # Insert in XML tree and wxWin @@ -471,6 +517,7 @@ class XML_Tree(wxTreeCtrl): pos = obj.GetPosition() if pos == (-1,-1): pos = (0,0) return parentPos + pos + # Find window (or sizer) corresponding to a tree item. def FindNodeObject(self, item): testWin = g.testWin @@ -493,6 +540,7 @@ class XML_Tree(wxTreeCtrl): if isinstance(child, wxNotebookSizerPtr): child = child.GetNotebook() return child + def OnSelChanged(self, evt): # Apply changes # !!! problem with wxGTK - GetOldItem is Ok if nothing selected @@ -523,6 +571,7 @@ class XML_Tree(wxTreeCtrl): g.tools.UpdateUI() # Hightlighting is done in OnIdle self.pendingHighLight = self.selection + # Check if item is in testWin subtree def IsHighlatable(self, item): if item == g.testWin.item: return False @@ -530,6 +579,7 @@ class XML_Tree(wxTreeCtrl): item = self.GetItemParent(item) if item == g.testWin.item: return True return False + # Highlight selected item def HighLight(self, item): self.pendingHighLight = None @@ -551,6 +601,7 @@ class XML_Tree(wxTreeCtrl): else: g.testWin.highLight = HighLightBox(pos, size) g.testWin.highLight.item = item + def ShowTestWindow(self, item): xxx = self.GetPyData(item) if g.panel.IsModified(): @@ -566,10 +617,12 @@ class XML_Tree(wxTreeCtrl): self.CreateTestWin(item) # Maybe an error occured, so we need to test if g.testWin: self.SetItemBold(g.testWin.item) + # Double-click on Linux def OnItemActivated(self, evt): if evt.GetItem() != self.root: self.ShowTestWindow(evt.GetItem()) + # Double-click on Windows def OnDClick(self, evt): item, flags = self.HitTest(evt.GetPosition()) @@ -577,13 +630,32 @@ class XML_Tree(wxTreeCtrl): if item != self.root: self.ShowTestWindow(item) else: evt.Skip() + + def OnItemExpandedCollapsed(self, evt): + # Update tool palette + g.tools.UpdateUI() + evt.Skip() + # (re)create test window def CreateTestWin(self, item): testWin = g.testWin - wxBeginBusyCursor() - wxYield() # Create a window with this resource xxx = self.GetPyData(item).treeObject() + + # If frame +# if xxx.__class__ == xxxFrame: + # Frame can't have many children, + # but it's first child possibly can... +# child = self.GetFirstChild(item, 0)[0] +# if child.IsOk() and self.GetPyData(child).__class__ == xxxPanel: +# # Clean-up before recursive call or error +# wxMemoryFSHandler_RemoveFile('xxx.xrc') +# wxEndBusyCursor() +# self.CreateTestWin(child) +# return + + wxBeginBusyCursor() + wxYield() # Close old window, remember where it was highLight = None if testWin: @@ -623,7 +695,7 @@ class XML_Tree(wxTreeCtrl): name = 'noname' else: name = xxx.name - elem.setAttribute('name', self.stdName) + elem.setAttribute('name', STD_NAME) parent = elem.parentNode next = elem.nextSibling parent.replaceChild(self.dummyNode, elem) @@ -640,60 +712,70 @@ class XML_Tree(wxTreeCtrl): else: elem.setAttribute('name', xxx.name) memFile.close() # write to wxMemoryFS - res = wxXmlResource('', g.xmlFlags) + xmlFlags = wxXRC_NO_SUBCLASSING + # Use translations if encoding is not specified + if g.currentEncoding == 'ascii': + xmlFlags != wxXRC_USE_LOCALE + res = wxXmlResource('', xmlFlags) res.Load('memory:xxx.xrc') if xxx.__class__ == xxxFrame: # Frame can't have many children, # but it's first child possibly can... - child = self.GetFirstChild(item, 0)[0] - if child.IsOk() and self.GetPyData(child).__class__ == xxxPanel: - # Clean-up before recursive call or error - wxMemoryFSHandler_RemoveFile('xxx.xrc') - wxEndBusyCursor() - self.CreateTestWin(child) - return +# child = self.GetFirstChild(item, 0)[0] +# if child.IsOk() and self.GetPyData(child).__class__ == xxxPanel: +# # Clean-up before recursive call or error +# wxMemoryFSHandler_RemoveFile('xxx.xrc') +# wxEndBusyCursor() +# self.CreateTestWin(child) +# return # This currently works under GTK, but not under MSW testWin = g.testWin = wxPreFrame() - res.LoadOnFrame(testWin, g.frame, self.stdName) + res.LoadOnFrame(testWin, g.frame, STD_NAME) # Create status bar + testWin.panel = testWin testWin.CreateStatusBar() + testWin.SetClientSize(testWin.GetBestSize()) testWin.panel = testWin testWin.SetPosition(pos) testWin.Show(True) elif xxx.__class__ == xxxPanel: # Create new frame if not testWin: - testWin = g.testWin = wxFrame(g.frame, -1, 'Panel: ' + name, pos=pos) - testWin.panel = res.LoadPanel(testWin, self.stdName) - testWin.SetClientSize(testWin.panel.GetSize()) + testWin = g.testWin = wxFrame(g.frame, -1, 'Panel: ' + name, + pos=pos, name=STD_NAME) + testWin.panel = res.LoadPanel(testWin, STD_NAME) + testWin.SetClientSize(testWin.GetBestSize()) testWin.Show(True) elif xxx.__class__ == xxxDialog: - testWin = g.testWin = res.LoadDialog(None, self.stdName) + testWin = g.testWin = res.LoadDialog(None, STD_NAME) testWin.panel = testWin testWin.Layout() testWin.SetPosition(pos) testWin.Show(True) + # Dialog's default code does not produce EVT_CLOSE + EVT_BUTTON(testWin, wxID_OK, self.OnCloseTestWin) + EVT_BUTTON(testWin, wxID_CANCEL, self.OnCloseTestWin) elif xxx.__class__ == xxxMenuBar: - testWin = g.testWin = wxFrame(g.frame, -1, 'MenuBar: ' + name, pos=pos) + testWin = g.testWin = wxFrame(g.frame, -1, 'MenuBar: ' + name, + pos=pos, name=STD_NAME) testWin.panel = None # Set status bar to display help testWin.CreateStatusBar() - testWin.menuBar = res.LoadMenuBar(self.stdName) + testWin.menuBar = res.LoadMenuBar(STD_NAME) testWin.SetMenuBar(testWin.menuBar) testWin.Show(True) elif xxx.__class__ == xxxToolBar: - testWin = g.testWin = wxFrame(g.frame, -1, 'ToolBar: ' + name, pos=pos) + testWin = g.testWin = wxFrame(g.frame, -1, 'ToolBar: ' + name, + pos=pos, name=STD_NAME) testWin.panel = None # Set status bar to display help testWin.CreateStatusBar() - testWin.toolBar = res.LoadToolBar(testWin, self.stdName) + testWin.toolBar = res.LoadToolBar(testWin, STD_NAME) testWin.SetToolBar(testWin.toolBar) testWin.Show(True) wxMemoryFSHandler_RemoveFile('xxx.xrc') testWin.item = item EVT_CLOSE(testWin, self.OnCloseTestWin) - EVT_BUTTON(testWin, wxID_OK, self.OnCloseTestWin) - EVT_BUTTON(testWin, wxID_CANCEL, self.OnCloseTestWin) testWin.highLight = None if highLight and not self.pendingHighLight: self.HighLight(highLight) @@ -764,13 +846,7 @@ class XML_Tree(wxTreeCtrl): else: needInsert = self.NeedInsert(item) if item == self.root or needInsert and self.GetItemParent(item) == self.root: - m.Append(ID_NEW.PANEL, 'Panel', 'Create panel') - m.Append(ID_NEW.DIALOG, 'Dialog', 'Create dialog') - m.Append(ID_NEW.FRAME, 'Frame', 'Create frame') - m.AppendSeparator() - m.Append(ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar') - m.Append(ID_NEW.MENU_BAR, 'MenuBar', 'Create menubar') - m.Append(ID_NEW.MENU, 'Menu', 'Create menu') + SetMenu(m, pullDownMenu.topLevel) else: xxx = self.GetPyData(item).treeObject() # Check parent for possible child nodes if inserting sibling @@ -803,6 +879,29 @@ class XML_Tree(wxTreeCtrl): else: menu.AppendMenu(wxNewId(), 'Create Sibling', m, 'Create sibling after selected object') + # Build replace menu + if item != self.root: + xxx = self.GetPyData(item).treeObject() + m = wxMenu() # create replace menu + if xxx.__class__ == xxxMenuBar: + m.Append(1000 + ID_NEW.MENU, 'Menu', 'Create menu') + elif xxx.__class__ in [xxxMenu, xxxMenuItem]: + SetMenu2(m, pullDownMenu.menuControls) + elif xxx.__class__ == xxxToolBar and \ + self.GetItemParent(item) == self.root: + SetMenu2(m, []) + elif xxx.__class__ in [xxxFrame, xxxDialog, xxxPanel]: + SetMenu2(m, [ + (ID_NEW.PANEL, 'Panel', 'Create panel'), + (ID_NEW.DIALOG, 'Dialog', 'Create dialog'), + (ID_NEW.FRAME, 'Frame', 'Create frame')]) + elif xxx.isSizer: + SetMenu2(m, pullDownMenu.sizers) + else: + SetMenu2(m, pullDownMenu.controls) + id = wxNewId() + menu.AppendMenu(id, 'Replace With', m) + if not m.GetMenuItemCount(): menu.Enable(id, False) menu.AppendSeparator() # Not using standart IDs because we don't want to show shortcuts menu.Append(wxID_CUT, 'Cut', 'Cut to the clipboard') diff --git a/wxPython/wxPython/tools/XRCed/xrced.py b/wxPython/wxPython/tools/XRCed/xrced.py index bc5a8513ad..8674d1c12b 100644 --- a/wxPython/wxPython/tools/XRCed/xrced.py +++ b/wxPython/wxPython/tools/XRCed/xrced.py @@ -11,14 +11,12 @@ xrced -- Simple resource editor for XRC format used by wxWindows/wxPython Usage: - xrced [ -h ] [ -i ] [ -v ] [ XRC-file ] + xrced [ -h ] [ -v ] [ XRC-file ] Options: -h output short usage info and exit - -i use international character set instead of translations - -v output version info and exit """ @@ -272,6 +270,7 @@ class Frame(wxFrame): EVT_KEY_UP(self, tools.OnKeyUp) def OnNew(self, evt): + if not self.AskSave(): return self.Clear() def OnOpen(self, evt): @@ -527,7 +526,7 @@ class Frame(wxFrame): else: self.toolsSizer.Remove(g.tools) self.toolsSizer.Layout() - + def OnTest(self, evt): if not tree.selection: return # key pressed event tree.ShowTestWindow(tree.selection) @@ -637,6 +636,92 @@ Homepage: http://xrced.sourceforge.net\ else: tree.pendingHighLight = None tree.SetFocus() + self.modified = True + + # Replace one object with another + def OnReplace(self, evt): + selected = tree.selection + xxx = tree.GetPyData(selected).treeObject() + elem = xxx.element + parent = elem.parentNode + parentXXX = xxx.parent + # New class + className = pullDownMenu.createMap[evt.GetId() - 1000] + # Create temporary empty node (with default values) + dummy = MakeEmptyDOM(className) + xxxClass = xxxDict[className] + # Remove non-compatible children + if tree.ItemHasChildren(selected) and not xxxClass.hasChildren: + tree.DeleteChildren(selected) + nodes = elem.childNodes[:] + tags = [] + for node in nodes: + remove = False + tag = node.tagName + if tag == 'object': + if not xxxClass.hasChildren: + remove = True + elif tag not in xxxClass.allParams and \ + (not xxxClass.hasStyle or tag not in xxxClass.styles): + remove = True + else: + tags.append(tag) + if remove: + elem.removeChild(node) + node.unlink() + + # Copy parameters present in dummy but not in elem + for node in dummy.childNodes: + tag = node.tagName + if tag not in tags: + elem.appendChild(node.cloneNode(True)) + dummy.unlink() + # Change class name + elem.setAttribute('class', className) + # Re-create xxx element + xxx = MakeXXXFromDOM(parentXXX, elem) + # Update parent in child objects + if tree.ItemHasChildren(selected): + i, cookie = tree.GetFirstChild(selected, 0) + while i.IsOk(): + x = tree.GetPyData(i) + x.parent = xxx + if x.hasChild: x.child.parent = xxx + i, cookie = tree.GetNextChild(selected, cookie) + + # Update tree + if tree.GetPyData(selected).hasChild: # child container + container = tree.GetPyData(selected) + container.child = xxx + container.hasChildren = xxx.hasChildren + container.isSizer = xxx.isSizer + else: + tree.SetPyData(selected, xxx) + tree.SetItemText(selected, xxx.treeName()) + tree.SetItemImage(selected, xxx.treeImage()) + + # Set default name for top-level windows + if parent.__class__ == xxxMainNode: + cl = xxx.treeObject().__class__ + frame.maxIDs[cl] += 1 + xxx.treeObject().name = '%s%d' % (defaultIDs[cl], frame.maxIDs[cl]) + xxx.treeObject().element.setAttribute('name', xxx.treeObject().name) + + # Update panel + g.panel.SetData(xxx) + # Update tools + g.tools.UpdateUI() + + #undoMan.RegisterUndo(UndoPasteCreate(parentLeaf, parent, newItem, selected)) + # Update view? + if g.testWin and tree.IsHighlatable(selected): + if conf.autoRefresh: + tree.needUpdate = True + tree.pendingHighLight = selected + else: + tree.pendingHighLight = None + tree.SetFocus() + self.modified = True # Expand/collapse subtree def OnExpand(self, evt): @@ -736,11 +821,12 @@ Homepage: http://xrced.sourceforge.net\ f.seek(0) dom = minidom.parse(f) # Set encoding global variable and document encoding property - import xxx if mo: - dom.encoding = xxx.currentEncoding = mo.group('encd') + dom.encoding = g.currentEncoding = mo.group('encd') + if dom.encoding not in ['ascii', sys.getdefaultencoding()]: + wxLogWarning('Encoding is different from system default') else: - xxx.currentEncoding = 'iso-8859-1' + g.currentEncoding = 'ascii' dom.encoding = '' f.close() # Change dir @@ -819,14 +905,13 @@ Homepage: http://xrced.sourceforge.net\ ################################################################################ def usage(): - print >> sys.stderr, 'usage: xrced [-dhlv] [file]' + print >> sys.stderr, 'usage: xrced [-dhiv] [file]' class App(wxApp): def OnInit(self): global debug # Process comand-line try: - opts = args = [] #give empty values in case of exception opts, args = getopt.getopt(sys.argv[1:], 'dhiv') except getopt.GetoptError: if wxPlatform != '__WXMAC__': # macs have some extra parameters @@ -839,8 +924,6 @@ class App(wxApp): sys.exit(0) elif o == '-d': debug = True - elif o == '-i': - g.xmlFlags &= ~wxXRC_USE_LOCALE elif o == '-v': print 'XRCed version', version sys.exit(0) diff --git a/wxPython/wxPython/tools/XRCed/xrced.xrc b/wxPython/wxPython/tools/XRCed/xrced.xrc index f79590b319..cc9554f0c5 100644 --- a/wxPython/wxPython/tools/XRCed/xrced.xrc +++ b/wxPython/wxPython/tools/XRCed/xrced.xrc @@ -1,7 +1,55 @@ + + Text Dialog + 1 + + wxVERTICAL + + + wxHORIZONTAL + + + + + + wxALL|wxEXPAND + 5 + + + + wxEXPAND + + + + wxEXPAND + + + + wxHORIZONTAL + + + + 1 + + wxRIGHT + 10 + + + + + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + 10 + + + + Content + 1 250,300 wxVERTICAL @@ -86,6 +134,7 @@ Content + 1 250,300 wxVERTICAL @@ -170,6 +219,7 @@ Numbers + 1 100,300 wxVERTICAL diff --git a/wxPython/wxPython/tools/XRCed/xxx.py b/wxPython/wxPython/tools/XRCed/xxx.py index ac93753e72..a9526b547b 100644 --- a/wxPython/wxPython/tools/XRCed/xxx.py +++ b/wxPython/wxPython/tools/XRCed/xxx.py @@ -8,10 +8,6 @@ from xml.dom import minidom from globals import * from params import * -currentEncoding = wxLocale_GetSystemEncodingName() -if not currentEncoding: - currentEncoding = 'ascii' - # Base class for interface parameter classes class xxxNode: def __init__(self, node): @@ -32,6 +28,15 @@ class xxxParam(xxxNode): else: text = node.childNodes[0] # first child must be text node assert text.nodeType == minidom.Node.TEXT_NODE + # Append other text nodes if present and delete them + extraText = '' + for n in node.childNodes[1:]: + if n.nodeType == minidom.Node.TEXT_NODE: + extraText += n.data + node.removeChild(n) + n.unlink() + else: break + if extraText: text.data = text.data + extraText # Use convertion from unicode to current encoding self.textNode = text # Value returns string @@ -42,9 +47,9 @@ class xxxParam(xxxNode): self.textNode.data = value else: def value(self): - return self.textNode.data.encode(currentEncoding) + return self.textNode.data.encode(g.currentEncoding) def update(self, value): - self.textNode.data = unicode(value, currentEncoding) + self.textNode.data = unicode(value, g.currentEncoding) # Integer parameter class xxxParamInt(xxxParam): @@ -238,7 +243,13 @@ class xxxObject: # If default is specified, set it if self.default.has_key(param): elem = g.tree.dom.createElement(param) - self.params[param] = xxxParam(elem) + if param == 'content': + if self.className == 'wxCheckList': + self.params[param] = xxxParamContentCheckList(elem) + else: + self.params[param] = xxxParamContent(elem) + else: + self.params[param] = xxxParam(elem) # Find place to put new element: first present element after param found = False paramStyles = self.allParams + self.styles @@ -325,12 +336,13 @@ class xxxEncoding: # Special class for root node class xxxMainNode(xxxContainer): allParams = ['encoding'] - required = ['encoding'] - default = {'encoding': ''} hasStyle = hasName = False def __init__(self, dom): xxxContainer.__init__(self, None, dom.documentElement) self.className = 'XML tree' + # Reset required parameters after processing XML, because encoding is + # a little special + self.required = ['encoding'] self.params['encoding'] = xxxEncoding(dom.encoding) ################################################################################ @@ -347,6 +359,7 @@ class xxxDialog(xxxContainer): allParams = ['title', 'centered', 'pos', 'size', 'style'] paramDict = {'centered': ParamBool} required = ['title'] + default = {'title': ''} winStyles = ['wxDEFAULT_DIALOG_STYLE', 'wxSTAY_ON_TOP', 'wxDIALOG_MODAL', 'wxDIALOG_MODELESS', 'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', 'wxRESIZE_BOX', @@ -360,6 +373,7 @@ class xxxFrame(xxxContainer): allParams = ['title', 'centered', 'pos', 'size', 'style'] paramDict = {'centered': ParamBool} required = ['title'] + default = {'title': ''} winStyles = ['wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE', 'wxSTAY_ON_TOP', 'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', @@ -418,10 +432,12 @@ class xxxTextCtrl(xxxObject): allParams = ['value', 'pos', 'size', 'style'] winStyles = ['wxTE_PROCESS_ENTER', 'wxTE_PROCESS_TAB', 'wxTE_MULTILINE', 'wxTE_PASSWORD', 'wxTE_READONLY', 'wxHSCROLL'] + paramDict = {'value': ParamMultilineText} class xxxChoice(xxxObject): allParams = ['content', 'selection', 'pos', 'size', 'style'] required = ['content'] + default = {'content': '[]'} winStyles = ['wxCB_SORT'] class xxxSlider(xxxObject): @@ -462,7 +478,7 @@ class xxxTreeCtrl(xxxObject): class xxxHtmlWindow(xxxObject): allParams = ['pos', 'size', 'style', 'borders', 'url', 'htmlcode'] - paramDict = {'borders': ParamInt} + paramDict = {'borders': ParamInt, 'htmlcode':ParamMultilineText} winStyles = ['wxHW_SCROLLBAR_NEVER', 'wxHW_SCROLLBAR_AUTO'] class xxxCalendarCtrl(xxxObject): @@ -479,6 +495,10 @@ class xxxGenericDirCtrl(xxxObject): winStyles = ['wxDIRCTRL_DIR_ONLY', 'wxDIRCTRL_3D_INTERNAL', 'wxDIRCTRL_SELECT_FIRST', 'wxDIRCTRL_SHOW_FILTERS', 'wxDIRCTRL_EDIT_LABELS'] +class xxxScrolledWindow(xxxContainer): + allParams = ['pos', 'size', 'style'] + winStyles = ['wxHSCROLL', 'wxVSCROLL'] + ################################################################################ # Buttons @@ -522,6 +542,7 @@ class xxxRadioBox(xxxObject): allParams = ['label', 'content', 'selection', 'dimension', 'pos', 'size', 'style'] paramDict = {'dimension': ParamInt} required = ['label', 'content'] + default = {'content': '[]'} winStyles = ['wxRA_SPECIFY_ROWS', 'wxRA_SPECIFY_COLS'] class xxxCheckBox(xxxObject): @@ -532,17 +553,20 @@ class xxxCheckBox(xxxObject): class xxxComboBox(xxxObject): allParams = ['content', 'selection', 'value', 'pos', 'size', 'style'] required = ['content'] + default = {'content': '[]'} winStyles = ['wxCB_SIMPLE', 'wxCB_SORT', 'wxCB_READONLY', 'wxCB_DROPDOWN'] class xxxListBox(xxxObject): allParams = ['content', 'selection', 'pos', 'size', 'style'] required = ['content'] + default = {'content': '[]'} winStyles = ['wxLB_SINGLE', 'wxLB_MULTIPLE', 'wxLB_EXTENDED', 'wxLB_HSCROLL', 'wxLB_ALWAYS_SB', 'wxLB_NEEDED_SB', 'wxLB_SORT'] class xxxCheckList(xxxObject): allParams = ['content', 'pos', 'size', 'style'] required = ['content'] + default = {'content': '[]'} winStyles = ['wxLC_LIST', 'wxLC_REPORT', 'wxLC_ICON', 'wxLC_SMALL_ICON', 'wxLC_ALIGN_TOP', 'wxLC_ALIGN_LEFT', 'wxLC_AUTOARRANGE', 'wxLC_USER_TEXT', 'wxLC_EDIT_LABELS', 'wxLC_NO_HEADER', @@ -733,6 +757,7 @@ xxxDict = { 'wxCalendarCtrl': xxxCalendarCtrl, 'wxGenericDirCtrl': xxxGenericDirCtrl, 'wxSpinCtrl': xxxSpinCtrl, + 'wxScrolledWindow': xxxScrolledWindow, 'wxBoxSizer': xxxBoxSizer, 'wxStaticBoxSizer': xxxStaticBoxSizer, @@ -772,9 +797,9 @@ def MakeXXXFromDOM(parent, element): try: klass = xxxDict[element.getAttribute('class')] except KeyError: - # Verify that it's not recursive exception - print 'ERROR: unknown class:', element.getAttribute('class') - raise + # If we encounter a weird class, use unknown template + print 'WARNING: unsupported class:', element.getAttribute('class') + klass = xxxUnknown return klass(parent, element) # Make empty DOM element diff --git a/wxPython/wxSWIG/Modules/pycpp.cxx b/wxPython/wxSWIG/Modules/pycpp.cxx index 89cd85ffd5..b4021d7256 100644 --- a/wxPython/wxSWIG/Modules/pycpp.cxx +++ b/wxPython/wxSWIG/Modules/pycpp.cxx @@ -146,7 +146,7 @@ void PYTHON::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l) if (docstring && doc_entry) { *pyclass << tab8 << "\"\"\"" << add_docstring(doc_entry) << "\"\"\"\n"; } - *pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",(self,) + _args, _kwargs)\n"; + *pyclass << tab8 << "val = " << module << "." << name_member(realname,class_name) << "(self, *_args, **_kwargs)\n"; // Check to see if the return type is an object if ((hash.lookup(t->name)) && (t->is_pointer <= 1)) { @@ -216,7 +216,7 @@ void PYTHON::cpp_constructor(char *name, char *iname, ParmList *l) { if (docstring && doc_entry) *construct << tab8 << "\"\"\"" << add_docstring(doc_entry) << "\"\"\"\n"; - *construct << tab8 << "self.this = apply(" << module << "." << name_construct(realname) << ",_args,_kwargs)\n"; + *construct << tab8 << "self.this = " << module << "." << name_construct(realname) << "(*_args,**_kwargs)\n"; *construct << tab8 << "self.thisown = 1\n"; emitAddPragmas(*construct,"__init__",tab8); have_constructor = 1; @@ -226,8 +226,8 @@ void PYTHON::cpp_constructor(char *name, char *iname, ParmList *l) { // function for it. *additional << "def " << realname << "(*_args,**_kwargs):\n"; - *additional << tab4 << "val = " << class_name << "Ptr(apply(" - << module << "." << name_construct(realname) << ",_args,_kwargs))\n" + *additional << tab4 << "val = " << class_name << "Ptr(" + << module << "." << name_construct(realname) << "(*_args,**_kwargs))\n" << tab4 << "val.thisown = 1\n"; emitAddPragmas(*additional, realname, tab4); *additional << tab4 << "return val\n\n"; @@ -322,7 +322,7 @@ void PYTHON::cpp_close_class() { if (!have_repr) { // Supply a repr method for this class repr << tab4 << "def __repr__(self):\n" - << tab8 << "return \"\" % (self.this,)\n"; + << tab8 << "return \"<%s.%s instance; proxy of C++ " << class_name <<" instance at %s>\" % (self.__class__.__module__, self.__class__.__name__, self.this)\n"; classes << repr; emitAddPragmas(classes,"__class__",tab4); diff --git a/wxPython/wxSWIG/Modules/python.cxx b/wxPython/wxSWIG/Modules/python.cxx index 8d26c6f8f2..9abad191f2 100644 --- a/wxPython/wxSWIG/Modules/python.cxx +++ b/wxPython/wxSWIG/Modules/python.cxx @@ -1071,7 +1071,7 @@ void PYTHON::create_function(char *name, char *iname, DataType *d, ParmList *l) func << tab4 << "\"\"\"" << add_docstring(doc_entry) << "\"\"\"\n"; } - func << tab4 << "val = apply(" << module << "." << iname << ",_args,_kwargs)\n"; + func << tab4 << "val = " << module << "." << iname << "(*_args,**_kwargs)\n"; if (munge_return) { // If the output of this object has been remapped in any way, we're -- 2.45.2