X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Feditor%2FModelUpdateEditor.java;h=919fe4b68238d05311533d363553bdad6de0bc17;hb=refs%2Fheads%2Frelease%2F1.32.1;hp=4e30b221a68f668fe7fe08a0d0a58fcec7502a33;hpb=48789e733b91b0c337bd64b8e053c0ee79e0a374;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/editor/ModelUpdateEditor.java b/org.simantics.interop.update/src/org/simantics/interop/update/editor/ModelUpdateEditor.java index 4e30b22..919fe4b 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/editor/ModelUpdateEditor.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/editor/ModelUpdateEditor.java @@ -51,15 +51,15 @@ import org.simantics.db.request.Read; import org.simantics.interop.test.GraphChanges; import org.simantics.interop.update.Activator; import org.simantics.interop.update.model.ModelUpdate; +import org.simantics.interop.update.model.ModelUpdate.WarningListener; +import org.simantics.interop.update.model.PropertyChange; import org.simantics.interop.update.model.UpdateList; import org.simantics.interop.update.model.UpdateNode; -import org.simantics.interop.update.model.UpdateNode.Status; import org.simantics.interop.update.model.UpdateOp; +import org.simantics.interop.update.model.UpdateStatus; import org.simantics.interop.update.model.UpdateTree; -import org.simantics.interop.update.model.ModelUpdate.WarningListener; import org.simantics.interop.utils.TableUtils; import org.simantics.ui.SimanticsUI; -import org.simantics.utils.datastructures.Callback; import org.simantics.utils.datastructures.Pair; import org.simantics.utils.ui.ExceptionUtils; @@ -216,8 +216,8 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList if (update.getUpdateList().getSelected().size() > 0) { update.getUpdateList().clearSelected(); } else { - for (Pair nr : update.getUpdateList().getChanges()) - update.getUpdateList().addSelected(nr); + for (PropertyChange nr : update.getUpdateList().getChanges()) + nr.select(true); } changeViewer.refresh(); } @@ -340,7 +340,7 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList UpdateNode n = nodeStack.pop(); if (n.getOp() != null) { UpdateOp op = n.getOp(); - if (!op.isAdd() && !op.isDelete()) { + if (!op.isChange()) { changeBrowser.setGrayed(n, true); changeBrowser.setChecked(n, true); } else { @@ -432,12 +432,9 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList } - }, new Callback() { - @Override - public void run(DatabaseException parameter) { - if (parameter != null) - ExceptionUtils.logAndShowError("Cannot update model", parameter); - } + }, e -> { + if (e != null) + ExceptionUtils.logAndShowError("Cannot update model", e); }); } @@ -539,9 +536,8 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList public Image getImage(Object element) { if (update == null || !update.isInit()) return null; -// if (update.getUpdateList() == null) -// return null; - if (update.getUpdateList().isSelected((Pair) element)) + PropertyChange pc = (PropertyChange)element; + if (pc.selected()) return checked; else return unchecked; @@ -595,12 +591,12 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList @Override public Color getBackground(Object element) { final UpdateNode node = (UpdateNode)element; - Status status = node.getStatus(); - if (status == Status.CONTAINS) + UpdateStatus status = node.getStatus(); + if (status == UpdateStatus.CONTAINS) return containsColor; - if (status == Status.DELETED) + if (status == UpdateStatus.DELETED) return deletedColor; - if (status == Status.NEW) + if (status == UpdateStatus.NEW) return addedColor; return null; } @@ -609,10 +605,8 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList private class SelectionEditingSupport extends EditingSupport { - @SuppressWarnings("rawtypes") public SelectionEditingSupport(ColumnViewer viewer) { super(viewer); - } @Override @@ -629,18 +623,19 @@ public abstract class ModelUpdateEditor extends Composite implements WarningList protected Object getValue(Object element) { if (update == null || !update.isInit()) return false; - return update.getUpdateList().isSelected((Pair) element); + PropertyChange pc = (PropertyChange)element; + return pc.selected(); } - @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { if (update == null || !update.isInit()) return; + PropertyChange pc = (PropertyChange)element; if (Boolean.TRUE.equals(value)) - update.getUpdateList().addSelected((Pair) element); + pc.select(true); else - update.getUpdateList().removeSelected((Pair) element); + pc.select(false); getViewer().refresh(element); }