wxPython 4.3.2__cp315-cp315-win_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wx/WebView2Loader.dll +0 -0
- wx/__init__.py +22 -0
- wx/__init__.pyi +10 -0
- wx/__version__.py +9 -0
- wx/__version__.pyi +15 -0
- wx/_adv.cp315-win_arm64.pyd +0 -0
- wx/_aui.cp315-win_arm64.pyd +0 -0
- wx/_core.cp315-win_arm64.pyd +0 -0
- wx/_dataview.cp315-win_arm64.pyd +0 -0
- wx/_glcanvas.cp315-win_arm64.pyd +0 -0
- wx/_grid.cp315-win_arm64.pyd +0 -0
- wx/_html.cp315-win_arm64.pyd +0 -0
- wx/_html2.cp315-win_arm64.pyd +0 -0
- wx/_media.cp315-win_arm64.pyd +0 -0
- wx/_msw.cp315-win_arm64.pyd +0 -0
- wx/_propgrid.cp315-win_arm64.pyd +0 -0
- wx/_ribbon.cp315-win_arm64.pyd +0 -0
- wx/_richtext.cp315-win_arm64.pyd +0 -0
- wx/_stc.cp315-win_arm64.pyd +0 -0
- wx/_xml.cp315-win_arm64.pyd +0 -0
- wx/_xrc.cp315-win_arm64.pyd +0 -0
- wx/adv.py +127 -0
- wx/adv.pyi +5931 -0
- wx/aui.py +70 -0
- wx/aui.pyi +4805 -0
- wx/core.py +3417 -0
- wx/core.pyi +62949 -0
- wx/dataview.py +176 -0
- wx/dataview.pyi +3828 -0
- wx/gizmos.py +18 -0
- wx/glcanvas.py +13 -0
- wx/glcanvas.pyi +544 -0
- wx/grid.py +237 -0
- wx/grid.pyi +5678 -0
- wx/html.py +38 -0
- wx/html.pyi +3283 -0
- wx/html2.py +46 -0
- wx/html2.pyi +1301 -0
- wx/include/wxPython/sip.h +1938 -0
- wx/include/wxPython/wxpy_api.h +418 -0
- wx/lib/CDate.py +201 -0
- wx/lib/ClickableHtmlWindow.py +57 -0
- wx/lib/__init__.py +0 -0
- wx/lib/activex.py +178 -0
- wx/lib/activexwrapper.py +153 -0
- wx/lib/agw/__init__.py +128 -0
- wx/lib/agw/advancedsplash.py +563 -0
- wx/lib/agw/aquabutton.py +1127 -0
- wx/lib/agw/artmanager.py +2110 -0
- wx/lib/agw/aui/__init__.py +295 -0
- wx/lib/agw/aui/aui_constants.py +2616 -0
- wx/lib/agw/aui/aui_switcherdialog.py +1232 -0
- wx/lib/agw/aui/aui_utilities.py +648 -0
- wx/lib/agw/aui/auibar.py +4045 -0
- wx/lib/agw/aui/auibook.py +6288 -0
- wx/lib/agw/aui/dockart.py +1198 -0
- wx/lib/agw/aui/framemanager.py +10485 -0
- wx/lib/agw/aui/tabart.py +2749 -0
- wx/lib/agw/aui/tabmdi.py +679 -0
- wx/lib/agw/balloontip.py +1157 -0
- wx/lib/agw/buttonpanel.py +2787 -0
- wx/lib/agw/cubecolourdialog.py +3529 -0
- wx/lib/agw/customtreectrl.py +9908 -0
- wx/lib/agw/data/ShortcutEditor_1.png +0 -0
- wx/lib/agw/data/ShortcutEditor_1_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2.png +0 -0
- wx/lib/agw/data/ShortcutEditor_2_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3.png +0 -0
- wx/lib/agw/data/ShortcutEditor_3_thumb.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4.png +0 -0
- wx/lib/agw/data/ShortcutEditor_4_thumb.png +0 -0
- wx/lib/agw/data/default_help_text.html +105 -0
- wx/lib/agw/flatmenu.py +7392 -0
- wx/lib/agw/flatnotebook.py +6669 -0
- wx/lib/agw/floatspin.py +1820 -0
- wx/lib/agw/fmcustomizedlg.py +535 -0
- wx/lib/agw/fmresources.py +407 -0
- wx/lib/agw/foldpanelbar.py +2282 -0
- wx/lib/agw/fourwaysplitter.py +1130 -0
- wx/lib/agw/genericmessagedialog.py +1549 -0
- wx/lib/agw/gradientbutton.py +731 -0
- wx/lib/agw/hyperlink.py +664 -0
- wx/lib/agw/hypertreelist.py +5756 -0
- wx/lib/agw/infobar.py +885 -0
- wx/lib/agw/knobctrl.py +944 -0
- wx/lib/agw/labelbook.py +3028 -0
- wx/lib/agw/multidirdialog.py +581 -0
- wx/lib/agw/peakmeter.py +1028 -0
- wx/lib/agw/persist/__init__.py +188 -0
- wx/lib/agw/persist/persist_constants.py +283 -0
- wx/lib/agw/persist/persist_handlers.py +2614 -0
- wx/lib/agw/persist/persistencemanager.py +863 -0
- wx/lib/agw/piectrl.py +1082 -0
- wx/lib/agw/pybusyinfo.py +399 -0
- wx/lib/agw/pycollapsiblepane.py +940 -0
- wx/lib/agw/pygauge.py +570 -0
- wx/lib/agw/pyprogress.py +916 -0
- wx/lib/agw/ribbon/__init__.py +198 -0
- wx/lib/agw/ribbon/art.py +219 -0
- wx/lib/agw/ribbon/art_aui.py +1283 -0
- wx/lib/agw/ribbon/art_default.py +81 -0
- wx/lib/agw/ribbon/art_internal.py +248 -0
- wx/lib/agw/ribbon/art_msw.py +2735 -0
- wx/lib/agw/ribbon/art_osx.py +52 -0
- wx/lib/agw/ribbon/bar.py +1259 -0
- wx/lib/agw/ribbon/buttonbar.py +1317 -0
- wx/lib/agw/ribbon/control.py +205 -0
- wx/lib/agw/ribbon/gallery.py +973 -0
- wx/lib/agw/ribbon/page.py +946 -0
- wx/lib/agw/ribbon/panel.py +1170 -0
- wx/lib/agw/ribbon/toolbar.py +1441 -0
- wx/lib/agw/rulerctrl.py +1885 -0
- wx/lib/agw/scrolledthumbnail.py +2116 -0
- wx/lib/agw/shapedbutton.py +1809 -0
- wx/lib/agw/shortcuteditor.py +2642 -0
- wx/lib/agw/speedmeter.py +1800 -0
- wx/lib/agw/supertooltip.py +1443 -0
- wx/lib/agw/thumbnailctrl.py +529 -0
- wx/lib/agw/toasterbox.py +1327 -0
- wx/lib/agw/ultimatelistctrl.py +13671 -0
- wx/lib/agw/xlsgrid.py +2111 -0
- wx/lib/agw/zoombar.py +1336 -0
- wx/lib/analogclock/__init__.py +140 -0
- wx/lib/analogclock/analogclock.py +630 -0
- wx/lib/analogclock/helpers.py +986 -0
- wx/lib/analogclock/lib_setup/__init__.py +0 -0
- wx/lib/analogclock/lib_setup/buttontreectrlpanel.py +297 -0
- wx/lib/analogclock/lib_setup/fontselect.py +57 -0
- wx/lib/analogclock/setup.py +490 -0
- wx/lib/analogclock/styles.py +47 -0
- wx/lib/anchors.py +103 -0
- wx/lib/art/__init__.py +4 -0
- wx/lib/art/flagart.py +1583 -0
- wx/lib/art/img2pyartprov.py +56 -0
- wx/lib/busy.py +152 -0
- wx/lib/buttons.py +1140 -0
- wx/lib/calendar.py +1596 -0
- wx/lib/checkbox.py +837 -0
- wx/lib/colourchooser/__init__.py +36 -0
- wx/lib/colourchooser/canvas.py +145 -0
- wx/lib/colourchooser/intl.py +24 -0
- wx/lib/colourchooser/pycolourbox.py +89 -0
- wx/lib/colourchooser/pycolourchooser.py +626 -0
- wx/lib/colourchooser/pycolourslider.py +98 -0
- wx/lib/colourchooser/pypalette.py +208 -0
- wx/lib/colourdb.py +740 -0
- wx/lib/colourselect.py +385 -0
- wx/lib/colourutils.py +118 -0
- wx/lib/combotreebox.py +944 -0
- wx/lib/delayedresult.py +420 -0
- wx/lib/dialogs.py +510 -0
- wx/lib/docview.py +3210 -0
- wx/lib/dragscroller.py +79 -0
- wx/lib/editor/README.txt +77 -0
- wx/lib/editor/__init__.py +24 -0
- wx/lib/editor/editor.py +974 -0
- wx/lib/editor/images.py +15 -0
- wx/lib/editor/selection.py +44 -0
- wx/lib/embeddedimage.py +76 -0
- wx/lib/eventStack.py +136 -0
- wx/lib/eventwatcher.py +440 -0
- wx/lib/evtmgr.py +521 -0
- wx/lib/expando.py +393 -0
- wx/lib/fancytext.py +494 -0
- wx/lib/filebrowsebutton.py +461 -0
- wx/lib/flashwin.py +262 -0
- wx/lib/flashwin_old.py +651 -0
- wx/lib/floatcanvas/FCEvents.py +53 -0
- wx/lib/floatcanvas/FCObjects.py +2910 -0
- wx/lib/floatcanvas/FloatCanvas.py +1025 -0
- wx/lib/floatcanvas/GUIMode.py +396 -0
- wx/lib/floatcanvas/NavCanvas.py +162 -0
- wx/lib/floatcanvas/Resources.py +319 -0
- wx/lib/floatcanvas/ScreenShot.py +1788 -0
- wx/lib/floatcanvas/Utilities/BBox.py +313 -0
- wx/lib/floatcanvas/Utilities/Colors.py +137 -0
- wx/lib/floatcanvas/Utilities/GUI.py +91 -0
- wx/lib/floatcanvas/Utilities/__init__.py +7 -0
- wx/lib/floatcanvas/__init__.py +124 -0
- wx/lib/foldmenu.py +89 -0
- wx/lib/gestures.py +310 -0
- wx/lib/gizmos/__init__.py +18 -0
- wx/lib/gizmos/dynamicsash.py +1202 -0
- wx/lib/gizmos/ledctrl.py +299 -0
- wx/lib/gizmos/treelistctrl.py +87 -0
- wx/lib/graphics.py +1942 -0
- wx/lib/gridmovers.py +516 -0
- wx/lib/iewin.py +249 -0
- wx/lib/iewin_old.py +894 -0
- wx/lib/imagebrowser.py +853 -0
- wx/lib/imageutils.py +163 -0
- wx/lib/infoframe.py +490 -0
- wx/lib/inspection.py +1254 -0
- wx/lib/intctrl.py +990 -0
- wx/lib/itemspicker.py +256 -0
- wx/lib/langlistctrl.py +480 -0
- wx/lib/layoutf.py +271 -0
- wx/lib/masked/__init__.py +27 -0
- wx/lib/masked/combobox.py +839 -0
- wx/lib/masked/ctrl.py +108 -0
- wx/lib/masked/ipaddrctrl.py +241 -0
- wx/lib/masked/maskededit.py +7262 -0
- wx/lib/masked/numctrl.py +2000 -0
- wx/lib/masked/textctrl.py +465 -0
- wx/lib/masked/timectrl.py +1465 -0
- wx/lib/mixins/__init__.py +17 -0
- wx/lib/mixins/grid.py +47 -0
- wx/lib/mixins/gridlabelrenderer.py +277 -0
- wx/lib/mixins/imagelist.py +77 -0
- wx/lib/mixins/inspection.py +184 -0
- wx/lib/mixins/listctrl.py +893 -0
- wx/lib/mixins/rubberband.py +403 -0
- wx/lib/mixins/treemixin.py +678 -0
- wx/lib/msgpanel.py +95 -0
- wx/lib/multisash.py +746 -0
- wx/lib/myole4ax.idl +178 -0
- wx/lib/myole4ax.tlb +0 -0
- wx/lib/newevent.py +229 -0
- wx/lib/newevent.pyi +25 -0
- wx/lib/nvdlg.py +156 -0
- wx/lib/ogl/__init__.py +13 -0
- wx/lib/ogl/basic.py +3989 -0
- wx/lib/ogl/bmpshape.py +86 -0
- wx/lib/ogl/canvas.py +467 -0
- wx/lib/ogl/composit.py +1576 -0
- wx/lib/ogl/diagram.py +230 -0
- wx/lib/ogl/divided.py +482 -0
- wx/lib/ogl/drawn.py +898 -0
- wx/lib/ogl/lines.py +1809 -0
- wx/lib/ogl/oglmisc.py +607 -0
- wx/lib/pdfviewer/__init__.py +113 -0
- wx/lib/pdfviewer/bitmaps/ArrowLeft.png +0 -0
- wx/lib/pdfviewer/bitmaps/ArrowRight.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionH.png +0 -0
- wx/lib/pdfviewer/bitmaps/DirectionV.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerFirst.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerLast.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerNext.png +0 -0
- wx/lib/pdfviewer/bitmaps/PlayerPrev.png +0 -0
- wx/lib/pdfviewer/bitmaps/Printer.png +0 -0
- wx/lib/pdfviewer/bitmaps/ReadMe.txt +28 -0
- wx/lib/pdfviewer/bitmaps/Save.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomIn.png +0 -0
- wx/lib/pdfviewer/bitmaps/ZoomOut.png +0 -0
- wx/lib/pdfviewer/bitmaps/encode_bitmaps.py +37 -0
- wx/lib/pdfviewer/buttonpanel.py +285 -0
- wx/lib/pdfviewer/images.py +240 -0
- wx/lib/pdfviewer/viewer.py +1118 -0
- wx/lib/pdfwin.py +295 -0
- wx/lib/pdfwin_old.py +789 -0
- wx/lib/platebtn.py +789 -0
- wx/lib/plot/CHANGELOG.md +150 -0
- wx/lib/plot/README.md +16 -0
- wx/lib/plot/__init__.py +46 -0
- wx/lib/plot/__main__.py +5 -0
- wx/lib/plot/examples/__init__.py +0 -0
- wx/lib/plot/examples/demo.py +1010 -0
- wx/lib/plot/examples/simple_example.py +56 -0
- wx/lib/plot/plotcanvas.py +2985 -0
- wx/lib/plot/polyobjects.py +1524 -0
- wx/lib/plot/utils.py +334 -0
- wx/lib/popupctl.py +251 -0
- wx/lib/printout.py +1155 -0
- wx/lib/progressindicator.py +151 -0
- wx/lib/pubsub/LICENSE_BSD_Simple.txt +23 -0
- wx/lib/pubsub/README_WxPython.txt +22 -0
- wx/lib/pubsub/RELEASE_NOTES.txt +71 -0
- wx/lib/pubsub/__init__.py +25 -0
- wx/lib/pubsub/core/__init__.py +92 -0
- wx/lib/pubsub/core/arg1/__init__.py +16 -0
- wx/lib/pubsub/core/arg1/listenerimpl.py +97 -0
- wx/lib/pubsub/core/arg1/publisher.py +40 -0
- wx/lib/pubsub/core/arg1/publishermixin.py +34 -0
- wx/lib/pubsub/core/arg1/topicargspecimpl.py +66 -0
- wx/lib/pubsub/core/arg1/topicmgrimpl.py +19 -0
- wx/lib/pubsub/core/callables.py +198 -0
- wx/lib/pubsub/core/imp2.py +62 -0
- wx/lib/pubsub/core/itopicdefnprovider.py +0 -0
- wx/lib/pubsub/core/kwargs/__init__.py +16 -0
- wx/lib/pubsub/core/kwargs/datamsg.py +27 -0
- wx/lib/pubsub/core/kwargs/listenerimpl.py +93 -0
- wx/lib/pubsub/core/kwargs/publisher.py +77 -0
- wx/lib/pubsub/core/kwargs/publishermixin.py +65 -0
- wx/lib/pubsub/core/kwargs/topicargspecimpl.py +216 -0
- wx/lib/pubsub/core/kwargs/topicmgrimpl.py +13 -0
- wx/lib/pubsub/core/listener.py +40 -0
- wx/lib/pubsub/core/listenerbase.py +185 -0
- wx/lib/pubsub/core/notificationmgr.py +185 -0
- wx/lib/pubsub/core/publisherbase.py +189 -0
- wx/lib/pubsub/core/topicargspec.py +77 -0
- wx/lib/pubsub/core/topicdefnprovider.py +631 -0
- wx/lib/pubsub/core/topicexc.py +72 -0
- wx/lib/pubsub/core/topicmgr.py +454 -0
- wx/lib/pubsub/core/topicobj.py +472 -0
- wx/lib/pubsub/core/topictreetraverser.py +143 -0
- wx/lib/pubsub/core/topicutils.py +119 -0
- wx/lib/pubsub/core/treeconfig.py +21 -0
- wx/lib/pubsub/core/validatedefnargs.py +29 -0
- wx/lib/pubsub/core/weakmethod.py +102 -0
- wx/lib/pubsub/policies.py +24 -0
- wx/lib/pubsub/pub.py +199 -0
- wx/lib/pubsub/setuparg1.py +47 -0
- wx/lib/pubsub/setupkwargs.py +29 -0
- wx/lib/pubsub/utils/__init__.py +27 -0
- wx/lib/pubsub/utils/exchandling.py +100 -0
- wx/lib/pubsub/utils/misc.py +99 -0
- wx/lib/pubsub/utils/notification.py +331 -0
- wx/lib/pubsub/utils/topictreeprinter.py +195 -0
- wx/lib/pubsub/utils/xmltopicdefnprovider.py +286 -0
- wx/lib/pydocview.py +3300 -0
- wx/lib/rcsizer.py +227 -0
- wx/lib/resizewidget.py +357 -0
- wx/lib/scrolledpanel.py +243 -0
- wx/lib/sheet.py +350 -0
- wx/lib/sized_controls.py +691 -0
- wx/lib/softwareupdate.py +355 -0
- wx/lib/splitter.py +925 -0
- wx/lib/statbmp.py +199 -0
- wx/lib/stattext.py +321 -0
- wx/lib/throbber.py +424 -0
- wx/lib/ticker.py +306 -0
- wx/lib/ticker_xrc.py +48 -0
- wx/lib/utils.py +89 -0
- wx/lib/wordwrap.py +97 -0
- wx/lib/wxcairo/__init__.py +139 -0
- wx/lib/wxcairo/wx_cairocffi.py +200 -0
- wx/lib/wxcairo/wx_pycairo.py +455 -0
- wx/lib/wxpTag.py +274 -0
- wx/locale/af/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/an/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ar/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ca@valencia/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/co/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/cs/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/da/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/de/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/el/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/es/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/eu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fa_IR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/fr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/gl_ES/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/hu/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/id/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/it/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ja/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ka/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ko_KR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/lv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ms/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nb/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ne/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/nl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/pt_BR/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ro/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ru/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sl/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sq/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/sv/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/ta/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/tr/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/uk/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/vi/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_CN/LC_MESSAGES/wxstd.mo +0 -0
- wx/locale/zh_TW/LC_MESSAGES/wxstd.mo +0 -0
- wx/media.py +30 -0
- wx/media.pyi +272 -0
- wx/msw.py +16 -0
- wx/msw.pyi +91 -0
- wx/propgrid.py +498 -0
- wx/propgrid.pyi +7427 -0
- wx/py/CHANGES.txt +796 -0
- wx/py/Py.ico +0 -0
- wx/py/PyAlaCarte.py +34 -0
- wx/py/PyAlaMode.py +34 -0
- wx/py/PyAlaModeTest.py +33 -0
- wx/py/PyCrust.ico +0 -0
- wx/py/PyCrust.py +78 -0
- wx/py/PyCrust_16.png +0 -0
- wx/py/PyCrust_32.png +0 -0
- wx/py/PyFilling.py +35 -0
- wx/py/PyShell.py +78 -0
- wx/py/PySlices.ico +0 -0
- wx/py/PySlices.py +98 -0
- wx/py/PySlicesShell.py +94 -0
- wx/py/PySlices_16.png +0 -0
- wx/py/PySlices_32.png +0 -0
- wx/py/PyWrap.py +52 -0
- wx/py/README.txt +77 -0
- wx/py/__init__.py +20 -0
- wx/py/buffer.py +136 -0
- wx/py/crust.py +403 -0
- wx/py/crustslices.py +403 -0
- wx/py/dispatcher.py +259 -0
- wx/py/document.py +37 -0
- wx/py/editor.py +844 -0
- wx/py/editwindow.py +316 -0
- wx/py/filling.py +358 -0
- wx/py/frame.py +976 -0
- wx/py/images.py +212 -0
- wx/py/interpreter.py +161 -0
- wx/py/introspect.py +402 -0
- wx/py/magic.py +98 -0
- wx/py/parse.py +134 -0
- wx/py/path.py +36 -0
- wx/py/pseudo.py +99 -0
- wx/py/shell.py +1579 -0
- wx/py/sliceshell.py +3805 -0
- wx/py/tests/test_interpreter.py +71 -0
- wx/py/tests/test_introspect.py +810 -0
- wx/py/tests/test_pseudo.py +70 -0
- wx/py/tests/test_version.py +36 -0
- wx/py/tests/testall.py +22 -0
- wx/py/version.py +7 -0
- wx/py.typed +0 -0
- wx/ribbon.py +48 -0
- wx/ribbon.pyi +3099 -0
- wx/richtext.py +141 -0
- wx/richtext.pyi +13581 -0
- wx/siplib.cp315-win_arm64.pyd +0 -0
- wx/siplib.pyi +19 -0
- wx/stc.py +59 -0
- wx/stc.pyi +9918 -0
- wx/svg/__init__.py +363 -0
- wx/svg/_nanosvg.cp315-win_arm64.pyd +0 -0
- wx/tools/__init__.py +18 -0
- wx/tools/dbg.py +268 -0
- wx/tools/genaxmodule.py +50 -0
- wx/tools/helpviewer.py +92 -0
- wx/tools/img2img.py +85 -0
- wx/tools/img2png.py +54 -0
- wx/tools/img2py.py +306 -0
- wx/tools/img2xpm.py +54 -0
- wx/tools/pywxrc.py +951 -0
- wx/tools/wxget.py +254 -0
- wx/tools/wxget_docs_demo.py +183 -0
- wx/wxbase334u_net_vc140_arm64.dll +0 -0
- wx/wxbase334u_vc140_arm64.dll +0 -0
- wx/wxbase334u_xml_vc140_arm64.dll +0 -0
- wx/wxmsw334u_adv_vc140_arm64.dll +0 -0
- wx/wxmsw334u_aui_vc140_arm64.dll +0 -0
- wx/wxmsw334u_core_vc140_arm64.dll +0 -0
- wx/wxmsw334u_gl_vc140_arm64.dll +0 -0
- wx/wxmsw334u_html_vc140_arm64.dll +0 -0
- wx/wxmsw334u_media_vc140_arm64.dll +0 -0
- wx/wxmsw334u_propgrid_vc140_arm64.dll +0 -0
- wx/wxmsw334u_qa_vc140_arm64.dll +0 -0
- wx/wxmsw334u_ribbon_vc140_arm64.dll +0 -0
- wx/wxmsw334u_richtext_vc140_arm64.dll +0 -0
- wx/wxmsw334u_stc_vc140_arm64.dll +0 -0
- wx/wxmsw334u_webview_vc140_arm64.dll +0 -0
- wx/wxmsw334u_xrc_vc140_arm64.dll +0 -0
- wx/xml.py +18 -0
- wx/xml.pyi +728 -0
- wx/xrc.py +68 -0
- wx/xrc.pyi +896 -0
- wxpython-4.3.2.dist-info/METADATA +71 -0
- wxpython-4.3.2.dist-info/RECORD +471 -0
- wxpython-4.3.2.dist-info/WHEEL +5 -0
- wxpython-4.3.2.dist-info/entry_points.txt +13 -0
- wxpython-4.3.2.dist-info/licenses/LICENSE.txt +610 -0
- wxpython-4.3.2.dist-info/top_level.txt +1 -0
wx/propgrid.py
ADDED
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
# This file is generated by wxPython's SIP generator. Do not edit by hand.
|
|
2
|
+
#
|
|
3
|
+
# Copyright: (c) 2020 by Total Control Software
|
|
4
|
+
# License: wxWindows License
|
|
5
|
+
|
|
6
|
+
from ._propgrid import *
|
|
7
|
+
|
|
8
|
+
import wx
|
|
9
|
+
|
|
10
|
+
PG_LABEL = "@!"
|
|
11
|
+
PG_LABEL_STRING = PG_LABEL
|
|
12
|
+
PG_NULL_BITMAP = wx.NullBitmap
|
|
13
|
+
PG_COLOUR_BLACK = wx.BLACK
|
|
14
|
+
PG_DEFAULT_IMAGE_SIZE = wx.Size(-1, -1)
|
|
15
|
+
|
|
16
|
+
def _PGProperty_SetAttributes(self, attributes):
|
|
17
|
+
"""
|
|
18
|
+
Set the property's attributes from a Python dictionary.
|
|
19
|
+
"""
|
|
20
|
+
for name,value in attributes.items():
|
|
21
|
+
self.SetAttribute(name, value)
|
|
22
|
+
PGProperty.SetAttributes = _PGProperty_SetAttributes
|
|
23
|
+
del _PGProperty_SetAttributes
|
|
24
|
+
def _PGProperty_GetClientObject(self, n):
|
|
25
|
+
"""
|
|
26
|
+
Alias for :meth:`GetClientData`
|
|
27
|
+
"""
|
|
28
|
+
return self.GetClientData(n)
|
|
29
|
+
PGProperty.GetClientObject = _PGProperty_GetClientObject
|
|
30
|
+
del _PGProperty_GetClientObject
|
|
31
|
+
def _PGProperty_SetClientObject(self, n, data):
|
|
32
|
+
"""
|
|
33
|
+
Alias for :meth:`SetClientData`
|
|
34
|
+
"""
|
|
35
|
+
self.SetClientData(n, data)
|
|
36
|
+
PGProperty.SetClientObject = _PGProperty_SetClientObject
|
|
37
|
+
del _PGProperty_SetClientObject
|
|
38
|
+
def _PGChoices___getitem__(self, index):
|
|
39
|
+
"""
|
|
40
|
+
Returns a reference to a :class:PGChoiceEntry using Python list syntax.
|
|
41
|
+
"""
|
|
42
|
+
return self.Item(index)
|
|
43
|
+
PGChoices.__getitem__ = _PGChoices___getitem__
|
|
44
|
+
del _PGChoices___getitem__
|
|
45
|
+
def _PGChoices___len__(self):
|
|
46
|
+
return self.GetCount()
|
|
47
|
+
PGChoices.__len__ = _PGChoices___len__
|
|
48
|
+
del _PGChoices___len__
|
|
49
|
+
PG_ATTR_DEFAULT_VALUE = u"DefaultValue"
|
|
50
|
+
PG_ATTR_MIN = u"Min"
|
|
51
|
+
PG_ATTR_MAX = u"Max"
|
|
52
|
+
PG_ATTR_UNITS = u"Units"
|
|
53
|
+
PG_ATTR_HINT = u"Hint"
|
|
54
|
+
PG_ATTR_INLINE_HELP = PG_ATTR_HINT
|
|
55
|
+
PG_ATTR_AUTOCOMPLETE = u"AutoComplete"
|
|
56
|
+
PG_BOOL_USE_CHECKBOX = u"UseCheckbox"
|
|
57
|
+
PG_BOOL_USE_DOUBLE_CLICK_CYCLING = u"UseDClickCycling"
|
|
58
|
+
PG_FLOAT_PRECISION = u"Precision"
|
|
59
|
+
PG_STRING_PASSWORD = u"Password"
|
|
60
|
+
PG_UINT_BASE = u"Base"
|
|
61
|
+
PG_UINT_PREFIX = u"Prefix"
|
|
62
|
+
PG_FILE_WILDCARD = u"Wildcard"
|
|
63
|
+
PG_FILE_SHOW_FULL_PATH = u"ShowFullPath"
|
|
64
|
+
PG_FILE_SHOW_RELATIVE_PATH = u"ShowRelativePath"
|
|
65
|
+
PG_FILE_INITIAL_PATH = u"InitialPath"
|
|
66
|
+
PG_FILE_DIALOG_TITLE = u"DialogTitle"
|
|
67
|
+
PG_DIALOG_TITLE = u"DialogTitle"
|
|
68
|
+
PG_FILE_DIALOG_STYLE = u"DialogStyle"
|
|
69
|
+
PG_DIR_DIALOG_MESSAGE = u"DialogMessage"
|
|
70
|
+
PG_ARRAY_DELIMITER = u"Delimiter"
|
|
71
|
+
PG_DATE_FORMAT = u"DateFormat"
|
|
72
|
+
PG_DATE_PICKER_STYLE = u"PickerStyle"
|
|
73
|
+
PG_ATTR_SPINCTRL_STEP = u"Step"
|
|
74
|
+
PG_ATTR_SPINCTRL_WRAP = u"Wrap"
|
|
75
|
+
PG_ATTR_SPINCTRL_MOTION = u"MotionSpin"
|
|
76
|
+
PG_ATTR_SPINCTRL_MOTIONSPIN = PG_ATTR_SPINCTRL_MOTION
|
|
77
|
+
PG_ATTR_MULTICHOICE_USERSTRINGMODE= u"UserStringMode"
|
|
78
|
+
PG_COLOUR_ALLOW_CUSTOM = u"AllowCustom"
|
|
79
|
+
PG_COLOUR_HAS_ALPHA = u"HasAlpha"
|
|
80
|
+
|
|
81
|
+
NullProperty = None
|
|
82
|
+
PGChoicesEmptyData = None
|
|
83
|
+
|
|
84
|
+
def _PGMultiButton_AddButton(self, label, id=-2):
|
|
85
|
+
"""
|
|
86
|
+
A simple wrapper around the PGMultiButton.Add method, for backwards compatibility.
|
|
87
|
+
"""
|
|
88
|
+
self.Add(label, id)
|
|
89
|
+
PGMultiButton.AddButton = _PGMultiButton_AddButton
|
|
90
|
+
del _PGMultiButton_AddButton
|
|
91
|
+
def _PGMultiButton_AddBitmapButton(self, bitmap, id=-2):
|
|
92
|
+
"""
|
|
93
|
+
A simple wrapper around the PGMultiButton.Add method, for backwards compatibility.
|
|
94
|
+
"""
|
|
95
|
+
self.Add(bitmap, id)
|
|
96
|
+
PGMultiButton.AddBitmapButton = _PGMultiButton_AddBitmapButton
|
|
97
|
+
del _PGMultiButton_AddBitmapButton
|
|
98
|
+
def _PropertyGridInterface_MapType(self, class_, factory):
|
|
99
|
+
"""
|
|
100
|
+
Registers Python type/class to property mapping.
|
|
101
|
+
|
|
102
|
+
:param `factory`: Property builder function/class.
|
|
103
|
+
"""
|
|
104
|
+
global _type2property
|
|
105
|
+
if _type2property is None:
|
|
106
|
+
raise AssertionError("call only after a propertygrid or "
|
|
107
|
+
"manager instance constructed")
|
|
108
|
+
_type2property[class_] = factory
|
|
109
|
+
PropertyGridInterface.MapType = _PropertyGridInterface_MapType
|
|
110
|
+
del _PropertyGridInterface_MapType
|
|
111
|
+
def _PropertyGridInterface_DoDefaultTypeMappings(self):
|
|
112
|
+
"""
|
|
113
|
+
Add built-in properties to the map.
|
|
114
|
+
"""
|
|
115
|
+
import sys
|
|
116
|
+
global _type2property
|
|
117
|
+
if _type2property is not None:
|
|
118
|
+
return
|
|
119
|
+
_type2property = dict()
|
|
120
|
+
|
|
121
|
+
_type2property[str] = StringProperty
|
|
122
|
+
if sys.version_info.major < 2:
|
|
123
|
+
_type2property[unicode] = StringProperty
|
|
124
|
+
_type2property[int] = IntProperty
|
|
125
|
+
_type2property[float] = FloatProperty
|
|
126
|
+
_type2property[bool] = BoolProperty
|
|
127
|
+
_type2property[list] = ArrayStringProperty
|
|
128
|
+
_type2property[tuple] = ArrayStringProperty
|
|
129
|
+
_type2property[wx.Font] = FontProperty
|
|
130
|
+
_type2property[wx.Colour] = ColourProperty
|
|
131
|
+
#_type2property[wx.Size] = SizeProperty
|
|
132
|
+
#_type2property[wx.Point] = PointProperty
|
|
133
|
+
#_type2property[wx.FontData] = FontDataProperty
|
|
134
|
+
PropertyGridInterface.DoDefaultTypeMappings = _PropertyGridInterface_DoDefaultTypeMappings
|
|
135
|
+
del _PropertyGridInterface_DoDefaultTypeMappings
|
|
136
|
+
def _PropertyGridInterface_DoDefaultValueTypeMappings(self):
|
|
137
|
+
"""
|
|
138
|
+
Map pg value type ids to getter methods.
|
|
139
|
+
"""
|
|
140
|
+
global _vt2getter
|
|
141
|
+
if _vt2getter is not None:
|
|
142
|
+
return
|
|
143
|
+
_vt2getter = dict()
|
|
144
|
+
PropertyGridInterface.DoDefaultValueTypeMappings = _PropertyGridInterface_DoDefaultValueTypeMappings
|
|
145
|
+
del _PropertyGridInterface_DoDefaultValueTypeMappings
|
|
146
|
+
def _PropertyGridInterface_GetPropertyValues(self, dict_=None, as_strings=False, inc_attributes=False, flags=PG_ITERATE_PROPERTIES):
|
|
147
|
+
"""
|
|
148
|
+
Returns all property values in the grid.
|
|
149
|
+
|
|
150
|
+
:param `dict_`: A diftionary to fill with the property values.
|
|
151
|
+
If not given, then a new one is created. The dict_ can be an
|
|
152
|
+
object as well, in which case it's __dict__ is used.
|
|
153
|
+
:param `as_strings`: if True, then string representations of values
|
|
154
|
+
are fetched instead of native types. Useful for config and such.
|
|
155
|
+
:param `inc_attributes`: if True, then property attributes are added
|
|
156
|
+
in the form of ``"@<propname>@<attr>"``.
|
|
157
|
+
:param `flags`: Flags to pass to the iterator. See :ref:`wx.propgrid.PG_ITERATOR_FLAGS`.
|
|
158
|
+
:returns: A dictionary with values. It is always a dictionary,
|
|
159
|
+
so if dict_ was an object with __dict__ attribute, then that
|
|
160
|
+
attribute is returned.
|
|
161
|
+
"""
|
|
162
|
+
if dict_ is None:
|
|
163
|
+
dict_ = {}
|
|
164
|
+
elif hasattr(dict_,'__dict__'):
|
|
165
|
+
dict_ = dict_.__dict__
|
|
166
|
+
|
|
167
|
+
getter = self.GetPropertyValue if not as_strings else self.GetPropertyValueAsString
|
|
168
|
+
|
|
169
|
+
it = self.GetVIterator(flags)
|
|
170
|
+
while not it.AtEnd():
|
|
171
|
+
p = it.GetProperty()
|
|
172
|
+
name = p.GetName()
|
|
173
|
+
dict_[name] = getter(p)
|
|
174
|
+
|
|
175
|
+
if inc_attributes:
|
|
176
|
+
attrs = p.GetAttributes()
|
|
177
|
+
if attrs and len(attrs):
|
|
178
|
+
dict_['@%s@attr'%name] = attrs
|
|
179
|
+
|
|
180
|
+
it.Next()
|
|
181
|
+
|
|
182
|
+
return dict_
|
|
183
|
+
PropertyGridInterface.GetPropertyValues = _PropertyGridInterface_GetPropertyValues
|
|
184
|
+
del _PropertyGridInterface_GetPropertyValues
|
|
185
|
+
def _PropertyGridInterface_SetPropertyValues(self, dict_, autofill=False):
|
|
186
|
+
"""
|
|
187
|
+
Sets property values from a dictionary.
|
|
188
|
+
|
|
189
|
+
:param `dict_`: the source of the property values to set, which can be
|
|
190
|
+
either a dictionary or an object with a __dict__ attribute.
|
|
191
|
+
:param `autofill`: If true, keys with not relevant properties are
|
|
192
|
+
auto-created. For more info, see :method:`AutoFill`.
|
|
193
|
+
|
|
194
|
+
:note:
|
|
195
|
+
* Keys starting with underscore are ignored.
|
|
196
|
+
* Attributes can be set with entries named like "@<propname>@<attr>".
|
|
197
|
+
"""
|
|
198
|
+
if dict_ is None:
|
|
199
|
+
dict_ = {}
|
|
200
|
+
elif hasattr(dict_,'__dict__'):
|
|
201
|
+
dict_ = dict_.__dict__
|
|
202
|
+
attr_dicts = []
|
|
203
|
+
|
|
204
|
+
def set_sub_obj(k0, dict_):
|
|
205
|
+
for k,v in dict_.items():
|
|
206
|
+
if k[0] != '_':
|
|
207
|
+
if k.endswith('@attr'):
|
|
208
|
+
attr_dicts.append((k[1:-5],v))
|
|
209
|
+
else:
|
|
210
|
+
try:
|
|
211
|
+
self.SetPropertyValue(k,v)
|
|
212
|
+
except:
|
|
213
|
+
try:
|
|
214
|
+
if autofill:
|
|
215
|
+
self._AutoFillOne(k0,k,v)
|
|
216
|
+
continue
|
|
217
|
+
except:
|
|
218
|
+
if isinstance(v,dict):
|
|
219
|
+
set_sub_obj(k,v)
|
|
220
|
+
elif hasattr(v,'__dict__'):
|
|
221
|
+
set_sub_obj(k,v.__dict__)
|
|
222
|
+
|
|
223
|
+
for k,v in attr_dicts:
|
|
224
|
+
p = self.GetPropertyByName(k)
|
|
225
|
+
if not p:
|
|
226
|
+
raise AssertionError("No such property: '%s'"%k)
|
|
227
|
+
for an,av in v.items():
|
|
228
|
+
p.SetAttribute(an, av)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
cur_page = False
|
|
232
|
+
is_manager = isinstance(self, PropertyGridManager)
|
|
233
|
+
|
|
234
|
+
try:
|
|
235
|
+
set_sub_obj(self.GetGrid().GetRoot(), dict_)
|
|
236
|
+
except:
|
|
237
|
+
import traceback
|
|
238
|
+
traceback.print_exc()
|
|
239
|
+
|
|
240
|
+
self.Refresh()
|
|
241
|
+
PropertyGridInterface.SetPropertyValues = _PropertyGridInterface_SetPropertyValues
|
|
242
|
+
del _PropertyGridInterface_SetPropertyValues
|
|
243
|
+
def _PropertyGridInterface__AutoFillMany(self,cat,dict_):
|
|
244
|
+
for k,v in dict_.items():
|
|
245
|
+
self._AutoFillOne(cat,k,v)
|
|
246
|
+
PropertyGridInterface._AutoFillMany = _PropertyGridInterface__AutoFillMany
|
|
247
|
+
del _PropertyGridInterface__AutoFillMany
|
|
248
|
+
def _PropertyGridInterface__AutoFillOne(self,cat,k,v):
|
|
249
|
+
global _type2property
|
|
250
|
+
factory = _type2property.get(v.__class__,None)
|
|
251
|
+
if factory:
|
|
252
|
+
self.AppendIn(cat, factory(k,k,v))
|
|
253
|
+
elif hasattr(v,'__dict__'):
|
|
254
|
+
cat2 = self.AppendIn(cat, PropertyCategory(k))
|
|
255
|
+
self._AutoFillMany(cat2, v.__dict__)
|
|
256
|
+
elif isinstance(v, dict):
|
|
257
|
+
cat2 = self.AppendIn(cat, PropertyCategory(k))
|
|
258
|
+
self._AutoFillMany(cat2, v)
|
|
259
|
+
elif not k.startswith('_'):
|
|
260
|
+
raise AssertionError("member '%s' is of unregistered type/"
|
|
261
|
+
"class '%s'"%(k,v.__class__))
|
|
262
|
+
PropertyGridInterface._AutoFillOne = _PropertyGridInterface__AutoFillOne
|
|
263
|
+
del _PropertyGridInterface__AutoFillOne
|
|
264
|
+
def _PropertyGridInterface_AutoFill(self, obj, parent=None):
|
|
265
|
+
"""
|
|
266
|
+
"Clears properties and re-fills to match members and values of
|
|
267
|
+
the given object or dictionary obj.
|
|
268
|
+
"""
|
|
269
|
+
self.edited_objects[parent] = obj
|
|
270
|
+
|
|
271
|
+
cur_page = False
|
|
272
|
+
is_manager = isinstance(self, PropertyGridManager)
|
|
273
|
+
|
|
274
|
+
if not parent:
|
|
275
|
+
if is_manager:
|
|
276
|
+
page = self.GetCurrentPage()
|
|
277
|
+
page.Clear()
|
|
278
|
+
parent = page.GetRoot()
|
|
279
|
+
else:
|
|
280
|
+
self.Clear()
|
|
281
|
+
parent = self.GetGrid().GetRoot()
|
|
282
|
+
else:
|
|
283
|
+
it = self.GetIterator(PG_ITERATE_PROPERTIES, parent)
|
|
284
|
+
it.Next() # Skip the parent
|
|
285
|
+
while not it.AtEnd():
|
|
286
|
+
p = it.GetProperty()
|
|
287
|
+
if not p.IsSomeParent(parent):
|
|
288
|
+
break
|
|
289
|
+
|
|
290
|
+
self.DeleteProperty(p)
|
|
291
|
+
|
|
292
|
+
name = p.GetName()
|
|
293
|
+
it.Next()
|
|
294
|
+
|
|
295
|
+
if not is_manager or page == self.GetCurrentPage():
|
|
296
|
+
self.Freeze()
|
|
297
|
+
cur_page = True
|
|
298
|
+
|
|
299
|
+
try:
|
|
300
|
+
self._AutoFillMany(parent,obj.__dict__)
|
|
301
|
+
except:
|
|
302
|
+
import traceback
|
|
303
|
+
traceback.print_exc()
|
|
304
|
+
|
|
305
|
+
if cur_page:
|
|
306
|
+
self.Thaw()
|
|
307
|
+
PropertyGridInterface.AutoFill = _PropertyGridInterface_AutoFill
|
|
308
|
+
del _PropertyGridInterface_AutoFill
|
|
309
|
+
def _PropertyGridInterface_RegisterEditor(self, editor, editorName=None):
|
|
310
|
+
"""
|
|
311
|
+
Register a new editor, either an instance or a class.
|
|
312
|
+
"""
|
|
313
|
+
if not isinstance(editor, PGEditor):
|
|
314
|
+
editor = editor()
|
|
315
|
+
if not editorName:
|
|
316
|
+
editorName = editor.__class__.__name__
|
|
317
|
+
try:
|
|
318
|
+
self._editor_instances.append(editor)
|
|
319
|
+
except:
|
|
320
|
+
self._editor_instances = [editor]
|
|
321
|
+
return PropertyGrid.DoRegisterEditorClass(editor, editorName)
|
|
322
|
+
PropertyGridInterface.RegisterEditor = _PropertyGridInterface_RegisterEditor
|
|
323
|
+
del _PropertyGridInterface_RegisterEditor
|
|
324
|
+
def _PropertyGridInterface_GetPropertyClientData(self, p):
|
|
325
|
+
if isinstance(p, str):
|
|
326
|
+
p = self.GetPropertyByName(p)
|
|
327
|
+
return p.GetClientData()
|
|
328
|
+
PropertyGridInterface.GetPropertyClientData = _PropertyGridInterface_GetPropertyClientData
|
|
329
|
+
del _PropertyGridInterface_GetPropertyClientData
|
|
330
|
+
def _PropertyGridInterface_SetPropertyClientData(self, p, data):
|
|
331
|
+
if isinstance(p, str):
|
|
332
|
+
p = self.GetPropertyByName(p)
|
|
333
|
+
return p.SetClientData(data)
|
|
334
|
+
PropertyGridInterface.SetPropertyClientData = _PropertyGridInterface_SetPropertyClientData
|
|
335
|
+
del _PropertyGridInterface_SetPropertyClientData
|
|
336
|
+
def _PropertyGridInterface_GetPyIterator(self, flags=PG_ITERATE_DEFAULT, firstProperty=None):
|
|
337
|
+
"""
|
|
338
|
+
Returns a pythonic property iterator for a single :ref:`PropertyGrid`
|
|
339
|
+
or page in :ref:`PropertyGridManager`. Arguments are same as for
|
|
340
|
+
:ref:`GetIterator`.
|
|
341
|
+
|
|
342
|
+
The following example demonstrates iterating absolutely all items in
|
|
343
|
+
a single grid::
|
|
344
|
+
|
|
345
|
+
iterator = propGrid.GetPyIterator(wx.propgrid.PG_ITERATE_ALL)
|
|
346
|
+
for prop in iterator:
|
|
347
|
+
print(prop)
|
|
348
|
+
|
|
349
|
+
:see: `wx.propgrid.PropertyGridInterface.Properties`
|
|
350
|
+
`wx.propgrid.PropertyGridInterface.Items`
|
|
351
|
+
"""
|
|
352
|
+
it = self.GetIterator(flags, firstProperty)
|
|
353
|
+
while not it.AtEnd():
|
|
354
|
+
yield it.GetProperty()
|
|
355
|
+
it.Next()
|
|
356
|
+
PropertyGridInterface.GetPyIterator = _PropertyGridInterface_GetPyIterator
|
|
357
|
+
del _PropertyGridInterface_GetPyIterator
|
|
358
|
+
def _PropertyGridInterface_GetPyVIterator(self, flags=PG_ITERATE_DEFAULT):
|
|
359
|
+
"""
|
|
360
|
+
Similar to :ref:`GetVIterator` but returns a pythonic iterator.
|
|
361
|
+
"""
|
|
362
|
+
it = self.GetVIterator(flags)
|
|
363
|
+
while not it.AtEnd():
|
|
364
|
+
yield it.GetProperty()
|
|
365
|
+
it.Next()
|
|
366
|
+
PropertyGridInterface.GetPyVIterator = _PropertyGridInterface_GetPyVIterator
|
|
367
|
+
del _PropertyGridInterface_GetPyVIterator
|
|
368
|
+
def _PropertyGridInterface__Properties(self):
|
|
369
|
+
"""
|
|
370
|
+
This attribute is a pythonic iterator over all properties in
|
|
371
|
+
this `PropertyGrid` property container. It will only skip
|
|
372
|
+
categories and private child properties. Usage is simple::
|
|
373
|
+
|
|
374
|
+
for prop in propGrid.Properties:
|
|
375
|
+
print(prop)
|
|
376
|
+
|
|
377
|
+
:see: `wx.propgrid.PropertyGridInterface.Items`
|
|
378
|
+
`wx.propgrid.PropertyGridInterface.GetPyIterator`
|
|
379
|
+
"""
|
|
380
|
+
it = self.GetIterator(PG_ITERATE_NORMAL)
|
|
381
|
+
while not it.AtEnd():
|
|
382
|
+
yield it.GetProperty()
|
|
383
|
+
it.Next()
|
|
384
|
+
PropertyGridInterface._Properties = _PropertyGridInterface__Properties
|
|
385
|
+
del _PropertyGridInterface__Properties
|
|
386
|
+
PropertyGridInterface.Properties = property(PropertyGridInterface._Properties)
|
|
387
|
+
def _PropertyGridInterface__Items(self):
|
|
388
|
+
"""
|
|
389
|
+
This attribute is a pythonic iterator over all items in this
|
|
390
|
+
`PropertyGrid` property container, excluding only private child
|
|
391
|
+
properties. Usage is simple::
|
|
392
|
+
|
|
393
|
+
for prop in propGrid.Items:
|
|
394
|
+
print(prop)
|
|
395
|
+
|
|
396
|
+
:see: `wx.propgrid.PropertyGridInterface.Properties`
|
|
397
|
+
`wx.propgrid.PropertyGridInterface.GetPyVIterator`
|
|
398
|
+
"""
|
|
399
|
+
it = self.GetVIterator(PG_ITERATE_NORMAL | PG_ITERATE_CATEGORIES)
|
|
400
|
+
while not it.AtEnd():
|
|
401
|
+
yield it.GetProperty()
|
|
402
|
+
it.Next()
|
|
403
|
+
PropertyGridInterface._Items = _PropertyGridInterface__Items
|
|
404
|
+
del _PropertyGridInterface__Items
|
|
405
|
+
PropertyGridInterface.Items = property(PropertyGridInterface._Items)
|
|
406
|
+
_type2property = None
|
|
407
|
+
_vt2getter = None
|
|
408
|
+
|
|
409
|
+
PropertyGridInterface.GetValues = PropertyGridInterface.GetPropertyValues
|
|
410
|
+
PropertyGridInterface.SetValues = PropertyGridInterface.SetPropertyValues
|
|
411
|
+
|
|
412
|
+
def _ArrayPGProperty___repr__(self):
|
|
413
|
+
return "ArrayPGProperty: " + repr(list(self))
|
|
414
|
+
ArrayPGProperty.__repr__ = _ArrayPGProperty___repr__
|
|
415
|
+
del _ArrayPGProperty___repr__
|
|
416
|
+
_PropertyGrid__init__orig = PropertyGrid.__init__
|
|
417
|
+
def _PropertyGrid__init__(self, *args, **kw):
|
|
418
|
+
_PropertyGrid__init__orig(self, *args, **kw)
|
|
419
|
+
self.DoDefaultTypeMappings()
|
|
420
|
+
self.edited_objects = {}
|
|
421
|
+
self.DoDefaultValueTypeMappings()
|
|
422
|
+
if not hasattr(self.__class__, '_vt2setter'):
|
|
423
|
+
self.__class__._vt2setter = {}
|
|
424
|
+
PropertyGrid.__init__ = _PropertyGrid__init__
|
|
425
|
+
|
|
426
|
+
EVT_PG_CHANGED = wx.PyEventBinder( wxEVT_PG_CHANGED, 1 )
|
|
427
|
+
EVT_PG_CHANGING = wx.PyEventBinder( wxEVT_PG_CHANGING, 1 )
|
|
428
|
+
EVT_PG_SELECTED = wx.PyEventBinder( wxEVT_PG_SELECTED, 1 )
|
|
429
|
+
EVT_PG_HIGHLIGHTED = wx.PyEventBinder( wxEVT_PG_HIGHLIGHTED, 1 )
|
|
430
|
+
EVT_PG_RIGHT_CLICK = wx.PyEventBinder( wxEVT_PG_RIGHT_CLICK, 1 )
|
|
431
|
+
EVT_PG_PAGE_CHANGED = wx.PyEventBinder( wxEVT_PG_PAGE_CHANGED, 1 )
|
|
432
|
+
EVT_PG_ITEM_COLLAPSED = wx.PyEventBinder( wxEVT_PG_ITEM_COLLAPSED, 1 )
|
|
433
|
+
EVT_PG_ITEM_EXPANDED = wx.PyEventBinder( wxEVT_PG_ITEM_EXPANDED, 1 )
|
|
434
|
+
EVT_PG_DOUBLE_CLICK = wx.PyEventBinder( wxEVT_PG_DOUBLE_CLICK, 1 )
|
|
435
|
+
EVT_PG_LABEL_EDIT_BEGIN = wx.PyEventBinder( wxEVT_PG_LABEL_EDIT_BEGIN, 1 )
|
|
436
|
+
EVT_PG_LABEL_EDIT_ENDING = wx.PyEventBinder( wxEVT_PG_LABEL_EDIT_ENDING, 1 )
|
|
437
|
+
EVT_PG_COL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_PG_COL_BEGIN_DRAG, 1 )
|
|
438
|
+
EVT_PG_COL_DRAGGING = wx.PyEventBinder( wxEVT_PG_COL_DRAGGING, 1 )
|
|
439
|
+
EVT_PG_COL_END_DRAG = wx.PyEventBinder( wxEVT_PG_COL_END_DRAG, 1 )
|
|
440
|
+
|
|
441
|
+
_PG_ACTION_deprecated_aliases = {
|
|
442
|
+
"PG_ACTION_INVALID" : PGKeyboardAction.Invalid,
|
|
443
|
+
"PG_ACTION_NEXT_PROPERTY" : PGKeyboardAction.NextProperty,
|
|
444
|
+
"PG_ACTION_PREV_PROPERTY" : PGKeyboardAction.PrevProperty,
|
|
445
|
+
"PG_ACTION_EXPAND_PROPERTY" : PGKeyboardAction.ExpandProperty,
|
|
446
|
+
"PG_ACTION_COLLAPSE_PROPERTY" : PGKeyboardAction.CollapseProperty,
|
|
447
|
+
"PG_ACTION_CANCEL_EDIT" : PGKeyboardAction.CancelEdit,
|
|
448
|
+
"PG_ACTION_EDIT" : PGKeyboardAction.Edit,
|
|
449
|
+
"PG_ACTION_PRESS_BUTTON" : PGKeyboardAction.PressButton,
|
|
450
|
+
"PG_ACTION_MAX" : PGKeyboardAction.PressButton + 1,
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
def __getattr__(name):
|
|
454
|
+
try:
|
|
455
|
+
value = _PG_ACTION_deprecated_aliases[name]
|
|
456
|
+
except KeyError:
|
|
457
|
+
raise AttributeError(
|
|
458
|
+
"module {!r} has no attribute {!r}".format(__name__, name))
|
|
459
|
+
import warnings
|
|
460
|
+
warnings.warn(
|
|
461
|
+
"wx.propgrid.{} is deprecated, use wx.propgrid.PGKeyboardAction instead"
|
|
462
|
+
.format(name), wx.wxPyDeprecationWarning, stacklevel=2)
|
|
463
|
+
return value
|
|
464
|
+
|
|
465
|
+
PyArrayStringProperty = wx.deprecated(ArrayStringProperty, "Use ArrayStringProperty instead.")
|
|
466
|
+
PyChoiceEditor = wx.deprecated(PGChoiceEditor, "Use PGChoiceEditor instead.")
|
|
467
|
+
PyColourProperty = wx.deprecated(ColourProperty, "Use ColourProperty instead.")
|
|
468
|
+
PyComboBoxEditor = wx.deprecated(PGComboBoxEditor, "Use PGComboBoxEditor instead.")
|
|
469
|
+
PyEditEnumProperty = wx.deprecated(EditEnumProperty, "Use PGEditEnumProperty instead.")
|
|
470
|
+
PyEditor = wx.deprecated(PGEditor, "Use PGEditor instead.")
|
|
471
|
+
PyEditorDialogAdapter = wx.deprecated(PGEditorDialogAdapter, "Use PGEditorDialogAdapter instead.")
|
|
472
|
+
PyEnumProperty = wx.deprecated(EnumProperty, "Use EnumProperty instead.")
|
|
473
|
+
PyFileProperty = wx.deprecated(FileProperty, "Use FileProperty instead.")
|
|
474
|
+
PyFlagsProperty = wx.deprecated(FlagsProperty, "Use FlagsProperty instead.")
|
|
475
|
+
PyFloatProperty = wx.deprecated(FloatProperty, "Use FloatProperty instead.")
|
|
476
|
+
PyFontProperty = wx.deprecated(FontProperty, "Use FontProperty instead.")
|
|
477
|
+
PyIntProperty = wx.deprecated(IntProperty, "Use IntProperty instead.")
|
|
478
|
+
PyLongStringProperty = wx.deprecated(LongStringProperty, "Use LongStringProperty instead.")
|
|
479
|
+
PyProperty = wx.deprecated(PGProperty, "Use PGProperty instead.")
|
|
480
|
+
PyStringProperty = wx.deprecated(StringProperty, "Use StringProperty instead.")
|
|
481
|
+
PySystemColourProperty = wx.deprecated(SystemColourProperty, "Use SystemColourProperty instead.")
|
|
482
|
+
PyTextCtrlEditor = wx.deprecated(PGTextCtrlEditor, "Use PGTextCtrlEditor instead.")
|
|
483
|
+
PyUIntProperty = wx.deprecated(UIntProperty, "Use UIntProperty instead.")
|
|
484
|
+
|
|
485
|
+
@wx.deprecatedMsg("Use PropertyGrid.DoRegisterEditor instead")
|
|
486
|
+
def RegisterEditor(editor, editorName):
|
|
487
|
+
return PropertyGrid.DoRegisterEditorClass(editor, editorName)
|
|
488
|
+
|
|
489
|
+
_PropertyGridManager__init__orig = PropertyGridManager.__init__
|
|
490
|
+
def _PropertyGridManager__init__(self, *args, **kw):
|
|
491
|
+
_PropertyGridManager__init__orig(self, *args, **kw)
|
|
492
|
+
self.DoDefaultTypeMappings()
|
|
493
|
+
self.edited_objects = {}
|
|
494
|
+
self.DoDefaultValueTypeMappings()
|
|
495
|
+
if not hasattr(self.__class__, '_vt2setter'):
|
|
496
|
+
self.__class__._vt2setter = {}
|
|
497
|
+
PropertyGridManager.__init__ = _PropertyGridManager__init__
|
|
498
|
+
|