From: <aki...@us...> - 2010-05-08 22:04:03
|
Revision: 7711 http://gridarta.svn.sourceforge.net/gridarta/?rev=7711&view=rev Author: akirschbaum Date: 2010-05-08 22:03:56 +0000 (Sat, 08 May 2010) Log Message: ----------- Remove direction parameter from MapModel.insertBaseObject(). Modified Paths: -------------- trunk/src/app/net/sf/gridarta/exitconnector/ExitConnectorActions.java trunk/src/app/net/sf/gridarta/gui/map/tools/InsertionTool.java trunk/src/app/net/sf/gridarta/gui/map/tools/ToolPalette.java trunk/src/app/net/sf/gridarta/gui/map/tools/ToolSelector.java trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialog.java trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialogManager.java trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java trunk/src/app/net/sf/gridarta/model/map/mapmodel/DefaultMapModel.java trunk/src/app/net/sf/gridarta/model/map/mapmodel/MapModel.java trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java trunk/src/test/net/sf/gridarta/model/map/mapmodel/DefaultMapModelTest.java Modified: trunk/src/app/net/sf/gridarta/exitconnector/ExitConnectorActions.java =================================================================== --- trunk/src/app/net/sf/gridarta/exitconnector/ExitConnectorActions.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/exitconnector/ExitConnectorActions.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -26,7 +26,6 @@ import net.sf.gridarta.mapmanager.MapManager; import net.sf.gridarta.model.archetype.Archetype; import net.sf.gridarta.model.archetype.ArchetypeSet; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.exitconnector.ExitConnectorModel; import net.sf.gridarta.model.exitconnector.ExitLocation; @@ -90,12 +89,6 @@ private final InsertionModeSet<G, A, R> insertionModeSet; /** - * The {@link ArchetypeChooserModel} to use. - */ - @NotNull - private final ArchetypeChooserModel<G, A, R> archetypeChooserModel; - - /** * Creates a new instance. * @param exitConnectorModel the exit connector model to use * @param exitMatcher the exit matcher to use @@ -104,9 +97,8 @@ * @param fileControl the file control to use * @param pathManager the path manager for converting path names * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model to use */ - public ExitConnectorActions(@NotNull final ExitConnectorModel exitConnectorModel, @NotNull final ExitMatcher<G, A, R> exitMatcher, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final MapManager<G, A, R> mapManager, @NotNull final FileControl<G, A, R> fileControl, @NotNull final PathManager pathManager, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public ExitConnectorActions(@NotNull final ExitConnectorModel exitConnectorModel, @NotNull final ExitMatcher<G, A, R> exitMatcher, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final MapManager<G, A, R> mapManager, @NotNull final FileControl<G, A, R> fileControl, @NotNull final PathManager pathManager, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { this.exitConnectorModel = exitConnectorModel; this.exitMatcher = exitMatcher; this.archetypeSet = archetypeSet; @@ -114,7 +106,6 @@ this.fileControl = fileControl; this.pathManager = pathManager; this.insertionModeSet = insertionModeSet; - this.archetypeChooserModel = archetypeChooserModel; } /** @@ -346,7 +337,7 @@ private boolean pasteExit(@NotNull final Point location, @NotNull final MapModel<G, A, R> mapModel, @NotNull final BaseObject<G, A, R, ?> archetype, @NotNull final ExitLocation exitLocation) { mapModel.beginTransaction("paste exit"); try { - final BaseObject<G, A, R, ?> newExit = mapModel.insertBaseObject(archetype, location, true, false, insertionModeSet.getTopmostInsertionMode(), archetypeChooserModel.getDirection()); + final BaseObject<G, A, R, ?> newExit = mapModel.insertBaseObject(archetype, location, true, false, insertionModeSet.getTopmostInsertionMode()); if (newExit == null) { return false; } Modified: trunk/src/app/net/sf/gridarta/gui/map/tools/InsertionTool.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/tools/InsertionTool.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/gui/map/tools/InsertionTool.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -34,7 +34,6 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.gui.utils.SwingUtils; import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; @@ -120,28 +119,20 @@ private final InsertionModeSet<G, A, R> insertionModeSet; /** - * The {@link ArchetypeChooserModel} to use. - */ - @NotNull - private final ArchetypeChooserModel<G, A, R> archetypeChooserModel; - - /** * Create a BasicAbstractTool. * @param selectedSquareView the selected square view * @param selectedSquareModel the selected square model * @param objectChooser the ObjectChooser to use * @param pickmapChooserControl the pickmap chooser control to use * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model to use */ - public InsertionTool(@NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public InsertionTool(@NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { super("insertion"); this.selectedSquareView = selectedSquareView; this.selectedSquareModel = selectedSquareModel; this.objectChooser = objectChooser; this.pickmapChooserControl = pickmapChooserControl; this.insertionModeSet = insertionModeSet; - this.archetypeChooserModel = archetypeChooserModel; } /** @@ -241,7 +232,7 @@ throw new AssertionError(); } final BaseObject<G, A, R, ?> selectedArchetype = objectChooser.getSelection(); - insertedObject = selectedArchetype == null ? null : mapModel.insertBaseObject(selectedArchetype, p, isPressed || modeIndex == MODE_AUTO, true, insertionMode, archetypeChooserModel.getDirection()); + insertedObject = selectedArchetype == null ? null : mapModel.insertBaseObject(selectedArchetype, p, isPressed || modeIndex == MODE_AUTO, true, insertionMode); } selectedSquareView.setSelectedGameObject(insertedObject); } finally { Modified: trunk/src/app/net/sf/gridarta/gui/map/tools/ToolPalette.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/tools/ToolPalette.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/gui/map/tools/ToolPalette.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -33,7 +33,6 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareModel; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; import net.sf.gridarta.model.map.mapmodel.InsertionModeSet; @@ -87,13 +86,12 @@ * @param wallGameObjectMatcher the wall matcher to use * @param monsterGameObjectMatcher the monster matcher to use * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model */ - public ToolPalette(@NotNull final MapViewSettings mapViewSettings, @NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @Nullable final GameObjectMatcher floorGameObjectMatcher, @Nullable final GameObjectMatcher wallGameObjectMatcher, @Nullable final GameObjectMatcher monsterGameObjectMatcher, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public ToolPalette(@NotNull final MapViewSettings mapViewSettings, @NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @Nullable final GameObjectMatcher floorGameObjectMatcher, @Nullable final GameObjectMatcher wallGameObjectMatcher, @Nullable final GameObjectMatcher monsterGameObjectMatcher, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { super(new BorderLayout()); - lmbSelector = new ToolSelector<G, A, R>("selection", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet, archetypeChooserModel); - mmbSelector = new ToolSelector<G, A, R>("deletion", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet, archetypeChooserModel); - rmbSelector = new ToolSelector<G, A, R>("insertion", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet, archetypeChooserModel); + lmbSelector = new ToolSelector<G, A, R>("selection", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet); + mmbSelector = new ToolSelector<G, A, R>("deletion", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet); + rmbSelector = new ToolSelector<G, A, R>("insertion", mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher, insertionModeSet); add(new JLabel(ACTION_BUILDER.getString("mouse")), BorderLayout.NORTH); final Container mouseTabs = new JTabbedPane(); mouseTabs.add(ACTION_BUILDER.getString("left"), lmbSelector); Modified: trunk/src/app/net/sf/gridarta/gui/map/tools/ToolSelector.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/tools/ToolSelector.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/gui/map/tools/ToolSelector.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -40,7 +40,6 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareModel; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; import net.sf.gridarta.model.map.mapmodel.InsertionModeSet; @@ -121,14 +120,13 @@ * @param wallGameObjectMatcher the wall matcher to use * @param monsterGameObjectMatcher the monster matcher to use * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model to use */ - public ToolSelector(@NotNull final String defaultTool, @NotNull final MapViewSettings mapViewSettings, @NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @Nullable final GameObjectMatcher floorGameObjectMatcher, @Nullable final GameObjectMatcher wallGameObjectMatcher, @Nullable final GameObjectMatcher monsterGameObjectMatcher, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public ToolSelector(@NotNull final String defaultTool, @NotNull final MapViewSettings mapViewSettings, @NotNull final SelectedSquareView<G, A, R> selectedSquareView, @NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final PickmapChooserControl<G, A, R> pickmapChooserControl, @Nullable final GameObjectMatcher floorGameObjectMatcher, @Nullable final GameObjectMatcher wallGameObjectMatcher, @Nullable final GameObjectMatcher monsterGameObjectMatcher, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { createUI(); addTool(new VoidTool<G, A, R>(), defaultTool); addTool(new SelectionTool<G, A, R>(objectChooser, insertionModeSet), defaultTool); addTool(new DeletionTool<G, A, R>(mapViewSettings, objectChooser, pickmapChooserControl, floorGameObjectMatcher, wallGameObjectMatcher, monsterGameObjectMatcher), defaultTool); - addTool(new InsertionTool<G, A, R>(selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, insertionModeSet, archetypeChooserModel), defaultTool); + addTool(new InsertionTool<G, A, R>(selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, insertionModeSet), defaultTool); } /** Modified: trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialog.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialog.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialog.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -47,7 +47,6 @@ import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.objectchooser.ObjectChooserListener; import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.baseobject.BaseObject; import net.sf.gridarta.model.face.FaceObjectProviders; import net.sf.gridarta.model.gameobject.GameObject; @@ -117,12 +116,6 @@ private final InsertionModeSet<G, A, R> insertionModeSet; /** - * The {@link ArchetypeChooserModel} to use. - */ - @NotNull - private final ArchetypeChooserModel<G, A, R> archetypeChooserModel; - - /** * The dialog instance. */ private final JDialog dialog; @@ -221,11 +214,9 @@ * @param faceObjectProviders the face object providers for looking up * faces * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model to use */ - public ReplaceDialog(@NotNull final Component parent, @NotNull final MapModel<G, A, R> copyBufferMapModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public ReplaceDialog(@NotNull final Component parent, @NotNull final MapModel<G, A, R> copyBufferMapModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { this.insertionModeSet = insertionModeSet; - this.archetypeChooserModel = archetypeChooserModel; dialog = createDialog(parent, ACTION_BUILDER.getString("replaceTitle")); dialog.setModal(false); dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); @@ -486,7 +477,7 @@ // insert replacement object if (randomArch.isMulti()) { // multi's cannot be inserted properly, so we just put them ontop - mapModel.insertBaseObject(randomArch.getArchetype(), new Point(square.getMapX(), square.getMapY()), false, false, insertionModeSet.getTopmostInsertionMode(), archetypeChooserModel.getDirection()); + mapModel.insertBaseObject(randomArch.getArchetype(), new Point(square.getMapX(), square.getMapY()), false, false, insertionModeSet.getTopmostInsertionMode()); // TODO: if from pickmap it could have special attributes -> copy them } else { Modified: trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialogManager.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialogManager.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/gui/replacedialog/ReplaceDialogManager.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -25,7 +25,6 @@ import net.sf.gridarta.gui.map.mapview.MapViewManagerListener; import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.model.archetype.Archetype; -import net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.model.face.FaceObjectProviders; import net.sf.gridarta.model.gameobject.GameObject; import net.sf.gridarta.model.map.maparchobject.MapArchObject; @@ -70,12 +69,6 @@ private final InsertionModeSet<G, A, R> insertionModeSet; /** - * The {@link ArchetypeChooserModel} to use. - */ - @NotNull - private final ArchetypeChooserModel<G, A, R> archetypeChooserModel; - - /** * The map view manager listener to detect closed map views. */ private final MapViewManagerListener<G, A, R> mapViewManagerListener = new MapViewManagerListener<G, A, R>() { @@ -106,15 +99,13 @@ * @param faceObjectProviders the face object providers for looking up * faces * @param insertionModeSet the insertion mode set to use - * @param archetypeChooserModel the archetype chooser model to use */ - public ReplaceDialogManager(@NotNull final Component parent, @NotNull final MapModel<G, A, R> copyBufferMapModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final InsertionModeSet<G, A, R> insertionModeSet, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel) { + public ReplaceDialogManager(@NotNull final Component parent, @NotNull final MapModel<G, A, R> copyBufferMapModel, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final InsertionModeSet<G, A, R> insertionModeSet) { this.parent = parent; this.copyBufferMapModel = copyBufferMapModel; this.objectChooser = objectChooser; this.faceObjectProviders = faceObjectProviders; this.insertionModeSet = insertionModeSet; - this.archetypeChooserModel = archetypeChooserModel; mapViewManager.addMapViewManagerListener(mapViewManagerListener); } @@ -130,7 +121,7 @@ @NotNull public ReplaceDialog<G, A, R> getInstance() { if (instance == null) { - instance = new ReplaceDialog<G, A, R>(parent, copyBufferMapModel, objectChooser, faceObjectProviders, insertionModeSet, archetypeChooserModel); + instance = new ReplaceDialog<G, A, R>(parent, copyBufferMapModel, objectChooser, faceObjectProviders, insertionModeSet); } return instance; } Modified: trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/maincontrol/GUIMainControl.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -426,7 +426,7 @@ final MapModel<G, A, R> copyBufferMapModel = mapControlFactory.newMapModel(mapArchObject); final InsertionModeSet<G, A, R> insertionModeSet = new InsertionModeSet<G, A, R>(topmostInsertionMode); final CopyBuffer<G, A, R> copyBuffer = new CopyBuffer<G, A, R>(mapViewSettings, copyBufferMapModel, gameObjectFactory, insertionModeSet); - final ReplaceDialogManager<G, A, R> replaceDialogManager = new ReplaceDialogManager<G, A, R>(mainViewFrame, copyBufferMapModel, objectChooser, mapViewManager, faceObjectProviders, insertionModeSet, archetypeChooserModel); + final ReplaceDialogManager<G, A, R> replaceDialogManager = new ReplaceDialogManager<G, A, R>(mainViewFrame, copyBufferMapModel, objectChooser, mapViewManager, faceObjectProviders, insertionModeSet); new About(mainViewFrame); exiter = new DefaultExiter(mainViewFrame); scriptEditControl = new ScriptEditControl(scriptFileFilter, scriptExtension, mainViewFrame, globalSettings.getMapsDirectory(), prefs, exiter); @@ -463,7 +463,7 @@ final PluginParameterViewFactory<G, A, R> pluginParameterViewFactory = new PluginParameterViewFactory<G, A, R>(archetypeSet, gameObjectAttributesModel, objectChooser, defaultFilterList, mapManager, faceObjectProviders); final File scriptsFile = new File(globalSettings.getMapsDirectory(), scriptsDir); scriptControl = new ScriptController<G, A, R>(filterControl, scriptParameters, mainViewFrame, pluginParameterViewFactory, scriptsFile, scriptModel, pluginParameterFactory, scriptExecutor, systemIcons); - final ToolPalette<G, A, R> toolPalette = new ToolPalette<G, A, R>(mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorMatcher, wallMatcher, monsterMatcher, insertionModeSet, archetypeChooserModel); + final ToolPalette<G, A, R> toolPalette = new ToolPalette<G, A, R>(mapViewSettings, selectedSquareView, selectedSquareModel, objectChooser, pickmapChooserControl, floorMatcher, wallMatcher, monsterMatcher, insertionModeSet); new FindArchetypesDialogManager<G, A, R>(mainViewFrame, archetypeChooserControl, objectChooser, archetypeTypeSet); new UndoControl<G, A, R>(mapManager, gameObjectFactory, gameObjectMatchers); final UpdaterManager updaterManager = new UpdaterManager(exiter, mapManager, mainViewFrame, gridartaJarFilename); @@ -486,7 +486,7 @@ mainView.addTab(new Tab("tools", toolPalette, Location.LEFT, 2, false)); mainView.addTab(new Tab("objects", objectChooser, Location.LEFT, 3, true)); exitConnectorModel = new ExitConnectorModel(); // XXX: should be part of DefaultMainControl - final ExitConnectorActions<G, A, R> exitConnectorActions = new ExitConnectorActions<G, A, R>(exitConnectorModel, exitMatcher, archetypeSet, mapManager, fileControl, pathManager, insertionModeSet, archetypeChooserModel); // XXX: should be part of DefaultMainControl + final ExitConnectorActions<G, A, R> exitConnectorActions = new ExitConnectorActions<G, A, R>(exitConnectorModel, exitMatcher, archetypeSet, mapManager, fileControl, pathManager, insertionModeSet); // XXX: should be part of DefaultMainControl new ExitConnectorController<G, A, R>(exitConnectorActions, exitConnectorModel, mapViewManager); final JMenu windowMenu = MenuUtils.getMenu(menuBar, "window"); if (windowMenu == null) { Modified: trunk/src/app/net/sf/gridarta/model/map/mapmodel/DefaultMapModel.java =================================================================== --- trunk/src/app/net/sf/gridarta/model/map/mapmodel/DefaultMapModel.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/model/map/mapmodel/DefaultMapModel.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -853,7 +853,7 @@ // put arch on the map if (templateGameObject.isArchetype()) { - newGameObject = insertBaseObject(templateGameObject.getArchetype(), pos, true, join, topmostInsertionMode, archetypeChooserModel.getDirection()); + newGameObject = insertBaseObject(templateGameObject.getArchetype(), pos, true, join, topmostInsertionMode); if (newGameObject == null) { return null; } @@ -897,7 +897,7 @@ */ @Nullable @Override - public G insertBaseObject(@NotNull final BaseObject<G, A, R, ?> baseObject, @NotNull final Point pos, final boolean allowMany, final boolean join, @NotNull final InsertionMode<G, A, R> insertionMode, @Nullable final Integer direction) { + public G insertBaseObject(@NotNull final BaseObject<G, A, R, ?> baseObject, @NotNull final Point pos, final boolean allowMany, final boolean join, @NotNull final InsertionMode<G, A, R> insertionMode) { if (!isPointValid(pos)) { return null; } @@ -925,6 +925,7 @@ } final G part = baseObjectPart.newInstance(gameObjectFactory); part.setArchetype(archetypePart); + final Object direction = archetypeChooserModel.getDirection(); if (direction != null) { part.setAttributeString("direction", direction.toString()); } @@ -1080,7 +1081,7 @@ @Override public void addCopyToMap(@NotNull final BaseObject<G, A, R, ?> gameObject, @NotNull final Point pos, final boolean allowDouble, @NotNull final InsertionMode<G, A, R> insertionMode) { if (gameObject.isArchetype()) { - insertBaseObject(gameObject.getArchetype(), pos, allowDouble, false, insertionMode, archetypeChooserModel.getDirection()); + insertBaseObject(gameObject.getArchetype(), pos, allowDouble, false, insertionMode); } else { final G newGameObject = gameObject.newInstance(gameObjectFactory); newGameObject.setMapX(pos.x); Modified: trunk/src/app/net/sf/gridarta/model/map/mapmodel/MapModel.java =================================================================== --- trunk/src/app/net/sf/gridarta/model/map/mapmodel/MapModel.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/app/net/sf/gridarta/model/map/mapmodel/MapModel.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -305,19 +305,19 @@ /** * Inserts a {@link BaseObject} to a map. Archetypes are instantiated, game - * objects are cloned. + * objects are cloned. The direction of the inserted game object is set to + * the direction of the archetype chooser. * @param baseObject the base object * @param pos the insert-location on this map * @param allowMany whether duplicates are allowed * @param join if set, auto-joining is supported; autojoining is only done * if enabled in the main control * @param insertionMode the insertion mode to use - * @param direction the game object's direction; <code>null</code>=default * @return the inserted game object or <code>null</code> if nothing was * inserted */ @Nullable - G insertBaseObject(@NotNull BaseObject<G, A, R, ?> baseObject, @NotNull Point pos, boolean allowMany, boolean join, @NotNull InsertionMode<G, A, R> insertionMode, @Nullable Integer direction); + G insertBaseObject(@NotNull BaseObject<G, A, R, ?> baseObject, @NotNull Point pos, boolean allowMany, boolean join, @NotNull InsertionMode<G, A, R> insertionMode); /** * Checks whether an GameObject (multi-arch) would still fit on this map. Modified: trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/test/net/sf/gridarta/exitconnector/ExitConnectorActionsTest.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -158,11 +158,6 @@ private GlobalSettings globalSettings; /** - * The {@link ArchetypeChooserModel} instance. - */ - private ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype> archetypeChooserModel; - - /** * The "topmost" {@link InsertionMode} instance. */ private InsertionMode<TestGameObject, TestMapArchObject, TestArchetype> topmostInsertionMode; @@ -400,7 +395,7 @@ final MapWriter<TestGameObject, TestMapArchObject, TestArchetype> mapWriter = new TestMapWriter(); final FaceObjectProviders faceObjectProviders = newFaceObjectProviders(); final AutojoinLists<TestGameObject, TestMapArchObject, TestArchetype> autojoinLists = new AutojoinLists<TestGameObject, TestMapArchObject, TestArchetype>(mapViewSettings); - archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype>(); + final ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype> archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype>(); pathManager = new PathManager(globalSettings); final ScriptArchData<TestGameObject, TestMapArchObject, TestArchetype> scriptArchData = new TestScriptArchData(); final GameObjectFactory<TestGameObject, TestMapArchObject, TestArchetype> gameObjectFactory = new TestGameObjectFactory(scriptArchData, faceObjectProviders, animationObjects); @@ -428,7 +423,7 @@ * @return the new exit connector actions instance */ private ExitConnectorActions<TestGameObject, TestMapArchObject, TestArchetype> createActions(@NotNull final ExitConnectorModel model) { - return new ExitConnectorActions<TestGameObject, TestMapArchObject, TestArchetype>(model, exitMatcher, archetypeSet, mapManager, new TestFileControl(), pathManager, insertionModeSet, archetypeChooserModel); + return new ExitConnectorActions<TestGameObject, TestMapArchObject, TestArchetype>(model, exitMatcher, archetypeSet, mapManager, new TestFileControl(), pathManager, insertionModeSet); } /** @@ -473,7 +468,7 @@ private void insertArchetype(@NotNull final MapModel<TestGameObject, TestMapArchObject, TestArchetype> mapModel, @NotNull final Point point, @NotNull final BaseObject<TestGameObject, TestMapArchObject, TestArchetype, ?> archetype) { mapModel.beginTransaction("test"); try { - mapModel.insertBaseObject(archetype, point, true, false, topmostInsertionMode, archetypeChooserModel.getDirection()); + mapModel.insertBaseObject(archetype, point, true, false, topmostInsertionMode); } finally { mapModel.endTransaction(); } Modified: trunk/src/test/net/sf/gridarta/model/map/mapmodel/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/model/map/mapmodel/DefaultMapModelTest.java 2010-05-08 18:35:21 UTC (rev 7710) +++ trunk/src/test/net/sf/gridarta/model/map/mapmodel/DefaultMapModelTest.java 2010-05-08 22:03:56 UTC (rev 7711) @@ -161,12 +161,6 @@ private SystemIcons systemIcons = null; /** - * The {@link ArchetypeChooserModel} instance. - */ - @Nullable - private ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype> archetypeChooserModel; - - /** * The {@link AnimationObjects} instance. */ @Nullable @@ -372,9 +366,7 @@ mapModel.beginTransaction("TEST"); mapModel.resizeMap(new Size2D(1, 2)); - assert archetypeChooserModel != null; - final Integer direction = archetypeChooserModel.getDirection(); - final TestGameObject gameObject = mapModel.insertBaseObject(archetype, new Point(0, 0), true, false, insertionModeSet.getAutoInsertionMode(), direction); + final TestGameObject gameObject = mapModel.insertBaseObject(archetype, new Point(0, 0), true, false, insertionModeSet.getAutoInsertionMode()); mapModel.endTransaction(); final List<TestGameObject> gameObjects = mapModel.getAllGameObjects(); @@ -482,7 +474,7 @@ guiUtils.addToCache(iconName, imageIcon); } final TestMapArchObject mapArchObject = new TestMapArchObject(); - archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype>(); + final ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype> archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype>(); final FaceObjectProviders faceObjectProviders = newFaceObjectProviders(); final MapViewSettings mapViewSettings = new MapViewSettings(); final AutojoinLists<TestGameObject, TestMapArchObject, TestArchetype> autojoinLists = new AutojoinLists<TestGameObject, TestMapArchObject, TestArchetype>(mapViewSettings); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |