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.
Files changed (472) 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_amd64.pyd +0 -0
  7. wx/_aui.cp315-win_amd64.pyd +0 -0
  8. wx/_core.cp315-win_amd64.pyd +0 -0
  9. wx/_dataview.cp315-win_amd64.pyd +0 -0
  10. wx/_glcanvas.cp315-win_amd64.pyd +0 -0
  11. wx/_grid.cp315-win_amd64.pyd +0 -0
  12. wx/_html.cp315-win_amd64.pyd +0 -0
  13. wx/_html2.cp315-win_amd64.pyd +0 -0
  14. wx/_media.cp315-win_amd64.pyd +0 -0
  15. wx/_msw.cp315-win_amd64.pyd +0 -0
  16. wx/_propgrid.cp315-win_amd64.pyd +0 -0
  17. wx/_ribbon.cp315-win_amd64.pyd +0 -0
  18. wx/_richtext.cp315-win_amd64.pyd +0 -0
  19. wx/_stc.cp315-win_amd64.pyd +0 -0
  20. wx/_xml.cp315-win_amd64.pyd +0 -0
  21. wx/_xrc.cp315-win_amd64.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/libcairo-2.dll +0 -0
  330. wx/locale/af/LC_MESSAGES/wxstd.mo +0 -0
  331. wx/locale/an/LC_MESSAGES/wxstd.mo +0 -0
  332. wx/locale/ar/LC_MESSAGES/wxstd.mo +0 -0
  333. wx/locale/ca/LC_MESSAGES/wxstd.mo +0 -0
  334. wx/locale/ca@valencia/LC_MESSAGES/wxstd.mo +0 -0
  335. wx/locale/co/LC_MESSAGES/wxstd.mo +0 -0
  336. wx/locale/cs/LC_MESSAGES/wxstd.mo +0 -0
  337. wx/locale/da/LC_MESSAGES/wxstd.mo +0 -0
  338. wx/locale/de/LC_MESSAGES/wxstd.mo +0 -0
  339. wx/locale/el/LC_MESSAGES/wxstd.mo +0 -0
  340. wx/locale/es/LC_MESSAGES/wxstd.mo +0 -0
  341. wx/locale/eu/LC_MESSAGES/wxstd.mo +0 -0
  342. wx/locale/fa_IR/LC_MESSAGES/wxstd.mo +0 -0
  343. wx/locale/fi/LC_MESSAGES/wxstd.mo +0 -0
  344. wx/locale/fr/LC_MESSAGES/wxstd.mo +0 -0
  345. wx/locale/gl_ES/LC_MESSAGES/wxstd.mo +0 -0
  346. wx/locale/hi/LC_MESSAGES/wxstd.mo +0 -0
  347. wx/locale/hr/LC_MESSAGES/wxstd.mo +0 -0
  348. wx/locale/hu/LC_MESSAGES/wxstd.mo +0 -0
  349. wx/locale/id/LC_MESSAGES/wxstd.mo +0 -0
  350. wx/locale/it/LC_MESSAGES/wxstd.mo +0 -0
  351. wx/locale/ja/LC_MESSAGES/wxstd.mo +0 -0
  352. wx/locale/ka/LC_MESSAGES/wxstd.mo +0 -0
  353. wx/locale/ko_KR/LC_MESSAGES/wxstd.mo +0 -0
  354. wx/locale/lt/LC_MESSAGES/wxstd.mo +0 -0
  355. wx/locale/lv/LC_MESSAGES/wxstd.mo +0 -0
  356. wx/locale/ms/LC_MESSAGES/wxstd.mo +0 -0
  357. wx/locale/nb/LC_MESSAGES/wxstd.mo +0 -0
  358. wx/locale/ne/LC_MESSAGES/wxstd.mo +0 -0
  359. wx/locale/nl/LC_MESSAGES/wxstd.mo +0 -0
  360. wx/locale/pl/LC_MESSAGES/wxstd.mo +0 -0
  361. wx/locale/pt/LC_MESSAGES/wxstd.mo +0 -0
  362. wx/locale/pt_BR/LC_MESSAGES/wxstd.mo +0 -0
  363. wx/locale/ro/LC_MESSAGES/wxstd.mo +0 -0
  364. wx/locale/ru/LC_MESSAGES/wxstd.mo +0 -0
  365. wx/locale/sk/LC_MESSAGES/wxstd.mo +0 -0
  366. wx/locale/sl/LC_MESSAGES/wxstd.mo +0 -0
  367. wx/locale/sq/LC_MESSAGES/wxstd.mo +0 -0
  368. wx/locale/sr/LC_MESSAGES/wxstd.mo +0 -0
  369. wx/locale/sv/LC_MESSAGES/wxstd.mo +0 -0
  370. wx/locale/ta/LC_MESSAGES/wxstd.mo +0 -0
  371. wx/locale/tr/LC_MESSAGES/wxstd.mo +0 -0
  372. wx/locale/uk/LC_MESSAGES/wxstd.mo +0 -0
  373. wx/locale/vi/LC_MESSAGES/wxstd.mo +0 -0
  374. wx/locale/zh_CN/LC_MESSAGES/wxstd.mo +0 -0
  375. wx/locale/zh_TW/LC_MESSAGES/wxstd.mo +0 -0
  376. wx/media.py +30 -0
  377. wx/media.pyi +272 -0
  378. wx/msw.py +16 -0
  379. wx/msw.pyi +91 -0
  380. wx/propgrid.py +498 -0
  381. wx/propgrid.pyi +7427 -0
  382. wx/py/CHANGES.txt +796 -0
  383. wx/py/Py.ico +0 -0
  384. wx/py/PyAlaCarte.py +34 -0
  385. wx/py/PyAlaMode.py +34 -0
  386. wx/py/PyAlaModeTest.py +33 -0
  387. wx/py/PyCrust.ico +0 -0
  388. wx/py/PyCrust.py +78 -0
  389. wx/py/PyCrust_16.png +0 -0
  390. wx/py/PyCrust_32.png +0 -0
  391. wx/py/PyFilling.py +35 -0
  392. wx/py/PyShell.py +78 -0
  393. wx/py/PySlices.ico +0 -0
  394. wx/py/PySlices.py +98 -0
  395. wx/py/PySlicesShell.py +94 -0
  396. wx/py/PySlices_16.png +0 -0
  397. wx/py/PySlices_32.png +0 -0
  398. wx/py/PyWrap.py +52 -0
  399. wx/py/README.txt +77 -0
  400. wx/py/__init__.py +20 -0
  401. wx/py/buffer.py +136 -0
  402. wx/py/crust.py +403 -0
  403. wx/py/crustslices.py +403 -0
  404. wx/py/dispatcher.py +259 -0
  405. wx/py/document.py +37 -0
  406. wx/py/editor.py +844 -0
  407. wx/py/editwindow.py +316 -0
  408. wx/py/filling.py +358 -0
  409. wx/py/frame.py +976 -0
  410. wx/py/images.py +212 -0
  411. wx/py/interpreter.py +161 -0
  412. wx/py/introspect.py +402 -0
  413. wx/py/magic.py +98 -0
  414. wx/py/parse.py +134 -0
  415. wx/py/path.py +36 -0
  416. wx/py/pseudo.py +99 -0
  417. wx/py/shell.py +1579 -0
  418. wx/py/sliceshell.py +3805 -0
  419. wx/py/tests/test_interpreter.py +71 -0
  420. wx/py/tests/test_introspect.py +810 -0
  421. wx/py/tests/test_pseudo.py +70 -0
  422. wx/py/tests/test_version.py +36 -0
  423. wx/py/tests/testall.py +22 -0
  424. wx/py/version.py +7 -0
  425. wx/py.typed +0 -0
  426. wx/ribbon.py +48 -0
  427. wx/ribbon.pyi +3099 -0
  428. wx/richtext.py +141 -0
  429. wx/richtext.pyi +13581 -0
  430. wx/siplib.cp315-win_amd64.pyd +0 -0
  431. wx/siplib.pyi +19 -0
  432. wx/stc.py +59 -0
  433. wx/stc.pyi +9918 -0
  434. wx/svg/__init__.py +363 -0
  435. wx/svg/_nanosvg.cp315-win_amd64.pyd +0 -0
  436. wx/tools/__init__.py +18 -0
  437. wx/tools/dbg.py +268 -0
  438. wx/tools/genaxmodule.py +50 -0
  439. wx/tools/helpviewer.py +92 -0
  440. wx/tools/img2img.py +85 -0
  441. wx/tools/img2png.py +54 -0
  442. wx/tools/img2py.py +306 -0
  443. wx/tools/img2xpm.py +54 -0
  444. wx/tools/pywxrc.py +951 -0
  445. wx/tools/wxget.py +254 -0
  446. wx/tools/wxget_docs_demo.py +183 -0
  447. wx/wxbase334u_net_vc140_x64.dll +0 -0
  448. wx/wxbase334u_vc140_x64.dll +0 -0
  449. wx/wxbase334u_xml_vc140_x64.dll +0 -0
  450. wx/wxmsw334u_adv_vc140_x64.dll +0 -0
  451. wx/wxmsw334u_aui_vc140_x64.dll +0 -0
  452. wx/wxmsw334u_core_vc140_x64.dll +0 -0
  453. wx/wxmsw334u_gl_vc140_x64.dll +0 -0
  454. wx/wxmsw334u_html_vc140_x64.dll +0 -0
  455. wx/wxmsw334u_media_vc140_x64.dll +0 -0
  456. wx/wxmsw334u_propgrid_vc140_x64.dll +0 -0
  457. wx/wxmsw334u_qa_vc140_x64.dll +0 -0
  458. wx/wxmsw334u_ribbon_vc140_x64.dll +0 -0
  459. wx/wxmsw334u_richtext_vc140_x64.dll +0 -0
  460. wx/wxmsw334u_stc_vc140_x64.dll +0 -0
  461. wx/wxmsw334u_webview_vc140_x64.dll +0 -0
  462. wx/wxmsw334u_xrc_vc140_x64.dll +0 -0
  463. wx/xml.py +18 -0
  464. wx/xml.pyi +728 -0
  465. wx/xrc.py +68 -0
  466. wx/xrc.pyi +896 -0
  467. wxpython-4.3.2.dist-info/METADATA +71 -0
  468. wxpython-4.3.2.dist-info/RECORD +472 -0
  469. wxpython-4.3.2.dist-info/WHEEL +5 -0
  470. wxpython-4.3.2.dist-info/entry_points.txt +13 -0
  471. wxpython-4.3.2.dist-info/licenses/LICENSE.txt +610 -0
  472. wxpython-4.3.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,403 @@
1
+ #---------------------------------------------------------------------------
2
+ # Name: wx.lib.mixins.rubberband
3
+ # Purpose: A mixin class for doing "RubberBand"-ing on a window.
4
+ #
5
+ # Author: Robb Shecter and members of wxPython-users
6
+ #
7
+ # Created: 11-September-2002
8
+ # Copyright: (c) 2002 by db-X Corporation
9
+ # Licence: wxWindows license
10
+ # Tags: phoenix-port
11
+ #---------------------------------------------------------------------------
12
+ # 12/14/2003 - Jeff Grimmett (grimmtooth@softhome.net)
13
+ #
14
+ # o 2.5 compatibility update.
15
+ # o Tested, but there is an anomaly between first use and subsequent uses.
16
+ # First use is odd, subsequent uses seem to be OK. Init error?
17
+ # -- No, the first time it uses an aspect ratio, but after the reset it doesn't.
18
+ #
19
+
20
+ """
21
+ A mixin class for doing "RubberBand"-ing on a window.
22
+ """
23
+
24
+ import wx
25
+
26
+ #
27
+ # Some miscellaneous mathematical and geometrical functions
28
+ #
29
+
30
+ def isNegative(aNumber):
31
+ """
32
+ x < 0: 1
33
+ else: 0
34
+ """
35
+ return aNumber < 0
36
+
37
+
38
+ def normalizeBox(box):
39
+ """
40
+ Convert any negative measurements in the current
41
+ box to positive, and adjust the origin.
42
+ """
43
+ x, y, w, h = box
44
+ if w < 0:
45
+ x += (w+1)
46
+ w *= -1
47
+ if h < 0:
48
+ y += (h+1)
49
+ h *= -1
50
+ return (x, y, w, h)
51
+
52
+
53
+ def boxToExtent(box):
54
+ """
55
+ Convert a box specification to an extent specification.
56
+ I put this into a separate function after I realized that
57
+ I had been implementing it wrong in several places.
58
+ """
59
+ b = normalizeBox(box)
60
+ return (b[0], b[1], b[0]+b[2]-1, b[1]+b[3]-1)
61
+
62
+
63
+ def pointInBox(x, y, box):
64
+ """
65
+ Return True if the given point is contained in the box.
66
+ """
67
+ e = boxToExtent(box)
68
+ return x >= e[0] and x <= e[2] and y >= e[1] and y <= e[3]
69
+
70
+
71
+ def pointOnBox(x, y, box, thickness=1):
72
+ """
73
+ Return True if the point is on the outside edge
74
+ of the box. The thickness defines how thick the
75
+ edge should be. This is necessary for HCI reasons:
76
+ For example, it's normally very difficult for a user
77
+ to maneuver the mouse onto a one pixel border.
78
+ """
79
+ outerBox = box
80
+ innerBox = (box[0]+thickness, box[1]+thickness, box[2]-(thickness*2), box[3]-(thickness*2))
81
+ return pointInBox(x, y, outerBox) and not pointInBox(x, y, innerBox)
82
+
83
+
84
+ def getCursorPosition(x, y, box, thickness=1):
85
+ """
86
+ Return a position number in the range 0 .. 7 to indicate
87
+ where on the box border the point is. The layout is:
88
+
89
+ 0 1 2
90
+ 7 3
91
+ 6 5 4
92
+ """
93
+ x0, y0, x1, y1 = boxToExtent(box)
94
+ w, h = box[2], box[3]
95
+ delta = thickness - 1
96
+ p = None
97
+
98
+ if pointInBox(x, y, (x0, y0, thickness, thickness)):
99
+ p = 0
100
+ elif pointInBox(x, y, (x1-delta, y0, thickness, thickness)):
101
+ p = 2
102
+ elif pointInBox(x, y, (x1-delta, y1-delta, thickness, thickness)):
103
+ p = 4
104
+ elif pointInBox(x, y, (x0, y1-delta, thickness, thickness)):
105
+ p = 6
106
+ elif pointInBox(x, y, (x0+thickness, y0, w-(thickness*2), thickness)):
107
+ p = 1
108
+ elif pointInBox(x, y, (x1-delta, y0+thickness, thickness, h-(thickness*2))):
109
+ p = 3
110
+ elif pointInBox(x, y, (x0+thickness, y1-delta, w-(thickness*2), thickness)):
111
+ p = 5
112
+ elif pointInBox(x, y, (x0, y0+thickness, thickness, h-(thickness*2))):
113
+ p = 7
114
+
115
+ return p
116
+
117
+
118
+
119
+
120
+ class RubberBand:
121
+ """
122
+ A stretchable border which is drawn on top of an
123
+ image to define an area.
124
+ """
125
+ def __init__(self, drawingSurface, aspectRatio=None):
126
+ self.__THICKNESS = 5
127
+ self.drawingSurface = drawingSurface
128
+ self.aspectRatio = aspectRatio
129
+ self.hasLetUp = 0
130
+ self.currentlyMoving = None
131
+ self.currentBox = None
132
+ self.__enabled = 1
133
+ self.__currentCursor = None
134
+
135
+ drawingSurface.Bind(wx.EVT_MOUSE_EVENTS, self.__handleMouseEvents)
136
+ drawingSurface.Bind(wx.EVT_PAINT, self.__handleOnPaint)
137
+
138
+ def __setEnabled(self, enabled):
139
+ self.__enabled = enabled
140
+
141
+ def __isEnabled(self):
142
+ return self.__enabled
143
+
144
+ def __handleOnPaint(self, event):
145
+ #print('paint')
146
+ event.Skip()
147
+
148
+ def __isMovingCursor(self):
149
+ """
150
+ Return True if the current cursor is one used to
151
+ mean moving the rubberband.
152
+ """
153
+ return self.__currentCursor == wx.CURSOR_HAND
154
+
155
+ def __isSizingCursor(self):
156
+ """
157
+ Return True if the current cursor is one of the ones
158
+ I may use to signify sizing.
159
+ """
160
+ sizingCursors = [wx.CURSOR_SIZENESW,
161
+ wx.CURSOR_SIZENS,
162
+ wx.CURSOR_SIZENWSE,
163
+ wx.CURSOR_SIZEWE,
164
+ wx.CURSOR_SIZING,
165
+ wx.CURSOR_CROSS]
166
+ try:
167
+ sizingCursors.index(self.__currentCursor)
168
+ return 1
169
+ except ValueError:
170
+ return 0
171
+
172
+
173
+ def __handleMouseEvents(self, event):
174
+ """
175
+ React according to the new event. This is the main
176
+ entry point into the class. This method contains the
177
+ logic for the class's behavior.
178
+ """
179
+ if not self.enabled:
180
+ return
181
+
182
+ x, y = event.GetPosition()
183
+
184
+ # First make sure we have started a box.
185
+ if self.currentBox is None and not event.LeftDown():
186
+ # No box started yet. Set cursor to the initial kind.
187
+ self.__setCursor(wx.CURSOR_CROSS)
188
+ return
189
+
190
+ if event.LeftDown():
191
+ if self.currentBox is None:
192
+ # No RB Box, so start a new one.
193
+ self.currentBox = (x, y, 0, 0)
194
+ self.hasLetUp = 0
195
+ elif self.__isSizingCursor():
196
+ # Starting a sizing operation. Change the origin.
197
+ position = getCursorPosition(x, y, self.currentBox, thickness=self.__THICKNESS)
198
+ self.currentBox = self.__denormalizeBox(position, self.currentBox)
199
+
200
+ elif event.Dragging() and event.LeftIsDown():
201
+ # Use the cursor type to determine operation
202
+ if self.__isMovingCursor():
203
+ if self.currentlyMoving or pointInBox(x, y, self.currentBox):
204
+ if not self.currentlyMoving:
205
+ self.currentlyMoving = (x - self.currentBox[0], y - self.currentBox[1])
206
+ self.__moveTo(x - self.currentlyMoving[0], y - self.currentlyMoving[1])
207
+ elif self.__isSizingCursor():
208
+ self.__resizeBox(x, y)
209
+
210
+ elif event.LeftUp():
211
+ self.hasLetUp = 1
212
+ self.currentlyMoving = None
213
+ self.__normalizeBox()
214
+
215
+ elif event.Moving() and not event.Dragging():
216
+ # Simple mouse movement event
217
+ self.__mouseMoved(x,y)
218
+
219
+ def __denormalizeBox(self, position, box):
220
+ x, y, w, h = box
221
+ b = box
222
+ if position == 2 or position == 3:
223
+ b = (x, y + (h-1), w, h * -1)
224
+ elif position == 0 or position == 1 or position == 7:
225
+ b = (x + (w-1), y + (h-1), w * -1, h * -1)
226
+ elif position == 6:
227
+ b = (x + (w-1), y, w * -1, h)
228
+ return b
229
+
230
+ def __resizeBox(self, x, y):
231
+ """
232
+ Resize and repaint the box based on the given mouse
233
+ coordinates.
234
+ """
235
+ # Implement the correct behavior for dragging a side
236
+ # of the box: Only change one dimension.
237
+ if not self.aspectRatio:
238
+ if self.__currentCursor == wx.CURSOR_SIZENS:
239
+ x = None
240
+ elif self.__currentCursor == wx.CURSOR_SIZEWE:
241
+ y = None
242
+
243
+ x0,y0,w0,h0 = self.currentBox
244
+ currentExtent = boxToExtent(self.currentBox)
245
+ if x is None:
246
+ if w0 < 1:
247
+ w0 += 1
248
+ else:
249
+ w0 -= 1
250
+ x = x0 + w0
251
+ if y is None:
252
+ if h0 < 1:
253
+ h0 += 1
254
+ else:
255
+ h0 -= 1
256
+ y = y0 + h0
257
+ x1,y1 = x, y
258
+ w, h = abs(x1-x0)+1, abs(y1-y0)+1
259
+ if self.aspectRatio:
260
+ w = max(w, int(h * self.aspectRatio))
261
+ h = int(w / self.aspectRatio)
262
+ w *= [1,-1][isNegative(x1-x0)]
263
+ h *= [1,-1][isNegative(y1-y0)]
264
+ newbox = (x0, y0, w, h)
265
+ self.__drawAndErase(boxToDraw=normalizeBox(newbox), boxToErase=normalizeBox(self.currentBox))
266
+ self.currentBox = (x0, y0, w, h)
267
+
268
+ def __normalizeBox(self):
269
+ """
270
+ Convert any negative measurements in the current
271
+ box to positive, and adjust the origin.
272
+ """
273
+ self.currentBox = normalizeBox(self.currentBox)
274
+
275
+ def __mouseMoved(self, x, y):
276
+ """
277
+ Called when the mouse moved without any buttons pressed
278
+ or dragging being done.
279
+ """
280
+ # Are we on the bounding box?
281
+ if pointOnBox(x, y, self.currentBox, thickness=self.__THICKNESS):
282
+ position = getCursorPosition(x, y, self.currentBox, thickness=self.__THICKNESS)
283
+ cursor = [
284
+ wx.CURSOR_SIZENWSE,
285
+ wx.CURSOR_SIZENS,
286
+ wx.CURSOR_SIZENESW,
287
+ wx.CURSOR_SIZEWE,
288
+ wx.CURSOR_SIZENWSE,
289
+ wx.CURSOR_SIZENS,
290
+ wx.CURSOR_SIZENESW,
291
+ wx.CURSOR_SIZEWE
292
+ ] [position]
293
+ self.__setCursor(cursor)
294
+ elif pointInBox(x, y, self.currentBox):
295
+ self.__setCursor(wx.CURSOR_HAND)
296
+ else:
297
+ self.__setCursor()
298
+
299
+ def __setCursor(self, id=None):
300
+ """
301
+ Set the mouse cursor to the given id.
302
+ """
303
+ if self.__currentCursor != id: # Avoid redundant calls
304
+ if id:
305
+ self.drawingSurface.SetCursor(wx.Cursor(id))
306
+ else:
307
+ self.drawingSurface.SetCursor(wx.NullCursor)
308
+ self.__currentCursor = id
309
+
310
+ def __moveCenterTo(self, x, y):
311
+ """
312
+ Move the rubber band so that its center is at (x,y).
313
+ """
314
+ x0, y0, w, h = self.currentBox
315
+ x2, y2 = x - (w/2), y - (h/2)
316
+ self.__moveTo(x2, y2)
317
+
318
+ def __moveTo(self, x, y):
319
+ """
320
+ Move the rubber band so that its origin is at (x,y).
321
+ """
322
+ newbox = (x, y, self.currentBox[2], self.currentBox[3])
323
+ self.__drawAndErase(boxToDraw=newbox, boxToErase=self.currentBox)
324
+ self.currentBox = newbox
325
+
326
+ def __drawAndErase(self, boxToDraw, boxToErase=None):
327
+ """
328
+ Draw one box shape and possibly erase another.
329
+ """
330
+ dc = wx.ClientDC(self.drawingSurface)
331
+ dc.SetPen(wx.Pen(wx.WHITE, 1, wx.PENSTYLE_DOT))
332
+ dc.SetBrush(wx.TRANSPARENT_BRUSH)
333
+ dc.SetLogicalFunction(wx.XOR)
334
+ if boxToErase:
335
+ dc.Clear()
336
+
337
+ r = wx.Rect(*boxToDraw)
338
+ dc.DrawRectangle(r)
339
+
340
+ def __dumpMouseEvent(self, event):
341
+ print('Moving: ',event.Moving())
342
+ print('Dragging: ',event.Dragging())
343
+ print('LeftDown: ',event.LeftDown())
344
+ print('LeftisDown: ',event.LeftIsDown())
345
+ print('LeftUp: ',event.LeftUp())
346
+ print('Position: ',event.GetPosition())
347
+ print('x,y: ',event.GetX(),event.GetY())
348
+ print()
349
+
350
+
351
+ #
352
+ # The public API:
353
+ #
354
+
355
+ def reset(self, aspectRatio=None):
356
+ """
357
+ Clear the existing rubberband
358
+ """
359
+ self.currentBox = None
360
+ self.aspectRatio = aspectRatio
361
+ self.drawingSurface.Refresh()
362
+
363
+ def getCurrentExtent(self):
364
+ """
365
+ Return (x0, y0, x1, y1) or None if
366
+ no drawing has yet been done.
367
+ """
368
+ if not self.currentBox:
369
+ extent = None
370
+ else:
371
+ extent = boxToExtent(self.currentBox)
372
+ return extent
373
+
374
+ enabled = property(__isEnabled, __setEnabled, None, 'True if I am responding to mouse events')
375
+
376
+
377
+
378
+ if __name__ == '__main__':
379
+ app = wx.App()
380
+ frame = wx.Frame(None, -1, title='RubberBand Test', size=(300,300))
381
+
382
+ # Add a panel that the rubberband will work on.
383
+ panel = wx.Panel(frame, -1)
384
+ panel.SetBackgroundColour(wx.BLUE)
385
+
386
+ # Create the rubberband
387
+ frame.rubberBand = RubberBand(drawingSurface=panel)
388
+ frame.rubberBand.reset(aspectRatio=0.5)
389
+
390
+ # Add a button that creates a new rubberband
391
+ def __newRubberBand(event):
392
+ frame.rubberBand.reset()
393
+ button = wx.Button(frame, 100, 'Reset Rubberband')
394
+ frame.Bind(wx.EVT_BUTTON, __newRubberBand, button)
395
+
396
+ # Layout the frame
397
+ sizer = wx.BoxSizer(wx.VERTICAL)
398
+ sizer.Add(panel, 1, wx.EXPAND | wx.ALL, 5)
399
+ sizer.Add(button, 0, wx.ALIGN_CENTER | wx.ALL, 5)
400
+ frame.SetAutoLayout(1)
401
+ frame.SetSizer(sizer)
402
+ frame.Show(1)
403
+ app.MainLoop()