]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/visualisations/DynamicVisualisationsUI.java
Minor UI bug fixes for dynamic visualisations
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / visualisations / DynamicVisualisationsUI.java
index c5be0451242f8fafccbe0fd3f4cdf1eb4626c997..bc0551527590a5aa7793cf0a5125f4de29340fec 100644 (file)
@@ -228,6 +228,19 @@ public class DynamicVisualisationsUI extends Composite {
         }
     }
 
+    private void persistCurrentVisualisationTemplateIfAvailable() {
+        if (visualisation != null) {
+            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);
+            }
+        } else {
+            LOGGER.info("No current visualisation template selected for saving");
+        }
+    }
+    
     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());
@@ -880,12 +893,7 @@ public class DynamicVisualisationsUI extends Composite {
 
                 @Override
                 public void widgetSelected(SelectionEvent e) {
-                    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);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
         } else if (widget instanceof Combo) {
@@ -893,12 +901,7 @@ public class DynamicVisualisationsUI extends Composite {
 
                 @Override
                 public void widgetSelected(SelectionEvent e) {
-                    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);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
         } else if (widget instanceof Text) {
@@ -906,12 +909,7 @@ public class DynamicVisualisationsUI extends Composite {
                 
                 @Override
                 public void focusLost(FocusEvent e) {
-                    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);
-                    }
+                    persistCurrentVisualisationTemplateIfAvailable();
                 }
             });
             ((Text) widget).addKeyListener(new KeyAdapter() {
@@ -919,12 +917,7 @@ public class DynamicVisualisationsUI extends Composite {
                 @Override
                 public void keyReleased(KeyEvent e) {
                     if(e.keyCode == SWT.CR || e.keyCode == SWT.LF) {
-                        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);
-                        }
+                        persistCurrentVisualisationTemplateIfAvailable();
                     }
                 }
             });