Skip to content

Commit

Permalink
Add string parsing to index range selection widget
Browse files Browse the repository at this point in the history
  • Loading branch information
MBartkowiakSTFC committed Feb 14, 2025
1 parent 5371440 commit d8604f9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,13 @@ def __init__(self, trajectory):
def rebuild_selection(self, last_operation: str):
self._selection = ReusableSelection()
self._current_selection = set()
total_dict = {}
for row in range(self.rowCount()):
index = self.index(row, 0)
item = self.itemFromIndex(index)
json_string = item.text()
self._selection.load_from_json(json_string)
total_dict[row] = json.loads(json_string)
self._selection.load_from_json(json.dumps(total_dict))
self._current_selection = self._selection.select_in_trajectory(self._trajectory)
if last_operation:
try:
Expand Down
5 changes: 4 additions & 1 deletion MDANSE_GUI/Src/MDANSE_GUI/Widgets/SelectionWidgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,15 +170,18 @@ def switch_mode(self, new_mode: str):
if new_mode == "list":
self.selection_field.setPlaceholderText("0,1,2")
self.selection_keyword = "index_list"
self.selection_separator = ','
if new_mode == "range":
self.selection_field.setPlaceholderText("0-20")
self.selection_keyword = "index_range"
self.selection_separator = '-'
if new_mode == "slice":
self.selection_field.setPlaceholderText("first:last:step")
self.selection_keyword = "index_slice"
self.selection_separator = ':'

def parameter_dictionary(self):
function_parameters = {"function_name": "select_atoms"}
selection = self.selection_field.text()
function_parameters[self.selection_keyword] = selection
function_parameters[self.selection_keyword] = [int(x) for x in selection.split(self.selection_separator)]
return function_parameters

0 comments on commit d8604f9

Please sign in to comment.