easycoder 250809.1__tar.gz → 250809.3__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.
- {easycoder-250809.1 → easycoder-250809.3}/PKG-INFO +2 -3
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/__init__.py +1 -1
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_keyboard.py +38 -10
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_program.py +1 -1
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_pyside.py +6 -12
- {easycoder-250809.1 → easycoder-250809.3}/.gitignore +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/LICENSE +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/README.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/backdrop.jpg +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/README.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/README.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/boolean.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/empty.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/ends.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/even.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/exists.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/greater.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/hasProperty.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/includes.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/is.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/less.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/list.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/none.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/not.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/numeric.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/object.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/odd.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/starts.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/conditions/string.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/add.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/append.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/assert.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/begin.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/clear.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/close.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/create.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/debug.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/decrement.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/delete.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/divide.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/exit.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/file.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/fork.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/get.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/go.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/gosub.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/if.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/import.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/increment.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/index.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/init.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/input.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/load.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/lock.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/log.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/module.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/multiply.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/negate.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/on.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/open.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/pop.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/post.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/print.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/push.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/put.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/read.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/release.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/replace.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/return.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/run.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/save.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/script.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/send.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/set.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/shuffle.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/split.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/stack.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/stop.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/system.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/take.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/toggle.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/truncate.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/unlock.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/use.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/variable.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/wait.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/while.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/keywords/write.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/arg.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/args.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/cos.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/datime.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/decode.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/element.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/elements.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/empty.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/encode.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/error.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/files.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/float.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/from.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/hash.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/index.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/integer.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/json.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/keys.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/left.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/length.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/lowercase.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/memory.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/modification.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/modulo.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/newline.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/now.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/position.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/property.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/random.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/right.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/sin.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/stringify.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/tab.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/tan.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/timestamp.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/today.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/trim.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/type.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/uppercase.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/value.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/core/values/weekday.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/README.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/attach.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/close.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/create.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/ellipse.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/image.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/move.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/on.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/rectangle.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/render.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/run.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/set.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/keywords/text.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/values/attribute.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/doc/graphics/values/window.md +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/close.png +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_classes.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_compiler.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_condition.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_core.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_handler.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_timestamp.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/easycoder/ec_value.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/images/Semoigo Dawn.jpg +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/json/graphics-demo.json +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/plugins/ec_keyboard.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/plugins/ec_p100.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/plugins/ec_pyside6.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/plugins/points.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/plugins/sql.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/pyproject.toml +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/benchmark.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/config.ecg +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/ec_keyboard.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/fizzbuzz.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/hello.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/points.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/test.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/scripts/tests.ecs +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/test.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/testrc.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/testsql.py +0 -0
- {easycoder-250809.1 → easycoder-250809.3}/testui.py +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: easycoder
|
|
3
|
-
Version: 250809.
|
|
3
|
+
Version: 250809.3
|
|
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>
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
-
License-File: LICENSE
|
|
10
9
|
Requires-Dist: pytz
|
|
11
10
|
Requires-Dist: requests
|
|
12
11
|
Requires-Dist: psutil
|
|
@@ -70,7 +70,6 @@ class Keyboard(Handler):
|
|
|
70
70
|
self.program = program
|
|
71
71
|
self.keyboardType = keyboardType
|
|
72
72
|
self.receivers = receivers
|
|
73
|
-
self.selectedReceiver = receivers[0]
|
|
74
73
|
|
|
75
74
|
dialog = QDialog(caller)
|
|
76
75
|
self.dialog = dialog
|
|
@@ -80,7 +79,6 @@ class Keyboard(Handler):
|
|
|
80
79
|
dialog.setModal(True)
|
|
81
80
|
dialog.setFixedWidth(500)
|
|
82
81
|
dialog.setStyleSheet('background-color: white;border:1px solid black;')
|
|
83
|
-
self.originalText = self.selectedReceiver.getContent()
|
|
84
82
|
|
|
85
83
|
# Add drop shadow
|
|
86
84
|
shadow = QGraphicsDropShadowEffect(dialog)
|
|
@@ -96,7 +94,18 @@ class Keyboard(Handler):
|
|
|
96
94
|
border.iconClicked.connect(self.reject)
|
|
97
95
|
layout.addWidget(border)
|
|
98
96
|
layout.addLayout(receiverLayout)
|
|
99
|
-
|
|
97
|
+
self.vk = VirtualKeyboard(keyboardType, 42, receivers[0], dialog.accept)
|
|
98
|
+
layout.addWidget(self.vk)
|
|
99
|
+
|
|
100
|
+
restore = []
|
|
101
|
+
index = 0
|
|
102
|
+
for receiver in receivers:
|
|
103
|
+
receiver.field.setContainer(self)
|
|
104
|
+
receiver.index = index
|
|
105
|
+
restore.append(receiver.getContent())
|
|
106
|
+
index += 1
|
|
107
|
+
self.restore = restore
|
|
108
|
+
self.selectedReceiver = receivers[0]
|
|
100
109
|
|
|
101
110
|
# Position at bottom of parent window
|
|
102
111
|
dialog.show() # Ensure geometry is calculated
|
|
@@ -108,8 +117,24 @@ class Keyboard(Handler):
|
|
|
108
117
|
|
|
109
118
|
dialog.exec()
|
|
110
119
|
|
|
120
|
+
def setClickSource(self, field):
|
|
121
|
+
receivers = self.receivers
|
|
122
|
+
index = 0
|
|
123
|
+
for receiver in receivers:
|
|
124
|
+
if receiver.field == field:
|
|
125
|
+
self.selectedReceiver = receiver
|
|
126
|
+
break
|
|
127
|
+
index += 1
|
|
128
|
+
|
|
111
129
|
def reject(self):
|
|
112
|
-
self.selectedReceiver
|
|
130
|
+
selectedReceiver = self.selectedReceiver
|
|
131
|
+
receivers = self.receivers
|
|
132
|
+
index = 0
|
|
133
|
+
for receiver in receivers:
|
|
134
|
+
if receiver == selectedReceiver:
|
|
135
|
+
break
|
|
136
|
+
index += 1
|
|
137
|
+
receiver.setContent(self.restore[index])
|
|
113
138
|
self.dialog.reject()
|
|
114
139
|
|
|
115
140
|
class TextReceiver():
|
|
@@ -185,11 +210,11 @@ class KeyboardView(QVBoxLayout):
|
|
|
185
210
|
self.addLayout(row)
|
|
186
211
|
|
|
187
212
|
class VirtualKeyboard(QStackedWidget):
|
|
188
|
-
def __init__(self, keyboardType, buttonHeight,
|
|
213
|
+
def __init__(self, keyboardType, buttonHeight, receiver, onFinished):
|
|
189
214
|
super().__init__()
|
|
190
215
|
self.keyboardType = keyboardType
|
|
191
216
|
self.buttonHeight = buttonHeight
|
|
192
|
-
self.
|
|
217
|
+
self.receiver = receiver
|
|
193
218
|
self.onFinished = onFinished
|
|
194
219
|
self.setStyleSheet('background-color: #ccc;border:none;')
|
|
195
220
|
|
|
@@ -410,11 +435,14 @@ class VirtualKeyboard(QStackedWidget):
|
|
|
410
435
|
container = QWidget()
|
|
411
436
|
container.setLayout(keyboardView)
|
|
412
437
|
self.addWidget(container)
|
|
438
|
+
|
|
439
|
+
def setClickSource(self, receiver):
|
|
440
|
+
self.receiver = receiver
|
|
413
441
|
|
|
414
442
|
# Callback functions
|
|
415
443
|
def onClickChar(self,keycode):
|
|
416
444
|
# print(f"Key pressed: {keycode}")
|
|
417
|
-
self.
|
|
445
|
+
self.receiver.addCharacter(keycode)
|
|
418
446
|
|
|
419
447
|
def onClickShift(self,keycode):
|
|
420
448
|
# print("Shift pressed")
|
|
@@ -437,13 +465,13 @@ class VirtualKeyboard(QStackedWidget):
|
|
|
437
465
|
|
|
438
466
|
def onClickBack(self,keycode):
|
|
439
467
|
# print("Backspace pressed")
|
|
440
|
-
self.
|
|
468
|
+
self.receiver.backspace()
|
|
441
469
|
|
|
442
470
|
def onClickSpace(self,keycode):
|
|
443
471
|
# print("Space pressed")
|
|
444
|
-
self.
|
|
472
|
+
self.receiver.addCharacter(' ')
|
|
445
473
|
|
|
446
474
|
def onClickEnter(self,keycode):
|
|
447
475
|
# print("Enter pressed")
|
|
448
|
-
if self.keyboardType == 'multiline': self.
|
|
476
|
+
if self.keyboardType == 'multiline': self.receiver.addCharacter('\n')
|
|
449
477
|
else: self.onFinished()
|
|
@@ -84,32 +84,28 @@ class Graphics(Handler):
|
|
|
84
84
|
|
|
85
85
|
def __init__(self):
|
|
86
86
|
super().__init__()
|
|
87
|
-
self.program = None
|
|
88
87
|
|
|
89
|
-
def
|
|
90
|
-
self.
|
|
91
|
-
self.pc = pc
|
|
88
|
+
def setContainer(self, container):
|
|
89
|
+
self.container = container
|
|
92
90
|
|
|
93
91
|
def mousePressEvent(self, event):
|
|
94
92
|
self.clicked.emit()
|
|
95
93
|
super().mousePressEvent(event)
|
|
96
|
-
if self.
|
|
94
|
+
if self.container != None: self.container.setClickSource(self)
|
|
97
95
|
|
|
98
96
|
class ClickablePlainTextEdit(QPlainTextEdit):
|
|
99
97
|
clicked = Signal()
|
|
100
98
|
|
|
101
99
|
def __init__(self):
|
|
102
100
|
super().__init__()
|
|
103
|
-
self.program = None
|
|
104
101
|
|
|
105
|
-
def
|
|
106
|
-
self.
|
|
107
|
-
self.pc = pc
|
|
102
|
+
def setContainer(self, container):
|
|
103
|
+
self.container = container
|
|
108
104
|
|
|
109
105
|
def mousePressEvent(self, event):
|
|
110
106
|
self.clicked.emit()
|
|
111
107
|
super().mousePressEvent(event)
|
|
112
|
-
if self.
|
|
108
|
+
if self.container != None: self.container.setClickSource(self)
|
|
113
109
|
|
|
114
110
|
#############################################################################
|
|
115
111
|
# Keyword handlers
|
|
@@ -816,8 +812,6 @@ class Graphics(Handler):
|
|
|
816
812
|
keyword = record['keyword']
|
|
817
813
|
if keyword == 'pushbutton':
|
|
818
814
|
widget.clicked.connect(lambda: self.run(command['goto']))
|
|
819
|
-
if keyword in ['lineinput', 'multiline']:
|
|
820
|
-
widget.setCallback(self.program, command['goto'])
|
|
821
815
|
elif keyword == 'combobox':
|
|
822
816
|
widget.currentIndexChanged.connect(lambda: self.run(command['goto']))
|
|
823
817
|
elif keyword == 'listbox':
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|