- GUIComponent comp = IndirectGUIComponentCreator.createComponent(toBeEdited.getSubmodelModifiable(), identifier,
- params);
- identifierPerComponent.put(comp, identifier);
- return comp;
+ boolean successful = false;
+ JsonElement params = JsonNull.INSTANCE;
+ outer: while (!successful)
+ {
+ String selected = gui.getAddListSelected();
+ try
+ {
+ ModelComponent c = addComponent(selected, params);
+ selection.clear();
+ selection.add(handleManager.getHandle(c));
+ moveSelection(x, y);
+ successful = true;
+ }
+ catch (@SuppressWarnings("unused") UnsupportedOperationException | JsonSyntaxException | NumberFormatException
+ | NullPointerException e)
+ {
+ String result = DialogManager.openMultiLineTextDialog("Add component", "Create", "Cancel", "Parameters:");
+ if (result == null)
+ break outer;
+ params = new JsonParser().parse(result);
+ }
+ }