Skip to content

Commit 6b17bbc

Browse files
authored
Merge pull request #27 from molssi-seamm/dev
Bugfix: problem deleting 2 or more keywords
2 parents 308813c + 1a7a052 commit 6b17bbc

File tree

2 files changed

+29
-10
lines changed

2 files changed

+29
-10
lines changed

HISTORY.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
History
33
=======
44

5-
0.1.0 (2019-04-02)
6-
------------------
5+
2022.10.28 -- Bugfix: problem deleting 2 or more keywords
6+
There was a crash if you deleted a second keyword in the Keywords tab of
7+
calculation.
78

8-
* First release on PyPI.
9+
0.1.0 (2019-04-02)
10+
* First release on PyPI.

seamm_widgets/keywords.py

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,12 @@ def layout_keywords(self):
163163
else:
164164
widgets = d["widgets"]
165165

166-
if "remove" not in widgets:
167-
# The button to remove a row...
166+
# The button to remove a row...
167+
if "remove" in widgets:
168+
widgets["remove"].configure(
169+
command=lambda row=row: self.remove_keyword(row)
170+
)
171+
else:
168172
widgets["remove"] = ttk.Button(
169173
frame,
170174
text="-",
@@ -173,7 +177,20 @@ def layout_keywords(self):
173177
takefocus=True,
174178
)
175179

176-
if "entry" not in widgets:
180+
if "entry" in widgets:
181+
widgets["entry"].configure(
182+
validatecommand=(
183+
self.keyword_cb,
184+
keyword,
185+
row,
186+
"%W",
187+
"%P",
188+
"%s",
189+
"%d",
190+
"%S",
191+
)
192+
)
193+
else:
177194
# the name of the keyword
178195
widgets["entry"] = ttk.Entry(
179196
frame,
@@ -192,11 +209,11 @@ def layout_keywords(self):
192209
takefocus=True,
193210
style="Red.TEntry",
194211
)
195-
widgets["entry"].bind(
196-
"<KeyPress-Tab>",
197-
lambda event=None, row=row: self.handle_tab(event, row),
198-
)
199212
widgets["entry"].insert("end", keyword)
213+
widgets["entry"].bind(
214+
"<KeyPress-Tab>",
215+
lambda event=None, row=row: self.handle_tab(event, row),
216+
)
200217

201218
self.logger.debug(" widgets: " + str(widgets))
202219
widgets["remove"].grid(row=row, column=0, sticky=tk.W)

0 commit comments

Comments
 (0)