]> gerrit.simantics Code Review - simantics/district.git/commitdiff
Remove block of commented-out code 45/4045/1
authorReino Ruusu <reino.ruusu@semantum.fi>
Fri, 27 Mar 2020 10:25:11 +0000 (12:25 +0200)
committerReino Ruusu <reino.ruusu@semantum.fi>
Fri, 27 Mar 2020 10:25:11 +0000 (12:25 +0200)
gitlab #84

Change-Id: Ia75eeb9e9a2a4dc5a339244837cd6e6f01f97891

org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/parts/EditSelectorDialog.java

index 4814124b010954cffb030c3aa39aeb3f81b31b43..24df3cc0732c1329c0fe72729858cc56fc0c204b 100644 (file)
@@ -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<Condition> 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<String> 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("<Unknown expression>");
-                                       }
-                               }
-                               
-                               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("<Unknown expression>");
-                                                       }
-                                               } 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, "<Unknown expression>");
-                                                               }
-                                                       } 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<Resource>() {
-                                       @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<Resource>() {
-                               @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<Resource>() {
-                               @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<Resource>() {
-                               @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<Resource>() {
-                               @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<Resource> findComponentTypes(ReadGraph graph) throws DatabaseException {
                DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);