CreativePython 0.2.2__tar.gz → 0.3.1__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 (110) hide show
  1. {creativepython-0.2.2/src/CreativePython.egg-info → creativepython-0.3.1}/PKG-INFO +3 -3
  2. {creativepython-0.2.2 → creativepython-0.3.1}/README.md +2 -2
  3. {creativepython-0.2.2 → creativepython-0.3.1}/pyproject.toml +1 -1
  4. {creativepython-0.2.2 → creativepython-0.3.1/src/CreativePython.egg-info}/PKG-INFO +3 -3
  5. {creativepython-0.2.2 → creativepython-0.3.1}/src/gui.py +13 -25
  6. {creativepython-0.2.2 → creativepython-0.3.1}/LICENSE +0 -0
  7. {creativepython-0.2.2 → creativepython-0.3.1}/LICENSE-PSF +0 -0
  8. {creativepython-0.2.2 → creativepython-0.3.1}/MANIFEST.in +0 -0
  9. {creativepython-0.2.2 → creativepython-0.3.1}/setup.cfg +0 -0
  10. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/__init__.py +0 -0
  11. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/.DS_Store +0 -0
  12. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/ArvoPart.CantusInMemoriam.py +0 -0
  13. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/ConcretPH_Xenakis.py +0 -0
  14. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/DeepPurple.SmokeOnTheWater.py +0 -0
  15. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/JS_Bach.Canon.TriasHarmonica.BWV1072.py +0 -0
  16. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/JS_Bach.Canon_1.GoldbergGround.BWV1087.py +0 -0
  17. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/Mozart.MusikalischesWurfelspiel.py +0 -0
  18. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/PierreCage.StructuresPourDeuxChances.py +0 -0
  19. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/RGB_Display.py +0 -0
  20. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/TerryRiley.InC.py +0 -0
  21. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/arpeggiator1.py +0 -0
  22. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/arpeggiator2.py +0 -0
  23. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/autumnLeaves.py +0 -0
  24. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/axelF.py +0 -0
  25. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/biosignals.txt +0 -0
  26. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/boids.py +0 -0
  27. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/brownianMelody.py +0 -0
  28. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/changesByTupac.py +0 -0
  29. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/clementine.py +0 -0
  30. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/continuousPitchInstrumentAudio.py +0 -0
  31. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/drumExample.py +0 -0
  32. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/drumMachinePattern1.py +0 -0
  33. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/drumsComeAlive.py +0 -0
  34. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/fibonacci.py +0 -0
  35. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/findPitchOctave.py +0 -0
  36. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/furElise.py +0 -0
  37. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/generativeMusic.py +0 -0
  38. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/goldenTree.py +0 -0
  39. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/guidoWordMusic.py +0 -0
  40. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/harmonicesMundi.py +0 -0
  41. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/harmonicesMundiRevisisted.py +0 -0
  42. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/harmonographLateral.py +0 -0
  43. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/harmonographRotary.py +0 -0
  44. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoBlackDown.png +0 -0
  45. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoOctave.png +0 -0
  46. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoParallel.py +0 -0
  47. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoSimple.py +0 -0
  48. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoWhiteCenterDown.png +0 -0
  49. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoWhiteLeftDown.png +0 -0
  50. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/iPianoWhiteRightDown.png +0 -0
  51. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiIn1.py +0 -0
  52. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiIn2.py +0 -0
  53. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiIn3.py +0 -0
  54. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiOut.a.py +0 -0
  55. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiOut.b.py +0 -0
  56. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiSynthesizer.py +0 -0
  57. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/midiSynthesizer2.py +0 -0
  58. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/moondog-bird_slament.wav +0 -0
  59. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/musicalSphere.py +0 -0
  60. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/note.py +0 -0
  61. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/octoplus.py +0 -0
  62. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/oscIn1.py +0 -0
  63. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/oscIn2.py +0 -0
  64. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/pentatonicMelody.py +0 -0
  65. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/pianoPhase.py +0 -0
  66. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/pianoRollGenerator.py +0 -0
  67. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/playNote.py +0 -0
  68. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/proteinMusic.py +0 -0
  69. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/randomCircles.py +0 -0
  70. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/randomCirclesThroughMidiInput.py +0 -0
  71. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/randomCirclesTimed.py +0 -0
  72. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/retrograde.a.py +0 -0
  73. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/retrograde.b.py +0 -0
  74. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/retrograde.c.py +0 -0
  75. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/rowYourBoat.py +0 -0
  76. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/scaleTutor.py +0 -0
  77. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sierpinskiTriangle.py +0 -0
  78. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/simpleButtonInstrument.py +0 -0
  79. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/simpleCircleInstrument.py +0 -0
  80. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sineMelody.py +0 -0
  81. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sineMelodyPlus.py +0 -0
  82. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sliderControl.py +0 -0
  83. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sonifyBiosignals.py +0 -0
  84. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/sonifyImage.py +0 -0
  85. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/soundscapeLoutrakiSunset.jpg +0 -0
  86. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/stringQuartet.py +0 -0
  87. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/textMusic.py +0 -0
  88. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/theWayItIs.py +0 -0
  89. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/themeAndVariations.py +0 -0
  90. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/throwingDice.py +0 -0
  91. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/windChimes.py +0 -0
  92. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/examples/zipfMetrics.py +0 -0
  93. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/resources/.DS_Store +0 -0
  94. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/resources/550973__luizguilherme_a__clean-guitarr-riff.mp3 +0 -0
  95. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/resources/chopper.jpg +0 -0
  96. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython/resources/de-brazzas-monkey.jpg +0 -0
  97. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython.egg-info/SOURCES.txt +0 -0
  98. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython.egg-info/dependency_links.txt +0 -0
  99. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython.egg-info/requires.txt +0 -0
  100. {creativepython-0.2.2 → creativepython-0.3.1}/src/CreativePython.egg-info/top_level.txt +0 -0
  101. {creativepython-0.2.2 → creativepython-0.3.1}/src/_RealtimeAudioPlayer.py +0 -0
  102. {creativepython-0.2.2 → creativepython-0.3.1}/src/bin/libportaudio.2.dylib +0 -0
  103. {creativepython-0.2.2 → creativepython-0.3.1}/src/iannix.py +0 -0
  104. {creativepython-0.2.2 → creativepython-0.3.1}/src/image.py +0 -0
  105. {creativepython-0.2.2 → creativepython-0.3.1}/src/markov.py +0 -0
  106. {creativepython-0.2.2 → creativepython-0.3.1}/src/midi.py +0 -0
  107. {creativepython-0.2.2 → creativepython-0.3.1}/src/music.py +0 -0
  108. {creativepython-0.2.2 → creativepython-0.3.1}/src/osc.py +0 -0
  109. {creativepython-0.2.2 → creativepython-0.3.1}/src/timer.py +0 -0
  110. {creativepython-0.2.2 → creativepython-0.3.1}/src/zipf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CreativePython
3
- Version: 0.2.2
3
+ Version: 0.3.1
4
4
  Summary: A Python-based software environment for developing algorithmic art projects.
5
5
  Author-email: "Dr. Bill Manaris" <manaris@cofc.edu>, Taj Ballinger <ballingertj@g.cofc.edu>, Trevor Ritchie <ritchiets@g.cofc.edu>
6
6
  License: MIT License
@@ -76,8 +76,8 @@ CreativePython is distributed under the MIT License.
76
76
 
77
77
  - [Homepage](https://jythonmusic.me/)
78
78
  - [Download All Examples [ZIP]](https://www.dropbox.com/scl/fo/rvc8m8pt4m0281qn0t4oi/AO2Y0W2qOrOcurlQmLa7M54?rlkey=0sf80bmov135tc85dk9k7ats6&dl=1)
79
- - [Report a Bug (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
80
- - [Request a Feature (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
79
+ - [Report a Bug (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
80
+ - [Request a Feature (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
81
81
 
82
82
  This package is still under development.
83
83
 
@@ -6,8 +6,8 @@ CreativePython is distributed under the MIT License.
6
6
 
7
7
  - [Homepage](https://jythonmusic.me/)
8
8
  - [Download All Examples [ZIP]](https://www.dropbox.com/scl/fo/rvc8m8pt4m0281qn0t4oi/AO2Y0W2qOrOcurlQmLa7M54?rlkey=0sf80bmov135tc85dk9k7ats6&dl=1)
9
- - [Report a Bug (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
10
- - [Request a Feature (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
9
+ - [Report a Bug (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
10
+ - [Request a Feature (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
11
11
 
12
12
  This package is still under development.
13
13
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "CreativePython"
7
- version = "0.2.2"
7
+ version = "0.3.1"
8
8
  description = "A Python-based software environment for developing algorithmic art projects."
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CreativePython
3
- Version: 0.2.2
3
+ Version: 0.3.1
4
4
  Summary: A Python-based software environment for developing algorithmic art projects.
5
5
  Author-email: "Dr. Bill Manaris" <manaris@cofc.edu>, Taj Ballinger <ballingertj@g.cofc.edu>, Trevor Ritchie <ritchiets@g.cofc.edu>
6
6
  License: MIT License
@@ -76,8 +76,8 @@ CreativePython is distributed under the MIT License.
76
76
 
77
77
  - [Homepage](https://jythonmusic.me/)
78
78
  - [Download All Examples [ZIP]](https://www.dropbox.com/scl/fo/rvc8m8pt4m0281qn0t4oi/AO2Y0W2qOrOcurlQmLa7M54?rlkey=0sf80bmov135tc85dk9k7ats6&dl=1)
79
- - [Report a Bug (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
80
- - [Request a Feature (email link)](mailto:manaris@cofc.edu?cc=ballingertj@g.cofc.edu,ritchiets@g.cofc.edu&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
79
+ - [Report a Bug (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Bug%20Report&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0APython%20Version:%20(e.g.%203.11)%0D%0A%0D%0ASummary:%0D%0A%0D%0ASteps%20to%20Reproduce:%0D%0A1.%20%0D%0A2.%20%0D%0A3.%20%0D%0A%0D%0AExpected%20Result:%0D%0A%0D%0AActual%20Result:%0D%0A%0D%0AError%20Messages%20or%20Logs:%0D%0A)
80
+ - [Request a Feature (email link)](mailto:creativepythoncofc@gmail.com&subject=[CreativePython]%20Feature%20Request&body=CreativePython%20Version:%20(e.g.%200.1.8)%0D%0AOperating%20System:%20(e.g.%20macOS%2015,%20Windows%2011,%20Ubuntu%2024.04)%0D%0A%0D%0AFeature%20Name:%0D%0A%0D%0ADescription:%0D%0A%0D%0AExample%20Use%20Case%20or%20Scenario:%0D%0A%0D%0ARelated%20Modules%20or%20Functions:%0D%0A%0D%0A)
81
81
 
82
82
  This package is still under development.
83
83
 
@@ -589,29 +589,27 @@ class EventDispatcher(_QtCore.QObject):
589
589
  if event.type.startswith('mouse'):
590
590
  # mouse events only deliver to items at the event location
591
591
  x, y = event.args
592
+ i = 0
592
593
 
593
- if len(candidateList) == 1: # don't search a single-item list
594
- item = candidateList[0]
595
- if item.contains(x, y): # ensure event happens in item area
596
- item._receiveEvent(event) # send event - event.handled is updated if received
597
-
598
- else:
599
- i = 0
600
- while not event.handled and i < len(candidateList):
601
- item = candidateList[i]
602
- if item.contains(x, y): # ensure event happens in item area
603
- item._receiveEvent(event) # send event - event.handled is updated if received
604
- i = i + 1
594
+ while not event.handled and (i < len(candidateList)):
595
+ item = candidateList[i]
596
+ if item.contains(x, y):
597
+ if isinstance(item, Group):
598
+ item._eventDispatcher.deliverEvent(event) # propagate down to Group children
599
+ item._receiveEvent(event) # deliver to item, whether the event was handled or not
600
+ i = i + 1
605
601
 
606
602
  else:
607
603
  # key events can deliver to any item, regardless of location
608
604
  # (we still stop looking after the event is handled!)
609
605
  i = 0
610
- while not event.handled and i < len(candidateList):
611
- candidateList[i]._receiveEvent(event) # send event - event.handled is updated if received
606
+ while not event.handled and (i < len(candidateList)):
607
+ item = candidateList[i]
608
+ if isinstance(item, Group):
609
+ item._eventDispatcher.deliverEvent(event) # propagate down to Group children
610
+ item._receiveEvent(event) # deliver to item, whether the event was handled or not
612
611
  i = i + 1
613
612
 
614
-
615
613
  def _handleQMousePress(self, x, y):
616
614
  """
617
615
  Generates mouseDown events and propagates them.
@@ -1830,16 +1828,6 @@ class Group(Drawable, Interactable):
1830
1828
  return f'Group(items = {self._itemList})'
1831
1829
 
1832
1830
  ##### INTERNAL METHODS
1833
- def _receiveEvent(self, event):
1834
- """
1835
- Deliver events to items in this group.
1836
- Event behavior should be the same as if the items were on the Display,
1837
- but because the Display isn't directly aware of these items, we handle
1838
- events here.
1839
- """
1840
- Interactable._receiveEvent(self, event) # first, the group tries to handle the event
1841
- #TODO: connect to item event handlers
1842
-
1843
1831
  def _calculateSize(self):
1844
1832
  if len(self._itemList) == 0:
1845
1833
  self._width = 0
File without changes
File without changes