Revision: 4950
          http://sourceforge.net/p/jump-pilot/code/4950
Author:   ma15569
Date:     2016-07-05 15:11:41 +0000 (Tue, 05 Jul 2016)
Log Message:
-----------
Add capability to read SRID from auxiliary file (prj or aux) or geotiff tag, if 
present

Modified Paths:
--------------
    core/trunk/src/org/openjump/core/ui/plugin/layer/ChangeSRIDPlugIn.java

Modified: core/trunk/src/org/openjump/core/ui/plugin/layer/ChangeSRIDPlugIn.java
===================================================================
--- core/trunk/src/org/openjump/core/ui/plugin/layer/ChangeSRIDPlugIn.java      
2016-07-05 15:00:07 UTC (rev 4949)
+++ core/trunk/src/org/openjump/core/ui/plugin/layer/ChangeSRIDPlugIn.java      
2016-07-05 15:11:41 UTC (rev 4950)
@@ -3,6 +3,7 @@
 import javax.swing.JOptionPane;
 
 import org.openjump.core.ccordsys.srid.SRIDStyle;
+import org.openjump.core.ccordsys.utils.ProjUtils;
 
 import com.vividsolutions.jump.I18N;
 import com.vividsolutions.jump.workbench.model.Layer;
@@ -17,42 +18,56 @@
 
 public class ChangeSRIDPlugIn extends AbstractPlugIn {
     public void initialize(PlugInContext context) throws Exception {
-        EnableCheckFactory enableCheckFactory = new EnableCheckFactory(context
-                .getWorkbenchContext());
+        EnableCheckFactory enableCheckFactory = new EnableCheckFactory(
+                context.getWorkbenchContext());
         EnableCheck enableCheck = new MultiEnableCheck().add(
                 enableCheckFactory
                         .createWindowWithLayerManagerMustBeActiveCheck()).add(
                 enableCheckFactory.createExactlyNLayersMustBeSelectedCheck(1));
-        new 
FeatureInstaller(context.getWorkbenchContext()).addMainMenuPlugin(this,
-                new String[]{MenuNames.LAYER}, getName() + "...", false, null, 
enableCheck);
+        new FeatureInstaller(context.getWorkbenchContext()).addMainMenuPlugin(
+                this, new String[] { MenuNames.LAYER }, getName() + "...",
+                false, null, enableCheck);
     }
-    
-    public String getName(){
-       return 
I18N.get("org.openjump.core.ui.plugin.layer.ChangeSRIDPlugIn.Change-SRID"); 
+
+    public String getName() {
+        return I18N
+                
.get("org.openjump.core.ui.plugin.layer.ChangeSRIDPlugIn.Change-SRID");
     }
-    
+
     public boolean execute(PlugInContext context) throws Exception {
         reportNothingToUndoYet(context);
         final Layer layer = context.getSelectedLayer(0);
         final SRIDStyle sridStyle = (SRIDStyle) 
layer.getStyle(SRIDStyle.class);
-        final int oldSRID = sridStyle.getSRID();
-        String input = (String) JOptionPane.showInputDialog(context
-                .getWorkbenchFrame(), "SRID:", getName(),
-                JOptionPane.PLAIN_MESSAGE, null, null, "" + oldSRID);
+        final int prjSRID = ProjUtils.SRID(layer);
+        String input = null;
+
+        input = (String) JOptionPane.showInputDialog(
+                context.getWorkbenchFrame(), "SRID:", getName(),
+                JOptionPane.PLAIN_MESSAGE, null, null, "" + prjSRID);
         if (input == null) {
             return false;
         }
         final int newSRID = Integer.parseInt(input);
         execute(new UndoableCommand(getName()) {
             public void execute() {
-                sridStyle.setSRID(newSRID);
-                sridStyle.updateSRIDs(layer);
+                if (newSRID != prjSRID) {
+                    sridStyle.setSRID(newSRID);
+                    sridStyle.updateSRIDs(layer);
+                } else if (newSRID == prjSRID) {
+                    // sridStyle.setSRID(oldSRID);
+                    sridStyle.setEnabled(false);
+                    layer.removeStyle(sridStyle);
+                    layer.fireAppearanceChanged();
+                }
+
             }
+
             public void unexecute() {
-                sridStyle.setSRID(oldSRID);
+                sridStyle.setSRID(prjSRID);
                 sridStyle.updateSRIDs(layer);
             }
         }, context);
         return true;
     }
+
 }


------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to