import org.simantics.district.network.visualisations.model.SizeBarOptions.SizeBarsLocation;
import org.simantics.district.network.visualisations.model.SizeBarOptions.SizeBarsSize;
import org.simantics.utils.datastructures.Pair;
+import org.simantics.utils.ui.dialogs.ShowError;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private Button showSizeButton;
private Button sizeTicksButton;
+ private Button sizeGradientButton;
private Combo sizeLocationCombo;
private Combo sizeSizeCombo;
private Button showColorButton;
private Button colorTicksButton;
+ private Button colorGradientButton;
private Combo colorLocationCombo;
private Combo colorSizeCombo;
@Override
public void widgetSelected(SelectionEvent e) {
- persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
+ try {
+ persistVisualisationTemplate(visualisation.getName(), Optional.of(visualisation.getVisualisationResource()));
+ } catch (Exception e1) {
+ LOGGER.error("Could not persist visualisation template", e1);
+ ShowError.showError("Could not persist visualisation template", e1.getMessage(), e1);
+ }
}
});
if (dialog.open() == Dialog.OK) {
String name = dialog.getValue();
- persistVisualisationTemplate(name, Optional.empty());
+ try {
+ persistVisualisationTemplate(name, Optional.empty());
+ } catch (Exception e) {
+ LOGGER.error("Could not persist visualisation template", e);
+ ShowError.showError("Could not persist visualisation template", e.getMessage(), e);
+ }
}
}
- private void persistVisualisationTemplate(String templateName, Optional<Resource> existing) {
+ private void persistVisualisationTemplate(String templateName, Optional<Resource> existing) throws Exception {
List<Pair<String, DynamicColorContribution>> colorCollect = colorSuppliers.stream().map(s -> s.get()).filter(Objects::nonNull).collect(Collectors.toList());
ColorBarOptions colorBarOptions = new ColorBarOptions()
.showColorBars(showColorButton.getSelection())
.showColorBarsTicks(colorTicksButton.getSelection())
+ .useGradients(colorGradientButton.getSelection())
.withLocation(ColorBarsLocation.valueOf(colorLocation))
.withSize(ColorBarsSize.valueOf(colorSize));
SizeBarOptions sizeBarOptions = new SizeBarOptions()
.showSizeBars(showSizeButton.getSelection())
.showSizeBarsTicks(sizeTicksButton.getSelection())
+ .useGradients(sizeGradientButton.getSelection())
.withLocation(SizeBarsLocation.valueOf(sizeLocation))
.withSize(SizeBarsSize.valueOf(sizeSize));
Group group = new Group(parent, SWT.NONE);
group.setText("Color Bars");
GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
- GridLayoutFactory.fillDefaults().numColumns(6).margins(5, 5).applyTo(group);
+ GridLayoutFactory.fillDefaults().numColumns(8).margins(5, 5).applyTo(group);
createColorBars(group);
}
colorTicksButton = new Button(parent, SWT.CHECK);
colorTicksButton.setText("Ticks");
+ colorGradientButton = new Button(parent, SWT.CHECK);
+ colorGradientButton.setText("Gradients");
+
Label label = new Label(parent, SWT.NONE);
label.setText("Location");
colorLocationCombo = new Combo(parent, SWT.READ_ONLY);
- colorLocationCombo.setItems(Stream.of(ColorBarsLocation.values()).map(size -> size.toString()).toArray(String[]::new));
+ String[] colorLocationItems = Stream.of(ColorBarsLocation.values()).map(size -> size.toString()).toArray(String[]::new);
+ colorLocationCombo.setItems(colorLocationItems);
+ if (colorLocationItems.length > 0) {
+ colorLocationCombo.select(0);
+ }
label = new Label(parent, SWT.NONE);
label.setText("Size");
colorSizeCombo = new Combo(parent, SWT.READ_ONLY);
- colorSizeCombo.setItems(Stream.of(ColorBarsSize.values()).map(size -> size.toString()).toArray(String[]::new));
+ String[] colorSizeItems = Stream.of(ColorBarsSize.values()).map(size -> size.toString()).toArray(String[]::new);
+ colorSizeCombo.setItems(colorSizeItems);
+ if (colorSizeItems.length > 0) {
+ colorSizeCombo.select(0);
+ }
}
private void initializeObjectSizes(Composite parent) {
Group group = new Group(parent, SWT.NONE);
group.setText("Size Bars");
GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
- GridLayoutFactory.fillDefaults().numColumns(6).margins(5, 5).applyTo(group);
+ GridLayoutFactory.fillDefaults().numColumns(8).margins(5, 5).applyTo(group);
createSizeBars(group);
}
sizeTicksButton = new Button(parent, SWT.CHECK);
sizeTicksButton.setText("Ticks");
+ sizeGradientButton = new Button(parent, SWT.CHECK);
+ sizeGradientButton.setText("Gradient");
+
Label label = new Label(parent, SWT.NONE);
label.setText("Location");
sizeLocationCombo = new Combo(parent, SWT.READ_ONLY);
- sizeLocationCombo.setItems(Stream.of(SizeBarsLocation.values()).map(size -> size.toString()).toArray(String[]::new));
+ String[] sizeLocationItems = Stream.of(SizeBarsLocation.values()).map(size -> size.toString()).toArray(String[]::new);
+ sizeLocationCombo.setItems(sizeLocationItems);
+ if (sizeLocationItems.length > 0) {
+ sizeLocationCombo.select(0);
+ }
label = new Label(parent, SWT.NONE);
label.setText("Size");
sizeSizeCombo = new Combo(parent, SWT.READ_ONLY);
- sizeSizeCombo.setItems(Stream.of(SizeBarsSize.values()).map(size -> size.toString()).toArray(String[]::new));
+ String[] sizeSizeItems = Stream.of(SizeBarsSize.values()).map(size -> size.toString()).toArray(String[]::new);
+ sizeSizeCombo.setItems(sizeSizeItems);
+ if (sizeSizeItems.length > 0) {
+ sizeSizeCombo.select(0);
+ }
}
public void setDiagramResource(Resource diagramResource) {
public void updateVisualisation(DynamicVisualisation result) {
this.visualisation = result;
- if (visualisation != null) {
- Display.getDefault().asyncExec(() -> {
- if (getParent().isDisposed())
- return;
-
- applyButton.setEnabled(visualisation != null);
-
+ Display.getDefault().asyncExec(() -> {
+ if (getParent().isDisposed())
+ return;
+
+ applyButton.setEnabled(visualisation != null && visualisation.getVisualisationResource() != null);
+ removeVisualisationTemplateButton.setEnabled(visualisation != null && visualisation.getVisualisationResource() != null);
+
+ if (visualisation != null) {
String[] items = templateSelectionCombo.getItems();
for (int i = 0; i < items.length; i++) {
if (visualisation.getName().equals(items[i])) {
break;
}
}
-
-
- removeVisualisationTemplateButton.setEnabled(visualisation != null && visualisation.getVisualisationResource() != null);
- });
- }
+ }
+ });
}
public void updateVisualisations(Collection<NamedResource> result) {