Revision: 6022
          http://sourceforge.net/p/jump-pilot/code/6022
Author:   ma15569
Date:     2018-12-20 15:30:15 +0000 (Thu, 20 Dec 2018)
Log Message:
-----------
Disable Stretch panel on RasterStyleDialog if selected raster has only one value

Modified Paths:
--------------
    
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java
===================================================================
--- 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java  
    2018-12-20 15:22:42 UTC (rev 6021)
+++ 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java  
    2018-12-20 15:30:15 UTC (rev 6022)
@@ -1,6 +1,8 @@
 package org.openjump.core.rasterimage.styler.ui;
 
 import java.awt.Color;
+import java.awt.Component;
+import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.geom.NoninvertibleTransformException;
@@ -11,6 +13,8 @@
 import javax.swing.JColorChooser;
 import javax.swing.JComponent;
 import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
 
 import org.openjump.core.rasterimage.RasterImageLayer;
 import org.openjump.core.rasterimage.RasterSymbology;
@@ -27,6 +31,8 @@
 import com.vividsolutions.jump.workbench.WorkbenchContext;
 import com.vividsolutions.jump.workbench.model.LayerEventType;
 import com.vividsolutions.jump.workbench.ui.ErrorDialog;
+import 
com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStylePanel;
+import com.vividsolutions.jump.workbench.ui.style.StylePanel;
 
 import de.fho.jump.pirol.utilities.settings.PirolPlugInSettings;
 
@@ -384,8 +390,17 @@
                 minMaxValues);
         singleValuesPanel = new SingleValuesPanel(this, 
Utils.purgeNoData(rasterImageLayer.getActualRasterData(), rasterImageLayer), 
rasterImageLayer);
         
-        
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabStretched"),
 stretchedPanel);
-        
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabIntervals"),
 intervalPanel);
+        if (stats.getMin(band) == stats.getMax(band)) {
+            final DummyPanel pan = new DummyPanel("No stretched classification 
available, this raster has only one value: " + stats.getMax(band));
+            
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabStretched"),
 pan);  
+            
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabIntervals"),
 intervalPanel);
+           for (final Component c2 : intervalPanel.getComponents()) {
+              c2.setEnabled(false);
+           }
+        } else {
+            
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabStretched"),
 stretchedPanel);
+            
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabIntervals"),
 intervalPanel);
+        }
         
jTabbedPane_Type.addTab(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.tabSingleValues"),
 singleValuesPanel);
         pack();
         
@@ -593,4 +608,33 @@
         }
         
     }    
+    
+    private class DummyPanel extends JPanel implements StylePanel {
+
+        private static final long serialVersionUID = 2217457292163045134L;
+
+        /**
+         * 
+         */
+        private DummyPanel(String label) {
+            // GridBagLayout so it gets centered. [Jon Aquino]
+            super(new GridBagLayout());
+            add(new JLabel(label));
+        }
+
+        @Override
+        public String getTitle() {
+            return ColorThemingStylePanel.TITLE;
+        }
+
+        @Override
+        public void updateStyles() {
+            // unused but defined in the interface
+        }
+
+        @Override
+        public String validateInput() {
+            return null;
+        }
+    }
 }



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to