]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.elevation.server.ui/src/org/simantics/maps/elevation/server/ui/MapsElevationServerPreferencePage.java
Move tif folder to preferences for elevation server
[simantics/district.git] / org.simantics.maps.elevation.server.ui / src / org / simantics / maps / elevation / server / ui / MapsElevationServerPreferencePage.java
index 69ac4bc759c9382d7f6e1a97f11f3188e0f1c94a..366ca0312303a08e566c71b61d3c9054037c534a 100644 (file)
@@ -6,11 +6,14 @@ import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.preferences.ScopedPreferenceStore;
+import org.simantics.maps.elevation.server.SingletonTiffTileInterface;
 import org.simantics.maps.elevation.server.prefs.MapsElevationServerPreferences;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,6 +40,13 @@ public class MapsElevationServerPreferencePage extends FieldEditorPreferencePage
         BooleanFieldEditor automatically = new BooleanFieldEditor(MapsElevationServerPreferences.P_USE_ELEVATION_SERVER, "Use elevation server", serverGroup);
         addField(automatically);
 
+        StringFieldEditor tifFolderPath = new StringFieldEditor(MapsElevationServerPreferences.P_TIFF_FOLDER_PATH, "Tiff folder path", serverGroup);
+        addField(tifFolderPath);
+        
+        IntegerFieldEditor pipeDepth = new IntegerFieldEditor(MapsElevationServerPreferences.P_PIPE_DEPTH_UNDER_GROUND, "Pipe depth under ground", serverGroup);
+        pipeDepth.setValidRange(Integer.MIN_VALUE, Integer.MAX_VALUE);
+        addField(pipeDepth);
+        
         GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).extendedMargins(12, 12, 12, 12).spacing(5, 4).applyTo(serverGroup);
     }
     
@@ -50,6 +60,21 @@ public class MapsElevationServerPreferencePage extends FieldEditorPreferencePage
     protected void performApply() {
         super.performApply();
     }
+    
+    @Override
+    public boolean performOk() {
+        boolean ok = super.performOk();
+        if (ok) {
+            try {
+                SingletonTiffTileInterface.reloadElevationServer();
+            } catch (Exception e) {
+                LOGGER.error("Could not reload elevation server", e);
+                setErrorMessage(e.getMessage());
+                return false;
+            }
+        }
+        return ok;
+    }
 
     @Override
     public void init(IWorkbench workbench) {