tkinterdnd2 0.5.0__tar.gz → 0.6.0__tar.gz

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 (140) hide show
  1. {tkinterdnd2-0.5.0/tkinterdnd2.egg-info → tkinterdnd2-0.6.0}/PKG-INFO +3 -9
  2. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/README.md +2 -8
  3. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/setup.py +9 -2
  4. tkinterdnd2-0.6.0/tests/test_tkinterdnd2.py +89 -0
  5. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2/TkinterDnD.py +6 -1
  6. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64/libtkdnd2.10.0.so +0 -0
  7. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/pkgIndex.tcl +4 -4
  8. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_unix.tcl +2 -2
  9. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9/libtcl9tkdnd2.10.0.so +0 -0
  10. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/pkgIndex.tcl +4 -4
  11. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_unix.tcl +2 -2
  12. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64/libtkdnd2.10.0.so +0 -0
  13. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/pkgIndex.tcl +4 -4
  14. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_unix.tcl +2 -2
  15. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9/libtcl9tkdnd2.10.0.so +0 -0
  16. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9/pkgIndex.tcl +62 -0
  17. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_unix.tcl +2 -2
  18. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64/libtcl9tkdnd2.9.5.dylib → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64/libtcl9tkdnd2.10.0.dylib +0 -0
  19. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64/pkgIndex.tcl +62 -0
  20. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64/tkdnd.tcl +554 -0
  21. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64/tkdnd_unix.tcl +883 -0
  22. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64/tkdnd_windows.tcl +167 -0
  23. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64/tkdnd_generic.tcl +587 -0
  24. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64/tkdnd_macosx.tcl +144 -0
  25. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/libtkdnd2.10.0.dll +0 -0
  26. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/pkgIndex.tcl +62 -0
  27. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd.tcl +554 -0
  28. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd2.10.0.lib +0 -0
  29. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_compat.tcl +160 -0
  30. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_generic.tcl +587 -0
  31. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_macosx.tcl +144 -0
  32. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_unix.tcl +883 -0
  33. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_utils.tcl +256 -0
  34. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_windows.tcl +167 -0
  35. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/libtkdnd2.10.0.dll +0 -0
  36. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/pkgIndex.tcl +62 -0
  37. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd.tcl +554 -0
  38. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd2.10.0.lib +0 -0
  39. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_compat.tcl +160 -0
  40. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_generic.tcl +587 -0
  41. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_macosx.tcl +144 -0
  42. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_unix.tcl +883 -0
  43. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_utils.tcl +256 -0
  44. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64/tkdnd_windows.tcl +167 -0
  45. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/libtkdnd2.10.0.dll +0 -0
  46. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/pkgIndex.tcl +62 -0
  47. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd.tcl +554 -0
  48. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd2.10.0.lib +0 -0
  49. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_compat.tcl +160 -0
  50. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_generic.tcl +587 -0
  51. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_macosx.tcl +144 -0
  52. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_unix.tcl +883 -0
  53. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_utils.tcl +256 -0
  54. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x64-tcl9/tkdnd_windows.tcl +167 -0
  55. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/libtkdnd2.10.0.dll +0 -0
  56. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/pkgIndex.tcl +62 -0
  57. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd.tcl +554 -0
  58. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd2.10.0.lib +0 -0
  59. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_compat.tcl +160 -0
  60. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_generic.tcl +587 -0
  61. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_macosx.tcl +144 -0
  62. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_unix.tcl +883 -0
  63. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_utils.tcl +256 -0
  64. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86/tkdnd_windows.tcl +167 -0
  65. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/libtkdnd2.10.0.dll +0 -0
  66. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/pkgIndex.tcl +62 -0
  67. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd.tcl +554 -0
  68. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd2.10.0.lib +0 -0
  69. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_compat.tcl +160 -0
  70. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_generic.tcl +587 -0
  71. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_macosx.tcl +144 -0
  72. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_unix.tcl +883 -0
  73. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_utils.tcl +256 -0
  74. tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/win-x86-tcl9/tkdnd_windows.tcl +167 -0
  75. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0/tkinterdnd2.egg-info}/PKG-INFO +3 -9
  76. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2.egg-info/SOURCES.txt +48 -10
  77. tkinterdnd2-0.5.0/tests/test_tkinterdnd2.py +0 -14
  78. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64/libtkdnd2.9.3.so +0 -0
  79. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64/tkdnd.tcl +0 -539
  80. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64/tkdnd_generic.tcl +0 -587
  81. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64/tkdnd_macosx.tcl +0 -144
  82. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64/libtkdnd2.9.5.so +0 -0
  83. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64/tkdnd_unix.tcl +0 -883
  84. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64/tkdnd_windows.tcl +0 -167
  85. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/libtkdnd2.9.3.dll +0 -0
  86. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/pkgIndex.tcl +0 -62
  87. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd.tcl +0 -539
  88. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd2.9.3.lib +0 -0
  89. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_generic.tcl +0 -587
  90. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_macosx.tcl +0 -144
  91. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_unix.tcl +0 -883
  92. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64/tkdnd_windows.tcl +0 -167
  93. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64/libtkdnd2.9.5.dll +0 -0
  94. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64/pkgIndex.tcl +0 -62
  95. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64/tkdnd2.9.5.lib +0 -0
  96. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86/libtkdnd2.9.5.dll +0 -0
  97. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86/pkgIndex.tcl +0 -62
  98. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86/tkdnd2.9.5.lib +0 -0
  99. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86/tkdnd_compat.tcl +0 -160
  100. tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86/tkdnd_utils.tcl +0 -256
  101. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/LICENSE +0 -0
  102. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/setup.cfg +0 -0
  103. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2/__init__.py +0 -0
  104. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd.tcl +0 -0
  105. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_compat.tcl +0 -0
  106. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_generic.tcl +0 -0
  107. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_macosx.tcl +0 -0
  108. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_utils.tcl +0 -0
  109. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64}/tkdnd_windows.tcl +0 -0
  110. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd.tcl +0 -0
  111. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_compat.tcl +0 -0
  112. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_generic.tcl +0 -0
  113. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_macosx.tcl +0 -0
  114. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_utils.tcl +0 -0
  115. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-arm64-tcl9}/tkdnd_windows.tcl +0 -0
  116. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd.tcl +0 -0
  117. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_compat.tcl +0 -0
  118. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_generic.tcl +0 -0
  119. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_macosx.tcl +0 -0
  120. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_utils.tcl +0 -0
  121. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64}/tkdnd_windows.tcl +0 -0
  122. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd.tcl +0 -0
  123. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_compat.tcl +0 -0
  124. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_generic.tcl +0 -0
  125. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_macosx.tcl +0 -0
  126. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/osx-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_utils.tcl +0 -0
  127. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/linux-x64-tcl9}/tkdnd_windows.tcl +0 -0
  128. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_compat.tcl +0 -0
  129. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_generic.tcl +0 -0
  130. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x86 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_macosx.tcl +0 -0
  131. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-arm64}/tkdnd_utils.tcl +0 -0
  132. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2/tkdnd/osx-x64/libtkdnd2.9.4.dylib +0 -0
  133. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2/tkdnd/osx-x64/pkgIndex.tcl +0 -0
  134. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2/tkdnd/osx-x64/tkdnd.tcl +0 -0
  135. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64}/tkdnd_compat.tcl +0 -0
  136. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64}/tkdnd_unix.tcl +0 -0
  137. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/win-x64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64}/tkdnd_utils.tcl +0 -0
  138. {tkinterdnd2-0.5.0/tkinterdnd2/tkdnd/linux-arm64 → tkinterdnd2-0.6.0/tkinterdnd2/tkdnd/osx-x64}/tkdnd_windows.tcl +0 -0
  139. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2.egg-info/dependency_links.txt +0 -0
  140. {tkinterdnd2-0.5.0 → tkinterdnd2-0.6.0}/tkinterdnd2.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tkinterdnd2
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: TkinterDnD2 is a python wrapper for George Petasis'' tkDnD Tk extension version 2
5
5
  Home-page: https://github.com/Eliav2/tkinterdnd2
6
6
  Author: petasis\pmgagne\eliav2\squiblydoo
@@ -28,17 +28,11 @@ This repo was originally forked and edited for the purpose of publishing to pypi
28
28
  This repository is being maintained to ensure availability of `tkinterdnd2` into the future, providing Tkinter native drag and drop support for windows, unix and Mac OSX.
29
29
 
30
30
 
31
- ### What is TkDnD2
31
+ ### What is TkDnD
32
32
 
33
33
  [tkDnD2](https://github.com/petasis/tkdnd) is a tcl/Tk extension adding native drag and drop support.
34
34
 
35
- ### What this repository is about
36
-
37
- This repo package TkinterDnD2 and tkdnd2 into a standard python module.
38
-
39
- When the extension is imported in python its location will be automatically added to the Tk search path.
40
-
41
- This repository contains the compiled binaries from https://github.com/petasis/tkdnd/releases/tag/tkdnd-release-test-v2.9.4. In order to provide support on ARM, we include built binaries from the now defunct [tkinterdnd2-universal](https://pypi.org/project/tkinterdnd2-universal/#files) which added ARM support.
35
+ This repository contains the compiled binaries from https://github.com/petasis/tkdnd/releases/tag/tkdnd-release-test-v2.9.5 and my own compiled binaries for full Tcl 9 support: https://github.com/Squiblydoo/tkdnd.
42
36
 
43
37
 
44
38
  ## Install
@@ -7,17 +7,11 @@ This repo was originally forked and edited for the purpose of publishing to pypi
7
7
  This repository is being maintained to ensure availability of `tkinterdnd2` into the future, providing Tkinter native drag and drop support for windows, unix and Mac OSX.
8
8
 
9
9
 
10
- ### What is TkDnD2
10
+ ### What is TkDnD
11
11
 
12
12
  [tkDnD2](https://github.com/petasis/tkdnd) is a tcl/Tk extension adding native drag and drop support.
13
13
 
14
- ### What this repository is about
15
-
16
- This repo package TkinterDnD2 and tkdnd2 into a standard python module.
17
-
18
- When the extension is imported in python its location will be automatically added to the Tk search path.
19
-
20
- This repository contains the compiled binaries from https://github.com/petasis/tkdnd/releases/tag/tkdnd-release-test-v2.9.4. In order to provide support on ARM, we include built binaries from the now defunct [tkinterdnd2-universal](https://pypi.org/project/tkinterdnd2-universal/#files) which added ARM support.
14
+ This repository contains the compiled binaries from https://github.com/petasis/tkdnd/releases/tag/tkdnd-release-test-v2.9.5 and my own compiled binaries for full Tcl 9 support: https://github.com/Squiblydoo/tkdnd.
21
15
 
22
16
 
23
17
  ## Install
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tkinterdnd2",
8
- version="0.5.0",
8
+ version="0.6.0",
9
9
  author="petasis\\pmgagne\\eliav2\\squiblydoo",
10
10
  description="TkinterDnD2 is a python wrapper for George Petasis'' tkDnD Tk extension version 2",
11
11
  long_description=long_description,
@@ -15,7 +15,14 @@ setuptools.setup(
15
15
  include_package_data=True,
16
16
  package_data={
17
17
  # Include tkdnd extension files.
18
- "tkinterdnd2": ["tkdnd/linux-x64/*.*", "tkdnd/linux-arm64/*.*", "tkdnd/osx-x64/*.*", "tkdnd/osx-arm64/*.*", "tkdnd/win-x64/*.*", "tkdnd/win-x86/*.*", "tkdnd/win-arm64/*.*"],
18
+ "tkinterdnd2": [
19
+ "tkdnd/linux-x64/*.*", "tkdnd/linux-x64-tcl9/*.*",
20
+ "tkdnd/linux-arm64/*.*", "tkdnd/linux-arm64-tcl9/*.*",
21
+ "tkdnd/osx-x64/*.*", "tkdnd/osx-arm64/*.*",
22
+ "tkdnd/win-x64/*.*", "tkdnd/win-x64-tcl9/*.*",
23
+ "tkdnd/win-x86/*.*", "tkdnd/win-x86-tcl9/*.*",
24
+ "tkdnd/win-arm64/*.*",
25
+ ],
19
26
  },
20
27
  classifiers=[
21
28
  "Development Status :: 2 - Pre-Alpha",
@@ -0,0 +1,89 @@
1
+ import os
2
+ import platform
3
+ import unittest
4
+ import tkinterdnd2
5
+
6
+
7
+ class TestTkinterDnD2(unittest.TestCase):
8
+
9
+ @classmethod
10
+ def setUpClass(cls):
11
+ cls.root = tkinterdnd2.Tk()
12
+ cls.root.withdraw()
13
+
14
+ cls.tcl_version_str = cls.root.tk.call('info', 'tclversion')
15
+ cls.tcl_major = int(cls.tcl_version_str.split('.')[0])
16
+
17
+ system = platform.system()
18
+ if system == "Windows":
19
+ machine = os.environ.get('PROCESSOR_ARCHITECTURE', platform.machine())
20
+ else:
21
+ machine = platform.machine()
22
+
23
+ platform_map = {
24
+ ("Darwin", "arm64"): "osx-arm64",
25
+ ("Darwin", "x86_64"): "osx-x64",
26
+ ("Linux", "aarch64"): "linux-arm64",
27
+ ("Linux", "x86_64"): "linux-x64",
28
+ ("Windows", "ARM64"): "win-arm64",
29
+ ("Windows", "AMD64"): "win-x64",
30
+ ("Windows", "x86"): "win-x86",
31
+ }
32
+ cls.base_dir = platform_map.get((system, machine), "unknown")
33
+ cls.tkdnd_root = os.path.join(os.path.dirname(tkinterdnd2.__file__), 'tkdnd')
34
+ tcl9_path = os.path.join(cls.tkdnd_root, cls.base_dir + '-tcl9')
35
+ cls.chosen_dir = (
36
+ cls.base_dir + '-tcl9'
37
+ if cls.tcl_major >= 9 and os.path.isdir(tcl9_path)
38
+ else cls.base_dir
39
+ )
40
+
41
+ print(
42
+ f"\nPlatform: {system}/{machine} "
43
+ f"Tcl: {cls.tcl_version_str} "
44
+ f"dir: {cls.chosen_dir} "
45
+ f"tkdnd: {tkinterdnd2.TkinterDnD.TkdndVersion}"
46
+ )
47
+
48
+ @classmethod
49
+ def tearDownClass(cls):
50
+ cls.root.destroy()
51
+
52
+ def test_version_is_set(self):
53
+ """Binary loaded and TkdndVersion is populated."""
54
+ self.assertIsNotNone(tkinterdnd2.TkinterDnD.TkdndVersion)
55
+
56
+ def test_expected_version(self):
57
+ """Loaded tkdnd version matches what is shipped for this platform."""
58
+ # osx-x64 still ships the old 2.9.4 binary; all others are 2.10.0
59
+ if self.base_dir == 'osx-x64':
60
+ self.assertEqual(tkinterdnd2.TkinterDnD.TkdndVersion, '2.9.4')
61
+ else:
62
+ self.assertEqual(tkinterdnd2.TkinterDnD.TkdndVersion, '2.10.0')
63
+
64
+ def test_binary_directory_exists(self):
65
+ """The directory that was selected exists inside the installed package."""
66
+ path = os.path.join(self.tkdnd_root, self.chosen_dir)
67
+ self.assertTrue(os.path.isdir(path), f"tkdnd directory not found: {path}")
68
+
69
+ def test_tcl9_routing(self):
70
+ """When Tcl 9 is active and a -tcl9 directory is present, it must be chosen."""
71
+ tcl9_dir = os.path.join(self.tkdnd_root, self.base_dir + '-tcl9')
72
+ if self.tcl_major >= 9 and os.path.isdir(tcl9_dir):
73
+ self.assertTrue(
74
+ self.chosen_dir.endswith('-tcl9'),
75
+ f"Tcl {self.tcl_major} active but -tcl9 directory not chosen; got '{self.chosen_dir}'"
76
+ )
77
+
78
+ def test_tcl8_fallback(self):
79
+ """When Tcl 8 is active (or no -tcl9 directory exists), base directory must be chosen."""
80
+ tcl9_dir = os.path.join(self.tkdnd_root, self.base_dir + '-tcl9')
81
+ if self.tcl_major < 9 or not os.path.isdir(tcl9_dir):
82
+ self.assertFalse(
83
+ self.chosen_dir.endswith('-tcl9'),
84
+ f"Expected base directory but got '{self.chosen_dir}'"
85
+ )
86
+
87
+
88
+ if __name__ == '__main__':
89
+ unittest.main()
@@ -64,7 +64,12 @@ def _require(tkroot):
64
64
  else:
65
65
  raise RuntimeError('Plaform not supported.')
66
66
 
67
- module_path = os.path.join(os.path.dirname(__file__), 'tkdnd', tkdnd_platform_rep)
67
+ tcl_major = int(tkroot.tk.call('info', 'tclversion').split('.')[0])
68
+ if tcl_major >= 9:
69
+ tcl9_path = os.path.join(os.path.dirname(__file__), 'tkdnd', tkdnd_platform_rep + '-tcl9')
70
+ module_path = tcl9_path if os.path.isdir(tcl9_path) else os.path.join(os.path.dirname(__file__), 'tkdnd', tkdnd_platform_rep)
71
+ else:
72
+ module_path = os.path.join(os.path.dirname(__file__), 'tkdnd', tkdnd_platform_rep)
68
73
  tkroot.tk.call('lappend', 'auto_path', module_path)
69
74
  TkdndVersion = tkroot.tk.call('package', 'require', 'tkdnd')
70
75
  except tkinter.TclError:
@@ -53,10 +53,10 @@ namespace eval ::tkdnd {
53
53
 
54
54
  }; # namespace ::tkdnd
55
55
 
56
- package ifneeded tkdnd 2.9.5 \
56
+ package ifneeded tkdnd 2.10.0 \
57
57
  "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
- tkdnd::initialise \{$dir\} libtkdnd2.9.5.so tkdnd"
58
+ tkdnd::initialise \{$dir\} libtkdnd2.10.0.so tkdnd"
59
59
 
60
- package ifneeded tkdnd::utils 2.9.5 \
60
+ package ifneeded tkdnd::utils 2.10.0 \
61
61
  "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
- package provide tkdnd::utils 2.9.5"
62
+ package provide tkdnd::utils 2.10.0"
@@ -231,7 +231,7 @@ proc xdnd::normalise_data { type data } {
231
231
  STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data}
232
232
  text/html {
233
233
  if {[catch {
234
- ::tkdnd::from_encoding unicode $data
234
+ ::tkdnd::from_encoding utf-16 $data
235
235
  } string]} {
236
236
  set string $data
237
237
  }
@@ -838,7 +838,7 @@ proc xdnd::_SendData {type offset bytes args} {
838
838
  }
839
839
  default {
840
840
  set format 32
841
- binary scan $typed_data c* _dodragdrop_transfer_data
841
+ binary scan [encoding convertto utf-8 $typed_data] c* _dodragdrop_transfer_data
842
842
  }
843
843
  }
844
844
  }
@@ -53,10 +53,10 @@ namespace eval ::tkdnd {
53
53
 
54
54
  }; # namespace ::tkdnd
55
55
 
56
- package ifneeded tkdnd 2.9.3 \
56
+ package ifneeded tkdnd 2.10.0 \
57
57
  "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
- tkdnd::initialise \{$dir\} libtkdnd2.9.3[info sharedlibextension] tkdnd"
58
+ tkdnd::initialise \{$dir\} libtcl9tkdnd2.10.0.so tkdnd"
59
59
 
60
- package ifneeded tkdnd::utils 2.9.3 \
60
+ package ifneeded tkdnd::utils 2.10.0 \
61
61
  "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
- package provide tkdnd::utils 2.9.3"
62
+ package provide tkdnd::utils 2.10.0"
@@ -231,7 +231,7 @@ proc xdnd::normalise_data { type data } {
231
231
  STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data}
232
232
  text/html {
233
233
  if {[catch {
234
- ::tkdnd::from_encoding unicode $data
234
+ ::tkdnd::from_encoding utf-16 $data
235
235
  } string]} {
236
236
  set string $data
237
237
  }
@@ -838,7 +838,7 @@ proc xdnd::_SendData {type offset bytes args} {
838
838
  }
839
839
  default {
840
840
  set format 32
841
- binary scan $typed_data c* _dodragdrop_transfer_data
841
+ binary scan [encoding convertto utf-8 $typed_data] c* _dodragdrop_transfer_data
842
842
  }
843
843
  }
844
844
  }
@@ -53,10 +53,10 @@ namespace eval ::tkdnd {
53
53
 
54
54
  }; # namespace ::tkdnd
55
55
 
56
- package ifneeded tkdnd 2.9.5 \
56
+ package ifneeded tkdnd 2.10.0 \
57
57
  "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
- tkdnd::initialise \{$dir\} libtcl9tkdnd2.9.5.dylib tkdnd"
58
+ tkdnd::initialise \{$dir\} libtkdnd2.10.0.so tkdnd"
59
59
 
60
- package ifneeded tkdnd::utils 2.9.5 \
60
+ package ifneeded tkdnd::utils 2.10.0 \
61
61
  "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
- package provide tkdnd::utils 2.9.5"
62
+ package provide tkdnd::utils 2.10.0"
@@ -231,7 +231,7 @@ proc xdnd::normalise_data { type data } {
231
231
  STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data}
232
232
  text/html {
233
233
  if {[catch {
234
- ::tkdnd::from_encoding unicode $data
234
+ ::tkdnd::from_encoding utf-16 $data
235
235
  } string]} {
236
236
  set string $data
237
237
  }
@@ -838,7 +838,7 @@ proc xdnd::_SendData {type offset bytes args} {
838
838
  }
839
839
  default {
840
840
  set format 32
841
- binary scan $typed_data c* _dodragdrop_transfer_data
841
+ binary scan [encoding convertto utf-8 $typed_data] c* _dodragdrop_transfer_data
842
842
  }
843
843
  }
844
844
  }
@@ -0,0 +1,62 @@
1
+ #
2
+ # Tcl package index file
3
+ #
4
+
5
+ namespace eval ::tkdnd {
6
+ ## Check if a debug level must be set...
7
+ if {[info exists ::TKDND_DEBUG_LEVEL]} {
8
+ variable _debug_level $::TKDND_DEBUG_LEVEL
9
+ } elseif {[info exists ::env(TKDND_DEBUG_LEVEL)]} {
10
+ variable _debug_level $::env(TKDND_DEBUG_LEVEL)
11
+ } else {
12
+ variable _debug_level 0
13
+ }
14
+
15
+ # ----------------------------------------------------------------------------
16
+ # Command tkdnd::debug_enabled: returns the requested debug level (0 = no debug).
17
+ # ----------------------------------------------------------------------------
18
+ proc debug_enabled { {level {}} } {
19
+ variable _debug_level
20
+ if {$level != {}} {
21
+ if {[string is integer -strict $level]} {
22
+ set _debug_level $level
23
+ } elseif {[string is true $level]} {
24
+ set _debug_level 1
25
+ }
26
+ }
27
+ return $_debug_level
28
+ };# debug_enabled
29
+
30
+ # ----------------------------------------------------------------------------
31
+ # Command tkdnd::source: source a Tcl fileInitialise the TkDND package.
32
+ # ----------------------------------------------------------------------------
33
+ proc source { filename { encoding utf-8 } } {
34
+ variable _package_dir
35
+ # If in debug mode, enable debug statements...
36
+ set dbg_lvl [debug_enabled]
37
+ if {$dbg_lvl} {
38
+ puts "tkdnd::source (debug level $dbg_lvl) $filename"
39
+ set fd [open $filename r]
40
+ fconfigure $fd -encoding $encoding
41
+ set script [read $fd]
42
+ close $fd
43
+ set map {}
44
+ for {set lvl 0} {$lvl <= $dbg_lvl} {incr lvl} {
45
+ lappend map "#DBG$lvl " {}
46
+ }
47
+ lappend map {#DBG } {}
48
+ set script [string map $map $script]
49
+ return [eval $script]
50
+ }
51
+ ::source -encoding $encoding $filename
52
+ };# source
53
+
54
+ }; # namespace ::tkdnd
55
+
56
+ package ifneeded tkdnd 2.10.0 \
57
+ "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
+ tkdnd::initialise \{$dir\} libtcl9tkdnd2.10.0.so tkdnd"
59
+
60
+ package ifneeded tkdnd::utils 2.10.0 \
61
+ "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
+ package provide tkdnd::utils 2.10.0"
@@ -231,7 +231,7 @@ proc xdnd::normalise_data { type data } {
231
231
  STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data}
232
232
  text/html {
233
233
  if {[catch {
234
- ::tkdnd::from_encoding unicode $data
234
+ ::tkdnd::from_encoding utf-16 $data
235
235
  } string]} {
236
236
  set string $data
237
237
  }
@@ -838,7 +838,7 @@ proc xdnd::_SendData {type offset bytes args} {
838
838
  }
839
839
  default {
840
840
  set format 32
841
- binary scan $typed_data c* _dodragdrop_transfer_data
841
+ binary scan [encoding convertto utf-8 $typed_data] c* _dodragdrop_transfer_data
842
842
  }
843
843
  }
844
844
  }
@@ -0,0 +1,62 @@
1
+ #
2
+ # Tcl package index file
3
+ #
4
+
5
+ namespace eval ::tkdnd {
6
+ ## Check if a debug level must be set...
7
+ if {[info exists ::TKDND_DEBUG_LEVEL]} {
8
+ variable _debug_level $::TKDND_DEBUG_LEVEL
9
+ } elseif {[info exists ::env(TKDND_DEBUG_LEVEL)]} {
10
+ variable _debug_level $::env(TKDND_DEBUG_LEVEL)
11
+ } else {
12
+ variable _debug_level 0
13
+ }
14
+
15
+ # ----------------------------------------------------------------------------
16
+ # Command tkdnd::debug_enabled: returns the requested debug level (0 = no debug).
17
+ # ----------------------------------------------------------------------------
18
+ proc debug_enabled { {level {}} } {
19
+ variable _debug_level
20
+ if {$level != {}} {
21
+ if {[string is integer -strict $level]} {
22
+ set _debug_level $level
23
+ } elseif {[string is true $level]} {
24
+ set _debug_level 1
25
+ }
26
+ }
27
+ return $_debug_level
28
+ };# debug_enabled
29
+
30
+ # ----------------------------------------------------------------------------
31
+ # Command tkdnd::source: source a Tcl fileInitialise the TkDND package.
32
+ # ----------------------------------------------------------------------------
33
+ proc source { filename { encoding utf-8 } } {
34
+ variable _package_dir
35
+ # If in debug mode, enable debug statements...
36
+ set dbg_lvl [debug_enabled]
37
+ if {$dbg_lvl} {
38
+ puts "tkdnd::source (debug level $dbg_lvl) $filename"
39
+ set fd [open $filename r]
40
+ fconfigure $fd -encoding $encoding
41
+ set script [read $fd]
42
+ close $fd
43
+ set map {}
44
+ for {set lvl 0} {$lvl <= $dbg_lvl} {incr lvl} {
45
+ lappend map "#DBG$lvl " {}
46
+ }
47
+ lappend map {#DBG } {}
48
+ set script [string map $map $script]
49
+ return [eval $script]
50
+ }
51
+ ::source -encoding $encoding $filename
52
+ };# source
53
+
54
+ }; # namespace ::tkdnd
55
+
56
+ package ifneeded tkdnd 2.10.0 \
57
+ "tkdnd::source \{$dir/tkdnd.tcl\} ; \
58
+ tkdnd::initialise \{$dir\} libtcl9tkdnd2.10.0.dylib tkdnd"
59
+
60
+ package ifneeded tkdnd::utils 2.10.0 \
61
+ "tkdnd::source \{$dir/tkdnd_utils.tcl\} ; \
62
+ package provide tkdnd::utils 2.10.0"