Skip to content

Commit 330f5fa

Browse files
ToddTodd
Todd
authored and
Todd
committed
BF: Reset textbox after each iteration
1 parent e518319 commit 330f5fa

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

Diff for: psychopy/experiment/components/textbox/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ def writeRoutineEndCode(self, buff):
241241
else:
242242
currLoop = self.exp._expHandler
243243
if self.params['editable']:
244-
buff.writeIndented("%s.addData('%s.text',%s.text)\n" %
245-
(currLoop.params['name'], name, name))
244+
buff.writeIndentedLines(f"{currLoop.params['name']}.addData('{name}.text',{name}.text)\n"
245+
f"{name}.reset()\n")
246246
# get parent to write code too (e.g. store onset/offset times)
247247
super().writeRoutineEndCode(buff)
248248

Diff for: psychopy/visual/textbox2/textbox2.py

+9
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ def __init__(self, win, text, font,
208208
'fillColor': fillColor,
209209
}
210210
# then layout the text (setting text triggers _layout())
211+
self.startText = text
211212
self.text = text if text is not None else ""
212213

213214
# caret
@@ -538,6 +539,14 @@ def draw(self):
538539

539540
gl.glPopMatrix()
540541

542+
def reset(self):
543+
# Reset contents
544+
self.text = self.startText
545+
# Make sure box is still editable (if needed)
546+
if self.editable and self not in self.win._editableChildren: # may yet gain focus if the first editable obj
547+
self.win.addEditable(self)
548+
549+
541550
def contains(self, x, y=None, units=None, tight=False):
542551
"""Returns True if a point x,y is inside the stimulus' border.
543552

0 commit comments

Comments
 (0)