From: <aki...@us...> - 2008-08-01 23:18:01
|
Revision: 4685 http://gridarta.svn.sourceforge.net/gridarta/?rev=4685&view=rev Author: akirschbaum Date: 2008-08-01 23:18:02 +0000 (Fri, 01 Aug 2008) Log Message: ----------- Remove calls to MainControl.getMapManager(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CFJavaEditor.java trunk/crossfire/src/cfeditor/CFilterControl.java trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/MapActions.java trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java trunk/crossfire/src/cfeditor/gui/map/MapTilePane.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/DaimoninEditor.java trunk/daimonin/src/daieditor/MapActions.java trunk/daimonin/src/daieditor/gui/map/MapPropertiesDialog.java trunk/daimonin/src/daieditor/gui/map/MapTilePane.java trunk/src/app/net/sf/gridarta/gui/map/AbstractMapTilePane.java trunk/src/app/net/sf/gridarta/gui/map/MapFileActions.java trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialog.java trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialogFactory.java trunk/src/app/net/sf/gridarta/gui/pickmapchooser/PickmapChooserControl.java trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareControl.java trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareView.java trunk/src/app/net/sf/gridarta/map/AutoValidator.java trunk/src/app/net/sf/gridarta/map/AutoValidatorProcessor.java trunk/src/app/net/sf/gridarta/updater/UpdaterManager.java Modified: trunk/crossfire/src/cfeditor/CFJavaEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/CFJavaEditor.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/CFJavaEditor.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -33,12 +33,14 @@ import java.util.Locale; import java.util.prefs.Preferences; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gui.SplashScreen; import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.preferences.FilePreferencesFactory; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.tod.TipOfTheDayManager; import org.apache.log4j.Logger; +import org.jetbrains.annotations.NotNull; /** * Main class, launches the level editor application. @@ -147,7 +149,7 @@ // process commandline parameters: if (inlist != null) { try { - processFile(mainControl, inlist); + processFile(mainControl, mainControl.getMapManager(), inlist); } catch (final IOException ex) { System.exit(-1); } @@ -167,21 +169,21 @@ mainControl.openFiles(infiles); } - private static void makeImage(final CMainControl mainControl, final File in, final File out) { + private static void makeImage(final CMainControl mainControl, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, final File in, final File out) { if (log.isInfoEnabled()) { log.info("converting " + in + " to " + out); } if (in.canRead()) { - final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = mainControl.getMapManager().openMapFileWithView(in, null); + final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = mapManager.openMapFileWithView(in, null); if (mapView != null) { mainControl.createImageWanted(mapView, out); - mainControl.getMapManager().closeView(mapView); + mapManager.closeView(mapView); } } } - private static void processFile(final CMainControl mainControl, final String filelist) throws IOException { + private static void processFile(final CMainControl mainControl, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, final String filelist) throws IOException { try { final BufferedReader reader = new BufferedReader(new FileReader(filelist)); try { @@ -192,7 +194,7 @@ log.info("done."); return; } - makeImage(mainControl, new File(in), new File(out)); + makeImage(mainControl, mapManager, new File(in), new File(out)); } } catch (final IOException e) { // XXX:cher:Getting an error and not reporting it is evil. Modified: trunk/crossfire/src/cfeditor/CFilterControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CFilterControl.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/CFilterControl.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -31,6 +31,7 @@ import cfeditor.map.MapArchObject; import javax.swing.JMenu; import javax.swing.JMenuItem; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.map.MapControl; import org.jetbrains.annotations.NotNull; @@ -67,7 +68,7 @@ /** The main control. */ @NotNull - private final CMainControl mainControl; + private final MapManager<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager; @Nullable private final MapControl<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl; @@ -76,12 +77,12 @@ * Create a new FilterControl. Do not highlight anything and does not * filterOut anything * @param mapControl MapControl to create FilterControl for. - * @param mainControl The main control. + * @param mapManager the map manager instance * @param filterList the filter list instance to use */ - public CFilterControl(@Nullable final MapControl<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, @NotNull final CMainControl mainControl, final NamedFilterList filterList) { + public CFilterControl(@Nullable final MapControl<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, @NotNull final MapManager<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, final NamedFilterList filterList) { this.filterList = filterList; - this.mainControl = mainControl; + this.mapManager = mapManager; filterOutConfig = (NamedFilterConfig) filterList.createConfig(); highLightConfig = new NamedFilterConfig[] { (NamedFilterConfig) filterList.createConfig(), @@ -144,7 +145,7 @@ if (mapControl != null) { mapControl.repaint(); } else { - for (final MapControl<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl : mainControl.getMapManager().getOpenedMaps()) { + for (final MapControl<cfeditor.gameobject.GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl : mapManager.getOpenedMaps()) { mapControl.repaint(); } } Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -232,14 +232,14 @@ GameObject.setArchetypeSet(archetypeSet); ScriptedEvent.setArchetypeSet(archetypeSet); final boolean mapTileListBottom = prefs.getBoolean(MainView.MAP_TILE_LIST_BOTTOM_KEY, MainView.MAP_TILE_LIST_BOTTOM_DEFAULT); - final SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareControl = new SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(ACTION_FACTORY, this, editTypes, mapTileListBottom, null, archetypeSet); + final SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareControl = new SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(ACTION_FACTORY, this, mapManager, editTypes, mapTileListBottom, null, archetypeSet); final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView = selectedSquareControl.getSelectedSquareView(); new MapCursorControl<GameObject, MapArchObject, Archetype, CMapViewBasic>("cfeditor", this, mapManager, selectedSquareControl, selectedSquareView); ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "newScript", "editScript", "zoom", "gc", "onlineHelp", "tod", "about"); final MapManagerActions<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManagerActions = new MapManagerActions<GameObject, MapArchObject, Archetype, CMapViewBasic>(mapManager); PathManager.setGlobalSettings(globalSettings); final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl = new ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, archetypeSet, false); - newMapDialogFactory = new NewMapDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, gridartaObjectsFactory, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPSIZE, 0, false, false, IGUIConstants.DEF_PICKMAP_WIDTH, IGUIConstants.DEF_PICKMAP_HEIGHT); + newMapDialogFactory = new NewMapDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, mapManager, gridartaObjectsFactory, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPSIZE, 0, false, false, IGUIConstants.DEF_PICKMAP_WIDTH, IGUIConstants.DEF_PICKMAP_HEIGHT); pickmapChooserControl = new PickmapChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(newMapDialogFactory, this, gridartaObjectsFactory, new File(globalSettings.getMapDir(), IGUIConstants.PICKMAP_DIR), mapManager); newMapDialogFactory.setPickmapChooserControl(pickmapChooserControl); archetypeTypeSet = new ArchetypeTypeSet<GameObject, MapArchObject, Archetype>(); @@ -251,7 +251,7 @@ mainView = new MainView<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, editTypes, mapManager, ACTION_FACTORY, mapManagerActions.getCloseAllAction(), statusBar); new About("cfeditor", mainView); new UndoControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(mapManager); - updaterManager = new UpdaterManager("cfeditor", this, mainView, "CrossfireEditor.jar"); + updaterManager = new UpdaterManager("cfeditor", this, mapManager, mainView, "CrossfireEditor.jar"); updaterManager.startup(); // initialize the script-editor pad @@ -353,7 +353,7 @@ // load object from a arch file you found final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); - filterControl = new CFilterControl(null, this, defaultNamedFilterList); + filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); final JMenu menuAnalyze = (JMenu) ACTION_FACTORY.find(mainView.getJMenuBar(), "analyze"); if (menuAnalyze != null) { filterControl.createMenuEntries(menuAnalyze); @@ -375,7 +375,7 @@ } recentManager.initRecent(); validators = createMapValidators(); - new AutoValidator<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, PREFS_VALIDATOR_AUTO_DEFAULT); + new AutoValidator<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, mapManager, PREFS_VALIDATOR_AUTO_DEFAULT); gameObjectAttributesDialogFactory = new GameObjectAttributesDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(archetypeTypeSet, mainView, archetypeSet, mapManager); } Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/MapActions.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -251,7 +251,7 @@ public void mapProperties() { final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = getMapPropertiesEnabled(); if (mapView != null) { - MapPropertiesDialog.showDialog(mapView.getComponent(), mainControl, gridartaObjectsFactory, globalSettings, mapView.getMapControl(), mapFileFilter); + MapPropertiesDialog.showDialog(mapView.getComponent(), mainControl, mapManager, gridartaObjectsFactory, globalSettings, mapView.getMapControl(), mapFileFilter); } } Modified: trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/gui/map/MapPropertiesDialog.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -42,6 +42,7 @@ import javax.swing.filechooser.FileFilter; import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.MapManager; import net.sf.gridarta.Size2D; import net.sf.gridarta.help.Help; import net.sf.gridarta.map.MapControl; @@ -170,12 +171,13 @@ /** * Creates a map-options dialog. * @param mainControl The controller of this dialog. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param mapControl The level whose properties are shown/edited. * @param mapFileFilter the Swing file filter to use */ - private MapPropertiesDialog(final CMainControl mainControl, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { + private MapPropertiesDialog(final CMainControl mainControl, @NotNull final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { okButton.setDefaultCapable(true); setOptions(new Object[] {helpButton, okButton, restoreButton, cancelButton}); @@ -219,7 +221,7 @@ final JPanel weatherPanel = createWeatherPanel(map); tabs.add(ACTION_FACTORY.getString("mapWeatherTabTitle"), weatherPanel); - mapTilePane = new MapTilePane(mainControl, gridartaObjectsFactory, globalSettings, mapControl, mapFileFilter); + mapTilePane = new MapTilePane(mapManager, gridartaObjectsFactory, globalSettings, mapControl, mapFileFilter); final JPanel tilePanel = createTilePathPanel(mapTilePane); tabs.add(ACTION_FACTORY.getString("mapTilesTabTitle"), tilePanel); @@ -629,13 +631,14 @@ * Show a dialog querying the user for map properties. * @param parent the parent component to show dialog on * @param mainControl CMainControl with information + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param level map to show dialog about * @param mapFileFilter the Swing file filter to use */ - public static void showDialog(final Component parent, @NotNull final CMainControl mainControl, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> level, final FileFilter mapFileFilter) { - final MapPropertiesDialog pane = new MapPropertiesDialog(mainControl, gridartaObjectsFactory, globalSettings, level, mapFileFilter); + public static void showDialog(final Component parent, @NotNull final CMainControl mainControl, @NotNull final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> level, final FileFilter mapFileFilter) { + final MapPropertiesDialog pane = new MapPropertiesDialog(mainControl, mapManager, gridartaObjectsFactory, globalSettings, level, mapFileFilter); final JDialog dialog = pane.createDialog(parent, ACTION_FACTORY.format("mapTitle", level.getMapModel().getMapArchObject().getMapDisplayName(), level.getMapFileName())); pane.dialog = dialog; dialog.getRootPane().setDefaultButton(pane.okButton); Modified: trunk/crossfire/src/cfeditor/gui/map/MapTilePane.java =================================================================== --- trunk/crossfire/src/cfeditor/gui/map/MapTilePane.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/crossfire/src/cfeditor/gui/map/MapTilePane.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -19,13 +19,13 @@ package cfeditor.gui.map; -import cfeditor.CMainControl; import cfeditor.gameobject.Archetype; import cfeditor.gameobject.GameObject; import cfeditor.map.MapArchObject; import javax.swing.filechooser.FileFilter; import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gui.DirectionLayout; import net.sf.gridarta.gui.map.AbstractMapTilePane; import net.sf.gridarta.map.MapControl; @@ -57,16 +57,15 @@ /** * Create a MapTilePane. - * @param mainControl CMainControl to use for displaying dialogs, getting - * paths etc.. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param mapControl MapControl of the map that's tiles are to be viewed / * controlled * @param mapFileFilter the Swing file filter to use */ - public MapTilePane(final CMainControl mainControl, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?>gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { - super(mainControl, gridartaObjectsFactory, globalSettings, mapControl, tileLink, directionMapping, nextFocus, mapFileFilter); + public MapTilePane(final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?>gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { + super(mapManager, gridartaObjectsFactory, globalSettings, mapControl, tileLink, directionMapping, nextFocus, mapFileFilter); } } // class MapTilePane Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -288,7 +288,7 @@ GameObject.setArchetypeSet(archetypeSet); ScriptedEvent.setArchetypeSet(archetypeSet); final boolean mapTileListBottom = prefs.getBoolean(MainView.MAP_TILE_LIST_BOTTOM_KEY, MainView.MAP_TILE_LIST_BOTTOM_DEFAULT); - final SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareControl = new SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(ACTION_FACTORY, this, editTypes, mapTileListBottom, GUIUtils.getSysIcon(IGUIConstants.TILE_NORTH), archetypeSet); + final SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareControl = new SelectedSquareControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(ACTION_FACTORY, this, mapManager, editTypes, mapTileListBottom, GUIUtils.getSysIcon(IGUIConstants.TILE_NORTH), archetypeSet); final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView = selectedSquareControl.getSelectedSquareView(); new MapCursorControl<GameObject, MapArchObject, Archetype, CMapViewBasic>("daieditor", this, mapManager, selectedSquareControl, selectedSquareView); ACTION_FACTORY.createActions(true, this, "createNew", "open", "options", "exit", "newScript", "editScript", "controlServer", "controlClient", "cleanCompletelyBlockedSquares", "zoom", "gc", "onlineHelp", "tod", "about"); @@ -297,7 +297,7 @@ final MapManagerActions<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManagerActions = new MapManagerActions<GameObject, MapArchObject, Archetype, CMapViewBasic>(mapManager); PathManager.setGlobalSettings(globalSettings); final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl = new ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, archetypeSet, true); - newMapDialogFactory = new NewMapDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, gridartaObjectsFactory, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPDIFFICULTY, true, true, IGUIConstants.DEF_PICKMAP_WIDTH, IGUIConstants.DEF_PICKMAP_HEIGHT); + newMapDialogFactory = new NewMapDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, mapManager, gridartaObjectsFactory, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPSIZE, IGUIConstants.DEF_MAPDIFFICULTY, true, true, IGUIConstants.DEF_PICKMAP_WIDTH, IGUIConstants.DEF_PICKMAP_HEIGHT); pickmapChooserControl = new PickmapChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(newMapDialogFactory, this, gridartaObjectsFactory, new File(globalSettings.getArchDefaultFolder(), IGUIConstants.PICKMAP_DIR), mapManager); newMapDialogFactory.setPickmapChooserControl(pickmapChooserControl); archetypeTypeSet = new ArchetypeTypeSet<GameObject, MapArchObject, Archetype>(); @@ -309,7 +309,7 @@ mainView = new MainView<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, editTypes, mapManager, ACTION_FACTORY, mapManagerActions.getCloseAllAction(), statusBar); new About("daieditor", mainView); new UndoControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(mapManager); - updaterManager = new UpdaterManager("daieditor", this, mainView, "DaimoninEditor.jar"); + updaterManager = new UpdaterManager("daieditor", this, mapManager, mainView, "DaimoninEditor.jar"); updaterManager.startup(); // initialize & load @@ -449,7 +449,7 @@ } recentManager.initRecent(); validators = createMapValidators(); - new AutoValidator<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, PREFS_VALIDATOR_AUTO_DEFAULT); + new AutoValidator<GameObject, MapArchObject, Archetype, CMapViewBasic>(this, mapManager, PREFS_VALIDATOR_AUTO_DEFAULT); gameObjectAttributesDialogFactory = new GameObjectAttributesDialogFactory<GameObject, MapArchObject, Archetype, CMapViewBasic>(archetypeTypeSet, mainView, archetypeSet, mapManager); } Modified: trunk/daimonin/src/daieditor/DaimoninEditor.java =================================================================== --- trunk/daimonin/src/daieditor/DaimoninEditor.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/daimonin/src/daieditor/DaimoninEditor.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -34,6 +34,7 @@ import java.util.ResourceBundle; import java.util.prefs.Preferences; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gui.SplashScreen; import net.sf.gridarta.gui.map.MapView; import net.sf.japi.io.args.ArgParser; @@ -93,21 +94,21 @@ ArgParser.simpleParseAndRun(new DaimoninEditor(), args); } - private static void makeImage(final CMainControl mainControl, final File in, final File out) { + private static void makeImage(final CMainControl mainControl, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, final File in, final File out) { if (log.isInfoEnabled()) { log.info("converting " + in + " to " + out); } if (in.canRead()) { - final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = mainControl.getMapManager().openMapFileWithView(in, null); + final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = mapManager.openMapFileWithView(in, null); if (mapView != null) { mainControl.createImageWanted(mapView, out); - mainControl.getMapManager().closeView(mapView); + mapManager.closeView(mapView); } } } - private static void processFile(final CMainControl mainControl, final String filelist) { + private static void processFile(final CMainControl mainControl, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, final String filelist) { try { final BufferedReader reader = new BufferedReader(new FileReader(filelist)); try { @@ -118,7 +119,7 @@ log.info("done."); System.exit(0); } - makeImage(mainControl, new File(in), new File(out)); + makeImage(mainControl, mapManager, new File(in), new File(out)); } } catch (final IOException e) { // XXX:cher:Getting an error and not reporting it is evil. @@ -229,7 +230,7 @@ for (final String arg : args) { final File in = new File(arg); final File out = new File(arg + ".png"); - makeImage(mainControl, in, out); + makeImage(mainControl, mainControl.getMapManager(), in, out); } } finally { mainControl.doExit(); @@ -255,7 +256,7 @@ final File in = new File(args.get(0)); final File out = new File(args.get(1)); - makeImage(mainControl, in, out); + makeImage(mainControl, mainControl.getMapManager(), in, out); } finally { mainControl.doExit(); } Modified: trunk/daimonin/src/daieditor/MapActions.java =================================================================== --- trunk/daimonin/src/daieditor/MapActions.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/daimonin/src/daieditor/MapActions.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -246,7 +246,7 @@ public void mapProperties() { final MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> mapView = getMapPropertiesEnabled(); if (mapView != null) { - MapPropertiesDialog.showDialog(mapView.getComponent(), mainControl, gridartaObjectsFactory, globalSettings, mapView.getMapControl(), mapFileFilter); + MapPropertiesDialog.showDialog(mapView.getComponent(), mainControl, mapManager, gridartaObjectsFactory, globalSettings, mapView.getMapControl(), mapFileFilter); } } Modified: trunk/daimonin/src/daieditor/gui/map/MapPropertiesDialog.java =================================================================== --- trunk/daimonin/src/daieditor/gui/map/MapPropertiesDialog.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/daimonin/src/daieditor/gui/map/MapPropertiesDialog.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -52,6 +52,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.filechooser.FileFilter; import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.MapManager; import net.sf.gridarta.Size2D; import net.sf.gridarta.gui.GUIConstants; import net.sf.gridarta.help.Help; @@ -156,12 +157,13 @@ /** * Creates a map-options dialog. * @param mainControl The controller of this dialog. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param mapControl The level whose properties are shown/edited. * @param mapFileFilter the Swing file filter to use */ - private MapPropertiesDialog(@NotNull final CMainControl mainControl, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettingsImpl globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { + private MapPropertiesDialog(@NotNull final CMainControl mainControl, @NotNull final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettingsImpl globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { okButton.setDefaultCapable(true); setOptions(new Object[] {helpButton, okButton, restoreButton, cancelButton}); @@ -176,7 +178,7 @@ final JPanel mainPanel = createMainPanel(map); tabs.add(ACTION_FACTORY.getString("mapMapTabTitle"), mainPanel); - mapTilePane = new MapTilePane(mainControl, gridartaObjectsFactory, globalSettings, mapControl, mapFileFilter); + mapTilePane = new MapTilePane(mapManager, gridartaObjectsFactory, globalSettings, mapControl, mapFileFilter); final JPanel tilePanel = createTilePathPanel(mapTilePane); tabs.add(ACTION_FACTORY.getString("mapTilesTabTitle"), tilePanel); @@ -560,13 +562,14 @@ * Show a dialog querying the user for map properties. * @param parent the parent component to show dialog on * @param mainControl CMainControl with information + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param level map to show dialog about * @param mapFileFilter the Swing file filter to use */ - public static void showDialog(final Component parent, final CMainControl mainControl, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettingsImpl globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> level, final FileFilter mapFileFilter) { - final MapPropertiesDialog pane = new MapPropertiesDialog(mainControl, gridartaObjectsFactory, globalSettings, level, mapFileFilter); + public static void showDialog(final Component parent, final CMainControl mainControl, @NotNull final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettingsImpl globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> level, final FileFilter mapFileFilter) { + final MapPropertiesDialog pane = new MapPropertiesDialog(mainControl, mapManager, gridartaObjectsFactory, globalSettings, level, mapFileFilter); final JDialog dialog = pane.createDialog(parent, ACTION_FACTORY.format("mapTitle", level.getMapModel().getMapArchObject().getMapDisplayName(), level.getMapFileName())); pane.dialog = dialog; dialog.getRootPane().setDefaultButton(pane.okButton); Modified: trunk/daimonin/src/daieditor/gui/map/MapTilePane.java =================================================================== --- trunk/daimonin/src/daieditor/gui/map/MapTilePane.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/daimonin/src/daieditor/gui/map/MapTilePane.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -19,7 +19,6 @@ package daieditor.gui.map; -import daieditor.CMainControl; import daieditor.gameobject.Archetype; import daieditor.gameobject.GameObject; import daieditor.map.MapArchObject; @@ -27,6 +26,7 @@ import net.sf.gridarta.CommonConstants; import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gui.DirectionLayout; import net.sf.gridarta.gui.map.AbstractMapTilePane; import net.sf.gridarta.map.MapControl; @@ -105,16 +105,15 @@ /** * Create a MapTilePane. - * @param mainControl CMainControl to use for displaying dialogs, getting - * paths etc.. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param mapControl MapControl of the map that's tiles are to be viewed / * controlled * @param mapFileFilter the Swing file filter to use */ - public MapTilePane(final CMainControl mainControl, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { - super(mainControl, gridartaObjectsFactory, globalSettings, mapControl, tileLink, directionMapping, nextFocus, mapFileFilter); + public MapTilePane(final MapManager<?, MapArchObject, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, MapArchObject, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, final FileFilter mapFileFilter) { + super(mapManager, gridartaObjectsFactory, globalSettings, mapControl, tileLink, directionMapping, nextFocus, mapFileFilter); } } // class MapTilePane Modified: trunk/src/app/net/sf/gridarta/gui/map/AbstractMapTilePane.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/AbstractMapTilePane.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/map/AbstractMapTilePane.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -40,7 +40,7 @@ import net.sf.gridarta.CommonConstants; import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; -import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.Size2D; import net.sf.gridarta.gui.DirectionLayout; import net.sf.gridarta.gui.GUIConstants; @@ -68,7 +68,7 @@ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("net.sf.gridarta"); /** The mainControl to use. */ - private final MainControl<?, A, ?, ?> mainControl; + private final MapManager<?, A, ?, ?> mapManager; /** * The gridarta objects factory instance. @@ -129,13 +129,12 @@ /** * Create an AbstractMapTilePane. - * @param mainControl MainControl to use for displaying dialogs, getting - * paths etc.. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance */ - private AbstractMapTilePane(final MainControl<?, A, ?, ?> mainControl, @NotNull final GridartaObjectsFactory<?, A, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final int[][][] tileLink, final DirectionLayout.Direction[] directionMapping, final int[] nextFocus, final FileFilter mapFileFilter) { - this.mainControl = mainControl; + private AbstractMapTilePane(final MapManager<?, A, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, A, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final int[][][] tileLink, final DirectionLayout.Direction[] directionMapping, final int[] nextFocus, final FileFilter mapFileFilter) { + this.mapManager = mapManager; this.gridartaObjectsFactory = gridartaObjectsFactory; this.globalSettings = globalSettings; this.tileLink = tileLink; @@ -148,15 +147,14 @@ /** * Create an AbstractMapTilePane. - * @param mainControl MainControl to use for displaying dialogs, getting - * paths etc.. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param globalSettings the global settings instance * @param mapControl MapControl of the map that's tiles are to be viewed / * controlled */ - protected AbstractMapTilePane(final MainControl<?, A, ?, ?> mainControl, @NotNull final GridartaObjectsFactory<?, A, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<?, A, ?, ?> mapControl, final int[][][] tileLink, final DirectionLayout.Direction[] directionMapping, final int[] nextFocus, final FileFilter mapFileFilter) { - this(mainControl, gridartaObjectsFactory, globalSettings, tileLink, directionMapping, nextFocus, mapFileFilter); + protected AbstractMapTilePane(final MapManager<?, A, ?, ?> mapManager, @NotNull final GridartaObjectsFactory<?, A, ?, ?> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, final MapControl<?, A, ?, ?> mapControl, final int[][][] tileLink, final DirectionLayout.Direction[] directionMapping, final int[] nextFocus, final FileFilter mapFileFilter) { + this(mapManager, gridartaObjectsFactory, globalSettings, tileLink, directionMapping, nextFocus, mapFileFilter); setMapControl(mapControl); } @@ -310,12 +308,12 @@ /* run through all loaded maps and see we have a map with this path * if unsaved, ask for stop or autosave */ - final MapControl<?, A, ?, ?> level = mainControl.getMapManager().getMapIfOpened(mapPath); + final MapControl<?, A, ?, ?> level = mapManager.getMapIfOpened(mapPath); if (level != null) { // opened map in the editor ! if (!ACTION_FACTORY.showQuestionDialog(this, "mapQueryLoaded")) { return; } - mainControl.getMapManager().saveMapIfOpened(mapPath); + mapManager.saveMapIfOpened(mapPath); } /* now lets check we have perhaps this map opened in the editor - force a "autosave" or stop */ @@ -347,12 +345,12 @@ /* run through all loaded maps and see we have a map with this path * if unsaved, ask for stop or autosave */ - final MapControl<?, A, ?, ?> level = mainControl.getMapManager().getMapIfOpened(mapPath); + final MapControl<?, A, ?, ?> level = mapManager.getMapIfOpened(mapPath); if (level != null) { // opened map in the editor ! if (!ACTION_FACTORY.showQuestionDialog(this, "mapQueryLoaded", level.getMapFileName())) { return; } - mainControl.getMapManager().saveMapIfOpened(mapPath); + mapManager.saveMapIfOpened(mapPath); } tileHeaders[tileLink[i][ii][0]] = openMapFileHeader(link); Modified: trunk/src/app/net/sf/gridarta/gui/map/MapFileActions.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/map/MapFileActions.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/map/MapFileActions.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -212,7 +212,7 @@ public void close() { final MapView<G, A, R, V> mapView = getCloseEnabled(); if (mapView != null) { - mainControl.getMapManager().closeView(mapView); + mapManager.closeView(mapView); } } Modified: trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialog.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialog.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialog.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -28,7 +28,7 @@ import javax.swing.JTextField; import net.sf.gridarta.CommonConstants; import net.sf.gridarta.GridartaObjectsFactory; -import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gui.map.MapViewBasic; @@ -57,8 +57,10 @@ /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("net.sf.gridarta"); - /** The controller of this new level dialog view. */ - private final MainControl<G, A, R, V> mainControl; + /** + * The map manager to use. + */ + private final MapManager<G, A, R, V> mapManager; /** * The gridarta objects factory instance. @@ -86,7 +88,7 @@ /** * Creates a "new map" dialog. - * @param mainControl the controller of this dialog. + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param parentComponent the parent component of this dialog * @param filename desired filename for new map, null if not specified @@ -96,9 +98,9 @@ * @param defaultHeight The default height for new maps. * @param defaultDifficulty The default difficulty for new maps. */ - public NewMapDialog(final MainControl<G, A, R, V> mainControl, @NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, final Component parentComponent, final String filename, final boolean showMapSizeDefault, final boolean showMapDifficulty, final int defaultWidth, final int defaultHeight, final int defaultDifficulty) { + public NewMapDialog(final MapManager<G, A, R, V> mapManager, @NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, final Component parentComponent, final String filename, final boolean showMapSizeDefault, final boolean showMapDifficulty, final int defaultWidth, final int defaultHeight, final int defaultDifficulty) { super(showMapSizeDefault, prefs.getInt(DEFAULT_LEVEL_WIDTH_KEY, defaultWidth), prefs.getInt(DEFAULT_LEVEL_HEIGHT_KEY, defaultHeight)); - this.mainControl = mainControl; + this.mapManager = mapManager; this.gridartaObjectsFactory = gridartaObjectsFactory; this.filename = filename; this.showMapDifficulty = showMapDifficulty; @@ -169,7 +171,7 @@ mapArchObject.setDifficulty(difficulty); } - mainControl.getMapManager().newMapWithView(null, mapArchObject, null, null, filename != null ? filename : CommonConstants.DEF_MAPFNAME); + mapManager.newMapWithView(null, mapArchObject, null, null, filename != null ? filename : CommonConstants.DEF_MAPFNAME); return true; } Modified: trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialogFactory.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialogFactory.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/newmap/NewMapDialogFactory.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -21,6 +21,7 @@ import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gui.map.MapViewBasic; @@ -42,6 +43,12 @@ private final MainControl<G, A, R, V> mainControl; /** + * The map manager to use. + */ + @NotNull + private final MapManager<G, A, R, V> mapManager; + + /** * The gridarta objects factory instance. */ @NotNull @@ -75,6 +82,7 @@ /** * Creates a new instance. * @param mainControl the main control instance + * @param mapManager the map manager to use * @param gridartaObjectsFactory the gridarta objects factory instance * @param defaultMapWidth the default width for new maps * @param defaultMapHeight the default height for new maps @@ -84,8 +92,9 @@ * @param defaultPickmapWidth the default width for new pickmaps * @param defaultPickmapHeight the default height for new pickmaps */ - public NewMapDialogFactory(@NotNull final MainControl<G, A, R, V> mainControl, @NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, final int defaultMapWidth, final int defaultMapHeight, final int defaultMapDifficulty, final boolean showMapDifficulty, final boolean showMapSizeDefault, final int defaultPickmapWidth, final int defaultPickmapHeight) { + public NewMapDialogFactory(@NotNull final MainControl<G, A, R, V> mainControl, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, final int defaultMapWidth, final int defaultMapHeight, final int defaultMapDifficulty, final boolean showMapDifficulty, final boolean showMapSizeDefault, final int defaultPickmapWidth, final int defaultPickmapHeight) { this.mainControl = mainControl; + this.mapManager = mapManager; this.gridartaObjectsFactory = gridartaObjectsFactory; this.defaultMapWidth = defaultMapWidth; this.defaultMapHeight = defaultMapHeight; @@ -106,7 +115,7 @@ * unknown */ public void showNewMapDialog(final String filename) { - new NewMapDialog<G, A, R, V>(mainControl, gridartaObjectsFactory, mainControl.getMainView(), filename, showMapSizeDefault, showMapDifficulty, defaultMapWidth, defaultMapHeight, defaultMapDifficulty); + new NewMapDialog<G, A, R, V>(mapManager, gridartaObjectsFactory, mainControl.getMainView(), filename, showMapSizeDefault, showMapDifficulty, defaultMapWidth, defaultMapHeight, defaultMapDifficulty); } /** Shows a dialog for creating a new pickmap. */ Modified: trunk/src/app/net/sf/gridarta/gui/pickmapchooser/PickmapChooserControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/pickmapchooser/PickmapChooserControl.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/pickmapchooser/PickmapChooserControl.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -69,6 +69,12 @@ private final MainControl<G, A, R, V> mainControl; /** + * The map manager to use. + */ + @NotNull + private final MapManager<G, A, R, V> mapManager; + + /** * The gridarta objects factory instance. */ @NotNull @@ -176,6 +182,7 @@ */ public PickmapChooserControl(@NotNull final NewMapDialogFactory<G, A, R, V> newMapDialogFactory, @NotNull final MainControl<G, A, R, V> mainControl, @NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final File pickmapDir, @NotNull final MapManager<G, A, R, V> mapManager) { this.mainControl = mainControl; + this.mapManager = mapManager; this.gridartaObjectsFactory = gridartaObjectsFactory; model = new Model<G, A, R, V>(pickmapDir); currentPickmapActions = new CurrentPickmapActions<G, A, R, V>(newMapDialogFactory, this); @@ -292,7 +299,7 @@ } public void openPickmapMap(@NotNull final Pickmap<G, A, R, V> pickmap) { - mainControl.getMapManager().openMapFileWithView(pickmap.getFile(), null); + mapManager.openMapFileWithView(pickmap.getFile(), null); } public void deletePickmapWanted(@NotNull final Pickmap<G, A, R, V> pickmap) { Modified: trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareControl.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareControl.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -28,6 +28,7 @@ import javax.swing.event.EventListenerList; import net.sf.gridarta.EditTypes; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; @@ -83,6 +84,7 @@ * Create a SelectedSquareControl. * @param actionFactory the action factory * @param mainControl MainControl, used for icons + * @param mapManager the map manager to use * @param editTypes the edit types instance * @param mapTileListBottom set if the map tile list should be at the bottom * or on the top of the main view @@ -90,10 +92,10 @@ * of the list * @param archetypeSet the archetype set to use */ - public SelectedSquareControl(@NotNull final ActionFactory actionFactory, final MainControl<G, A, R, V> mainControl, @NotNull final EditTypes<G, A, R, V> editTypes, final boolean mapTileListBottom, @Nullable final ImageIcon compassIcon, @NotNull final ArchetypeSet<G, A, R> archetypeSet) { + public SelectedSquareControl(@NotNull final ActionFactory actionFactory, @NotNull final MainControl<G, A, R, V> mainControl, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final EditTypes<G, A, R, V> editTypes, final boolean mapTileListBottom, @Nullable final ImageIcon compassIcon, @NotNull final ArchetypeSet<G, A, R> archetypeSet) { this.mainControl = mainControl; - view = new SelectedSquareView<G, A, R, V>(actionFactory, this, mainControl, editTypes, mapTileListBottom, compassIcon, archetypeSet); + view = new SelectedSquareView<G, A, R, V>(actionFactory, this, mapManager, editTypes, mapTileListBottom, compassIcon, archetypeSet); } MouseListener getMouseListener() { Modified: trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareView.java =================================================================== --- trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareView.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/gui/selectedsquare/SelectedSquareView.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -39,7 +39,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.gridarta.EditTypes; -import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.MapManagerListener; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.ArchetypeSet; @@ -214,7 +214,7 @@ * Create a new instance. * @param actionFactory the action factory * @param control the controller for this view - * @param mainControl the main controller for this view + * @param mapManager the map manager to use * @param editTypes the edit types instance * @param mapTileListBottom set if the map tile list should be at the bottom * or on the top of the main view @@ -222,10 +222,10 @@ * of the list * @param archetypeSet the archetype set to use */ - SelectedSquareView(@NotNull final ActionFactory actionFactory, @NotNull final SelectedSquareControl<G, A, R, V> control, @NotNull final MainControl<G, A, R, V> mainControl, @NotNull final EditTypes<G, A, R, V> editTypes, final boolean mapTileListBottom, @Nullable final ImageIcon compassIcon, @NotNull final ArchetypeSet<G, A, R> archetypeSet) { + SelectedSquareView(@NotNull final ActionFactory actionFactory, @NotNull final SelectedSquareControl<G, A, R, V> control, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final EditTypes<G, A, R, V> editTypes, final boolean mapTileListBottom, @Nullable final ImageIcon compassIcon, @NotNull final ArchetypeSet<G, A, R> archetypeSet) { this.editTypes = editTypes; this.control = control; - mapTileSelectionCache = new MapTileSelectionCache<G, A, R, V>(mainControl.getMapManager()); + mapTileSelectionCache = new MapTileSelectionCache<G, A, R, V>(mapManager); setLayout(new BorderLayout()); @@ -260,7 +260,7 @@ list.addMouseListener(control.getMouseListener()); list.setFocusable(false); // XXX Workaround for Mantis #0000154 This is not clean and should be removed as soon as cut/copy/paste of arches is possible - mainControl.getMapManager().addMapManagerListener(mapManagerListener); + mapManager.addMapManagerListener(mapManagerListener); control.fireSelectedGameObjectChangedEvent(null); } Modified: trunk/src/app/net/sf/gridarta/map/AutoValidator.java =================================================================== --- trunk/src/app/net/sf/gridarta/map/AutoValidator.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/map/AutoValidator.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -25,6 +25,7 @@ import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.MapManagerListener; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.GameObject; @@ -157,16 +158,17 @@ /** * Create a new instance. * @param mainControl The main control. + * @param mapManager the map manager to use * @param autoDefault Whether the auto-validator is enabled by default. */ - public AutoValidator(@NotNull final MainControl<G, A, R, V> mainControl, final boolean autoDefault) { + public AutoValidator(@NotNull final MainControl<G, A, R, V> mainControl, @NotNull final MapManager<G, A, R, V>mapManager, final boolean autoDefault) { setDefaultPreferencesValue(autoDefault); wasEnabled = isEnabled(); // call to isEnabled() must not happen before setDefaultPreferencesValue() prefs.addPreferenceChangeListener(preferenceChangeListener); - autoValidatorProcessor = new AutoValidatorProcessor<G, A, R, V>(mainControl); - mainControl.getMapManager().addMapManagerListener(mapManagerListener); + autoValidatorProcessor = new AutoValidatorProcessor<G, A, R, V>(mainControl, mapManager); + mapManager.addMapManagerListener(mapManagerListener); autoValidatorProcessor.start(); if (wasEnabled) { Modified: trunk/src/app/net/sf/gridarta/map/AutoValidatorProcessor.java =================================================================== --- trunk/src/app/net/sf/gridarta/map/AutoValidatorProcessor.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/map/AutoValidatorProcessor.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -24,6 +24,7 @@ import java.util.IdentityHashMap; import java.util.Map; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gui.map.MapViewBasic; @@ -44,6 +45,12 @@ @NotNull private final MainControl<G, A, R, V> mainControl; + /** + * The map manager to use. + */ + @NotNull + private final MapManager<G, A, R, V> mapManager; + /** The map models pending a map validation. */ private final Map<MapModel<G, A, R>, MapModel<G, A, R>> changedMapModels = new IdentityHashMap<MapModel<G, A, R>, MapModel<G, A, R>>(); @@ -83,9 +90,11 @@ /** * Create a new instance. * @param mainControl The main control. + * @param mapManager the map manager to use */ - public AutoValidatorProcessor(@NotNull final MainControl<G, A, R, V> mainControl) { + public AutoValidatorProcessor(@NotNull final MainControl<G, A, R, V> mainControl, @NotNull final MapManager<G, A, R, V> mapManager) { this.mainControl = mainControl; + this.mapManager = mapManager; } /** @@ -142,7 +151,7 @@ /** Schedule all opened maps to be validated. */ public void validateAllMaps() { synchronized (changedMapModels) { - for (final MapControl<G, A, R, V> mapControl : mainControl.getMapManager().getOpenedMaps()) { + for (final MapControl<G, A, R, V> mapControl : mapManager.getOpenedMaps()) { final MapModel<G, A, R> mapModel = mapControl.getMapModel(); changedMapModels.put(mapModel, mapModel); } Modified: trunk/src/app/net/sf/gridarta/updater/UpdaterManager.java =================================================================== --- trunk/src/app/net/sf/gridarta/updater/UpdaterManager.java 2008-08-01 22:52:00 UTC (rev 4684) +++ trunk/src/app/net/sf/gridarta/updater/UpdaterManager.java 2008-08-01 23:18:02 UTC (rev 4685) @@ -23,7 +23,9 @@ import java.util.prefs.Preferences; import javax.swing.Action; import net.sf.gridarta.MainControl; +import net.sf.gridarta.MapManager; import net.sf.japi.swing.ActionFactory; +import org.jetbrains.annotations.NotNull; /** * This class handles updating the map editor. @@ -63,6 +65,11 @@ /** The main control. */ private final MainControl<?, ?, ?, ?> mainControl; + /** + * The map manager to use. + */ + private final MapManager<?, ?, ?, ?> mapManager; + /** The component to show dialogs on. */ private final Component parentComponent; @@ -73,10 +80,12 @@ * Creates a new instance. * @param key the action factory key * @param mainControl The main control. + * @param mapManager the map manager to use * @param parentComponent Component to show dialogs on * @param updateFileName the file to update */ - public UpdaterManager(final String key, final MainControl<?, ?, ?, ?> mainControl, final Component parentComponent, final String updateFileName) { + public UpdaterManager(final String key, @NotNull final MainControl<?, ?, ?, ?> mainControl, @NotNull final MapManager<?, ?, ?, ?> mapManager, final Component parentComponent, final String updateFileName) { + this.mapManager = mapManager; ACTION_FACTORY = ActionFactory.getFactory(key); this.key = key; this.mainControl = mainControl; @@ -102,7 +111,7 @@ /** Perform an update. */ public void update() { - if (mainControl.getMapManager().hasOpenedMap()) { + if (mapManager.hasOpenedMap()) { ACTION_FACTORY.showMessageDialog(parentComponent, "updateCloseMaps"); } else { new Thread(new Updater(parentComponent, mainControl, key, updateFileName)).start(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |