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