wxPython 4.3.2__cp315-cp315-win_amd64.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_amd64.pyd +0 -0
- wx/_aui.cp315-win_amd64.pyd +0 -0
- wx/_core.cp315-win_amd64.pyd +0 -0
- wx/_dataview.cp315-win_amd64.pyd +0 -0
- wx/_glcanvas.cp315-win_amd64.pyd +0 -0
- wx/_grid.cp315-win_amd64.pyd +0 -0
- wx/_html.cp315-win_amd64.pyd +0 -0
- wx/_html2.cp315-win_amd64.pyd +0 -0
- wx/_media.cp315-win_amd64.pyd +0 -0
- wx/_msw.cp315-win_amd64.pyd +0 -0
- wx/_propgrid.cp315-win_amd64.pyd +0 -0
- wx/_ribbon.cp315-win_amd64.pyd +0 -0
- wx/_richtext.cp315-win_amd64.pyd +0 -0
- wx/_stc.cp315-win_amd64.pyd +0 -0
- wx/_xml.cp315-win_amd64.pyd +0 -0
- wx/_xrc.cp315-win_amd64.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/libcairo-2.dll +0 -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_amd64.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_amd64.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_x64.dll +0 -0
- wx/wxbase334u_vc140_x64.dll +0 -0
- wx/wxbase334u_xml_vc140_x64.dll +0 -0
- wx/wxmsw334u_adv_vc140_x64.dll +0 -0
- wx/wxmsw334u_aui_vc140_x64.dll +0 -0
- wx/wxmsw334u_core_vc140_x64.dll +0 -0
- wx/wxmsw334u_gl_vc140_x64.dll +0 -0
- wx/wxmsw334u_html_vc140_x64.dll +0 -0
- wx/wxmsw334u_media_vc140_x64.dll +0 -0
- wx/wxmsw334u_propgrid_vc140_x64.dll +0 -0
- wx/wxmsw334u_qa_vc140_x64.dll +0 -0
- wx/wxmsw334u_ribbon_vc140_x64.dll +0 -0
- wx/wxmsw334u_richtext_vc140_x64.dll +0 -0
- wx/wxmsw334u_stc_vc140_x64.dll +0 -0
- wx/wxmsw334u_webview_vc140_x64.dll +0 -0
- wx/wxmsw334u_xrc_vc140_x64.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 +472 -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
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
# --------------------------------------------------------------------------- #
|
|
2
|
+
# ADVANCEDSPLASH Control wxPython IMPLEMENTATION
|
|
3
|
+
# Python Code By:
|
|
4
|
+
#
|
|
5
|
+
# Andrea Gavana, @ 10 Oct 2005
|
|
6
|
+
# Latest Revision: 19 Dec 2012, 21.00 GMT
|
|
7
|
+
#
|
|
8
|
+
#
|
|
9
|
+
# TODO List/Caveats
|
|
10
|
+
#
|
|
11
|
+
# 1. Actually, Setting The Shape Of AdvancedSplash Is Done Using "SetShape"
|
|
12
|
+
# Function On A Frame. This Works, AFAIK, On This Following Platforms:
|
|
13
|
+
#
|
|
14
|
+
# - MSW
|
|
15
|
+
# - UNIX/Linux
|
|
16
|
+
# - MacOS Carbon
|
|
17
|
+
#
|
|
18
|
+
# Obviously I May Be Wrong Here. Could Someone Verify That Lines 139-145
|
|
19
|
+
# Work Correctly On Other Platforms Than Mine (MSW XP/2000)?
|
|
20
|
+
# Moreover, Is There A Way To Avoid The Use Of The "SetShape" Method?
|
|
21
|
+
# I Don't Know.
|
|
22
|
+
#
|
|
23
|
+
#
|
|
24
|
+
# For All Kind Of Problems, Requests Of Enhancements And Bug Reports, Please
|
|
25
|
+
# Write To Me At:
|
|
26
|
+
#
|
|
27
|
+
# andrea.gavana@gmail.com
|
|
28
|
+
# andrea.gavana@maerskoil.com
|
|
29
|
+
#
|
|
30
|
+
# Or, Obviously, To The wxPython Mailing List!!!
|
|
31
|
+
#
|
|
32
|
+
# Tags: phoenix-port, unittest, documented, py3-port
|
|
33
|
+
#
|
|
34
|
+
# End Of Comments
|
|
35
|
+
# --------------------------------------------------------------------------- #
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
:class:`~wx.lib.agw.advancedsplash.AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, with
|
|
40
|
+
some enhancements.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Description
|
|
44
|
+
===========
|
|
45
|
+
|
|
46
|
+
:class:`AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, but with
|
|
47
|
+
some enhancements (in my opinion).
|
|
48
|
+
|
|
49
|
+
:class:`AdvancedSplash` starts its construction from a simple frame. Then, depending on
|
|
50
|
+
the options passed to it, it sets the frame shape accordingly to the image passed
|
|
51
|
+
as input. :class:`AdvancedSplash` behaves somewhat like :class:`~adv.SplashScreen`, and almost
|
|
52
|
+
all the methods available in :class:`~adv.SplashScreen` are available also in
|
|
53
|
+
this module.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Usage
|
|
57
|
+
=====
|
|
58
|
+
|
|
59
|
+
Sample usage::
|
|
60
|
+
|
|
61
|
+
import wx
|
|
62
|
+
import wx.lib.agw.advancedsplash as AS
|
|
63
|
+
|
|
64
|
+
app = wx.App(0)
|
|
65
|
+
|
|
66
|
+
frame = wx.Frame(None, -1, "AdvancedSplash Test")
|
|
67
|
+
|
|
68
|
+
imagePath = "my_splash_image.png"
|
|
69
|
+
bitmap = wx.Bitmap(imagePath, wx.BITMAP_TYPE_PNG)
|
|
70
|
+
shadow = wx.WHITE
|
|
71
|
+
|
|
72
|
+
splash = AS.AdvancedSplash(frame, bitmap=bitmap, timeout=5000,
|
|
73
|
+
agwStyle=AS.AS_TIMEOUT |
|
|
74
|
+
AS.AS_CENTER_ON_PARENT |
|
|
75
|
+
AS.AS_SHADOW_BITMAP,
|
|
76
|
+
shadowcolour=shadow)
|
|
77
|
+
|
|
78
|
+
app.MainLoop()
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
None of the options are strictly required (a part of the `bitmap` parameter).
|
|
82
|
+
If you use the defaults you get a very simple :class:`AdvancedSplash`.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
Methods and Settings
|
|
86
|
+
====================
|
|
87
|
+
|
|
88
|
+
:class:`AdvancedSplash` is customizable, and in particular you can set:
|
|
89
|
+
|
|
90
|
+
- Whether you want to mask a colour or not in your input bitmap;
|
|
91
|
+
- Where to center the splash screen (on screen, on parent or nowhere);
|
|
92
|
+
- Whether it is a "timeout" splashscreen or not;
|
|
93
|
+
- The time after which :class:`AdvancedSplash` is destroyed (if it is a timeout splashscreen);
|
|
94
|
+
- The (optional) text you wish to display;
|
|
95
|
+
- The font, colour and position of the displayed text (optional).
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
Window Styles
|
|
99
|
+
=============
|
|
100
|
+
|
|
101
|
+
This class supports the following window styles:
|
|
102
|
+
|
|
103
|
+
======================= =========== ==================================================
|
|
104
|
+
Window Styles Hex Value Description
|
|
105
|
+
======================= =========== ==================================================
|
|
106
|
+
``AS_TIMEOUT`` 0x1 :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds.
|
|
107
|
+
``AS_NOTIMEOUT`` 0x2 :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method.
|
|
108
|
+
``AS_CENTER_ON_SCREEN`` 0x4 :class:`AdvancedSplash` will be centered on screen.
|
|
109
|
+
``AS_CENTER_ON_PARENT`` 0x8 :class:`AdvancedSplash` will be centered on parent.
|
|
110
|
+
``AS_NO_CENTER`` 0x10 :class:`AdvancedSplash` will not be centered.
|
|
111
|
+
``AS_SHADOW_BITMAP`` 0x20 If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels.
|
|
112
|
+
======================= =========== ==================================================
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
Events Processing
|
|
116
|
+
=================
|
|
117
|
+
|
|
118
|
+
`No custom events are available for this class.`
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
License And Version
|
|
122
|
+
===================
|
|
123
|
+
|
|
124
|
+
:class:`AdvancedSplash` control is distributed under the wxPython license.
|
|
125
|
+
|
|
126
|
+
Latest revision: Andrea Gavana @ 19 Dec 2012, 21.00 GMT
|
|
127
|
+
|
|
128
|
+
Version 0.5
|
|
129
|
+
|
|
130
|
+
"""
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
#----------------------------------------------------------------------
|
|
134
|
+
# Beginning Of ADVANCEDSPLASH wxPython Code
|
|
135
|
+
#----------------------------------------------------------------------
|
|
136
|
+
|
|
137
|
+
import wx
|
|
138
|
+
|
|
139
|
+
# These Are Used To Declare If The AdvancedSplash Should Be Destroyed After The
|
|
140
|
+
# Timeout Or Not
|
|
141
|
+
|
|
142
|
+
AS_TIMEOUT = 1
|
|
143
|
+
""" :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds. """
|
|
144
|
+
AS_NOTIMEOUT = 2
|
|
145
|
+
""" :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method. """
|
|
146
|
+
|
|
147
|
+
# These Flags Are Used To Position AdvancedSplash Correctly On Screen
|
|
148
|
+
AS_CENTER_ON_SCREEN = 4
|
|
149
|
+
""" :class:`AdvancedSplash` will be centered on screen. """
|
|
150
|
+
AS_CENTER_ON_PARENT = 8
|
|
151
|
+
""" :class:`AdvancedSplash` will be centered on parent. """
|
|
152
|
+
AS_NO_CENTER = 16
|
|
153
|
+
""" :class:`AdvancedSplash` will not be centered. """
|
|
154
|
+
|
|
155
|
+
# This Option Allow To Mask A Colour In The Input Bitmap
|
|
156
|
+
AS_SHADOW_BITMAP = 32
|
|
157
|
+
""" If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels. """
|
|
158
|
+
|
|
159
|
+
#----------------------------------------------------------------------
|
|
160
|
+
# ADVANCEDSPLASH Class
|
|
161
|
+
# This Is The Main Class Implementation. See __init__() Method For
|
|
162
|
+
# Details.
|
|
163
|
+
#----------------------------------------------------------------------
|
|
164
|
+
|
|
165
|
+
class AdvancedSplash(wx.Frame):
|
|
166
|
+
"""
|
|
167
|
+
:class:`AdvancedSplash` tries to reproduce the behavior of :class:`~adv.SplashScreen`, with
|
|
168
|
+
some enhancements.
|
|
169
|
+
|
|
170
|
+
This is the main class implementation.
|
|
171
|
+
"""
|
|
172
|
+
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize,
|
|
173
|
+
style=wx.FRAME_NO_TASKBAR | wx.FRAME_SHAPED | wx.STAY_ON_TOP,
|
|
174
|
+
bitmap=None, timeout=5000,
|
|
175
|
+
agwStyle=AS_TIMEOUT | AS_CENTER_ON_SCREEN,
|
|
176
|
+
shadowcolour=wx.NullColour):
|
|
177
|
+
"""
|
|
178
|
+
Default class constructor.
|
|
179
|
+
|
|
180
|
+
:param `parent`: parent window;
|
|
181
|
+
:param integer `id`: window identifier. A value of -1 indicates a default value;
|
|
182
|
+
:param `pos`: the control position. A value of (-1, -1) indicates a default position,
|
|
183
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
184
|
+
:param `size`: the control size. A value of (-1, -1) indicates a default size,
|
|
185
|
+
chosen by either the windowing system or wxPython, depending on platform;
|
|
186
|
+
:param integer `style`: the underlying :class:`wx.Frame` style;
|
|
187
|
+
:param `bitmap`: this must be a valid bitmap, that you may construct using
|
|
188
|
+
whatever image file format supported by wxPython. If the file you load
|
|
189
|
+
already supports mask/transparency (like png), the transparent areas
|
|
190
|
+
will not be drawn on screen, and the :class:`AdvancedSplash` frame will have
|
|
191
|
+
the shape defined only by *non-transparent* pixels.
|
|
192
|
+
If you use other file formats that does not supports transparency, you
|
|
193
|
+
can obtain the same effect as above by masking a specific colour in
|
|
194
|
+
your :class:`wx.Bitmap`.
|
|
195
|
+
:param integer `timeout`: if you construct :class:`AdvancedSplash` using the style ``AS_TIMEOUT``,
|
|
196
|
+
:class:`AdvancedSplash` will be destroyed after `timeout` milliseconds;
|
|
197
|
+
:param integer `agwStyle`: this value specifies the :class:`AdvancedSplash` styles:
|
|
198
|
+
|
|
199
|
+
======================= =========== ==================================================
|
|
200
|
+
Window Styles Hex Value Description
|
|
201
|
+
======================= =========== ==================================================
|
|
202
|
+
``AS_TIMEOUT`` 0x1 :class:`AdvancedSplash` will be destroyed after `timeout` milliseconds.
|
|
203
|
+
``AS_NOTIMEOUT`` 0x2 :class:`AdvancedSplash` can be destroyed by clicking on it, pressing a key or by explicitly call the `Close()` method.
|
|
204
|
+
``AS_CENTER_ON_SCREEN`` 0x4 :class:`AdvancedSplash` will be centered on screen.
|
|
205
|
+
``AS_CENTER_ON_PARENT`` 0x8 :class:`AdvancedSplash` will be centered on parent.
|
|
206
|
+
``AS_NO_CENTER`` 0x10 :class:`AdvancedSplash` will not be centered.
|
|
207
|
+
``AS_SHADOW_BITMAP`` 0x20 If the bitmap you pass as input has no transparency, you can choose one colour that will be masked in your bitmap. the final shape of :class:`AdvancedSplash` will be defined only by non-transparent (non-masked) pixels.
|
|
208
|
+
======================= =========== ==================================================
|
|
209
|
+
|
|
210
|
+
:param `shadowcolour`: if you construct :class:`AdvancedSplash` using the style
|
|
211
|
+
``AS_SHADOW_BITMAP``, here you can specify the colour that will be masked on
|
|
212
|
+
your input bitmap. This has to be a valid wxPython colour.
|
|
213
|
+
|
|
214
|
+
:type parent: :class:`wx.Window`
|
|
215
|
+
:type pos: tuple or :class:`wx.Point`
|
|
216
|
+
:type size: tuple or :class:`wx.Size`
|
|
217
|
+
:type bitmap: :class:`wx.Bitmap`
|
|
218
|
+
:type shadowcolour: :class:`wx.Colour`
|
|
219
|
+
|
|
220
|
+
:raise: `Exception` in the following cases:
|
|
221
|
+
|
|
222
|
+
- The ``AS_TIMEOUT`` style is set but `timeout` is not a positive integer;
|
|
223
|
+
- The ``AS_SHADOW_BITMAP`` style is set but `shadowcolour` is not a valid wxPython colour;
|
|
224
|
+
- The :class:`AdvancedSplash` bitmap is an invalid :class:`wx.Bitmap`.
|
|
225
|
+
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
wx.Frame.__init__(self, parent, id, "", pos, size, style)
|
|
229
|
+
|
|
230
|
+
# Some Error Checking
|
|
231
|
+
if agwStyle & AS_TIMEOUT and timeout <= 0:
|
|
232
|
+
raise Exception('\nERROR: Style "AS_TIMEOUT" Used With Invalid "timeout" Parameter Value (' \
|
|
233
|
+
+ str(timeout) + ')')
|
|
234
|
+
|
|
235
|
+
if agwStyle & AS_SHADOW_BITMAP and not shadowcolour.IsOk():
|
|
236
|
+
raise Exception('\nERROR: Style "AS_SHADOW_BITMAP" Used With Invalid "shadowcolour" Parameter')
|
|
237
|
+
|
|
238
|
+
if not bitmap or not bitmap.IsOk():
|
|
239
|
+
raise Exception("\nERROR: Bitmap Passed To AdvancedSplash Is Invalid.")
|
|
240
|
+
|
|
241
|
+
if agwStyle & AS_SHADOW_BITMAP:
|
|
242
|
+
# Our Bitmap Is Masked Accordingly To User Input
|
|
243
|
+
self.bmp = self.ShadowBitmap(bitmap, shadowcolour)
|
|
244
|
+
else:
|
|
245
|
+
self.bmp = bitmap
|
|
246
|
+
|
|
247
|
+
self._agwStyle = agwStyle
|
|
248
|
+
|
|
249
|
+
# Setting Initial Properties
|
|
250
|
+
self.SetText()
|
|
251
|
+
self.SetTextFont()
|
|
252
|
+
self.SetTextPosition()
|
|
253
|
+
self.SetTextColour()
|
|
254
|
+
|
|
255
|
+
# Calculate The Shape Of AdvancedSplash Using The Input-Modified Bitmap
|
|
256
|
+
self.reg = wx.Region(self.bmp)
|
|
257
|
+
|
|
258
|
+
# Don't Know If It Works On Other Platforms!!
|
|
259
|
+
# Tested Only In Windows XP/2000
|
|
260
|
+
|
|
261
|
+
if wx.Platform == "__WXGTK__":
|
|
262
|
+
self.Bind(wx.EVT_WINDOW_CREATE, self.SetSplashShape)
|
|
263
|
+
else:
|
|
264
|
+
self.SetSplashShape()
|
|
265
|
+
|
|
266
|
+
w = self.bmp.GetWidth() + 1
|
|
267
|
+
h = self.bmp.GetHeight() + 1
|
|
268
|
+
|
|
269
|
+
# Set The AdvancedSplash Size To The Bitmap Size
|
|
270
|
+
self.SetClientSize((w, h))
|
|
271
|
+
|
|
272
|
+
if agwStyle & AS_CENTER_ON_SCREEN:
|
|
273
|
+
self.CenterOnScreen()
|
|
274
|
+
elif agwStyle & AS_CENTER_ON_PARENT:
|
|
275
|
+
self.CenterOnParent()
|
|
276
|
+
|
|
277
|
+
if agwStyle & AS_TIMEOUT:
|
|
278
|
+
# Starts The Timer. Once Expired, AdvancedSplash Is Destroyed
|
|
279
|
+
self._splashtimer = wx.Timer(self)
|
|
280
|
+
self.Bind(wx.EVT_TIMER, self.OnNotify)
|
|
281
|
+
self._splashtimer.Start(timeout)
|
|
282
|
+
|
|
283
|
+
# Catch Some Mouse Events, To Behave Like wx.SplashScreen
|
|
284
|
+
self.Bind(wx.EVT_PAINT, self.OnPaint)
|
|
285
|
+
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
|
|
286
|
+
self.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouseEvents)
|
|
287
|
+
self.Bind(wx.EVT_CHAR, self.OnCharEvents)
|
|
288
|
+
|
|
289
|
+
self.Show()
|
|
290
|
+
if wx.Platform == "__WXMAC__":
|
|
291
|
+
wx.SafeYield(self, True)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
def SetSplashShape(self, event=None):
|
|
295
|
+
"""
|
|
296
|
+
Sets :class:`AdvancedSplash` shape using the region created from the bitmap.
|
|
297
|
+
|
|
298
|
+
:param `event`: a :class:`wx.WindowCreateEvent` event (GTK only, as GTK supports setting
|
|
299
|
+
the window shape only during window creation).
|
|
300
|
+
"""
|
|
301
|
+
|
|
302
|
+
self.SetShape(self.reg)
|
|
303
|
+
|
|
304
|
+
if event is not None:
|
|
305
|
+
event.Skip()
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
def ShadowBitmap(self, bmp, shadowcolour):
|
|
309
|
+
"""
|
|
310
|
+
Applies a mask on the bitmap accordingly to user input.
|
|
311
|
+
|
|
312
|
+
:param `bmp`: the bitmap to which we want to apply the mask colour `shadowcolour`;
|
|
313
|
+
:param `shadowcolour`: the mask colour for our bitmap.
|
|
314
|
+
:type bmp: :class:`wx.Bitmap`
|
|
315
|
+
:type shadowcolour: :class:`wx.Colour`
|
|
316
|
+
|
|
317
|
+
:return: A masked version of the input bitmap, an instance of :class:`wx.Bitmap`.
|
|
318
|
+
"""
|
|
319
|
+
|
|
320
|
+
mask = wx.Mask(bmp, shadowcolour)
|
|
321
|
+
bmp.SetMask(mask)
|
|
322
|
+
|
|
323
|
+
return bmp
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
def OnPaint(self, event):
|
|
327
|
+
"""
|
|
328
|
+
Handles the ``wx.EVT_PAINT`` event for :class:`AdvancedSplash`.
|
|
329
|
+
|
|
330
|
+
:param `event`: a :class:`PaintEvent` to be processed.
|
|
331
|
+
"""
|
|
332
|
+
|
|
333
|
+
dc = wx.PaintDC(self)
|
|
334
|
+
|
|
335
|
+
# Here We Redraw The Bitmap Over The Frame
|
|
336
|
+
dc.DrawBitmap(self.bmp, 0, 0, True)
|
|
337
|
+
|
|
338
|
+
# We Draw The Text Anyway, Whether It Is Empty ("") Or Not
|
|
339
|
+
textcolour = self.GetTextColour()
|
|
340
|
+
textfont = self.GetTextFont()
|
|
341
|
+
textpos = self.GetTextPosition()
|
|
342
|
+
text = self.GetText()
|
|
343
|
+
|
|
344
|
+
dc.SetFont(textfont[0])
|
|
345
|
+
dc.SetTextForeground(textcolour)
|
|
346
|
+
dc.DrawText(text, textpos[0], textpos[1])
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
def OnNotify(self, event):
|
|
350
|
+
"""
|
|
351
|
+
Handles the timer expiration, and calls the `Close()` method.
|
|
352
|
+
|
|
353
|
+
:param `event`: a :class:`wx.TimerEvent` to be processed.
|
|
354
|
+
"""
|
|
355
|
+
|
|
356
|
+
self.Close()
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
def OnMouseEvents(self, event):
|
|
360
|
+
"""
|
|
361
|
+
Handles the ``wx.EVT_MOUSE_EVENTS`` events for :class:`AdvancedSplash`.
|
|
362
|
+
|
|
363
|
+
:param `event`: a :class:`MouseEvent` to be processed.
|
|
364
|
+
|
|
365
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
366
|
+
"""
|
|
367
|
+
|
|
368
|
+
if event.LeftDown() or event.RightDown():
|
|
369
|
+
self.Close()
|
|
370
|
+
|
|
371
|
+
event.Skip()
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
def OnCharEvents(self, event):
|
|
375
|
+
"""
|
|
376
|
+
Handles the ``wx.EVT_CHAR`` event for :class:`AdvancedSplash`.
|
|
377
|
+
|
|
378
|
+
:param `event`: a :class:`KeyEvent` to be processed.
|
|
379
|
+
|
|
380
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
381
|
+
"""
|
|
382
|
+
|
|
383
|
+
self.Close()
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
def OnCloseWindow(self, event):
|
|
387
|
+
"""
|
|
388
|
+
Handles the ``wx.EVT_CLOSE`` event for :class:`AdvancedSplash`.
|
|
389
|
+
|
|
390
|
+
:param `event`: a :class:`CloseEvent` to be processed.
|
|
391
|
+
|
|
392
|
+
:note: This reproduces the behavior of :class:`~adv.SplashScreen`.
|
|
393
|
+
"""
|
|
394
|
+
|
|
395
|
+
if hasattr(self, "_splashtimer"):
|
|
396
|
+
self._splashtimer.Stop()
|
|
397
|
+
del self._splashtimer
|
|
398
|
+
|
|
399
|
+
self.Destroy()
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
def SetText(self, text=None):
|
|
403
|
+
"""
|
|
404
|
+
Sets the text to be displayed on :class:`AdvancedSplash`.
|
|
405
|
+
|
|
406
|
+
:param `text`: the text we want to display on top of the bitmap. If `text` is
|
|
407
|
+
set to ``None``, nothing will be drawn on top of the bitmap.
|
|
408
|
+
:type text: string or ``None``
|
|
409
|
+
"""
|
|
410
|
+
|
|
411
|
+
if text is None:
|
|
412
|
+
text = ""
|
|
413
|
+
|
|
414
|
+
self._text = text
|
|
415
|
+
|
|
416
|
+
self.Refresh()
|
|
417
|
+
self.Update()
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
def GetText(self):
|
|
421
|
+
"""
|
|
422
|
+
Returns the text displayed on :class:`AdvancedSplash`.
|
|
423
|
+
|
|
424
|
+
:return: A string representing the text drawn on top of the :class:`AdvancedSplash` bitmap.
|
|
425
|
+
"""
|
|
426
|
+
|
|
427
|
+
return self._text
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
def SetTextFont(self, font=None):
|
|
431
|
+
"""
|
|
432
|
+
Sets the font for the text in :class:`AdvancedSplash`.
|
|
433
|
+
|
|
434
|
+
:param `font`: the font to use while drawing the text on top of our bitmap. If `font`
|
|
435
|
+
is ``None``, a simple generic font is generated.
|
|
436
|
+
:type font: :class:`wx.Font` or ``None``
|
|
437
|
+
"""
|
|
438
|
+
|
|
439
|
+
if font is None:
|
|
440
|
+
self._textfont = wx.Font(1, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False)
|
|
441
|
+
self._textsize = 10
|
|
442
|
+
self._textfont.SetPointSize(self._textsize)
|
|
443
|
+
else:
|
|
444
|
+
self._textfont = font
|
|
445
|
+
self._textsize = font.GetPointSize()
|
|
446
|
+
self._textfont.SetPointSize(self._textsize)
|
|
447
|
+
|
|
448
|
+
self.Refresh()
|
|
449
|
+
self.Update()
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
def GetTextFont(self):
|
|
453
|
+
"""
|
|
454
|
+
Gets the font for the text in :class:`AdvancedSplash`.
|
|
455
|
+
|
|
456
|
+
:return: An instance of :class:`wx.Font` to draw the text and a :class:`wx.Size` object containing
|
|
457
|
+
the text width an height, in pixels.
|
|
458
|
+
"""
|
|
459
|
+
|
|
460
|
+
return self._textfont, self._textsize
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
def SetTextColour(self, colour=None):
|
|
464
|
+
"""
|
|
465
|
+
Sets the colour for the text in :class:`AdvancedSplash`.
|
|
466
|
+
|
|
467
|
+
:param `colour`: the text colour to use while drawing the text on top of our
|
|
468
|
+
bitmap. If `colour` is ``None``, then ``wx.BLACK`` is used.
|
|
469
|
+
:type colour: :class:`wx.Colour` or ``None``
|
|
470
|
+
"""
|
|
471
|
+
|
|
472
|
+
if colour is None:
|
|
473
|
+
colour = wx.BLACK
|
|
474
|
+
|
|
475
|
+
self._textcolour = colour
|
|
476
|
+
self.Refresh()
|
|
477
|
+
self.Update()
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
def GetTextColour(self):
|
|
481
|
+
"""
|
|
482
|
+
Gets the colour for the text in :class:`AdvancedSplash`.
|
|
483
|
+
|
|
484
|
+
:return: An instance of :class:`wx.Colour`.
|
|
485
|
+
"""
|
|
486
|
+
|
|
487
|
+
return self._textcolour
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
def SetTextPosition(self, position=None):
|
|
491
|
+
"""
|
|
492
|
+
Sets the text position inside :class:`AdvancedSplash` frame.
|
|
493
|
+
|
|
494
|
+
:param `position`: the text position inside our bitmap. If `position` is ``None``,
|
|
495
|
+
the text will be placed at the top-left corner.
|
|
496
|
+
:type position: tuple or ``None``
|
|
497
|
+
"""
|
|
498
|
+
|
|
499
|
+
if position is None:
|
|
500
|
+
position = (0, 0)
|
|
501
|
+
|
|
502
|
+
self._textpos = position
|
|
503
|
+
self.Refresh()
|
|
504
|
+
self.Update()
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
def GetTextPosition(self):
|
|
508
|
+
"""
|
|
509
|
+
Returns the text position inside :class:`AdvancedSplash` frame.
|
|
510
|
+
|
|
511
|
+
:return: A tuple containing the text `x` and `y` position inside the :class:`AdvancedSplash` frame.
|
|
512
|
+
"""
|
|
513
|
+
|
|
514
|
+
return self._textpos
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
def GetSplashStyle(self):
|
|
518
|
+
"""
|
|
519
|
+
Returns a list of strings and a list of integers containing the styles.
|
|
520
|
+
|
|
521
|
+
:return: Two Python lists containing the style name and style values for :class:`AdvancedSplash`.
|
|
522
|
+
"""
|
|
523
|
+
|
|
524
|
+
stringstyle = []
|
|
525
|
+
integerstyle = []
|
|
526
|
+
|
|
527
|
+
if self._agwStyle & AS_TIMEOUT:
|
|
528
|
+
stringstyle.append("AS_TIMEOUT")
|
|
529
|
+
integerstyle.append(AS_TIMEOUT)
|
|
530
|
+
|
|
531
|
+
if self._agwStyle & AS_NOTIMEOUT:
|
|
532
|
+
stringstyle.append("AS_NOTIMEOUT")
|
|
533
|
+
integerstyle.append(AS_NOTIMEOUT)
|
|
534
|
+
|
|
535
|
+
if self._agwStyle & AS_CENTER_ON_SCREEN:
|
|
536
|
+
stringstyle.append("AS_CENTER_ON_SCREEN")
|
|
537
|
+
integerstyle.append(AS_CENTER_ON_SCREEN)
|
|
538
|
+
|
|
539
|
+
if self._agwStyle & AS_CENTER_ON_PARENT:
|
|
540
|
+
stringstyle.append("AS_CENTER_ON_PARENT")
|
|
541
|
+
integerstyle.append(AS_CENTER_ON_PARENT)
|
|
542
|
+
|
|
543
|
+
if self._agwStyle & AS_NO_CENTER:
|
|
544
|
+
stringstyle.append("AS_NO_CENTER")
|
|
545
|
+
integerstyle.append(AS_NO_CENTER)
|
|
546
|
+
|
|
547
|
+
if self._agwStyle & AS_SHADOW_BITMAP:
|
|
548
|
+
stringstyle.append("AS_SHADOW_BITMAP")
|
|
549
|
+
integerstyle.append(AS_SHADOW_BITMAP)
|
|
550
|
+
|
|
551
|
+
return stringstyle, integerstyle
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
if __name__ == '__main__':
|
|
555
|
+
|
|
556
|
+
import wx
|
|
557
|
+
|
|
558
|
+
app = wx.App(0)
|
|
559
|
+
|
|
560
|
+
bitmap = wx.Bitmap(100, 100)
|
|
561
|
+
splash = AdvancedSplash(None, bitmap=bitmap, timeout=5000)
|
|
562
|
+
|
|
563
|
+
app.MainLoop()
|