easycoder 250811.1__tar.gz → 250812.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.

Potentially problematic release.


This version of easycoder might be problematic. Click here for more details.

Files changed (173) hide show
  1. {easycoder-250811.1 → easycoder-250812.1}/PKG-INFO +1 -1
  2. {easycoder-250811.1 → easycoder-250812.1}/easycoder/__init__.py +1 -1
  3. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_keyboard.py +26 -13
  4. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_pyside.py +2 -0
  5. easycoder-250812.1/easycoder/tick.png +0 -0
  6. {easycoder-250811.1 → easycoder-250812.1}/.gitignore +0 -0
  7. {easycoder-250811.1 → easycoder-250812.1}/LICENSE +0 -0
  8. {easycoder-250811.1 → easycoder-250812.1}/README.md +0 -0
  9. {easycoder-250811.1 → easycoder-250812.1}/backdrop.jpg +0 -0
  10. {easycoder-250811.1 → easycoder-250812.1}/doc/README.md +0 -0
  11. {easycoder-250811.1 → easycoder-250812.1}/doc/core/README.md +0 -0
  12. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/boolean.md +0 -0
  13. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/empty.md +0 -0
  14. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/ends.md +0 -0
  15. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/even.md +0 -0
  16. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/exists.md +0 -0
  17. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/greater.md +0 -0
  18. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/hasProperty.md +0 -0
  19. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/includes.md +0 -0
  20. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/is.md +0 -0
  21. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/less.md +0 -0
  22. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/list.md +0 -0
  23. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/none.md +0 -0
  24. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/not.md +0 -0
  25. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/numeric.md +0 -0
  26. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/object.md +0 -0
  27. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/odd.md +0 -0
  28. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/starts.md +0 -0
  29. {easycoder-250811.1 → easycoder-250812.1}/doc/core/conditions/string.md +0 -0
  30. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/add.md +0 -0
  31. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/append.md +0 -0
  32. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/assert.md +0 -0
  33. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/begin.md +0 -0
  34. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/clear.md +0 -0
  35. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/close.md +0 -0
  36. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/create.md +0 -0
  37. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/debug.md +0 -0
  38. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/decrement.md +0 -0
  39. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/delete.md +0 -0
  40. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/divide.md +0 -0
  41. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/exit.md +0 -0
  42. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/file.md +0 -0
  43. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/fork.md +0 -0
  44. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/get.md +0 -0
  45. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/go.md +0 -0
  46. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/gosub.md +0 -0
  47. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/if.md +0 -0
  48. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/import.md +0 -0
  49. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/increment.md +0 -0
  50. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/index.md +0 -0
  51. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/init.md +0 -0
  52. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/input.md +0 -0
  53. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/load.md +0 -0
  54. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/lock.md +0 -0
  55. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/log.md +0 -0
  56. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/module.md +0 -0
  57. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/multiply.md +0 -0
  58. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/negate.md +0 -0
  59. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/on.md +0 -0
  60. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/open.md +0 -0
  61. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/pop.md +0 -0
  62. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/post.md +0 -0
  63. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/print.md +0 -0
  64. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/push.md +0 -0
  65. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/put.md +0 -0
  66. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/read.md +0 -0
  67. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/release.md +0 -0
  68. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/replace.md +0 -0
  69. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/return.md +0 -0
  70. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/run.md +0 -0
  71. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/save.md +0 -0
  72. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/script.md +0 -0
  73. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/send.md +0 -0
  74. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/set.md +0 -0
  75. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/shuffle.md +0 -0
  76. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/split.md +0 -0
  77. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/stack.md +0 -0
  78. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/stop.md +0 -0
  79. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/system.md +0 -0
  80. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/take.md +0 -0
  81. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/toggle.md +0 -0
  82. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/truncate.md +0 -0
  83. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/unlock.md +0 -0
  84. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/use.md +0 -0
  85. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/variable.md +0 -0
  86. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/wait.md +0 -0
  87. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/while.md +0 -0
  88. {easycoder-250811.1 → easycoder-250812.1}/doc/core/keywords/write.md +0 -0
  89. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/arg.md +0 -0
  90. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/args.md +0 -0
  91. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/cos.md +0 -0
  92. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/datime.md +0 -0
  93. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/decode.md +0 -0
  94. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/element.md +0 -0
  95. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/elements.md +0 -0
  96. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/empty.md +0 -0
  97. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/encode.md +0 -0
  98. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/error.md +0 -0
  99. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/files.md +0 -0
  100. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/float.md +0 -0
  101. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/from.md +0 -0
  102. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/hash.md +0 -0
  103. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/index.md +0 -0
  104. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/integer.md +0 -0
  105. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/json.md +0 -0
  106. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/keys.md +0 -0
  107. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/left.md +0 -0
  108. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/length.md +0 -0
  109. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/lowercase.md +0 -0
  110. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/memory.md +0 -0
  111. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/modification.md +0 -0
  112. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/modulo.md +0 -0
  113. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/newline.md +0 -0
  114. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/now.md +0 -0
  115. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/position.md +0 -0
  116. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/property.md +0 -0
  117. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/random.md +0 -0
  118. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/right.md +0 -0
  119. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/sin.md +0 -0
  120. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/stringify.md +0 -0
  121. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/tab.md +0 -0
  122. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/tan.md +0 -0
  123. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/timestamp.md +0 -0
  124. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/today.md +0 -0
  125. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/trim.md +0 -0
  126. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/type.md +0 -0
  127. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/uppercase.md +0 -0
  128. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/value.md +0 -0
  129. {easycoder-250811.1 → easycoder-250812.1}/doc/core/values/weekday.md +0 -0
  130. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/README.md +0 -0
  131. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/attach.md +0 -0
  132. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/close.md +0 -0
  133. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/create.md +0 -0
  134. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/ellipse.md +0 -0
  135. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/image.md +0 -0
  136. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/move.md +0 -0
  137. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/on.md +0 -0
  138. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/rectangle.md +0 -0
  139. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/render.md +0 -0
  140. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/run.md +0 -0
  141. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/set.md +0 -0
  142. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/keywords/text.md +0 -0
  143. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/values/attribute.md +0 -0
  144. {easycoder-250811.1 → easycoder-250812.1}/doc/graphics/values/window.md +0 -0
  145. {easycoder-250811.1 → easycoder-250812.1}/easycoder/close.png +0 -0
  146. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_classes.py +0 -0
  147. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_compiler.py +0 -0
  148. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_condition.py +0 -0
  149. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_core.py +0 -0
  150. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_handler.py +0 -0
  151. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_program.py +0 -0
  152. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_timestamp.py +0 -0
  153. {easycoder-250811.1 → easycoder-250812.1}/easycoder/ec_value.py +0 -0
  154. {easycoder-250811.1 → easycoder-250812.1}/images/Semoigo Dawn.jpg +0 -0
  155. {easycoder-250811.1 → easycoder-250812.1}/json/graphics-demo.json +0 -0
  156. {easycoder-250811.1 → easycoder-250812.1}/plugins/ec_keyboard.py +0 -0
  157. {easycoder-250811.1 → easycoder-250812.1}/plugins/ec_p100.py +0 -0
  158. {easycoder-250811.1 → easycoder-250812.1}/plugins/ec_pyside6.py +0 -0
  159. {easycoder-250811.1 → easycoder-250812.1}/plugins/points.py +0 -0
  160. {easycoder-250811.1 → easycoder-250812.1}/plugins/sql.py +0 -0
  161. {easycoder-250811.1 → easycoder-250812.1}/pyproject.toml +0 -0
  162. {easycoder-250811.1 → easycoder-250812.1}/scripts/benchmark.ecs +0 -0
  163. {easycoder-250811.1 → easycoder-250812.1}/scripts/config.ecg +0 -0
  164. {easycoder-250811.1 → easycoder-250812.1}/scripts/ec_keyboard.py +0 -0
  165. {easycoder-250811.1 → easycoder-250812.1}/scripts/fizzbuzz.ecs +0 -0
  166. {easycoder-250811.1 → easycoder-250812.1}/scripts/hello.ecs +0 -0
  167. {easycoder-250811.1 → easycoder-250812.1}/scripts/points.ecs +0 -0
  168. {easycoder-250811.1 → easycoder-250812.1}/scripts/test.ecs +0 -0
  169. {easycoder-250811.1 → easycoder-250812.1}/scripts/tests.ecs +0 -0
  170. {easycoder-250811.1 → easycoder-250812.1}/test.py +0 -0
  171. {easycoder-250811.1 → easycoder-250812.1}/testrc.py +0 -0
  172. {easycoder-250811.1 → easycoder-250812.1}/testsql.py +0 -0
  173. {easycoder-250811.1 → easycoder-250812.1}/testui.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easycoder
3
- Version: 250811.1
3
+ Version: 250812.1
4
4
  Summary: Rapid scripting in English
5
5
  Keywords: compiler,scripting,prototyping,programming,coding,python,low code,hypertalk,computer language,learn to code
6
6
  Author-email: Graham Trott <gtanyware@gmail.com>
@@ -11,4 +11,4 @@ from .ec_pyside import *
11
11
  from .ec_timestamp import *
12
12
  from .ec_value import *
13
13
 
14
- __version__ = "250811.1"
14
+ __version__ = "250812.1"
@@ -20,29 +20,43 @@ class Keyboard(Handler):
20
20
  iconClicked = Signal()
21
21
 
22
22
  class Border(QWidget):
23
- iconClicked = Signal()
23
+ tickClicked = Signal()
24
+ closeClicked = Signal()
24
25
 
25
26
  def __init__(self):
26
27
  super().__init__()
27
- self.setFixedHeight(25)
28
+ self.size = 40
29
+ self.setFixedHeight(self.size)
28
30
  self._drag_active = False
29
31
  self._drag_start_pos = None
30
32
 
31
33
  def paintEvent(self, event):
32
34
  painter = QPainter(self)
33
35
  painter.setRenderHint(QPainter.Antialiasing)
36
+ # Draw the tick icon
37
+ self.tick = QPixmap(f'{os.path.dirname(os.path.abspath(__file__))}/tick.png').scaled(self.size, self.size, Qt.KeepAspectRatio, Qt.SmoothTransformation)
38
+ x = 0
39
+ y = 0
40
+ painter.drawPixmap(x, y, self.tick)
34
41
  # Draw the close icon
35
- self.pixmap = QPixmap(f'{os.path.dirname(os.path.abspath(__file__))}/close.png').scaled(25, 25, Qt.KeepAspectRatio, Qt.SmoothTransformation)
36
- x = self.width() - self.pixmap.width()
42
+ self.close = QPixmap(f'{os.path.dirname(os.path.abspath(__file__))}/close.png').scaled(self.size, self.size, Qt.KeepAspectRatio, Qt.SmoothTransformation)
43
+ x = self.width() - self.close.width()
37
44
  y = 0
38
- painter.drawPixmap(x, y, self.pixmap)
45
+ painter.drawPixmap(x, y, self.close)
39
46
 
40
47
  def mousePressEvent(self, event):
41
- x = self.width() - self.pixmap.width()
48
+ # Tick icon
49
+ x = 0
50
+ y = 0
51
+ tickRect = self.tick.rect().translated(x, y)
52
+ # Close icon
53
+ x = self.width() - self.close.width()
42
54
  y = 0
43
- iconRect = self.pixmap.rect().translated(x, y)
44
- if iconRect.contains(event.pos()):
45
- self.iconClicked.emit()
55
+ closeRect = self.close.rect().translated(x, y)
56
+ if tickRect.contains(event.pos()):
57
+ self.tickClicked.emit()
58
+ if closeRect.contains(event.pos()):
59
+ self.closeClicked.emit()
46
60
  elif QRect(0, 0, self.width(), self.height()).contains(event.pos()):
47
61
  if hasattr(self.window().windowHandle(), 'startSystemMove'):
48
62
  self.window().windowHandle().startSystemMove()
@@ -68,7 +82,6 @@ class Keyboard(Handler):
68
82
  super().__init__(program.compiler)
69
83
 
70
84
  self.program = program
71
- self.keyboardType = keyboardType
72
85
  self.receivers = receivers
73
86
 
74
87
  dialog = QDialog(caller)
@@ -91,7 +104,8 @@ class Keyboard(Handler):
91
104
  layout = QVBoxLayout(dialog)
92
105
 
93
106
  border = self.Border()
94
- border.iconClicked.connect(self.reject)
107
+ border.tickClicked.connect(self.dialog.accept)
108
+ border.closeClicked.connect(self.reject)
95
109
  layout.addWidget(border)
96
110
  layout.addLayout(receiverLayout)
97
111
  self.vk = VirtualKeyboard(keyboardType, 42, receivers[0], dialog.accept)
@@ -124,7 +138,6 @@ class Keyboard(Handler):
124
138
  return
125
139
 
126
140
  def reject(self):
127
- selectedReceiver = self.vk.getReceiver()
128
141
  receivers = self.receivers
129
142
  index = 0
130
143
  for receiver in receivers:
@@ -471,5 +484,5 @@ class VirtualKeyboard(QStackedWidget):
471
484
 
472
485
  def onClickEnter(self,keycode):
473
486
  # print("Enter pressed")
474
- if self.keyboardType == 'multiline': self.receiver.addCharacter('\n')
487
+ if self.receiver.field.multiline: self.receiver.addCharacter('\n')
475
488
  else: self.onFinished()
@@ -84,6 +84,7 @@ class Graphics(Handler):
84
84
 
85
85
  def __init__(self):
86
86
  super().__init__()
87
+ self.multiline = False
87
88
 
88
89
  def setContainer(self, container):
89
90
  self.container = container
@@ -98,6 +99,7 @@ class Graphics(Handler):
98
99
 
99
100
  def __init__(self):
100
101
  super().__init__()
102
+ self.multiline = True
101
103
 
102
104
  def setContainer(self, container):
103
105
  self.container = container
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes