Revision: 6193
          http://sourceforge.net/p/jump-pilot/code/6193
Author:   michaudm
Date:     2019-08-10 10:09:24 +0000 (Sat, 10 Aug 2019)
Log Message:
-----------
RasterLayerEditor can now apply a style to several layers (FR #263)

Modified Paths:
--------------
    core/trunk/ChangeLog
    core/trunk/src/org/openjump/core/rasterimage/styler/RasterStylesPlugIn.java
    core/trunk/src/org/openjump/core/rasterimage/styler/ui/GUIUtils.java
    core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientCanvas.java
    core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientComboBox.java
    core/trunk/src/org/openjump/core/rasterimage/styler/ui/IntervalPanel.java
    
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java
    
core/trunk/src/org/openjump/core/rasterimage/styler/ui/SingleValuesPanel.java
    core/trunk/src/org/openjump/core/rasterimage/styler/ui/StretchedPanel.java
    
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditor.java
    
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditorPlugIn.java

Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog        2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/ChangeLog        2019-08-10 10:09:24 UTC (rev 6193)
@@ -3,6 +3,9 @@
 # 2. make sure that lines break at 80 chars for constricted display situations
 #<-------------------------------- 80 chars 
---------------------------------->#
 
+2019-08-10 mmichaud <m.michael.mich...@orange.fr>
+  * RasterLayerEditor can now apply a style to several layers (FR #263)
+
 2019-07-28 mmichaud <m.michael.mich...@orange.fr>
   * Upgrade concave-hull to 0.3 (remember last used parameter)
 

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/RasterStylesPlugIn.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/styler/RasterStylesPlugIn.java 
2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/src/org/openjump/core/rasterimage/styler/RasterStylesPlugIn.java 
2019-08-10 10:09:24 UTC (rev 6193)
@@ -5,7 +5,6 @@
 
 import com.vividsolutions.jump.task.TaskMonitor;
 import com.vividsolutions.jump.workbench.WorkbenchContext;
-import com.vividsolutions.jump.workbench.model.Layerable;
 import com.vividsolutions.jump.workbench.plugin.EnableCheckFactory;
 import com.vividsolutions.jump.workbench.plugin.MultiEnableCheck;
 import com.vividsolutions.jump.workbench.plugin.PlugInContext;
@@ -12,8 +11,6 @@
 import com.vividsolutions.jump.workbench.plugin.ThreadedPlugIn;
 import com.vividsolutions.jump.workbench.ui.images.IconLoader;
 
-import java.util.List;
-
 import javax.swing.JPopupMenu;
 
 import org.openjump.core.apitools.LayerTools;
@@ -21,11 +18,13 @@
 import org.openjump.core.rasterimage.styler.ui.GUIUtils;
 import org.openjump.core.ui.plugin.layer.pirolraster.RasterImageContextMenu;
 
+import java.util.ResourceBundle;
+
 public class RasterStylesPlugIn implements ThreadedPlugIn {
 
     @Override
     public void run(TaskMonitor monitor, PlugInContext context) throws 
Exception {
-        throw new UnsupportedOperationException("Not supported yet."); //To 
change body of generated methods, choose Tools | Templates. //NOI18N
+        throw new UnsupportedOperationException("Not supported yet.");
     }
 
     @Override
@@ -46,7 +45,8 @@
     @Override
     public boolean execute(PlugInContext context) throws Exception {
         
-        RasterImageLayer rasterImageLayer = (RasterImageLayer) 
LayerTools.getSelectedLayerable(context, RasterImageLayer.class);
+        RasterImageLayer rasterImageLayer = (RasterImageLayer) LayerTools
+                .getSelectedLayerable(context, RasterImageLayer.class);
         RasterStylesDialog symbologyDialog;
         
         String bboardKey = 
GUIUtils.getBBKey(String.valueOf(rasterImageLayer.getUUID()));        
@@ -92,12 +92,12 @@
     public static MultiEnableCheck createEnableCheck(
             WorkbenchContext workbenchContext) {
         
-        EnableCheckFactory checkFactory = new EnableCheckFactory(
-                workbenchContext);
+        EnableCheckFactory checkFactory = new 
EnableCheckFactory(workbenchContext);
         MultiEnableCheck multiEnableCheck = new MultiEnableCheck();
 
-        
multiEnableCheck.add(checkFactory.createExactlyNLayerablesMustBeSelectedCheck(1,
 RasterImageLayer.class));
-        
multiEnableCheck.add(checkFactory.createRasterImageLayerExactlyNBandsMustExistCheck(1));
+        multiEnableCheck
+                
.add(checkFactory.createAtLeastNLayerablesOfTypeMustExistCheck(1, 
RasterImageLayer.class))
+                
.add(checkFactory.createRasterImageLayerExactlyNBandsMustExistCheck(1));
 
         return multiEnableCheck;
     }
@@ -104,7 +104,8 @@
     
     @Override
     public String getName() {
-        return 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle").getString("org.openjump.core.rasterimage.styler.RasterStylesExtension.Name");
+        return 
ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle")
+                
.getString("org.openjump.core.rasterimage.styler.RasterStylesExtension.Name");
     }
     
 }

Modified: core/trunk/src/org/openjump/core/rasterimage/styler/ui/GUIUtils.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/styler/ui/GUIUtils.java        
2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/src/org/openjump/core/rasterimage/styler/ui/GUIUtils.java        
2019-08-10 10:09:24 UTC (rev 6193)
@@ -78,7 +78,7 @@
     }
 
     /**
-     * Method for displayin in a panel a gradient
+     * Method for displaying in a panel a gradient
      *
      * @param panel Panel on which display the gradient
      * @param colorMapEntries Colors that make up the gradient. The quantity

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientCanvas.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientCanvas.java  
2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientCanvas.java  
2019-08-10 10:09:24 UTC (rev 6193)
@@ -21,7 +21,7 @@
      * Construct a JComponent whose background is stretched between colorStart 
and
      * colorEnd.
      * 
-     * @param colorMapEntries
+     * @param colorMapEntries map values to colors
      * @param width Width of the stretched effect.
      * @param height Height of the stretched effect.
      * @param type Gradient direction. HORIZONTAL colorStart is on left and 
colorEnd is on right, VERTICAL
@@ -51,8 +51,6 @@
             colors[c] = colorMapEntries[c].getColor();
             fractions[c] = (float) (colorMapEntries[c].getUpperValue()/ 
colorMapEntries[colorMapEntries.length-1].getUpperValue());
         }
-                
-                
         
         if(type == GradientType.HORIZONTAL){
             paint = new LinearGradientPaint(0, 0, width, height, fractions, 
colors);
@@ -59,7 +57,6 @@
         } else if (type == GradientType.VERTICAL){
             paint = new LinearGradientPaint((width / 2), 0, (width/2), height, 
fractions, colors); 
         }
-              
                 
         Graphics2D g2d = (Graphics2D) g;
         Paint oldPaint = g2d.getPaint();
@@ -76,6 +73,10 @@
     public ColorMapEntry[] getColorMapEntries() {
         return colorMapEntries;
     }
+
+    public GradientCanvas copy() {
+        return new GradientCanvas(colorMapEntries, (int)width, (int)height, 
type);
+    }
     
     private final ColorMapEntry[] colorMapEntries;
     private final float width;

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientComboBox.java
===================================================================
--- 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientComboBox.java    
    2019-07-28 10:01:07 UTC (rev 6192)
+++ 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/GradientComboBox.java    
    2019-08-10 10:09:24 UTC (rev 6193)
@@ -12,7 +12,7 @@
  */
 public class GradientComboBox extends JComboBox implements ActionListener {
 
-    DefaultComboBoxModel model = new DefaultComboBoxModel();;
+    private DefaultComboBoxModel model = new DefaultComboBoxModel();;
     
     /**
      * Constructor to create a combobox for gradient.  
@@ -20,7 +20,6 @@
     public GradientComboBox() {
         super();
         setModel(model);
-        setModel(model);
     }
 
     @Override
@@ -30,12 +29,12 @@
             
             GradientCanvas gradientCanvas = (GradientCanvas) anObject;
             
-            int width = gradientCanvas.getWidth();
-            int height = gradientCanvas.getHeight();
-            GradientCanvas.GradientType type = gradientCanvas.getType();
-            ColorMapEntry[] colorMapEntries = 
gradientCanvas.getColorMapEntries();
-            GradientCanvas gradient = new GradientCanvas(colorMapEntries, 
width, height, type);
-            model.addElement(gradient);
+            //int width = gradientCanvas.getWidth();
+            //int height = gradientCanvas.getHeight();
+            //GradientCanvas.GradientType type = gradientCanvas.getType();
+            //ColorMapEntry[] colorMapEntries = 
gradientCanvas.getColorMapEntries();
+            //GradientCanvas gradient = new GradientCanvas(colorMapEntries, 
width, height, type);
+            model.addElement(gradientCanvas.copy());
             
         } else {
             super.addItem(anObject);
@@ -44,7 +43,7 @@
     }
 
             
-    Object object  = model.getSelectedItem();
-    GradientCanvas canvas = (GradientCanvas) object;
+    //Object object  = model.getSelectedItem();
+    //GradientCanvas canvas = (GradientCanvas) object;
     
 }
\ No newline at end of file

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/IntervalPanel.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/styler/ui/IntervalPanel.java   
2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/src/org/openjump/core/rasterimage/styler/ui/IntervalPanel.java   
2019-08-10 10:09:24 UTC (rev 6193)
@@ -35,12 +35,12 @@
 
     /**
      * Creates new form IntervalPanel
-     * @param parent
-     * @param rasterImageLayer
-     * @param minMaxValues
-     * @throws java.lang.Exception
+     * @param parent parent Component
+     * @param rasterImageLayer rasterImageLayer to symbolize
+     * @param minMaxValues min and max pixel values for this image
      */
-    public IntervalPanel(Component parent, RasterImageLayer rasterImageLayer, 
Range minMaxValues) throws Exception {
+    public IntervalPanel(Component parent, RasterImageLayer rasterImageLayer, 
Range minMaxValues) {
+
         initComponents();
         this.parent = parent;
         this.rasterImageLayer = rasterImageLayer;
@@ -49,13 +49,22 @@
         fixComponents();
     }
 
+    public void reset() {
+        try {
+            
jComboBox_Method.setSelectedItem(classMethods_m.get(ClassificationMethod.JENKS));
+            jTextField_Classes.setText("5");
+            jComboBox_Gradient.setSelectedIndex(0);
+            rampAll();
+        } catch (Exception ex) {
+            Logger.error(ex);
+        }
+    }
+
     /**
      * This method is called from within the constructor to initialize the 
form.
      * WARNING: Do NOT modify this code. The content of this method is always
      * regenerated by the Form Editor.
      */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated 
Code">//GEN-BEGIN:initComponents
     private void initComponents() {
         java.awt.GridBagConstraints gridBagConstraints;
 
@@ -88,12 +97,9 @@
         gridBagConstraints.gridy = 0;
         add(jLabel_Method, gridBagConstraints);
 
-        jComboBox_Method.setModel(new javax.swing.DefaultComboBoxModel(new 
String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
-        jComboBox_Method.addActionListener(new java.awt.event.ActionListener() 
{
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jComboBox_MethodActionPerformed(evt);
-            }
-        });
+        jComboBox_Method.setModel(new javax.swing.DefaultComboBoxModel<>(new 
String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
+        
jComboBox_Method.addActionListener(this::jComboBox_MethodActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 0;
@@ -103,11 +109,8 @@
         add(jComboBox_Method, gridBagConstraints);
 
         
jButton_Values.setText(bundle.getString("IntervalPanel.jButton.RampAll")); // 
NOI18N
-        jButton_Values.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_ValuesActionPerformed(evt);
-            }
-        });
+        jButton_Values.addActionListener(this::jButton_ValuesActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 4;
         gridBagConstraints.gridy = 4;
@@ -142,11 +145,8 @@
         add(jPanel_Table, gridBagConstraints);
 
         
jButton_AddRow.setText(bundle.getString("IntervalPanel.jButton.AddRow")); // 
NOI18N
-        jButton_AddRow.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_AddRowActionPerformed(evt);
-            }
-        });
+        jButton_AddRow.addActionListener(this::jButton_AddRowActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 0;
         gridBagConstraints.gridy = 6;
@@ -153,11 +153,8 @@
         add(jButton_AddRow, gridBagConstraints);
 
         
jButton_RemoveRow.setText(bundle.getString("IntervalPanel.jButton.RemoveRow")); 
// NOI18N
-        jButton_RemoveRow.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_RemoveRowActionPerformed(evt);
-            }
-        });
+        
jButton_RemoveRow.addActionListener(this::jButton_RemoveRowActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 6;
@@ -164,47 +161,44 @@
         add(jButton_RemoveRow, gridBagConstraints);
 
         jButton_Ramp.setText(bundle.getString("IntervalPanel.jButton.Ramp")); 
// NOI18N
-        jButton_Ramp.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_RampActionPerformed(evt);
-            }
-        });
+        jButton_Ramp.addActionListener(this::jButton_RampActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 4;
         gridBagConstraints.gridy = 6;
         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
         add(jButton_Ramp, gridBagConstraints);
-    }// </editor-fold>//GEN-END:initComponents
+    }
 
-    private void jButton_ValuesActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_ValuesActionPerformed
+    private void jButton_ValuesActionPerformed(java.awt.event.ActionEvent evt) 
{
         try {
             rampAll();
         } catch (Exception ex) {
             Logger.error(ex);
         }
-    }//GEN-LAST:event_jButton_ValuesActionPerformed
+    }
 
-    private void jButton_AddRowActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_AddRowActionPerformed
+    private void jButton_AddRowActionPerformed(java.awt.event.ActionEvent evt) 
{
         addRow();
-    }//GEN-LAST:event_jButton_AddRowActionPerformed
+    }
 
-    private void jButton_RemoveRowActionPerformed(java.awt.event.ActionEvent 
evt) {//GEN-FIRST:event_jButton_RemoveRowActionPerformed
+    private void jButton_RemoveRowActionPerformed(java.awt.event.ActionEvent 
evt) {
         removeRow();
-    }//GEN-LAST:event_jButton_RemoveRowActionPerformed
+    }
 
-    private void jButton_RampActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_RampActionPerformed
+    private void jButton_RampActionPerformed(java.awt.event.ActionEvent evt) {
         try {
             rampColors();
         } catch (Exception ex) {
             Logger.error(ex);
         }
-    }//GEN-LAST:event_jButton_RampActionPerformed
+    }
 
-    private void jComboBox_MethodActionPerformed(java.awt.event.ActionEvent 
evt) {//GEN-FIRST:event_jComboBox_MethodActionPerformed
+    private void jComboBox_MethodActionPerformed(java.awt.event.ActionEvent 
evt) {
         // TODO add your handling code here:
-    }//GEN-LAST:event_jComboBox_MethodActionPerformed
+    }
 
-    private void formComponentShown(java.awt.event.ComponentEvent evt) 
{//GEN-FIRST:event_formComponentShown
+    private void formComponentShown(java.awt.event.ComponentEvent evt) {
         
         if(firstTimeShown) {
             firstTimeShown = false;
@@ -215,7 +209,7 @@
             }
         }
         
-    }//GEN-LAST:event_formComponentShown
+    }
 
 
     // Variables declaration - do not modify//GEN-BEGIN:variables
@@ -230,7 +224,7 @@
     private javax.swing.JTextField jTextField_Classes;
     // End of variables declaration//GEN-END:variables
 
-    private void fixComponents() throws Exception {
+    private void fixComponents() {
         
         classMethods_m.put(ClassificationMethod.EQUAL_RANGE, 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle").getString("org.openjump.core.rasterimage.styler.ui.IntervalPanel.classMethods.EqualInterval"));
         classMethods_m.put(ClassificationMethod.GIVEN_INTERVAL, 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle").getString("org.openjump.core.rasterimage.styler.ui.IntervalPanel.classMethods.GivenInterval"));
@@ -409,7 +403,7 @@
     
     private void updateTable(ColorMapEntry[] colorMapEntries) {
         
-                /* Update table */
+        /* Update table */
         if(colorsTablePanel == null) {
             colorsTablePanel = new ColorsTablePanel(parent, 
TableType.INTERVALS,
                     colorMapEntries, rasterImageLayer.getNoDataValue(), false);

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java
===================================================================
--- 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java  
    2019-07-28 10:01:07 UTC (rev 6192)
+++ 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/RasterStylesDialog.java  
    2019-08-10 10:09:24 UTC (rev 6193)
@@ -1,13 +1,12 @@
 package org.openjump.core.rasterimage.styler.ui;
 
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.GridBagLayout;
+import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.geom.NoninvertibleTransformException;
 import java.io.File;
-import java.io.IOException;
+import java.util.Collection;
+import java.util.ResourceBundle;
 
 import javax.swing.InputVerifier;
 import javax.swing.JColorChooser;
@@ -23,12 +22,12 @@
 import org.openjump.core.rasterimage.styler.SLDHandler;
 import org.openjump.core.rasterimage.styler.Utils;
 import org.openjump.core.ui.io.file.FileNameExtensionFilter;
-import org.xml.sax.SAXException;
 
 import com.vividsolutions.jump.util.Range;
 import com.vividsolutions.jump.util.StringUtil;
 import com.vividsolutions.jump.workbench.Logger;
 import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.model.Layerable;
 import com.vividsolutions.jump.workbench.model.LayerEventType;
 import com.vividsolutions.jump.workbench.ui.ErrorDialog;
 import 
com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStylePanel;
@@ -44,14 +43,12 @@
 
     /**
      * Creates new form SymbologyDialog
-     * @param parent
-     * @param modal
-     * @param context
-     * @param rasterImageLayer
-     * @param band
-     * @throws java.lang.Exception
+     * @param parent parent frame
+     * @param modal true if Dialog is modal
+     * @param context Workbench Context
+     * @param rasterImageLayer one of the selected RasterImageLayer
+     * @param band raster band to symbolize
      */
-    
     public RasterStylesDialog(java.awt.Frame parent, boolean modal, 
             WorkbenchContext context, RasterImageLayer rasterImageLayer, int 
band) throws Exception {
         
@@ -71,8 +68,7 @@
      * WARNING: Do NOT modify this code. The content of this method is always
      * regenerated by the Form Editor.
      */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated 
Code">//GEN-BEGIN:initComponents
+    //@SuppressWarnings("unchecked")
     private void initComponents() {
         java.awt.GridBagConstraints gridBagConstraints;
 
@@ -119,11 +115,8 @@
         jButton_NoDataValueColor.setMinimumSize(new java.awt.Dimension(40, 
25));
         jButton_NoDataValueColor.setOpaque(true);
         jButton_NoDataValueColor.setPreferredSize(new java.awt.Dimension(40, 
25));
-        jButton_NoDataValueColor.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_NoDataValueColorActionPerformed(evt);
-            }
-        });
+        
jButton_NoDataValueColor.addActionListener(this::jButton_NoDataValueColorActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 1;
         gridBagConstraints.gridy = 0;
@@ -156,7 +149,7 @@
         gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
         jPanel_OtherParams.add(jLabel_Transp_0, gridBagConstraints);
 
-        jSlider_Transparency.setFont(new java.awt.Font("Tahoma", 0, 5)); // 
NOI18N
+        jSlider_Transparency.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 
5)); // NOI18N
         jSlider_Transparency.setForeground(new java.awt.Color(102, 102, 102));
         jSlider_Transparency.setMajorTickSpacing(20);
         jSlider_Transparency.setMinorTickSpacing(5);
@@ -165,11 +158,8 @@
         jSlider_Transparency.setValue(0);
         jSlider_Transparency.setMinimumSize(new java.awt.Dimension(150, 31));
         jSlider_Transparency.setPreferredSize(new java.awt.Dimension(150, 31));
-        jSlider_Transparency.addChangeListener(new 
javax.swing.event.ChangeListener() {
-            public void stateChanged(javax.swing.event.ChangeEvent evt) {
-                jSlider_TransparencyStateChanged(evt);
-            }
-        });
+        
jSlider_Transparency.addChangeListener(this::jSlider_TransparencyStateChanged);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 1;
@@ -195,11 +185,8 @@
         
jCheckBox_NoDataValue.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jCheckBox_NoDataValue.text"));
 // NOI18N
         jCheckBox_NoDataValue.setMaximumSize(new java.awt.Dimension(70, 23));
         jCheckBox_NoDataValue.setMinimumSize(new java.awt.Dimension(70, 23));
-        jCheckBox_NoDataValue.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jCheckBox_NoDataValueActionPerformed(evt);
-            }
-        });
+        
jCheckBox_NoDataValue.addActionListener(this::jCheckBox_NoDataValueActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 0;
         gridBagConstraints.gridy = 0;
@@ -222,11 +209,8 @@
         getContentPane().add(jPanel_OtherParams, gridBagConstraints);
 
         
jButton_Load.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_Load.text"));
 // NOI18N
-               jButton_Load.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_LoadActionPerformed(evt);
-            }
-        });
+        jButton_Load.addActionListener(this::jButton_LoadActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 2;
@@ -233,11 +217,8 @@
         getContentPane().add(jButton_Load, gridBagConstraints);
 
         
jButton_Save.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_Save.text"));
 // NOI18N
-               jButton_Save.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_SaveActionPerformed(evt);
-            }
-        });
+        jButton_Save.addActionListener(this::jButton_SaveActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 1;
         gridBagConstraints.gridy = 2;
@@ -244,11 +225,8 @@
         getContentPane().add(jButton_Save, gridBagConstraints);
 
         
jButton_Cancel.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_Cancel.text"));
 // NOI18N
-        jButton_Cancel.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_CancelActionPerformed(evt);
-            }
-        });
+        jButton_Cancel.addActionListener(this::jButton_CancelActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 0;
         gridBagConstraints.gridy = 2;
@@ -258,11 +236,8 @@
         getContentPane().add(jButton_Cancel, gridBagConstraints);
 
         
jButton_Restore.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_Restore.text"));
 // NOI18N
-        jButton_Restore.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_RestoreActionPerformed(evt);
-            }
-        });
+        
jButton_Restore.addActionListener(this::jButton_RestoreActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 3;
         gridBagConstraints.gridy = 2;
@@ -270,11 +245,8 @@
         getContentPane().add(jButton_Restore, gridBagConstraints);
 
         
jButton_Apply.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_Apply.text"));
 // NOI18N
-        jButton_Apply.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_ApplyActionPerformed(evt);
-            }
-        });
+        jButton_Apply.addActionListener(this::jButton_ApplyActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 4;
         gridBagConstraints.gridy = 2;
@@ -282,11 +254,8 @@
         getContentPane().add(jButton_Apply, gridBagConstraints);
 
         
jButton_OK.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.jButton_OK.text"));
 // NOI18N
-        jButton_OK.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_OKActionPerformed(evt);
-            }
-        });
+        jButton_OK.addActionListener(this::jButton_OKActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 5;
         gridBagConstraints.gridy = 2;
@@ -294,12 +263,17 @@
         getContentPane().add(jButton_OK, gridBagConstraints);
 
         pack();
-    }// </editor-fold>//GEN-END:initComponents
+    }
 
-    private void 
jButton_NoDataValueColorActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_NoDataValueColorActionPerformed
+    private void 
jButton_NoDataValueColorActionPerformed(java.awt.event.ActionEvent evt) {
 
         if(jCheckBox_NoDataValue.isSelected()){            
-            noDataColor =  JColorChooser.showDialog(this, 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle").getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.chooseNoDataColor"),
 jButton_NoDataValueColor.getBackground());
+            noDataColor =  JColorChooser.showDialog(
+                    this,
+                    
ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle")
+                            
.getString("org.openjump.core.rasterimage.styler.ui.RasterStylesDialog.chooseNoDataColor"),
+                    jButton_NoDataValueColor.getBackground()
+            );
             
             if(noDataColor!=null){
                 jButton_NoDataValueColor.setBackground(noDataColor);
@@ -306,33 +280,33 @@
             }
         }             
         
-    }//GEN-LAST:event_jButton_NoDataValueColorActionPerformed
+    }
 
-    private void 
jCheckBox_NoDataValueActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jCheckBox_NoDataValueActionPerformed
+    private void 
jCheckBox_NoDataValueActionPerformed(java.awt.event.ActionEvent evt) {
     
         
jButton_NoDataValueColor.setEnabled(jCheckBox_NoDataValue.isSelected());        
         
-    }//GEN-LAST:event_jCheckBox_NoDataValueActionPerformed
+    }
 
-    private void jButton_LoadActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_LoadActionPerformed
+    private void jButton_LoadActionPerformed(java.awt.event.ActionEvent evt) {
         
         loadSld();
         
-    }//GEN-LAST:event_jButton_LoadActionPerformed
+    }
 
-    private void jButton_SaveActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_SaveActionPerformed
+    private void jButton_SaveActionPerformed(java.awt.event.ActionEvent evt) {
         
         saveSld();
         
-    }//GEN-LAST:event_jButton_SaveActionPerformed
+    }
 
-    private void jButton_CancelActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_CancelActionPerformed
+    private void jButton_CancelActionPerformed(java.awt.event.ActionEvent evt) 
{
         
         closeDialog();
         
-    }//GEN-LAST:event_jButton_CancelActionPerformed
+    }
 
-    private void jButton_ApplyActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_ApplyActionPerformed
+    private void jButton_ApplyActionPerformed(java.awt.event.ActionEvent evt) {
   
         //Update raster image
         try {         
@@ -341,25 +315,37 @@
             Logger.error(ex);
         }
         
-    }//GEN-LAST:event_jButton_ApplyActionPerformed
+    }
 
-    private void 
jSlider_TransparencyStateChanged(javax.swing.event.ChangeEvent evt) 
{//GEN-FIRST:event_jSlider_TransparencyStateChanged
+    private void 
jSlider_TransparencyStateChanged(javax.swing.event.ChangeEvent evt) {
 
         
jTextField_TranspValue.setText(Integer.toString(jSlider_Transparency.getValue()));
         
-    }//GEN-LAST:event_jSlider_TransparencyStateChanged
+    }
 
-    private void jButton_RestoreActionPerformed(java.awt.event.ActionEvent 
evt) {//GEN-FIRST:event_jButton_RestoreActionPerformed
+    private void jButton_RestoreActionPerformed(java.awt.event.ActionEvent 
evt) {
         
         try {
-            restoreToOriginal();
+            Collection<Layerable> layerables = 
context.getLayerableNamePanel().getSelectedLayerables();
+            for (Layerable lyr : layerables) {
+                jButton_NoDataValueColor.setBackground(new java.awt.Color(204, 
204, 204));
+                jButton_NoDataValueColor.setForeground(new java.awt.Color(204, 
204, 204));
+                jSlider_Transparency.setValue(0);
+                jTextField_TranspValue.setText("0");
+                jCheckBox_NoDataValue.setSelected(false);
+                stretchedPanel.reset();
+                intervalPanel.reset();
+                singleValuesPanel.reset();
+                
finalRasterSymbolizer.setColorMapType(RasterSymbology.TYPE_RAMP);
+                if (lyr instanceof RasterImageLayer) 
restoreToOriginal((RasterImageLayer)lyr);
+            }
         } catch (Exception ex) {
             Logger.error(ex);
         }
             
-    }//GEN-LAST:event_jButton_RestoreActionPerformed
+    }
 
-    private void jButton_OKActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_OKActionPerformed
+    private void jButton_OKActionPerformed(java.awt.event.ActionEvent evt) {
         
         //Update raster image and close
         try {         
@@ -369,7 +355,7 @@
             Logger.error( ex);
         }
         
-    }//GEN-LAST:event_jButton_OKActionPerformed
+    }
     
     private void fixComponents() throws Exception{
         
@@ -412,14 +398,13 @@
             
         }
         
-        
-        //add RasterSimbolizer Object in BlackBoard, the key is the name of 
raster plus suffixBBoardKey var.
+        //add RasterSymbolizer Object in BlackBoard, the key is the name of 
raster plus suffixBBoardKey var.
         String bboardKey = 
GUIUtils.getBBKey(String.valueOf(rasterImageLayer.getUUID()));
         context.getBlackboard().put(bboardKey, this);
         
     }
     
-    public void updateRasterImageLayer() throws 
NoninvertibleTransformException, Exception{
+    public void updateRasterImageLayer() throws Exception {
         
         if(jTabbedPane_Type.getSelectedComponent() instanceof StretchedPanel) {
             finalRasterSymbolizer = stretchedPanel.getRasterStyler();
@@ -437,11 +422,22 @@
         } else {
             
finalRasterSymbolizer.addColorMapEntry(rasterImageLayer.getNoDataValue(), null);
         }
-                
+
+        Collection<Layerable> layerables = 
context.getLayerableNamePanel().getSelectedLayerables();
+        for (Layerable lyr : layerables) {
+            if (lyr instanceof RasterImageLayer) apply((RasterImageLayer)lyr);
+        }
+
+    }
+
+    public void apply(RasterImageLayer rasterImageLayer) throws Exception {
         rasterImageLayer.setSymbology(finalRasterSymbolizer);
         context.getLayerManager().fireLayerChanged(rasterImageLayer, 
LayerEventType.APPEARANCE_CHANGED);
-        
     }
+
+    private void restoreToOriginal(RasterImageLayer rasterImageLayer) throws 
NoninvertibleTransformException {
+        rasterImageLayer.setSymbology(null);
+    }
     
     private void saveSld() {
         
@@ -494,16 +490,6 @@
                 // Update GUI
                 updateGUI();
                 
-            } catch (SAXException ex) {
-                ErrorDialog.show(this, StringUtil.toFriendlyName(
-                        ex.getClass().getName()),
-                        ex.toString(),
-                        StringUtil.stackTrace(ex));
-            } catch (IOException ex) {
-                ErrorDialog.show(this, StringUtil.toFriendlyName(
-                        ex.getClass().getName()),
-                        ex.toString(),
-                        StringUtil.stackTrace(ex));
             } catch (Exception ex) {
                 ErrorDialog.show(this, StringUtil.toFriendlyName(
                         ex.getClass().getName()),
@@ -521,10 +507,6 @@
         
     }
     
-    private void restoreToOriginal() throws NoninvertibleTransformException {  
-        rasterImageLayer.setSymbology(null);
-    }
-    
     public double getNoDataValue() {
         return rasterImageLayer.getNoDataValue();
     }
@@ -613,9 +595,6 @@
 
         private static final long serialVersionUID = 2217457292163045134L;
 
-        /**
-         * 
-         */
         private DummyPanel(String label) {
             // GridBagLayout so it gets centered. [Jon Aquino]
             super(new GridBagLayout());

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/SingleValuesPanel.java
===================================================================
--- 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/SingleValuesPanel.java   
    2019-07-28 10:01:07 UTC (rev 6192)
+++ 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/SingleValuesPanel.java   
    2019-08-10 10:09:24 UTC (rev 6193)
@@ -26,12 +26,12 @@
 
     /**
      * Creates new form SingleValuesPanel
-     * @param parent
-     * @param rasterDataNoNull
-     * @param rasterImageLayer
-     * @throws java.lang.Exception
+     * @param parent parent component
+     * @param rasterDataNoNull not null data values in this raster
+     * @param rasterImageLayer raster image to symbolize
      */
-    public SingleValuesPanel(Component parent, double[] rasterDataNoNull, 
RasterImageLayer rasterImageLayer) throws Exception {
+    public SingleValuesPanel(Component parent, double[] rasterDataNoNull, 
RasterImageLayer rasterImageLayer) {
+
         initComponents();
         this.parent = parent;
         this.rasterDataNoNull = rasterDataNoNull;
@@ -41,13 +41,20 @@
         
     }
 
+    public void reset() {
+        try {
+            findUniqueValues();
+            rampAll(true);
+        } catch (Exception ex) {
+            Logger.error(ex);
+        }
+    }
+
     /**
      * This method is called from within the constructor to initialize the 
form.
      * WARNING: Do NOT modify this code. The content of this method is always
      * regenerated by the Form Editor.
      */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated 
Code">//GEN-BEGIN:initComponents
     private void initComponents() {
         java.awt.GridBagConstraints gridBagConstraints;
 
@@ -90,11 +97,8 @@
 
         java.util.ResourceBundle bundle = 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle");
 // NOI18N
         
jButton_Ramp.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.SingleValuesPanel.jButton_RampAll"));
 // NOI18N
-        jButton_Ramp.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_RampActionPerformed(evt);
-            }
-        });
+        jButton_Ramp.addActionListener(this::jButton_RampActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 0;
@@ -102,11 +106,8 @@
         add(jButton_Ramp, gridBagConstraints);
 
         
jButton_Random.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.SingleValuesPanel.jButton_Random"));
 // NOI18N
-        jButton_Random.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_RandomActionPerformed(evt);
-            }
-        });
+        jButton_Random.addActionListener(this::jButton_RandomActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 4;
@@ -114,17 +115,14 @@
         add(jButton_Random, gridBagConstraints);
 
         
jButton1.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.SingleValuesPanel.jButton_Ramp"));
 // NOI18N
-        jButton1.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton1ActionPerformed(evt);
-            }
-        });
+        jButton1.addActionListener(this::jButton1ActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 2;
         gridBagConstraints.gridy = 2;
         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
         add(jButton1, gridBagConstraints);
-    }// </editor-fold>//GEN-END:initComponents
+    }
 
     private void jButton_RampActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_RampActionPerformed
         try {
@@ -132,17 +130,17 @@
         } catch (Exception ex) {
             Logger.error(ex);
         }
-    }//GEN-LAST:event_jButton_RampActionPerformed
+    }
 
-    private void jButton_RandomActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_RandomActionPerformed
+    private void jButton_RandomActionPerformed(java.awt.event.ActionEvent evt) 
{
         try {
             rampAll(true);
         } catch (Exception ex) {
             Logger.error(ex);
         }
-    }//GEN-LAST:event_jButton_RandomActionPerformed
+    }
 
-    private void formComponentShown(java.awt.event.ComponentEvent evt) 
{//GEN-FIRST:event_formComponentShown
+    private void formComponentShown(java.awt.event.ComponentEvent evt) {
 
         if(firstTimeShown && rasterImageLayer.getSymbology() == null) {
             firstTimeShown = false;
@@ -154,15 +152,15 @@
             }
         }
         
-    }//GEN-LAST:event_formComponentShown
+    }
 
-    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton1ActionPerformed
+    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
         try {
             rampColors();
         } catch (Exception ex) {
             Logger.error(ex);
         }
-    }//GEN-LAST:event_jButton1ActionPerformed
+    }
 
     private void fixComponents() {
        
@@ -265,7 +263,7 @@
     }
     
     private void updateTable(ColorMapEntry[] colorMapEntries) {
-                /* Update table */
+        /* Update table */
         if(colorsTablePanel == null) {
             colorsTablePanel = new ColorsTablePanel(parent, 
ColorsTablePanel.TableType.VALUES,
                     colorMapEntries, rasterImageLayer.getNoDataValue(), 
integerValues);

Modified: 
core/trunk/src/org/openjump/core/rasterimage/styler/ui/StretchedPanel.java
===================================================================
--- core/trunk/src/org/openjump/core/rasterimage/styler/ui/StretchedPanel.java  
2019-07-28 10:01:07 UTC (rev 6192)
+++ core/trunk/src/org/openjump/core/rasterimage/styler/ui/StretchedPanel.java  
2019-08-10 10:09:24 UTC (rev 6193)
@@ -1,10 +1,13 @@
 package org.openjump.core.rasterimage.styler.ui;
 
 import com.vividsolutions.jump.util.Range;
-import java.awt.Color;
+
+import com.vividsolutions.jump.workbench.Logger;
 import org.openjump.core.rasterimage.styler.ColorMapEntry;
 import org.openjump.core.rasterimage.RasterSymbology;
 
+import java.util.ResourceBundle;
+
 /**
  *
  * @author GeomaticaEAmbiente
@@ -13,10 +16,9 @@
 
     /**
      * Creates new form StretchedPanel
-     * @param range
-     * @throws java.lang.Exception
+     * @param range range of pixel values
      */
-    public StretchedPanel(Range range) throws Exception {
+    public StretchedPanel(Range range) {
 
         initComponents();
 
@@ -27,13 +29,28 @@
         
     }
 
+    public void reset() {
+
+        try {
+            jCheckBox_Invert.setSelected(false);
+            comboBox_Gradient.setSelectedIndex(0);
+            comboBox_Gradient.getModel().getElementAt(0);
+            ColorMapEntry[] paletteColorMapEntries = ((GradientCanvas) 
comboBox_Gradient.getModel().getElementAt(0)).getColorMapEntries();
+            updateRasterStyler(paletteColorMapEntries);
+            GUIUtils utils = new GUIUtils();
+            utils.setGradientPanel(jPanel_ShowGradient, 
paletteColorMapEntries);
+            this.updateUI();
+        } catch (Exception ex){
+            Logger.error(ex);
+        }
+
+    }
+
     /**
      * This method is called from within the constructor to initialize the 
form.
      * WARNING: Do NOT modify this code. The content of this method is always
      * regenerated by the Form Editor.
      */
-    @SuppressWarnings("unchecked")
-    // <editor-fold defaultstate="collapsed" desc="Generated 
Code">//GEN-BEGIN:initComponents
     private void initComponents() {
         java.awt.GridBagConstraints gridBagConstraints;
 
@@ -59,7 +76,7 @@
         setLayout(new java.awt.GridBagLayout());
 
         jLabel_Value.setFont(new java.awt.Font("Tahoma", 2, 11)); // NOI18N
-        java.util.ResourceBundle bundle = 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle");
 // NOI18N
+        ResourceBundle bundle = 
java.util.ResourceBundle.getBundle("org/openjump/core/rasterimage/styler/resources/Bundle");
 // NOI18N
         
jLabel_Value.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.StretchedPanel.jLabel_Value.text"));
 // NOI18N
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 1;
@@ -123,11 +140,8 @@
         add(jPanel_ShowGradient, gridBagConstraints);
 
         
jButton_Custom.setText(bundle.getString("org.openjump.core.rasterimage.styler.ui.StretchedPanel.jButton_Custom.text"));
 // NOI18N
-        jButton_Custom.addActionListener(new java.awt.event.ActionListener() {
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                jButton_CustomActionPerformed(evt);
-            }
-        });
+        jButton_Custom.addActionListener(this::jButton_CustomActionPerformed);
+
         gridBagConstraints = new java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 3;
         gridBagConstraints.gridy = 3;
@@ -140,23 +154,23 @@
         gridBagConstraints.gridy = 4;
         gridBagConstraints.gridwidth = 2;
         add(jCheckBox_Invert, gridBagConstraints);
-    }// </editor-fold>//GEN-END:initComponents
+    }
 
-    private void formComponentShown(java.awt.event.ComponentEvent evt) 
{//GEN-FIRST:event_formComponentShown
+    private void formComponentShown(java.awt.event.ComponentEvent evt) {
 
         //Set label for elevation
         jLabel_MinValue.setText(Double.toString(GUIUtils.round(minValue, 3)));
         jLabel_MaxValue.setText(Double.toString(GUIUtils.round(maxValue, 3)));
         
-    }//GEN-LAST:event_formComponentShown
+    }
 
-    private void jButton_CustomActionPerformed(java.awt.event.ActionEvent evt) 
{//GEN-FIRST:event_jButton_CustomActionPerformed
+    private void jButton_CustomActionPerformed(java.awt.event.ActionEvent evt) 
{
              
         customGradient();
         
-    }//GEN-LAST:event_jButton_CustomActionPerformed
+    }
 
-    private void comboBox_GrdientActionPerformed(java.awt.event.ActionEvent 
evt) {
+    private void comboBox_GradientActionPerformed(java.awt.event.ActionEvent 
evt) {
         
         try{
             if (comboBox_Gradient != null) {                
@@ -167,12 +181,12 @@
                 GUIUtils utils = new GUIUtils();
                 utils.setGradientPanel(jPanel_ShowGradient, 
paletteColorMapEntries);            
             }
-        }catch (Exception ex){
-            System.out.println(ex);
+        } catch (Exception ex){
+            Logger.error(ex);
         }
     }
 
-    private void fixComponents() throws Exception {
+    private void fixComponents() {
          
         setComboBox();
         GUIUtils.addGradientComboBoxToList(comboBox_Gradient);
@@ -191,12 +205,7 @@
     private void setComboBox() {
 
         comboBox_Gradient = GUIUtils.createStandardGradientComboBox(width, 
height);
-        comboBox_Gradient.addActionListener(new 
java.awt.event.ActionListener() {
-            @Override
-            public void actionPerformed(java.awt.event.ActionEvent evt) {
-                comboBox_GrdientActionPerformed(evt);
-            }
-        });
+        
comboBox_Gradient.addActionListener(this::comboBox_GradientActionPerformed);
 
         java.awt.GridBagConstraints gridBagConstraints = new 
java.awt.GridBagConstraints();
         gridBagConstraints.gridx = 0;
@@ -228,7 +237,7 @@
         
     }
     
-    private void updateRasterStyler(ColorMapEntry[] colorMapEntries) throws 
Exception{
+    private void updateRasterStyler(ColorMapEntry[] colorMapEntries) {
         
         rasterSymbology = new RasterSymbology(RasterSymbology.TYPE_RAMP);
         for (ColorMapEntry paletteColorMapEntrie : colorMapEntries) {
@@ -235,6 +244,7 @@
             double quantity = (maxValue - minValue) * 
paletteColorMapEntrie.getUpperValue() + minValue;
             rasterSymbology.addColorMapEntry(quantity, 
paletteColorMapEntrie.getColor());
         }
+
     }
     
     public void plugRasterSymbology(RasterSymbology rasterSymbology) throws 
Exception {
@@ -255,12 +265,9 @@
             double relVal = 
(rasterSymbology.getColorMapEntries()[i].getUpperValue() - minVal)  / (maxVal - 
minVal);
             relColMapEntries[i-1] = new ColorMapEntry(relVal, 
rasterSymbology.getColorMapEntries()[i].getColor());
         }
-        
-        
+
         GUIUtils.updateGradientComboBoxes(relColMapEntries, width, height);
         comboBox_Gradient.setSelectedIndex(comboBox_Gradient.getItemCount()-1);
-        
-//        rasterSymbology = rasterSymbology;        
     
     }
             
@@ -309,7 +316,5 @@
         
         return rasterSymbology;
     }
-  
-    
 
 }

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditor.java
===================================================================
--- 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditor.java  
    2019-07-28 10:01:07 UTC (rev 6192)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditor.java  
    2019-08-10 10:09:24 UTC (rev 6193)
@@ -8,6 +8,8 @@
 
 import com.vividsolutions.jump.workbench.WorkbenchContext;
 import java.io.IOException;
+import java.util.Collection;
+
 import org.openjump.core.rasterimage.RasterSymbology;
 
 /**
@@ -71,10 +73,14 @@
             double value = layer.getMetadata().getStats().getMin(0) + c * 
interval;
             symbology.addColorMapEntry(value, color);
         }
+
+        Collection selectedNodes = 
context.getLayerableNamePanel().selectedNodes(RasterImageLayer.class);
+        for (Object node : selectedNodes) {
+            RasterImageLayer rasterImageLayer = (RasterImageLayer) node;
+            rasterImageLayer.setSymbology(symbology);
+        }
         
-        layer.setSymbology(symbology);
         
-        
 //        Raster raster = layer.getImage().getRaster();
 //        
 //        /**

Modified: 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditorPlugIn.java
===================================================================
--- 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditorPlugIn.java
        2019-07-28 10:01:07 UTC (rev 6192)
+++ 
core/trunk/src/org/openjump/core/ui/plugin/raster/color/RasterColorEditorPlugIn.java
        2019-08-10 10:09:24 UTC (rev 6193)
@@ -1,6 +1,5 @@
 package org.openjump.core.ui.plugin.raster.color;
 
-import org.openjump.core.apitools.LayerTools;
 import org.openjump.core.rasterimage.RasterImageLayer;
 import org.openjump.core.rasterimage.styler.RasterStylesPlugIn;
 
@@ -23,8 +22,6 @@
  */
 public class RasterColorEditorPlugIn extends AbstractPlugIn {
 
-    private String sName = "Raster Color Editor";
-    
        public RasterColorEditorPlugIn() {
 
        }
@@ -33,28 +30,24 @@
 
                super.initialize(context);
 
-               this.sName = 
I18N.get("org.openjump.core.ui.plugin.raster.color.RasterColorEditorPlugIn.Raster-Color-Editor");
+               String sName = 
I18N.get("org.openjump.core.ui.plugin.raster.color.RasterColorEditorPlugIn.Raster-Color-Editor");
                
-               context
-               .getFeatureInstaller()
-               .addMainMenuItem(
+               context.getFeatureInstaller().addMainMenuPlugin(
                                this,
                                new String[] {MenuNames.RASTER},
-                               this.sName + "...", 
+                               sName + "...",
                                false,
                                IconLoader.icon("color_wheel.png"),
-
                                new MultiEnableCheck()
-                               .add(
-                                               new EnableCheckFactory(context
-                                                               
.getWorkbenchContext())
-                                               
.createWindowWithLayerViewPanelMustBeActiveCheck())
                                                .add(
-                                                               new 
EnableCheckFactory(context
-                                                                               
.getWorkbenchContext())
-                                                               
.createAtLeastNLayerablesMustBeSelectedCheck(
-                                                                               
1, RasterImageLayer.class))
-
+                                                               new 
EnableCheckFactory(context.getWorkbenchContext())
+                                                                               
.createWindowWithLayerViewPanelMustBeActiveCheck()
+                                               )
+                                               .add(
+                                                               new 
EnableCheckFactory(context.getWorkbenchContext())
+                                                                               
.createAtLeastNLayerablesMustBeSelectedCheck(
+                                                                               
                1, RasterImageLayer.class)
+                               )
                );
 
        }
@@ -62,16 +55,7 @@
        public boolean execute(PlugInContext context) throws Exception {
 
                 new RasterStylesPlugIn().execute(context);
-                       /*      RasterImageLayer actualLayer = 
(RasterImageLayer) LayerTools.getSelectedLayerable(context, 
RasterImageLayer.class);
-
-                               RasterColorEditorDialog rasterColorEditor = new 
RasterColorEditorDialog(
-                                               context, actualLayer);
-
-                               rasterColorEditor.setVisible(true);*/
-
-                               //System.out.println(actualLayer);
-
-               return true;
+                return true;
        }
 
 }



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

Reply via email to