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.
Files changed (471) hide show
  1. wx/WebView2Loader.dll +0 -0
  2. wx/__init__.py +22 -0
  3. wx/__init__.pyi +10 -0
  4. wx/__version__.py +9 -0
  5. wx/__version__.pyi +15 -0
  6. wx/_adv.cp315-win_arm64.pyd +0 -0
  7. wx/_aui.cp315-win_arm64.pyd +0 -0
  8. wx/_core.cp315-win_arm64.pyd +0 -0
  9. wx/_dataview.cp315-win_arm64.pyd +0 -0
  10. wx/_glcanvas.cp315-win_arm64.pyd +0 -0
  11. wx/_grid.cp315-win_arm64.pyd +0 -0
  12. wx/_html.cp315-win_arm64.pyd +0 -0
  13. wx/_html2.cp315-win_arm64.pyd +0 -0
  14. wx/_media.cp315-win_arm64.pyd +0 -0
  15. wx/_msw.cp315-win_arm64.pyd +0 -0
  16. wx/_propgrid.cp315-win_arm64.pyd +0 -0
  17. wx/_ribbon.cp315-win_arm64.pyd +0 -0
  18. wx/_richtext.cp315-win_arm64.pyd +0 -0
  19. wx/_stc.cp315-win_arm64.pyd +0 -0
  20. wx/_xml.cp315-win_arm64.pyd +0 -0
  21. wx/_xrc.cp315-win_arm64.pyd +0 -0
  22. wx/adv.py +127 -0
  23. wx/adv.pyi +5931 -0
  24. wx/aui.py +70 -0
  25. wx/aui.pyi +4805 -0
  26. wx/core.py +3417 -0
  27. wx/core.pyi +62949 -0
  28. wx/dataview.py +176 -0
  29. wx/dataview.pyi +3828 -0
  30. wx/gizmos.py +18 -0
  31. wx/glcanvas.py +13 -0
  32. wx/glcanvas.pyi +544 -0
  33. wx/grid.py +237 -0
  34. wx/grid.pyi +5678 -0
  35. wx/html.py +38 -0
  36. wx/html.pyi +3283 -0
  37. wx/html2.py +46 -0
  38. wx/html2.pyi +1301 -0
  39. wx/include/wxPython/sip.h +1938 -0
  40. wx/include/wxPython/wxpy_api.h +418 -0
  41. wx/lib/CDate.py +201 -0
  42. wx/lib/ClickableHtmlWindow.py +57 -0
  43. wx/lib/__init__.py +0 -0
  44. wx/lib/activex.py +178 -0
  45. wx/lib/activexwrapper.py +153 -0
  46. wx/lib/agw/__init__.py +128 -0
  47. wx/lib/agw/advancedsplash.py +563 -0
  48. wx/lib/agw/aquabutton.py +1127 -0
  49. wx/lib/agw/artmanager.py +2110 -0
  50. wx/lib/agw/aui/__init__.py +295 -0
  51. wx/lib/agw/aui/aui_constants.py +2616 -0
  52. wx/lib/agw/aui/aui_switcherdialog.py +1232 -0
  53. wx/lib/agw/aui/aui_utilities.py +648 -0
  54. wx/lib/agw/aui/auibar.py +4045 -0
  55. wx/lib/agw/aui/auibook.py +6288 -0
  56. wx/lib/agw/aui/dockart.py +1198 -0
  57. wx/lib/agw/aui/framemanager.py +10485 -0
  58. wx/lib/agw/aui/tabart.py +2749 -0
  59. wx/lib/agw/aui/tabmdi.py +679 -0
  60. wx/lib/agw/balloontip.py +1157 -0
  61. wx/lib/agw/buttonpanel.py +2787 -0
  62. wx/lib/agw/cubecolourdialog.py +3529 -0
  63. wx/lib/agw/customtreectrl.py +9908 -0
  64. wx/lib/agw/data/ShortcutEditor_1.png +0 -0
  65. wx/lib/agw/data/ShortcutEditor_1_thumb.png +0 -0
  66. wx/lib/agw/data/ShortcutEditor_2.png +0 -0
  67. wx/lib/agw/data/ShortcutEditor_2_thumb.png +0 -0
  68. wx/lib/agw/data/ShortcutEditor_3.png +0 -0
  69. wx/lib/agw/data/ShortcutEditor_3_thumb.png +0 -0
  70. wx/lib/agw/data/ShortcutEditor_4.png +0 -0
  71. wx/lib/agw/data/ShortcutEditor_4_thumb.png +0 -0
  72. wx/lib/agw/data/default_help_text.html +105 -0
  73. wx/lib/agw/flatmenu.py +7392 -0
  74. wx/lib/agw/flatnotebook.py +6669 -0
  75. wx/lib/agw/floatspin.py +1820 -0
  76. wx/lib/agw/fmcustomizedlg.py +535 -0
  77. wx/lib/agw/fmresources.py +407 -0
  78. wx/lib/agw/foldpanelbar.py +2282 -0
  79. wx/lib/agw/fourwaysplitter.py +1130 -0
  80. wx/lib/agw/genericmessagedialog.py +1549 -0
  81. wx/lib/agw/gradientbutton.py +731 -0
  82. wx/lib/agw/hyperlink.py +664 -0
  83. wx/lib/agw/hypertreelist.py +5756 -0
  84. wx/lib/agw/infobar.py +885 -0
  85. wx/lib/agw/knobctrl.py +944 -0
  86. wx/lib/agw/labelbook.py +3028 -0
  87. wx/lib/agw/multidirdialog.py +581 -0
  88. wx/lib/agw/peakmeter.py +1028 -0
  89. wx/lib/agw/persist/__init__.py +188 -0
  90. wx/lib/agw/persist/persist_constants.py +283 -0
  91. wx/lib/agw/persist/persist_handlers.py +2614 -0
  92. wx/lib/agw/persist/persistencemanager.py +863 -0
  93. wx/lib/agw/piectrl.py +1082 -0
  94. wx/lib/agw/pybusyinfo.py +399 -0
  95. wx/lib/agw/pycollapsiblepane.py +940 -0
  96. wx/lib/agw/pygauge.py +570 -0
  97. wx/lib/agw/pyprogress.py +916 -0
  98. wx/lib/agw/ribbon/__init__.py +198 -0
  99. wx/lib/agw/ribbon/art.py +219 -0
  100. wx/lib/agw/ribbon/art_aui.py +1283 -0
  101. wx/lib/agw/ribbon/art_default.py +81 -0
  102. wx/lib/agw/ribbon/art_internal.py +248 -0
  103. wx/lib/agw/ribbon/art_msw.py +2735 -0
  104. wx/lib/agw/ribbon/art_osx.py +52 -0
  105. wx/lib/agw/ribbon/bar.py +1259 -0
  106. wx/lib/agw/ribbon/buttonbar.py +1317 -0
  107. wx/lib/agw/ribbon/control.py +205 -0
  108. wx/lib/agw/ribbon/gallery.py +973 -0
  109. wx/lib/agw/ribbon/page.py +946 -0
  110. wx/lib/agw/ribbon/panel.py +1170 -0
  111. wx/lib/agw/ribbon/toolbar.py +1441 -0
  112. wx/lib/agw/rulerctrl.py +1885 -0
  113. wx/lib/agw/scrolledthumbnail.py +2116 -0
  114. wx/lib/agw/shapedbutton.py +1809 -0
  115. wx/lib/agw/shortcuteditor.py +2642 -0
  116. wx/lib/agw/speedmeter.py +1800 -0
  117. wx/lib/agw/supertooltip.py +1443 -0
  118. wx/lib/agw/thumbnailctrl.py +529 -0
  119. wx/lib/agw/toasterbox.py +1327 -0
  120. wx/lib/agw/ultimatelistctrl.py +13671 -0
  121. wx/lib/agw/xlsgrid.py +2111 -0
  122. wx/lib/agw/zoombar.py +1336 -0
  123. wx/lib/analogclock/__init__.py +140 -0
  124. wx/lib/analogclock/analogclock.py +630 -0
  125. wx/lib/analogclock/helpers.py +986 -0
  126. wx/lib/analogclock/lib_setup/__init__.py +0 -0
  127. wx/lib/analogclock/lib_setup/buttontreectrlpanel.py +297 -0
  128. wx/lib/analogclock/lib_setup/fontselect.py +57 -0
  129. wx/lib/analogclock/setup.py +490 -0
  130. wx/lib/analogclock/styles.py +47 -0
  131. wx/lib/anchors.py +103 -0
  132. wx/lib/art/__init__.py +4 -0
  133. wx/lib/art/flagart.py +1583 -0
  134. wx/lib/art/img2pyartprov.py +56 -0
  135. wx/lib/busy.py +152 -0
  136. wx/lib/buttons.py +1140 -0
  137. wx/lib/calendar.py +1596 -0
  138. wx/lib/checkbox.py +837 -0
  139. wx/lib/colourchooser/__init__.py +36 -0
  140. wx/lib/colourchooser/canvas.py +145 -0
  141. wx/lib/colourchooser/intl.py +24 -0
  142. wx/lib/colourchooser/pycolourbox.py +89 -0
  143. wx/lib/colourchooser/pycolourchooser.py +626 -0
  144. wx/lib/colourchooser/pycolourslider.py +98 -0
  145. wx/lib/colourchooser/pypalette.py +208 -0
  146. wx/lib/colourdb.py +740 -0
  147. wx/lib/colourselect.py +385 -0
  148. wx/lib/colourutils.py +118 -0
  149. wx/lib/combotreebox.py +944 -0
  150. wx/lib/delayedresult.py +420 -0
  151. wx/lib/dialogs.py +510 -0
  152. wx/lib/docview.py +3210 -0
  153. wx/lib/dragscroller.py +79 -0
  154. wx/lib/editor/README.txt +77 -0
  155. wx/lib/editor/__init__.py +24 -0
  156. wx/lib/editor/editor.py +974 -0
  157. wx/lib/editor/images.py +15 -0
  158. wx/lib/editor/selection.py +44 -0
  159. wx/lib/embeddedimage.py +76 -0
  160. wx/lib/eventStack.py +136 -0
  161. wx/lib/eventwatcher.py +440 -0
  162. wx/lib/evtmgr.py +521 -0
  163. wx/lib/expando.py +393 -0
  164. wx/lib/fancytext.py +494 -0
  165. wx/lib/filebrowsebutton.py +461 -0
  166. wx/lib/flashwin.py +262 -0
  167. wx/lib/flashwin_old.py +651 -0
  168. wx/lib/floatcanvas/FCEvents.py +53 -0
  169. wx/lib/floatcanvas/FCObjects.py +2910 -0
  170. wx/lib/floatcanvas/FloatCanvas.py +1025 -0
  171. wx/lib/floatcanvas/GUIMode.py +396 -0
  172. wx/lib/floatcanvas/NavCanvas.py +162 -0
  173. wx/lib/floatcanvas/Resources.py +319 -0
  174. wx/lib/floatcanvas/ScreenShot.py +1788 -0
  175. wx/lib/floatcanvas/Utilities/BBox.py +313 -0
  176. wx/lib/floatcanvas/Utilities/Colors.py +137 -0
  177. wx/lib/floatcanvas/Utilities/GUI.py +91 -0
  178. wx/lib/floatcanvas/Utilities/__init__.py +7 -0
  179. wx/lib/floatcanvas/__init__.py +124 -0
  180. wx/lib/foldmenu.py +89 -0
  181. wx/lib/gestures.py +310 -0
  182. wx/lib/gizmos/__init__.py +18 -0
  183. wx/lib/gizmos/dynamicsash.py +1202 -0
  184. wx/lib/gizmos/ledctrl.py +299 -0
  185. wx/lib/gizmos/treelistctrl.py +87 -0
  186. wx/lib/graphics.py +1942 -0
  187. wx/lib/gridmovers.py +516 -0
  188. wx/lib/iewin.py +249 -0
  189. wx/lib/iewin_old.py +894 -0
  190. wx/lib/imagebrowser.py +853 -0
  191. wx/lib/imageutils.py +163 -0
  192. wx/lib/infoframe.py +490 -0
  193. wx/lib/inspection.py +1254 -0
  194. wx/lib/intctrl.py +990 -0
  195. wx/lib/itemspicker.py +256 -0
  196. wx/lib/langlistctrl.py +480 -0
  197. wx/lib/layoutf.py +271 -0
  198. wx/lib/masked/__init__.py +27 -0
  199. wx/lib/masked/combobox.py +839 -0
  200. wx/lib/masked/ctrl.py +108 -0
  201. wx/lib/masked/ipaddrctrl.py +241 -0
  202. wx/lib/masked/maskededit.py +7262 -0
  203. wx/lib/masked/numctrl.py +2000 -0
  204. wx/lib/masked/textctrl.py +465 -0
  205. wx/lib/masked/timectrl.py +1465 -0
  206. wx/lib/mixins/__init__.py +17 -0
  207. wx/lib/mixins/grid.py +47 -0
  208. wx/lib/mixins/gridlabelrenderer.py +277 -0
  209. wx/lib/mixins/imagelist.py +77 -0
  210. wx/lib/mixins/inspection.py +184 -0
  211. wx/lib/mixins/listctrl.py +893 -0
  212. wx/lib/mixins/rubberband.py +403 -0
  213. wx/lib/mixins/treemixin.py +678 -0
  214. wx/lib/msgpanel.py +95 -0
  215. wx/lib/multisash.py +746 -0
  216. wx/lib/myole4ax.idl +178 -0
  217. wx/lib/myole4ax.tlb +0 -0
  218. wx/lib/newevent.py +229 -0
  219. wx/lib/newevent.pyi +25 -0
  220. wx/lib/nvdlg.py +156 -0
  221. wx/lib/ogl/__init__.py +13 -0
  222. wx/lib/ogl/basic.py +3989 -0
  223. wx/lib/ogl/bmpshape.py +86 -0
  224. wx/lib/ogl/canvas.py +467 -0
  225. wx/lib/ogl/composit.py +1576 -0
  226. wx/lib/ogl/diagram.py +230 -0
  227. wx/lib/ogl/divided.py +482 -0
  228. wx/lib/ogl/drawn.py +898 -0
  229. wx/lib/ogl/lines.py +1809 -0
  230. wx/lib/ogl/oglmisc.py +607 -0
  231. wx/lib/pdfviewer/__init__.py +113 -0
  232. wx/lib/pdfviewer/bitmaps/ArrowLeft.png +0 -0
  233. wx/lib/pdfviewer/bitmaps/ArrowRight.png +0 -0
  234. wx/lib/pdfviewer/bitmaps/DirectionH.png +0 -0
  235. wx/lib/pdfviewer/bitmaps/DirectionV.png +0 -0
  236. wx/lib/pdfviewer/bitmaps/PlayerFirst.png +0 -0
  237. wx/lib/pdfviewer/bitmaps/PlayerLast.png +0 -0
  238. wx/lib/pdfviewer/bitmaps/PlayerNext.png +0 -0
  239. wx/lib/pdfviewer/bitmaps/PlayerPrev.png +0 -0
  240. wx/lib/pdfviewer/bitmaps/Printer.png +0 -0
  241. wx/lib/pdfviewer/bitmaps/ReadMe.txt +28 -0
  242. wx/lib/pdfviewer/bitmaps/Save.png +0 -0
  243. wx/lib/pdfviewer/bitmaps/ZoomIn.png +0 -0
  244. wx/lib/pdfviewer/bitmaps/ZoomOut.png +0 -0
  245. wx/lib/pdfviewer/bitmaps/encode_bitmaps.py +37 -0
  246. wx/lib/pdfviewer/buttonpanel.py +285 -0
  247. wx/lib/pdfviewer/images.py +240 -0
  248. wx/lib/pdfviewer/viewer.py +1118 -0
  249. wx/lib/pdfwin.py +295 -0
  250. wx/lib/pdfwin_old.py +789 -0
  251. wx/lib/platebtn.py +789 -0
  252. wx/lib/plot/CHANGELOG.md +150 -0
  253. wx/lib/plot/README.md +16 -0
  254. wx/lib/plot/__init__.py +46 -0
  255. wx/lib/plot/__main__.py +5 -0
  256. wx/lib/plot/examples/__init__.py +0 -0
  257. wx/lib/plot/examples/demo.py +1010 -0
  258. wx/lib/plot/examples/simple_example.py +56 -0
  259. wx/lib/plot/plotcanvas.py +2985 -0
  260. wx/lib/plot/polyobjects.py +1524 -0
  261. wx/lib/plot/utils.py +334 -0
  262. wx/lib/popupctl.py +251 -0
  263. wx/lib/printout.py +1155 -0
  264. wx/lib/progressindicator.py +151 -0
  265. wx/lib/pubsub/LICENSE_BSD_Simple.txt +23 -0
  266. wx/lib/pubsub/README_WxPython.txt +22 -0
  267. wx/lib/pubsub/RELEASE_NOTES.txt +71 -0
  268. wx/lib/pubsub/__init__.py +25 -0
  269. wx/lib/pubsub/core/__init__.py +92 -0
  270. wx/lib/pubsub/core/arg1/__init__.py +16 -0
  271. wx/lib/pubsub/core/arg1/listenerimpl.py +97 -0
  272. wx/lib/pubsub/core/arg1/publisher.py +40 -0
  273. wx/lib/pubsub/core/arg1/publishermixin.py +34 -0
  274. wx/lib/pubsub/core/arg1/topicargspecimpl.py +66 -0
  275. wx/lib/pubsub/core/arg1/topicmgrimpl.py +19 -0
  276. wx/lib/pubsub/core/callables.py +198 -0
  277. wx/lib/pubsub/core/imp2.py +62 -0
  278. wx/lib/pubsub/core/itopicdefnprovider.py +0 -0
  279. wx/lib/pubsub/core/kwargs/__init__.py +16 -0
  280. wx/lib/pubsub/core/kwargs/datamsg.py +27 -0
  281. wx/lib/pubsub/core/kwargs/listenerimpl.py +93 -0
  282. wx/lib/pubsub/core/kwargs/publisher.py +77 -0
  283. wx/lib/pubsub/core/kwargs/publishermixin.py +65 -0
  284. wx/lib/pubsub/core/kwargs/topicargspecimpl.py +216 -0
  285. wx/lib/pubsub/core/kwargs/topicmgrimpl.py +13 -0
  286. wx/lib/pubsub/core/listener.py +40 -0
  287. wx/lib/pubsub/core/listenerbase.py +185 -0
  288. wx/lib/pubsub/core/notificationmgr.py +185 -0
  289. wx/lib/pubsub/core/publisherbase.py +189 -0
  290. wx/lib/pubsub/core/topicargspec.py +77 -0
  291. wx/lib/pubsub/core/topicdefnprovider.py +631 -0
  292. wx/lib/pubsub/core/topicexc.py +72 -0
  293. wx/lib/pubsub/core/topicmgr.py +454 -0
  294. wx/lib/pubsub/core/topicobj.py +472 -0
  295. wx/lib/pubsub/core/topictreetraverser.py +143 -0
  296. wx/lib/pubsub/core/topicutils.py +119 -0
  297. wx/lib/pubsub/core/treeconfig.py +21 -0
  298. wx/lib/pubsub/core/validatedefnargs.py +29 -0
  299. wx/lib/pubsub/core/weakmethod.py +102 -0
  300. wx/lib/pubsub/policies.py +24 -0
  301. wx/lib/pubsub/pub.py +199 -0
  302. wx/lib/pubsub/setuparg1.py +47 -0
  303. wx/lib/pubsub/setupkwargs.py +29 -0
  304. wx/lib/pubsub/utils/__init__.py +27 -0
  305. wx/lib/pubsub/utils/exchandling.py +100 -0
  306. wx/lib/pubsub/utils/misc.py +99 -0
  307. wx/lib/pubsub/utils/notification.py +331 -0
  308. wx/lib/pubsub/utils/topictreeprinter.py +195 -0
  309. wx/lib/pubsub/utils/xmltopicdefnprovider.py +286 -0
  310. wx/lib/pydocview.py +3300 -0
  311. wx/lib/rcsizer.py +227 -0
  312. wx/lib/resizewidget.py +357 -0
  313. wx/lib/scrolledpanel.py +243 -0
  314. wx/lib/sheet.py +350 -0
  315. wx/lib/sized_controls.py +691 -0
  316. wx/lib/softwareupdate.py +355 -0
  317. wx/lib/splitter.py +925 -0
  318. wx/lib/statbmp.py +199 -0
  319. wx/lib/stattext.py +321 -0
  320. wx/lib/throbber.py +424 -0
  321. wx/lib/ticker.py +306 -0
  322. wx/lib/ticker_xrc.py +48 -0
  323. wx/lib/utils.py +89 -0
  324. wx/lib/wordwrap.py +97 -0
  325. wx/lib/wxcairo/__init__.py +139 -0
  326. wx/lib/wxcairo/wx_cairocffi.py +200 -0
  327. wx/lib/wxcairo/wx_pycairo.py +455 -0
  328. wx/lib/wxpTag.py +274 -0
  329. wx/locale/af/LC_MESSAGES/wxstd.mo +0 -0
  330. wx/locale/an/LC_MESSAGES/wxstd.mo +0 -0
  331. wx/locale/ar/LC_MESSAGES/wxstd.mo +0 -0
  332. wx/locale/ca/LC_MESSAGES/wxstd.mo +0 -0
  333. wx/locale/ca@valencia/LC_MESSAGES/wxstd.mo +0 -0
  334. wx/locale/co/LC_MESSAGES/wxstd.mo +0 -0
  335. wx/locale/cs/LC_MESSAGES/wxstd.mo +0 -0
  336. wx/locale/da/LC_MESSAGES/wxstd.mo +0 -0
  337. wx/locale/de/LC_MESSAGES/wxstd.mo +0 -0
  338. wx/locale/el/LC_MESSAGES/wxstd.mo +0 -0
  339. wx/locale/es/LC_MESSAGES/wxstd.mo +0 -0
  340. wx/locale/eu/LC_MESSAGES/wxstd.mo +0 -0
  341. wx/locale/fa_IR/LC_MESSAGES/wxstd.mo +0 -0
  342. wx/locale/fi/LC_MESSAGES/wxstd.mo +0 -0
  343. wx/locale/fr/LC_MESSAGES/wxstd.mo +0 -0
  344. wx/locale/gl_ES/LC_MESSAGES/wxstd.mo +0 -0
  345. wx/locale/hi/LC_MESSAGES/wxstd.mo +0 -0
  346. wx/locale/hr/LC_MESSAGES/wxstd.mo +0 -0
  347. wx/locale/hu/LC_MESSAGES/wxstd.mo +0 -0
  348. wx/locale/id/LC_MESSAGES/wxstd.mo +0 -0
  349. wx/locale/it/LC_MESSAGES/wxstd.mo +0 -0
  350. wx/locale/ja/LC_MESSAGES/wxstd.mo +0 -0
  351. wx/locale/ka/LC_MESSAGES/wxstd.mo +0 -0
  352. wx/locale/ko_KR/LC_MESSAGES/wxstd.mo +0 -0
  353. wx/locale/lt/LC_MESSAGES/wxstd.mo +0 -0
  354. wx/locale/lv/LC_MESSAGES/wxstd.mo +0 -0
  355. wx/locale/ms/LC_MESSAGES/wxstd.mo +0 -0
  356. wx/locale/nb/LC_MESSAGES/wxstd.mo +0 -0
  357. wx/locale/ne/LC_MESSAGES/wxstd.mo +0 -0
  358. wx/locale/nl/LC_MESSAGES/wxstd.mo +0 -0
  359. wx/locale/pl/LC_MESSAGES/wxstd.mo +0 -0
  360. wx/locale/pt/LC_MESSAGES/wxstd.mo +0 -0
  361. wx/locale/pt_BR/LC_MESSAGES/wxstd.mo +0 -0
  362. wx/locale/ro/LC_MESSAGES/wxstd.mo +0 -0
  363. wx/locale/ru/LC_MESSAGES/wxstd.mo +0 -0
  364. wx/locale/sk/LC_MESSAGES/wxstd.mo +0 -0
  365. wx/locale/sl/LC_MESSAGES/wxstd.mo +0 -0
  366. wx/locale/sq/LC_MESSAGES/wxstd.mo +0 -0
  367. wx/locale/sr/LC_MESSAGES/wxstd.mo +0 -0
  368. wx/locale/sv/LC_MESSAGES/wxstd.mo +0 -0
  369. wx/locale/ta/LC_MESSAGES/wxstd.mo +0 -0
  370. wx/locale/tr/LC_MESSAGES/wxstd.mo +0 -0
  371. wx/locale/uk/LC_MESSAGES/wxstd.mo +0 -0
  372. wx/locale/vi/LC_MESSAGES/wxstd.mo +0 -0
  373. wx/locale/zh_CN/LC_MESSAGES/wxstd.mo +0 -0
  374. wx/locale/zh_TW/LC_MESSAGES/wxstd.mo +0 -0
  375. wx/media.py +30 -0
  376. wx/media.pyi +272 -0
  377. wx/msw.py +16 -0
  378. wx/msw.pyi +91 -0
  379. wx/propgrid.py +498 -0
  380. wx/propgrid.pyi +7427 -0
  381. wx/py/CHANGES.txt +796 -0
  382. wx/py/Py.ico +0 -0
  383. wx/py/PyAlaCarte.py +34 -0
  384. wx/py/PyAlaMode.py +34 -0
  385. wx/py/PyAlaModeTest.py +33 -0
  386. wx/py/PyCrust.ico +0 -0
  387. wx/py/PyCrust.py +78 -0
  388. wx/py/PyCrust_16.png +0 -0
  389. wx/py/PyCrust_32.png +0 -0
  390. wx/py/PyFilling.py +35 -0
  391. wx/py/PyShell.py +78 -0
  392. wx/py/PySlices.ico +0 -0
  393. wx/py/PySlices.py +98 -0
  394. wx/py/PySlicesShell.py +94 -0
  395. wx/py/PySlices_16.png +0 -0
  396. wx/py/PySlices_32.png +0 -0
  397. wx/py/PyWrap.py +52 -0
  398. wx/py/README.txt +77 -0
  399. wx/py/__init__.py +20 -0
  400. wx/py/buffer.py +136 -0
  401. wx/py/crust.py +403 -0
  402. wx/py/crustslices.py +403 -0
  403. wx/py/dispatcher.py +259 -0
  404. wx/py/document.py +37 -0
  405. wx/py/editor.py +844 -0
  406. wx/py/editwindow.py +316 -0
  407. wx/py/filling.py +358 -0
  408. wx/py/frame.py +976 -0
  409. wx/py/images.py +212 -0
  410. wx/py/interpreter.py +161 -0
  411. wx/py/introspect.py +402 -0
  412. wx/py/magic.py +98 -0
  413. wx/py/parse.py +134 -0
  414. wx/py/path.py +36 -0
  415. wx/py/pseudo.py +99 -0
  416. wx/py/shell.py +1579 -0
  417. wx/py/sliceshell.py +3805 -0
  418. wx/py/tests/test_interpreter.py +71 -0
  419. wx/py/tests/test_introspect.py +810 -0
  420. wx/py/tests/test_pseudo.py +70 -0
  421. wx/py/tests/test_version.py +36 -0
  422. wx/py/tests/testall.py +22 -0
  423. wx/py/version.py +7 -0
  424. wx/py.typed +0 -0
  425. wx/ribbon.py +48 -0
  426. wx/ribbon.pyi +3099 -0
  427. wx/richtext.py +141 -0
  428. wx/richtext.pyi +13581 -0
  429. wx/siplib.cp315-win_arm64.pyd +0 -0
  430. wx/siplib.pyi +19 -0
  431. wx/stc.py +59 -0
  432. wx/stc.pyi +9918 -0
  433. wx/svg/__init__.py +363 -0
  434. wx/svg/_nanosvg.cp315-win_arm64.pyd +0 -0
  435. wx/tools/__init__.py +18 -0
  436. wx/tools/dbg.py +268 -0
  437. wx/tools/genaxmodule.py +50 -0
  438. wx/tools/helpviewer.py +92 -0
  439. wx/tools/img2img.py +85 -0
  440. wx/tools/img2png.py +54 -0
  441. wx/tools/img2py.py +306 -0
  442. wx/tools/img2xpm.py +54 -0
  443. wx/tools/pywxrc.py +951 -0
  444. wx/tools/wxget.py +254 -0
  445. wx/tools/wxget_docs_demo.py +183 -0
  446. wx/wxbase334u_net_vc140_arm64.dll +0 -0
  447. wx/wxbase334u_vc140_arm64.dll +0 -0
  448. wx/wxbase334u_xml_vc140_arm64.dll +0 -0
  449. wx/wxmsw334u_adv_vc140_arm64.dll +0 -0
  450. wx/wxmsw334u_aui_vc140_arm64.dll +0 -0
  451. wx/wxmsw334u_core_vc140_arm64.dll +0 -0
  452. wx/wxmsw334u_gl_vc140_arm64.dll +0 -0
  453. wx/wxmsw334u_html_vc140_arm64.dll +0 -0
  454. wx/wxmsw334u_media_vc140_arm64.dll +0 -0
  455. wx/wxmsw334u_propgrid_vc140_arm64.dll +0 -0
  456. wx/wxmsw334u_qa_vc140_arm64.dll +0 -0
  457. wx/wxmsw334u_ribbon_vc140_arm64.dll +0 -0
  458. wx/wxmsw334u_richtext_vc140_arm64.dll +0 -0
  459. wx/wxmsw334u_stc_vc140_arm64.dll +0 -0
  460. wx/wxmsw334u_webview_vc140_arm64.dll +0 -0
  461. wx/wxmsw334u_xrc_vc140_arm64.dll +0 -0
  462. wx/xml.py +18 -0
  463. wx/xml.pyi +728 -0
  464. wx/xrc.py +68 -0
  465. wx/xrc.pyi +896 -0
  466. wxpython-4.3.2.dist-info/METADATA +71 -0
  467. wxpython-4.3.2.dist-info/RECORD +471 -0
  468. wxpython-4.3.2.dist-info/WHEEL +5 -0
  469. wxpython-4.3.2.dist-info/entry_points.txt +13 -0
  470. wxpython-4.3.2.dist-info/licenses/LICENSE.txt +610 -0
  471. wxpython-4.3.2.dist-info/top_level.txt +1 -0
wx/tools/wxget.py ADDED
@@ -0,0 +1,254 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #----------------------------------------------------------------------
4
+ # Name: wx.tools.wxget
5
+ # Purpose: wx Based alternative to wget
6
+ #
7
+ # Author: Steve Barnes
8
+ #
9
+ # Created: 06-Aug-2017
10
+ # Copyright: (c) 2017-2020 by Steve Barnes
11
+ # Licence: wxWindows license
12
+ # Tags: phoenix-port, py3-port
13
+ #
14
+ # Module to allow cross platform downloads originally from answers to:
15
+ # https://stackoverflow.com/questions/22676/how-do-i-download-a-file-over-http-using-python
16
+ # by Stan and PabloG then converted to wx.
17
+ #----------------------------------------------------------------------
18
+
19
+ """
20
+ wxget.py -- wx Version of wget utility for platform that don't have it already.
21
+
22
+ Usage:
23
+ wxget URL [DEST_DIR]
24
+
25
+ Where URL is a file URL and the optional DEST_DIR is a destination directory to
26
+ download to, (default is to prompt the user).
27
+ The --trusted option can be used to suppress certificate checks.
28
+ """
29
+ import sys
30
+ import os
31
+ import wx
32
+ import subprocess
33
+ import ssl
34
+
35
+ from urllib.error import (HTTPError, URLError)
36
+ import urllib.request as urllib2
37
+ import urllib.parse as urlparse
38
+
39
+ try:
40
+ import pip
41
+ except ImportError as e:
42
+ pip = None
43
+
44
+ def get_docs_demo_url(demo=False):
45
+ """ Get the URL for the docs or demo."""
46
+ if demo:
47
+ pkg = 'demo'
48
+ else:
49
+ pkg = 'docs'
50
+ base_url = "https://github.com/wxWidgets/Phoenix/releases/download/%s/wxPython-%s-%s.tar.gz"
51
+ ver = wx.version().split(' ')[0]
52
+ major = ver.split('.')[0]
53
+ if major != '4':
54
+ raise ValueError("wx Versions before 4 not supported!")
55
+ # Snapshot prereleases are tagged with the bare version, which is the only
56
+ # kind of version that carries a "+<hash>" local label.
57
+ tag = ver if '+' in ver else 'wxPython-%s' % ver
58
+ return base_url % (tag, pkg, ver)
59
+
60
+ def get_save_path(url, dest_dir, force=False):
61
+ """ Get the file save location."""
62
+ old_dir = os.getcwd()
63
+ if not dest_dir:
64
+ dest_dir = os.getcwd()
65
+ else:
66
+ if not os.path.exists(dest_dir):
67
+ os.makedirs(dest_dir)
68
+ os.chdir(dest_dir)
69
+ filename = os.path.basename(urlparse.urlsplit(url)[2])
70
+ if not filename:
71
+ filename = 'downloaded.file'
72
+
73
+ if not force:
74
+ with wx.FileDialog(
75
+ None, message="Save As ...", defaultDir=dest_dir,
76
+ defaultFile=filename, style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT
77
+ ) as dlg:
78
+ if dlg.ShowModal() == wx.ID_OK:
79
+ dest_dir, filename = os.path.split(dlg.GetPath())
80
+ else:
81
+ url = None
82
+ else:
83
+ if not os.path.exists(dest_dir):
84
+ os.makedirs(dest_dir)
85
+ elif not os.path.isdir(dest_dir):
86
+ url = None
87
+
88
+ if dest_dir:
89
+ filename = os.path.join(dest_dir, filename)
90
+ os.chdir(old_dir)
91
+
92
+ return (url, filename)
93
+
94
+ def download_wget(url, filename, trusted=False):
95
+ """ Try to download via wget."""
96
+ result = False
97
+ try:
98
+ cmd = ["wget", url, '-O', filename]
99
+ if trusted:
100
+ cmd.append('--no-check-certificate')
101
+ print("Trying:\n ", ' '.join(cmd))
102
+ result = subprocess.check_call(cmd)
103
+ # note some users may need to add "--no-check-certificate" on some sites
104
+ result = result == 0
105
+ except Exception:
106
+ print("wget did not work or not installed - trying urllib")
107
+ return result
108
+
109
+ def download_urllib(url, filename):
110
+ """ Try to download via urllib."""
111
+ print("Trying to Download via urllib from:\n ", url)
112
+ keep_going = True
113
+ try:
114
+ url_res = urllib2.urlopen(url)
115
+ except (HTTPError, URLError, ssl.CertificateError) as err:
116
+ print("Error: %s" % err)
117
+ return False
118
+ with open(filename, 'wb') as outfile:
119
+ block_sz = 8192
120
+ meta = url_res.info()
121
+ meta_func = meta.getheaders if hasattr(meta, 'getheaders') else meta.get_all
122
+ meta_length = meta_func("Content-Length")
123
+ file_size = None
124
+ if meta_length:
125
+ file_size = int(meta_length[0])
126
+ message = "Downloading: {0}\nBytes: {1}\n".format(url, file_size)
127
+ dstyle = wx.PD_APP_MODAL | wx.PD_CAN_ABORT | wx.PD_AUTO_HIDE
128
+ if file_size:
129
+ progress = wx.ProgressDialog('Downloading', message,
130
+ maximum=1+file_size//block_sz, style=dstyle)
131
+ else:
132
+ progress = wx.ProgressDialog('Downloading', message, style=dstyle)
133
+
134
+ file_size_dl = 0
135
+ while keep_going:
136
+ read_buffer = url_res.read(block_sz)
137
+ if not read_buffer:
138
+ progress.Update(file_size_dl // block_sz, "message+\nDONE!")
139
+ wx.MilliSleep(200)
140
+ break
141
+
142
+ file_size_dl += len(read_buffer)
143
+ outfile.write(read_buffer)
144
+
145
+ status = "{0:16}".format(file_size_dl)
146
+ if file_size:
147
+ status += " [{0:6.2f}%]".format(file_size_dl * 100 / file_size)
148
+ (keep_going, dummy_skip) = progress.Update(file_size_dl // block_sz,
149
+ message+status)
150
+ wx.MilliSleep(80) # Give the GUI some update time
151
+ progress.Destroy()
152
+
153
+ result = os.path.exists(filename) and os.stat(filename).st_size > 0
154
+ return result
155
+
156
+ def download_pip(url, filename, force=False, trusted=False):
157
+ """ Try to download via pip."""
158
+ download_dir = os.path.split(filename)[0]
159
+ if len(download_dir) == 0:
160
+ download_dir = '.'
161
+ print("Trying to use pip to download From:\n ", url, 'To:\n ', filename)
162
+ cmds = ['pip', 'download', url, '--dest', download_dir, "--no-deps",
163
+ '--exists-action', 'i']
164
+ if force:
165
+ cmds.append('--no-cache-dir')
166
+ if trusted:
167
+ host = '/'.join(url.split('/')[:3]) # take up to http://something/ as host
168
+ cmds.extend(['--trusted-host', host])
169
+ if force and os.path.exists(filename):
170
+ print("Delete Existing", filename)
171
+ os.unlink(filename)
172
+ print("Running pip", ' '.join(cmds))
173
+ try:
174
+ print("\nAbusing pip so expect possible error(s) in the next few lines.")
175
+ result = subprocess.check_call(cmds)
176
+ print(result)
177
+ except (FileNotFoundError, subprocess.CalledProcessError) as Error:
178
+ print("Download via pip may have Failed!")
179
+ print(Error)
180
+ result = 0
181
+ result = os.path.exists(filename) and os.stat(filename).st_size > 0
182
+ return result
183
+
184
+ def download_file(url, dest=None, force=False, trusted=False):
185
+ """
186
+ Download and save a file specified by url to dest directory, with force will
187
+ operate silently and overwrite any existing file.
188
+ """
189
+ url, filename = get_save_path(url, dest, force)
190
+ keep_going = True
191
+ success = False
192
+ if url is None:
193
+ return 'Aborted!'
194
+
195
+ if url:
196
+ success = download_wget(url, filename, trusted) # Try wget
197
+ if not success:
198
+ success = download_urllib(url, filename) # Try urllib
199
+ if not success and pip is not None:
200
+ success = download_pip(url, filename, force, trusted) # Try pip
201
+ if not success:
202
+ split_url = url.split('/')
203
+ msg = '\n'.join([
204
+ "\n\nERROR in Web Access! - You may be behind a firewall!",
205
+ "-" * 52,
206
+ "You should be able to bybass this by using a browser to download:",
207
+ "\t%s\nfrom:\t%s\nthen copying the download file to:\n\t%s" % (
208
+ split_url[-1], '/'.join(split_url[:-1]), filename),
209
+ ])
210
+ print(msg, '\n')
211
+ wx.MessageBox(msg, caption='WDOWNLOAD ERROR!',
212
+ style=wx.OK|wx.CENTRE|wx.ICON_ERROR)
213
+ return "FAILURE or Abort!"
214
+
215
+ return filename
216
+
217
+ def main(args=sys.argv):
218
+ """ Entry point for wxget."""
219
+ APP = wx.App()
220
+ dest_dir = '.'
221
+ force_flag = '--force'
222
+ trusted_flag = '--trusted'
223
+ force = False
224
+ trusted = False
225
+
226
+ if force_flag in args:
227
+ force = True
228
+ args.remove(force_flag)
229
+
230
+ if trusted_flag in args:
231
+ trusted = True
232
+ args.remove(force_flag)
233
+
234
+ if len(args) > 2:
235
+ dest_dir = args[2]
236
+ else:
237
+ dest_dir = None
238
+ if len(args) > 1:
239
+ url = args[1]
240
+ else:
241
+ print(__doc__)
242
+ yes_no = wx.MessageBox(__doc__+"\n\nRUN TEST?", "wxget",
243
+ wx.YES_NO|wx.CENTER)
244
+ if yes_no == wx.YES:
245
+ print("Testing with wxDemo")
246
+ url = get_docs_demo_url()
247
+ else:
248
+ url = None
249
+ if url:
250
+ FILENAME = download_file(url=url, dest=dest_dir, force=force, trusted=trusted)
251
+ print(FILENAME)
252
+
253
+ if __name__ == "__main__": # Only run if this file is called directly
254
+ main()
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ #----------------------------------------------------------------------
4
+ # Name: wx.tools.wxget_docs_demo
5
+ # Purpose: wx fetch and launch demo or docs
6
+ #
7
+ # Author: Steve Barnes
8
+ #
9
+ # Created: 06-Aug-2017
10
+ # Copyright: (c) 2017-2020 by Steve Barnes
11
+ # Licence: wxWindows license
12
+ # Tags: phoenix-port, py3-port
13
+ #
14
+ # Module to allow the correct version of the documents and/or demos to be
15
+ # launched after, if necessarily being fetched.
16
+ #----------------------------------------------------------------------
17
+
18
+ """
19
+ wxget_docs_demo.py -- Launch the appropriate wx Docs or Demo.
20
+
21
+ Usage:
22
+ wxget_docs_demo [docs|demo]
23
+
24
+ Will install if missing, the requested item for the current version and then
25
+ launch it.
26
+
27
+ Use: doc|demo --force to force a fresh download.
28
+ """
29
+ import sys
30
+ import os
31
+ import subprocess
32
+ import webbrowser
33
+ import tarfile
34
+ import warnings
35
+ from urllib.error import HTTPError
36
+ import urllib.request as urllib2
37
+ import urllib.parse as urlparse
38
+ from urllib.request import pathname2url
39
+
40
+ import wx
41
+ from wx.tools import wxget
42
+
43
+ print(sys.version_info, sys.version, sys.argv)
44
+ APP = None
45
+ if wx.VERSION[0] != 4:
46
+ raise ValueError("wx Versions other than 4 not currently supported!")
47
+
48
+ def ensure_wx_app():
49
+ """ Ensure that there is a wx.App instance."""
50
+ global APP
51
+ if APP is None and not wx.GetApp():
52
+ APP = wx.App()
53
+ APP.SetAppName("wxPython")
54
+ return (APP is not None)
55
+
56
+ def get_paths_dict():
57
+ """ Get a dictionary of the required paths."""
58
+ global APP
59
+ ensure_wx_app()
60
+ sp = wx.StandardPaths.Get()
61
+ pathdict = {}
62
+ pathdict['TempDir'] = sp.GetTempDir()
63
+ pathdict['Cache'] = os.path.join(sp.GetUserLocalDataDir(), 'wxDocsDemoCache',
64
+ wx.VERSION_STRING)
65
+ pathdict['Docs_URL'] = wxget.get_docs_demo_url(False)
66
+ #pathdict['wxDocs'] = os.path.join(sp.GetAppDocumentsDir(), 'wxDocs', wx.VERSION_STRING)
67
+ pathdict['wxDocs'] = sp.GetAppDocumentsDir()
68
+ pathdict['Docs_Name'] = "wxPython-docs-%s" % wx.VERSION_STRING
69
+ pathdict['Demo_URL'] = wxget.get_docs_demo_url(True)
70
+ #pathdict['wxDemo'] = os.path.join(sp.GetUserLocalDataDir(), 'wxDemo', wx.VERSION_STRING)
71
+ pathdict['wxDemo'] = sp.GetUserLocalDataDir()
72
+ pathdict['Demo_Name'] = "wxPython-demo-%s" % wx.VERSION_STRING
73
+ pathdict['Ext'] = 'tar.gz'
74
+ return pathdict
75
+
76
+ def unpack_cached(cached, dest_dir):
77
+ """ Unpack from the cache."""
78
+ print('Unpack', cached, 'to', dest_dir)
79
+ with tarfile.open(cached, "r:*") as tf:
80
+ try:
81
+ tf.extractall(dest_dir, filter='data')
82
+ except TypeError:
83
+ warnings.warn('Falling back to less safe tarfile.extractall')
84
+ tf.extractall(dest_dir)
85
+ dest_dir = os.listdir(dest_dir)[0]
86
+ return dest_dir
87
+
88
+ def get_item(final, url, cache, name, ext, forced=False):
89
+ """ Get the item """
90
+ print('Looking for', name, 'at', final)
91
+ fullpath = os.path.join(final, name)
92
+ if os.path.exists(fullpath) and not forced: # Already exists
93
+ return fullpath
94
+
95
+ cached = os.path.join(cache, name)
96
+ cached = os.path.extsep.join([cached, ext])
97
+ print('Looking for cached', cached)
98
+ if not os.path.exists(cached) or forced: # No cached copy
99
+ yes_no = wx.MessageBox(
100
+ "\n".join(
101
+ ["%s is not yet installed." % name,
102
+ "Go on-line to get it?",
103
+ "(Select No on charged or slow connections)"]),
104
+ "Download Prompt", wx.YES_NO|wx.CENTER|wx.ICON_INFORMATION)
105
+ if yes_no == wx.YES:
106
+ cached = wxget.download_file(url, cache, force=forced, trusted=True)
107
+ else:
108
+ report_error("Download Cancelled!")
109
+
110
+ if os.path.exists(cached): # We now have a cached copy
111
+ unpack_cached(cached, final)
112
+ else:
113
+ fullpath = None
114
+ return fullpath
115
+
116
+ def report_error(err_text):
117
+ """ Report a problem."""
118
+ ensure_wx_app()
119
+ wx.MessageBox(err_text, caption='ERROR!',
120
+ style=wx.OK|wx.CENTRE|wx.ICON_ERROR)
121
+
122
+ def done(result=0):
123
+ """ Tidy up and exit."""
124
+ global APP
125
+ if APP:
126
+ print("Closing Launcher App!") # Debug
127
+ if result:
128
+ print(result)
129
+ wx.Exit()
130
+ print("Done!")
131
+ sys.exit(result)
132
+
133
+ def docs_main(args=sys.argv):
134
+ """ Get/Launch Docs."""
135
+ ensure_wx_app()
136
+ result = 0
137
+ print("Launch Docs for wxPython V%s" % wx.VERSION_STRING)
138
+ pd = get_paths_dict()
139
+ location = get_item(pd['wxDocs'], pd['Docs_URL'], pd['Cache'],
140
+ pd['Docs_Name'], pd['Ext'], forced="--force" in args)
141
+ if location:
142
+ location = os.path.join(location, 'docs', 'html', 'index.html')
143
+ location_url = urlparse.urljoin('file:', pathname2url(location))
144
+ print("Show Docs at:", location)
145
+ webbrowser.open(location_url)
146
+ else:
147
+ result = 'Unable to find and show the wxPython Documentation!'
148
+ report_error(result)
149
+ done(result)
150
+
151
+ def demo_main(args=sys.argv):
152
+ """ Get/Launch Demo."""
153
+ result = 0
154
+ ensure_wx_app()
155
+ print("Launch Demo for wxPython V%s" % wx.VERSION_STRING)
156
+ pd = get_paths_dict()
157
+ location = get_item(pd['wxDemo'], pd['Demo_URL'], pd['Cache'],
158
+ pd['Demo_Name'], pd['Ext'], forced="--force" in args)
159
+ if location:
160
+ cmds = [sys.executable, os.path.join(location, "demo", "demo.py")]
161
+ print("Launching", cmds[1])
162
+ pid = subprocess.Popen(cmds).pid
163
+ #subprocess.check_call(cmds) # Use instead for debug
164
+ print("Demo starting as PID %s - may take a few seconds!" % pid)
165
+ else:
166
+ result = 'Unable to find and start the wxPython Demo!'
167
+ report_error(result)
168
+ done(result)
169
+
170
+ def main(args=sys.argv):
171
+ """ Command line main."""
172
+ if len(args) > 1:
173
+ if "demo" in args[1].lower():
174
+ return demo_main()
175
+ elif "docs" in args[1].lower():
176
+ return docs_main()
177
+ #else:
178
+ print(__doc__)
179
+ #else:
180
+ #APP = wx.App()
181
+
182
+ if __name__ == "__main__":
183
+ main()
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
wx/xml.py ADDED
@@ -0,0 +1,18 @@
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
+ """
7
+ Some simple XML classes for use with XRC.
8
+
9
+ For more advanced XML needs it would be better to use one of the XML packages
10
+ provided by Python.
11
+ """
12
+
13
+ from ._xml import *
14
+
15
+ import wx
16
+
17
+ XmlProperty = wx.deprecated(XmlAttribute, 'Use XmlProperty instead.')
18
+