From: Reino Ruusu Date: Fri, 27 Mar 2020 10:25:11 +0000 (+0200) Subject: Remove block of commented-out code X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F45%2F4045%2F1;p=simantics%2Fdistrict.git Remove block of commented-out code gitlab #84 Change-Id: Ia75eeb9e9a2a4dc5a339244837cd6e6f01f97891 --- diff --git a/org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/parts/EditSelectorDialog.java b/org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/parts/EditSelectorDialog.java index 4814124b..24df3cc0 100644 --- a/org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/parts/EditSelectorDialog.java +++ b/org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/parts/EditSelectorDialog.java @@ -862,462 +862,6 @@ public class EditSelectorDialog extends Dialog { condition.isInverse = isInverse; return condition; } - - /* - class ConditionDialog extends Dialog { - // Resource of the edited condition - private Resource existingResource; - - // Inverse condition button - private boolean isInverse; - private Button inverseField; - - // Condition type - private int typeIndex; - private Combo typeField; - - // Type-specific control panels under a stack layout - private Composite stackPanel; - private StackLayout stack; - - private Composite propertyPanel; - private Composite regionPanel; - private Composite routePanel; - private Composite aggregatePanel; - - // Property condition - private Double lowerLimit; - private Double upperLimit; - private String propertyName; - - private Text propertyNameField; - private Text lowerLimitField; - private Text upperLimitField; - - // Region condition - private Resource region; - private Combo regionField; - - // Route condition - private Resource route; - private Combo routeField; - - // Aggregate condition - private List subConditions; - private boolean isConjunction; - - private org.eclipse.swt.widgets.List subConditionField; - private Combo operatorField; - - public ConditionDialog(Shell shell, Condition condition) { - super(shell); - - typeIndex = 0; - isInverse = false; - propertyName = ""; - upperLimit = null; - lowerLimit = null; - subConditions = new ArrayList<>(); - - existingResource = condition != null ? condition.resource : null; - - if (condition != null) { - if (condition instanceof PropertyCondition) { - typeIndex = 0; - PropertyCondition propertyCondition = (PropertyCondition)condition; - propertyName = propertyCondition.propertyName; - upperLimit = propertyCondition.upperLimit; - lowerLimit = propertyCondition.lowerLimit; - } - else if (condition instanceof RegionCondition) { - typeIndex = 1; - region = ((RegionCondition)condition).regionResource; - } - else if (condition instanceof RouteCondition) { - typeIndex = 2; - route = ((RouteCondition)condition).routeResource; - } - else if (condition instanceof AggregateCondition) { - typeIndex = 3; - subConditions = new ArrayList<>(((AggregateCondition)condition).conditions); - isConjunction = ((AggregateCondition)condition).type == Type.CONJUNCTION; - isInverse = ((AggregateCondition)condition).type == Type.NEGATION; - } - } - } - - @Override - protected Control createDialogArea(Composite parent) { - getShell().setText("Edit selector condition"); - - Composite content = (Composite)super.createDialogArea(parent); - GridLayoutFactory.swtDefaults().numColumns(1).applyTo(content); - - GridDataFactory defaultWidth = GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT); - - // Is inverse - inverseField = new Button(content, SWT.CHECK); - inverseField.setText("Is inverse"); - inverseField.setSelection(isInverse); - - // Condition type - typeField = new Combo(content, SWT.BORDER | SWT.READ_ONLY); - typeField.setItems("Property value", "In region", "On route", "Combination"); - typeField.select(typeIndex); - - // Type-dependent stacked panels - stackPanel = new Composite(content, SWT.NONE); - stack = new StackLayout(); - stackPanel.setLayout(stack); - - // Property condition panel - propertyPanel = new Composite(stackPanel, SWT.NONE); - GridLayoutFactory.swtDefaults().numColumns(2).applyTo(propertyPanel); - - new Label(propertyPanel, SWT.NONE).setText("Property name"); - propertyNameField = new Text(propertyPanel, SWT.BORDER); - propertyNameField.setText(propertyName); - defaultWidth.applyTo(propertyNameField); - - new Label(propertyPanel, SWT.NONE).setText("Lower limit"); - lowerLimitField = new Text(propertyPanel, SWT.BORDER); - defaultWidth.applyTo(lowerLimitField); - if (lowerLimit != null) lowerLimitField.setText(lowerLimit.toString()); - - new Label(propertyPanel, SWT.NONE).setText("Upper limit"); - upperLimitField = new Text(propertyPanel, SWT.BORDER); - defaultWidth.applyTo(upperLimitField); - if (upperLimit != null) upperLimitField.setText(upperLimit.toString()); - - // Region condition panel - regionPanel = new Composite(stackPanel, SWT.NONE); - GridLayoutFactory.swtDefaults().numColumns(2).applyTo(regionPanel); - - new Label(regionPanel, SWT.NONE).setText("Region"); - regionField = new Combo(regionPanel, SWT.BORDER | SWT.READ_ONLY); - regionField.setItems(regionNames); - defaultWidth.applyTo(regionField); - - if (region != null) { - int regionIndex = Arrays.indexOf(regionResources, region); - regionField.select(regionIndex); - } - else { - regionField.select(0); - } - - // Route condition panel - routePanel = new Composite(stackPanel, SWT.NONE); - GridLayoutFactory.swtDefaults().numColumns(2).applyTo(routePanel); - - new Label(routePanel, SWT.NONE).setText("Route"); - routeField = new Combo(routePanel, SWT.BORDER | SWT.READ_ONLY); - routeField.setItems(routeNames); - defaultWidth.applyTo(routeField); - - if (route != null) { - int routeIndex = Arrays.indexOf(routeResources, route); - routeField.select(routeIndex); - } - else { - routeField.select(0); - } - - // Aggregate condition panel - aggregatePanel = new Composite(stackPanel, SWT.NONE); - GridLayoutFactory.swtDefaults().numColumns(2).applyTo(aggregatePanel); - - new Label(aggregatePanel, SWT.NONE).setText("Operator"); - operatorField = new Combo(aggregatePanel, SWT.READ_ONLY); - operatorField.setItems("And", "Or"); - operatorField.select(isConjunction ? 0 : 1); - - new Label(aggregatePanel, SWT.NONE).setText("Sub-conditions"); - Composite buttons = new Composite(aggregatePanel, SWT.NONE); - RowLayoutFactory.swtDefaults().justify(true).fill(true).extendedMargins(0, 0, 0, 0).type(SWT.HORIZONTAL).applyTo(buttons); - - Button addButton = new Button(buttons, SWT.PUSH); - addButton.setText("Add"); - Button removeButton = new Button(buttons, SWT.PUSH); - removeButton.setText("Remove"); - Button editButton = new Button(buttons, SWT.PUSH); - editButton.setText("Edit"); - - new Label(aggregatePanel, SWT.NONE); - subConditionField = new org.eclipse.swt.widgets.List(aggregatePanel, SWT.BORDER); - GridDataFactory.swtDefaults().hint(200, 150).applyTo(subConditionField); - if (subConditions != null) { - Session session = Simantics.getSession(); - List items = new ArrayList<>(); - for (Condition c : subConditions) { - try { - items.add(ElementSelector.getExpression(session, c.resource)); - } catch (DatabaseException e1) { - LOGGER.error("Condition expression read failed", e1); - items.add(""); - } - } - - subConditionField.setItems(items.toArray(new String[items.size()])); - } - - addButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - ConditionDialog conditionDialog = new ConditionDialog(getShell(), null); - if (conditionDialog.open() == Window.OK) { - Condition condition; - try { - condition = conditionDialog.createCondition(); - subConditions.add(condition); - - try { - subConditionField.add(ElementSelector.getExpression(Simantics.getSession(), condition.resource)); - } catch (DatabaseException e1) { - LOGGER.error("Condition expression read failed", e1); - subConditionField.add(""); - } - } catch (DatabaseException e2) { - LOGGER.error("Create condition failed", e2); - } - } - } - }); - - removeButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - int index = subConditionField.getSelectionIndex(); - if (index >= 0) { - subConditionField.deselectAll(); - subConditionField.remove(index); - subConditions.remove(index); - - if (index < subConditions.size()) - subConditionField.setSelection(index); - } - - boolean selected = subConditionField.getSelectionIndex() >= 0; - removeButton.setEnabled(selected); - editButton.setEnabled(selected); - } - }); - - editButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - int index = subConditionField.getSelectionIndex(); - if (index >= 0) { - Condition condition = subConditions.get(index); - ConditionDialog conditionDialog = new ConditionDialog(getShell(), condition); - if (conditionDialog.open() == Window.OK) { - try { - condition = conditionDialog.createCondition(); - subConditions.set(index, condition); - - try { - subConditionField.setItem(index, ElementSelector.getExpression(Simantics.getSession(), condition.resource)); - } catch (DatabaseException e1) { - LOGGER.error("Condition expression read failed", e1); - subConditionField.setItem(index, ""); - } - } catch (DatabaseException e2) { - LOGGER.error("Create condition failed", e2); - } - } - } - } - }); - - subConditionField.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - boolean selected = subConditionField.getSelectionIndex() >= 0; - removeButton.setEnabled(selected); - editButton.setEnabled(selected); - } - }); - - // Stack layout update - typeField.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - updateStack(); - } - }); - - updateStack(); - - return content; - } - - @Override - protected void okPressed() { - isInverse = inverseField.getSelection(); - - switch (typeIndex) { - case 0: // Property condition - propertyName = propertyNameField.getText(); - try { - String lowerLimitText = lowerLimitField.getText(); - lowerLimit = lowerLimitText.equals("") ? null : Double.valueOf(lowerLimitText); - String upperLimitText = upperLimitField.getText(); - upperLimit = upperLimitText.equals("") ? null : Double.valueOf(upperLimitText); - } - catch (NumberFormatException e) { - ErrorDialog.openError(getShell(), "Error", "Invalid numeric value: " + e.getMessage(), new Status(OK, "org.simantics.district.selection.ui", e.getMessage())); - return; - } - break; - case 1: { // Region condition - int selectionIndex = regionField.getSelectionIndex(); - if (selectionIndex < 0) { - ErrorDialog.openError(getShell(), "Error", "Please select a region", new Status(OK, "org.simantics.district.selection.ui", "No region selection")); - return; - } - region = regionResources[selectionIndex]; - break; - } - case 2: // Route condition - route = routeResources[routeField.getSelectionIndex()]; - break; - case 3: // Aggregate condition - isConjunction = operatorField.getSelectionIndex() == 0; - break; - } - - super.okPressed(); - } - - protected Condition createCondition() throws DatabaseException { - if (isInverse && !(typeIndex == 3 && !isConjunction)) { - Resource resource0 = createCondition0(typeIndex); - - // Create a negation - Resource resource = Simantics.getSession().syncRequest(new WriteResult() { - @Override - public Resource perform(WriteGraph graph) throws DatabaseException { - ElementSelectionResource ES = ElementSelectionResource.getInstance(graph); - Layer0 L0 = Layer0.getInstance(graph); - - Resource r = graph.newResource(); - graph.claim(r, L0.InstanceOf, ES.Negation); - graph.claim(r, ES.HasSubcondition, resource0); - return r; - } - }); - - return ElementSelector.getCondition(Simantics.getSession(), resource); - } - else { - return ElementSelector.getCondition(Simantics.getSession(), createCondition0(typeIndex)); - } - } - - private Resource createCondition0(int index) throws DatabaseException { - switch (index) { - case 0: return createPropertyCondition(); - case 1: return createRegionCondition(); - case 2: return createRouteCondition(); - case 3: return createAggregateCondition(); - default: throw new IllegalStateException("Invalid condition type code " + index); - } - } - - private Resource createPropertyCondition() throws DatabaseException { - return Simantics.getSession().syncRequest(new WriteResult() { - @Override - public Resource perform(WriteGraph graph) throws DatabaseException { - ElementSelectionResource ES = ElementSelectionResource.getInstance(graph); - Layer0 L0 = Layer0.getInstance(graph); - - Resource r = graph.newResource(); - graph.claim(r, L0.InstanceOf, ES.PropertyCondition); - graph.claimLiteral(r, ES.PropertyCondition_HasPropertyName, propertyName); - if (lowerLimit != null) - graph.claimLiteral(r, ES.PropertyCondition_HasLowerLimit, L0.Double, lowerLimit); - if (upperLimit != null) - graph.claimLiteral(r, ES.PropertyCondition_HasUpperLimit, L0.Double, upperLimit); - - return r; - } - }); - } - - private Resource createAggregateCondition() throws DatabaseException { - return Simantics.getSession().syncRequest(new WriteResult() { - @Override - public Resource perform(WriteGraph graph) throws DatabaseException { - ElementSelectionResource ES = ElementSelectionResource.getInstance(graph); - Layer0 L0 = Layer0.getInstance(graph); - - Resource r; - if (existingResource != null) { - // Reuse existing resource - r = existingResource; - // Clear any previous statements - graph.deny(existingResource); - } - else { - r = graph.newResource(); - } - - Resource type; - type = isConjunction ? ES.Conjunction : isInverse ? ES.Negation : ES.Disjunction; - - graph.claim(r, L0.InstanceOf, type); - for (Condition c : subConditions) { - graph.claim(r, ES.HasSubcondition, c.resource); - } - - return r; - } - }); - } - - private Resource createRouteCondition() throws DatabaseException { - return Simantics.getSession().syncRequest(new WriteResult() { - @Override - public Resource perform(WriteGraph graph) throws DatabaseException { - ElementSelectionResource ES = ElementSelectionResource.getInstance(graph); - Layer0 L0 = Layer0.getInstance(graph); - - Resource r = graph.newResource(); - graph.claim(r, L0.InstanceOf, ES.RouteCondition); - graph.claim(r, ES.RouteCondition_HasRoute, route); - return r; - } - }); - } - - private Resource createRegionCondition() throws DatabaseException { - return Simantics.getSession().syncRequest(new WriteResult() { - @Override - public Resource perform(WriteGraph graph) throws DatabaseException { - ElementSelectionResource ES = ElementSelectionResource.getInstance(graph); - Layer0 L0 = Layer0.getInstance(graph); - - Resource r = graph.newResource(); - graph.claim(r, L0.InstanceOf, ES.RegionCondition); - graph.claim(r, ES.RegionCondition_HasRegion, region); - return r; - } - }); - } - - private void updateStack() { - typeIndex = typeField.getSelectionIndex(); - switch (typeIndex) { - case 0: stack.topControl = propertyPanel; break; - case 1: stack.topControl = regionPanel; break; - case 2: stack.topControl = routePanel; break; - case 3: stack.topControl = aggregatePanel; break; - } - - stackPanel.layout(); - } - } - */ static List findComponentTypes(ReadGraph graph) throws DatabaseException { DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);