diff --git a/plugins/org.locationtech.udig.bookmarks/src/org/locationtech/udig/bookmarks/internal/command/GotoBookmarkCommand.java b/plugins/org.locationtech.udig.bookmarks/src/org/locationtech/udig/bookmarks/internal/command/GotoBookmarkCommand.java
index 6b4a3477a6..d1e42f35f0 100644
--- a/plugins/org.locationtech.udig.bookmarks/src/org/locationtech/udig/bookmarks/internal/command/GotoBookmarkCommand.java
+++ b/plugins/org.locationtech.udig.bookmarks/src/org/locationtech/udig/bookmarks/internal/command/GotoBookmarkCommand.java
@@ -10,9 +10,8 @@
package org.locationtech.udig.bookmarks.internal.command;
import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.command.Command;
+import org.locationtech.udig.project.command.navigation.AbstractNavCommand;
import org.locationtech.udig.project.internal.ProjectPlugin;
-import org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand;
import org.locationtech.udig.project.render.IViewportModel;
import org.locationtech.udig.project.ui.ApplicationGIS;
@@ -47,7 +46,7 @@ protected void runImpl( IProgressMonitor monitor ) throws Exception {
.getResourceSet().getResource(mapID, true).getContents().get(0));
ApplicationGIS.openMap(map);
IViewportModel v = map.getViewportModel();
-
+
final ReferencedEnvelope bookmarkEnvelope = target.getEnvelope();
final Envelope viewportBounds = v.getBounds();
@@ -55,7 +54,7 @@ protected void runImpl( IProgressMonitor monitor ) throws Exception {
final CoordinateReferenceSystem bookmarkCrs = bookmarkEnvelope.getCoordinateReferenceSystem();
final ReferencedEnvelope bookmarkedEnvelopeInVieportCRS;
-
+
if(bookmarkCrs.equals(viewportCrs)){
bookmarkedEnvelopeInVieportCRS = bookmarkEnvelope;
}else{
@@ -71,12 +70,9 @@ protected void runImpl( IProgressMonitor monitor ) throws Exception {
}
}
- public Command copy() {
- return null;
- }
-
+ @Override
public String getName() {
- return null;
+ return null; // TODO NLS
}
}
diff --git a/plugins/org.locationtech.udig.catalog.wmt/src/org/locationtech/udig/catalog/internal/wmt/ui/view/WMTZoomLevelSwitcher.java b/plugins/org.locationtech.udig.catalog.wmt/src/org/locationtech/udig/catalog/internal/wmt/ui/view/WMTZoomLevelSwitcher.java
index 0770c34289..6e26189919 100644
--- a/plugins/org.locationtech.udig.catalog.wmt/src/org/locationtech/udig/catalog/internal/wmt/ui/view/WMTZoomLevelSwitcher.java
+++ b/plugins/org.locationtech.udig.catalog.wmt/src/org/locationtech/udig/catalog/internal/wmt/ui/view/WMTZoomLevelSwitcher.java
@@ -23,8 +23,8 @@
import org.locationtech.udig.project.IMap;
import org.locationtech.udig.project.IMapCompositionListener;
import org.locationtech.udig.project.MapCompositionEvent;
+import org.locationtech.udig.project.command.navigation.SetScaleCommand;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.commands.SetScaleCommand;
import org.locationtech.udig.project.render.IViewportModelListener;
import org.locationtech.udig.project.render.ViewportModelEvent;
import org.locationtech.udig.project.ui.ApplicationGIS;
diff --git a/plugins/org.locationtech.udig.issues/src/org/locationtech/udig/issues/FeatureIssue.java b/plugins/org.locationtech.udig.issues/src/org/locationtech/udig/issues/FeatureIssue.java
index 50d006d07c..d206f87856 100644
--- a/plugins/org.locationtech.udig.issues/src/org/locationtech/udig/issues/FeatureIssue.java
+++ b/plugins/org.locationtech.udig.issues/src/org/locationtech/udig/issues/FeatureIssue.java
@@ -34,6 +34,7 @@
import org.locationtech.udig.project.IProject;
import org.locationtech.udig.project.command.NavCommand;
import org.locationtech.udig.project.command.UndoableComposite;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.project.ui.internal.ApplicationGISInternal;
import org.locationtech.udig.project.ui.internal.FeatureEditorLoader;
@@ -50,7 +51,7 @@
/**
* Represents a problem or issue with a feature. The map containing the feature and the
* FeatureEditor will both be show. The map will be zoomed to show the feature.
- *
+ *
* @author jones
* @since 1.0.0
*/
@@ -60,7 +61,7 @@ public class FeatureIssue extends AbstractIssue {
private static final String LAYER_KEY = "layer"; //$NON-NLS-1$
private static final String PROJECT_KEY = "project"; //$NON-NLS-1$
private static final String FEATURE_KEY = "feature"; //$NON-NLS-1$
-
+
private SimpleFeature feature;
private String viewid;
private FeatureEditorLoader featureEditorLoader;
@@ -75,33 +76,33 @@ public class FeatureIssue extends AbstractIssue {
private static boolean testing=false;
public FeatureIssue( ){
-
+
}
-
+
public FeatureIssue( Priority priority, String description, ILayer containingLayer, SimpleFeature feature, String groupId ) {
assert groupId!=null && priority!=null && containingLayer!=null && feature!=null;
-
+
setPriority(priority);
setDescription(description);
this.layer=containingLayer;
this.feature = feature;
featureEditorLoader = ApplicationGISInternal.getFeatureEditorLoader(feature);
viewid = featureEditorLoader.getViewId();
-
+
setGroupId(groupId);
setBounds(new ReferencedEnvelope(feature.getBounds()));
}
-
+
@Override
public void setId( String id ) {
super.setId(id);
}
-
+
@Override
public String getEditorID() {
return MapEditorWithPalette.ID;
}
-
+
@Override
public IEditorInput getEditorInput() {
return new MapEditorInput(getLayer().getMap());
@@ -110,11 +111,12 @@ public IEditorInput getEditorInput() {
@Override
public String getViewPartId() {
if( viewid==null ){
-
+
}
return viewid;
}
+ @Override
public String getProblemObject() {
SimpleFeature feature = getFeature();
SimpleFeatureType featureType = feature.getFeatureType();
@@ -135,7 +137,7 @@ public String getProblemObject() {
private String getAttribute(SimpleFeature feature, SimpleFeatureType featureType,
String attName) {
- int attributeIndex = featureType.indexOf(attName);
+ int attributeIndex = featureType.indexOf(attName);
if ( attributeIndex!=-1 ){
Object attribute = feature.getAttribute(attributeIndex);
return attribute.toString();
@@ -143,15 +145,17 @@ private String getAttribute(SimpleFeature feature, SimpleFeatureType featureType
return null;
}
+ @Override
public void fixIssue( IViewPart part, IEditorPart editor ) {
if( getLayer() == null ){
Display.getDefault().asyncExec(new Runnable() {
- public void run() {
+ @Override
+ public void run() {
Shell parent = Display.getCurrent().getActiveShell();
String title = Messages.FeatureIssue_DialogText;
String message = Messages.FeatureIssue_DialogMessage;
MessageDialog.openInformation(parent, title, message);
-
+
}
});
return;
@@ -169,7 +173,7 @@ public void run() {
if( tool !=null ){
tool.run();
}
- NavCommand zoom = context.getNavigationFactory().createSetViewportBBoxCommand(
+ NavCommand zoom = new SetViewportBBoxCommand(
bounds, crs);
context.sendASyncCommand(zoom);
composite.getCommands().add(context.getSelectionFactory().createFIDSelectCommand(getLayer(),getFeature()));
@@ -177,10 +181,12 @@ public void run() {
context.sendASyncCommand(composite);
}
- public String getExtensionID() {
+ @Override
+ public String getExtensionID() {
return EXT_ID;
}
+ @Override
public void init( IMemento memento, IMemento viewMemento, String issueId, String groupId, ReferencedEnvelope bounds ) {
if( !testing || memento!=null ){
mapID=memento.getString(MAP_KEY);
@@ -194,6 +200,7 @@ public void init( IMemento memento, IMemento viewMemento, String issueId, String
setBounds(bounds);
}
+ @Override
public void save( IMemento memento ) {
memento.putString(MAP_KEY, getLayer().getMap().getID().toString());
memento.putString(LAYER_KEY, getLayer().getID().toString());
@@ -248,7 +255,7 @@ private ILayer getLayer() {
}
if( foundMap==null )
throw new IllegalStateException("This issue is not legal for this uDig instance because the map:"+mapID+" cannot be found."); //$NON-NLS-1$//$NON-NLS-2$
-
+
List layers= foundMap.getMapLayers();
for( ILayer layer : layers ) {
if( layer.getID().toString().equals(layerID) ){
@@ -268,5 +275,5 @@ public static void setTesting( boolean b ) {
testing=b;
}
-
+
}
diff --git a/plugins/org.locationtech.udig.location/src/org/locationtech/udig/location/ui/LocationView.java b/plugins/org.locationtech.udig.location/src/org/locationtech/udig/location/ui/LocationView.java
index dd162bcd3a..148d3360c6 100644
--- a/plugins/org.locationtech.udig.location/src/org/locationtech/udig/location/ui/LocationView.java
+++ b/plugins/org.locationtech.udig.location/src/org/locationtech/udig/location/ui/LocationView.java
@@ -21,7 +21,7 @@
import org.locationtech.udig.location.internal.Messages;
import org.locationtech.udig.project.IMap;
import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.ui.SearchPart;
diff --git a/plugins/org.locationtech.udig.mapgraphic/src/org/locationtech/udig/mapgraphic/AbstractToggleMapGraphicAction.java b/plugins/org.locationtech.udig.mapgraphic/src/org/locationtech/udig/mapgraphic/AbstractToggleMapGraphicAction.java
index 2abb498751..4e24119084 100644
--- a/plugins/org.locationtech.udig.mapgraphic/src/org/locationtech/udig/mapgraphic/AbstractToggleMapGraphicAction.java
+++ b/plugins/org.locationtech.udig.mapgraphic/src/org/locationtech/udig/mapgraphic/AbstractToggleMapGraphicAction.java
@@ -21,9 +21,9 @@
import org.locationtech.udig.mapgraphic.internal.MapGraphicService;
import org.locationtech.udig.project.ILayer;
import org.locationtech.udig.project.command.UndoableComposite;
-import org.locationtech.udig.project.command.factory.BasicCommandFactory;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
+import org.locationtech.udig.project.internal.commands.AddLayerCommand;
import org.locationtech.udig.project.internal.commands.DeleteLayerCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.project.ui.internal.ApplicationGISInternal;
@@ -39,8 +39,8 @@
* This is a helper class for MapGraphics that should be toggled on and off. Some good candidates
* are: Scalebar and legend.
*
- * This Example is the adding a Toggle action for LegendGraphic.
- *
+ * This Example is the adding a Toggle action for LegendGraphic.
+ *
*
The following xml snippet must be added to the plugin.xml
*
*
@@ -72,10 +72,10 @@
* protected String getExtensionID() {
* return "legend"; //$NON-NLS-1$
* }
- *
+ *
* public void init( IWorkbenchWindow window ) {
* }
- *
+ *
* }
*
*
@@ -151,7 +151,7 @@ private void addLegend() {
if (legendResource == null)
return;
Layer layer = map.getLayerFactory().createLayer(legendResource);
- map.sendCommandSync(BasicCommandFactory.getInstance().createAddLayer(layer));
+ map.sendCommandSync(new AddLayerCommand(layer));
} catch (MalformedURLException e) {
MapGraphicPlugin.log("", e); //$NON-NLS-1$
} catch (IOException e) {
@@ -164,6 +164,7 @@ private void addLegend() {
protected abstract String getExtensionID();
+ @Override
public void init( IWorkbenchWindow window ) {
}
diff --git a/plugins/org.locationtech.udig.printing.model/src/org/locationtech/udig/printing/model/impl/MapBoxPrinter.java b/plugins/org.locationtech.udig.printing.model/src/org/locationtech/udig/printing/model/impl/MapBoxPrinter.java
index bd3de04407..f3257fc4f9 100644
--- a/plugins/org.locationtech.udig.printing.model/src/org/locationtech/udig/printing/model/impl/MapBoxPrinter.java
+++ b/plugins/org.locationtech.udig.printing.model/src/org/locationtech/udig/printing/model/impl/MapBoxPrinter.java
@@ -26,9 +26,9 @@
import org.locationtech.udig.project.LayerEvent;
import org.locationtech.udig.project.MapCompositionEvent;
import org.locationtech.udig.project.MapEvent;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
import org.locationtech.udig.project.render.IViewportModel;
import org.locationtech.udig.project.render.IViewportModelListener;
diff --git a/plugins/org.locationtech.udig.printing.ui/src/org/locationtech/udig/printing/ui/pdf/ExportPDFWizard.java b/plugins/org.locationtech.udig.printing.ui/src/org/locationtech/udig/printing/ui/pdf/ExportPDFWizard.java
index a48a7fbdb1..ab188ba120 100644
--- a/plugins/org.locationtech.udig.printing.ui/src/org/locationtech/udig/printing/ui/pdf/ExportPDFWizard.java
+++ b/plugins/org.locationtech.udig.printing.ui/src/org/locationtech/udig/printing/ui/pdf/ExportPDFWizard.java
@@ -38,9 +38,9 @@
import org.locationtech.udig.printing.ui.internal.PrintingEngine;
import org.locationtech.udig.printing.ui.internal.PrintingPlugin;
import org.locationtech.udig.project.IBlackboard;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.project.ui.BoundsStrategy;
import org.locationtech.udig.project.ui.SelectionStyle;
diff --git a/plugins/org.locationtech.udig.project.tests/src/org/locationtech/udig/project/internal/commands/SetScaleCommandTest.java b/plugins/org.locationtech.udig.project.tests/src/org/locationtech/udig/project/internal/commands/SetScaleCommandTest.java
index 4712254baf..2fc538bd1e 100644
--- a/plugins/org.locationtech.udig.project.tests/src/org/locationtech/udig/project/internal/commands/SetScaleCommandTest.java
+++ b/plugins/org.locationtech.udig.project.tests/src/org/locationtech/udig/project/internal/commands/SetScaleCommandTest.java
@@ -5,6 +5,7 @@
import org.easymock.EasyMock;
import org.eclipse.core.runtime.IProgressMonitor;
import org.junit.Test;
+import org.locationtech.udig.project.command.navigation.SetScaleCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
public class SetScaleCommandTest {
@@ -13,12 +14,6 @@ public class SetScaleCommandTest {
private static final double PREVIOUS_SCALE = 1 / 500;
- @Test
- public void testCopy() throws Exception {
- SetScaleCommand setScaleCommand = new SetScaleCommand(SCALE_TO_SET);
- assertNotSame(setScaleCommand, setScaleCommand.copy());
- }
-
@Test
public void ifModelIsSetSetScaleIsCalled() throws Exception {
SetScaleCommand setScaleCommand = new SetScaleCommand(SCALE_TO_SET);
diff --git a/plugins/org.locationtech.udig.project.ui.tests/src/org/locationtech/udig/project/tests/ui/internal/commands/draw/TestDrawCoordinateCommandHandler.java b/plugins/org.locationtech.udig.project.ui.tests/src/org/locationtech/udig/project/tests/ui/internal/commands/draw/TestDrawCoordinateCommandHandler.java
index 4065057c27..c23e5eb501 100644
--- a/plugins/org.locationtech.udig.project.ui.tests/src/org/locationtech/udig/project/tests/ui/internal/commands/draw/TestDrawCoordinateCommandHandler.java
+++ b/plugins/org.locationtech.udig.project.ui.tests/src/org/locationtech/udig/project/tests/ui/internal/commands/draw/TestDrawCoordinateCommandHandler.java
@@ -38,7 +38,7 @@
import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.CompositeCommand;
import org.locationtech.udig.project.command.MapCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportCenterCommand;
+import org.locationtech.udig.project.command.navigation.SetViewportCenterCommand;
import org.locationtech.udig.project.ui.AnimationUpdater;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.project.ui.IAnimation;
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/controls/ScaleRatioLabel.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/controls/ScaleRatioLabel.java
index 0844d634b0..6a93e6d8af 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/controls/ScaleRatioLabel.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/controls/ScaleRatioLabel.java
@@ -27,7 +27,7 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.PlatformUI;
-import org.locationtech.udig.project.internal.commands.SetScaleCommand;
+import org.locationtech.udig.project.command.navigation.SetScaleCommand;
import org.locationtech.udig.project.render.IViewportModel;
import org.locationtech.udig.project.render.IViewportModelListener;
import org.locationtech.udig.project.render.ViewportModelEvent.EventType;
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/CRSPropertyPage.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/CRSPropertyPage.java
index d6a58307cf..217e09fe81 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/CRSPropertyPage.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/CRSPropertyPage.java
@@ -25,10 +25,10 @@
import org.locationtech.udig.project.ILayer;
import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.UndoableComposite;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
import org.locationtech.udig.project.internal.ProjectPlugin;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.commands.ChangeCRSCommand;
import org.locationtech.udig.project.ui.internal.commands.SetLayerCRSCommand;
import org.locationtech.udig.ui.CRSChooser;
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/actions/ZoomToLayer.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/actions/ZoomToLayer.java
index 14edb1a248..66115bd37d 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/actions/ZoomToLayer.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/actions/ZoomToLayer.java
@@ -25,9 +25,9 @@
import org.eclipse.ui.actions.ActionDelegate;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.render.impl.ScaleUtils;
import org.locationtech.udig.project.ui.internal.ProjectUIPlugin;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/properties/GeometryPropertyDescriptor.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/properties/GeometryPropertyDescriptor.java
index 96000b469f..d1d9290867 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/properties/GeometryPropertyDescriptor.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/properties/GeometryPropertyDescriptor.java
@@ -30,8 +30,8 @@
import org.geotools.geometry.jts.JTS;
import org.locationtech.jts.geom.Envelope;
import org.locationtech.jts.geom.Geometry;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.internal.MapEditorPart;
import org.locationtech.udig.project.ui.internal.Messages;
import org.locationtech.udig.project.ui.internal.ProjectUIPlugin;
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/ToolContext.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/ToolContext.java
index 20e04c1311..4b420abfc2 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/ToolContext.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/ToolContext.java
@@ -15,7 +15,6 @@
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbench;
import org.locationtech.udig.project.command.factory.EditCommandFactory;
-import org.locationtech.udig.project.command.factory.NavigationCommandFactory;
import org.locationtech.udig.project.command.factory.SelectionCommandFactory;
import org.locationtech.udig.project.internal.AbstractContext;
import org.locationtech.udig.project.ui.commands.DrawCommandFactory;
@@ -61,13 +60,6 @@ public interface ToolContext extends IToolContext, AbstractContext {
*/
EditCommandFactory getEditFactory();
- /**
- * Returns a NavigationCommandFactory
- *
- * @return a NavigationCommandFactory
- * @deprecated Please use navigation commands directly
- */
- NavigationCommandFactory getNavigationFactory();
/**
* Returns the current workbench.
*
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/display/ToolManager.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/display/ToolManager.java
index 1631cbb286..e15ef678cd 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/display/ToolManager.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/display/ToolManager.java
@@ -1010,7 +1010,7 @@ public void run() {
forwardAction.setActionDefinitionId("org.eclipse.ui.navigate.forward"); //$NON-NLS-1$
}
if (activeMap != ApplicationGIS.NO_MAP)
- forwardAction.setEnabled(activeMap.getCommandStack().canRedo());
+ forwardAction.setEnabled(activeMap.getNavCommandStack().hasForwardHistory());
else
forwardAction.setEnabled(false);
return forwardAction;
@@ -1099,7 +1099,7 @@ public void run() {
backwardAction.setActionDefinitionId("org.eclipse.ui.navigate.back"); //$NON-NLS-1$
}
if (activeMap != ApplicationGIS.NO_MAP)
- backwardAction.setEnabled(activeMap.getCommandStack().canUndo());
+ backwardAction.setEnabled(activeMap.getNavCommandStack().hasBackHistory());
else
backwardAction.setEnabled(false);
}finally{
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/impl/ToolContextImpl.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/impl/ToolContextImpl.java
index 6b0b9195c7..bd3cdbb3da 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/impl/ToolContextImpl.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/internal/tool/impl/ToolContextImpl.java
@@ -32,9 +32,7 @@
import org.locationtech.udig.project.command.EditCommand;
import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.command.factory.BasicCommandFactory;
import org.locationtech.udig.project.command.factory.EditCommandFactory;
-import org.locationtech.udig.project.command.factory.NavigationCommandFactory;
import org.locationtech.udig.project.command.factory.SelectionCommandFactory;
import org.locationtech.udig.project.internal.impl.AbstractContextImpl;
import org.locationtech.udig.project.internal.render.RenderManager;
@@ -61,7 +59,6 @@
*
{@link org.locationtech.udig.project.ui.internal.tool.impl.ToolContextImpl#getViewportPane Viewport Pane}
* {@link org.locationtech.udig.project.ui.internal.tool.impl.ToolContextImpl#getDrawFactory Draw Factory}
* {@link org.locationtech.udig.project.ui.internal.tool.impl.ToolContextImpl#getEditFactory Edit Factory}
- * {@link org.locationtech.udig.project.ui.internal.tool.impl.ToolContextImpl#getNavigationFactory Navigation Factory}
* {@link org.locationtech.udig.project.ui.internal.tool.impl.ToolContextImpl#getSelectionFactory Selection Factory}
*
*
@@ -129,15 +126,6 @@ public ICoolBarManager getCoolBarManager() {
private final EditCommandFactory editFactory = EditCommandFactory
.getInstance();
- /**
- * The cached value of the '{@link #getNavigationFactory() Navigation Factory}'
- * attribute.
- *
- * @see #getNavigationFactory()
- */
- private final NavigationCommandFactory navigationFactory = NavigationCommandFactory
- .getInstance();
-
/**
* The cached value of the '{@link #getSelectionFactory() Selection Factory}'
* attribute.
@@ -147,8 +135,6 @@ public ICoolBarManager getCoolBarManager() {
private final SelectionCommandFactory selectionFactory = SelectionCommandFactory
.getInstance();
- private final BasicCommandFactory basicCommandFactory=BasicCommandFactory.getInstance();
-
public ToolContextImpl( ) {
super();
}
@@ -161,9 +147,7 @@ public DrawCommandFactory getDrawFactory() {
public EditCommandFactory getEditFactory() {
return editFactory;
}
- public NavigationCommandFactory getNavigationFactory() {
- return navigationFactory;
- }
+
public SelectionCommandFactory getSelectionFactory() {
return selectionFactory;
}
@@ -296,9 +280,6 @@ public void updateUI( Runnable runnable ) {
display.asyncExec(runnable);
}
- public BasicCommandFactory getBasicCommandFactory() {
- return this.basicCommandFactory;
- }
public ToolContextImpl copy() {
return new ToolContextImpl(this);
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/tool/IToolContext.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/tool/IToolContext.java
index 30013a79e9..5d10ba4601 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/tool/IToolContext.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/tool/IToolContext.java
@@ -17,9 +17,7 @@
import org.locationtech.udig.project.IAbstractContext;
import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.MapCommand;
-import org.locationtech.udig.project.command.factory.BasicCommandFactory;
import org.locationtech.udig.project.command.factory.EditCommandFactory;
-import org.locationtech.udig.project.command.factory.NavigationCommandFactory;
import org.locationtech.udig.project.command.factory.SelectionCommandFactory;
import org.locationtech.udig.project.ui.commands.DrawCommandFactory;
import org.locationtech.udig.project.ui.render.displayAdapter.ViewportPane;
@@ -68,16 +66,6 @@ public interface IToolContext extends IAbstractContext {
*/
public EditCommandFactory getEditFactory();
- /**
- * Returns a NavigationCommandFactory. Used to create commands that change the current view of
- * the map.
- *
- * @return a NavigationCommandFactory
- * @see NavigationCommandFactory
- * @deprecated Please use navigation commands directly
- */
- public NavigationCommandFactory getNavigationFactory();
-
/**
* Returns a SelectionCommandFactory. Used to create commands that changes the current
* selection.
@@ -85,12 +73,6 @@ public interface IToolContext extends IAbstractContext {
* @return a SelectionCommandFactory
*/
public SelectionCommandFactory getSelectionFactory();
- /**
- * Returns a BasicCommandFactory.
- *
- * @return a BasicCommandFactory
- */
- public BasicCommandFactory getBasicCommandFactory();
/**
* Dispatches a command. If the command is a IDrawCommand the command will
diff --git a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/viewers/MapViewer.java b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/viewers/MapViewer.java
index 7d49dc34f1..406bcc06de 100644
--- a/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/viewers/MapViewer.java
+++ b/plugins/org.locationtech.udig.project.ui/src/org/locationtech/udig/project/ui/viewers/MapViewer.java
@@ -25,8 +25,8 @@
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartSite;
import org.geotools.geometry.jts.ReferencedEnvelope;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.render.RenderManager;
import org.locationtech.udig.project.internal.render.ViewportModel;
import org.locationtech.udig.project.ui.internal.MapPart;
diff --git a/plugins/org.locationtech.udig.project/META-INF/MANIFEST.MF b/plugins/org.locationtech.udig.project/META-INF/MANIFEST.MF
index 9c9b041008..13a8252db6 100644
--- a/plugins/org.locationtech.udig.project/META-INF/MANIFEST.MF
+++ b/plugins/org.locationtech.udig.project/META-INF/MANIFEST.MF
@@ -17,24 +17,31 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore.xmi,
org.locationtech.udig.ui
Bundle-ActivationPolicy: lazy
-Export-Package: org.locationtech.udig.project,org.locationtech.udig.pr
- oject.command,org.locationtech.udig.project.command.factory,org.locat
- iontech.udig.project.command.map,org.locationtech.udig.project.comman
- d.provider,org.locationtech.udig.project.element,org.locationtech.udi
- g.project.element.impl,org.locationtech.udig.project.element.util,org
- .locationtech.udig.project.geoselection,org.locationtech.udig.project
- .interceptor,org.locationtech.udig.project.internal,org.locationtech.
- udig.project.internal.command.navigation,org.locationtech.udig.projec
- t.internal.commands,org.locationtech.udig.project.internal.commands.e
- dit,org.locationtech.udig.project.internal.commands.selection,org.loc
- ationtech.udig.project.internal.impl,org.locationtech.udig.project.in
- ternal.interceptor;x-friends:="org.locationtech.udig.project.tests",o
- rg.locationtech.udig.project.internal.render,org.locationtech.udig.pr
- oject.internal.render.impl,org.locationtech.udig.project.internal.ren
- der.util,org.locationtech.udig.project.internal.util,org.locationtech
- .udig.project.memento,org.locationtech.udig.project.preferences,org.l
- ocationtech.udig.project.render,org.locationtech.udig.project.render.
- displayAdapter
+Export-Package: org.locationtech.udig.project,
+ org.locationtech.udig.project.command,
+ org.locationtech.udig.project.command.factory,
+ org.locationtech.udig.project.command.map,
+ org.locationtech.udig.project.command.navigation,
+ org.locationtech.udig.project.command.provider,
+ org.locationtech.udig.project.element,
+ org.locationtech.udig.project.element.impl,
+ org.locationtech.udig.project.element.util,
+ org.locationtech.udig.project.geoselection,
+ org.locationtech.udig.project.interceptor,
+ org.locationtech.udig.project.internal,
+ org.locationtech.udig.project.internal.commands,
+ org.locationtech.udig.project.internal.commands.edit,
+ org.locationtech.udig.project.internal.commands.selection,
+ org.locationtech.udig.project.internal.impl,
+ org.locationtech.udig.project.internal.interceptor;x-friends:="org.locationtech.udig.project.tests",
+ org.locationtech.udig.project.internal.render,
+ org.locationtech.udig.project.internal.render.impl,
+ org.locationtech.udig.project.internal.render.util,
+ org.locationtech.udig.project.internal.util,
+ org.locationtech.udig.project.memento,
+ org.locationtech.udig.project.preferences,
+ org.locationtech.udig.project.render,
+ org.locationtech.udig.project.render.displayAdapter
Import-Package: javax.media.jai,
javax.media.jai.iterator,
javax.media.jai.operator,
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/BasicCommandFactory.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/BasicCommandFactory.java
deleted file mode 100644
index 58515ce1cb..0000000000
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/BasicCommandFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/* uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2004-2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.project.command;
-
-import org.locationtech.udig.project.ILayer;
-import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.internal.Layer;
-import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.commands.AddLayerCommand;
-import org.locationtech.udig.project.internal.commands.ChangeCRSCommand;
-import org.locationtech.udig.project.internal.commands.DeleteLayerCommand;
-
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-
-/**
- * Creates Edit commands which must be used to modify editable feature data. API internal classes
- * are in the returned API
- *
- * @author jeichar
- * @deprecated
- * @since 0.3
- */
-public class BasicCommandFactory {
- /**
- * Creates a new EditCommandFactory object
- *
- * @return a new EditCommandFactory object
- */
- public static BasicCommandFactory getInstance() {
- return instance;
- }
-
- private static final BasicCommandFactory instance = new BasicCommandFactory();
- protected BasicCommandFactory() {
- // no op
- }
-
- /**
- * Create a delete layer command
- *
- * @param map the map containing the layer
- * @param layer the layer to delete
- * @return a new {@linkplain DeleteLayerCommand}object that deletes the layer.
- * @see DeleteLayerCommand
- */
- public UndoableMapCommand createDeleteLayer( ILayer layer ) {
- return new DeleteLayerCommand((Layer) layer);
- }
-
- /**
- * Create an Add Layer command
- *
- * @param layer the layer to add to the map.
- * @return a new {@linkplain AddLayerCommand}object that deletes the feature.
- * @see AddLayerCommand
- */
- public UndoableMapCommand createAddLayer( ILayer layer ) {
- return new AddLayerCommand((Layer) layer);
- }
-
- /**
- * Create an Add Layer command
- *
- * @param layer the layer to add to the map.
- * @param index the zorder where the layer will be added.
- * @return a new {@linkplain AddLayerCommand}object that deletes the feature.
- * @see AddLayerCommand
- */
- public UndoableMapCommand createAddLayer( ILayer layer, int index ) {
- return new AddLayerCommand((Layer) layer, index);
- }
-
- /**
- * Create a Change CRS command
- *
- * @param map the map for which the CRS is going to change.
- * @return a new {@linkplain ChangeCRSCommand}object that changes the CRS.
- * @see ChangeCRSCommand
- */
- public UndoableMapCommand createChangeCRS( IMap map, CoordinateReferenceSystem crs ) {
- return new ChangeCRSCommand((Map) map, crs);
- }
-
-}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/Command.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/Command.java
index d0593544ef..7a4f1c8890 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/Command.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/Command.java
@@ -45,26 +45,10 @@ public interface Command {
*/
public void run( IProgressMonitor monitor ) throws Exception;
- /**
- * Instantiates a new copy of the command that will operate in the same manner as the original
- * command. API isn't this cloneable?
- *
- * @return A copy of the current command. The new command must run the same way as the current
- * object.
- *
- * If the current command has already executed it cannot be used again, but a copy may
- * because a copy should contain none of the state side-effect that execution has on a
- * command
- *
- * @deprecated
- */
- public Command copy();
-
/**
* Each command has a name that is displayed with the undo/redo buttons.
*
* @return The name of the command (often translated)
*/
public String getName();
-
}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavCommand.java
index f41148e798..2998ddaf0f 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavCommand.java
@@ -12,18 +12,18 @@
import org.locationtech.udig.project.internal.render.ViewportModel;
/**
- * All implementations of NavCommand are used to manipulate the viewport model of the map.
+ * All implementations of NavCommand are used to manipulate the viewport model of the map.
* In addition they are send to the Navigation Command Stack rather than the normal command stack
* for execution.
- *
+ *
* @author Jesse
* @since 0.5
*/
-public interface NavCommand extends UndoableMapCommand, MapCommand {
+public interface NavCommand extends MapCommand {
/**
* Set the viewport model that the command operates on.
- *
+ *
* @param model
* @see ViewportModel
*/
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavigationCommandFactory.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavigationCommandFactory.java
deleted file mode 100644
index 3772fb1832..0000000000
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/NavigationCommandFactory.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/* uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2004-2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.project.command;
-
-import java.util.Arrays;
-
-import org.locationtech.udig.project.internal.command.navigation.NavComposite;
-import org.locationtech.udig.project.internal.command.navigation.PanCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportCenterCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportHeight;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportWidth;
-import org.locationtech.udig.project.internal.command.navigation.ZoomCommand;
-import org.locationtech.udig.project.internal.command.navigation.ZoomExtentCommand;
-
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-
-import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.Envelope;
-
-/**
- * Factory providing default implementations of common navigation commands.
- *
- * @author jeichar
- * @deprecated Moved to org.locationtech.udig.project.command.factory.NavigationCommandFactory
- * @since TODO provide version
- */
-public class NavigationCommandFactory {
- /**
- * Creates a new NavigationCommandFactory object
- *
- * @return a new NavigationCommandFactory object
- */
- public static NavigationCommandFactory getInstance() {
- return instance;
- }
- private static final NavigationCommandFactory instance = new NavigationCommandFactory();
- protected NavigationCommandFactory() {
- // no op
- }
-
- /**
- * Creates a new {@linkplain NavComposite}
- *
- * @param commands an array of commands to execute as a simgle command. The array will be
- * executed from position 0 to position length-1 in order.
- * @return a new NavComposite object
- * @see NavCommand
- */
- public NavCommand createCompositeCommand( NavCommand[] commands ) {
- return new NavComposite(Arrays.asList(commands));
- }
-
- /**
- * Creates a new {@linkplain SetViewportBBoxCommand}
- *
- * @param newbbox the new bounding box to set in the viewport
- * @return a new SetViewportBBoxCommand object
- * @see NavCommand
- * @see Envelope
- */
- public NavCommand createSetViewportBBoxCommand( Envelope newbbox ) {
- return new SetViewportBBoxCommand(newbbox);
- }
-
- /**
- * Creates a new {@linkplain ZoomCommand}
- *
- * @param zoomfactor the amount to zoom
- * @return a new ZoomCommand object
- * @see NavCommand
- */
- public NavCommand createZoomCommand( double zoomfactor ) {
- return new ZoomCommand(zoomfactor);
- }
-
- /**
- * Creates a new {@linkplain ZoomExtentCommand}
- *
- * @return a new ZoomExtentCommand object
- * @see NavCommand
- */
- public NavCommand createZoomExtentCommand() {
- return new ZoomExtentCommand();
- }
-
- /**
- * Creates a new {@linkplain SetViewportCenterCommand}
- *
- * @param center Sets the center of the viewport. The Coordinate must be in world coordinates.
- * @return a new SetViewportCenterCommand object
- * @see NavCommand
- * @see Coordinate
- */
- public NavCommand createSetViewportCenterCommand( Coordinate center ) {
- return new SetViewportCenterCommand(center);
- }
-
- /**
- * Creates a new {@linkplain SetViewportHeight}
- *
- * @param height The new viewport height
- * @return a new SetViewportHeight object
- * @see NavCommand
- */
- public NavCommand createSetViewportHeight( double height ) {
- return new SetViewportHeight(height);
- }
-
- /**
- * Creates a new {@linkplain SetViewportWidth}
- *
- * @param width the new viewport width
- * @return a new SetViewportWidth object
- * @see NavCommand
- */
- public NavCommand createSetViewportWidth( double width ) {
- return new SetViewportWidth(width);
- }
-
- /**
- * Creates a new {@linkplain PanCommand}Pans the viewport in terms of pixels on the screen.
- * Each pixel represents a distance in world coordinates, the x and y distances differ, so a pan
- * of 8 pixels in the x direction will be translated to a pan of 8*xdistance in the world.
- *
- * @param xpixels The amount, in pixels, to pan in the x direction
- * @param ypixels The amount, in pixels, to pan in the y direction
- * @return a new PanCommand object
- * @see NavCommand
- */
- public NavCommand createPanCommandUsingScreenCoords( int xpixels, int ypixels ) {
- return new PanCommand(xpixels, ypixels);
- }
-
- /**
- * Creates a new {@linkplain PanCommand}
- *
- * @param x The amount, in world coordinates, to pan in the x direction
- * @param y The amount, in world coordinates, to pan in the y direction
- * @return a new PanCommand object
- * @see NavCommand
- */
- public NavCommand createPanCommandUsingWorldCoords( double x, double y ) {
- return new PanCommand(x, y);
- }
-
- public NavCommand createSetViewportBBoxCommand(Envelope bounds, CoordinateReferenceSystem crs) {
- return new SetViewportBBoxCommand(bounds, crs);
- }
-
-}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/BasicCommandFactory.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/BasicCommandFactory.java
deleted file mode 100644
index 970decc1e1..0000000000
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/BasicCommandFactory.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/* uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2004-2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.project.command.factory;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.locationtech.udig.catalog.IGeoResource;
-import org.locationtech.udig.project.ILayer;
-import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.Interaction;
-import org.locationtech.udig.project.command.UndoableMapCommand;
-import org.locationtech.udig.project.internal.Layer;
-import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.Project;
-import org.locationtech.udig.project.internal.commands.AddLayerCommand;
-import org.locationtech.udig.project.internal.commands.AddLayersCommand;
-import org.locationtech.udig.project.internal.commands.ChangeCRSCommand;
-import org.locationtech.udig.project.internal.commands.CreateMapCommand;
-import org.locationtech.udig.project.internal.commands.DeleteLayerCommand;
-import org.locationtech.udig.project.internal.commands.SetApplicabilityCommand;
-
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-
-/**
- * Creates Edit commands which must be used to modify editable feature data. API internal classes
- * are in the returned API
- *
- * @author jeichar
- * @since 0.3
- */
-@SuppressWarnings("deprecation")
-public class BasicCommandFactory extends org.locationtech.udig.project.command.BasicCommandFactory {
- /**
- * Creates a new EditCommandFactory object
- *
- * @return a new EditCommandFactory object
- */
- public static BasicCommandFactory getInstance() {
- return instance;
- }
-
- private static final BasicCommandFactory instance = new BasicCommandFactory();
- protected BasicCommandFactory() {
- // no op
- }
-
- /**
- * Create a delete layer command
- *
- * @param map the map containing the layer
- * @param layer the layer to delete
- * @return a new {@linkplain DeleteLayerCommand}object that deletes the layer.
- * @see DeleteLayerCommand
- */
- public UndoableMapCommand createDeleteLayer( ILayer layer ) {
- return new DeleteLayerCommand((Layer) layer);
- }
-
- /**
- * Create an Add Layer command
- *
- * @param layer the layer to add to the map.
- * @return a new {@linkplain AddLayerCommand}object that deletes the feature.
- * @see AddLayerCommand
- */
- public UndoableMapCommand createAddLayer( ILayer layer ) {
- return new AddLayerCommand((Layer) layer);
- }
-
- /**
- * Create an Add Layer command
- *
- * @param layer the layer to add to the map.
- * @param index the zorder where the layer will be added.
- * @return a new {@linkplain AddLayerCommand}object that deletes the feature.
- * @see AddLayerCommand
- */
- public UndoableMapCommand createAddLayer( ILayer layer, int index ) {
- return new AddLayerCommand((Layer) layer, index);
- }
-
- /**
- * Create an AddLayers command that adds all the layers in the collection
- *
- * @param evaluationObject the layer to add to the map.
- * @param index the zorder where the layer will be added.
- * @return a new {@linkplain AddLayersCommand}object that deletes the feature.
- * @see AddLayersCommand
- */
- public UndoableMapCommand createAddManyLayers( Collection layers, int index ) {
- return new AddLayersCommand(layers, index);
- }
-
- /**
- * Create an AddLayers command that adds all the layers in the collection
- *
- * @param evaluationObject the layer to add to the map.
- * @return a new {@linkplain AddLayersCommand}object that deletes the feature.
- * @see AddLayersCommand
- */
- public UndoableMapCommand createAddManyLayers( Collection layers ) {
- return new AddLayersCommand(layers);
- }
-
- /**
- * Create a Change CRS command
- *
- * @param map the map for which the CRS is going to change.
- * @return a new {@linkplain ChangeCRSCommand}object that changes the CRS.
- * @see ChangeCRSCommand
- */
- public UndoableMapCommand createChangeCRS( IMap map, CoordinateReferenceSystem crs ) {
- return new ChangeCRSCommand((Map) map, crs);
- }
-
- /**
- * Create a CreateMapCommand
- *
- * @param name the name of the map
- * @param layerResources the IGeoResources that will make up the layers of the map.
- * @param owner The project that will contain the map.
- * @return
- */
- public UndoableMapCommand createCreateMapCommand( String name, List layerResources,
- Project owner ) {
- return new CreateMapCommand(name, layerResources, owner);
- }
-
- /**
- * Create a CreateMapCommand
- *
- * @param layerResources the IGeoResources that will make up the layers of the map.
- * @param owner The project that will contain the map.
- * @return
- */
- public UndoableMapCommand createCreateMapCommand( List layerResources, Project owner ) {
- return new CreateMapCommand(null, layerResources, owner);
- }
-
- /**
- * Create a CreateMapCommand
- *
- * @param name the name of the map
- * @param layerResources the IGeoResources that will make up the layers of the map.
- * @return
- */
- public UndoableMapCommand createCreateMapCommand( String name, List layerResources ) {
- return new CreateMapCommand(name, layerResources, null);
- }
-
- /**
- * Create a CreateMapCommand
- *
- * @param layerResources the objects, (Layers or IGeoResources) that will make up the map.
- * @return
- */
- public UndoableMapCommand createCreateMapCommand( List layerResources ) {
- return new CreateMapCommand(null, layerResources, null);
- }
-
- public UndoableMapCommand createSetApplicabilityCommand( ILayer layer, Interaction applicabilityId, boolean newValue ) {
- return new SetApplicabilityCommand(layer, applicabilityId, newValue);
- }
-
-}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/NavigationCommandFactory.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/NavigationCommandFactory.java
deleted file mode 100644
index a922113e88..0000000000
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/factory/NavigationCommandFactory.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/* uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2004-2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.project.command.factory;
-
-import java.util.Arrays;
-
-import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.command.navigation.NavComposite;
-import org.locationtech.udig.project.internal.command.navigation.PanCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportCenterCommand;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportHeight;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportWidth;
-import org.locationtech.udig.project.internal.command.navigation.ZoomCommand;
-import org.locationtech.udig.project.internal.command.navigation.ZoomExtentCommand;
-
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-
-import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.Envelope;
-
-/**
- * Factory providing default implementations of common navigation commands.
- *
- * @author jeichar
- * @since 1.0
- * @deprecated Please use navigation commands directly
- */
-@SuppressWarnings("deprecation")
-public class NavigationCommandFactory /*extends org.locationtech.udig.project.command.NavigationCommandFactory */ {
- /**
- * Creates a new NavigationCommandFactory object
- *
- * @return a new NavigationCommandFactory object
- */
- public static NavigationCommandFactory getInstance() {
- return instance;
- }
- private static final NavigationCommandFactory instance = new NavigationCommandFactory();
- protected NavigationCommandFactory() {
- // no op
- }
-
- /**
- * Creates a new {@linkplain NavComposite}
- *
- * @param commands an array of commands to execute as a simgle command. The array will be
- * executed from position 0 to position length-1 in order.
- * @return a new NavComposite object
- * @see NavCommand
- * @deprecated Please use new NavComposite(Arrays.asList(commands))
- */
- public NavCommand createCompositeCommand( NavCommand[] commands ) {
- return new NavComposite(Arrays.asList(commands));
- }
-
- /**
- * Creates a new {@linkplain SetViewportBBoxCommand}
- *
- * @param newbbox the new bounding box to set in the viewport
- * @return a new SetViewportBBoxCommand object
- * @see NavCommand
- * @see Envelope
- * @deprecated Please use new SetViewportBBoxCommand( newbbox );
- */
- public NavCommand createSetViewportBBoxCommand( Envelope newbbox ) {
- return new SetViewportBBoxCommand(newbbox);
- }
-
- /**
- * Creates a new {@linkplain ZoomCommand}
- *
- * @param zoomfactor the amount to zoom
- * @return a new ZoomCommand object
- * @see NavCommand
- * @deprecated Please use new ZoomCommand(zoomfactor)
- */
- public NavCommand createZoomCommand( double zoomfactor ) {
- return new ZoomCommand(zoomfactor);
- }
-
- /**
- * Creates a new {@linkplain ZoomExtentCommand}
- *
- * @return a new ZoomExtentCommand object
- * @see NavCommand
- * @deprecated Please use ZoomExtentCommand()
- */
- public NavCommand createZoomExtentCommand() {
- return new ZoomExtentCommand();
- }
-
- /**
- * Creates a new {@linkplain SetViewportCenterCommand}
- *
- * @param center Sets the center of the viewport. The Coordinate must be in world coordinates.
- * @return a new SetViewportCenterCommand object
- * @see NavCommand
- * @see Coordinate
- * @deprecated Please use new SetViewportCenterCommand(center)
- */
- public NavCommand createSetViewportCenterCommand( Coordinate center ) {
- return new SetViewportCenterCommand(center);
- }
-
- /**
- * Creates a new {@linkplain SetViewportHeight}
- *
- * @param height The new viewport height
- * @return a new SetViewportHeight object
- * @see NavCommand
- * @deprecated Please use new SetViewportHeight(height)
- */
- public NavCommand createSetViewportHeight( double height ) {
- return new SetViewportHeight(height);
- }
-
- /**
- * Creates a new {@linkplain SetViewportWidth}
- *
- * @param width the new viewport width
- * @return a new SetViewportWidth object
- * @see NavCommand
- * @deprecated Please use new SetViewportWidth(width)
- */
- public NavCommand createSetViewportWidth( double width ) {
- return new SetViewportWidth(width);
- }
-
- /**
- * Creates a new {@linkplain PanCommand}Pans the viewport in terms of pixels on the screen.
- * Each pixel represents a distance in world coordinates, the x and y distances differ, so a pan
- * of 8 pixels in the x direction will be translated to a pan of 8*xdistance in the world.
- *
- * @param xpixels The amount, in pixels, to pan in the x direction
- * @param ypixels The amount, in pixels, to pan in the y direction
- * @return a new PanCommand object
- * @see NavCommand
- * @deprecated Please use new PanCommand(xpixels, ypixels)
- */
- public NavCommand createPanCommandUsingScreenCoords( int xpixels, int ypixels ) {
- return new PanCommand(xpixels, ypixels);
- }
-
- /**
- * Creates a new {@linkplain PanCommand}
- *
- * @param x The amount, in world coordinates, to pan in the x direction
- * @param y The amount, in world coordinates, to pan in the y direction
- * @return a new PanCommand object
- * @see NavCommand
- * @deprecated Please use new PanCommand(x, y)
- */
- public NavCommand createPanCommandUsingWorldCoords( double x, double y ) {
- return new PanCommand(x, y);
- }
- /**
- * @deprecated Please use new SetViewportBBoxCommand(bounds, crs)
- */
- public NavCommand createSetViewportBBoxCommand(Envelope bounds, CoordinateReferenceSystem crs) {
- return new SetViewportBBoxCommand(bounds, crs);
- }
-
-}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/AbstractNavCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/AbstractNavCommand.java
similarity index 97%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/AbstractNavCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/AbstractNavCommand.java
index f0092518ec..07be6f6172 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/AbstractNavCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/AbstractNavCommand.java
@@ -7,7 +7,7 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
import org.locationtech.udig.project.IMap;
import org.locationtech.udig.project.command.NavCommand;
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/NavComposite.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/NavComposite.java
similarity index 98%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/NavComposite.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/NavComposite.java
index 73d00698fd..f140a52501 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/NavComposite.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/NavComposite.java
@@ -7,7 +7,7 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
import java.util.Iterator;
import java.util.List;
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/PanCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/PanCommand.java
similarity index 80%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/PanCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/PanCommand.java
index 86a532e73b..de301cb495 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/PanCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/PanCommand.java
@@ -7,9 +7,8 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.NavCommand;
import org.locationtech.udig.project.internal.Messages;
@@ -57,8 +56,9 @@ public PanCommand( double worldx, double worldy ) {
}
/**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
+ @Override
protected void runImpl( IProgressMonitor monitor ) throws Exception {
if (inPixel)
model.panUsingScreenCoords(pixelx, pixely);
@@ -66,19 +66,10 @@ protected void runImpl( IProgressMonitor monitor ) throws Exception {
model.panUsingWorldCoords(worldx, worldy);
}
- /**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- if (inPixel)
- return new PanCommand(pixelx, pixely);
-
- return new PanCommand(worldx, worldy);
- }
-
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
return Messages.PanCommand_pan;
}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/SetScaleCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetScaleCommand.java
similarity index 86%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/SetScaleCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetScaleCommand.java
index b313a8b7ad..70a11720b4 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/SetScaleCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetScaleCommand.java
@@ -7,13 +7,11 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.commands;
+package org.locationtech.udig.project.command.navigation;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.UndoableCommand;
import org.locationtech.udig.project.internal.Messages;
-import org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
/**
@@ -62,11 +60,6 @@ public void run(IProgressMonitor monitor) throws Exception {
}
}
- @Override
- public Command copy() {
- return new SetScaleCommand(newScale);
- }
-
@Override
protected void runImpl(IProgressMonitor monitor) throws Exception {
run(monitor);
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportBBoxCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportBBoxCommand.java
new file mode 100644
index 0000000000..c8ceeb82b9
--- /dev/null
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportBBoxCommand.java
@@ -0,0 +1,119 @@
+/* uDig - User Friendly Desktop Internet GIS client
+ * http://udig.refractions.net
+ * (C) 2004-2012, Refractions Research Inc.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
+ * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
+ */
+package org.locationtech.udig.project.command.navigation;
+
+import java.text.MessageFormat;
+
+import org.locationtech.udig.project.internal.Messages;
+import org.locationtech.udig.project.internal.ProjectPlugin;
+import org.locationtech.udig.project.internal.render.ViewportModel;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.geotools.geometry.jts.JTS;
+import org.geotools.geometry.jts.ReferencedEnvelope;
+import org.geotools.referencing.CRS;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.MathTransform;
+
+import org.locationtech.jts.geom.Envelope;
+
+/**
+ * Sets the viewport's bounding box. The bbox have a positive width and height and must have a
+ * aspect ratio within 0.0000001 units of the value returned by
+ * {@linkplain ViewportModel#getViewportAspectRatio()}.
+ *
+ * @author jeichar
+ * @since 0.3
+ */
+public class SetViewportBBoxCommand extends AbstractNavCommand {
+
+ private Envelope newbbox = null;
+
+ private CoordinateReferenceSystem crs;
+
+ private boolean forceContainBBoxZoom;
+
+ /**
+ * Creates a new instance of SetViewportBBoxCommand. The bbox is expected to be the same as the
+ * viewport model.
+ *
+ * @param bbox the new bounding box. The new bbox must have a positive width and height and must
+ * have a aspect ratio within 0.0000001 units of the value returned by
+ * {@linkplain ViewportModel#getViewportAspectRatio()}.
+ * @deprecated Please use a ReferencedEnvelope
+ */
+ public SetViewportBBoxCommand(Envelope bbox) {
+ this.newbbox = bbox;
+ if (bbox instanceof ReferencedEnvelope)
+ crs = ((ReferencedEnvelope) bbox).getCoordinateReferenceSystem();
+ }
+
+ /**
+ * Creates a new instance of SetViewportBBoxCommand. The bbox is expected to be the same as the
+ * viewport model.
+ *
+ * @param bbox the new bounding box. The new bbox must have a positive width and height and must
+ * have a aspect ratio within 0.0000001 units of the value returned by
+ * {@linkplain ViewportModel#getViewportAspectRatio()}.
+ */
+ public SetViewportBBoxCommand(ReferencedEnvelope bbox) {
+ this(bbox, false);
+ }
+
+ /**
+ * Sets the bounds of the viewport model to the bounds. The crs parameter indications the crs of
+ * the provided bounds. The appropriate transformation will take place.
+ *
+ * @param bounds the bounds to apply to the viewport model
+ * @param crs The crs of the provided bounds.
+ */
+ public SetViewportBBoxCommand(Envelope bounds, CoordinateReferenceSystem crs) {
+ this(new ReferencedEnvelope(bounds, crs));
+ }
+
+ public SetViewportBBoxCommand(ReferencedEnvelope bbox, boolean forceContainBBoxZoom) {
+ this.newbbox = bbox;
+ crs = bbox.getCoordinateReferenceSystem();
+ this.forceContainBBoxZoom = forceContainBBoxZoom;
+ }
+
+ /**
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
+ */
+ @Override
+ protected void runImpl(IProgressMonitor monitor) {
+ if (crs != null) {
+ try {
+ MathTransform mt = CRS.findMathTransform(crs, model.getCRS(), true);
+ if (!mt.isIdentity()) {
+ Envelope transformedBounds = JTS.transform(newbbox, null, mt, 5);
+ crs = model.getCRS();
+ newbbox = transformedBounds;
+ }
+ } catch (Exception e) {
+ ProjectPlugin.log("Error transforming from " + crs.getName() + " to " //$NON-NLS-1$//$NON-NLS-2$
+ + model.getCRS().getName(), e);
+ }
+ } else {
+ crs = model.getCRS();
+ }
+ model.setBounds(new ReferencedEnvelope(newbbox, crs), forceContainBBoxZoom);
+ }
+
+ /**
+ * @see org.locationtech.udig.project.command.MapCommand#getName()
+ */
+ @Override
+ public String getName() {
+ return MessageFormat.format(Messages.SetViewportBBoxCommand_setViewArea,
+ new Object[] { newbbox });
+ }
+
+}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportCenterCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportCenterCommand.java
similarity index 64%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportCenterCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportCenterCommand.java
index e6bbcab5c0..e0859e6563 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportCenterCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportCenterCommand.java
@@ -7,11 +7,10 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
import java.text.MessageFormat;
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.NavCommand;
import org.locationtech.udig.project.internal.Messages;
import org.locationtech.udig.project.internal.ProjectPlugin;
@@ -27,60 +26,58 @@
/**
* Sets the center of the viewport. The Coordinate must be in world coordinates. The
* {@linkplain ViewportModel#pixelToWorld(int, int)}methods can be used to calculate the value.
- *
+ *
* @author jeichar
- * @since TODO provide version
+ * @since 1.2.0
*/
public class SetViewportCenterCommand extends AbstractNavCommand implements NavCommand {
private Coordinate center;
+
private CoordinateReferenceSystem crs;
+
/**
* Creates a new instance of SetViewportCenterCommand
- *
+ *
* @param center Sets the center of the viewport. The Coordinate must be in world coordinates.
*/
- public SetViewportCenterCommand( Coordinate center ) {
+ public SetViewportCenterCommand(Coordinate center) {
this(center, null);
}
- public SetViewportCenterCommand( Coordinate coordinate, CoordinateReferenceSystem crs ) {
- center=coordinate;
- this.crs=crs;
+ public SetViewportCenterCommand(Coordinate coordinate, CoordinateReferenceSystem crs) {
+ center = coordinate;
+ this.crs = crs;
}
/**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
- protected void runImpl( IProgressMonitor monitor ) throws Exception {
+ @Override
+ protected void runImpl(IProgressMonitor monitor) throws Exception {
Coordinate newCenter = center;
- if( crs!=null )
- newCenter=transform();
+ if (crs != null)
+ newCenter = transform();
model.setCenter(newCenter);
}
private Coordinate transform() {
try {
- return JTS.transform(center, new Coordinate(), CRS.findMathTransform(crs, model.getCRS(), true));
+ return JTS.transform(center, new Coordinate(),
+ CRS.findMathTransform(crs, model.getCRS(), true));
} catch (Exception e) {
ProjectPlugin.log("", e); //$NON-NLS-1$
return null;
- }
- }
-
- /**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new SetViewportCenterCommand(center);
+ }
}
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
- return MessageFormat.format(
- Messages.SetViewportCenterCommand_setViewCenter, new Object[]{center});
+ return MessageFormat.format(Messages.SetViewportCenterCommand_setViewCenter,
+ new Object[] { center });
}
}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportHeight.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportHeight.java
similarity index 81%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportHeight.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportHeight.java
index a04606fdf5..9064e7e036 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportHeight.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportHeight.java
@@ -7,14 +7,12 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
import java.text.MessageFormat;
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.NavCommand;
import org.locationtech.udig.project.internal.Messages;
-
import org.eclipse.core.runtime.IProgressMonitor;
/**
@@ -41,22 +39,17 @@ public SetViewportHeight( double height ) {
}
/**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
+ @Override
protected void runImpl( IProgressMonitor monitor ) throws Exception {
model.setHeight(height);
}
- /**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new SetViewportHeight(height);
- }
-
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
return MessageFormat.format(
Messages.SetViewportHeight_setViewHeight, new Object[]{height});
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportWidth.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportWidth.java
similarity index 79%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportWidth.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportWidth.java
index 3ad8b4a997..b444cf6d92 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportWidth.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/SetViewportWidth.java
@@ -7,14 +7,12 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
import java.text.MessageFormat;
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.command.NavCommand;
import org.locationtech.udig.project.internal.Messages;
-
import org.eclipse.core.runtime.IProgressMonitor;
/**
@@ -39,22 +37,17 @@ public SetViewportWidth( double width ) {
}
/**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
+ @Override
protected void runImpl( IProgressMonitor monitor ) throws Exception {
model.setWidth(width);
}
- /**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new SetViewportWidth(width);
- }
-
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
return MessageFormat.format(
Messages.SetViewportWidth_setViewWidth, new Object[]{width});
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomCommand.java
similarity index 81%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomCommand.java
index a23b9ce3a9..57f468ec22 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomCommand.java
@@ -7,11 +7,8 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
-import java.awt.Rectangle;
-
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.internal.Messages;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -23,9 +20,9 @@
* Increases or decreases the size of the viewport(in world space) by a constant factor, zoom. The
* zoom is equal in both directions. The function used is: bbox.height=bbox.height/divisor
* bbox.width=bbox.width/divisor
- *
+ *
* @author jeichar
- * @since TODO provide version
+ * @since 1.2.0
*/
public class ZoomCommand extends AbstractNavCommand {
@@ -35,7 +32,7 @@ public class ZoomCommand extends AbstractNavCommand {
/**
* Creates a new instance of ZoomCommand
- *
+ *
* @param zoomfactor the amount to zoom
*
* - A zoom must be greater than 1.
@@ -49,7 +46,7 @@ public ZoomCommand( double zoomfactor ) {
/**
* Creates a {@link ZoomCommand} that zooms to a given {@link Envelope}.
- *
+ *
* @param envelope the {@link Envelope} to zoom to.
*/
public ZoomCommand( Envelope envelope ) {
@@ -57,8 +54,8 @@ public ZoomCommand( Envelope envelope ) {
}
/**
- * @param fixedPoint the point that will remain fixed after zoom.
- * If set it will be considered together with the
+ * @param fixedPoint the point that will remain fixed after zoom.
+ * If set it will be considered together with the
* zoomfactor set in the constructor.
*/
public void setFixedPoint( Coordinate fixedPoint ) {
@@ -66,15 +63,9 @@ public void setFixedPoint( Coordinate fixedPoint ) {
}
/**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new ZoomCommand(zoomfactor);
- }
-
- /**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
+ @Override
protected void runImpl( IProgressMonitor monitor ) {
if (envelope!=null) {
model.zoomToBox(envelope);
@@ -86,8 +77,9 @@ protected void runImpl( IProgressMonitor monitor ) {
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
- return Messages.ZoomCommand_zoom;
+ return Messages.ZoomCommand_zoom;
}
}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomExtentCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomExtentCommand.java
similarity index 71%
rename from plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomExtentCommand.java
rename to plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomExtentCommand.java
index 78eb437c33..60ccfdc08c 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/ZoomExtentCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/command/navigation/ZoomExtentCommand.java
@@ -7,9 +7,8 @@
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
-package org.locationtech.udig.project.internal.command.navigation;
+package org.locationtech.udig.project.command.navigation;
-import org.locationtech.udig.project.command.MapCommand;
import org.locationtech.udig.project.internal.Messages;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -23,15 +22,9 @@
public class ZoomExtentCommand extends AbstractNavCommand {
/**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new ZoomExtentCommand();
- }
-
- /**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
+ * @see org.locationtech.udig.project.command.navigation.AbstractNavCommand#runImpl()
*/
+ @Override
protected void runImpl( IProgressMonitor monitor ) {
model.zoomToExtent();
}
@@ -39,6 +32,7 @@ protected void runImpl( IProgressMonitor monitor ) {
/**
* @see org.locationtech.udig.project.command.MapCommand#getName()
*/
+ @Override
public String getName() {
return Messages.ZoomExtentCommand_name;
}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportBBoxCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportBBoxCommand.java
deleted file mode 100644
index e082089ff3..0000000000
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/command/navigation/SetViewportBBoxCommand.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/* uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2004-2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.project.internal.command.navigation;
-
-import java.text.MessageFormat;
-
-import org.locationtech.udig.project.command.MapCommand;
-import org.locationtech.udig.project.internal.Messages;
-import org.locationtech.udig.project.internal.ProjectPlugin;
-import org.locationtech.udig.project.internal.render.ViewportModel;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.geotools.geometry.jts.JTS;
-import org.geotools.geometry.jts.ReferencedEnvelope;
-import org.geotools.referencing.CRS;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.referencing.operation.MathTransform;
-
-import org.locationtech.jts.geom.Envelope;
-
-/**
- * Sets the viewport's bounding box. The bbox have a positive width and height
- * and must have a aspect ratio within 0.0000001 units of the value returned by
- * {@linkplain ViewportModel#getViewportAspectRatio()}.
- *
- * @author jeichar
- * @since 0.3
- */
-public class SetViewportBBoxCommand extends AbstractNavCommand {
-
- private Envelope newbbox = null;
-
- private CoordinateReferenceSystem crs;
-
- private boolean forceContainBBoxZoom;
-
- /**
- * Creates a new instance of SetViewportBBoxCommand. The bbox is expected to be the same as the viewport model.
- *
- * @param bbox
- * the new bounding box. The new bbox must have a positive width
- * and height and must have a aspect ratio within 0.0000001 units
- * of the value returned by
- * {@linkplain ViewportModel#getViewportAspectRatio()}.
- * @deprecated Please use a ReferencedEnvelope
- */
- public SetViewportBBoxCommand(Envelope bbox) {
- this.newbbox = bbox;
- if ( bbox instanceof ReferencedEnvelope )
- crs=((ReferencedEnvelope)bbox).getCoordinateReferenceSystem();
- }
-
- /**
- * Creates a new instance of SetViewportBBoxCommand. The bbox is expected to be the same as the viewport model.
- *
- * @param bbox
- * the new bounding box. The new bbox must have a positive width
- * and height and must have a aspect ratio within 0.0000001 units
- * of the value returned by
- * {@linkplain ViewportModel#getViewportAspectRatio()}.
- */
- public SetViewportBBoxCommand(ReferencedEnvelope bbox) {
- this(bbox,false);
- }
-
- /**
- * Sets the bounds of the viewport model to the bounds. The crs parameter indications the crs of
- * the provided bounds. The appropriate transformation will take place.
- *
- * @param bounds the bounds to apply to the viewport model
- * @param crs The crs of the provided bounds.
- */
- public SetViewportBBoxCommand(Envelope bounds, CoordinateReferenceSystem crs) {
- this(new ReferencedEnvelope(bounds,crs));
- }
-
- public SetViewportBBoxCommand(ReferencedEnvelope bbox, boolean forceContainBBoxZoom) {
- this.newbbox = bbox;
- crs=((ReferencedEnvelope)bbox).getCoordinateReferenceSystem();
- this.forceContainBBoxZoom = forceContainBBoxZoom;
- }
-
- /**
- * @see org.locationtech.udig.project.internal.command.MapCommand#copy()
- */
- public MapCommand copy() {
- return new SetViewportBBoxCommand(newbbox, crs);
- }
-
- /**
- * @see org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand#runImpl()
- */
- protected void runImpl(IProgressMonitor monitor) {
- if (crs != null) {
- try {
- MathTransform mt = CRS.findMathTransform(crs, model.getCRS(),
- true);
- if (!mt.isIdentity()) {
- Envelope transformedBounds = JTS.transform(newbbox, null,
- mt, 5);
- crs = model.getCRS();
- newbbox = transformedBounds;
- }
- } catch (Exception e) {
- ProjectPlugin
- .log(
- "Error transforming from " + crs.getName() + " to " + model.getCRS().getName(), e); //$NON-NLS-1$//$NON-NLS-2$
- }
- }else{
- crs = model.getCRS();
- }
- model.setBounds(new ReferencedEnvelope(newbbox,crs), forceContainBBoxZoom);
- }
-
- /**
- * @see org.locationtech.udig.project.command.MapCommand#getName()
- */
- public String getName() {
- return MessageFormat
- .format(
- Messages.SetViewportBBoxCommand_setViewArea, new Object[] { newbbox });
- }
-
-}
diff --git a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/ChangeCRSCommand.java b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/ChangeCRSCommand.java
index 94d487aaf2..c4d4c522d3 100644
--- a/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/ChangeCRSCommand.java
+++ b/plugins/org.locationtech.udig.project/src/org/locationtech/udig/project/internal/commands/ChangeCRSCommand.java
@@ -11,55 +11,41 @@
*/
package org.locationtech.udig.project.internal.commands;
-import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.UndoableMapCommand;
-import org.locationtech.udig.project.internal.Map;
+import org.locationtech.udig.project.command.navigation.AbstractNavCommand;
import org.locationtech.udig.project.internal.Messages;
-import org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand;
-
import org.eclipse.core.runtime.IProgressMonitor;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
/**
* Change the CRS of a map.
- *
+ *
* @author Jesse
* @since 1.0.0
*/
-public class ChangeCRSCommand extends AbstractNavCommand implements
- UndoableMapCommand {
- private static final String NAME = Messages.ChangeCRSCommand_name;
- private CoordinateReferenceSystem crs;
-
- /**
- * @deprecated
- */
- public ChangeCRSCommand(Map map, CoordinateReferenceSystem crs) {
- this.crs = crs;
- }
-
- public ChangeCRSCommand( CoordinateReferenceSystem crs) {
- this.crs = crs;
- }
-
- /**
- * Each command has a name that is displayed with the undo/redo buttons.
- *
- * @see org.locationtech.udig.project.command.MapCommand#getName()
- */
- public String getName() {
- return NAME;
- }
-
- @Override
- protected void runImpl(IProgressMonitor monitor) throws Exception {
- monitor.beginTask(NAME, 1);
- model.setCRS(crs);
- monitor.done();
- }
-
- public Command copy() {
- return new ChangeCRSCommand(null,crs);
- }
-
+public class ChangeCRSCommand extends AbstractNavCommand implements UndoableMapCommand {
+ private static final String NAME = Messages.ChangeCRSCommand_name;
+
+ private CoordinateReferenceSystem crs;
+
+ public ChangeCRSCommand(CoordinateReferenceSystem crs) {
+ this.crs = crs;
+ }
+
+ /**
+ * Each command has a name that is displayed with the undo/redo buttons.
+ *
+ * @see org.locationtech.udig.project.command.MapCommand#getName()
+ */
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @Override
+ protected void runImpl(IProgressMonitor monitor) throws Exception {
+ monitor.beginTask(NAME, 1);
+ model.setCRS(crs);
+ monitor.done();
+ }
}
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/CursorPosition.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/CursorPosition.java
index f33a7a9b1a..235b23c997 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/CursorPosition.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/CursorPosition.java
@@ -17,7 +17,7 @@
import java.util.Locale;
import org.locationtech.udig.project.command.Command;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportCenterCommand;
+import org.locationtech.udig.project.command.navigation.SetViewportCenterCommand;
import org.locationtech.udig.project.ui.render.displayAdapter.MapMouseEvent;
import org.locationtech.udig.project.ui.tool.AbstractTool;
import org.locationtech.udig.project.ui.tool.IToolContext;
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/FixedScalePan.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/FixedScalePan.java
deleted file mode 100644
index a1c21a3a11..0000000000
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/FixedScalePan.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2008, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- *
- */
-package org.locationtech.udig.tools.internal;
-
-import java.awt.Point;
-
-import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.command.Command;
-import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand;
-import org.locationtech.udig.project.internal.render.ViewportModel;
-import org.locationtech.udig.project.ui.internal.commands.draw.TranslateCommand;
-import org.locationtech.udig.project.ui.render.displayAdapter.MapMouseEvent;
-import org.locationtech.udig.project.ui.render.displayAdapter.ViewportPane;
-import org.locationtech.udig.project.ui.tool.AbstractModalTool;
-import org.locationtech.udig.project.ui.tool.ModalTool;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.geotools.geometry.jts.ReferencedEnvelope;
-
-import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.Envelope;
-
-
-/**
- * This tool is supposed to be a fixed scale zoom tool; although
- * it currently doesn't do that properly.
- *
- * @author Emily Gouge
- * @since 1.2.0
- * @deprecated PanTool with Tool Options now covers this case
- */
-public class FixedScalePan extends AbstractModalTool implements ModalTool {
- private boolean dragging=false;
- private Point start=null;
- private ReferencedEnvelope startbounds = null;
-
- TranslateCommand command;
- /**
- * Creates an new instance of Pan
- */
- public FixedScalePan() {
- super(MOUSE | MOTION);
- }
-
- /**
- * @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseDragged(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
- */
- public void mouseDragged(MapMouseEvent e) {
- if (dragging) {
- command.setTranslation(e.x- start.x, e.y - start.y);
- context.getViewportPane().repaint();
- }
- }
-
- /**
- * @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
- */
- public void mousePressed(MapMouseEvent e) {
-
- if (validModifierButtonCombo(e)) {
- ((ViewportPane)context.getMapDisplay()).enableDrawCommands(false);
- dragging = true;
- start = e.getPoint();
- startbounds = new ReferencedEnvelope(context.getViewportModel().getBounds());
- command=context.getDrawFactory().createTranslateCommand(0,0);
- context.sendASyncCommand(command);
- }
- }
-
- /**
- * Returns true if the combination of buttons and modifiers are legal to execute the pan.
- *
- * This version returns true if button 1 is down and no modifiers
- *
- * @param e
- * @return
- */
- protected boolean validModifierButtonCombo(MapMouseEvent e) {
- return e.buttons== MapMouseEvent.BUTTON1
- && !(e.modifiersDown());
- }
-
- /**
- * @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseReleased(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
- */
- public void mouseReleased(MapMouseEvent e) {
- if (dragging) {
-
- ((ViewportPane)context.getMapDisplay()).enableDrawCommands(true);
-
- //update translation
- command.setTranslation(e.x- start.x, e.y - start.y);
- context.getViewportPane().repaint();
-
- //compute new offset
- Point end=e.getPoint();
-
- int deltax = (end.x - start.x);
- double deltaxworld = ( getContext().getViewportModel().getWidth() / getContext().getMapDisplay().getWidth() ) * deltax;
-
- int deltay = end.y - start.y;
- double deltayworld = ( getContext().getViewportModel().getHeight() / getContext().getMapDisplay().getHeight() ) * deltay;
-
- Coordinate center = startbounds.centre();
- final Coordinate newc = new Coordinate(center.x - deltaxworld, center.y + deltayworld);
-
- double dw = getContext().getViewportModel().getBounds().getWidth() / 2;
- double dh = getContext().getViewportModel().getBounds().getHeight() / 2;
-
- final Envelope newbounds = new Envelope(newc.x - dw, newc.x + dw, newc.y - dh, newc.y + dh);
-
-// double currentscale = context.getViewportModel().getBounds().getWidth() / context.getMapDisplay().getWidth();
-// double newscale = newbounds.getWidth() / context.getMapDisplay().getWidth();
-
-// if (currentscale != newscale){
-// System.out.println("scale changed; should reload." );
-// System.out.println("current scale:" + currentscale);
-// System.out.println("aaaanew scale:" + newscale);
-// }
-
- //compute new bbox for
- NavCommand setFinal = new AbstractNavCommand(){
-
- @Override
- protected void runImpl( IProgressMonitor monitor ) throws Exception {
- model.setBounds(newbounds);
- }
-
-
- public Command copy() {
- return null;
- }
-
-
- public String getName() {
- return "Fixed Scale Pan"; //$NON-NLS-1$
- }
- };
-
- ((ViewportPane) getContext().getMapDisplay()).update();
- context.sendASyncCommand(new PanAndInvalidate(setFinal, command));
-
- dragging = false;
-// System.out.println("pan done.");
- }
- }
- /**
- * @see org.locationtech.udig.project.ui.tool.Tool#dispose()
- */
- public void dispose() {
- super.dispose();
- }
-
- /**
- * Executes the specified pan command, and only after it is executed, expires the last translate command
- */
- private class PanAndInvalidate implements Command, NavCommand {
-
- private NavCommand command;
- private TranslateCommand expire;
-
- PanAndInvalidate(NavCommand command, TranslateCommand expire) {
- this.command = command;
- this.expire = expire;
- }
-
- public Command copy() {
- return new PanAndInvalidate(command, expire);
- }
-
- public String getName() {
- return "PanAndDiscard"; //$NON-NLS-1$
- }
-
- public void run( IProgressMonitor monitor ) throws Exception {
- //first we need to expire the current translation
- expire.setValid(false);
-
- //then we can draw
- command.run(monitor);
- }
-
- public void setViewportModel( ViewportModel model ) {
- command.setViewportModel(model);
- }
-
- public Map getMap() {
- return command.getMap();
- }
-
- public void setMap( IMap map ) {
- command.setMap(map);
- }
-
- public void rollback( IProgressMonitor monitor ) throws Exception {
- command.rollback(monitor);
- }
-
- }
-}
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/InvalidateCommand.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/InvalidateCommand.java
deleted file mode 100644
index 731faf0825..0000000000
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/InvalidateCommand.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * uDig - User Friendly Desktop Internet GIS client
- * http://udig.refractions.net
- * (C) 2012, Refractions Research Inc.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
- * License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
- */
-package org.locationtech.udig.tools.internal;
-
-import java.awt.Rectangle;
-
-import org.locationtech.udig.project.command.MapCommand;
-import org.locationtech.udig.project.ui.commands.AbstractDrawCommand;
-import org.locationtech.udig.project.ui.commands.IDrawCommand;
-import org.locationtech.udig.project.ui.commands.TransformDrawCommand;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * @author jesse
- */
-public class InvalidateCommand extends AbstractDrawCommand implements MapCommand, IDrawCommand {
-
- private TransformDrawCommand m_toInvalidate;
-
- public InvalidateCommand(TransformDrawCommand command) {
- m_toInvalidate = command;
- }
-
- public void run(IProgressMonitor monitor) throws Exception {
- m_toInvalidate.setValid(false);
- }
-
- public Rectangle getValidArea() {
- return null;
- }
-
-}
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/NavigationUpdateThread.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/NavigationUpdateThread.java
index b476f32112..637767a838 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/NavigationUpdateThread.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/NavigationUpdateThread.java
@@ -13,9 +13,9 @@
import java.util.ArrayList;
import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.command.navigation.NavComposite;
-import org.locationtech.udig.project.internal.command.navigation.PanCommand;
-import org.locationtech.udig.project.internal.command.navigation.ZoomCommand;
+import org.locationtech.udig.project.command.navigation.NavComposite;
+import org.locationtech.udig.project.command.navigation.PanCommand;
+import org.locationtech.udig.project.command.navigation.ZoomCommand;
import org.locationtech.udig.project.ui.commands.TransformDrawCommand;
import org.locationtech.udig.project.ui.tool.IToolContext;
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Pan.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Pan.java
index e392ad8445..9549e897e3 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Pan.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Pan.java
@@ -13,19 +13,14 @@
import java.awt.Point;
-import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.PanCommand;
-import org.locationtech.udig.project.internal.render.ViewportModel;
+import org.locationtech.udig.project.command.navigation.PanCommand;
import org.locationtech.udig.project.ui.internal.commands.draw.TranslateCommand;
import org.locationtech.udig.project.ui.render.displayAdapter.MapMouseEvent;
import org.locationtech.udig.project.ui.render.displayAdapter.ViewportPane;
import org.locationtech.udig.project.ui.tool.AbstractModalTool;
import org.locationtech.udig.project.ui.tool.ModalTool;
-
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.locationtech.udig.tools.internal.commands.PanAndInvalidate;
/**
@@ -50,6 +45,7 @@ public Pan() {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseDragged(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseDragged(MapMouseEvent e) {
if (dragging) {
command.setTranslation(e.x- start.x, e.y - start.y);
@@ -60,6 +56,7 @@ public void mouseDragged(MapMouseEvent e) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mousePressed(MapMouseEvent e) {
if (validModifierButtonCombo(e)) {
@@ -87,6 +84,7 @@ protected boolean validModifierButtonCombo(MapMouseEvent e) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseReleased(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseReleased(MapMouseEvent e) {
if (dragging) {
((ViewportPane)context.getMapDisplay()).enableDrawCommands(true);
@@ -106,56 +104,8 @@ public void mouseReleased(MapMouseEvent e) {
/**
* @see org.locationtech.udig.project.ui.tool.Tool#dispose()
*/
+ @Override
public void dispose() {
super.dispose();
}
-
- /**
- * Executes the specified pan command, and only after it is executed, expires the last translate command
- */
- private class PanAndInvalidate implements Command, NavCommand {
-
- private NavCommand command;
- private TranslateCommand expire;
-
- PanAndInvalidate(NavCommand command, TranslateCommand expire) {
- this.command = command;
- this.expire = expire;
- }
-
- public Command copy() {
- return new PanAndInvalidate(command, expire);
- }
-
- public String getName() {
- return "PanAndDiscard";
- }
-
- public void run( IProgressMonitor monitor ) throws Exception {
- //we need to expire the translate command first otherwise
- //the image gets drawn in the wrong spot the first time
- // and we see weird affects
- expire.setValid(false);
-
- command.run(monitor);
-
- }
-
- public void setViewportModel( ViewportModel model ) {
- command.setViewportModel(model);
- }
-
- public Map getMap() {
- return command.getMap();
- }
-
- public void setMap( IMap map ) {
- command.setMap(map);
- }
-
- public void rollback( IProgressMonitor monitor ) throws Exception {
- command.rollback(monitor);
- }
-
- }
}
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/PanTool.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/PanTool.java
index aabf83b334..a640bb8d73 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/PanTool.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/PanTool.java
@@ -13,12 +13,9 @@
import java.awt.Point;
-import org.locationtech.udig.project.IMap;
-import org.locationtech.udig.project.command.Command;
import org.locationtech.udig.project.command.NavCommand;
-import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.AbstractNavCommand;
-import org.locationtech.udig.project.internal.command.navigation.PanCommand;
+import org.locationtech.udig.project.command.navigation.PanCommand;
+import org.locationtech.udig.project.command.navigation.SetBoundsCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
import org.locationtech.udig.project.internal.render.impl.ViewportModelImpl;
import org.locationtech.udig.project.ui.internal.commands.draw.TranslateCommand;
@@ -27,8 +24,7 @@
import org.locationtech.udig.project.ui.tool.AbstractModalTool;
import org.locationtech.udig.project.ui.tool.ModalTool;
import org.locationtech.udig.project.ui.tool.options.ToolOptionContributionItem;
-
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.locationtech.udig.tools.internal.commands.PanAndInvalidate;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
@@ -47,24 +43,25 @@
* preferences.
*
* There are three strateies avaialble {@link Pan}, {@link Scroll}, {@link FixedScale}.
- *
+ *
* @author Jesse Eichar
* @version $Revision: 1.9 $
*/
public class PanTool extends AbstractModalTool implements ModalTool {
public static class OptionContribtionItem extends ToolOptionContributionItem {
+ @Override
public IPreferenceStore fillFields( Composite parent ) {
Button check = new Button(parent, SWT.CHECK );
check.setText("Scale");
addField( NavigationToolPreferencePage.SCALE, check );
-
+
Button tiled = new Button(parent, SWT.CHECK );
tiled.setText("Tiled");
addField( NavigationToolPreferencePage.TILED, tiled );
-
+
return ToolsPlugin.getDefault().getPreferenceStore();
}
- };
+ }
/**
* Delegate used to control how the PanTool functions; configured using Preference.
* @author Jody Garnett (LISAsoft)
@@ -79,9 +76,10 @@ public void mouseReleased( MapMouseEvent e ) {
}
public void dispose() {
}
- };
+ }
private ScrollStrategy strategy;
IPropertyChangeListener prefListener = new IPropertyChangeListener(){
+ @Override
public void propertyChange( PropertyChangeEvent event ) {
String property = event.getProperty();
if( NavigationToolPreferencePage.SCALE.equals( property ) ||
@@ -112,14 +110,14 @@ else if (tiled){
else {
strategy = new Pan();
}
-
+
}
/**
* Used to recognise a mouse event and pan accodingly.
*
* This functionality is overridden by PanMiddleMouse in order to allow the middle mouse button
* to provide the Pan functionality for any ModalTool.
- *
+ *
* @param e
*/
protected boolean validModifierButtonCombo( MapMouseEvent e ) {
@@ -128,6 +126,7 @@ protected boolean validModifierButtonCombo( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseDragged(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseDragged( MapMouseEvent e ) {
strategy.mouseDragged(e);
}
@@ -135,6 +134,7 @@ public void mouseDragged( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mousePressed( MapMouseEvent e ) {
strategy.mousePressed(e);
}
@@ -142,12 +142,14 @@ public void mousePressed( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseReleased(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseReleased( MapMouseEvent e ) {
strategy.mouseReleased(e);
}
/**
* @see org.locationtech.udig.project.ui.tool.Tool#dispose()
*/
+ @Override
public void dispose() {
if (strategy != null) {
strategy.dispose();
@@ -156,57 +158,12 @@ public void dispose() {
super.dispose();
}
- /**
- * Executes the specified pan command, and only after it is executed, expires the last translate
- * command
- */
- private class PanAndInvalidate implements Command, NavCommand {
- private NavCommand command;
- private TranslateCommand expire;
- PanAndInvalidate( NavCommand command, TranslateCommand expire ) {
- this.command = command;
- this.expire = expire;
- }
-
- public Command copy() {
- return new PanAndInvalidate(command, expire);
- }
-
- public String getName() {
- return "PanAndDiscard";
- }
-
- public void run( IProgressMonitor monitor ) throws Exception {
- // we need to expire the translate command first otherwise
- // the image gets drawn in the wrong spot the first time
- // and we see weird affects
- expire.setValid(false);
-
- command.run(monitor);
- }
-
- public void setViewportModel( ViewportModel model ) {
- command.setViewportModel(model);
- }
-
- public Map getMap() {
- return command.getMap();
- }
-
- public void setMap( IMap map ) {
- command.setMap(map);
- }
-
- public void rollback( IProgressMonitor monitor ) throws Exception {
- command.rollback(monitor);
- }
- }
-
/** Basic Pan Functionality for MapViewport */
public class Pan extends ScrollStrategy {
private boolean dragging = false;
private Point start = null;
private TranslateCommand command;
+ @Override
public void mouseDragged( MapMouseEvent e ) {
if (dragging) {
command.setTranslation(e.x - start.x, e.y - start.y);
@@ -217,6 +174,7 @@ public void mouseDragged( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mousePressed( MapMouseEvent e ) {
if (validModifierButtonCombo(e)) {
((ViewportPane) context.getMapDisplay()).enableDrawCommands(false);
@@ -230,6 +188,7 @@ public void mousePressed( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseReleased(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseReleased( MapMouseEvent e ) {
if (dragging) {
((ViewportPane) context.getMapDisplay()).enableDrawCommands(true);
@@ -270,6 +229,7 @@ class Scroll extends ScrollStrategy {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseDragged(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseDragged( MapMouseEvent e ) {
if (dragging) {
org.eclipse.swt.graphics.Point p = Display.getCurrent().map(
@@ -297,6 +257,7 @@ public void mouseDragged( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mousePressed( MapMouseEvent e ) {
if (validModifierButtonCombo(e)) {
((ViewportPane) context.getMapDisplay()).enableDrawCommands(false);
@@ -306,6 +267,7 @@ public void mousePressed( MapMouseEvent e ) {
.map((Canvas) context.getViewportPane(), null, e.x, e.y);
}
}
+ @Override
public void mouseReleased( MapMouseEvent e ) {
if (dragging) {
@@ -337,6 +299,7 @@ public void mouseReleased( MapMouseEvent e ) {
((ViewportModelImpl) context.getViewportModel()).setBounds(newbounds);
}
}
+ @Override
public void dispose() {
super.dispose();
}
@@ -351,7 +314,7 @@ public void dispose() {
* change resolution as the MapViewport tries to maintain the current scale (as you move north
* and south). Emily reports that the strategy does not actually do this properly.
*
- *
+ *
* @author Emily Gouge
* @since 1.2.0
*/
@@ -365,6 +328,7 @@ class FixedScale extends ScrollStrategy {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseDragged(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseDragged( MapMouseEvent e ) {
if (dragging) {
command.setTranslation(e.x - start.x, e.y - start.y);
@@ -375,6 +339,7 @@ public void mouseDragged( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mousePressed(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mousePressed( MapMouseEvent e ) {
if (validModifierButtonCombo(e)) {
@@ -389,6 +354,7 @@ public void mousePressed( MapMouseEvent e ) {
/**
* @see org.locationtech.udig.project.ui.tool.AbstractTool#mouseReleased(org.locationtech.udig.project.render.displayAdapter.MapMouseEvent)
*/
+ @Override
public void mouseReleased( MapMouseEvent e ) {
if (dragging) {
@@ -430,24 +396,9 @@ public void mouseReleased( MapMouseEvent e ) {
// }
// compute new bbox for
- NavCommand setFinal = new AbstractNavCommand(){
-
- @Override
- protected void runImpl( IProgressMonitor monitor ) throws Exception {
- model.setBounds(newbounds);
- }
-
- public Command copy() {
- return null;
- }
-
- public String getName() {
- return "Fixed Scale Pan"; //$NON-NLS-1$
- }
- };
-
((ViewportPane) getContext().getMapDisplay()).update();
- context.sendASyncCommand(new PanAndInvalidate(setFinal, command));
+ context.sendASyncCommand(
+ new PanAndInvalidate(new SetBoundsCommand(newbounds), command));
dragging = false;
// System.out.println("pan done.");
@@ -456,6 +407,7 @@ public String getName() {
/**
* @see org.locationtech.udig.project.ui.tool.Tool#dispose()
*/
+ @Override
public void dispose() {
super.dispose();
}
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Zoom.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Zoom.java
index 51beb7e8b3..45ea827480 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Zoom.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/Zoom.java
@@ -14,7 +14,7 @@
import java.awt.Point;
import java.awt.Rectangle;
-import org.locationtech.udig.project.internal.command.navigation.ZoomCommand;
+import org.locationtech.udig.project.command.navigation.ZoomCommand;
import org.locationtech.udig.project.render.IViewportModel;
import org.locationtech.udig.project.ui.commands.DrawCommandFactory;
import org.locationtech.udig.project.ui.commands.SelectionBoxCommand;
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/ZoomExtent.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/ZoomExtent.java
index b4d3c1659a..2416d5ba05 100644
--- a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/ZoomExtent.java
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/ZoomExtent.java
@@ -11,7 +11,7 @@
*/
package org.locationtech.udig.tools.internal;
-import org.locationtech.udig.project.internal.command.navigation.ZoomExtentCommand;
+import org.locationtech.udig.project.command.navigation.ZoomExtentCommand;
import org.locationtech.udig.project.ui.tool.AbstractActionTool;
import org.locationtech.udig.project.ui.tool.AbstractTool;
diff --git a/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/commands/PanAndInvalidate.java b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/commands/PanAndInvalidate.java
new file mode 100644
index 0000000000..88a5a052a1
--- /dev/null
+++ b/plugins/org.locationtech.udig.tool.default/src/org/locationtech/udig/tools/internal/commands/PanAndInvalidate.java
@@ -0,0 +1,53 @@
+package org.locationtech.udig.tools.internal.commands;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.locationtech.udig.project.IMap;
+import org.locationtech.udig.project.command.Command;
+import org.locationtech.udig.project.command.NavCommand;
+import org.locationtech.udig.project.internal.Map;
+import org.locationtech.udig.project.internal.render.ViewportModel;
+import org.locationtech.udig.project.ui.internal.commands.draw.TranslateCommand;
+
+/**
+ * Executes the specified pan command, and only after it is executed, expires the last translate command
+ */
+public class PanAndInvalidate implements Command, NavCommand {
+
+ private NavCommand command;
+ private TranslateCommand expire;
+
+ public PanAndInvalidate(NavCommand command, TranslateCommand expire) {
+ this.command = command;
+ this.expire = expire;
+ }
+
+ @Override
+ public String getName() {
+ return "PanAndDiscard"; //$NON-NLS-1$
+ }
+
+ @Override
+ public void run( IProgressMonitor monitor ) throws Exception {
+ //first we need to expire the current translation
+ expire.setValid(false);
+
+ //then we can draw
+ command.run(monitor);
+ }
+
+ @Override
+ public void setViewportModel( ViewportModel model ) {
+ command.setViewportModel(model);
+ }
+
+ @Override
+ public Map getMap() {
+ return command.getMap();
+ }
+
+ @Override
+ public void setMap(IMap map) {
+ command.setMap(map);
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/org.locationtech.udig.tool.edit/src/org/locationtech/udig/tools/edit/enablement/ValidToolDetectionActivator.java b/plugins/org.locationtech.udig.tool.edit/src/org/locationtech/udig/tools/edit/enablement/ValidToolDetectionActivator.java
index ea600027b6..7852f9a24d 100644
--- a/plugins/org.locationtech.udig.tool.edit/src/org/locationtech/udig/tools/edit/enablement/ValidToolDetectionActivator.java
+++ b/plugins/org.locationtech.udig.tool.edit/src/org/locationtech/udig/tools/edit/enablement/ValidToolDetectionActivator.java
@@ -14,6 +14,7 @@
import org.locationtech.udig.project.Interaction;
import org.locationtech.udig.project.command.UndoableMapCommand;
import org.locationtech.udig.project.internal.EditManager;
+import org.locationtech.udig.project.internal.commands.SetApplicabilityCommand;
import org.locationtech.udig.project.ui.render.displayAdapter.MapMouseEvent;
import org.locationtech.udig.tool.edit.internal.Messages;
import org.locationtech.udig.tools.edit.EditPlugin;
@@ -85,8 +86,7 @@ public void run() {
Messages.ValidToolDetectionActivator_questionTitle, string);
if (decision) {
- UndoableMapCommand command = handler.getContext().getBasicCommandFactory()
- .createSetApplicabilityCommand(layer, Interaction.EDIT, true);
+ UndoableMapCommand command = new SetApplicabilityCommand(layer, Interaction.EDIT, true);
handler.getContext().sendASyncCommand(command);
} else {
warning[0]=Messages.ValidToolDetectionActivator_warning2;
diff --git a/plugins/org.locationtech.udig.tool.select/src/org/locationtech/udig/tool/select/internal/ZoomSelection.java b/plugins/org.locationtech.udig.tool.select/src/org/locationtech/udig/tool/select/internal/ZoomSelection.java
index 977d6d5b2b..eb98c7a1c5 100644
--- a/plugins/org.locationtech.udig.tool.select/src/org/locationtech/udig/tool/select/internal/ZoomSelection.java
+++ b/plugins/org.locationtech.udig.tool.select/src/org/locationtech/udig/tool/select/internal/ZoomSelection.java
@@ -12,7 +12,7 @@
import java.io.IOException;
import org.locationtech.udig.project.ILayer;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.render.impl.ScaleUtils;
import org.locationtech.udig.project.ui.tool.AbstractActionTool;
import org.locationtech.udig.tool.select.SelectPlugin;
diff --git a/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/featuremovieview/FeatureMovieView.java b/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/featuremovieview/FeatureMovieView.java
index c283f546ff..91bcb1092b 100644
--- a/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/featuremovieview/FeatureMovieView.java
+++ b/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/featuremovieview/FeatureMovieView.java
@@ -17,7 +17,7 @@
import org.locationtech.udig.project.IMap;
import org.locationtech.udig.project.command.UndoableMapCommand;
import org.locationtech.udig.project.command.factory.SelectionCommandFactory;
-import org.locationtech.udig.project.internal.command.navigation.ZoomCommand;
+import org.locationtech.udig.project.command.navigation.ZoomCommand;
import org.locationtech.udig.project.internal.commands.selection.SelectCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
diff --git a/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/navigationview/NavigationView.java b/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/navigationview/NavigationView.java
index 80bc379713..8b47e3cdfb 100644
--- a/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/navigationview/NavigationView.java
+++ b/plugins/org.locationtech.udig.tools.jgrass/src/org/locationtech/udig/tools/jgrass/navigationview/NavigationView.java
@@ -1,6 +1,6 @@
/*
* uDig - User Friendly Desktop Internet GIS client
- * (C) HydroloGIS - www.hydrologis.com
+ * (C) HydroloGIS - www.hydrologis.com
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -81,7 +81,7 @@
import org.locationtech.udig.project.IMapListener;
import org.locationtech.udig.project.MapCompositionEvent;
import org.locationtech.udig.project.MapEvent;
-import org.locationtech.udig.project.command.factory.NavigationCommandFactory;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.tools.jgrass.JGrassToolsPlugin;
@@ -96,7 +96,7 @@
/**
* A navigation view.
- *
+ *
* @author Andrea Antonello (www.hydrologis.com)
*
*/
@@ -143,6 +143,7 @@ public NavigationView() {
}
+ @Override
public void createPartControl( Composite theparent ) {
ScrolledComposite scrolledComposite = new ScrolledComposite(theparent, SWT.H_SCROLL | SWT.V_SCROLL);
@@ -235,10 +236,11 @@ public void createPartControl( Composite theparent ) {
canvas.setLayoutData(gd2);
canvas.addPaintListener(new PaintListener(){
+ @Override
public void paintControl( PaintEvent e ) {
Rectangle canvasBounds = canvas.getBounds();
Rectangle imageBounds = worldImage.getBounds();
- int h = (int) ((float) canvasBounds.width * (float) imageBounds.height / (float) imageBounds.width);
+ int h = (int) ((float) canvasBounds.width * (float) imageBounds.height / imageBounds.width);
e.gc.drawImage(worldImage, 0, 0, imageBounds.width, imageBounds.height, 0, 0, canvasBounds.width, h);
IMap activeMap = ApplicationGIS.getActiveMap();
@@ -292,12 +294,12 @@ public void paintControl( PaintEvent e ) {
height = 1;
}
- int x = (int) ((double) canvasBounds.width * west / 360.0);
- int y = (int) ((double) h * north / 180.0);
- int fw = (int) ((double) canvasBounds.width * width / 360.0);
+ int x = (int) (canvasBounds.width * west / 360.0);
+ int y = (int) (h * north / 180.0);
+ int fw = (int) (canvasBounds.width * width / 360.0);
if (fw <= 1)
fw = 2;
- int fh = (int) ((double) h * height / 180.0);
+ int fh = (int) (h * height / 180.0);
if (fh <= 1)
fh = 2;
int newy = h - y;
@@ -346,12 +348,14 @@ public void paintControl( PaintEvent e ) {
countriesCombo.setItems(namesArray);
countriesCombo.select(0);
countriesCombo.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
int selectionIndex = countriesCombo.getSelectionIndex();
String item = countriesCombo.getItem(selectionIndex);
final String file = folderFile.getAbsolutePath() + File.separator + item + ".txt";
IRunnableWithProgress operation = new IRunnableWithProgress(){
+ @Override
public void run( IProgressMonitor pm ) throws InvocationTargetException, InterruptedException {
try {
populatePlacesMap(placesMap, file);
@@ -371,6 +375,7 @@ public void run( IProgressMonitor pm ) throws InvocationTargetException, Interru
addNewButton.setText("+");
addNewButton.setToolTipText("Add a new geonames file (get it at http://download.geonames.org/export/dump/)");
addNewButton.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
FileDialog fileDialog = new FileDialog(countriesCombo.getShell(), SWT.OPEN);
fileDialog.setFilterExtensions(new String[]{"*.txt"});
@@ -403,6 +408,7 @@ public void widgetSelected( SelectionEvent e ) {
removeButton.setText("-");
removeButton.setToolTipText("Remove a geonames file");
removeButton.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
int selectionIndex = countriesCombo.getSelectionIndex();
String item = countriesCombo.getItem(selectionIndex);
@@ -446,6 +452,7 @@ public void widgetSelected( SelectionEvent e ) {
searchButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
searchButton.setText("search");
searchButton.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
String text = placesText.getText();
if (text.length() < 3) {
@@ -461,7 +468,7 @@ public void widgetSelected( SelectionEvent e ) {
matchedList.add(name);
}
}
- String[] matchedArray = (String[]) matchedList.toArray(new String[matchedList.size()]);
+ String[] matchedArray = matchedList.toArray(new String[matchedList.size()]);
Arrays.sort(matchedArray);
placesCombo.setItems(matchedArray);
placesCombo.select(0);
@@ -476,6 +483,7 @@ public void widgetSelected( SelectionEvent e ) {
goButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
goButton.setText("go");
goButton.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
IMap map = ApplicationGIS.getActiveMap();
if (map.getMapLayers().size() < 1) {
@@ -506,7 +514,7 @@ public void widgetSelected( SelectionEvent e ) {
} catch (Exception e1) {
e1.printStackTrace();
}
- map.sendCommandASync(NavigationCommandFactory.getInstance().createSetViewportBBoxCommand(bounds));
+ map.sendCommandASync(new SetViewportBBoxCommand(bounds));
}
});
@@ -516,10 +524,12 @@ public void widgetSelected( SelectionEvent e ) {
loadShapeButton.setLayoutData(gridData);
loadShapeButton.setText("Load all places as feature layer");
loadShapeButton.addSelectionListener(new SelectionAdapter(){
+ @Override
public void widgetSelected( SelectionEvent e ) {
IRunnableWithProgress operation = new IRunnableWithProgress(){
+ @Override
public void run( IProgressMonitor pm ) throws InvocationTargetException, InterruptedException {
try {
@@ -595,12 +605,13 @@ private String[] loadGeonamesFiles() {
}
names.add(name.replaceFirst(".txt", ""));
}
- String[] namesArray = (String[]) names.toArray(new String[names.size()]);
+ String[] namesArray = names.toArray(new String[names.size()]);
return namesArray;
}
private void updateData() {
Display.getDefault().asyncExec(new Runnable(){
+ @Override
public void run() {
IMap activeMap = ApplicationGIS.getActiveMap();
ViewportModel viewportModel = (ViewportModel) activeMap.getViewportModel();
@@ -623,7 +634,7 @@ public void run() {
canvas.redraw();
SortedSet preferredScaleDenominators = viewportModel.getPreferredScaleDenominators();
- Double[] scalesArray = (Double[]) preferredScaleDenominators.toArray(new Double[preferredScaleDenominators.size()]);
+ Double[] scalesArray = preferredScaleDenominators.toArray(new Double[preferredScaleDenominators.size()]);
String[] scales = new String[scalesArray.length];
for( int i = 0; i < scales.length; i++ ) {
scales[i] = "1:" + String.valueOf(scalesArray[i]);
@@ -680,6 +691,7 @@ public void run() {
});
}
+ @Override
public void widgetSelected( SelectionEvent e ) {
ViewportModel viewportModel = (ViewportModel) ApplicationGIS.getActiveMap().getViewportModel();
@@ -776,18 +788,22 @@ public void widgetSelected( SelectionEvent e ) {
updateData();
}
+ @Override
public void changed( MapEvent event ) {
updateData();
}
+ @Override
public void changed( MapCompositionEvent event ) {
updateData();
}
+ @Override
public void setFocus() {
updateData();
}
+ @Override
public void widgetDefaultSelected( SelectionEvent e ) {
}
diff --git a/plugins/org.locationtech.udig.tools/src/org/locationtech/udig/tools/merge/internal/view/MergeFeaturesCommand.java b/plugins/org.locationtech.udig.tools/src/org/locationtech/udig/tools/merge/internal/view/MergeFeaturesCommand.java
index 70a605e5cd..ba252d75f0 100644
--- a/plugins/org.locationtech.udig.tools/src/org/locationtech/udig/tools/merge/internal/view/MergeFeaturesCommand.java
+++ b/plugins/org.locationtech.udig.tools/src/org/locationtech/udig/tools/merge/internal/view/MergeFeaturesCommand.java
@@ -102,10 +102,6 @@ public void rollback(IProgressMonitor monitor) throws Exception {
this.compositeCmd.rollback(monitor);
}
- public MapCommand copy() {
- return this.compositeCmd.copy();
- }
-
public String getName() {
return "Merge Features Command"; //$NON-NLS-1$
}
diff --git a/plugins/org.locationtech.udig.tutorials.preferredzoomlevels/src/org/locationtech/udig/tutorials/preferredzoomlevels/ZoomToFeatures.java b/plugins/org.locationtech.udig.tutorials.preferredzoomlevels/src/org/locationtech/udig/tutorials/preferredzoomlevels/ZoomToFeatures.java
index 0c8ba22b6e..6cdb436712 100644
--- a/plugins/org.locationtech.udig.tutorials.preferredzoomlevels/src/org/locationtech/udig/tutorials/preferredzoomlevels/ZoomToFeatures.java
+++ b/plugins/org.locationtech.udig.tutorials.preferredzoomlevels/src/org/locationtech/udig/tutorials/preferredzoomlevels/ZoomToFeatures.java
@@ -12,7 +12,7 @@
import java.io.IOException;
import org.locationtech.udig.project.ILayer;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.tool.AbstractActionTool;
import org.locationtech.udig.ui.ProgressManager;
diff --git a/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/MapView.java b/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/MapView.java
index 53d978a06e..132a0ed7ef 100644
--- a/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/MapView.java
+++ b/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/MapView.java
@@ -19,18 +19,17 @@
import org.locationtech.udig.catalog.ICatalog;
import org.locationtech.udig.catalog.IGeoResource;
import org.locationtech.udig.catalog.IService;
-import org.locationtech.udig.catalog.IServiceFactory;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Layer;
import org.locationtech.udig.project.internal.Map;
import org.locationtech.udig.project.internal.ProjectFactory;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.commands.AddLayersCommand;
import org.locationtech.udig.project.ui.internal.MapPart;
import org.locationtech.udig.project.ui.internal.wizard.MapImport;
import org.locationtech.udig.project.ui.tool.IMapEditorSelectionProvider;
import org.locationtech.udig.project.ui.tool.ModalTool;
import org.locationtech.udig.project.ui.viewers.MapViewer;
-import org.locationtech.udig.tools.internal.FixedScalePan;
+import org.locationtech.udig.tools.internal.PanTool;
import org.locationtech.udig.tools.internal.Zoom;
import org.locationtech.udig.tutorials.tracking.glasspane.SeagullGlassPaneOp;
@@ -52,7 +51,7 @@
/**
* A map view.
- *
+ *
* @author Emily Gouge, Graham Davis (Refractions Research, Inc.)
* @since 1.1.0
* @version 1.3.0
@@ -80,8 +79,8 @@ public void createPartControl( Composite parent ) {
// create a new empty map
// if you are going to add layers do so now
// prior to adding to the mapviewer
- //
- map = (Map) ProjectFactory.eINSTANCE.createMap();
+ //
+ map = ProjectFactory.eINSTANCE.createMap();
mapviewer.setMap(map);
IMenuManager viewMenu = getViewSite().getActionBars().getMenuManager();
@@ -121,7 +120,7 @@ public void createPartControl( Composite parent ) {
// }
// }
// }
- //
+ //
// class SetPrintTilesVPToolAction extends Action {
// public SetPrintTilesVPToolAction() {
// super("Print VP Tiles"); //$NON-NLS-1$
@@ -149,6 +148,7 @@ class SetPrintMapLayersToolAction extends Action {
public SetPrintMapLayersToolAction() {
super("Print Map Layers"); //$NON-NLS-1$
}
+ @Override
public void run() {
if (map != null) {
for( Layer layer : map.getLayersInternal() ) {
@@ -163,7 +163,8 @@ public SetPanToolAction() {
super("Pan"); //$NON-NLS-1$
}
- private FixedScalePan tool = new FixedScalePan();
+ private PanTool tool = new PanTool();
+ @Override
public void run() {
setActive(tool);
}
@@ -174,6 +175,7 @@ class SetZoomExtentToolAction extends Action {
public SetZoomExtentToolAction() {
super("Zoom"); //$NON-NLS-1$
}
+ @Override
public void run() {
setActive(tool);
}
@@ -183,6 +185,7 @@ class SetZoomToMapToolAction extends Action {
public SetZoomToMapToolAction() {
super("Zoom to Map"); //$NON-NLS-1$
}
+ @Override
public void run() {
ReferencedEnvelope bounds = map.getBounds(new NullProgressMonitor());
map.sendCommandASync(new SetViewportBBoxCommand(bounds));
@@ -193,6 +196,7 @@ class SetRefreshToolAction extends Action {
public SetRefreshToolAction() {
super("Refresh Map"); //$NON-NLS-1$
}
+ @Override
public void run() {
mapviewer.getRenderManager().refresh(null);
}
@@ -202,11 +206,13 @@ class SetBackgroundFileAction extends Action {
public SetBackgroundFileAction() {
super("Add Background layer from file..."); //$NON-NLS-1$
}
+ @Override
@SuppressWarnings("unchecked")
public void run() {
Display display = Display.getCurrent();
final ArrayList files = new ArrayList();
display.syncExec(new Runnable(){
+ @Override
public void run() {
FileDialog openDialog = new FileDialog(getSite().getShell(), SWT.OPEN
| SWT.MULTI);
@@ -222,7 +228,7 @@ public void run() {
return;
List dataHandles = new ArrayList();
ICatalog catalog = CatalogPlugin.getDefault().getLocalCatalog();
-
+
for( File file : files ) {
try {
URL url = file.toURI().toURL();
@@ -252,6 +258,7 @@ class SetGlassSeagullsAction extends Action {
public SetGlassSeagullsAction() {
super("Add Glass Seagulls layer"); //$NON-NLS-1$
}
+ @Override
public void run() {
Display display = Display.getCurrent();
if (seagullOp == null) {
@@ -271,10 +278,12 @@ class SetBackgroundWMSCAction extends Action {
public SetBackgroundWMSCAction() {
super("Add Background layer..."); //$NON-NLS-1$
}
+ @Override
public void run() {
Display display = Display.getCurrent();
// final ArrayList files = new ArrayList();
display.syncExec(new Runnable(){
+ @Override
public void run() {
MapImport mapImport = new MapImport();
mapImport.getDialog().open();
@@ -291,6 +300,7 @@ public void setFocus() {
public void setModalTool( ModalTool tool ) {
tool.setActive(true);
}
+ @Override
public Map getMap() {
return mapviewer.getMap();
}
@@ -302,14 +312,17 @@ public void dispose() {
}
}
+ @Override
public void openContextMenu() {
mapviewer.openContextMenu();
}
+ @Override
public void setFont( Control control ) {
mapviewer.setFont(control);
}
+ @Override
public void setSelectionProvider( IMapEditorSelectionProvider selectionProvider ) {
mapviewer.setSelectionProvider(selectionProvider);
}
diff --git a/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/OverviewMapView.java b/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/OverviewMapView.java
index c071b0c676..8311fa649a 100644
--- a/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/OverviewMapView.java
+++ b/plugins/org.locationtech.udig.tutorials.rcp/src/org/locationtech/udig/tutorials/rcp/OverviewMapView.java
@@ -10,9 +10,9 @@
*/
package org.locationtech.udig.tutorials.rcp;
+import org.locationtech.udig.project.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.internal.Map;
import org.locationtech.udig.project.internal.ProjectFactory;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportBBoxCommand;
import org.locationtech.udig.project.ui.ApplicationGIS;
import org.locationtech.udig.project.ui.internal.MapPart;
import org.locationtech.udig.project.ui.internal.tool.display.ToolManager;
diff --git a/plugins/org.locationtech.udig.tutorials.tracking/src/org/locationtech/udig/tutorials/tracking/glasspane/TrackSeagullOp.java b/plugins/org.locationtech.udig.tutorials.tracking/src/org/locationtech/udig/tutorials/tracking/glasspane/TrackSeagullOp.java
index a1ec9a133b..47188e4c92 100644
--- a/plugins/org.locationtech.udig.tutorials.tracking/src/org/locationtech/udig/tutorials/tracking/glasspane/TrackSeagullOp.java
+++ b/plugins/org.locationtech.udig.tutorials.tracking/src/org/locationtech/udig/tutorials/tracking/glasspane/TrackSeagullOp.java
@@ -30,8 +30,8 @@
import org.locationtech.jts.geom.Envelope;
import org.locationtech.udig.project.IMap;
+import org.locationtech.udig.project.command.navigation.SetViewportCenterCommand;
import org.locationtech.udig.project.internal.Map;
-import org.locationtech.udig.project.internal.command.navigation.SetViewportCenterCommand;
import org.locationtech.udig.project.internal.render.ViewportModel;
import org.locationtech.udig.project.internal.render.impl.ViewportModelImpl;
import org.locationtech.udig.project.ui.internal.render.displayAdapter.impl.ViewportPaneTiledSWT;