py2docfx 0.1.15rc2025477__py3-none-any.whl → 0.1.16__py3-none-any.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 (604) hide show
  1. py2docfx/docfx_yaml/process_doctree.py +21 -34
  2. py2docfx/docfx_yaml/tests/test_method_arguments.py +1 -7
  3. py2docfx/docfx_yaml/tests/test_process_doctree.py +120 -0
  4. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
  5. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
  6. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
  7. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
  8. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
  9. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
  10. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  11. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
  18. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
  19. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
  20. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
  21. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +7 -6
  22. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +29 -0
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
  29. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
  31. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
  36. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +168 -51
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +12 -3
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
  48. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
  49. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +4 -4
  50. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +4 -4
  51. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +4 -4
  52. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +22 -4
  53. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +82 -35
  54. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +4 -4
  55. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +4 -4
  56. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +4 -4
  57. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +4 -3
  58. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +13 -0
  59. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +62 -115
  60. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
  61. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +15 -18
  62. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +4 -1
  63. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +5 -0
  64. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +3 -3
  65. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +25 -9
  66. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +26 -0
  67. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +0 -63
  68. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +38 -1
  69. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_text.py +129 -0
  70. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +0 -49
  71. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +3 -3
  72. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +4 -4
  73. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +4 -4
  74. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +0 -18
  75. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +8 -3
  76. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +4 -4
  77. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +4 -4
  78. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +3 -4
  79. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +4 -4
  80. py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +1 -1
  81. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +51 -17
  82. py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +18 -4
  83. py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +5 -1
  84. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -4
  85. py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +6 -0
  86. py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +31 -10
  87. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +2 -3
  88. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +4 -1
  89. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/filelock.py +62 -0
  90. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +1 -1
  91. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +7 -1
  92. py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +1 -1
  93. py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
  94. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
  95. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
  96. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
  97. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
  98. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
  99. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  100. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  101. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
  102. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
  103. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
  104. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
  105. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
  106. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
  107. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
  108. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
  109. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
  110. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +7 -6
  111. py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +29 -0
  112. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
  113. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
  114. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
  115. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
  116. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
  117. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
  118. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
  119. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
  120. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
  121. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
  122. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
  123. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
  124. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
  125. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
  126. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
  127. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +168 -51
  128. py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +12 -3
  129. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
  130. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
  131. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
  132. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
  133. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
  134. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
  135. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
  136. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
  137. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +999 -74
  138. {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/METADATA +1 -1
  139. {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/RECORD +141 -596
  140. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +0 -82
  141. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +0 -283
  142. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +0 -1153
  143. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +0 -723
  144. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +0 -72
  145. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +0 -21
  146. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +0 -41
  147. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +0 -41
  148. py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +0 -34
  149. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +0 -137
  150. py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +0 -16
  151. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +0 -68
  152. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +0 -1547
  153. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +0 -184
  154. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +0 -879
  155. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +0 -34
  156. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +0 -98
  157. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +0 -195
  158. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +0 -30
  159. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +0 -420
  160. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +0 -213
  161. py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +0 -39
  162. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +0 -809
  163. py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +0 -121
  164. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +0 -218
  165. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +0 -116
  166. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +0 -85
  167. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +0 -162
  168. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +0 -195
  169. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +0 -73
  170. py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +0 -114
  171. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +0 -191
  172. py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +0 -6
  173. py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +0 -79
  174. py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +0 -122
  175. py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +0 -59
  176. py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +0 -27
  177. py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +0 -154
  178. py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +0 -236
  179. py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +0 -569
  180. py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +0 -4
  181. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +0 -258
  182. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +0 -183
  183. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +0 -63
  184. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +0 -51
  185. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +0 -71
  186. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +0 -53
  187. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +0 -113
  188. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +0 -114
  189. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +0 -65
  190. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +0 -73
  191. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +0 -145
  192. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +0 -104
  193. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +0 -85
  194. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +0 -53
  195. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +0 -138
  196. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +0 -13
  197. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +0 -57
  198. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +0 -63
  199. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +0 -95
  200. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +0 -159
  201. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +0 -132
  202. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +0 -243
  203. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +0 -72
  204. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +0 -415
  205. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +0 -105
  206. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +0 -76
  207. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +0 -79
  208. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +0 -189
  209. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -105
  210. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +0 -3
  211. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +0 -133
  212. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +0 -34
  213. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -31
  214. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +0 -48
  215. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +0 -1097
  216. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +0 -54
  217. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/__init__.py +0 -0
  218. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +0 -136
  219. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +0 -146
  220. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -155
  221. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +0 -242
  222. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -676
  223. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/__init__.py +0 -0
  224. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/__init__.py +0 -0
  225. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +0 -411
  226. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +0 -168
  227. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +0 -54
  228. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +0 -188
  229. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +0 -76
  230. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +0 -235
  231. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +0 -105
  232. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/__init__.py +0 -0
  233. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +0 -646
  234. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +0 -299
  235. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -379
  236. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +0 -511
  237. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +0 -74
  238. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +0 -59
  239. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +0 -104
  240. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +0 -173
  241. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +0 -995
  242. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +0 -552
  243. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +0 -65
  244. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +0 -684
  245. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +0 -749
  246. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +0 -70
  247. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +0 -172
  248. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -279
  249. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +0 -14
  250. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +0 -589
  251. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +0 -95
  252. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +0 -536
  253. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +0 -216
  254. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +0 -166
  255. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +0 -87
  256. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +0 -585
  257. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +0 -1
  258. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/__init__.py +0 -0
  259. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +0 -79
  260. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +0 -501
  261. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +0 -277
  262. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +0 -151
  263. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +0 -66
  264. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +0 -25
  265. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +0 -50
  266. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +0 -593
  267. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +0 -1
  268. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +0 -180
  269. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +0 -363
  270. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +0 -291
  271. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +0 -565
  272. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +0 -312
  273. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +0 -511
  274. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +0 -704
  275. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +0 -190
  276. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +0 -3083
  277. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +0 -841
  278. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +0 -79
  279. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/__init__.py +0 -0
  280. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +0 -323
  281. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +0 -494
  282. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +0 -353
  283. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +0 -382
  284. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +0 -80
  285. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +0 -119
  286. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +0 -137
  287. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +0 -57
  288. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +0 -122
  289. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +0 -83
  290. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +0 -28
  291. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +0 -32
  292. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +0 -137
  293. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +0 -43
  294. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +0 -127
  295. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +0 -66
  296. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +0 -60
  297. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +0 -71
  298. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +0 -210
  299. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +0 -26
  300. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +0 -18
  301. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +0 -42
  302. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +0 -246
  303. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +0 -143
  304. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +0 -33
  305. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +0 -101
  306. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +0 -17
  307. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +0 -114
  308. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +0 -113
  309. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +0 -166
  310. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +0 -110
  311. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -49
  312. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -170
  313. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -39
  314. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -35
  315. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +0 -70
  316. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +0 -14
  317. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +0 -12
  318. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +0 -25
  319. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +0 -61
  320. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +0 -36
  321. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +0 -8
  322. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +0 -336
  323. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +0 -106
  324. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -73
  325. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -25
  326. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -134
  327. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +0 -131
  328. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -131
  329. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -102
  330. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +0 -158
  331. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +0 -72
  332. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +0 -199
  333. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +0 -41
  334. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +0 -63
  335. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +0 -185
  336. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +0 -158
  337. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +0 -98
  338. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +0 -72
  339. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +0 -155
  340. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +0 -117
  341. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +0 -174
  342. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +0 -132
  343. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +0 -82
  344. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +0 -41
  345. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +0 -177
  346. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -106
  347. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +0 -445
  348. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +0 -464
  349. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +0 -136
  350. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +0 -272
  351. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +0 -86
  352. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +0 -23
  353. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +0 -25
  354. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +0 -123
  355. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +0 -100
  356. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +0 -230
  357. py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +0 -164
  358. py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +0 -8
  359. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +0 -1551
  360. py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +0 -956
  361. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +0 -293
  362. py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +0 -731
  363. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +0 -21
  364. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +0 -291
  365. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +0 -124
  366. py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +0 -40
  367. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +0 -161
  368. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +0 -395
  369. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +0 -413
  370. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +0 -477
  371. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +0 -14
  372. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +0 -5064
  373. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +0 -1922
  374. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +0 -225
  375. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +0 -957
  376. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +0 -1086
  377. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +0 -627
  378. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +0 -570
  379. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +0 -212
  380. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +0 -674
  381. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +0 -1073
  382. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +0 -1201
  383. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +0 -59
  384. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +0 -235
  385. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +0 -7362
  386. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +0 -1079
  387. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +0 -1347
  388. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +0 -236
  389. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +0 -8
  390. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +0 -594
  391. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +0 -97
  392. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +0 -156
  393. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +0 -201
  394. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +0 -46
  395. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +0 -194
  396. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +0 -62
  397. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +0 -733
  398. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +0 -120
  399. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +0 -98
  400. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +0 -607
  401. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +0 -111
  402. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +0 -175
  403. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +0 -137
  404. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +0 -213
  405. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +0 -264
  406. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +0 -111
  407. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +0 -166
  408. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +0 -229
  409. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +0 -273
  410. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +0 -59
  411. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -91
  412. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +0 -144
  413. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +0 -119
  414. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +0 -1096
  415. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -227
  416. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +0 -333
  417. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +0 -108
  418. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -23
  419. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +0 -148
  420. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +0 -24
  421. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +0 -19
  422. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +0 -70
  423. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +0 -16
  424. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +0 -366
  425. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +0 -19
  426. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +0 -174
  427. py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +0 -223
  428. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +0 -13
  429. py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +0 -134
  430. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +0 -60
  431. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +0 -717
  432. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +0 -771
  433. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +0 -604
  434. py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +0 -48
  435. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +0 -699
  436. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +0 -825
  437. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +0 -1350
  438. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +0 -453
  439. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +0 -182
  440. py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +0 -277
  441. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +0 -103
  442. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
  443. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +0 -96
  444. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +0 -74
  445. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +0 -98
  446. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +0 -92
  447. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +0 -169
  448. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +0 -434
  449. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -214
  450. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +0 -368
  451. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +0 -135
  452. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +0 -78
  453. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +0 -1
  454. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +0 -618
  455. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +0 -331
  456. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +0 -1017
  457. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +0 -70
  458. py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +0 -1
  459. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +0 -85
  460. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +0 -239
  461. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +0 -99
  462. py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +0 -26
  463. py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +0 -53
  464. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +0 -803
  465. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +0 -677
  466. py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +0 -229
  467. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +0 -47
  468. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
  469. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +0 -133
  470. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +0 -59
  471. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +0 -36
  472. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -181
  473. py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +0 -142
  474. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +0 -95
  475. py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +0 -1
  476. py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +0 -88
  477. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +0 -243
  478. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +0 -96
  479. py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +0 -115
  480. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +0 -100
  481. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +0 -44
  482. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +0 -185
  483. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +0 -99
  484. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +0 -169
  485. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +0 -159
  486. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +0 -35
  487. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +0 -50
  488. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +0 -74
  489. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +0 -101
  490. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +0 -83
  491. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +0 -121
  492. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +0 -139
  493. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +0 -142
  494. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +0 -149
  495. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +0 -140
  496. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +0 -184
  497. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +0 -138
  498. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +0 -160
  499. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +0 -227
  500. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +0 -80
  501. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +0 -918
  502. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +0 -29
  503. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +0 -51
  504. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +0 -272
  505. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +0 -88
  506. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +0 -147
  507. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +0 -18
  508. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +0 -320
  509. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +0 -54
  510. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +0 -583
  511. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +0 -40
  512. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +0 -34
  513. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +0 -262
  514. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +0 -224
  515. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +0 -35
  516. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +0 -113
  517. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +0 -340
  518. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +0 -68
  519. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +0 -565
  520. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -151
  521. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +0 -274
  522. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +0 -6
  523. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +0 -229
  524. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -219
  525. py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +0 -4
  526. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +0 -4
  527. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +0 -467
  528. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +0 -279
  529. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +0 -58
  530. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +0 -238
  531. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +0 -135
  532. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +0 -57
  533. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +0 -212
  534. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +0 -583
  535. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +0 -178
  536. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +0 -98
  537. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +0 -4
  538. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +0 -13
  539. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +0 -1
  540. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +0 -223
  541. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +0 -262
  542. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +0 -1291
  543. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -78
  544. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +0 -438
  545. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +0 -54
  546. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +0 -103
  547. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
  548. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +0 -145
  549. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +0 -185
  550. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +0 -240
  551. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -83
  552. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +0 -6
  553. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +0 -48
  554. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +0 -119
  555. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +0 -4
  556. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +0 -1
  557. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +0 -60
  558. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +0 -402
  559. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +0 -1
  560. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +0 -300
  561. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +0 -110
  562. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +0 -4
  563. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +0 -261
  564. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +0 -21
  565. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +0 -98
  566. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +0 -875
  567. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +0 -1023
  568. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +0 -211
  569. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +0 -1
  570. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +0 -838
  571. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +0 -5
  572. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +0 -4
  573. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +0 -83
  574. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +0 -179
  575. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +0 -67
  576. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +0 -93
  577. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +0 -56
  578. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +0 -45
  579. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +0 -73
  580. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +0 -58
  581. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +0 -143
  582. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -125
  583. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +0 -122
  584. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +0 -84
  585. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +0 -188
  586. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +0 -866
  587. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +0 -81
  588. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +0 -971
  589. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +0 -19
  590. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +0 -68
  591. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +0 -24
  592. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +0 -1615
  593. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +0 -75
  594. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +0 -21
  595. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +0 -69
  596. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +0 -6
  597. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +0 -66
  598. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +0 -68
  599. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -49
  600. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +0 -3
  601. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +0 -733
  602. py2docfx/venv/venv1/Scripts/pywin32_testall.py +0 -120
  603. {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/WHEEL +0 -0
  604. {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/top_level.txt +0 -0
@@ -1,957 +0,0 @@
1
- # This is a work in progress - see Demos/win32gui_menu.py
2
-
3
- # win32gui_struct.py - helpers for working with various win32gui structures.
4
- # As win32gui is "light-weight", it does not define objects for all possible
5
- # win32 structures - in general, "buffer" objects are passed around - it is
6
- # the callers responsibility to pack the buffer in the correct format.
7
- #
8
- # This module defines some helpers for the commonly used structures.
9
- #
10
- # In general, each structure has 3 functions:
11
- #
12
- # buffer, extras = PackSTRUCTURE(items, ...)
13
- # item, ... = UnpackSTRUCTURE(buffer)
14
- # buffer, extras = EmtpySTRUCTURE(...)
15
- #
16
- # 'extras' is always items that must be held along with the buffer, as the
17
- # buffer refers to these object's memory.
18
- # For structures that support a 'mask', this mask is hidden from the user - if
19
- # 'None' is passed, the mask flag will not be set, or on return, None will
20
- # be returned for the value if the mask is not set.
21
- #
22
- # NOTE: I considered making these structures look like real classes, and
23
- # support 'attributes' etc - however, ctypes already has a good structure
24
- # mechanism - I think it makes more sense to support ctype structures
25
- # at the win32gui level, then there will be no need for this module at all.
26
- # XXX - the above makes sense in terms of what is built and passed to
27
- # win32gui (ie, the Pack* functions) - but doesn't make as much sense for
28
- # the Unpack* functions, where the aim is user convenience.
29
-
30
- import array
31
- import struct
32
- import sys
33
- from collections import namedtuple
34
-
35
- import commctrl
36
- import pywintypes
37
- import win32con
38
- import win32gui
39
-
40
-
41
- def _MakeResult(names_str, values):
42
- names = names_str.split()
43
- # TODO: Dynamic namedtuple. This could be made static, also exposing the types
44
- nt = namedtuple(names[0], names[1:]) # noqa: PYI024
45
- return nt(*values)
46
-
47
-
48
- is64bit = "64 bit" in sys.version
49
- _nmhdr_fmt = "PPi"
50
- if is64bit:
51
- # When the item past the NMHDR gets aligned (eg, when it is a struct)
52
- # we need this many bytes padding.
53
- _nmhdr_align_padding = "xxxx"
54
- else:
55
- _nmhdr_align_padding = ""
56
-
57
-
58
- # Encode a string suitable for passing in a win32gui related structure
59
- def _make_text_buffer(text):
60
- if not isinstance(text, str):
61
- raise TypeError("MENUITEMINFO text must be unicode")
62
- data = (text + "\0").encode("utf-16le")
63
- return array.array("b", data)
64
-
65
-
66
- # make an 'empty' buffer, ready for filling with cch characters.
67
- def _make_empty_text_buffer(cch):
68
- return _make_text_buffer("\0" * cch)
69
-
70
-
71
- # Generic WM_NOTIFY unpacking
72
- def UnpackWMNOTIFY(lparam):
73
- format = "PPi"
74
- buf = win32gui.PyGetMemory(lparam, struct.calcsize(format))
75
- return _MakeResult("WMNOTIFY hwndFrom idFrom code", struct.unpack(format, buf))
76
-
77
-
78
- def UnpackNMITEMACTIVATE(lparam):
79
- format = _nmhdr_fmt + _nmhdr_align_padding
80
- if is64bit:
81
- # the struct module doesn't handle this correctly as some of the items
82
- # are actually structs in structs, which get individually aligned.
83
- format += "iiiiiiixxxxP"
84
- else:
85
- format += "iiiiiiiP"
86
- buf = win32gui.PyMakeBuffer(struct.calcsize(format), lparam)
87
- return _MakeResult(
88
- "NMITEMACTIVATE hwndFrom idFrom code iItem iSubItem uNewState uOldState uChanged actionx actiony lParam",
89
- struct.unpack(format, buf),
90
- )
91
-
92
-
93
- # MENUITEMINFO struct
94
- # https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-menuiteminfow
95
- # We use the struct module to pack and unpack strings as MENUITEMINFO
96
- # structures. We also have special handling for the 'fMask' item in that
97
- # structure to avoid the caller needing to explicitly check validity
98
- # (None is used if the mask excludes/should exclude the value)
99
- _menuiteminfo_fmt = "5i5PiP"
100
-
101
-
102
- def PackMENUITEMINFO(
103
- fType=None,
104
- fState=None,
105
- wID=None,
106
- hSubMenu=None,
107
- hbmpChecked=None,
108
- hbmpUnchecked=None,
109
- dwItemData=None,
110
- text=None,
111
- hbmpItem=None,
112
- dwTypeData=None,
113
- ):
114
- # 'extras' are objects the caller must keep a reference to (as their
115
- # memory is used) for the lifetime of the INFO item.
116
- extras = []
117
- # ack - dwItemData and dwTypeData were confused for a while...
118
- assert (
119
- dwItemData is None or dwTypeData is None
120
- ), "sorry - these were confused - you probably want dwItemData"
121
- # if we are a long way past 209, then we can nuke the above...
122
- if dwTypeData is not None:
123
- import warnings
124
-
125
- warnings.warn("PackMENUITEMINFO: please use dwItemData instead of dwTypeData")
126
- if dwItemData is None:
127
- dwItemData = dwTypeData or 0
128
-
129
- fMask = 0
130
- if fType is None:
131
- fType = 0
132
- else:
133
- fMask |= win32con.MIIM_FTYPE
134
- if fState is None:
135
- fState = 0
136
- else:
137
- fMask |= win32con.MIIM_STATE
138
- if wID is None:
139
- wID = 0
140
- else:
141
- fMask |= win32con.MIIM_ID
142
- if hSubMenu is None:
143
- hSubMenu = 0
144
- else:
145
- fMask |= win32con.MIIM_SUBMENU
146
- if hbmpChecked is None:
147
- assert hbmpUnchecked is None, "neither or both checkmark bmps must be given"
148
- hbmpChecked = hbmpUnchecked = 0
149
- else:
150
- assert hbmpUnchecked is not None, "neither or both checkmark bmps must be given"
151
- fMask |= win32con.MIIM_CHECKMARKS
152
- if dwItemData is None:
153
- dwItemData = 0
154
- else:
155
- fMask |= win32con.MIIM_DATA
156
- if hbmpItem is None:
157
- hbmpItem = 0
158
- else:
159
- fMask |= win32con.MIIM_BITMAP
160
- if text is not None:
161
- fMask |= win32con.MIIM_STRING
162
- str_buf = _make_text_buffer(text)
163
- cch = len(text)
164
- # We are taking address of strbuf - it must not die until windows
165
- # has finished with our structure.
166
- lptext = str_buf.buffer_info()[0]
167
- extras.append(str_buf)
168
- else:
169
- lptext = 0
170
- cch = 0
171
- # Create the struct.
172
- # 'P' format does not accept PyHANDLE's !
173
- item = struct.pack(
174
- _menuiteminfo_fmt,
175
- struct.calcsize(_menuiteminfo_fmt), # cbSize
176
- fMask,
177
- fType,
178
- fState,
179
- wID,
180
- int(hSubMenu),
181
- int(hbmpChecked),
182
- int(hbmpUnchecked),
183
- dwItemData,
184
- lptext,
185
- cch,
186
- int(hbmpItem),
187
- )
188
- # Now copy the string to a writable buffer, so that the result
189
- # could be passed to a 'Get' function
190
- return array.array("b", item), extras
191
-
192
-
193
- def UnpackMENUITEMINFO(s):
194
- (
195
- cb,
196
- fMask,
197
- fType,
198
- fState,
199
- wID,
200
- hSubMenu,
201
- hbmpChecked,
202
- hbmpUnchecked,
203
- dwItemData,
204
- lptext,
205
- cch,
206
- hbmpItem,
207
- ) = struct.unpack(_menuiteminfo_fmt, s)
208
- assert cb == len(s)
209
- if fMask & win32con.MIIM_FTYPE == 0:
210
- fType = None
211
- if fMask & win32con.MIIM_STATE == 0:
212
- fState = None
213
- if fMask & win32con.MIIM_ID == 0:
214
- wID = None
215
- if fMask & win32con.MIIM_SUBMENU == 0:
216
- hSubMenu = None
217
- if fMask & win32con.MIIM_CHECKMARKS == 0:
218
- hbmpChecked = hbmpUnchecked = None
219
- if fMask & win32con.MIIM_DATA == 0:
220
- dwItemData = None
221
- if fMask & win32con.MIIM_BITMAP == 0:
222
- hbmpItem = None
223
- if fMask & win32con.MIIM_STRING:
224
- text = win32gui.PyGetString(lptext, cch)
225
- else:
226
- text = None
227
- return _MakeResult(
228
- "MENUITEMINFO fType fState wID hSubMenu hbmpChecked "
229
- "hbmpUnchecked dwItemData text hbmpItem",
230
- (
231
- fType,
232
- fState,
233
- wID,
234
- hSubMenu,
235
- hbmpChecked,
236
- hbmpUnchecked,
237
- dwItemData,
238
- text,
239
- hbmpItem,
240
- ),
241
- )
242
-
243
-
244
- def EmptyMENUITEMINFO(mask=None, text_buf_size=512):
245
- # text_buf_size is number of *characters* - not necessarily no of bytes.
246
- extra = []
247
- if mask is None:
248
- mask = (
249
- win32con.MIIM_BITMAP
250
- | win32con.MIIM_CHECKMARKS
251
- | win32con.MIIM_DATA
252
- | win32con.MIIM_FTYPE
253
- | win32con.MIIM_ID
254
- | win32con.MIIM_STATE
255
- | win32con.MIIM_STRING
256
- | win32con.MIIM_SUBMENU
257
- )
258
- # Note: No MIIM_TYPE - this screws win2k/98.
259
-
260
- if mask & win32con.MIIM_STRING:
261
- text_buffer = _make_empty_text_buffer(text_buf_size)
262
- extra.append(text_buffer)
263
- text_addr, _ = text_buffer.buffer_info()
264
- else:
265
- text_addr = text_buf_size = 0
266
-
267
- # Now copy the string to a writable buffer, so that the result
268
- # could be passed to a 'Get' function
269
- buf = struct.pack(
270
- _menuiteminfo_fmt,
271
- struct.calcsize(_menuiteminfo_fmt), # cbSize
272
- mask,
273
- 0, # fType,
274
- 0, # fState,
275
- 0, # wID,
276
- 0, # hSubMenu,
277
- 0, # hbmpChecked,
278
- 0, # hbmpUnchecked,
279
- 0, # dwItemData,
280
- text_addr,
281
- text_buf_size,
282
- 0, # hbmpItem
283
- )
284
- return array.array("b", buf), extra
285
-
286
-
287
- # MENUINFO struct
288
- _menuinfo_fmt = "iiiiPiP"
289
-
290
-
291
- def PackMENUINFO(
292
- dwStyle=None,
293
- cyMax=None,
294
- hbrBack=None,
295
- dwContextHelpID=None,
296
- dwMenuData=None,
297
- fMask=0,
298
- ):
299
- if dwStyle is None:
300
- dwStyle = 0
301
- else:
302
- fMask |= win32con.MIM_STYLE
303
- if cyMax is None:
304
- cyMax = 0
305
- else:
306
- fMask |= win32con.MIM_MAXHEIGHT
307
- if hbrBack is None:
308
- hbrBack = 0
309
- else:
310
- fMask |= win32con.MIM_BACKGROUND
311
- if dwContextHelpID is None:
312
- dwContextHelpID = 0
313
- else:
314
- fMask |= win32con.MIM_HELPID
315
- if dwMenuData is None:
316
- dwMenuData = 0
317
- else:
318
- fMask |= win32con.MIM_MENUDATA
319
- # Create the struct.
320
- item = struct.pack(
321
- _menuinfo_fmt,
322
- struct.calcsize(_menuinfo_fmt), # cbSize
323
- fMask,
324
- dwStyle,
325
- cyMax,
326
- hbrBack,
327
- dwContextHelpID,
328
- dwMenuData,
329
- )
330
- return array.array("b", item)
331
-
332
-
333
- def UnpackMENUINFO(s):
334
- (cb, fMask, dwStyle, cyMax, hbrBack, dwContextHelpID, dwMenuData) = struct.unpack(
335
- _menuinfo_fmt, s
336
- )
337
- assert cb == len(s)
338
- if fMask & win32con.MIM_STYLE == 0:
339
- dwStyle = None
340
- if fMask & win32con.MIM_MAXHEIGHT == 0:
341
- cyMax = None
342
- if fMask & win32con.MIM_BACKGROUND == 0:
343
- hbrBack = None
344
- if fMask & win32con.MIM_HELPID == 0:
345
- dwContextHelpID = None
346
- if fMask & win32con.MIM_MENUDATA == 0:
347
- dwMenuData = None
348
- return _MakeResult(
349
- "MENUINFO dwStyle cyMax hbrBack dwContextHelpID dwMenuData",
350
- (dwStyle, cyMax, hbrBack, dwContextHelpID, dwMenuData),
351
- )
352
-
353
-
354
- def EmptyMENUINFO(mask=None):
355
- if mask is None:
356
- mask = (
357
- win32con.MIM_STYLE
358
- | win32con.MIM_MAXHEIGHT
359
- | win32con.MIM_BACKGROUND
360
- | win32con.MIM_HELPID
361
- | win32con.MIM_MENUDATA
362
- )
363
-
364
- buf = struct.pack(
365
- _menuinfo_fmt,
366
- struct.calcsize(_menuinfo_fmt), # cbSize
367
- mask,
368
- 0, # dwStyle
369
- 0, # cyMax
370
- 0, # hbrBack,
371
- 0, # dwContextHelpID,
372
- 0, # dwMenuData,
373
- )
374
- return array.array("b", buf)
375
-
376
-
377
- ##########################################################################
378
- #
379
- # Tree View structure support - TVITEM, TVINSERTSTRUCT and TVDISPINFO
380
- #
381
- ##########################################################################
382
-
383
- # XXX - Note that the following implementation of TreeView structures is ripped
384
- # XXX - from the SpamBayes project. It may not quite work correctly yet - I
385
- # XXX - intend checking them later - but having them is better than not at all!
386
-
387
- _tvitem_fmt = "iPiiPiiiiP"
388
-
389
-
390
- # Helpers for the ugly win32 structure packing/unpacking
391
- # XXX - Note that functions using _GetMaskAndVal run 3x faster if they are
392
- # 'inlined' into the function - see PackLVITEM. If the profiler points at
393
- # _GetMaskAndVal(), you should nuke it (patches welcome once they have been
394
- # tested)
395
- def _GetMaskAndVal(val, default, mask, flag):
396
- if val is None:
397
- return mask, default
398
- else:
399
- if flag is not None:
400
- mask |= flag
401
- return mask, val
402
-
403
-
404
- def PackTVINSERTSTRUCT(parent, insertAfter, tvitem):
405
- tvitem_buf, extra = PackTVITEM(*tvitem)
406
- tvitem_buf = tvitem_buf.tobytes()
407
- format = "PP%ds" % len(tvitem_buf)
408
- return struct.pack(format, parent, insertAfter, tvitem_buf), extra
409
-
410
-
411
- def PackTVITEM(hitem, state, stateMask, text, image, selimage, citems, param):
412
- extra = [] # objects we must keep references to
413
- mask = 0
414
- mask, hitem = _GetMaskAndVal(hitem, 0, mask, commctrl.TVIF_HANDLE)
415
- mask, state = _GetMaskAndVal(state, 0, mask, commctrl.TVIF_STATE)
416
- if not mask & commctrl.TVIF_STATE:
417
- stateMask = 0
418
- mask, text = _GetMaskAndVal(text, None, mask, commctrl.TVIF_TEXT)
419
- mask, image = _GetMaskAndVal(image, 0, mask, commctrl.TVIF_IMAGE)
420
- mask, selimage = _GetMaskAndVal(selimage, 0, mask, commctrl.TVIF_SELECTEDIMAGE)
421
- mask, citems = _GetMaskAndVal(citems, 0, mask, commctrl.TVIF_CHILDREN)
422
- mask, param = _GetMaskAndVal(param, 0, mask, commctrl.TVIF_PARAM)
423
- if text is None:
424
- text_addr = text_len = 0
425
- else:
426
- text_buffer = _make_text_buffer(text)
427
- text_len = len(text)
428
- extra.append(text_buffer)
429
- text_addr, _ = text_buffer.buffer_info()
430
- buf = struct.pack(
431
- _tvitem_fmt,
432
- mask,
433
- hitem,
434
- state,
435
- stateMask,
436
- text_addr,
437
- text_len, # text
438
- image,
439
- selimage,
440
- citems,
441
- param,
442
- )
443
- return array.array("b", buf), extra
444
-
445
-
446
- # Make a new buffer suitable for querying hitem's attributes.
447
- def EmptyTVITEM(hitem, mask=None, text_buf_size=512):
448
- extra = [] # objects we must keep references to
449
- if mask is None:
450
- mask = (
451
- commctrl.TVIF_HANDLE
452
- | commctrl.TVIF_STATE
453
- | commctrl.TVIF_TEXT
454
- | commctrl.TVIF_IMAGE
455
- | commctrl.TVIF_SELECTEDIMAGE
456
- | commctrl.TVIF_CHILDREN
457
- | commctrl.TVIF_PARAM
458
- )
459
- if mask & commctrl.TVIF_TEXT:
460
- text_buffer = _make_empty_text_buffer(text_buf_size)
461
- extra.append(text_buffer)
462
- text_addr, _ = text_buffer.buffer_info()
463
- else:
464
- text_addr = text_buf_size = 0
465
- buf = struct.pack(
466
- _tvitem_fmt, mask, hitem, 0, 0, text_addr, text_buf_size, 0, 0, 0, 0
467
- )
468
- return array.array("b", buf), extra
469
-
470
-
471
- def UnpackTVITEM(buffer):
472
- (
473
- item_mask,
474
- item_hItem,
475
- item_state,
476
- item_stateMask,
477
- item_textptr,
478
- item_cchText,
479
- item_image,
480
- item_selimage,
481
- item_cChildren,
482
- item_param,
483
- ) = struct.unpack(_tvitem_fmt, buffer)
484
- # ensure only items listed by the mask are valid (except we assume the
485
- # handle is always valid - some notifications (eg, TVN_ENDLABELEDIT) set a
486
- # mask that doesn't include the handle, but the docs explicity say it is.)
487
- if not (item_mask & commctrl.TVIF_TEXT):
488
- item_textptr = item_cchText = None
489
- if not (item_mask & commctrl.TVIF_CHILDREN):
490
- item_cChildren = None
491
- if not (item_mask & commctrl.TVIF_IMAGE):
492
- item_image = None
493
- if not (item_mask & commctrl.TVIF_PARAM):
494
- item_param = None
495
- if not (item_mask & commctrl.TVIF_SELECTEDIMAGE):
496
- item_selimage = None
497
- if not (item_mask & commctrl.TVIF_STATE):
498
- item_state = item_stateMask = None
499
-
500
- if item_textptr:
501
- text = win32gui.PyGetString(item_textptr)
502
- else:
503
- text = None
504
- return _MakeResult(
505
- "TVITEM item_hItem item_state item_stateMask "
506
- "text item_image item_selimage item_cChildren item_param",
507
- (
508
- item_hItem,
509
- item_state,
510
- item_stateMask,
511
- text,
512
- item_image,
513
- item_selimage,
514
- item_cChildren,
515
- item_param,
516
- ),
517
- )
518
-
519
-
520
- # Unpack the lparm from a "TVNOTIFY" message
521
- def UnpackTVNOTIFY(lparam):
522
- item_size = struct.calcsize(_tvitem_fmt)
523
- format = _nmhdr_fmt + _nmhdr_align_padding
524
- if is64bit:
525
- format += "ixxxx"
526
- else:
527
- format += "i"
528
- format += "%ds%ds" % (item_size, item_size)
529
- buf = win32gui.PyGetMemory(lparam, struct.calcsize(format))
530
- hwndFrom, id, code, action, buf_old, buf_new = struct.unpack(format, buf)
531
- item_old = UnpackTVITEM(buf_old)
532
- item_new = UnpackTVITEM(buf_new)
533
- return _MakeResult(
534
- "TVNOTIFY hwndFrom id code action item_old item_new",
535
- (hwndFrom, id, code, action, item_old, item_new),
536
- )
537
-
538
-
539
- def UnpackTVDISPINFO(lparam):
540
- item_size = struct.calcsize(_tvitem_fmt)
541
- format = "PPi%ds" % (item_size,)
542
- buf = win32gui.PyGetMemory(lparam, struct.calcsize(format))
543
- hwndFrom, id, code, buf_item = struct.unpack(format, buf)
544
- item = UnpackTVITEM(buf_item)
545
- return _MakeResult("TVDISPINFO hwndFrom id code item", (hwndFrom, id, code, item))
546
-
547
-
548
- #
549
- # List view items
550
- _lvitem_fmt = "iiiiiPiiPi"
551
-
552
-
553
- def PackLVITEM(
554
- item=None,
555
- subItem=None,
556
- state=None,
557
- stateMask=None,
558
- text=None,
559
- image=None,
560
- param=None,
561
- indent=None,
562
- ):
563
- extra = [] # objects we must keep references to
564
- mask = 0
565
- # _GetMaskAndVal adds quite a bit of overhead to this function.
566
- if item is None:
567
- item = 0 # No mask for item
568
- if subItem is None:
569
- subItem = 0 # No mask for sibItem
570
- if state is None:
571
- state = 0
572
- stateMask = 0
573
- else:
574
- mask |= commctrl.LVIF_STATE
575
- if stateMask is None:
576
- stateMask = state
577
-
578
- if image is None:
579
- image = 0
580
- else:
581
- mask |= commctrl.LVIF_IMAGE
582
- if param is None:
583
- param = 0
584
- else:
585
- mask |= commctrl.LVIF_PARAM
586
- if indent is None:
587
- indent = 0
588
- else:
589
- mask |= commctrl.LVIF_INDENT
590
-
591
- if text is None:
592
- text_addr = text_len = 0
593
- else:
594
- mask |= commctrl.LVIF_TEXT
595
- text_buffer = _make_text_buffer(text)
596
- text_len = len(text)
597
- extra.append(text_buffer)
598
- text_addr, _ = text_buffer.buffer_info()
599
- buf = struct.pack(
600
- _lvitem_fmt,
601
- mask,
602
- item,
603
- subItem,
604
- state,
605
- stateMask,
606
- text_addr,
607
- text_len, # text
608
- image,
609
- param,
610
- indent,
611
- )
612
- return array.array("b", buf), extra
613
-
614
-
615
- def UnpackLVITEM(buffer):
616
- (
617
- item_mask,
618
- item_item,
619
- item_subItem,
620
- item_state,
621
- item_stateMask,
622
- item_textptr,
623
- item_cchText,
624
- item_image,
625
- item_param,
626
- item_indent,
627
- ) = struct.unpack(_lvitem_fmt, buffer)
628
- # ensure only items listed by the mask are valid
629
- if not (item_mask & commctrl.LVIF_TEXT):
630
- item_textptr = item_cchText = None
631
- if not (item_mask & commctrl.LVIF_IMAGE):
632
- item_image = None
633
- if not (item_mask & commctrl.LVIF_PARAM):
634
- item_param = None
635
- if not (item_mask & commctrl.LVIF_INDENT):
636
- item_indent = None
637
- if not (item_mask & commctrl.LVIF_STATE):
638
- item_state = item_stateMask = None
639
-
640
- if item_textptr:
641
- text = win32gui.PyGetString(item_textptr)
642
- else:
643
- text = None
644
- return _MakeResult(
645
- "LVITEM item_item item_subItem item_state "
646
- "item_stateMask text item_image item_param item_indent",
647
- (
648
- item_item,
649
- item_subItem,
650
- item_state,
651
- item_stateMask,
652
- text,
653
- item_image,
654
- item_param,
655
- item_indent,
656
- ),
657
- )
658
-
659
-
660
- # Unpack an "LVNOTIFY" message
661
- def UnpackLVDISPINFO(lparam):
662
- item_size = struct.calcsize(_lvitem_fmt)
663
- format = _nmhdr_fmt + _nmhdr_align_padding + ("%ds" % (item_size,))
664
- buf = win32gui.PyGetMemory(lparam, struct.calcsize(format))
665
- hwndFrom, id, code, buf_item = struct.unpack(format, buf)
666
- item = UnpackLVITEM(buf_item)
667
- return _MakeResult("LVDISPINFO hwndFrom id code item", (hwndFrom, id, code, item))
668
-
669
-
670
- def UnpackLVNOTIFY(lparam):
671
- format = _nmhdr_fmt + _nmhdr_align_padding + "7i"
672
- if is64bit:
673
- format += "xxxx" # point needs padding.
674
- format += "P"
675
- buf = win32gui.PyGetMemory(lparam, struct.calcsize(format))
676
- (
677
- hwndFrom,
678
- id,
679
- code,
680
- item,
681
- subitem,
682
- newstate,
683
- oldstate,
684
- changed,
685
- pt_x,
686
- pt_y,
687
- lparam,
688
- ) = struct.unpack(format, buf)
689
- return _MakeResult(
690
- "UnpackLVNOTIFY hwndFrom id code item subitem "
691
- "newstate oldstate changed pt lparam",
692
- (
693
- hwndFrom,
694
- id,
695
- code,
696
- item,
697
- subitem,
698
- newstate,
699
- oldstate,
700
- changed,
701
- (pt_x, pt_y),
702
- lparam,
703
- ),
704
- )
705
-
706
-
707
- # Make a new buffer suitable for querying an items attributes.
708
- def EmptyLVITEM(item, subitem, mask=None, text_buf_size=512):
709
- extra = [] # objects we must keep references to
710
- if mask is None:
711
- mask = (
712
- commctrl.LVIF_IMAGE
713
- | commctrl.LVIF_INDENT
714
- | commctrl.LVIF_TEXT
715
- | commctrl.LVIF_PARAM
716
- | commctrl.LVIF_STATE
717
- )
718
- if mask & commctrl.LVIF_TEXT:
719
- text_buffer = _make_empty_text_buffer(text_buf_size)
720
- extra.append(text_buffer)
721
- text_addr, _ = text_buffer.buffer_info()
722
- else:
723
- text_addr = text_buf_size = 0
724
- buf = struct.pack(
725
- _lvitem_fmt,
726
- mask,
727
- item,
728
- subitem,
729
- 0,
730
- 0,
731
- text_addr,
732
- text_buf_size, # text
733
- 0,
734
- 0,
735
- 0,
736
- )
737
- return array.array("b", buf), extra
738
-
739
-
740
- # List view column structure
741
- _lvcolumn_fmt = "iiiPiiii"
742
-
743
-
744
- def PackLVCOLUMN(fmt=None, cx=None, text=None, subItem=None, image=None, order=None):
745
- extra = [] # objects we must keep references to
746
- mask = 0
747
- mask, fmt = _GetMaskAndVal(fmt, 0, mask, commctrl.LVCF_FMT)
748
- mask, cx = _GetMaskAndVal(cx, 0, mask, commctrl.LVCF_WIDTH)
749
- mask, text = _GetMaskAndVal(text, None, mask, commctrl.LVCF_TEXT)
750
- mask, subItem = _GetMaskAndVal(subItem, 0, mask, commctrl.LVCF_SUBITEM)
751
- mask, image = _GetMaskAndVal(image, 0, mask, commctrl.LVCF_IMAGE)
752
- mask, order = _GetMaskAndVal(order, 0, mask, commctrl.LVCF_ORDER)
753
- if text is None:
754
- text_addr = text_len = 0
755
- else:
756
- text_buffer = _make_text_buffer(text)
757
- extra.append(text_buffer)
758
- text_addr, _ = text_buffer.buffer_info()
759
- text_len = len(text)
760
- buf = struct.pack(
761
- _lvcolumn_fmt, mask, fmt, cx, text_addr, text_len, subItem, image, order
762
- )
763
- return array.array("b", buf), extra
764
-
765
-
766
- def UnpackLVCOLUMN(lparam):
767
- mask, fmt, cx, text_addr, text_size, subItem, image, order = struct.unpack(
768
- _lvcolumn_fmt, lparam
769
- )
770
- # ensure only items listed by the mask are valid
771
- if not (mask & commctrl.LVCF_FMT):
772
- fmt = None
773
- if not (mask & commctrl.LVCF_WIDTH):
774
- cx = None
775
- if not (mask & commctrl.LVCF_TEXT):
776
- text_addr = text_size = None
777
- if not (mask & commctrl.LVCF_SUBITEM):
778
- subItem = None
779
- if not (mask & commctrl.LVCF_IMAGE):
780
- image = None
781
- if not (mask & commctrl.LVCF_ORDER):
782
- order = None
783
- if text_addr:
784
- text = win32gui.PyGetString(text_addr)
785
- else:
786
- text = None
787
- return _MakeResult(
788
- "LVCOLUMN fmt cx text subItem image order",
789
- (fmt, cx, text, subItem, image, order),
790
- )
791
-
792
-
793
- # Make a new buffer suitable for querying an items attributes.
794
- def EmptyLVCOLUMN(mask=None, text_buf_size=512):
795
- extra = [] # objects we must keep references to
796
- if mask is None:
797
- mask = (
798
- commctrl.LVCF_FMT
799
- | commctrl.LVCF_WIDTH
800
- | commctrl.LVCF_TEXT
801
- | commctrl.LVCF_SUBITEM
802
- | commctrl.LVCF_IMAGE
803
- | commctrl.LVCF_ORDER
804
- )
805
- if mask & commctrl.LVCF_TEXT:
806
- text_buffer = _make_empty_text_buffer(text_buf_size)
807
- extra.append(text_buffer)
808
- text_addr, _ = text_buffer.buffer_info()
809
- else:
810
- text_addr = text_buf_size = 0
811
- buf = struct.pack(_lvcolumn_fmt, mask, 0, 0, text_addr, text_buf_size, 0, 0, 0)
812
- return array.array("b", buf), extra
813
-
814
-
815
- # List view hit-test.
816
- def PackLVHITTEST(pt):
817
- format = "iiiii"
818
- buf = struct.pack(format, pt[0], pt[1], 0, 0, 0)
819
- return array.array("b", buf), None
820
-
821
-
822
- def UnpackLVHITTEST(buf):
823
- format = "iiiii"
824
- x, y, flags, item, subitem = struct.unpack(format, buf)
825
- return _MakeResult(
826
- "LVHITTEST pt flags item subitem", ((x, y), flags, item, subitem)
827
- )
828
-
829
-
830
- def PackHDITEM(
831
- cxy=None, text=None, hbm=None, fmt=None, param=None, image=None, order=None
832
- ):
833
- extra = [] # objects we must keep references to
834
- mask = 0
835
- mask, cxy = _GetMaskAndVal(cxy, 0, mask, commctrl.HDI_HEIGHT)
836
- mask, text = _GetMaskAndVal(text, None, mask, commctrl.LVCF_TEXT)
837
- mask, hbm = _GetMaskAndVal(hbm, 0, mask, commctrl.HDI_BITMAP)
838
- mask, fmt = _GetMaskAndVal(fmt, 0, mask, commctrl.HDI_FORMAT)
839
- mask, param = _GetMaskAndVal(param, 0, mask, commctrl.HDI_LPARAM)
840
- mask, image = _GetMaskAndVal(image, 0, mask, commctrl.HDI_IMAGE)
841
- mask, order = _GetMaskAndVal(order, 0, mask, commctrl.HDI_ORDER)
842
-
843
- if text is None:
844
- text_addr = text_len = 0
845
- else:
846
- text_buffer = _make_text_buffer(text)
847
- extra.append(text_buffer)
848
- text_addr, _ = text_buffer.buffer_info()
849
- text_len = len(text)
850
-
851
- format = "iiPPiiPiiii"
852
- buf = struct.pack(
853
- format, mask, cxy, text_addr, hbm, text_len, fmt, param, image, order, 0, 0
854
- )
855
- return array.array("b", buf), extra
856
-
857
-
858
- # Device notification stuff
859
-
860
-
861
- # Generic function for packing a DEV_BROADCAST_* structure - generally used
862
- # by the other PackDEV_BROADCAST_* functions in this module.
863
- def PackDEV_BROADCAST(devicetype, rest_fmt, rest_data, extra_data=b""):
864
- # It seems a requirement is 4 byte alignment, even for the 'BYTE data[1]'
865
- # field (eg, that would make DEV_BROADCAST_HANDLE 41 bytes, but we must
866
- # be 44.
867
- extra_data += b"\0" * (4 - len(extra_data) % 4)
868
- format = "iii" + rest_fmt
869
- full_size = struct.calcsize(format) + len(extra_data)
870
- data = (full_size, devicetype, 0) + rest_data
871
- return struct.pack(format, *data) + extra_data
872
-
873
-
874
- def PackDEV_BROADCAST_HANDLE(
875
- handle,
876
- hdevnotify=0,
877
- guid=b"\0" * 16,
878
- name_offset=0,
879
- data=b"\0",
880
- ):
881
- return PackDEV_BROADCAST(
882
- win32con.DBT_DEVTYP_HANDLE,
883
- "PP16sl",
884
- (int(handle), int(hdevnotify), bytes(memoryview(guid)), name_offset),
885
- data,
886
- )
887
-
888
-
889
- def PackDEV_BROADCAST_VOLUME(unitmask, flags):
890
- return PackDEV_BROADCAST(win32con.DBT_DEVTYP_VOLUME, "II", (unitmask, flags))
891
-
892
-
893
- def PackDEV_BROADCAST_DEVICEINTERFACE(classguid, name=""):
894
- if not isinstance(name, str):
895
- raise TypeError("Must provide unicode for the name")
896
- name = name.encode("utf-16le")
897
-
898
- # 16 bytes for the IID followed by \0 term'd string.
899
- rest_fmt = "16s%ds" % len(name)
900
- # bytes(memoryview(iid)) hoops necessary to get the raw IID bytes.
901
- rest_data = (bytes(memoryview(pywintypes.IID(classguid))), name)
902
- return PackDEV_BROADCAST(win32con.DBT_DEVTYP_DEVICEINTERFACE, rest_fmt, rest_data)
903
-
904
-
905
- # An object returned by UnpackDEV_BROADCAST.
906
- class DEV_BROADCAST_INFO:
907
- def __init__(self, devicetype, **kw):
908
- self.devicetype = devicetype
909
- self.__dict__.update(kw)
910
-
911
- def __str__(self):
912
- return "DEV_BROADCAST_INFO:" + str(self.__dict__)
913
-
914
-
915
- # Support for unpacking the 'lparam'
916
- def UnpackDEV_BROADCAST(lparam):
917
- if lparam == 0:
918
- return None
919
- hdr_format = "iii"
920
- hdr_size = struct.calcsize(hdr_format)
921
- hdr_buf = win32gui.PyGetMemory(lparam, hdr_size)
922
- size, devtype, reserved = struct.unpack("iii", hdr_buf)
923
- # Due to x64 alignment issues, we need to use the full format string over
924
- # the entire buffer. ie, on x64:
925
- # calcsize('iiiP') != calcsize('iii')+calcsize('P')
926
- buf = win32gui.PyGetMemory(lparam, size)
927
-
928
- extra = x = {}
929
- if devtype == win32con.DBT_DEVTYP_HANDLE:
930
- # 2 handles, a GUID, a LONG and possibly an array following...
931
- fmt = hdr_format + "PP16sl"
932
- (
933
- _,
934
- _,
935
- _,
936
- x["handle"],
937
- x["hdevnotify"],
938
- guid_bytes,
939
- x["nameoffset"],
940
- ) = struct.unpack(fmt, buf[: struct.calcsize(fmt)])
941
- x["eventguid"] = pywintypes.IID(guid_bytes, True)
942
- elif devtype == win32con.DBT_DEVTYP_DEVICEINTERFACE:
943
- fmt = hdr_format + "16s"
944
- _, _, _, guid_bytes = struct.unpack(fmt, buf[: struct.calcsize(fmt)])
945
- x["classguid"] = pywintypes.IID(guid_bytes, True)
946
- x["name"] = win32gui.PyGetString(lparam + struct.calcsize(fmt))
947
- elif devtype == win32con.DBT_DEVTYP_VOLUME:
948
- # int mask and flags
949
- fmt = hdr_format + "II"
950
- _, _, _, x["unitmask"], x["flags"] = struct.unpack(
951
- fmt, buf[: struct.calcsize(fmt)]
952
- )
953
- elif devtype == win32con.DBT_DEVTYP_PORT:
954
- x["name"] = win32gui.PyGetString(lparam + struct.calcsize(hdr_format))
955
- else:
956
- raise NotImplementedError("unknown device type %d" % (devtype,))
957
- return DEV_BROADCAST_INFO(devtype, **extra)