X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fbreakdown%2FDistrictNetworkBreakdownPanel.java;h=c8db5165f497ba4964979917c6e7df599c6c4a1f;hb=41b04fa6331a2de151e7300dcb0ad983045f4ed8;hp=b3e6d6bbecad2d55ded30fa868829ec51fb959ae;hpb=830edf8e15f1608c13a869efe52d61f7da6bd9ae;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/breakdown/DistrictNetworkBreakdownPanel.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/breakdown/DistrictNetworkBreakdownPanel.java index b3e6d6bb..c8db5165 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/breakdown/DistrictNetworkBreakdownPanel.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/breakdown/DistrictNetworkBreakdownPanel.java @@ -1,7 +1,9 @@ package org.simantics.district.network.ui.breakdown; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -147,6 +149,15 @@ public class DistrictNetworkBreakdownPanel extends Composite { if (sel.size() > 0 && fromSameDiagram(sel)) { manager.add(new ShowSubnetworkAction(sel)); } + Set diagrams = new HashSet<>(); + if (sel.size() > 0) { + for (Subgraph graph : sel) { + diagrams.add(graph.parent); + } + } + if (diagrams.isEmpty()) + diagrams.addAll(subgraphs.keySet()); + manager.add(new RefreshAction(diagrams)); //manager.add(new DeleteAction()); } @@ -445,6 +456,24 @@ public class DistrictNetworkBreakdownPanel extends Composite { } + private class RefreshAction extends Action { + + private Set diagram; + + public RefreshAction(Set diagrams) { + super("Refresh"); + this.diagram = diagrams; + } + + @Override + public void run() { + diagram.forEach(d -> { + subgraphs.remove(d); + tree.refresh(); + }); + } + } + private static class ShowSubnetworkAction extends Action { private final List subgraphs;