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/lib/masked/ctrl.py ADDED
@@ -0,0 +1,108 @@
1
+ #----------------------------------------------------------------------------
2
+ # Name: wx.lib.masked.ctrl.py
3
+ # Author: Will Sadkin
4
+ # Created: 09/24/2003
5
+ # Copyright: (c) 2003 by Will Sadkin
6
+ # License: wxWindows license
7
+ # Tags: py3-port
8
+ #----------------------------------------------------------------------------
9
+ # 12/09/2003 - Jeff Grimmett (grimmtooth@softhome.net)
10
+ #
11
+ # o Updated for wx namespace (minor)
12
+ #
13
+ # 12/20/2003 - Jeff Grimmett (grimmtooth@softhome.net)
14
+ #
15
+ # o Removed wx prefix
16
+ #
17
+
18
+ """
19
+
20
+ *masked.Ctrl* is actually a factory function for several types of
21
+ masked edit controls:
22
+
23
+ ================= =========================================================
24
+ masked.TextCtrl standard masked edit text box
25
+ masked.ComboBox adds combobox capabilities
26
+ masked.IpAddrCtrl adds logical input semantics for IP address entry
27
+ masked.TimeCtrl special subclass handling lots of time formats as values
28
+ masked.NumCtrl special subclass handling numeric values
29
+ ================= =========================================================
30
+
31
+ masked.Ctrl works by looking for a special *controlType*
32
+ parameter in the variable arguments of the control, to determine
33
+ what kind of instance to return.
34
+ controlType can be one of::
35
+
36
+ controlTypes.TEXT
37
+ controlTypes.COMBO
38
+ controlTypes.IPADDR
39
+ controlTypes.TIME
40
+ controlTypes.NUMBER
41
+
42
+ These constants are also available individually, ie, you can
43
+ use either of the following::
44
+
45
+ from wx.lib.masked import Ctrl, COMBO, TEXT, NUMBER, TIME
46
+ from wx.lib.masked import Ctrl, controlTypes
47
+
48
+ If not specified as a keyword argument, the default controlType is
49
+ controlTypes.TEXT.
50
+
51
+ Each of the above classes has its own unique arguments, but Masked.Ctrl
52
+ provides a single "unified" interface for masked controls.
53
+
54
+
55
+ """
56
+
57
+ from wx.lib.masked import TextCtrl, ComboBox, IpAddrCtrl
58
+ from wx.lib.masked import NumCtrl
59
+ from wx.lib.masked import TimeCtrl
60
+
61
+
62
+ # "type" enumeration for class instance factory function
63
+ TEXT = 0
64
+ COMBO = 1
65
+ IPADDR = 2
66
+ TIME = 3
67
+ NUMBER = 4
68
+
69
+ # for ease of import
70
+ class controlTypes:
71
+ TEXT = TEXT
72
+ COMBO = COMBO
73
+ IPADDR = IPADDR
74
+ TIME = TIME
75
+ NUMBER = NUMBER
76
+
77
+
78
+ def Ctrl( *args, **kwargs):
79
+ """
80
+ Actually a factory function providing a unifying
81
+ interface for generating masked controls.
82
+ """
83
+ if 'controlType' not in kwargs:
84
+ controlType = TEXT
85
+ else:
86
+ controlType = kwargs['controlType']
87
+ del kwargs['controlType']
88
+
89
+ if controlType == TEXT:
90
+ return TextCtrl(*args, **kwargs)
91
+
92
+ elif controlType == COMBO:
93
+ return ComboBox(*args, **kwargs)
94
+
95
+ elif controlType == IPADDR:
96
+ return IpAddrCtrl(*args, **kwargs)
97
+
98
+ elif controlType == TIME:
99
+ return TimeCtrl(*args, **kwargs)
100
+
101
+ elif controlType == NUMBER:
102
+ return NumCtrl(*args, **kwargs)
103
+
104
+ else:
105
+ raise AttributeError(
106
+ "invalid controlType specified: %s" % repr(controlType))
107
+
108
+
@@ -0,0 +1,241 @@
1
+ #----------------------------------------------------------------------------
2
+ # Name: masked.ipaddrctrl.py
3
+ # Authors: Will Sadkin
4
+ # Email: wsadkin@nameconnector.com
5
+ # Created: 02/11/2003
6
+ # Copyright: (c) 2003 by Will Sadkin, 2003
7
+ # License: wxWidgets license
8
+ #
9
+ # Tags: phoenix-port, py3-port, unittest, documented
10
+ #
11
+ #----------------------------------------------------------------------------
12
+ # NOTE:
13
+ # Masked.IpAddrCtrl is a minor modification to masked.TextCtrl, that is
14
+ # specifically tailored for entering IP addresses. It allows for
15
+ # right-insert fields and provides an accessor to obtain the entered
16
+ # address with extra whitespace removed.
17
+ #
18
+ #----------------------------------------------------------------------------
19
+ """
20
+ Provides a smart text input control that understands the structure and
21
+ limits of IP Addresses, and allows automatic field navigation as the
22
+ user hits '.' when typing.
23
+ """
24
+
25
+ import wx
26
+ from wx.lib.masked import BaseMaskedTextCtrl
27
+
28
+ # jmg 12/9/03 - when we cut ties with Py 2.2 and earlier, this would
29
+ # be a good place to implement the 2.3 logger class
30
+ ##from wx.tools.dbg import Logger
31
+ ##dbg = Logger()
32
+ ##dbg(enable=0)
33
+
34
+ class IpAddrCtrlAccessorsMixin:
35
+ """
36
+ Defines IpAddrCtrl's list of attributes having their own
37
+ Get/Set functions, exposing only those that make sense for
38
+ an IP address control.
39
+ """
40
+
41
+ exposed_basectrl_params = (
42
+ 'fields',
43
+ 'retainFieldValidation',
44
+ 'formatcodes',
45
+ 'fillChar',
46
+ 'defaultValue',
47
+ 'description',
48
+
49
+ 'useFixedWidthFont',
50
+ 'signedForegroundColour',
51
+ 'emptyBackgroundColour',
52
+ 'validBackgroundColour',
53
+ 'invalidBackgroundColour',
54
+
55
+ 'emptyInvalid',
56
+ 'validFunc',
57
+ 'validRequired',
58
+ )
59
+
60
+ for param in exposed_basectrl_params:
61
+ propname = param[0].upper() + param[1:]
62
+ exec('def Set%s(self, value): self.SetCtrlParameters(%s=value)' % (propname, param))
63
+ exec('def Get%s(self): return self.GetCtrlParameter("%s")''' % (propname, param))
64
+
65
+ if param.find('Colour') != -1:
66
+ # add non-british spellings, for backward-compatibility
67
+ propname.replace('Colour', 'Color')
68
+
69
+ exec('def Set%s(self, value): self.SetCtrlParameters(%s=value)' % (propname, param))
70
+ exec('def Get%s(self): return self.GetCtrlParameter("%s")''' % (propname, param))
71
+
72
+
73
+ class IpAddrCtrl( BaseMaskedTextCtrl, IpAddrCtrlAccessorsMixin ):
74
+ """
75
+ This class is a particular type of MaskedTextCtrl that accepts
76
+ and understands the semantics of IP addresses, reformats input
77
+ as you move from field to field, and accepts '.' as a navigation
78
+ character, so that typing an IP address can be done naturally.
79
+ """
80
+
81
+ def __init__( self, parent, id=-1, value = '',
82
+ pos = wx.DefaultPosition,
83
+ size = wx.DefaultSize,
84
+ style = wx.TE_PROCESS_TAB,
85
+ validator = wx.DefaultValidator,
86
+ name = 'IpAddrCtrl',
87
+ setupEventHandling = True,
88
+ **kwargs):
89
+
90
+ """
91
+ Default class constructor.
92
+
93
+ :param wx.Window `parent`: the window parent. Must not be ``None``;
94
+ :param integer `id`: window identifier. A value of -1 indicates a default value;
95
+ :param string `value`: value to be shown;
96
+ :param `pos`: the control position. A value of (-1, -1) indicates a default position,
97
+ chosen by either the windowing system or wxPython, depending on platform;
98
+ :type `pos`: tuple or :class:`wx.Point`
99
+ :param `size`: the control size. A value of (-1, -1) indicates a default size,
100
+ chosen by either the windowing system or wxPython, depending on platform;
101
+ :param integer `style`: the window style;
102
+ :param wx.Validator `validator`: this is mainly provided for data-transfer, as control does
103
+ its own validation;
104
+ :param string `name`: the window name;
105
+ :param boolean `setupEventHandling`: setup event handling by default.
106
+
107
+ """
108
+
109
+ if 'mask' not in kwargs:
110
+ kwargs['mask'] = mask = "###.###.###.###"
111
+ if 'formatcodes' not in kwargs:
112
+ kwargs['formatcodes'] = 'F_Sr<>'
113
+ if 'validRegex' not in kwargs:
114
+ kwargs['validRegex'] = r"( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))(\.( \d| \d\d|(1\d\d|2[0-4]\d|25[0-5]))){3}"
115
+
116
+
117
+ BaseMaskedTextCtrl.__init__(
118
+ self, parent, id=id, value = value,
119
+ pos=pos, size=size,
120
+ style = style,
121
+ validator = validator,
122
+ name = name,
123
+ setupEventHandling = setupEventHandling,
124
+ **kwargs)
125
+
126
+
127
+ # set up individual field parameters as well:
128
+ field_params = {}
129
+ field_params['validRegex'] = r"( | \d| \d |\d | \d\d|\d\d |\d \d|(1\d\d|2[0-4]\d|25[0-5]))"
130
+
131
+ # require "valid" string; this prevents entry of any value > 255, but allows
132
+ # intermediate constructions; overall control validation requires well-formatted value.
133
+ field_params['formatcodes'] = 'V'
134
+
135
+ if field_params:
136
+ for i in self._field_indices:
137
+ self.SetFieldParameters(i, **field_params)
138
+
139
+ # This makes '.' act like tab:
140
+ self._AddNavKey('.', handler=self.OnDot)
141
+ self._AddNavKey('>', handler=self.OnDot) # for "shift-."
142
+
143
+
144
+ def OnDot(self, event):
145
+ """
146
+ Defines what action to take when the '.' character is typed in the
147
+ control. By default, the current field is right-justified, and the
148
+ cursor is placed in the next field.
149
+ """
150
+ ## dbg('IpAddrCtrl::OnDot', indent=1)
151
+ pos = self._adjustPos(self._GetInsertionPoint(), event.GetKeyCode())
152
+ oldvalue = self.GetValue()
153
+ edit_start, edit_end, slice = self._FindFieldExtent(pos, getslice=True)
154
+ if not event.ShiftDown():
155
+ if pos > edit_start and pos < edit_end:
156
+ # clip data in field to the right of pos, if adjusting fields
157
+ # when not at delimiter; (assumption == they hit '.')
158
+ newvalue = oldvalue[:pos] + ' ' * (edit_end - pos) + oldvalue[edit_end:]
159
+ self._SetValue(newvalue)
160
+ self._SetInsertionPoint(pos)
161
+ ## dbg(indent=0)
162
+ return self._OnChangeField(event)
163
+
164
+
165
+ def GetAddress(self):
166
+ """
167
+ Returns the control value, with any spaces removed.
168
+ """
169
+ value = BaseMaskedTextCtrl.GetValue(self)
170
+ return value.replace(' ','') # remove spaces from the value
171
+
172
+
173
+ def _OnCtrl_S(self, event):
174
+ ## dbg("IpAddrCtrl::_OnCtrl_S")
175
+ if self._demo:
176
+ print("value:", self.GetAddress())
177
+ return False
178
+
179
+ def SetValue(self, value):
180
+ """
181
+ Takes a string value, validates it for a valid IP address,
182
+ splits it into an array of 4 fields, justifies it
183
+ appropriately, and inserts it into the control.
184
+ Invalid values will raise a ValueError exception.
185
+
186
+ :param string `value`: the IP address in the form '000.000.000.000'
187
+
188
+ """
189
+ ## dbg('IpAddrCtrl::SetValue(%s)' % str(value), indent=1)
190
+ if not isinstance(value, str):
191
+ ## dbg(indent=0)
192
+ raise ValueError('%s must be a string' % str(value))
193
+
194
+ bValid = True # assume True
195
+ parts = value.split('.')
196
+
197
+ if len(parts) != 4:
198
+ bValid = False
199
+ else:
200
+ for i in range(4):
201
+ part = parts[i]
202
+ if not 0 <= len(part) <= 3:
203
+ bValid = False
204
+ break
205
+ elif part.strip(): # non-empty part
206
+ try:
207
+ j = int(part)
208
+ if not 0 <= j <= 255:
209
+ bValid = False
210
+ break
211
+ else:
212
+ parts[i] = '%3d' % j
213
+ except Exception:
214
+ bValid = False
215
+ break
216
+ else:
217
+ # allow empty sections for SetValue (will result in "invalid" value,
218
+ # but this may be useful for initializing the control:
219
+ parts[i] = ' ' # convert empty field to 3-char length
220
+
221
+ if not bValid:
222
+ ## dbg(indent=0)
223
+ raise ValueError('value (%s) must be a string of form n.n.n.n where n is empty or in range 0-255' % str(value))
224
+ else:
225
+ ## dbg('parts:', parts)
226
+ value = '.'.join(parts)
227
+ BaseMaskedTextCtrl.SetValue(self, value)
228
+ ## dbg(indent=0)
229
+
230
+ __i=0
231
+ ## CHANGELOG:
232
+ ## ====================
233
+ ## Version 1.2
234
+ ## 1. Fixed bugs involving missing imports now that these classes are in
235
+ ## their own module.
236
+ ## 2. Added doc strings for ePyDoc.
237
+ ## 3. Renamed helper functions, vars etc. not intended to be visible in public
238
+ ## interface to code.
239
+ ##
240
+ ## Version 1.1
241
+ ## Made ipaddrctrls allow right-insert in subfields, now that insert/cut/paste works better