X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fvisualisations%2FDynamicVisualisationsUI.java;h=055b503a37c2934504e13befadebb7b5a2544c6a;hb=refs%2Fchanges%2F61%2F3561%2F1;hp=c4afb80e5090be6f69b85521fbfe808cb2ceedb3;hpb=45d66db8d7f81d6be14e7162579952791ac7092c;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java index c4afb80e..055b503a 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java @@ -98,6 +98,9 @@ public class DynamicVisualisationsUI { private Composite parent; private Button disableUpdatesButton; + private Button resetVisualisationButton; + private Button hoveringVertexEnabledButton; + private Button hoveringEdgesEnabledButton; private List>> edgeArrowSuppliers; @@ -159,15 +162,18 @@ public class DynamicVisualisationsUI { String item = templateSelectionCombo.getItem(templateSelectionCombo.getSelectionIndex()); for (NamedResource template : visualisations) { if (item.equals(template.getName())) { - Simantics.getSession().asyncRequest(new WriteRequest() { - - @Override - public void perform(WriteGraph graph) throws DatabaseException { - Resource vf = DynamicVisualisations.getVisualisationFolder(graph, parentResource); - DynamicVisualisations.setActiveVisualisation(graph, vf, template.getResource()); - } - }); - break; + if (parentResource != null) { + Resource res = parentResource; + Simantics.getSession().asyncRequest(new WriteRequest() { + + @Override + public void perform(WriteGraph graph) throws DatabaseException { + Resource vf = DynamicVisualisations.getVisualisationFolder(graph, res); + DynamicVisualisations.setActiveVisualisation(graph, vf, template.getResource()); + } + }); + break; + } } } } @@ -248,7 +254,7 @@ public class DynamicVisualisationsUI { Group group = new Group(parent, SWT.NONE); group.setText("Interval"); GridDataFactory.fillDefaults().grab(true, false).applyTo(group); - GridLayoutFactory.fillDefaults().numColumns(4).margins(5, 5).applyTo(group); + GridLayoutFactory.fillDefaults().numColumns(6).margins(5, 5).applyTo(group); createIntervalElements(group); } @@ -264,6 +270,17 @@ public class DynamicVisualisationsUI { disableUpdatesButton.setText("Disable updates"); addSelectionListener(disableUpdatesButton); + resetVisualisationButton = new Button(parent, SWT.CHECK); + resetVisualisationButton.setText("Reset Visualisation"); + addSelectionListener(resetVisualisationButton); + + hoveringVertexEnabledButton = new Button(parent, SWT.CHECK); + hoveringVertexEnabledButton.setText("Vertex Key Variables on Hover"); + addSelectionListener(hoveringVertexEnabledButton); + + hoveringEdgesEnabledButton = new Button(parent, SWT.CHECK); + hoveringEdgesEnabledButton.setText("Edge Key Variables on Hover"); + addSelectionListener(hoveringEdgesEnabledButton); } private void initializeHideElements(Composite parent) { @@ -611,6 +628,7 @@ public class DynamicVisualisationsUI { boolean dynamicSymbolsPumpingStations = dynamicSymbolsPumpingStationsButton.getSelection(); boolean disabled = disableUpdatesButton.getSelection(); + boolean resetVisualisation = resetVisualisationButton.getSelection(); Long interval; try { interval = Long.parseLong(intervalText.getText()); @@ -618,7 +636,10 @@ public class DynamicVisualisationsUI { // ignore interval = 2000L; } - long ii = interval; + final long finalInterval = interval; + + boolean hoverVertex = hoveringVertexEnabledButton.getSelection(); + boolean hoverEdges = hoveringEdgesEnabledButton.getSelection(); Simantics.getSession().asyncRequest(new WriteRequest() { @@ -630,7 +651,7 @@ public class DynamicVisualisationsUI { } else { exist = DynamicVisualisations.createVisualisation(graph, parentResource, templateName); } - DynamicVisualisations.setIntervalAndDisabled(graph, exist, ii, disabled); + DynamicVisualisations.setIntervalAndDisabled(graph, exist, finalInterval, disabled, resetVisualisation); DynamicVisualisations.setColorContributions(graph, exist, colorCollect); DynamicVisualisations.setColorBarOptions(graph, exist, colorBarOptions); DynamicVisualisations.setSizeContributions(graph, exist, sizeCollect); @@ -657,6 +678,7 @@ public class DynamicVisualisationsUI { dynamicSymbolsValves, dynamicSymbolsPumpingStations ); + DynamicVisualisations.setKeyVariablesHover(graph, exist, hoverVertex, hoverEdges); } }); } @@ -1335,13 +1357,17 @@ public class DynamicVisualisationsUI { private void updateListening() { if (visualisationsListener != null) visualisationsListener.dispose(); - visualisationsListener = new VisualisationsListener(this); - Simantics.getSession().asyncRequest(new DynamicVisualisationsRequest(parentResource), visualisationsListener); + if (parentResource != null) { + visualisationsListener = new VisualisationsListener(this); + Simantics.getSession().asyncRequest(new DynamicVisualisationsRequest(parentResource), visualisationsListener); + } if (listener != null) listener.dispose(); - listener = new VisualisationListener(this); - Simantics.getSession().asyncRequest(new ActiveDynamicVisualisationsRequest(parentResource), listener); + if (parentResource != null) { + listener = new VisualisationListener(this); + Simantics.getSession().asyncRequest(new ActiveDynamicVisualisationsRequest(parentResource), listener); + } } private static class VisualisationsListener implements Listener> { @@ -1424,7 +1450,10 @@ public class DynamicVisualisationsUI { } intervalText.setText(Long.toString(visualisation.getInterval())); - disableUpdatesButton.setSelection(visualisation.disabled()); + disableUpdatesButton.setSelection(visualisation.disabledUpdates()); + + hoveringVertexEnabledButton.setSelection(visualisation.isKeyVariablesVertexHover()); + hoveringEdgesEnabledButton.setSelection(visualisation.isKeyVariablesEdgesHover()); Map colorContributions = visualisation.getColorContributions(); for (Entry entry : colorContributions.entrySet()) {