From: <aki...@us...> - 2014-03-01 08:50:35
|
Revision: 9673 http://sourceforge.net/p/gridarta/code/9673 Author: akirschbaum Date: 2014-03-01 08:50:27 +0000 (Sat, 01 Mar 2014) Log Message: ----------- Extract common code from EditorAction implementations into EditorActionManager. Modified Paths: -------------- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddToSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/DeleteArchAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GoLocationAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/InsertArchAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ReleaseDragAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchAboveAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchBelowAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectSquareAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/StartStopDragAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SubFromSelectionAction.java trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/exitconnector/ExitConnectorController.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/EditorFactory.java trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/GUIMainControl.java Added Paths: ----------- trunk/src/gridarta/src/main/java/net/sf/gridarta/maincontrol/EditorActionManager.java Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/actions/AtrinikServerActions.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -24,7 +24,6 @@ import java.io.OutputStream; import java.net.Socket; import net.sf.gridarta.actions.AbstractServerActions; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.mapmanager.FileControl; import net.sf.gridarta.var.atrinik.model.archetype.Archetype; import net.sf.gridarta.var.atrinik.model.gameobject.GameObject; @@ -62,12 +61,10 @@ /** * Creates a new instance. - * @param mapViewManager the map view manager for tracking the current map - * view * @param fileControl the file control for saving maps */ - public AtrinikServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { - super(mapViewManager, fileControl); + public AtrinikServerActions(@NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + super(fileControl); } /** Modified: trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/atrinik/src/main/java/net/sf/gridarta/var/atrinik/maincontrol/DefaultEditorFactory.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -37,7 +37,6 @@ import net.sf.gridarta.gui.filter.FilterControl; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewsManager; import net.sf.gridarta.gui.map.renderer.GridMapSquarePainter; import net.sf.gridarta.gui.map.renderer.RendererFactory; @@ -448,8 +447,8 @@ */ @NotNull @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { - return new AtrinikServerActions(mapViewManager, fileControl); + public EditorAction newServerActions(@NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + return new AtrinikServerActions(fileControl); } /** Modified: trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/crossfire/src/main/java/net/sf/gridarta/var/crossfire/maincontrol/DefaultEditorFactory.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -35,7 +35,6 @@ import net.sf.gridarta.gui.filter.FilterControl; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewsManager; import net.sf.gridarta.gui.map.renderer.GridMapSquarePainter; import net.sf.gridarta.gui.map.renderer.RendererFactory; @@ -339,7 +338,7 @@ */ @Nullable @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + public EditorAction newServerActions(@NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { return null; // action not supported } Modified: trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java =================================================================== --- trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/daimonin/src/main/java/net/sf/gridarta/var/daimonin/maincontrol/DefaultEditorFactory.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -37,7 +37,6 @@ import net.sf.gridarta.gui.filter.FilterControl; import net.sf.gridarta.gui.map.mapview.DefaultMapViewFactory; import net.sf.gridarta.gui.map.mapview.MapViewFactory; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewsManager; import net.sf.gridarta.gui.map.renderer.GridMapSquarePainter; import net.sf.gridarta.gui.map.renderer.RendererFactory; @@ -447,7 +446,7 @@ */ @Nullable @Override - public EditorAction newServerActions(@NotNull final MapViewManager<GameObject, MapArchObject, Archetype> mapViewManager, @NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { + public EditorAction newServerActions(@NotNull final FileControl<GameObject, MapArchObject, Archetype> fileControl) { return null; // action not supported } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractMapCursorAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -21,7 +21,6 @@ import java.awt.Point; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -36,7 +35,7 @@ * Abstract base class for actions that have to track the current map cursor. * @author Andreas Kirschbaum */ -public abstract class AbstractMapCursorAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> { +public abstract class AbstractMapCursorAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements MapCursorListener<G, A, R>, MapViewManagerListener<G, A, R> { /** * The active map view, or {@code null} if no map view exists. @@ -45,68 +44,6 @@ private MapView<G, A, R> currentMapView; /** - * The map view manager listener used to detect changed current maps. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - currentMapView = mapView; - updateAction(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().addMapCursorListener(mapCursorListener); - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().removeMapCursorListener(mapCursorListener); - } - - }; - - /** - * The map cursor listener used to detect cursor state changes in {@link - * #currentMapView}. - */ - @NotNull - private final MapCursorListener<G, A, R> mapCursorListener = new MapCursorListener<G, A, R>() { - - @Override - public void mapCursorChangedPos(@NotNull final Point location) { - updateAction(); - } - - @Override - public void mapCursorChangedMode() { - updateAction(); - } - - @Override - public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { - // ignore - } - - @Override - public void mapCursorChangedSize() { - // ignore - } - - }; - - /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - protected AbstractMapCursorAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); - } - - /** * Return the map cursor of the current map view if it is active. * @return the map cursor, or {@code null} if the cursor is not active, or * if no map view exists @@ -131,4 +68,65 @@ */ protected abstract void updateAction(); + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + updateAction(); + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedPos(@NotNull final Point location) { + updateAction(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedMode() { + updateAction(); + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { + // ignore + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapCursorChangedSize() { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractSelectionAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AbstractSelectionAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -19,7 +19,6 @@ package net.sf.gridarta.action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -34,14 +33,6 @@ public abstract class AbstractSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends AbstractMapCursorAction<G, A, R> { /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - protected AbstractSelectionAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * Executes an action for changing the selection. * @param performAction whether the action should be performed * @param mode the type of action to perform Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddBookmarkAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -22,7 +22,6 @@ import javax.swing.Action; import net.sf.gridarta.gui.dialog.bookmarks.EditBookmarkDialog; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.gui.mapmenu.AbstractMapMenuPreferences; import net.sf.gridarta.gui.mapmenu.MapMenuEntryMap; @@ -41,7 +40,7 @@ * An {@link EditorAction} that creates a new bookmark for the current map. * @author Andreas Kirschbaum */ -public class AddBookmarkAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class AddBookmarkAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapViewManagerListener<G, A, R> { /** * The {@link AbstractMapMenuPreferences} for adding new bookmarks. @@ -50,10 +49,10 @@ private final AbstractMapMenuPreferences bookmarksMapMenuPreferences; /** - * The {@link MapViewManager} instance. + * The currently active {@link MapView} or {@code null} if none is active. */ - @NotNull - private final MapViewManager<G, A, R> mapViewManager; + @Nullable + private MapView<G, A, R> currentMapView; /** * The action associated with this editor action. Set to {@code null} if no @@ -66,28 +65,9 @@ * Creates a new instance. * @param bookmarksMapMenuPreferences the map menu preferences defining the * bookmarks menu entries - * @param mapViewManager the map view manager instance */ - public AddBookmarkAction(@NotNull final AbstractMapMenuPreferences bookmarksMapMenuPreferences, @NotNull final MapViewManager<G, A, R> mapViewManager) { + public AddBookmarkAction(@NotNull final AbstractMapMenuPreferences bookmarksMapMenuPreferences) { this.bookmarksMapMenuPreferences = bookmarksMapMenuPreferences; - this.mapViewManager = mapViewManager; - final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - updateAction(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - } - - }; - mapViewManager.addMapViewManagerListener(mapViewManagerListener); } /** @@ -124,7 +104,7 @@ * @return whether the action has or can be performed */ private boolean doAddBookmark(final boolean performAction) { - final MapView<G, A, R> mapView = mapViewManager.getActiveMapView(); + final MapView<G, A, R> mapView = currentMapView; if (mapView == null) { return false; } @@ -148,4 +128,27 @@ return true; } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + updateAction(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddToSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddToSelectionAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/AddToSelectionAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public AddToSelectionAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ArchAttributesAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -23,7 +23,6 @@ import javax.swing.Action; import net.sf.gridarta.gui.dialog.gameobjectattributes.GameObjectAttributesDialogFactory; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -41,7 +40,7 @@ * currently selected game object. * @author Andreas Kirschbaum */ -public class ArchAttributesAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class ArchAttributesAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapCursorListener<G, A, R>, MapViewManagerListener<G, A, R> { /** * The factory for creating game object attributes dialog instances. @@ -63,68 +62,12 @@ private Action action; /** - * The map view manager listener used to detect changed current maps. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - currentMapView = mapView; - updateActions(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().addMapCursorListener(mapCursorListener); - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().removeMapCursorListener(mapCursorListener); - } - - }; - - /** - * The map cursor listener used to detect cursor state changes in {@link - * #currentMapView}. - */ - @NotNull - private final MapCursorListener<G, A, R> mapCursorListener = new MapCursorListener<G, A, R>() { - - @Override - public void mapCursorChangedPos(@NotNull final Point location) { - updateActions(); - } - - @Override - public void mapCursorChangedMode() { - // ignore - } - - @Override - public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { - // ignore - } - - @Override - public void mapCursorChangedSize() { - // ignore - } - - }; - - /** * Creates a new instance. - * @param mapViewManager the map view manager * @param gameObjectAttributesDialogFactory the factory for creating game * object attributes dialog instances */ - public ArchAttributesAction(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final GameObjectAttributesDialogFactory<G, A, R> gameObjectAttributesDialogFactory) { + public ArchAttributesAction(@NotNull final GameObjectAttributesDialogFactory<G, A, R> gameObjectAttributesDialogFactory) { this.gameObjectAttributesDialogFactory = gameObjectAttributesDialogFactory; - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); updateActions(); } @@ -177,4 +120,61 @@ return true; } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + updateActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedPos(@NotNull final Point location) { + updateActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedMode() { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedSize() { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/DeleteArchAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/DeleteArchAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/DeleteArchAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -52,11 +51,9 @@ /** * Creates a new instance. - * @param mapViewManager the map view manager * @param mapViewSettings the map view settings for querying options */ - public DeleteArchAction(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final MapViewSettings mapViewSettings) { - super(mapViewManager); + public DeleteArchAction(@NotNull final MapViewSettings mapViewSettings) { this.mapViewSettings = mapViewSettings; } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GoLocationAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GoLocationAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GoLocationAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -58,7 +58,6 @@ * @param mapViewManager the map view manager */ public GoLocationAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); goLocationDialogManager = new GoLocationDialogManager<G, A, R>(mapViewManager); } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/GrowSelectionAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -23,7 +23,6 @@ import java.util.List; import javax.swing.Action; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -43,7 +42,7 @@ * An {@link EditorAction} that grows the current selection by one map square. * @author Andreas Kirschbaum */ -public class GrowSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class GrowSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapViewManagerListener<G, A, R> { /** * The active map view, or {@code null} if no map view exists. @@ -59,34 +58,6 @@ private Action action; /** - * The map view manager listener used to detect changed current maps. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - if (currentMapView != null) { - currentMapView.getMapGrid().removeMapGridListener(mapGridListener); - } - currentMapView = mapView; - if (currentMapView != null) { - currentMapView.getMapGrid().addMapGridListener(mapGridListener); - } - updateAction(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - } - - }; - - /** * The {@link MapGridListener} attached to {@link #currentMapView}. */ @NotNull @@ -105,18 +76,6 @@ }; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public GrowSelectionAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); - if (currentMapView != null) { - currentMapView.getMapGrid().addMapGridListener(mapGridListener); - } - } - - /** * Grows the current map selection by one map square. */ @ActionMethod @@ -188,4 +147,33 @@ return true; } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + if (currentMapView != null) { + currentMapView.getMapGrid().removeMapGridListener(mapGridListener); + } + currentMapView = mapView; + if (currentMapView != null) { + currentMapView.getMapGrid().addMapGridListener(mapGridListener); + } + updateAction(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/InsertArchAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/InsertArchAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/InsertArchAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.panel.objectchooser.ObjectChooser; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.baseobject.BaseObject; @@ -60,12 +59,10 @@ /** * Creates a new instance. - * @param mapViewManager the map view manager * @param objectChooser the object chooser * @param mapViewSettings the map view settings instance for looking up options */ - public InsertArchAction(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final MapViewSettings mapViewSettings) { - super(mapViewManager); + public InsertArchAction(@NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final MapViewSettings mapViewSettings) { this.objectChooser = objectChooser; this.mapViewSettings = mapViewSettings; } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ReleaseDragAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ReleaseDragAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ReleaseDragAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -21,7 +21,6 @@ import java.awt.Point; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -46,14 +45,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public ReleaseDragAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchAboveAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchAboveAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchAboveAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public SelectArchAboveAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchBelowAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchBelowAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectArchBelowAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public SelectArchBelowAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectSquareAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectSquareAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SelectSquareAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public SelectSquareAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/ShrinkSelectionAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -25,7 +25,6 @@ import java.util.Map; import javax.swing.Action; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -46,7 +45,7 @@ * square. * @author Andreas Kirschbaum */ -public class ShrinkSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class ShrinkSelectionAction<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapViewManagerListener<G, A, R> { /** * The active map view, or {@code null} if no map view exists. @@ -62,34 +61,6 @@ private Action action; /** - * The map view manager listener used to detect changed current maps. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - if (currentMapView != null) { - currentMapView.getMapGrid().removeMapGridListener(mapGridListener); - } - currentMapView = mapView; - if (currentMapView != null) { - currentMapView.getMapGrid().addMapGridListener(mapGridListener); - } - updateAction(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - } - - }; - - /** * The {@link MapGridListener} attached to {@link #currentMapView}. */ @NotNull @@ -108,18 +79,6 @@ }; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public ShrinkSelectionAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); - if (currentMapView != null) { - currentMapView.getMapGrid().addMapGridListener(mapGridListener); - } - } - - /** * Grows the current map selection by one map square. */ @ActionMethod @@ -200,4 +159,35 @@ return true; } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + if (currentMapView != null) { + currentMapView.getMapGrid().removeMapGridListener(mapGridListener); + } + currentMapView = mapView; + if (currentMapView != null) { + currentMapView.getMapGrid().addMapGridListener(mapGridListener); + } + updateAction(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + @Override + /** + * {@inheritDoc} + */ + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/StartStopDragAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/StartStopDragAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/StartStopDragAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public StartStopDragAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SubFromSelectionAction.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SubFromSelectionAction.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/action/SubFromSelectionAction.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -20,7 +20,6 @@ package net.sf.gridarta.action; import javax.swing.Action; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.maparchobject.MapArchObject; @@ -45,14 +44,6 @@ private Action action; /** - * Creates a new instance. - * @param mapViewManager the map view manager - */ - public SubFromSelectionAction(@NotNull final MapViewManager<G, A, R> mapViewManager) { - super(mapViewManager); - } - - /** * {@inheritDoc} */ @Override Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/actions/AbstractServerActions.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -23,7 +23,6 @@ import java.io.IOException; import javax.swing.Action; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.gameobject.GameObject; @@ -42,7 +41,7 @@ * @author Andreas Kirschbaum * @noinspection AbstractClassWithOnlyOneDirectInheritor */ -public abstract class AbstractServerActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public abstract class AbstractServerActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapViewManagerListener<G, A, R> { /** * The currently active map or {@code null} if no map is active. @@ -64,41 +63,11 @@ private Action aOpenInClient; /** - * The map manager listener which is attached to the current map if the - * current map is tracked. Otherwise it is unused. - * @noinspection FieldCanBeLocal - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - currentMapView = mapView; - updateActions(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - }; - - /** * Creates a new instance. - * @param mapViewManager the map view manager for tracking the current map - * view * @param fileControl the file control for saving maps */ - protected AbstractServerActions(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final FileControl<G, A, R> fileControl) { + protected AbstractServerActions(@NotNull final FileControl<G, A, R> fileControl) { this.fileControl = fileControl; - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); } /** @@ -174,4 +143,31 @@ updateActions(); } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + updateActions(); + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + * @noinspection NoopMethodInAbstractClass + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/exitconnector/ExitConnectorController.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/exitconnector/ExitConnectorController.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/exitconnector/ExitConnectorController.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -23,7 +23,6 @@ import javax.swing.Action; import net.sf.gridarta.actions.ExitConnectorActions; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.exitconnector.ExitConnectorModel; @@ -40,7 +39,7 @@ * The controller of the exit connector. * @author Andreas Kirschbaum */ -public class ExitConnectorController<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class ExitConnectorController<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapViewManagerListener<G, A, R> { /** * The actions for this controller. @@ -101,39 +100,13 @@ }; /** - * The {@link MapViewManagerListener} used to track the current map. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - setCurrentMapView(mapView); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - }; - - /** * Creates a new instance. * @param exitConnectorActions the exit connector actions to use * @param exitConnectorModel the model for this controller - * @param mapViewManager the map view manager to track */ - public ExitConnectorController(@NotNull final ExitConnectorActions<G, A, R> exitConnectorActions, @NotNull final ExitConnectorModel exitConnectorModel, @NotNull final MapViewManager<G, A, R> mapViewManager) { + public ExitConnectorController(@NotNull final ExitConnectorActions<G, A, R> exitConnectorActions, @NotNull final ExitConnectorModel exitConnectorModel) { this.exitConnectorActions = exitConnectorActions; - mapViewManager.addMapViewManagerListener(mapViewManagerListener); exitConnectorModel.addExitConnectorModelListener(exitConnectorModelListener); - setCurrentMapView(mapViewManager.getActiveMapView()); } /** @@ -161,16 +134,6 @@ } /** - * Updates {@link #currentMapView}, registering or de-registering listeners - * as needed. - * @param currentMapView the new current map view - */ - private void setCurrentMapView(@Nullable final MapView<G, A, R> currentMapView) { - this.currentMapView = currentMapView; - refreshActions(); - } - - /** * Updates the enabled state of all actions. */ private void refreshActions() { @@ -251,4 +214,29 @@ refreshActions(); } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + refreshActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/map/mapactions/MapActions.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -62,7 +62,7 @@ * Manages actions in the "map" menu. * @author Andreas Kirschbaum */ -public class MapActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class MapActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapCursorListener<G, A, R>, MapViewManagerListener<G, A, R> { /** * Possible directions for "enter xxx map". @@ -287,68 +287,6 @@ }; /** - * The map view manager listener which is attached to the current map if the - * current map is tracked. Otherwise it is unused. - */ - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - if (currentMapView != null) { - currentMapView.getMapCursor().removeMapCursorListener(mapCursorListener); - assert currentMapView != null; - currentMapView.getMapControl().getMapModel().getMapArchObject().removeMapArchObjectListener(mapArchObjectListener); - } - currentMapView = mapView; - if (currentMapView != null) { - currentMapView.getMapCursor().addMapCursorListener(mapCursorListener); - assert currentMapView != null; - currentMapView.getMapControl().getMapModel().getMapArchObject().addMapArchObjectListener(mapArchObjectListener); - } - updateActions(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - // ignore - } - - }; - - /** - * The map cursor listener which is attached to {@link #currentMapView}. - */ - @NotNull - private final MapCursorListener<G, A, R> mapCursorListener = new MapCursorListener<G, A, R>() { - - @Override - public void mapCursorChangedPos(@NotNull final Point location) { - updateActions(); - } - - @Override - public void mapCursorChangedMode() { - // ignore - } - - @Override - public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { - // ignore - } - - @Override - public void mapCursorChangedSize() { - // ignore - } - - }; - - /** * The {@link MapArchObjectListener} attached to {@link #currentMapView}. */ @NotNull @@ -394,15 +332,7 @@ this.mapViewsManager = mapViewsManager; shrinkMapSizeDialogManager = new ShrinkMapSizeDialogManager<G, A, R>(mapViewManager); mapViewSettings.addMapViewSettingsListener(mapViewSettingsListener); - mapManager.addMapManagerListener(mapManagerListener); - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); - if (currentMapView != null) { - currentMapView.getMapCursor().addMapCursorListener(mapCursorListener); - assert currentMapView != null; - currentMapView.getMapControl().getMapModel().getMapArchObject().addMapArchObjectListener(mapArchObjectListener); - } } /** @@ -1025,4 +955,67 @@ updateActions(); } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + if (currentMapView != null) { + currentMapView.getMapControl().getMapModel().getMapArchObject().removeMapArchObjectListener(mapArchObjectListener); + } + currentMapView = mapView; + if (currentMapView != null) { + currentMapView.getMapControl().getMapModel().getMapArchObject().addMapArchObjectListener(mapArchObjectListener); + } + updateActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedPos(@NotNull final Point location) { + updateActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedMode() { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedSize() { + // ignore + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/gui/mapcursor/MapCursorActions.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -24,7 +24,6 @@ import javax.swing.Action; import net.sf.gridarta.gui.map.mapactions.MapActions; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.gui.map.renderer.MapRenderer; import net.sf.gridarta.model.archetype.Archetype; @@ -47,7 +46,7 @@ * Cursor related actions. * @author Andreas Kirschbaum */ -public class MapCursorActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class MapCursorActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction, MapCursorListener<G, A, R>, MapViewManagerListener<G, A, R> { /** * The visible border around the cursor. Whenever the cursor moves, the map @@ -77,61 +76,6 @@ private MapView<G, A, R> currentMapView; /** - * The map view manager listener used to detect changed current maps. - */ - @NotNull - private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { - - @Override - public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { - currentMapView = mapView; - refreshActions(); - } - - @Override - public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().addMapCursorListener(mapCursorListener); - mapView.getMapControl().getMapModel().addMapModelListener(mapModelListener); - } - - @Override - public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { - mapView.getMapCursor().removeMapCursorListener(mapCursorListener); - mapView.getMapControl().getMapModel().removeMapModelListener(mapModelListener); - } - - }; - - /** - * The map cursor listener used to detect cursor state changes in {@link - * #currentMapView}. - */ - @NotNull - private final MapCursorListener<G, A, R> mapCursorListener = new MapCursorListener<G, A, R>() { - - @Override - public void mapCursorChangedPos(@NotNull final Point location) { - refreshActions(); - } - - @Override - public void mapCursorChangedMode() { - // ignore - } - - @Override - public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { - // ignore - } - - @Override - public void mapCursorChangedSize() { - refreshActions(); - } - - }; - - /** * The map model listener used to detect map size changes in {@link * #currentMapView}. */ @@ -171,14 +115,11 @@ }; /** - * Create a new instance. - * @param mapViewManager the map view manager + * Creates a new instance. */ - public MapCursorActions(@NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final MapActions<G, A, R> mapActions) { + public MapCursorActions(@NotNull final MapActions<G, A, R> mapActions) { this.mapActions = mapActions; aMoveCursor = new Action[DIRECTIONS.length]; - mapViewManager.addMapViewManagerListener(mapViewManagerListener); - currentMapView = mapViewManager.getActiveMapView(); refreshActions(); } @@ -308,4 +249,61 @@ refreshActions(); } + /** + * {@inheritDoc} + */ + @Override + public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) { + currentMapView = mapView; + refreshActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) { + mapView.getMapControl().getMapModel().addMapModelListener(mapModelListener); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) { + mapView.getMapControl().getMapModel().removeMapModelListener(mapModelListener); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedPos(@NotNull final Point location) { + refreshActions(); + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedMode() { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) { + // ignore + } + + /** + * {@inheritDoc} + */ + @Override + public void mapCursorChangedSize() { + refreshActions(); + } + } Modified: trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java =================================================================== --- trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java 2014-03-01 07:10:48 UTC (rev 9672) +++ trunk/src/gridarta/src/main/java/net/sf/gridarta/mainactions/MainActions.java 2014-03-01 08:50:27 UTC (rev 9673) @@ -31,7 +31,6 @@ import net.sf.gridarta.gui.dialog.find.FindDialogManager; import net.sf.gridarta.gui.dialog.replace.ReplaceDialogManager; import net.sf.gridarta.gui.map.mapview.MapView; -import net.sf.gridarta.gui.map.mapview.MapViewManager; import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.gui.misc.ShiftProcessor; import net.sf.gridarta.gui.panel.objectchooser.ObjectChooser; @@ -67,7 +66,7 @@ * Encapsulates actions and related functions. * @author Andreas Kirschbaum */ -public class MainActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements EditorAction { +public class MainActions<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R ... [truncated message content] |