private Composite parent;
private Button disableUpdatesButton;
+ private Button resetVisualisationButton;
+ private Button hoveringVertexEnabledButton;
+ private Button hoveringEdgesEnabledButton;
+ private Button elevationServerEnabledButton;
+ private Button notInSimulationButton;
private List<Supplier<Pair<String, DynamicArrowContribution>>> edgeArrowSuppliers;
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;
+ }
}
}
}
GridLayoutFactory.fillDefaults().numColumns(1).applyTo(intervalElementsComposite);
initializeIntervalElements(intervalElementsComposite);
+ Composite hoverElementsComposite = new Composite(parent, SWT.NONE);
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(hoverElementsComposite);
+ GridLayoutFactory.fillDefaults().numColumns(1).applyTo(hoverElementsComposite);
+ initializeHoverElements(hoverElementsComposite);
+
Composite hideElementsComposite = new Composite(parent, SWT.NONE);
GridDataFactory.fillDefaults().grab(true, false).applyTo(hideElementsComposite);
GridLayoutFactory.fillDefaults().numColumns(1).applyTo(hideElementsComposite);
private void initializeIntervalElements(Composite parent) {
Group group = new Group(parent, SWT.NONE);
- group.setText("Interval");
+ group.setText("Generic");
GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
- GridLayoutFactory.fillDefaults().numColumns(4).margins(5, 5).applyTo(group);
+ GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).applyTo(group);
createIntervalElements(group);
}
private void createIntervalElements(Composite parent) {
Label label = new Label(parent, SWT.NONE);
- label.setText("Generic");
+ label.setText("Interval (seconds)");
intervalText = new Text(parent, SWT.BORDER);
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(intervalText);
addSelectionListener(intervalText);
disableUpdatesButton = new Button(parent, SWT.CHECK);
disableUpdatesButton.setText("Disable updates");
addSelectionListener(disableUpdatesButton);
+ resetVisualisationButton = new Button(parent, SWT.CHECK);
+ resetVisualisationButton.setText("Reset Visualisation");
+ addSelectionListener(resetVisualisationButton);
+
+ notInSimulationButton = new Button(parent, SWT.CHECK);
+ notInSimulationButton.setText("Not in Simulation");
+ addSelectionListener(notInSimulationButton);
+
+ elevationServerEnabledButton = new Button(parent, SWT.CHECK);
+ elevationServerEnabledButton.setText("Elevation Server Bounding Box");
+ addSelectionListener(elevationServerEnabledButton);
+ }
+
+ private void initializeHoverElements(Composite parent) {
+ Group group = new Group(parent, SWT.NONE);
+ group.setText("Hover");
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
+ GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).applyTo(group);
+
+ createHoverElements(group);
+ }
+
+ private void createHoverElements(Composite parent) {
+ 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) {
Combo variableCombo = new Combo(parent, SWT.READ_ONLY);
variableCombo.setItems(arrowContributions.keySet().toArray(new String[arrowContributions.size()]));
-
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
Text gainText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(gainText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(gainText);
addSelectionListener(gainText);
Text biasText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(biasText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(biasText);
addSelectionListener(biasText);
Button defaultButton = new Button(parent, SWT.CHECK);
boolean dynamicSymbolsPumpingStations = dynamicSymbolsPumpingStationsButton.getSelection();
boolean disabled = disableUpdatesButton.getSelection();
+ boolean resetVisualisation = resetVisualisationButton.getSelection();
Long interval;
try {
- interval = Long.parseLong(intervalText.getText());
+ // inteval is in milliseconds but shown as seconds
+
+ interval = (long)(Double.parseDouble(intervalText.getText()) * 1000);
} catch (NumberFormatException e) {
// ignore
interval = 2000L;
}
- long ii = interval;
+ final long finalInterval = interval;
+
+ boolean hoverVertex = hoveringVertexEnabledButton.getSelection();
+ boolean hoverEdges = hoveringEdgesEnabledButton.getSelection();
+
+ boolean elevationServerBoundingBox = elevationServerEnabledButton.getSelection();
+ boolean notInSimulation = notInSimulationButton.getSelection();
Simantics.getSession().asyncRequest(new WriteRequest() {
} 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);
dynamicSymbolsValves,
dynamicSymbolsPumpingStations
);
+ DynamicVisualisations.setKeyVariablesHover(graph, exist, hoverVertex, hoverEdges);
+
+ DynamicVisualisations.setElevationServerBoundingBox(graph, exist, elevationServerBoundingBox);
+ DynamicVisualisations.setNotInSimulation(graph, exist, notInSimulation);
}
});
}
Combo variableCombo = new Combo(parent, SWT.READ_ONLY);
variableCombo.setItems(colorContributions.keySet().toArray(new String[colorContributions.size()]));
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
Text minText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().grab(true, false).hint(150, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(minText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(minText);
addSelectionListener(minText);
Text maxText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().grab(true, false).hint(150, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(maxText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(maxText);
addSelectionListener(maxText);
Text unit = new Text(parent, SWT.READ_ONLY);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.CENTER, SWT.CENTER).applyTo(unit);
+ GridDataFactory.fillDefaults().grab(true, false).hint(30, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(unit);
Combo colorMapCombo = new Combo(parent, SWT.READ_ONLY);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(colorMapCombo);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(colorMapCombo);
colorMapCombo.setItems(colorMaps.keySet().toArray(new String[colorMaps.keySet().size()]));
addSelectionListener(colorMapCombo);
Combo variableCombo = new Combo(parent, SWT.READ_ONLY);
variableCombo.setItems(sizeContributions.keySet().toArray(new String[sizeContributions.size()]));
-
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(variableCombo);
Text minText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(minText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(minText);
addSelectionListener(minText);
Text maxText = new Text(parent, SWT.BORDER);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(maxText);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(maxText);
addSelectionListener(maxText);
Label unit = new Label(parent, SWT.NONE);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.CENTER, SWT.CENTER).applyTo(unit);
+ GridDataFactory.fillDefaults().grab(true, false).hint(30, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(unit);
Combo sizeMapCombo = new Combo(parent, SWT.READ_ONLY);
- GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(sizeMapCombo);
+ GridDataFactory.fillDefaults().grab(true, false).hint(100, SWT.DEFAULT).align(SWT.CENTER, SWT.CENTER).applyTo(sizeMapCombo);
sizeMapCombo.setItems(sizeMaps.keySet().toArray(new String[sizeMaps.keySet().size()]));
addSelectionListener(sizeMapCombo);
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<Collection<NamedResource>> {
}
}
- intervalText.setText(Long.toString(visualisation.getInterval()));
+ intervalText.setText(Double.toString(((double)visualisation.getInterval()) / 1000.0));
disableUpdatesButton.setSelection(visualisation.disabledUpdates());
+ hoveringVertexEnabledButton.setSelection(visualisation.isKeyVariablesVertexHover());
+ hoveringEdgesEnabledButton.setSelection(visualisation.isKeyVariablesEdgesHover());
+
+ hideConsumersButton.setSelection(visualisation.isHideConsumers());
+ hideEdgesButton.setSelection(visualisation.isHideEdges());
+ hideProducersButton.setSelection(visualisation.isHideProducers());
+ hideValvesButton.setSelection(visualisation.isHideValves());
+ hidePumpingStationsButton.setSelection(visualisation.isHidePumpingStations());
+ hidePointsButton.setSelection(visualisation.isHidePoints());
+
Map<String, DynamicColorContribution> colorContributions = visualisation.getColorContributions();
for (Entry<String, DynamicColorContribution> entry : colorContributions.entrySet()) {
break;
}
}
+
+ pointsStaticPropertiesButton.setSelection(visualisation.isStaticPropertiesPoints());
+ networkBranchesStaticPropertiesButton.setSelection(visualisation.isStaticPropertiesNetworkBranches());
+ consumersStaticPropertiesButton.setSelection(visualisation.isStaticPropertiesConsumers());
}
});
}