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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel