From: <aki...@us...> - 2008-09-07 11:21:11
|
Revision: 5060 http://gridarta.svn.sourceforge.net/gridarta/?rev=5060&view=rev Author: akirschbaum Date: 2008-09-07 11:21:19 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Move MainControl.handleThrowable() to common code base. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:18:27 UTC (rev 5059) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) @@ -70,7 +70,6 @@ import net.sf.gridarta.gui.prefs.UpdatePrefs; import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; -import net.sf.gridarta.map.MapControl; import net.sf.gridarta.map.validation.DelegatingMapValidator; import net.sf.gridarta.map.validation.checks.AttributeRangeChecker; import net.sf.gridarta.map.validation.checks.ConnectedInsideContainerChecker; @@ -84,7 +83,6 @@ import net.sf.gridarta.treasurelist.TreasureLocation; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.prefs.PreferencesGroup; -import net.sf.japi.util.ThrowableHandler; import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -96,7 +94,7 @@ * @author Andreas Kirschbaum * @fixme I'm 2200 lines long, therefore I suck. */ -public final class CMainControl extends AbstractMainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> implements ThrowableHandler<Throwable> { +public final class CMainControl extends AbstractMainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> { /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); @@ -303,11 +301,6 @@ } /** {@inheritDoc} */ - public void handleThrowable(final Throwable t) { - getMainView().handleThrowable(t); - } - - /** {@inheritDoc} */ @NotNull public String getConfigurationDirectory() { return "resource/conf"; Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:18:27 UTC (rev 5059) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) @@ -104,7 +104,6 @@ import net.sf.japi.swing.ActionMethod; import net.sf.japi.swing.misc.ConsoleProgress; import net.sf.japi.swing.prefs.PreferencesGroup; -import net.sf.japi.util.ThrowableHandler; import net.sf.japi.util.filter.file.Factory; import net.sf.japi.util.filter.file.GlobFileFilter; import org.apache.log4j.Logger; @@ -118,7 +117,7 @@ * @author Andreas Kirschbaum * @fixme I'm 2200 lines long, therefore I suck. */ -public final class CMainControl extends AbstractMainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> implements ThrowableHandler<Throwable> { +public final class CMainControl extends AbstractMainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> { /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("daieditor"); @@ -483,11 +482,6 @@ } /** {@inheritDoc} */ - public void handleThrowable(final Throwable t) { - getMainView().handleThrowable(t); - } - - /** {@inheritDoc} */ @NotNull public String getConfigurationDirectory() { return globalSettings.getArchDefaultFolder() + "/dev/editor/conf"; Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:18:27 UTC (rev 5059) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) @@ -112,6 +112,7 @@ import net.sf.japi.swing.prefs.PreferencesGroup; import net.sf.japi.swing.prefs.PreferencesPane; import net.sf.japi.swing.tod.TipOfTheDayManager; +import net.sf.japi.util.ThrowableHandler; import net.sf.japi.util.filter.file.EndingFileFilter; import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -124,7 +125,7 @@ * structures / collections and global functions. * @author <a href="mailto:ch...@ri...">Christian Hujer</a> */ -public abstract class AbstractMainControl<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>, V extends MapViewBasic<G, A, R, V>> implements MainControl<G, A, R, V> { +public abstract class AbstractMainControl<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>, V extends MapViewBasic<G, A, R, V>> implements MainControl<G, A, R, V>, ThrowableHandler<Throwable> { /** Preferences key for username. */ public static final String PREFS_USERNAME = "username"; @@ -771,4 +772,9 @@ return fileControl.saveLevelAsWanted(mapControl); } + /** {@inheritDoc} */ + public void handleThrowable(final Throwable t) { + mainView.handleThrowable(t); + } + } // class AbstractMainControl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 11:23:22
|
Revision: 5061 http://gridarta.svn.sourceforge.net/gridarta/?rev=5061&view=rev Author: akirschbaum Date: 2008-09-07 11:23:31 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Move MainControl.getObjectChooser() to common code base. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) @@ -63,7 +63,6 @@ import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; -import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.prefs.DevPrefs; import net.sf.gridarta.gui.prefs.MapValidatorPrefs; import net.sf.gridarta.gui.prefs.MiscPrefs; @@ -170,7 +169,7 @@ /** {@inheritDoc} */ @Override protected void init2() { - PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, objectChooser, mapManager); + PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); ((CrossfireObjectsFactory) gridartaObjectsFactory).setFilterControl(filterControl); @@ -312,11 +311,6 @@ return getConfigurationDirectory(); } - /** {@inheritDoc} */ - public ObjectChooser<GameObject, MapArchObject, Archetype> getObjectChooser() { - return objectChooser; - } - public void processFile(final String filelist) throws IOException { try { final BufferedReader reader = new BufferedReader(new FileReader(filelist)); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) @@ -68,7 +68,6 @@ import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; -import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.prefs.DevPrefs; import net.sf.gridarta.gui.prefs.MapValidatorPrefs; import net.sf.gridarta.gui.prefs.MiscPrefs; @@ -493,11 +492,6 @@ return globalSettings.getArchDefaultFolder(); } - /** {@inheritDoc} */ - public ObjectChooser<GameObject, MapArchObject, Archetype> getObjectChooser() { - return objectChooser; - } - /** * Run in batch png mode. * @param args the argument strings that were not parsed away by {@link Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:21:19 UTC (rev 5060) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) @@ -83,6 +83,7 @@ import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchoicedisplay.ObjectChoiceDisplay; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; +import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.pickmapchooser.PickmapChooserControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; @@ -236,7 +237,7 @@ * The object chooser. */ @NotNull - protected final DefaultObjectChooser<G, A, R> objectChooser; + private final DefaultObjectChooser<G, A, R> objectChooser; @NotNull protected final SelectedSquareView<G, A, R, V> selectedSquareView; @@ -777,4 +778,9 @@ mainView.handleThrowable(t); } + /** {@inheritDoc} */ + public ObjectChooser<G, A, R> getObjectChooser() { + return objectChooser; + } + } // class AbstractMainControl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 11:25:29
|
Revision: 5062 http://gridarta.svn.sourceforge.net/gridarta/?rev=5062&view=rev Author: akirschbaum Date: 2008-09-07 11:25:38 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Move MainControl.makeImage() to common code base. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 11:25:38 UTC (rev 5062) @@ -337,20 +337,6 @@ } } - private void makeImage(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 = mapManager.openMapFileWithView(in, null); - if (mapView != null) { - createImageWanted(mapView, out); - mapManager.closeView(mapView); - } - } - } - public void createImageFile(final List<String> infiles, final String outfile) { openFiles(infiles); createImageWanted(mapViewManager.getCurrentMapView(), new File(outfile)); // create map image Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 11:25:38 UTC (rev 5062) @@ -586,20 +586,6 @@ System.exit(0); } - private void makeImage(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 = mapManager.openMapFileWithView(in, null); - if (mapView != null) { - createImageWanted(mapView, out); - mapManager.closeView(mapView); - } - } - } - /** {@inheritDoc} */ @NotNull @Override Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:23:31 UTC (rev 5061) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 11:25:38 UTC (rev 5062) @@ -783,4 +783,18 @@ return objectChooser; } + protected void makeImage(final File in, final File out) { + if (log.isInfoEnabled()) { + log.info("converting " + in + " to " + out); + } + + if (in.canRead()) { + final MapView<G, A, R, V> mapView = mapManager.openMapFileWithView(in, null); + if (mapView != null) { + createImageWanted(mapView, out); + mapManager.closeView(mapView); + } + } + } + } // class AbstractMainControl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 12:15:28
|
Revision: 5079 http://gridarta.svn.sourceforge.net/gridarta/?rev=5079&view=rev Author: akirschbaum Date: 2008-09-07 12:15:38 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove unused code. Modified Paths: -------------- trunk/crossfire/src/cfeditor/gameobject/anim/AnimationObjects.java trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchEditor.java Modified: trunk/crossfire/src/cfeditor/gameobject/anim/AnimationObjects.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/anim/AnimationObjects.java 2008-09-07 12:10:08 UTC (rev 5078) +++ trunk/crossfire/src/cfeditor/gameobject/anim/AnimationObjects.java 2008-09-07 12:15:38 UTC (rev 5079) @@ -26,7 +26,6 @@ import java.util.List; import net.sf.gridarta.gameobject.anim.AbstractAnimationObjects; import net.sf.japi.swing.misc.Progress; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; /** @@ -37,9 +36,6 @@ */ public final class AnimationObjects extends AbstractAnimationObjects<AnimationObject> { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(AnimationObjects.class); - /** The animation objects. */ // The collection is here for future use, that's why it's updated but never queried. @SuppressWarnings({"MismatchedQueryAndUpdateOfCollection"}) Modified: trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchEditor.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchEditor.java 2008-09-07 12:10:08 UTC (rev 5078) +++ trunk/src/app/net/sf/gridarta/gameobject/scripts/AbstractScriptArchEditor.java 2008-09-07 12:15:38 UTC (rev 5079) @@ -41,14 +41,10 @@ import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.MapManager; import net.sf.gridarta.gameobject.GameObject; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; public abstract class AbstractScriptArchEditor { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(AbstractScriptArchEditor.class); - /** The ending for scripts. */ protected static String scriptEnding; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 12:32:27
|
Revision: 5084 http://gridarta.svn.sourceforge.net/gridarta/?rev=5084&view=rev Author: akirschbaum Date: 2008-09-07 12:32:36 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Rename CResourceLoader to ConfigFileUtils; move class to common code base. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CFJavaEditor.java trunk/crossfire/src/cfeditor/CMainControl.java Added Paths: ----------- trunk/src/app/net/sf/gridarta/io/ConfigFileUtils.java Removed Paths: ------------- trunk/crossfire/src/cfeditor/CResourceLoader.java Modified: trunk/crossfire/src/cfeditor/CFJavaEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/CFJavaEditor.java 2008-09-07 12:28:09 UTC (rev 5083) +++ trunk/crossfire/src/cfeditor/CFJavaEditor.java 2008-09-07 12:32:36 UTC (rev 5084) @@ -28,6 +28,7 @@ import java.util.prefs.Preferences; import net.sf.gridarta.MainControl; import net.sf.gridarta.gui.SplashScreen; +import net.sf.gridarta.io.ConfigFileUtils; import net.sf.gridarta.preferences.FilePreferencesFactory; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.tod.TipOfTheDayManager; @@ -43,7 +44,7 @@ static { System.setProperty("java.util.prefs.PreferencesFactory", "net.sf.gridarta.preferences.FilePreferencesFactory"); - FilePreferencesFactory.initialize("user_net_sf_gridarta", CResourceLoader.getHomeFile("crossfire.conf")); + FilePreferencesFactory.initialize("user_net_sf_gridarta", ConfigFileUtils.getHomeFile("crossfire.conf")); } /** The Logger for printing log messages. */ Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 12:28:09 UTC (rev 5083) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 12:32:36 UTC (rev 5084) @@ -68,6 +68,7 @@ import net.sf.gridarta.gui.prefs.UpdatePrefs; import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; +import net.sf.gridarta.io.ConfigFileUtils; import net.sf.gridarta.map.validation.DelegatingMapValidator; import net.sf.gridarta.map.validation.checks.AttributeRangeChecker; import net.sf.gridarta.map.validation.checks.ConnectedInsideContainerChecker; @@ -114,7 +115,7 @@ * @throws RuntimeException If the controller cannot be initialized. */ public CMainControl(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { - super(gridartaObjectsFactory, new DefaultRendererFactory(), "cfeditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), new DefaultMapControlFactory(gridartaObjectsFactory), false, CResourceLoader.getHomeFile("thumbnails"), null, "DaimoninEditor.jar", pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, Archetype.TYPE_EVENT_CONNECTOR, false, 0, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); + super(gridartaObjectsFactory, new DefaultRendererFactory(), "cfeditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), new DefaultMapControlFactory(gridartaObjectsFactory), false, ConfigFileUtils.getHomeFile("thumbnails"), null, "DaimoninEditor.jar", pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, Archetype.TYPE_EVENT_CONNECTOR, false, 0, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); } /** {@inheritDoc} */ Deleted: trunk/crossfire/src/cfeditor/CResourceLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/CResourceLoader.java 2008-09-07 12:28:09 UTC (rev 5083) +++ trunk/crossfire/src/cfeditor/CResourceLoader.java 2008-09-07 12:32:36 UTC (rev 5084) @@ -1,56 +0,0 @@ -/* - * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. - * Copyright (C) 2000-2007 The Gridarta Developers. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -package cfeditor; - -import java.io.File; - -/** - * Loader for loading resources the user's home directory. - * @author tchize - */ -public final class CResourceLoader { - - /** Name of directory with settings file. */ - private static final String APP_SETTINGS_DIR = ".gridarta"; - - /** - * Return the filename to use when dealing with this application's and - * current users' home directory. For example, if called like this - * <code>CResourceLoader.getHomeFile("myfile");</code> will return something - * like /home/someuser/.gridarta/myfile under Linux. - * @param filename the name of requested file. - * @return the full to user home directory, appended with application - * directory and the filename. - */ - public static File getHomeFile(final String filename) { - final StringBuilder buf = new StringBuilder(128); - final String home = System.getProperty("user.home"); - buf.append(home); - buf.append(File.separator).append(APP_SETTINGS_DIR); - final File rc = new File(buf.toString()); - if (!rc.isDirectory()) { - rc.mkdirs(); - } - buf.append(File.separator); - buf.append(filename); - return new File(buf.toString()); - } - -} // class CResourceLoader Copied: trunk/src/app/net/sf/gridarta/io/ConfigFileUtils.java (from rev 5083, trunk/crossfire/src/cfeditor/CResourceLoader.java) =================================================================== --- trunk/src/app/net/sf/gridarta/io/ConfigFileUtils.java (rev 0) +++ trunk/src/app/net/sf/gridarta/io/ConfigFileUtils.java 2008-09-07 12:32:36 UTC (rev 5084) @@ -0,0 +1,56 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.io; + +import java.io.File; + +/** + * Loader for loading resources the user's home directory. + * @author tchize + */ +public final class ConfigFileUtils { + + /** Name of directory with settings file. */ + private static final String APP_SETTINGS_DIR = ".gridarta"; + + /** + * Return the filename to use when dealing with this application's and + * current users' home directory. For example, if called like this + * <code>CResourceLoader.getHomeFile("myfile");</code> will return something + * like /home/someuser/.gridarta/myfile under Linux. + * @param filename the name of requested file. + * @return the full to user home directory, appended with application + * directory and the filename. + */ + public static File getHomeFile(final String filename) { + final StringBuilder buf = new StringBuilder(128); + final String home = System.getProperty("user.home"); + buf.append(home); + buf.append(File.separator).append(APP_SETTINGS_DIR); + final File rc = new File(buf.toString()); + if (!rc.isDirectory()) { + rc.mkdirs(); + } + buf.append(File.separator); + buf.append(filename); + return new File(buf.toString()); + } + +} // class ConfigFileUtils Property changes on: trunk/src/app/net/sf/gridarta/io/ConfigFileUtils.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:mergeinfo + Added: svn:eol-style + LF This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 12:51:43
|
Revision: 5093 http://gridarta.svn.sourceforge.net/gridarta/?rev=5093&view=rev Author: akirschbaum Date: 2008-09-07 12:51:52 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove unused code. Modified Paths: -------------- trunk/crossfire/src/cfeditor/MapActions.java trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchEditor.java trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchEditor.java trunk/daimonin/src/daieditor/io/MapArchObjectParser.java trunk/src/app/net/sf/gridarta/gameobject/scripts/ScriptedEventEditor.java Modified: trunk/crossfire/src/cfeditor/MapActions.java =================================================================== --- trunk/crossfire/src/cfeditor/MapActions.java 2008-09-07 12:46:09 UTC (rev 5092) +++ trunk/crossfire/src/cfeditor/MapActions.java 2008-09-07 12:51:52 UTC (rev 5093) @@ -50,7 +50,6 @@ import net.sf.gridarta.map.MapControl; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.ToggleAction; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -63,9 +62,6 @@ /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(MapActions.class); - /** Preferences. */ private static final Preferences prefs = Preferences.userNodeForPackage(MainControl.class); Modified: trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchEditor.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchEditor.java 2008-09-07 12:46:09 UTC (rev 5092) +++ trunk/crossfire/src/cfeditor/gameobject/scripts/ScriptArchEditor.java 2008-09-07 12:51:52 UTC (rev 5093) @@ -28,13 +28,9 @@ import net.sf.gridarta.gameobject.scripts.UndefinedEventArchetypeException; import net.sf.gridarta.textedit.scripteditor.ScriptEditControlInstance; import net.sf.japi.swing.ActionFactory; -import org.apache.log4j.Logger; public class ScriptArchEditor extends AbstractScriptArchEditor { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(ScriptArchEditor.class); - /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); Modified: trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchEditor.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchEditor.java 2008-09-07 12:46:09 UTC (rev 5092) +++ trunk/daimonin/src/daieditor/gameobject/scripts/ScriptArchEditor.java 2008-09-07 12:51:52 UTC (rev 5093) @@ -28,13 +28,9 @@ import net.sf.gridarta.gameobject.scripts.UndefinedEventArchetypeException; import net.sf.gridarta.textedit.scripteditor.ScriptEditControlInstance; import net.sf.japi.swing.ActionFactory; -import org.apache.log4j.Logger; public class ScriptArchEditor extends AbstractScriptArchEditor { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(ScriptArchEditor.class); - /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("daieditor"); Modified: trunk/daimonin/src/daieditor/io/MapArchObjectParser.java =================================================================== --- trunk/daimonin/src/daieditor/io/MapArchObjectParser.java 2008-09-07 12:46:09 UTC (rev 5092) +++ trunk/daimonin/src/daieditor/io/MapArchObjectParser.java 2008-09-07 12:51:52 UTC (rev 5093) @@ -23,7 +23,6 @@ import java.io.IOException; import java.util.Formatter; import net.sf.gridarta.io.AbstractMapArchObjectParser; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; /** @@ -33,9 +32,6 @@ */ public class MapArchObjectParser extends AbstractMapArchObjectParser<MapArchObject> { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(MapArchObjectParser.class); - /** {@inheritDoc} */ public void save(@NotNull final Appendable appendable, @NotNull final MapArchObject mapArchObject) throws IOException { final Formatter format = new Formatter(appendable); Modified: trunk/src/app/net/sf/gridarta/gameobject/scripts/ScriptedEventEditor.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/scripts/ScriptedEventEditor.java 2008-09-07 12:46:09 UTC (rev 5092) +++ trunk/src/app/net/sf/gridarta/gameobject/scripts/ScriptedEventEditor.java 2008-09-07 12:51:52 UTC (rev 5093) @@ -36,14 +36,10 @@ import net.sf.gridarta.MapManager; import net.sf.gridarta.textedit.scripteditor.ScriptEditControlInstance; import net.sf.japi.swing.ActionFactory; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; public class ScriptedEventEditor { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(ScriptedEventEditor.class); - /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("net.sf.gridarta"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 13:01:48
|
Revision: 5095 http://gridarta.svn.sourceforge.net/gridarta/?rev=5095&view=rev Author: akirschbaum Date: 2008-09-07 13:01:56 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove unused parameters. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java =================================================================== --- trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-07 12:55:27 UTC (rev 5094) +++ trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-07 13:01:56 UTC (rev 5095) @@ -31,18 +31,14 @@ import java.io.FileNotFoundException; import java.util.prefs.Preferences; import net.sf.gridarta.AbstractMainControl; -import net.sf.gridarta.AutojoinLists; import net.sf.gridarta.EditTypes; import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.MainControl; -import net.sf.gridarta.MapActions; import net.sf.gridarta.MapImageCache; import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.face.FaceObjects; -import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.MainView; -import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.map.tools.ToolPalette; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; @@ -141,7 +137,7 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final MapActions mapActions, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { this.selectedSquareView = selectedSquareView; this.mainView = mainView; this.editTypes = editTypes; Modified: trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java =================================================================== --- trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-07 12:55:27 UTC (rev 5094) +++ trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-07 13:01:56 UTC (rev 5095) @@ -31,18 +31,14 @@ import java.io.FileNotFoundException; import java.util.prefs.Preferences; import net.sf.gridarta.AbstractMainControl; -import net.sf.gridarta.AutojoinLists; import net.sf.gridarta.EditTypes; import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.MainControl; -import net.sf.gridarta.MapActions; import net.sf.gridarta.MapImageCache; import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.face.FaceObjects; -import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.MainView; -import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.map.tools.ToolPalette; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; @@ -145,7 +141,7 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final MapActions mapActions, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { this.faceObjects = faceObjects; this.selectedSquareView = selectedSquareView; this.mainControl = mainControl; Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 12:55:27 UTC (rev 5094) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 13:01:56 UTC (rev 5095) @@ -435,7 +435,7 @@ mapActions.updateMenuState(); init3(); final AbstractArchetypeParser<G, A, R> archetypeParser = newArchetypeParser(gridartaObjectsFactory, archetypeChooserControl, animationObjects, archetypeSet); - gridartaObjectsFactory.init(faceObjects, archetypeChooserModel, selectedSquareView, this, mainView, editTypes, mapImageCache, mapActions, archetypeParser, archetypeSet, toolPalette, autojoinLists, exitMatcher); + gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeParser, archetypeSet, toolPalette); mapControlFactory.init(gridartaObjectsFactory, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); init4(); Modified: trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java =================================================================== --- trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-07 12:55:27 UTC (rev 5094) +++ trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-07 13:01:56 UTC (rev 5095) @@ -27,9 +27,7 @@ import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gameobject.face.FaceObjects; -import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.MainView; -import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.gui.map.MapView; import net.sf.gridarta.gui.map.MapViewBasic; import net.sf.gridarta.gui.map.tools.ToolPalette; @@ -107,19 +105,15 @@ /** * Initializes the instance. * @param faceObjects the FaceObjects instance - * @param archetypeChooserModel the archetype chooser model instance * @param selectedSquareView the selected square view instance * @param mainControl the main control instance * @param mainView the main view instance * @param editTypes the edit types instance * @param mapImageCache the map image cache instance - * @param mapActions the map actions instance * @param archetypeParser the archetype parser instance * @param archetypeSet the archetype set instance * @param toolPalette the tool palette instance - * @param autojoinLists the autojoin lists instance - * @param exitTypeGameObjectMatcher the matcher for exit objects */ - void init(@NotNull FaceObjects faceObjects, @NotNull ArchetypeChooserModel<G, A, R, V> archetypeChooserModel, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull MainControl<G, A, R, V> mainControl, @NotNull MainView<G, A, R, V> mainView, @NotNull EditTypes<G, A, R, V> editTypes, @NotNull MapImageCache<G, A, R, V> mapImageCache, @NotNull MapActions mapActions, @NotNull ArchetypeParser<G, A, R> archetypeParser, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull ToolPalette<G, A, R, V> toolPalette, @NotNull final AutojoinLists<G, A, R> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher); + void init(@NotNull FaceObjects faceObjects, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull MainControl<G, A, R, V> mainControl, @NotNull MainView<G, A, R, V> mainView, @NotNull EditTypes<G, A, R, V> editTypes, @NotNull MapImageCache<G, A, R, V> mapImageCache, @NotNull ArchetypeParser<G, A, R> archetypeParser, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull ToolPalette<G, A, R, V> toolPalette); } // interface GridartaObjectsFactory Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-07 12:55:27 UTC (rev 5094) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-07 13:01:56 UTC (rev 5095) @@ -975,7 +975,7 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> archetypeChooserModel, @NotNull final SelectedSquareView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> selectedSquareView, @NotNull final MainControl<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainControl, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final MapImageCache<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapImageCache, @NotNull final MapActions mapActions, @NotNull final ArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final ToolPalette<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> toolPalette, @NotNull final AutojoinLists<TestGameObject, TestMapArchObject, TestArchetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> selectedSquareView, @NotNull final MainControl<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainControl, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final MapImageCache<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final ToolPalette<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> toolPalette) { throw new AssertionError(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 13:18:00
|
Revision: 5104 http://gridarta.svn.sourceforge.net/gridarta/?rev=5104&view=rev Author: akirschbaum Date: 2008-09-07 13:18:11 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove redundant implements clauses. Modified Paths: -------------- trunk/crossfire/src/cfeditor/gameobject/UndefinedArchetype.java trunk/daimonin/src/daieditor/gameobject/UndefinedArchetype.java Modified: trunk/crossfire/src/cfeditor/gameobject/UndefinedArchetype.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/UndefinedArchetype.java 2008-09-07 13:16:52 UTC (rev 5103) +++ trunk/crossfire/src/cfeditor/gameobject/UndefinedArchetype.java 2008-09-07 13:18:11 UTC (rev 5104) @@ -26,7 +26,7 @@ * archetype. * @author Andreas Kirschbaum */ -public class UndefinedArchetype extends GameObject implements Archetype { +public class UndefinedArchetype extends GameObject { /** The serial version UID. */ private static final long serialVersionUID = 1; Modified: trunk/daimonin/src/daieditor/gameobject/UndefinedArchetype.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/UndefinedArchetype.java 2008-09-07 13:16:52 UTC (rev 5103) +++ trunk/daimonin/src/daieditor/gameobject/UndefinedArchetype.java 2008-09-07 13:18:11 UTC (rev 5104) @@ -26,7 +26,7 @@ * archetype. * @author Andreas Kirschbaum */ -public class UndefinedArchetype extends GameObject implements Archetype { +public class UndefinedArchetype extends GameObject { /** The serial version UID. */ private static final long serialVersionUID = 1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 14:42:36
|
Revision: 5112 http://gridarta.svn.sourceforge.net/gridarta/?rev=5112&view=rev Author: akirschbaum Date: 2008-09-07 14:42:44 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Split off ArchetypeSetLoader from ArchetypeSet. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSet.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeSet.java trunk/src/app/net/sf/gridarta/gameobject/ArchetypeSet.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Added Paths: ----------- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeSetLoader.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 13:27:46 UTC (rev 5111) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -23,6 +23,7 @@ import cfeditor.gameobject.Archetype; import cfeditor.gameobject.ArchetypeParser; import cfeditor.gameobject.ArchetypeSet; +import cfeditor.gameobject.ArchetypeSetLoader; import cfeditor.gameobject.GameObject; import cfeditor.gameobject.anim.AnimationObjects; import cfeditor.gameobject.face.FaceObjects; @@ -183,9 +184,14 @@ scriptControl.getView().setMenu((JMenu) ACTION_FACTORY.find(getMainView().getJMenuBar(), "plugins")); } - /** {@inheritDoc} */ + /** {@inheritDoc} + * @param archetypeParser + * @param editTypes + * @param faceObjects + * @param animationObjects*/ @Override - protected void init4() { + protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects) { + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(); } /** {@inheritDoc} */ @@ -341,7 +347,7 @@ @NotNull @Override protected net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> newArchetypeSet(@NotNull final GlobalSettings globalSettings, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { - return new ArchetypeSet(this, globalSettings, editTypes, animationObjects, faceObjects, ((GlobalSettingsImpl) globalSettings).getImageSet(), gridartaObjectsFactory); + return new ArchetypeSet(((GlobalSettingsImpl) globalSettings).getImageSet(), gridartaObjectsFactory); } /** Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-09-07 13:27:46 UTC (rev 5111) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSet.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -19,40 +19,20 @@ package cfeditor.gameobject; -import cfeditor.CMainControl; import cfeditor.IGUIConstants; import cfeditor.gui.map.CMapViewBasic; import cfeditor.map.MapArchObject; -import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FileReader; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import javax.swing.ImageIcon; -import net.sf.gridarta.EditTypes; -import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; -import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSet; -import net.sf.gridarta.gameobject.anim.AnimationObject; -import net.sf.gridarta.gameobject.anim.AnimationObjects; -import net.sf.gridarta.gameobject.anim.AnimationParseException; -import net.sf.gridarta.gameobject.anim.DuplicateAnimationException; -import net.sf.gridarta.gameobject.face.ArchFaceProvider; -import net.sf.gridarta.gameobject.face.DuplicateFaceException; -import net.sf.gridarta.gameobject.face.FaceObjectProviders; -import net.sf.gridarta.gameobject.face.FaceObjects; import net.sf.gridarta.io.IOUtils; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.misc.Progress; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -64,32 +44,10 @@ */ public final class ArchetypeSet extends AbstractArchetypeSet<GameObject, MapArchObject, Archetype> { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(ArchetypeSet.class); - /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); - private final CMainControl mainControl; - /** - * The global settings instance. - */ - @NotNull - private final GlobalSettings globalSettings; - - /** The edit types instance. */ - @NotNull - private final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes; - - @NotNull - private final AnimationObjects<? extends AnimationObject> animationObjects; - - /** The FaceObjects instance to use. */ - @NotNull - private final FaceObjects faceObjects; - - /** * The image set to use. */ @Nullable @@ -97,22 +55,12 @@ /** * Create the ArchetypeSet. - * @param mainControl reference to CMainControl - * @param globalSettings the global settings instance - * @param editTypes the edit types instance - * @param animationObjects the animations to use - * @param faceObjects the FaceObjects instance to use * @param imageSet the image set to use * @param gridartaObjectsFactory the gridarta objects factory instance to * use */ - public ArchetypeSet(@NotNull final CMainControl mainControl, @NotNull final GlobalSettings globalSettings, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, @Nullable final String imageSet, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + public ArchetypeSet(@Nullable final String imageSet, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { super(gridartaObjectsFactory); - this.mainControl = mainControl; - this.globalSettings = globalSettings; - this.editTypes = editTypes; - this.animationObjects = animationObjects; - this.faceObjects = faceObjects; this.imageSet = imageSet; } @@ -130,189 +78,7 @@ } /** {@inheritDoc} */ - public void loadArchetypes(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser) { - final long timeStart = System.currentTimeMillis(); - if (log.isInfoEnabled()) { - log.info("Start to load archetypes..."); - } - - setLoadStatus(LoadStatus.LOADING); // status: loading - - final List<GameObject> invObjects = new ArrayList<GameObject>(); - final String fname; - // here we go... - if (globalSettings.isArchLoadedFromCollection()) { - loadArchFromCollected(archetypeParser, invObjects); // load arches & images from collection - fname = IGUIConstants.ARCH_FILE; - } else { - FaceObjectProviders.setNormal(new ArchFaceProvider()); - setLoadedFromArchive(false); // don't load from the collected files - fname = globalSettings.getArchDefaultFolder(); - loadArchetypesFromFiles(archetypeParser, new File(fname), "/", 0, "default", "default", invObjects); // load arches & images from individual files - } - reportErrors(mainControl.getMainView()); - - gridartaObjectsFactory.newGameObjectParser().collectTempList(mainControl.getMainView(), this, editTypes, invObjects, fname, true); - connectFaces(); // attach faces to arches - - // print message if no arches were found - if (getArchetypeCount() == 0) { - setLoadStatus(LoadStatus.EMPTY); // status: stack is empty - } else { - setLoadStatus(LoadStatus.COMPLETE); // status: stack completed - } - - if (log.isInfoEnabled()) { - log.info("Archetype loading took " + (System.currentTimeMillis() - timeStart) / 1000.0 + " seconds."); - } - } - - /** - * Load all arches and pngs from the collected files "archtypes" and - * "crossfire.0" - * @param archetypeParser the archetype parser to use - * @param invObjects collects all inventory objects - */ - private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects) { - setLoadedFromArchive(true); // load from the collected files - - try { - // open the resource file - final String baseDir = mainControl.getCollectedDirectory(); - final BufferedReader stream = IOUtils.createReader(baseDir, IGUIConstants.ARCH_FILE); - try { - // load all arches - archetypeParser.parseArchetypeFromStream(stream, "default", "default", null, invObjects); - } finally { - stream.close(); - } - faceObjects.loadFacesCollection(new File(baseDir, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); - } catch (final IOException e) { - // TODO - log.error("Error:", e); - } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); - } - } - - /** - * Loads all archetypes and faces by recursing through the - * <code>arch/</code> directory tree. - * @param archetypeParser the archetype parser to use - * @param f file path where we currently are - * @param relativeName the relative folder name - * @param folderLevel level of the folder - * @param panelName the panel to add archetypes to - * @param folderName the folder to add archetypes to - * @param invObjects collects all inventory objects - */ - private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final String relativeName, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects) { - final String name = f.getName(); - if (f.isDirectory()) { - // now, setup the arch panels - if (!name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase("dev") && !name.startsWith(".")) { - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - final String[] entries = f.list(); - if (entries != null) { - Arrays.sort(entries); - for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), relativeName + entry + "/", folderLevel + 1, thisPanelName, thisFolderName, invObjects); - } - } - } - } else { - if (!name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase("dev")) { - if (name.endsWith(".face")) { - parseDefFace(f.getAbsolutePath()); - } else if (name.endsWith(".arc")) { - setCurrentFile(f); - archetypeParser.parseArchetype(f.getAbsolutePath(), panelName, folderName, invObjects); - } else if (name.endsWith(".png")) { - if (imageSet == null || name.contains("." + imageSet + ".")) { - addPNGFace(f.getAbsolutePath(), name, relativeName); - } - } - } - } - } - - /** - * Parsing face files (*.face). I think such files are no longer used and so - * is this code. - * @param filename filename - */ - private void parseDefFace(final String filename) { - try { - final Reader in = new BufferedReader(new FileReader(filename)); - try { - animationObjects.loadAnims(in, "animation ", true, filename); - } finally { - in.close(); - } - } catch (final FileNotFoundException e) { - log.warn("Error opening face file: " + e); - } catch (final IOException e) { - log.warn("Error reading face file: " + e); - } catch (AnimationParseException e) { - log.warn("Error reading face file: " + e); - } catch (DuplicateAnimationException e) { - log.warn("Error reading face file: " + e); - } - } - - /** - * Generate the facename for a face. - * @param name filename to generate facename from - * @return facename generated from <var>name</var> - */ - private String generateFaceName(final String name) { - if (imageSet != null) { - // we have to snip out the imageset-information here from - // the 'name', and the ".png": (e.g. blocked.base.111.png -> blocked.111) - int firstDot = 0; - int secondDot = 0; - for (int t = 0; t < name.length() && secondDot == 0; t++) { - if (name.charAt(t) == '.') { - if (firstDot == 0) { - firstDot = t; - } else { - secondDot = t; - } - } - } - - if (firstDot != 0 && secondDot != 0) { - return name.substring(0, firstDot) + name.substring(secondDot, name.length() - 4); - } else { - return name.substring(0, name.length() - 4); - } - } - - // no image set: we need only cut off the ".png" - return name.substring(0, name.length() - 4); - } - - /** - * Load a png from the file, convert it to IconImage and attach it to the - * facelist. - * @param filename filename, absolute path - * @param name name of the png (e.g. blocked.111.png) - * @param originalPathname the original path name - */ - private void addPNGFace(final String filename, final String name, final String originalPathname) { - final int slashPos = originalPathname.lastIndexOf('/', originalPathname.length() - 2); - assert slashPos != -1; - final String facename = generateFaceName(name); - ((ArchFaceProvider) FaceObjectProviders.normal).addInfo(facename, filename); - try { - faceObjects.addFaceObject(facename, originalPathname.substring(0, slashPos + 1) + facename, filename, 0, (int) new File(filename).length()); - } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); - } - } - - private void connectFaces() { + public void connectFaces() { for (final Archetype arch : getArchetypes()) { arch.setObjectFace(); } @@ -445,4 +211,10 @@ } } + /** {@inheritDoc} */ + @Nullable + public String getImageSet() { + return imageSet; + } + } // class ArchetypeSet Added: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java (rev 0) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -0,0 +1,324 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package cfeditor.gameobject; + +import cfeditor.CMainControl; +import cfeditor.IGUIConstants; +import cfeditor.gui.map.CMapViewBasic; +import cfeditor.map.MapArchObject; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.Reader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import net.sf.gridarta.EditTypes; +import net.sf.gridarta.GlobalSettings; +import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.gameobject.AbstractArchetypeParser; +import net.sf.gridarta.gameobject.AbstractArchetypeSetLoader; +import net.sf.gridarta.gameobject.ArchetypeSet; +import net.sf.gridarta.gameobject.anim.AnimationObject; +import net.sf.gridarta.gameobject.anim.AnimationObjects; +import net.sf.gridarta.gameobject.anim.AnimationParseException; +import net.sf.gridarta.gameobject.anim.DuplicateAnimationException; +import net.sf.gridarta.gameobject.face.ArchFaceProvider; +import net.sf.gridarta.gameobject.face.DuplicateFaceException; +import net.sf.gridarta.gameobject.face.FaceObjectProviders; +import net.sf.gridarta.gameobject.face.FaceObjects; +import net.sf.gridarta.io.IOUtils; +import net.sf.japi.swing.ActionFactory; +import org.apache.log4j.Logger; +import org.jetbrains.annotations.NotNull; + +/** + * Loader for archetype files. + * @author <a href="mailto:mic...@no...">Michael Toennies</a> + * @author <a href="mailto:and...@gm...">Andreas Vogl</a> + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + * @author Andreas Kirschbaum + */ +public class ArchetypeSetLoader extends AbstractArchetypeSetLoader { + + /** The Logger for printing log messages. */ + private static final Logger log = Logger.getLogger(ArchetypeSetLoader.class); + + /** Action Factory. */ + private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); + + /** + * The global settings instance. + */ + @NotNull + private final GlobalSettings globalSettings; + + /** + * The gridarta objects factory instance. + */ + @NotNull + private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; + + /** + * The main control instamce. + */ + @NotNull + private final CMainControl mainControl; + + /** + * The archetype set to update. + */ + @NotNull + private final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet; + + /** + * The archetype partser to use. + */ + @NotNull + private final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser; + + /** + * The edit types instance. + */ + @NotNull + private final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes; + + /** + * The face objects instance. + */ + @NotNull + private final FaceObjects faceObjects; + + /** + * The animation objects instance. + */ + @NotNull + private final AnimationObjects<? extends AnimationObject> animationObjects; + + /** + * Creates a new instance. + * @param globalSettings the global settings instance + * @param gridartaObjectsFactory the gridarta objects factory instance + * @param mainControl the main control instance + * @param archetypeSet the archetype set to update + * @param archetypeParser the archetype parser to use + * @param editTypes the edit types instance + * @param faceObjects the face objects instance + * @param animationObjects the animation objects instance + */ + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + this.globalSettings = globalSettings; + this.gridartaObjectsFactory = gridartaObjectsFactory; + this.mainControl = mainControl; + this.archetypeSet = archetypeSet; + this.archetypeParser = archetypeParser; + this.editTypes = editTypes; + this.faceObjects = faceObjects; + this.animationObjects = animationObjects; + } + + /** + * Loads archetypes. + */ + public void loadArchetypes() { + final long timeStart = System.currentTimeMillis(); + if (log.isInfoEnabled()) { + log.info("Start to load archetypes..."); + } + + archetypeSet.setLoadStatus(ArchetypeSet.LoadStatus.LOADING); // status: loading + + final List<GameObject> invObjects = new ArrayList<GameObject>(); + final String fname; + // here we go... + if (globalSettings.isArchLoadedFromCollection()) { + loadArchFromCollected(archetypeParser, invObjects); // load arches & images from collection + fname = IGUIConstants.ARCH_FILE; + } else { + FaceObjectProviders.setNormal(new ArchFaceProvider()); + archetypeSet.setLoadedFromArchive(false); // don't load from the collected files + fname = globalSettings.getArchDefaultFolder(); + loadArchetypesFromFiles(archetypeParser, new File(fname), "/", 0, "default", "default", invObjects); // load arches & images from individual files + } + archetypeSet.reportErrors(mainControl.getMainView()); + + gridartaObjectsFactory.newGameObjectParser().collectTempList(mainControl.getMainView(), archetypeSet, editTypes, invObjects, fname, true); + archetypeSet.connectFaces(); // attach faces to arches + + // print message if no arches were found + if (archetypeSet.getArchetypeCount() == 0) { + archetypeSet.setLoadStatus(ArchetypeSet.LoadStatus.EMPTY); // status: stack is empty + } else { + archetypeSet.setLoadStatus(ArchetypeSet.LoadStatus.COMPLETE); // status: stack completed + } + + if (log.isInfoEnabled()) { + log.info("Archetype loading took " + (System.currentTimeMillis() - timeStart) / 1000.0 + " seconds."); + } + } + + /** + * Load all arches and pngs from the collected files "archtypes" and + * "crossfire.0" + * @param archetypeParser the archetype parser to use + * @param invObjects collects all inventory objects + */ + private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects) { + archetypeSet.setLoadedFromArchive(true); // load from the collected files + + try { + // open the resource file + final String baseDir = mainControl.getCollectedDirectory(); + final BufferedReader stream = IOUtils.createReader(baseDir, IGUIConstants.ARCH_FILE); + try { + // load all arches + archetypeParser.parseArchetypeFromStream(stream, "default", "default", null, invObjects); + } finally { + stream.close(); + } + faceObjects.loadFacesCollection(new File(baseDir, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); + } catch (final IOException e) { + // TODO + log.error("Error:", e); + } catch (final DuplicateFaceException e) { + ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + } + } + + /** + * Loads all archetypes and faces by recursing through the + * <code>arch/</code> directory tree. + * @param archetypeParser the archetype parser to use + * @param f file path where we currently are + * @param relativeName the relative folder name + * @param folderLevel level of the folder + * @param panelName the panel to add archetypes to + * @param folderName the folder to add archetypes to + * @param invObjects collects all inventory objects + */ + private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final String relativeName, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects) { + final String name = f.getName(); + if (f.isDirectory()) { + // now, setup the arch panels + if (!name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase("dev") && !name.startsWith(".")) { + final String thisPanelName = folderLevel == 1 ? name : panelName; + final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; + final String[] entries = f.list(); + if (entries != null) { + Arrays.sort(entries); + for (final String entry : entries) { + loadArchetypesFromFiles(archetypeParser, new File(f, entry), relativeName + entry + "/", folderLevel + 1, thisPanelName, thisFolderName, invObjects); + } + } + } + } else { + if (!name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase("dev")) { + if (name.endsWith(".face")) { + parseDefFace(f.getAbsolutePath()); + } else if (name.endsWith(".arc")) { + archetypeSet.setCurrentFile(f); + archetypeParser.parseArchetype(f.getAbsolutePath(), panelName, folderName, invObjects); + } else if (name.endsWith(".png")) { + if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { + addPNGFace(f.getAbsolutePath(), name, relativeName); + } + } + } + } + } + + /** + * Parsing face files (*.face). I think such files are no longer used and so + * is this code. + * @param filename filename + */ + private void parseDefFace(final String filename) { + try { + final Reader in = new BufferedReader(new FileReader(filename)); + try { + animationObjects.loadAnims(in, "animation ", true, filename); + } finally { + in.close(); + } + } catch (final FileNotFoundException e) { + log.warn("Error opening face file: " + e); + } catch (final IOException e) { + log.warn("Error reading face file: " + e); + } catch (AnimationParseException e) { + log.warn("Error reading face file: " + e); + } catch (DuplicateAnimationException e) { + log.warn("Error reading face file: " + e); + } + } + + /** + * Load a png from the file, convert it to IconImage and attach it to the + * facelist. + * @param filename filename, absolute path + * @param name name of the png (e.g. blocked.111.png) + * @param originalPathname the original path name + */ + private void addPNGFace(final String filename, final String name, final String originalPathname) { + final int slashPos = originalPathname.lastIndexOf('/', originalPathname.length() - 2); + assert slashPos != -1; + final String facename = generateFaceName(name); + ((ArchFaceProvider) FaceObjectProviders.normal).addInfo(facename, filename); + try { + faceObjects.addFaceObject(facename, originalPathname.substring(0, slashPos + 1) + facename, filename, 0, (int) new File(filename).length()); + } catch (final DuplicateFaceException e) { + ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + } + } + + /** + * Generate the facename for a face. + * @param name filename to generate facename from + * @return facename generated from <var>name</var> + */ + private String generateFaceName(final String name) { + if (archetypeSet.getImageSet() != null) { + // we have to snip out the imageset-information here from + // the 'name', and the ".png": (e.g. blocked.base.111.png -> blocked.111) + int firstDot = 0; + int secondDot = 0; + for (int t = 0; t < name.length() && secondDot == 0; t++) { + if (name.charAt(t) == '.') { + if (firstDot == 0) { + firstDot = t; + } else { + secondDot = t; + } + } + } + + if (firstDot != 0 && secondDot != 0) { + return name.substring(0, firstDot) + name.substring(secondDot, name.length() - 4); + } else { + return name.substring(0, name.length() - 4); + } + } + + // no image set: we need only cut off the ".png" + return name.substring(0, name.length() - 4); + } + +} // class ArchetypeSetLoader Property changes on: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 13:27:46 UTC (rev 5111) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -22,6 +22,7 @@ import daieditor.gameobject.Archetype; import daieditor.gameobject.ArchetypeParser; import daieditor.gameobject.ArchetypeSet; +import daieditor.gameobject.ArchetypeSetLoader; import daieditor.gameobject.GameObject; import daieditor.gameobject.anim.AnimationObjects; import daieditor.gameobject.face.FaceObjects; @@ -238,10 +239,15 @@ protected void init3() { } - /** {@inheritDoc} */ + /** {@inheritDoc} + * @param archetypeParser + * @param editTypes + * @param faceObjects + * @param animationObjects*/ @Override - protected void init4() { + protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects) { MultiPositionData.init(getConfigurationDirectory()); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(); } /** {@inheritDoc} */ @@ -590,7 +596,7 @@ @NotNull @Override protected ArchetypeSet newArchetypeSet(@NotNull final GlobalSettings globalSettings, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { - return new ArchetypeSet(this, globalSettings, editTypes, animationObjects, faceObjects, gridartaObjectsFactory); + return new ArchetypeSet(gridartaObjectsFactory); } } // class CMainControl Modified: trunk/daimonin/src/daieditor/gameobject/ArchetypeSet.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSet.java 2008-09-07 13:27:46 UTC (rev 5111) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSet.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -19,43 +19,22 @@ package daieditor.gameobject; -import daieditor.CMainControl; import daieditor.IGUIConstants; import daieditor.gui.map.CMapViewBasic; import daieditor.map.MapArchObject; -import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.FilenameFilter; import java.io.IOException; import java.io.OutputStreamWriter; -import java.io.Reader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import javax.swing.ImageIcon; -import net.sf.gridarta.AbstractMainControl; -import net.sf.gridarta.EditTypes; -import net.sf.gridarta.GlobalSettings; import net.sf.gridarta.GridartaObjectsFactory; -import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSet; -import net.sf.gridarta.gameobject.anim.AnimationObject; -import net.sf.gridarta.gameobject.anim.AnimationObjects; -import net.sf.gridarta.gameobject.anim.AnimationParseException; -import net.sf.gridarta.gameobject.anim.DuplicateAnimationException; -import net.sf.gridarta.gameobject.face.ArchFaceProvider; -import net.sf.gridarta.gameobject.face.DuplicateFaceException; import net.sf.gridarta.gameobject.face.FaceObjectProviders; -import net.sf.gridarta.gameobject.face.FaceObjects; import net.sf.gridarta.gui.SystemIcons; import net.sf.gridarta.io.IOUtils; import net.sf.japi.swing.ActionFactory; import net.sf.japi.swing.misc.Progress; -import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -67,55 +46,16 @@ */ public final class ArchetypeSet extends AbstractArchetypeSet<GameObject, MapArchObject, Archetype> { - /** The Logger for printing log messages. */ - private static final Logger log = Logger.getLogger(ArchetypeSet.class); - /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("daieditor"); - private final CMainControl mainControl; - /** - * The global settings instance. - */ - @NotNull - private final GlobalSettings globalSettings; - - /** The edit types instance. */ - @NotNull - private final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes; - - @NotNull - private final AnimationObjects<? extends AnimationObject> animationObjects; - - /** The FaceObjects instance to use. */ - @NotNull - private final FaceObjects faceObjects; - - /** - * The animation files. This variable is only used during arch collection - * from files. - */ - @Nullable - private List<File> animFiles; - - /** * Create the ArchetypeSet. - * @param mainControl reference to CMainControl - * @param globalSettings the global settings instance - * @param editTypes the edit types instance - * @param animationObjects the animations to use - * @param faceObjects the FaceObjects instance to use * @param gridartaObjectsFactory the gridarta objects factory instance to * use */ - public ArchetypeSet(@NotNull final CMainControl mainControl, @NotNull final GlobalSettings globalSettings, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + public ArchetypeSet(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { super(gridartaObjectsFactory); - this.mainControl = mainControl; - this.globalSettings = globalSettings; - this.editTypes = editTypes; - this.animationObjects = animationObjects; - this.faceObjects = faceObjects; } /** {@inheritDoc} */ @@ -161,327 +101,18 @@ } /** {@inheritDoc} */ - public void loadArchetypes(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser) { - final long timeStart = System.currentTimeMillis(); - if (log.isInfoEnabled()) { - log.info("Start to load archetypes..."); - } - - setLoadStatus(LoadStatus.LOADING); // status: loading - - final List<GameObject> invObjects = new ArrayList<GameObject>(); - final String fname; - // here we go... - if (globalSettings.isArchLoadedFromCollection()) { - loadArchFromCollected(archetypeParser, invObjects); // load arches & images from collection - fname = IGUIConstants.ARCH_FILE; - } else { - FaceObjectProviders.setNormal(new ArchFaceProvider()); - setLoadedFromArchive(false); // don't load from the collected files - animFiles = new ArrayList<File>(); - addPNGFace(new File(globalSettings.getArchDefaultFolder(), "dev/editor/bug.101.png").getAbsolutePath(), "bug.101.png"); - fname = globalSettings.getArchDefaultFolder(); - loadArchetypesFromFiles(archetypeParser, new File(fname), 0, "default", "default", false, invObjects); // load arches & images from individual files - loadAnimsFromFiles(); - } - reportErrors(mainControl.getMainView()); - - loadArchesFromArtifacts(archetypeParser, mainControl.getCollectedDirectory() + "/" + IGUIConstants.ARTIFACTS_FILE, "Artifacts", "artifacts", invObjects); - loadArchesFromArtifacts(archetypeParser, globalSettings.getMapDefaultFolder(), "Artifacts", "maps", invObjects); - - gridartaObjectsFactory.newGameObjectParser().collectTempList(mainControl.getMainView(), this, editTypes, invObjects, fname, true); - connectFaces(); // attach faces to arches - - // print message if no arches were found - if (getArchetypeCount() == 0) { - setLoadStatus(LoadStatus.EMPTY); // status: stack is empty - } else { - setLoadStatus(LoadStatus.COMPLETE); // status: stack completed - } - - if (log.isInfoEnabled()) { - log.info("Archetype loading took " + (System.currentTimeMillis() - timeStart) / 1000.0 + " seconds."); - } - } - - /** - * This method takes a filename or directory name as argument. In case of a - * directory it is recursivly traversed and all artifact files (*.art) get - * parsed. - * @param archetypeParser the archetype parser to use - * @param filename This can be a filename or a directory name Load "pseudo - * arches" from file "artifacts" WARNING: Don't include multi arches in the - * artifacts file This code can't handle it nor the real server - * @param panelName the panel to add artifacts to - * @param folderName the folder to add artifacts to - * @param invObjects collects all inventory objects - */ - private void loadArchesFromArtifacts(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final String filename, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects) { - final File f = new File(filename); - if (f.isDirectory()) { - // This is a directory -> only accept *.art files and directories - final String[] traverse = f.list(new FilenameFilter() { - public boolean accept(final File dir, final String name) { - final File fullPath = new File(dir, name); - // TODO: Replace this with a proper FileFilter. - return fullPath.isDirectory() && !name.equalsIgnoreCase("cvs") && !name.equalsIgnoreCase(".xvpics") && !name.equalsIgnoreCase(".svn") - || name.toLowerCase().endsWith(".art"); - } - }); - if (traverse != null) { - Arrays.sort(traverse); - for (final String entry : traverse) { - loadArchesFromArtifacts(archetypeParser, filename + "/" + entry, panelName, folderName, invObjects); - } - } - // This was a directory -> nothing to parse - return; - } - // This is an artifact file to parse - - try { - final BufferedReader myInput = new BufferedReader(new FileReader(filename)); - //Open the file for reading - try { - int editorCode = -1; - @Nullable String name = null; - @Nullable String defArchName = null; - int lineCount = 0; - - // do the actual parsing - //parseDefArchFromStream(myInput, 0); - String thisLine; - @Nullable String editorPath = null; - while ((thisLine = myInput.readLine()) != null) { - lineCount++; - thisLine = thisLine.trim(); - // ignore white space lines or '#' comment lines - if (!thisLine.startsWith("#") && thisLine.length() != 0) { - if (thisLine.startsWith("artifact ")) { - name = thisLine.substring(9); - } else if (thisLine.startsWith("def_arch ")) { - defArchName = thisLine.substring(9); - } else if (thisLine.startsWith("editor ")) { - final String editor = thisLine.substring(7); - final int tIndex = editor.indexOf(':'); - if (tIndex != -1) { - editorPath = editor.substring(tIndex + 1); - // TODO: use editorPath for determining the place of this GameObject - editorCode = Integer.parseInt(editor.substring(0, tIndex)); - } else { - editorCode = Integer.parseInt(editor); - } - } else if (thisLine.startsWith("Object")) { - if (editorCode == -1) { - // TOOD: Warn user - } - if (editorCode == 0 || editorCode == 2/* || editorCode == -1 */) { - // TODO: read until "end" - } - String objTitle = ""; - if (thisLine.length() > 7) { - objTitle = thisLine.substring(7); - } - // TODO: Allow not having a def arch - // at this point we MUST have a legal name and def arch - // TODO:Then why not check this and throw an exception if not? - final Archetype archetype = getArchetype(defArchName); - if (name == null || defArchName == null || name.length() == 0 || defArchName.length() == 0 || archetype == null) { - log.warn("Artifacts file: Line " + lineCount + " Object >" + defArchName + "< / >" + name + "< / >" + objTitle + "< has missing name or defArch"); - } else - if (editorCode != 0 && editorCode != 2) { // the next line of our file is part of a arch parse until a "end" comes - // now the editor will do the same as the real server: - // get the default arch as base and parse the new values over it - // the extended functions of the artifacts file can be ignored here. - // XXX: the cast "(GameObject) archetype" is a hack and should be removed. For now it is necessary because parseArchetypeFromStream() needs a GameObject rather than a Archetype because Archetype.clone() does not exist. - archetypeParser.parseArchetypeFromStream(myInput, editorCode == 2 ? null : (GameObject) archetype, thisLine, name, panelName, folderName, filename, invObjects); - // note: in the parser is a small part where we handle the title setting - // and the reverse type setting for type == -1 (unique items marker in artifacts file) - } else { - while ((thisLine = myInput.readLine()) != null && !thisLine.equals("end")) { - ; - } - } - name = null; - defArchName = null; - editorPath = null; - editorCode = -1; - } - } - } - } finally { - myInput.close(); - } - } catch (final FileNotFoundException e) { - log.warn("Artifacts file '" + filename + "' could not be found"); - } catch (final IOException e) { - log.warn("IOException in reading Artifacts!"); - } - } - - /** - * Load all arches and pngs from the collected files "archtypes" and - * "daimonin.0" - * @param archetypeParser the archetype parser to use - * @param invObjects collects all inventory objects - */ - private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects) { - setLoadedFromArchive(true); // load from the collected files - - try { - animationObjects.loadAnimTree(new File(mainControl.getConfigurationDirectory(), IGUIConstants.ANIMTREE_FILE)); - loadAllDaimoninAnimationsFromCollect(); - // open the resource file - final String baseDir = mainControl.getCollectedDirectory(); - final BufferedReader stream = IOUtils.createReader(baseDir, IGUIConstants.ARCH_FILE); - try { - // load all arches - archetypeParser.parseArchetypeFromStream(stream, "default", "default", IGUIConstants.ARCH_FILE, invObjects); - } finally { - stream.close(); - } - faceObjects.loadFacesCollection(new File(baseDir, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); - } catch (final IOException e) { - // TODO - log.error("Error:", e); - } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); - } - } - - /** - * Loads all archetypes and faces by recursing through the - * <code>arch/</code> directory tree. - * @param archetypeParser the archetype parser to use - * @param f file path where we currently are - * @param folderLevel level of the folder - * @param panelName the panel to add archetypes to - * @param folderName the folder to add archetypes to - * @param noPanel set this to true if the file should be omitted from the - * panel. - * @param invObjects collects all inventory objects - */ - private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, final boolean noPanel, @NotNull final List<GameObject> invObjects) { - final String name = f.getName(); - if (f.isDirectory()) { - // now, setup the arch panels - if (AbstractMainControl.arcFileFilter.accept(f) && !(folderLevel == 1 && name.equalsIgnoreCase("dev"))) { - final String[] entries = f.list(); - if (entries != null) { - Arrays.sort(entries); - } - if (!name.equalsIgnoreCase("intern") && !noPanel) { - if (entries != null) { - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, false, invObjects); - } - } else { - log.warn("NULL entries: " + f); - } - } else { - // We are in an intern folder, so no panel will be generated - if (entries != null) { - final String thisPanelName = folderLevel == 1 ? name : panelName; - final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; - for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, true, invObjects); - } - } else { - log.warn("NULL entries: " + f); - } - } - } - } else - if (f.isFile()) { // watch out for stuff that's not a file and not a directory!!! - if (name.endsWith(".arc")) { - //mainControl.setStatusText("Loading Arch: "+ name); - setCurrentFile(f); - archetypeParser.parseArchetype(f.getPath(), panelName, folderName, invObjects); - } else if (name.endsWith(".png")) { - //mainControl.setStatusText("Loading PNG: "+ name); - addPNGFace(f.getAbsolutePath(), name); - } else if (name.endsWith(".anim")) { - animFiles.add(f); - } - } - } - - /** - * This method loads animations that are separately defined by looping - * through all files that were previously collected by {@link - * #loadArchetypesFromFiles(AbstractArchetypeParser, File, int, String, - * String, boolean, List)}. Do not invoke this method if - * <code>loadArchetypesFromFiles()</code> wasn't invoked. - */ - private void loadAnimsFromFiles() { - for (final File animFile : animFiles) { - try { - animationObjects.loadAnims(animFile, "anim ", false); - } catch (final DuplicateAnimationException e) { - mainControl.handleThrowable(e); - } catch (final IOException e) { - mainControl.handleThrowable(e); - } catch (final AnimationParseException e) { - mainControl.handleThrowable(new AnimationParseException(e, animFile.toURI())); - } - } - animFiles = null; - } - - /** Loading all animations from the big collected animations file. */ - @SuppressWarnings({"InstanceMethodNamingConvention"}) - private void loadAllDaimoninAnimationsFromCollect() { - final String baseDir = mainControl.getCollectedDirectory(); - try { - final Reader in = IOUtils.createReader(baseDir, "animations"); - try { - animationObjects.loadAnims(in, "anim ", false, null); - } finally { - in.close(); - } - } catch (final DuplicateAnimationException e) { - mainControl.handleThrowable(e); - } catch (final IOException e) { - mainControl.handleThrowable(e); - } catch (final AnimationParseException e) { - mainControl.handleThrowable(new AnimationParseException(e, new File("animations").toURI())); - } - } - - /** - * Generate the facename for a face. - * @param name filename to generate facename from - * @return facename generated from <var>name</var> - */ - private static String generateFaceName(final String name) { - return name.substring(0, name.length() - 4); - } - - /** - * Load a png from the file, convert it to IconImage and attach it to the - * facelist. - * @param filename filename, absolute path - * @param name name of the png (e.g. blocked.111.png) - */ - private void addPNGFace(final String filename, final String name) { - final String facename = generateFaceName(name); - ((ArchFaceProvider) FaceObjectProviders.normal).addInfo(facename, filename); - final int stripPath = new File(mainControl.getCollectedDirectory()).getAbsolutePath().length(); - try { - faceObjects.addFaceObject(facename, filename.substring(stripPath, filename.length() - 4).replace('\\', '/'), filename, 0, (int) new File(filename).length()); - } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); - } - } - - private void connectFaces() { + public void connectFaces() { for (final Archetype arch : getArchetypes()) { arch.setObjectFace(); } } + /** {@inheritDoc} */ + @Nullable + public String getImageSet() { + return null; + } + /** {@inheritDoc} Collects the Archetypes. */ public void collect(@NotNull final Progress progress, @NotNull final File dir) throws IOException { final File dfile = new File(dir, IGUIConstants.ARCH_FILE); Added: trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java (rev 0) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:42:44 UTC (rev 5112) @@ -0,0 +1,467 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package daieditor.gameobject; + +import daieditor.CMainControl; +import daieditor.IGUIConstants; +import daieditor.gui.map.CMapViewBasic; +import daieditor.map.MapArchObject; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.Reader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import net.sf.gridarta.AbstractMainControl; +import net.sf.gridarta.EditTypes; +import net.sf.gridarta.GlobalSettings; +import net.sf.gridarta.GridartaObjectsFactory; +import net.sf.gridarta.gameobject.AbstractArchetypeParser; +import net.sf.gridarta.gameobject.AbstractArchetypeSetLoader; +import net.sf.gridarta.gameobject.ArchetypeSet; +import net.sf.gridarta.gameobject.anim.AnimationObject; +import net.sf.gridarta.gameobject.anim.AnimationObjects; +import net.sf.gridarta.gameobject.anim.AnimationParseException; +import net.sf.gridarta.gameobject.anim.DuplicateAnimationException; +import net.sf.gridarta.gameobject.face.ArchFaceProvider; +import net.sf.gridarta.gameobject.face.DuplicateFaceException; +import net.sf.gridarta.gameobject.face.FaceObjectProviders; +import net.sf.gridarta.gameobject.face.FaceObjects; +import net.sf.gridarta.io.IOUtils; +import net.sf.japi.swing.ActionFactory; +import org.apache.log4j.Logger; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Loader for archetype files. + * @author <a href="mailto:mic...@no...">Michael Toennies</a> + * @author <a href="mailto:and...@gm...">Andreas Vogl</a> + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + * @author Andreas Kirschbaum + */ +public class ArchetypeSetLoader extends AbstractArchetypeSetLoader { + + /** The Logger for printing log messages. */ + private static final Logger log = Logger.getLogger(ArchetypeSetLoader.class); + + /** Action Factory. */ + private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); + + /** + * The global settings instance. + */ + @NotNull + private final GlobalSettings globalSettings; + + /** + * The gridarta objects factory instance. + */ + @NotNull + private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; + + /** + * The main control instamce. + */ + @NotNull + private final CMainControl mainControl; + + /** + * The archetype set to update. + */ + @NotNull + pri... [truncated message content] |
From: <aki...@us...> - 2008-09-07 14:56:57
|
Revision: 5113 http://gridarta.svn.sourceforge.net/gridarta/?rev=5113&view=rev Author: akirschbaum Date: 2008-09-07 14:56:55 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove calls to MainControl.getMainView(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -184,14 +184,10 @@ scriptControl.getView().setMenu((JMenu) ACTION_FACTORY.find(getMainView().getJMenuBar(), "plugins")); } - /** {@inheritDoc} - * @param archetypeParser - * @param editTypes - * @param faceObjects - * @param animationObjects*/ + /** {@inheritDoc} */ @Override - protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects) { - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(); + protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -23,6 +23,7 @@ import cfeditor.IGUIConstants; import cfeditor.gui.map.CMapViewBasic; import cfeditor.map.MapArchObject; +import java.awt.Component; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; @@ -138,8 +139,9 @@ /** * Loads archetypes. + * @param parent the parent component for error messages */ - public void loadArchetypes() { + public void loadArchetypes(@NotNull final Component parent) { final long timeStart = System.currentTimeMillis(); if (log.isInfoEnabled()) { log.info("Start to load archetypes..."); @@ -151,17 +153,17 @@ final String fname; // here we go... if (globalSettings.isArchLoadedFromCollection()) { - loadArchFromCollected(archetypeParser, invObjects); // load arches & images from collection + loadArchFromCollected(archetypeParser, invObjects, parent); // load arches & images from collection fname = IGUIConstants.ARCH_FILE; } else { FaceObjectProviders.setNormal(new ArchFaceProvider()); archetypeSet.setLoadedFromArchive(false); // don't load from the collected files fname = globalSettings.getArchDefaultFolder(); - loadArchetypesFromFiles(archetypeParser, new File(fname), "/", 0, "default", "default", invObjects); // load arches & images from individual files + loadArchetypesFromFiles(archetypeParser, new File(fname), "/", 0, "default", "default", invObjects, parent); // load arches & images from individual files } - archetypeSet.reportErrors(mainControl.getMainView()); + archetypeSet.reportErrors(parent); - gridartaObjectsFactory.newGameObjectParser().collectTempList(mainControl.getMainView(), archetypeSet, editTypes, invObjects, fname, true); + gridartaObjectsFactory.newGameObjectParser().collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); archetypeSet.connectFaces(); // attach faces to arches // print message if no arches were found @@ -181,8 +183,9 @@ * "crossfire.0" * @param archetypeParser the archetype parser to use * @param invObjects collects all inventory objects + * @param parent the parent component for error messages */ - private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects) { + private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects, @NotNull final Component parent) { archetypeSet.setLoadedFromArchive(true); // load from the collected files try { @@ -200,7 +203,7 @@ // TODO log.error("Error:", e); } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + ACTION_FACTORY.showMessageDialog(parent, "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); } } @@ -214,8 +217,9 @@ * @param panelName the panel to add archetypes to * @param folderName the folder to add archetypes to * @param invObjects collects all inventory objects + * @param parent the parent component for error messages */ - private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final String relativeName, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects) { + private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final String relativeName, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, @NotNull final List<GameObject> invObjects, @NotNull final Component parent) { final String name = f.getName(); if (f.isDirectory()) { // now, setup the arch panels @@ -226,7 +230,7 @@ if (entries != null) { Arrays.sort(entries); for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), relativeName + entry + "/", folderLevel + 1, thisPanelName, thisFolderName, invObjects); + loadArchetypesFromFiles(archetypeParser, new File(f, entry), relativeName + entry + "/", folderLevel + 1, thisPanelName, thisFolderName, invObjects, parent); } } } @@ -239,7 +243,7 @@ archetypeParser.parseArchetype(f.getAbsolutePath(), panelName, folderName, invObjects); } else if (name.endsWith(".png")) { if (archetypeSet.getImageSet() == null || name.contains("." + archetypeSet.getImageSet() + ".")) { - addPNGFace(f.getAbsolutePath(), name, relativeName); + addPNGFace(f.getAbsolutePath(), name, relativeName, parent); } } } @@ -276,8 +280,9 @@ * @param filename filename, absolute path * @param name name of the png (e.g. blocked.111.png) * @param originalPathname the original path name + * @param parent the parent component for error messages */ - private void addPNGFace(final String filename, final String name, final String originalPathname) { + private void addPNGFace(final String filename, final String name, final String originalPathname, @NotNull final Component parent) { final int slashPos = originalPathname.lastIndexOf('/', originalPathname.length() - 2); assert slashPos != -1; final String facename = generateFaceName(name); @@ -285,7 +290,7 @@ try { faceObjects.addFaceObject(facename, originalPathname.substring(0, slashPos + 1) + facename, filename, 0, (int) new File(filename).length()); } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + ACTION_FACTORY.showMessageDialog(parent, "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); } } Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -239,15 +239,11 @@ protected void init3() { } - /** {@inheritDoc} - * @param archetypeParser - * @param editTypes - * @param faceObjects - * @param animationObjects*/ + /** {@inheritDoc} */ @Override - protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects) { + protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { MultiPositionData.init(getConfigurationDirectory()); - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -23,6 +23,7 @@ import daieditor.IGUIConstants; import daieditor.gui.map.CMapViewBasic; import daieditor.map.MapArchObject; +import java.awt.Component; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; @@ -148,8 +149,9 @@ /** * Loads archetypes. + * @param parent the parent component for error messages */ - public void loadArchetypes() { + public void loadArchetypes(@NotNull final Component parent) { final long timeStart = System.currentTimeMillis(); if (log.isInfoEnabled()) { log.info("Start to load archetypes..."); @@ -161,23 +163,23 @@ final String fname; // here we go... if (globalSettings.isArchLoadedFromCollection()) { - loadArchFromCollected(archetypeParser, invObjects); // load arches & images from collection + loadArchFromCollected(archetypeParser, invObjects, parent); // load arches & images from collection fname = IGUIConstants.ARCH_FILE; } else { FaceObjectProviders.setNormal(new ArchFaceProvider()); archetypeSet.setLoadedFromArchive(false); // don't load from the collected files animFiles = new ArrayList<File>(); - addPNGFace(new File(globalSettings.getArchDefaultFolder(), "dev/editor/bug.101.png").getAbsolutePath(), "bug.101.png"); + addPNGFace(new File(globalSettings.getArchDefaultFolder(), "dev/editor/bug.101.png").getAbsolutePath(), "bug.101.png", parent); fname = globalSettings.getArchDefaultFolder(); - loadArchetypesFromFiles(archetypeParser, new File(fname), 0, "default", "default", false, invObjects); // load arches & images from individual files + loadArchetypesFromFiles(archetypeParser, new File(fname), 0, "default", "default", false, invObjects, parent); // load arches & images from individual files loadAnimsFromFiles(); } - archetypeSet.reportErrors(mainControl.getMainView()); + archetypeSet.reportErrors(parent); loadArchesFromArtifacts(archetypeParser, mainControl.getCollectedDirectory() + "/" + IGUIConstants.ARTIFACTS_FILE, "Artifacts", "artifacts", invObjects); loadArchesFromArtifacts(archetypeParser, globalSettings.getMapDefaultFolder(), "Artifacts", "maps", invObjects); - gridartaObjectsFactory.newGameObjectParser().collectTempList(mainControl.getMainView(), archetypeSet, editTypes, invObjects, fname, true); + gridartaObjectsFactory.newGameObjectParser().collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); archetypeSet.connectFaces(); // attach faces to arches // print message if no arches were found @@ -197,8 +199,9 @@ * "crossfire.0" * @param archetypeParser the archetype parser to use * @param invObjects collects all inventory objects + * @param parent the parent component for error messages */ - private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects) { + private void loadArchFromCollected(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final List<GameObject> invObjects, @NotNull final Component parent) { archetypeSet.setLoadedFromArchive(true); // load from the collected files try { @@ -218,7 +221,7 @@ // TODO log.error("Error:", e); } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + ACTION_FACTORY.showMessageDialog(parent, "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); } } @@ -233,8 +236,9 @@ * @param noPanel set this to true if the file should be omitted from the * panel. * @param invObjects collects all inventory objects + * @param parent the parent component for error messages */ - private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, final boolean noPanel, @NotNull final List<GameObject> invObjects) { + private void loadArchetypesFromFiles(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, final File f, final int folderLevel, @NotNull final String panelName, @NotNull final String folderName, final boolean noPanel, @NotNull final List<GameObject> invObjects, @NotNull final Component parent) { final String name = f.getName(); if (f.isDirectory()) { // now, setup the arch panels @@ -248,7 +252,7 @@ final String thisPanelName = folderLevel == 1 ? name : panelName; final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, false, invObjects); + loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, false, invObjects, parent); } } else { log.warn("NULL entries: " + f); @@ -259,7 +263,7 @@ final String thisPanelName = folderLevel == 1 ? name : panelName; final String thisFolderName = folderLevel == 1 || folderLevel == 2 ? name : folderName; for (final String entry : entries) { - loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, true, invObjects); + loadArchetypesFromFiles(archetypeParser, new File(f, entry), folderLevel + 1, thisPanelName, thisFolderName, true, invObjects, parent); } } else { log.warn("NULL entries: " + f); @@ -274,7 +278,7 @@ archetypeParser.parseArchetype(f.getPath(), panelName, folderName, invObjects); } else if (name.endsWith(".png")) { //mainControl.setStatusText("Loading PNG: "+ name); - addPNGFace(f.getAbsolutePath(), name); + addPNGFace(f.getAbsolutePath(), name, parent); } else if (name.endsWith(".anim")) { animFiles.add(f); } @@ -401,15 +405,16 @@ * facelist. * @param filename filename, absolute path * @param name name of the png (e.g. blocked.111.png) + * @param parent the parent component for error messages */ - private void addPNGFace(final String filename, final String name) { + private void addPNGFace(final String filename, final String name, @NotNull final Component parent) { final String facename = generateFaceName(name); ((ArchFaceProvider) FaceObjectProviders.normal).addInfo(facename, filename); final int stripPath = new File(mainControl.getCollectedDirectory()).getAbsolutePath().length(); try { faceObjects.addFaceObject(facename, filename.substring(stripPath, filename.length() - 4).replace('\\', '/'), filename, 0, (int) new File(filename).length()); } catch (final DuplicateFaceException e) { - ACTION_FACTORY.showMessageDialog(mainControl.getMainView(), "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); + ACTION_FACTORY.showMessageDialog(parent, "loadDuplicateFace", e.getDuplicate().getFaceName(), e.getDuplicate().getOriginalFilename(), e.getExisting().getOriginalFilename()); } } @@ -426,7 +431,7 @@ * This method loads animations that are separately defined by looping * through all files that were previously collected by {@link * #loadArchetypesFromFiles(AbstractArchetypeParser, File, int, String, - * String, boolean, List)}. Do not invoke this method if + * String, boolean, List, Component)}. Do not invoke this method if * <code>loadArchetypesFromFiles()</code> wasn't invoked. */ private void loadAnimsFromFiles() { Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -438,7 +438,7 @@ gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeParser, archetypeSet, toolPalette); mapControlFactory.init(gridartaObjectsFactory, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); - init4(archetypeParser, editTypes, faceObjects, animationObjects); + init4(archetypeParser, editTypes, faceObjects, animationObjects, mainView); if (globalSettings.isAutoPopupDocu()) { // do an automated help popup because the docu version has increased @@ -488,7 +488,7 @@ protected abstract void init3(); - protected abstract void init4(@NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects); + protected abstract void init4(@NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView); protected abstract void deleteLibraries(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-07 14:42:44 UTC (rev 5112) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-07 14:56:55 UTC (rev 5113) @@ -530,13 +530,9 @@ throw new AssertionError(); } - /** {@inheritDoc} - * @param archetypeParser - * @param editTypes - * @param faceObjects - * @param animationObjects*/ + /** {@inheritDoc} */ @Override - protected void init4(@NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + protected void init4(@NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 15:01:52
|
Revision: 5114 http://gridarta.svn.sourceforge.net/gridarta/?rev=5114&view=rev Author: akirschbaum Date: 2008-09-07 15:01:58 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove calls to MainControl.getCollectedDirectory(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 14:56:55 UTC (rev 5113) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 15:01:58 UTC (rev 5114) @@ -187,7 +187,7 @@ /** {@inheritDoc} */ @Override protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, getCollectedDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:56:55 UTC (rev 5113) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:01:58 UTC (rev 5114) @@ -86,6 +86,12 @@ private final CMainControl mainControl; /** + * The collected directory. + */ + @NotNull + private final String collectedDirectory; + + /** * The archetype set to update. */ @NotNull @@ -120,16 +126,18 @@ * @param globalSettings the global settings instance * @param gridartaObjectsFactory the gridarta objects factory instance * @param mainControl the main control instance + * @param collectedDirectory the collected directory * @param archetypeSet the archetype set to update * @param archetypeParser the archetype parser to use * @param editTypes the edit types instance * @param faceObjects the face objects instance * @param animationObjects the animation objects instance */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final String collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { this.globalSettings = globalSettings; this.gridartaObjectsFactory = gridartaObjectsFactory; this.mainControl = mainControl; + this.collectedDirectory = collectedDirectory; this.archetypeSet = archetypeSet; this.archetypeParser = archetypeParser; this.editTypes = editTypes; @@ -190,15 +198,14 @@ try { // open the resource file - final String baseDir = mainControl.getCollectedDirectory(); - final BufferedReader stream = IOUtils.createReader(baseDir, IGUIConstants.ARCH_FILE); + final BufferedReader stream = IOUtils.createReader(collectedDirectory, IGUIConstants.ARCH_FILE); try { // load all arches archetypeParser.parseArchetypeFromStream(stream, "default", "default", null, invObjects); } finally { stream.close(); } - faceObjects.loadFacesCollection(new File(baseDir, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); + faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); } catch (final IOException e) { // TODO log.error("Error:", e); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 14:56:55 UTC (rev 5113) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 15:01:58 UTC (rev 5114) @@ -243,7 +243,7 @@ @Override protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { MultiPositionData.init(getConfigurationDirectory()); - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, getCollectedDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 14:56:55 UTC (rev 5113) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:01:58 UTC (rev 5114) @@ -89,6 +89,12 @@ private final CMainControl mainControl; /** + * The collected directory. + */ + @NotNull + private final String collectedDirectory; + + /** * The archetype set to update. */ @NotNull @@ -130,16 +136,18 @@ * @param globalSettings the global settings instance * @param gridartaObjectsFactory the gridarta objects factory instance * @param mainControl the main control instance + * @param collectedDirectory the collected directory * @param archetypeSet the archetype set to update * @param archetypeParser the archetype parser to use * @param editTypes the edit types instance * @param faceObjects the face objects instance * @param animationObjects the animation objects instance */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final String collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { this.globalSettings = globalSettings; this.gridartaObjectsFactory = gridartaObjectsFactory; this.mainControl = mainControl; + this.collectedDirectory = collectedDirectory; this.archetypeSet = archetypeSet; this.archetypeParser = archetypeParser; this.editTypes = editTypes; @@ -176,7 +184,7 @@ } archetypeSet.reportErrors(parent); - loadArchesFromArtifacts(archetypeParser, mainControl.getCollectedDirectory() + "/" + IGUIConstants.ARTIFACTS_FILE, "Artifacts", "artifacts", invObjects); + loadArchesFromArtifacts(archetypeParser, collectedDirectory + "/" + IGUIConstants.ARTIFACTS_FILE, "Artifacts", "artifacts", invObjects); loadArchesFromArtifacts(archetypeParser, globalSettings.getMapDefaultFolder(), "Artifacts", "maps", invObjects); gridartaObjectsFactory.newGameObjectParser().collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); @@ -208,15 +216,14 @@ animationObjects.loadAnimTree(new File(mainControl.getConfigurationDirectory(), IGUIConstants.ANIMTREE_FILE)); loadAllDaimoninAnimationsFromCollect(); // open the resource file - final String baseDir = mainControl.getCollectedDirectory(); - final BufferedReader stream = IOUtils.createReader(baseDir, IGUIConstants.ARCH_FILE); + final BufferedReader stream = IOUtils.createReader(collectedDirectory, IGUIConstants.ARCH_FILE); try { // load all arches archetypeParser.parseArchetypeFromStream(stream, "default", "default", IGUIConstants.ARCH_FILE, invObjects); } finally { stream.close(); } - faceObjects.loadFacesCollection(new File(baseDir, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); + faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); } catch (final IOException e) { // TODO log.error("Error:", e); @@ -410,7 +417,7 @@ private void addPNGFace(final String filename, final String name, @NotNull final Component parent) { final String facename = generateFaceName(name); ((ArchFaceProvider) FaceObjectProviders.normal).addInfo(facename, filename); - final int stripPath = new File(mainControl.getCollectedDirectory()).getAbsolutePath().length(); + final int stripPath = new File(collectedDirectory).getAbsolutePath().length(); try { faceObjects.addFaceObject(facename, filename.substring(stripPath, filename.length() - 4).replace('\\', '/'), filename, 0, (int) new File(filename).length()); } catch (final DuplicateFaceException e) { @@ -452,9 +459,8 @@ /** Loading all animations from the big collected animations file. */ @SuppressWarnings({"InstanceMethodNamingConvention"}) private void loadAllDaimoninAnimationsFromCollect() { - final String baseDir = mainControl.getCollectedDirectory(); try { - final Reader in = IOUtils.createReader(baseDir, "animations"); + final Reader in = IOUtils.createReader(collectedDirectory, "animations"); try { animationObjects.loadAnims(in, "anim ", false, null); } finally { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-07 15:06:17
|
Revision: 5115 http://gridarta.svn.sourceforge.net/gridarta/?rev=5115&view=rev Author: akirschbaum Date: 2008-09-07 15:06:24 +0000 (Sun, 07 Sep 2008) Log Message: ----------- Remove calls to MainControl.getConfigurationDirectory(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 15:01:58 UTC (rev 5114) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-07 15:06:24 UTC (rev 5115) @@ -187,7 +187,7 @@ /** {@inheritDoc} */ @Override protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, getCollectedDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:01:58 UTC (rev 5114) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:06:24 UTC (rev 5115) @@ -19,7 +19,6 @@ package cfeditor.gameobject; -import cfeditor.CMainControl; import cfeditor.IGUIConstants; import cfeditor.gui.map.CMapViewBasic; import cfeditor.map.MapArchObject; @@ -80,16 +79,16 @@ private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; /** - * The main control instamce. + * The collected directory. */ @NotNull - private final CMainControl mainControl; + private final String collectedDirectory; /** * The collected directory. */ @NotNull - private final String collectedDirectory; + private final String configurationDirectory; /** * The archetype set to update. @@ -125,19 +124,19 @@ * Creates a new instance. * @param globalSettings the global settings instance * @param gridartaObjectsFactory the gridarta objects factory instance - * @param mainControl the main control instance * @param collectedDirectory the collected directory + * @param configurationDirectory the configuration directory * @param archetypeSet the archetype set to update * @param archetypeParser the archetype parser to use * @param editTypes the edit types instance * @param faceObjects the face objects instance * @param animationObjects the animation objects instance */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final String collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { this.globalSettings = globalSettings; this.gridartaObjectsFactory = gridartaObjectsFactory; - this.mainControl = mainControl; this.collectedDirectory = collectedDirectory; + this.configurationDirectory = configurationDirectory; this.archetypeSet = archetypeSet; this.archetypeParser = archetypeParser; this.editTypes = editTypes; @@ -205,7 +204,7 @@ } finally { stream.close(); } - faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); + faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(configurationDirectory, IGUIConstants.FACETREE_FILE)); } catch (final IOException e) { // TODO log.error("Error:", e); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 15:01:58 UTC (rev 5114) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-07 15:06:24 UTC (rev 5115) @@ -243,7 +243,7 @@ @Override protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { MultiPositionData.init(getConfigurationDirectory()); - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, getCollectedDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); + new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, this, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:01:58 UTC (rev 5114) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-07 15:06:24 UTC (rev 5115) @@ -95,6 +95,12 @@ private final String collectedDirectory; /** + * The configuration directory. + */ + @NotNull + private final String configurationDirectory; + + /** * The archetype set to update. */ @NotNull @@ -137,17 +143,19 @@ * @param gridartaObjectsFactory the gridarta objects factory instance * @param mainControl the main control instance * @param collectedDirectory the collected directory + * @param configurationDirectory the configuration directory * @param archetypeSet the archetype set to update * @param archetypeParser the archetype parser to use * @param editTypes the edit types instance * @param faceObjects the face objects instance * @param animationObjects the animation objects instance */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final String collectedDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final CMainControl mainControl, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { this.globalSettings = globalSettings; this.gridartaObjectsFactory = gridartaObjectsFactory; this.mainControl = mainControl; this.collectedDirectory = collectedDirectory; + this.configurationDirectory = configurationDirectory; this.archetypeSet = archetypeSet; this.archetypeParser = archetypeParser; this.editTypes = editTypes; @@ -213,7 +221,7 @@ archetypeSet.setLoadedFromArchive(true); // load from the collected files try { - animationObjects.loadAnimTree(new File(mainControl.getConfigurationDirectory(), IGUIConstants.ANIMTREE_FILE)); + animationObjects.loadAnimTree(new File(configurationDirectory, IGUIConstants.ANIMTREE_FILE)); loadAllDaimoninAnimationsFromCollect(); // open the resource file final BufferedReader stream = IOUtils.createReader(collectedDirectory, IGUIConstants.ARCH_FILE); @@ -223,7 +231,7 @@ } finally { stream.close(); } - faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(mainControl.getConfigurationDirectory(), IGUIConstants.FACETREE_FILE)); + faceObjects.loadFacesCollection(new File(collectedDirectory, IGUIConstants.PNG_FILE), new File(configurationDirectory, IGUIConstants.FACETREE_FILE)); } catch (final IOException e) { // TODO log.error("Error:", e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-13 11:51:44
|
Revision: 5122 http://gridarta.svn.sourceforge.net/gridarta/?rev=5122&view=rev Author: akirschbaum Date: 2008-09-13 11:51:51 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Remove ArchetypeParser.expandMulti(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java trunk/crossfire/src/cfeditor/io/GameObjectParser.java trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java trunk/daimonin/src/daieditor/io/GameObjectParser.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeParser.java trunk/src/app/net/sf/gridarta/gameobject/ArchetypeParser.java trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java =================================================================== --- trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -35,7 +35,6 @@ import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.MainControl; import net.sf.gridarta.MapImageCache; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.face.FaceObjects; import net.sf.gridarta.gui.MainView; @@ -77,10 +76,6 @@ @NotNull private MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache = null; - /** The {@link ArchetypeParser} instance to use. */ - @NotNull - private ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser = null; - /** The {@link ArchetypeSet} instance. */ @NotNull private ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet = null; @@ -127,7 +122,7 @@ /** {@inheritDoc} */ public GameObjectParser newGameObjectParser() { - return new GameObjectParser(this, archetypeParser); + return new GameObjectParser(this); } /** {@inheritDoc} */ @@ -137,12 +132,11 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { this.selectedSquareView = selectedSquareView; this.mainView = mainView; this.editTypes = editTypes; this.mapImageCache = mapImageCache; - this.archetypeParser = archetypeParser; this.archetypeSet = archetypeSet; this.toolPalette = toolPalette; } Modified: trunk/crossfire/src/cfeditor/io/GameObjectParser.java =================================================================== --- trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -29,7 +29,6 @@ import java.util.Map; import java.util.TreeMap; import java.util.regex.Pattern; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.io.AbstractGameObjectParser; import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -333,10 +332,9 @@ * Create a new instance. * @param gridartaObjectsFactory The gridarta objects factory for creating * new game object instances. - * @param archetypeParser the archetype parser to use */ - public GameObjectParser(@NotNull final CrossfireObjectsFactory gridartaObjectsFactory, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser) { - super(gridartaObjectsFactory, archetypeParser); + public GameObjectParser(@NotNull final CrossfireObjectsFactory gridartaObjectsFactory) { + super(gridartaObjectsFactory); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java =================================================================== --- trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -35,7 +35,6 @@ import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.MainControl; import net.sf.gridarta.MapImageCache; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.face.FaceObjects; import net.sf.gridarta.gui.MainView; @@ -84,10 +83,6 @@ @NotNull private MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache = null; - /** The {@link ArchetypeParser} instance to use. */ - @NotNull - private ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser = null; - /** The {@link ArchetypeSet} instance. */ @NotNull private ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet = null; @@ -131,7 +126,7 @@ /** {@inheritDoc} */ public GameObjectParser newGameObjectParser() { - return new GameObjectParser(this, archetypeParser); + return new GameObjectParser(this); } /** {@inheritDoc} */ @@ -141,14 +136,13 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView, @NotNull final MainControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mainControl, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final ToolPalette<GameObject, MapArchObject, Archetype, CMapViewBasic> toolPalette) { this.faceObjects = faceObjects; this.selectedSquareView = selectedSquareView; this.mainControl = mainControl; this.mainView = mainView; this.editTypes = editTypes; this.mapImageCache = mapImageCache; - this.archetypeParser = archetypeParser; this.archetypeSet = archetypeSet; this.toolPalette = toolPalette; } Modified: trunk/daimonin/src/daieditor/io/GameObjectParser.java =================================================================== --- trunk/daimonin/src/daieditor/io/GameObjectParser.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/daimonin/src/daieditor/io/GameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -25,7 +25,6 @@ import daieditor.map.MapArchObject; import java.io.IOException; import java.util.Formatter; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.io.AbstractGameObjectParser; import org.jetbrains.annotations.NotNull; @@ -40,10 +39,9 @@ * Create a new instance. * @param gridartaObjectsFactory The gridarta objects factory for creating * new game object instances. - * @param archetypeParser the archetype parser to use */ - public GameObjectParser(@NotNull final DaimoninObjectsFactory gridartaObjectsFactory, @NotNull final ArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser) { - super(gridartaObjectsFactory, archetypeParser); + public GameObjectParser(@NotNull final DaimoninObjectsFactory gridartaObjectsFactory) { + super(gridartaObjectsFactory); } /** {@inheritDoc} */ Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -435,7 +435,7 @@ mapActions.updateMenuState(); init3(); final AbstractArchetypeParser<G, A, R> archetypeParser = newArchetypeParser(gridartaObjectsFactory, archetypeChooserControl, animationObjects, archetypeSet); - gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeParser, archetypeSet, toolPalette); + gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeSet, toolPalette); mapControlFactory.init(gridartaObjectsFactory, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); init4(archetypeParser, editTypes, faceObjects, animationObjects, mainView); Modified: trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java =================================================================== --- trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -23,7 +23,6 @@ import java.io.File; import java.io.FileNotFoundException; import net.sf.gridarta.gameobject.Archetype; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gameobject.face.FaceObjects; @@ -110,10 +109,9 @@ * @param mainView the main view instance * @param editTypes the edit types instance * @param mapImageCache the map image cache instance - * @param archetypeParser the archetype parser instance * @param archetypeSet the archetype set instance * @param toolPalette the tool palette instance */ - void init(@NotNull FaceObjects faceObjects, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull MainControl<G, A, R, V> mainControl, @NotNull MainView<G, A, R, V> mainView, @NotNull EditTypes<G, A, R, V> editTypes, @NotNull MapImageCache<G, A, R, V> mapImageCache, @NotNull ArchetypeParser<G, A, R> archetypeParser, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull ToolPalette<G, A, R, V> toolPalette); + void init(@NotNull FaceObjects faceObjects, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull MainControl<G, A, R, V> mainControl, @NotNull MainView<G, A, R, V> mainView, @NotNull EditTypes<G, A, R, V> editTypes, @NotNull MapImageCache<G, A, R, V> mapImageCache, @NotNull ArchetypeSet<G, A, R> archetypeSet, @NotNull ToolPalette<G, A, R, V> toolPalette); } // interface GridartaObjectsFactory Modified: trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeParser.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeParser.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/app/net/sf/gridarta/gameobject/AbstractArchetypeParser.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -68,37 +68,4 @@ } } - /** {@inheritDoc} */ - public void expandMulti(final G gameObject, final List<G> objects) { - final Archetype<G, A, R> archetype = gameObject.getArchetype(); - - // is it a multi head (without any tail parts)? - if (!archetype.isMulti() || gameObject.getMultiRefCount() > 1) { - return; - } - - if (gameObject.isInContainer()) { - log.warn("Multipart expansion for a GameObject inside a container requested."); - return; - } - - // we have a multi head and need to insert his tail now - - // do insertion for all non-head parts of the multi - for (G oldPart = archetype.getMultiNext(); oldPart != null; oldPart = oldPart.getMultiNext()) { - final G newarch = oldPart.createGameObject(); - - gameObject.addTailPart(newarch); - objects.add(newarch); - - // set map position (x, y) - newarch.setMapX(gameObject.getMapX() + newarch.getMultiX()); - newarch.setMapY(gameObject.getMapY() + newarch.getMultiY()); - - // now attach the default arch and stuff - // (don't need edit type as we copy from head) - newarch.postParseGameObject(0); - } - } - } // class AbstractArchetypeParser Modified: trunk/src/app/net/sf/gridarta/gameobject/ArchetypeParser.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/ArchetypeParser.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/app/net/sf/gridarta/gameobject/ArchetypeParser.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -36,19 +36,6 @@ String STARTARCH_NAME = "map"; /** - * If the given gameObject is a multipart head, we generate the appropriate - * tail (from the archetype stack) and attach it. The new gameObjects get - * added to the temp list, not a map. This method should only be called - * after map-loading. The ArchetypeSet should be fully initialized at this - * point. - * @param gameObject multipart head that needs tail attached - * @param objects list with objects that should get the tails attached - * @todo think whether expanding multiparts here is a good idea, maybe - * MapModel is a better place. - */ - void expandMulti(G gameObject, List<G> objects); - - /** * Read an Archetype from a file. * @param fname filename of the archetype definition file (*.arc) * @param panelName the panel name to add the archetype to Modified: trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java =================================================================== --- trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -30,11 +30,11 @@ import net.sf.gridarta.EditTypes; import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.gameobject.Archetype; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.map.MapArchObject; import net.sf.japi.swing.ActionFactory; +import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -47,6 +47,9 @@ */ public abstract class AbstractGameObjectParser<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> implements GameObjectParser<G, A, R> { + /** The Logger for printing log messages. */ + private static final Logger log = Logger.getLogger(AbstractGameObjectParser.class); + /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("net.sf.gridarta"); @@ -54,19 +57,13 @@ @NotNull private final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory; - /** The archetype parser to use. */ - @NotNull - private final ArchetypeParser<G, A, R> archetypeParser; - /** * Create a new instance. * @param gridartaObjectsFactory The gridarta objects factory for creating * new game object instances. - * @param archetypeParser the archetype parser to use */ - protected AbstractGameObjectParser(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory, @NotNull final ArchetypeParser<G, A, R> archetypeParser) { + protected AbstractGameObjectParser(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory) { this.gridartaObjectsFactory = gridartaObjectsFactory; - this.archetypeParser = archetypeParser; } /** {@inheritDoc} */ @@ -200,7 +197,7 @@ gameObject.setObjectFace(); if (!gameObject.isInContainer()) { - archetypeParser.expandMulti(gameObject, tailList); + expandMulti(gameObject, tailList); } } @@ -219,4 +216,47 @@ } } + /** + * If the given gameObject is a multipart head, we generate the appropriate + * tail (from the archetype stack) and attach it. The new gameObjects get + * added to the temp list, not a map. This method should only be called + * after map-loading. The ArchetypeSet should be fully initialized at this + * point. + * @param gameObject multipart head that needs tail attached + * @param objects list with objects that should get the tails attached + * @todo think whether expanding multiparts here is a good idea, maybe + * MapModel is a better place. + */ + private void expandMulti(final G gameObject, final List<G> objects) { + final Archetype<G, A, R> archetype = gameObject.getArchetype(); + + // is it a multi head (without any tail parts)? + if (!archetype.isMulti() || gameObject.getMultiRefCount() > 1) { + return; + } + + if (gameObject.isInContainer()) { + log.warn("Multipart expansion for a GameObject inside a container requested."); + return; + } + + // we have a multi head and need to insert his tail now + + // do insertion for all non-head parts of the multi + for (G oldPart = archetype.getMultiNext(); oldPart != null; oldPart = oldPart.getMultiNext()) { + final G newarch = oldPart.createGameObject(); + + gameObject.addTailPart(newarch); + objects.add(newarch); + + // set map position (x, y) + newarch.setMapX(gameObject.getMapX() + newarch.getMultiX()); + newarch.setMapY(gameObject.getMapY() + newarch.getMultiY()); + + // now attach the default arch and stuff + // (don't need edit type as we copy from head) + newarch.postParseGameObject(0); + } + } + } // class AbstractGameObjectParser Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-07 15:23:27 UTC (rev 5121) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 11:51:51 UTC (rev 5122) @@ -52,7 +52,6 @@ import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSet; import net.sf.gridarta.gameobject.Archetype; -import net.sf.gridarta.gameobject.ArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; import net.sf.gridarta.gameobject.anim.AbstractAnimationObject; @@ -975,7 +974,7 @@ } /** {@inheritDoc} */ - public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> selectedSquareView, @NotNull final MainControl<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainControl, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final MapImageCache<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapImageCache, @NotNull final ArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final ToolPalette<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> toolPalette) { + public void init(@NotNull final FaceObjects faceObjects, @NotNull final SelectedSquareView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> selectedSquareView, @NotNull final MainControl<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainControl, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final MapImageCache<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapImageCache, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final ToolPalette<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> toolPalette) { throw new AssertionError(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-13 12:26:30
|
Revision: 5123 http://gridarta.svn.sourceforge.net/gridarta/?rev=5123&view=rev Author: akirschbaum Date: 2008-09-13 12:26:36 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Remove GridartaObjectsFactory.newGameObject() and GridartaObjectsFactory.newGameObjectParser(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java trunk/crossfire/src/cfeditor/io/GameObjectParser.java trunk/crossfire/src/cfeditor/map/DefaultMapControlFactory.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java trunk/daimonin/src/daieditor/io/GameObjectParser.java trunk/daimonin/src/daieditor/map/DefaultMapControlFactory.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java trunk/src/app/net/sf/gridarta/io/DefaultMapReader.java trunk/src/app/net/sf/gridarta/io/DefaultMapWriter.java trunk/src/app/net/sf/gridarta/map/DefaultMapControl.java trunk/src/app/net/sf/gridarta/map/MapControlFactory.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Added Paths: ----------- trunk/crossfire/src/cfeditor/gameobject/CrossfireGameObjectFactory.java trunk/daimonin/src/daieditor/gameobject/DaimoninGameObjectFactory.java trunk/src/app/net/sf/gridarta/gameobject/GameObjectFactory.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -24,6 +24,7 @@ import cfeditor.gameobject.ArchetypeParser; import cfeditor.gameobject.ArchetypeSet; import cfeditor.gameobject.ArchetypeSetLoader; +import cfeditor.gameobject.CrossfireGameObjectFactory; import cfeditor.gameobject.GameObject; import cfeditor.gameobject.anim.AnimationObjects; import cfeditor.gameobject.face.FaceObjects; @@ -53,6 +54,7 @@ import net.sf.gridarta.MapManager; import net.sf.gridarta.archtype.ArchetypeTypeSet; import net.sf.gridarta.gameobject.AbstractArchetypeParser; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.gameobject.anim.AnimationObject; import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.MainView; @@ -70,6 +72,7 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.io.ConfigFileUtils; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.map.validation.DelegatingMapValidator; import net.sf.gridarta.map.validation.checks.AttributeRangeChecker; import net.sf.gridarta.map.validation.checks.ConnectedInsideContainerChecker; @@ -120,12 +123,26 @@ } /** {@inheritDoc} */ + @NotNull @Override - protected AbstractArchetypeParser<GameObject, MapArchObject, Archetype> newArchetypeParser(final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { - return new ArchetypeParser(gridartaObjectsFactory, archetypeChooserControl, animationObjects, archetypeSet); + protected GameObjectFactory<GameObject, MapArchObject, Archetype> newGameObjectFactory() { + return new CrossfireGameObjectFactory(); } /** {@inheritDoc} */ + @NotNull + @Override + protected GameObjectParser<GameObject, MapArchObject, Archetype> newGameObjectParser(@NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory) { + return new cfeditor.io.GameObjectParser(gameObjectFactory); + } + + /** {@inheritDoc} */ + @Override + protected AbstractArchetypeParser<GameObject, MapArchObject, Archetype> newArchetypeParser(final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { + return new ArchetypeParser(gameObjectParser, archetypeChooserControl, animationObjects, archetypeSet); + } + + /** {@inheritDoc} */ protected void createActions() { } @@ -186,8 +203,8 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { + new ArchetypeSetLoader(globalSettings, gameObjectParser, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java =================================================================== --- trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/CrossfireObjectsFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -20,6 +20,7 @@ package cfeditor; import cfeditor.gameobject.Archetype; +import cfeditor.gameobject.CrossfireGameObjectFactory; import cfeditor.gameobject.GameObject; import cfeditor.gameobject.UndefinedArchetype; import cfeditor.gui.map.CMapViewBasic; @@ -89,12 +90,6 @@ /** {@inheritDoc} */ @NotNull - public GameObject newGameObject() { - return new GameObject(); - } - - /** {@inheritDoc} */ - @NotNull public MapArchObject newMapArchObject(final boolean addDefaultAttributes) { final MapArchObject mapArchObject = new MapArchObject(); if (addDefaultAttributes) { @@ -106,7 +101,7 @@ /** {@inheritDoc} */ @NotNull public MapReader<GameObject, MapArchObject> newMapReader(@NotNull final File file) throws FileNotFoundException { - return new DefaultMapReader<GameObject, MapArchObject, Archetype>(this, mainView, archetypeSet, editTypes, file); + return new DefaultMapReader<GameObject, MapArchObject, Archetype>(this, new GameObjectParser(new CrossfireGameObjectFactory()), mainView, archetypeSet, editTypes, file); } /** {@inheritDoc} */ @@ -121,11 +116,6 @@ } /** {@inheritDoc} */ - public GameObjectParser newGameObjectParser() { - return new GameObjectParser(this); - } - - /** {@inheritDoc} */ @NotNull public MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapView(@NotNull final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, @Nullable final Point viewPosition, final int viewCounter) { return new MapView<GameObject, MapArchObject, Archetype, CMapViewBasic>(mainView, mapControl, viewCounter, new CMapViewBasic(filterControl, editTypes, mapControl, viewPosition, toolPalette, 32, 32, selectedSquareView), ACTION_FACTORY, mapImageCache); Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeParser.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -25,12 +25,12 @@ import java.io.File; import java.io.IOException; import java.util.List; -import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.anim.AnimationObjects; import net.sf.gridarta.gameobject.anim.DuplicateAnimationException; import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserControl; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.io.PathManager; import net.sf.japi.swing.ActionFactory; import org.apache.log4j.Logger; @@ -55,9 +55,9 @@ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("cfeditor"); /** - * The gridarta objects factory instance. + * The game object parser instance. */ - private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; + private final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser; /** * The animation objects instance. @@ -73,15 +73,14 @@ /** * Creates an ArchetypeParser. - * @param gridartaObjectsFactory the gridarta objects factory instance to - * use + * @param gameObjectParser the game object parser instance to use * @param archetypeChooserControl an archetype chooser to add parsed * archetypes to * @param animationObjects the animation objects instance to use * @param archetypeSet the archetype set */ - public ArchetypeParser(final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final AnimationObjects<?> animationObjects, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { - this.gridartaObjectsFactory = gridartaObjectsFactory; + public ArchetypeParser(final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final AnimationObjects<?> animationObjects, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { + this.gameObjectParser = gameObjectParser; this.archetypeChooserControl = archetypeChooserControl; this.animationObjects = animationObjects; this.archetypeSet = archetypeSet; @@ -204,7 +203,7 @@ } else if (thisLine.startsWith("Object ")) { log.warn(ACTION_FACTORY.format("logInventoryInDefArch", thisLine)); } else if (thisLine.startsWith("arch ")) { - final GameObject invObject = gridartaObjectsFactory.newGameObjectParser().load(in, thisLine, invObjects); + final GameObject invObject = gameObjectParser.load(in, thisLine, invObjects); assert invObject != null; archetype.addLast(invObject); } else if (thisLine.equals("end")) { Modified: trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/gameobject/ArchetypeSetLoader.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -34,7 +34,6 @@ import java.util.List; import net.sf.gridarta.EditTypes; import net.sf.gridarta.GlobalSettings; -import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSetLoader; import net.sf.gridarta.gameobject.ArchetypeSet; @@ -46,6 +45,7 @@ import net.sf.gridarta.gameobject.face.DuplicateFaceException; import net.sf.gridarta.gameobject.face.FaceObjectProviders; import net.sf.gridarta.gameobject.face.FaceObjects; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.io.IOUtils; import net.sf.japi.swing.ActionFactory; import org.apache.log4j.Logger; @@ -73,10 +73,10 @@ private final GlobalSettings globalSettings; /** - * The gridarta objects factory instance. + * The game object parser instance. */ @NotNull - private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; + private final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser; /** * The collected directory. @@ -123,7 +123,7 @@ /** * Creates a new instance. * @param globalSettings the global settings instance - * @param gridartaObjectsFactory the gridarta objects factory instance + * @param gameObjectParser the game object parser instance * @param collectedDirectory the collected directory * @param configurationDirectory the configuration directory * @param archetypeSet the archetype set to update @@ -132,9 +132,9 @@ * @param faceObjects the face objects instance * @param animationObjects the animation objects instance */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects) { this.globalSettings = globalSettings; - this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; this.collectedDirectory = collectedDirectory; this.configurationDirectory = configurationDirectory; this.archetypeSet = archetypeSet; @@ -170,7 +170,7 @@ } archetypeSet.reportErrors(parent); - gridartaObjectsFactory.newGameObjectParser().collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); + gameObjectParser.collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); archetypeSet.connectFaces(); // attach faces to arches // print message if no arches were found Added: trunk/crossfire/src/cfeditor/gameobject/CrossfireGameObjectFactory.java =================================================================== --- trunk/crossfire/src/cfeditor/gameobject/CrossfireGameObjectFactory.java (rev 0) +++ trunk/crossfire/src/cfeditor/gameobject/CrossfireGameObjectFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -0,0 +1,38 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package cfeditor.gameobject; + +import cfeditor.map.MapArchObject; +import net.sf.gridarta.gameobject.GameObjectFactory; +import org.jetbrains.annotations.NotNull; + +/** + * The {@link GameObjectFactory} to create Crossfire related game objects. + * @author Andreas Kirschbaum + */ +public class CrossfireGameObjectFactory implements GameObjectFactory<GameObject, MapArchObject, Archetype> { + + /** {@inheritDoc} */ + @NotNull + public GameObject newGameObject() { + return new GameObject(); + } + +} // class CrossfireGameObjectFactory Property changes on: trunk/crossfire/src/cfeditor/gameobject/CrossfireGameObjectFactory.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/crossfire/src/cfeditor/io/GameObjectParser.java =================================================================== --- trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/io/GameObjectParser.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -19,7 +19,6 @@ package cfeditor.io; -import cfeditor.CrossfireObjectsFactory; import cfeditor.gameobject.Archetype; import cfeditor.gameobject.GameObject; import cfeditor.map.MapArchObject; @@ -29,6 +28,7 @@ import java.util.Map; import java.util.TreeMap; import java.util.regex.Pattern; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.io.AbstractGameObjectParser; import org.apache.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -330,11 +330,11 @@ /** * Create a new instance. - * @param gridartaObjectsFactory The gridarta objects factory for creating - * new game object instances. + * @param gameObjectFactory the game object factory for creating new game + * object instances */ - public GameObjectParser(@NotNull final CrossfireObjectsFactory gridartaObjectsFactory) { - super(gridartaObjectsFactory); + public GameObjectParser(@NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory) { + super(gameObjectFactory); } /** {@inheritDoc} */ Modified: trunk/crossfire/src/cfeditor/map/DefaultMapControlFactory.java =================================================================== --- trunk/crossfire/src/cfeditor/map/DefaultMapControlFactory.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/crossfire/src/cfeditor/map/DefaultMapControlFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -33,6 +33,7 @@ import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.gui.map.RendererFactory; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.map.AbstractMapControlFactory; import net.sf.gridarta.map.DefaultMapControl; import net.sf.gridarta.map.MapControl; @@ -53,6 +54,12 @@ private GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; /** + * The {@link GameObjectParser} instance to use. + */ + @NotNull + private GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser; + + /** * The {@link RendererFactory} instance to use. */ @NotNull @@ -97,8 +104,9 @@ } /** {@inheritDoc} */ - public void init(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final MapActions mapActions, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { + public void init(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final MapActions mapActions, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; this.rendererFactory = rendererFactory; this.mapActions = mapActions; this.archetypeChooserModel = archetypeChooserModel; @@ -110,7 +118,7 @@ /** {@inheritDoc} */ @NotNull public MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapControl(@NotNull final Component parent, @Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @NotNull final String mapName, @Nullable final File file) { - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, false, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, false, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(mapName); return mapControl; @@ -122,7 +130,7 @@ final MapArchObject mapArchObject = gridartaObjectsFactory.newMapArchObject(true); mapArchObject.setMapSize(mapSize); mapArchObject.setMapName(pickmapName); - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, null, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, null, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(file.getPath()); mapControl.resetModified(); @@ -132,7 +140,7 @@ /** {@inheritDoc} */ @NotNull public MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> newPickmapControl(@NotNull final Component parent, @Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @NotNull final File file) { - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(file.getPath()); mapControl.resetModified(); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -23,6 +23,7 @@ import daieditor.gameobject.ArchetypeParser; import daieditor.gameobject.ArchetypeSet; import daieditor.gameobject.ArchetypeSetLoader; +import daieditor.gameobject.DaimoninGameObjectFactory; import daieditor.gameobject.GameObject; import daieditor.gameobject.anim.AnimationObjects; import daieditor.gameobject.face.FaceObjects; @@ -55,6 +56,7 @@ import net.sf.gridarta.MapManager; import net.sf.gridarta.archtype.ArchetypeTypeSet; import net.sf.gridarta.gameobject.AbstractArchetypeParser; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.gameobject.anim.AnimationObject; import net.sf.gridarta.gameobject.face.FaceObjectProviders; import net.sf.gridarta.gameobject.match.GameObjectMatcher; @@ -76,6 +78,7 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.gui.utils.GUIUtils; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.map.MapControl; import net.sf.gridarta.map.MapModel; import net.sf.gridarta.map.MapSquare; @@ -180,8 +183,22 @@ } /** {@inheritDoc} */ + @NotNull @Override - protected AbstractArchetypeParser<GameObject, MapArchObject, Archetype> newArchetypeParser(final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { + protected GameObjectFactory<GameObject, MapArchObject, Archetype> newGameObjectFactory() { + return new DaimoninGameObjectFactory(); + } + + /** {@inheritDoc} */ + @NotNull + @Override + protected GameObjectParser<GameObject, MapArchObject, Archetype> newGameObjectParser(@NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory) { + return new daieditor.io.GameObjectParser(gameObjectFactory); + } + + /** {@inheritDoc} */ + @Override + protected AbstractArchetypeParser<GameObject, MapArchObject, Archetype> newArchetypeParser(final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, final ArchetypeChooserControl<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserControl, final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { return new ArchetypeParser(archetypeChooserControl, animationObjects, archetypeSet); } @@ -241,9 +258,9 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { MultiPositionData.init(getConfigurationDirectory()); - new ArchetypeSetLoader(globalSettings, gridartaObjectsFactory, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects, this).loadArchetypes(mainView); + new ArchetypeSetLoader(globalSettings, gameObjectParser, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects, this).loadArchetypes(mainView); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java =================================================================== --- trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/daimonin/src/daieditor/DaimoninObjectsFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -20,6 +20,7 @@ package daieditor; import daieditor.gameobject.Archetype; +import daieditor.gameobject.DaimoninGameObjectFactory; import daieditor.gameobject.GameObject; import daieditor.gameobject.UndefinedArchetype; import daieditor.gui.map.CMapViewBasic; @@ -93,12 +94,6 @@ /** {@inheritDoc} */ @NotNull - public GameObject newGameObject() { - return new GameObject(); - } - - /** {@inheritDoc} */ - @NotNull public MapArchObject newMapArchObject(final boolean addDefaultAttributes) { final MapArchObject mapArchObject = new MapArchObject(); if (addDefaultAttributes) { @@ -110,7 +105,7 @@ /** {@inheritDoc} */ @NotNull public MapReader<GameObject, MapArchObject> newMapReader(@NotNull final File file) throws FileNotFoundException { - return new DefaultMapReader<GameObject, MapArchObject, Archetype>(this, mainView, archetypeSet, editTypes, file); + return new DefaultMapReader<GameObject, MapArchObject, Archetype>(this, new GameObjectParser(new DaimoninGameObjectFactory()), mainView, archetypeSet, editTypes, file); } /** {@inheritDoc} */ @@ -125,11 +120,6 @@ } /** {@inheritDoc} */ - public GameObjectParser newGameObjectParser() { - return new GameObjectParser(this); - } - - /** {@inheritDoc} */ @NotNull public MapView<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapView(@NotNull final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl, @Nullable final Point viewPosition, final int viewCounter) { return new MapView<GameObject, MapArchObject, Archetype, CMapViewBasic>(mainView, mapControl, viewCounter, new CMapViewBasic((CMainControl) mainControl, editTypes, mapControl, viewPosition, faceObjects, toolPalette, IGUIConstants.TILE_ISO_XLEN, IGUIConstants.TILE_ISO_YLEN, selectedSquareView), ACTION_FACTORY, mapImageCache); Modified: trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/daimonin/src/daieditor/gameobject/ArchetypeSetLoader.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -36,7 +36,6 @@ import net.sf.gridarta.AbstractMainControl; import net.sf.gridarta.EditTypes; import net.sf.gridarta.GlobalSettings; -import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.gameobject.AbstractArchetypeParser; import net.sf.gridarta.gameobject.AbstractArchetypeSetLoader; import net.sf.gridarta.gameobject.ArchetypeSet; @@ -48,6 +47,7 @@ import net.sf.gridarta.gameobject.face.DuplicateFaceException; import net.sf.gridarta.gameobject.face.FaceObjectProviders; import net.sf.gridarta.gameobject.face.FaceObjects; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.io.IOUtils; import net.sf.japi.swing.ActionFactory; import net.sf.japi.util.ThrowableHandler; @@ -80,7 +80,7 @@ * The gridarta objects factory instance. */ @NotNull - private final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; + private final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser; /** * The collected directory. @@ -140,7 +140,7 @@ /** * Creates a new instance. * @param globalSettings the global settings instance - * @param gridartaObjectsFactory the gridarta objects factory instance + * @param gameObjectParser the game object parser instance * @param collectedDirectory the collected directory * @param configurationDirectory the configuration directory * @param archetypeSet the archetype set to update @@ -150,9 +150,9 @@ * @param animationObjects the animation objects instance * @param throwableHandler the throwable handler to use */ - public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final ThrowableHandler<Throwable> throwableHandler) { + public ArchetypeSetLoader(@NotNull final GlobalSettings globalSettings, @NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final String collectedDirectory, @NotNull final String configurationDirectory, @NotNull final ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final ThrowableHandler<Throwable> throwableHandler) { this.globalSettings = globalSettings; - this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; this.collectedDirectory = collectedDirectory; this.configurationDirectory = configurationDirectory; this.archetypeSet = archetypeSet; @@ -195,7 +195,7 @@ loadArchesFromArtifacts(archetypeParser, collectedDirectory + "/" + IGUIConstants.ARTIFACTS_FILE, "Artifacts", "artifacts", invObjects); loadArchesFromArtifacts(archetypeParser, globalSettings.getMapDefaultFolder(), "Artifacts", "maps", invObjects); - gridartaObjectsFactory.newGameObjectParser().collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); + gameObjectParser.collectTempList(parent, archetypeSet, editTypes, invObjects, fname, true); archetypeSet.connectFaces(); // attach faces to arches // print message if no arches were found Added: trunk/daimonin/src/daieditor/gameobject/DaimoninGameObjectFactory.java =================================================================== --- trunk/daimonin/src/daieditor/gameobject/DaimoninGameObjectFactory.java (rev 0) +++ trunk/daimonin/src/daieditor/gameobject/DaimoninGameObjectFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -0,0 +1,38 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package daieditor.gameobject; + +import daieditor.map.MapArchObject; +import net.sf.gridarta.gameobject.GameObjectFactory; +import org.jetbrains.annotations.NotNull; + +/** + * The {@link GameObjectFactory} to create Daimonin related game objects. + * @author Andreas Kirschbaum + */ +public class DaimoninGameObjectFactory implements GameObjectFactory<GameObject, MapArchObject, Archetype> { + + /** {@inheritDoc} */ + @NotNull + public GameObject newGameObject() { + return new GameObject(); + } + +} // class DaimoninGameObjectFactory Property changes on: trunk/daimonin/src/daieditor/gameobject/DaimoninGameObjectFactory.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/daimonin/src/daieditor/io/GameObjectParser.java =================================================================== --- trunk/daimonin/src/daieditor/io/GameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/daimonin/src/daieditor/io/GameObjectParser.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -19,12 +19,12 @@ package daieditor.io; -import daieditor.DaimoninObjectsFactory; import daieditor.gameobject.Archetype; import daieditor.gameobject.GameObject; import daieditor.map.MapArchObject; import java.io.IOException; import java.util.Formatter; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.io.AbstractGameObjectParser; import org.jetbrains.annotations.NotNull; @@ -37,11 +37,11 @@ /** * Create a new instance. - * @param gridartaObjectsFactory The gridarta objects factory for creating - * new game object instances. + * @param gameObjectFactory the game object factory for creating new game + * object instances */ - public GameObjectParser(@NotNull final DaimoninObjectsFactory gridartaObjectsFactory) { - super(gridartaObjectsFactory); + public GameObjectParser(@NotNull final GameObjectFactory<GameObject, MapArchObject, Archetype> gameObjectFactory) { + super(gameObjectFactory); } /** {@inheritDoc} */ Modified: trunk/daimonin/src/daieditor/map/DefaultMapControlFactory.java =================================================================== --- trunk/daimonin/src/daieditor/map/DefaultMapControlFactory.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/daimonin/src/daieditor/map/DefaultMapControlFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -33,6 +33,7 @@ import net.sf.gridarta.gameobject.match.GameObjectMatcher; import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserModel; import net.sf.gridarta.gui.map.RendererFactory; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.map.AbstractMapControlFactory; import net.sf.gridarta.map.DefaultMapControl; import net.sf.gridarta.map.MapControl; @@ -53,6 +54,12 @@ private GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory; /** + * The {@link GameObjectParser} instance to use. + */ + @NotNull + private GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser; + + /** * The {@link RendererFactory} instance to use. */ @NotNull @@ -97,8 +104,9 @@ } /** {@inheritDoc} */ - public void init(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final MapActions mapActions, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { + public void init(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final RendererFactory<GameObject, MapArchObject, Archetype> rendererFactory, @NotNull final MapActions mapActions, @NotNull final ArchetypeChooserModel<GameObject, MapArchObject, Archetype, CMapViewBasic> archetypeChooserModel, @NotNull final MapImageCache<GameObject, MapArchObject, Archetype, CMapViewBasic> mapImageCache, @NotNull final AutojoinLists<GameObject, MapArchObject, Archetype> autojoinLists, @NotNull final GameObjectMatcher exitTypeGameObjectMatcher) { this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; this.rendererFactory = rendererFactory; this.mapActions = mapActions; this.archetypeChooserModel = archetypeChooserModel; @@ -110,7 +118,7 @@ /** {@inheritDoc} */ @NotNull public MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapControl(@NotNull final Component parent, @Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @NotNull final String mapName, @Nullable final File file) { - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, false, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, false, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(mapName); return mapControl; @@ -123,7 +131,7 @@ mapArchObject.setMapSize(mapSize); mapArchObject.setMapName(pickmapName); mapArchObject.setDifficulty(1); - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, null, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, null, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(file.getPath()); mapControl.resetModified(); @@ -134,7 +142,7 @@ @NotNull public MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> newPickmapControl(@NotNull final Component parent, @Nullable final List<GameObject> objects, @NotNull final MapArchObject mapArchObject, @NotNull final File file) { mapArchObject.setDifficulty(1); - final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); + final MapControl<GameObject, MapArchObject, Archetype, CMapViewBasic> mapControl = new DefaultMapControl<GameObject, MapArchObject, Archetype, CMapViewBasic>(gridartaObjectsFactory, gameObjectParser, rendererFactory, parent, autojoinLists, mapImageCache, objects, mapArchObject, true, exitTypeGameObjectMatcher, archetypeChooserModel, mapActions); mapControl.setMapFile(file); mapControl.setMapFileName(file.getPath()); mapControl.resetModified(); Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -44,6 +44,7 @@ import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.gameobject.anim.AnimationObject; import net.sf.gridarta.gameobject.anim.AnimationObjects; import net.sf.gridarta.gameobject.face.FaceObjects; @@ -88,6 +89,7 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.gui.undo.UndoControl; import net.sf.gridarta.help.Help; +import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.io.IOUtils; import net.sf.gridarta.io.PathManager; import net.sf.gridarta.map.AutoValidator; @@ -434,11 +436,13 @@ mainView.init(gameObjectAttributesControl, selectedSquareView, archetypeTypeSet, mapTileListBottom, gameObjectMatchers, archetypeChooserControl, pickmapChooserControl, objectChooser, leftPanel); mapActions.updateMenuState(); init3(); - final AbstractArchetypeParser<G, A, R> archetypeParser = newArchetypeParser(gridartaObjectsFactory, archetypeChooserControl, animationObjects, archetypeSet); + final GameObjectFactory<G, A, R> gameObjectFactory = newGameObjectFactory(); + final GameObjectParser<G, A, R> gameObjectParser = newGameObjectParser(gameObjectFactory); + final AbstractArchetypeParser<G, A, R> archetypeParser = newArchetypeParser(gameObjectParser, archetypeChooserControl, animationObjects, archetypeSet); gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeSet, toolPalette); - mapControlFactory.init(gridartaObjectsFactory, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); + mapControlFactory.init(gridartaObjectsFactory, gameObjectParser, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); - init4(archetypeParser, editTypes, faceObjects, animationObjects, mainView); + init4(gameObjectParser, archetypeParser, editTypes, faceObjects, animationObjects, mainView); if (globalSettings.isAutoPopupDocu()) { // do an automated help popup because the docu version has increased @@ -468,8 +472,14 @@ fileControl = new FileControl<G, A, R, V>(globalSettings, archetypeSet, mapPreviewAccessory, mapManager, mainView, mapFileFilter, scriptFileFilter, newMapDialogFactory, scriptExtension); } - protected abstract AbstractArchetypeParser<G, A, R> newArchetypeParser(final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, final ArchetypeChooserControl<G, A, R, V> archetypeChooserControl, final AnimationObjects<? extends AnimationObject> animationObjects, final ArchetypeSet<G, A, R> archetypeSet); + @NotNull + protected abstract GameObjectFactory<G, A, R> newGameObjectFactory(); + @NotNull + protected abstract GameObjectParser<G, A, R> newGameObjectParser(@NotNull final GameObjectFactory<G, A, R> gameObjectFactory); + + protected abstract AbstractArchetypeParser<G, A, R> newArchetypeParser(final GameObjectParser<G, A, R> gameObjectParser, final ArchetypeChooserControl<G, A, R, V> archetypeChooserControl, final AnimationObjects<? extends AnimationObject> animationObjects, final ArchetypeSet<G, A, R> archetypeSet); + protected abstract void createActions(); @NotNull @@ -488,7 +498,7 @@ protected abstract void init3(); - protected abstract void init4(@NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView); + protected abstract void init4(@NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView); protected abstract void deleteLibraries(); Modified: trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java =================================================================== --- trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/src/app/net/sf/gridarta/GridartaObjectsFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -31,7 +31,6 @@ import net.sf.gridarta.gui.map.MapViewBasic; import net.sf.gridarta.gui.map.tools.ToolPalette; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; -import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.io.MapArchObjectParser; import net.sf.gridarta.io.MapReader; import net.sf.gridarta.map.MapArchObject; @@ -55,13 +54,6 @@ A newMapArchObject(boolean addDefaultAttributes); /** - * Create a new {@link GameObject} instance. - * @return The new game object. - */ - @NotNull - G newGameObject(); - - /** * Open a file for reading it as a map. * @param file File to open. * @return The new map reader. @@ -85,12 +77,6 @@ MapArchObjectParser<A> newMapArchObjectParser(); /** - * Create a new game object parser instance. - * @return The new game object parser instance. - */ - GameObjectParser<G, A, R> newGameObjectParser(); - - /** * Creates a new map view instance for a map control. * @param mapControl the map control * @param viewPosition the initiali view position; may be <code>null</code> Added: trunk/src/app/net/sf/gridarta/gameobject/GameObjectFactory.java =================================================================== --- trunk/src/app/net/sf/gridarta/gameobject/GameObjectFactory.java (rev 0) +++ trunk/src/app/net/sf/gridarta/gameobject/GameObjectFactory.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -0,0 +1,38 @@ +/* + * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games. + * Copyright (C) 2000-2007 The Gridarta Developers. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package net.sf.gridarta.gameobject; + +import net.sf.gridarta.map.MapArchObject; +import org.jetbrains.annotations.NotNull; + +/** + * Abstract factory for creating {@link GameObject} instances. + * @author Andreas Kirschbaum + */ +public interface GameObjectFactory<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> { + + /** + * Creates a new {@link GameObject} instance. + * @return the new game object + */ + @NotNull + G newGameObject(); + +} // interface GameObjectFactory Property changes on: trunk/src/app/net/sf/gridarta/gameobject/GameObjectFactory.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + LF Modified: trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java =================================================================== --- trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/src/app/net/sf/gridarta/io/AbstractGameObjectParser.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -28,10 +28,10 @@ import java.util.Set; import java.util.TreeSet; import net.sf.gridarta.EditTypes; -import net.sf.gridarta.GridartaObjectsFactory; import net.sf.gridarta.gameobject.Archetype; import net.sf.gridarta.gameobject.ArchetypeSet; import net.sf.gridarta.gameobject.GameObject; +import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.map.MapArchObject; import net.sf.japi.swing.ActionFactory; import org.apache.log4j.Logger; @@ -53,17 +53,19 @@ /** Action Factory. */ private static final ActionFactory ACTION_FACTORY = ActionFactory.getFactory("net.sf.gridarta"); - /** The gridarta objects factory for creating new game object instances. */ + /** + * The game object factory for creating new game object instances. + */ @NotNull - private final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory; + private final GameObjectFactory<G, A, R> gameObjectFactory; /** * Create a new instance. - * @param gridartaObjectsFactory The gridarta objects factory for creating - * new game object instances. + * @param gameObjectFactory the game object factory for creating new game + * object instances */ - protected AbstractGameObjectParser(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory) { - this.gridartaObjectsFactory = gridartaObjectsFactory; + protected AbstractGameObjectParser(@NotNull final GameObjectFactory<G, A, R> gameObjectFactory) { + this.gameObjectFactory = gameObjectFactory; } /** {@inheritDoc} */ @@ -89,7 +91,7 @@ return null; } - final G gameObject = gridartaObjectsFactory.newGameObject(); + final G gameObject = gameObjectFactory.newGameObject(); gameObject.setArchetypeName(archName); boolean msgflag = false; Modified: trunk/src/app/net/sf/gridarta/io/DefaultMapReader.java =================================================================== --- trunk/src/app/net/sf/gridarta/io/DefaultMapReader.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/src/app/net/sf/gridarta/io/DefaultMapReader.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -53,6 +53,12 @@ private final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory; /** + * The game object parser instance. + */ + @NotNull + private final GameObjectParser<G, A, R> gameObjectParser; + + /** * The component for showing dialog boxes. */ @NotNull @@ -99,14 +105,16 @@ /** * Open a file for reading it as a map. * @param gridartaObjectsFactory the objects factory instance + * @param gameObjectParser the game object parser instance * @param parent the parent component for showing dialog boxes * @param archetypeSet the archetype set * @param editTypes the edit types instance * @param file File to open. * @throws FileNotFoundException in case the file was not found. */ - public DefaultMapReader(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory, @NotNull final Component parent, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final EditTypes<G, A, R, ?> editTypes, @NotNull final File file) throws FileNotFoundException { + public DefaultMapReader(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory, @NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final Component parent, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final EditTypes<G, A, R, ?> editTypes, @NotNull final File file) throws FileNotFoundException { this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; this.parent = parent; this.archetypeSet = archetypeSet; this.editTypes = editTypes; @@ -147,7 +155,6 @@ mapArchObject = gridartaObjectsFactory.newMapArchObject(false); gridartaObjectsFactory.newMapArchObjectParser().load(myInput, mapArchObject); - final GameObjectParser<G, A, R> gameObjectParser = gridartaObjectsFactory.newGameObjectParser(); while (gameObjectParser.load(myInput, objects) != null) { } Modified: trunk/src/app/net/sf/gridarta/io/DefaultMapWriter.java =================================================================== --- trunk/src/app/net/sf/gridarta/io/DefaultMapWriter.java 2008-09-13 11:51:51 UTC (rev 5122) +++ trunk/src/app/net/sf/gridarta/io/DefaultMapWriter.java 2008-09-13 12:26:36 UTC (rev 5123) @@ -48,6 +48,12 @@ @NotNull private final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory; + /** + * The game object parser instance. + */ + @NotNull + private final GameObjectParser<G, A, R> gameObjectParser; + /** The reader to read from. */ private final OutputStreamWriter myOutput; @@ -58,8 +64,9 @@ * @throws FileNotFoundException in case the file couldn't be opened for * writing */ - public DefaultMapWriter(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory, @NotNull final File file) throws FileNotFoundException { + public DefaultMapWriter(@NotNull final GridartaObjectsFactory<G, A, R, ?> gridartaObjectsFactory, @NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final File file) throws FileNotFoundException { this.gridartaObjectsFactory = gridartaObjectsFactory; + this.gameObjectParser = gameObjectParser; ... [truncated message content] |
From: <aki...@us...> - 2008-09-13 15:22:33
|
Revision: 5124 http://gridarta.svn.sourceforge.net/gridarta/?rev=5124&view=rev Author: akirschbaum Date: 2008-09-13 15:22:27 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Remove AbstractMainControl.gridartaObjectsFactory. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) @@ -179,14 +179,14 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1() { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { archetypeTypeSet.getListTable().put("event", ScriptArchUtils.getEventTypes()); return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } /** {@inheritDoc} */ @Override - protected void init2() { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) @@ -242,13 +242,13 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1() { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } /** {@inheritDoc} */ @Override - protected void init2() { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { } /** {@inheritDoc} */ Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 12:26:36 UTC (rev 5123) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) @@ -172,12 +172,6 @@ public static final FileFilter unignoredFilter = new HideFileFilterProxy(new EndingFileFilter(true, ACTION_FACTORY.getString("fileDialog.filter.unignored"), "")); /** - * The gridarta objects factory. - */ - @NotNull - protected final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory; - - /** * The file extension for script files. */ @NotNull @@ -317,7 +311,6 @@ * default */ protected AbstractMainControl(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final RendererFactory<G, A, R> rendererFactory, @NotNull final String key, @NotNull final GlobalSettings globalSettings, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, @NotNull final MapControlFactory<G, A, R, V> mapControlFactory, final boolean createDirectionPane, @Nullable final File mapImageCacheDir, @Nullable final ImageIcon compassIcon, @NotNull final String gridartaJarFilename, @NotNull final FileFilter scriptFileFilter, @NotNull final String scriptExtension, @NotNull final String scriptName, final int spellType, @Nullable final String spellFile, final int typeNoEventConnector, final boolean includeFaceText, final int undefinedSpellIndex, @NotNull final int[] lockedItemsTypeNumbers, final boolean autoValidatorDefault) { - this.gridartaObjectsFactory = gridartaObjectsFactory; this.scriptExtension = scriptExtension; this.globalSettings = globalSettings; final DefaultMapManager<G, A, R, V> tmpMapManager = new DefaultMapManager<G, A, R, V>(this, key, gridartaObjectsFactory, mapControlFactory, globalSettings); @@ -402,7 +395,7 @@ log.fatal("GameObjectMatcher 'exit' does not exist"); throw new MissingResourceException("GameObjectMatcher 'exit' does not exist", null, null); } - final MapActions mapActions = init1(); + final MapActions mapActions = init1(gridartaObjectsFactory); try { final Document specialTreasureListsDocument = xmlHelper.getDocumentBuilder().parse(IOUtils.getResourceURLAsString(getConfigurationDirectory(), "TreasureLists.xml")); specialTreasureLists = TreasureListsParser.parseTreasureLists(specialTreasureListsDocument); @@ -427,7 +420,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(); + init2(gridartaObjectsFactory); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -492,9 +485,9 @@ protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(); @NotNull - protected abstract MapActions init1(); + protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory); - protected abstract void init2(); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory); protected abstract void init3(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 12:26:36 UTC (rev 5123) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 15:22:27 UTC (rev 5124) @@ -533,7 +533,7 @@ /** {@inheritDoc} */ @Override - protected void init2() { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory) { throw new AssertionError(); } @@ -563,7 +563,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1() { + protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-13 15:30:58
|
Revision: 5125 http://gridarta.svn.sourceforge.net/gridarta/?rev=5125&view=rev Author: akirschbaum Date: 2008-09-13 15:30:58 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Remove some accesses to AbstractMainControl.globalSettings. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 15:30:58 UTC (rev 5125) @@ -170,7 +170,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree() { + protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { return new CFTreasureListTree<GameObject, MapArchObject, Archetype>(getMainView(), archetypeSet, specialTreasureLists, new TreasureLocation(getCollectedDirectory(), IGUIConstants.TREASURES_FILE) ); @@ -179,14 +179,14 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { archetypeTypeSet.getListTable().put("event", ScriptArchUtils.getEventTypes()); return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); @@ -203,13 +203,13 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { new ArchetypeSetLoader(globalSettings, gameObjectParser, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } /** {@inheritDoc} */ @Override - protected void init5() { + protected void init5(@NotNull final GlobalSettings globalSettings) { final JMenu menuAnalyze = (JMenu) ACTION_FACTORY.find(getMainView().getJMenuBar(), "analyze"); if (menuAnalyze != null) { filterControl.createMenuEntries(menuAnalyze); @@ -225,7 +225,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected DelegatingMapValidator<GameObject, MapArchObject, Archetype> createMapValidators() { + protected DelegatingMapValidator<GameObject, MapArchObject, Archetype> createMapValidators(@NotNull final GlobalSettings globalSettings) { final DelegatingMapValidator<GameObject, MapArchObject, Archetype> mapValidators = new DelegatingMapValidator<GameObject, MapArchObject, Archetype>(); final AttributeRangeChecker<GameObject, MapArchObject, Archetype> attributeRangeChecker = new AttributeRangeChecker<GameObject, MapArchObject, Archetype>(); // make sure sustenance is [-20..20]; amulet of Sustenance is +15 so +20 should be safe @@ -291,7 +291,7 @@ /** {@inheritDoc} */ @NotNull @Override - public PreferencesGroup createPreferencesGroup() { + public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { return new PreferencesGroup( "Gridarta for Crossfire", new ResPrefs((GlobalSettingsImpl) globalSettings), Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 15:30:58 UTC (rev 5125) @@ -232,7 +232,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree() { + protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { return new CFTreasureListTree<GameObject, MapArchObject, Archetype>(getMainView(), archetypeSet, specialTreasureLists, new TreasureLocation(getCollectedDirectory(), IGUIConstants.TREASURES_FILE), new TreasureLocation(globalSettings.getMapDefaultFolder(), null) @@ -242,13 +242,13 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { } /** {@inheritDoc} */ @@ -258,14 +258,14 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView) { + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { MultiPositionData.init(getConfigurationDirectory()); new ArchetypeSetLoader(globalSettings, gameObjectParser, getCollectedDirectory(), getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects, this).loadArchetypes(mainView); } /** {@inheritDoc} */ @Override - protected void init5() { + protected void init5(@NotNull final GlobalSettings globalSettings) { } /** {@inheritDoc} */ @@ -299,7 +299,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected DelegatingMapValidator<GameObject, MapArchObject, Archetype> createMapValidators() { + protected DelegatingMapValidator<GameObject, MapArchObject, Archetype> createMapValidators(@NotNull final GlobalSettings globalSettings) { final DelegatingMapValidator<GameObject, MapArchObject, Archetype> mapValidators = new DelegatingMapValidator<GameObject, MapArchObject, Archetype>(); final CustomTypeChecker<GameObject, MapArchObject, Archetype> customTypeChecker = new CustomTypeChecker<GameObject, MapArchObject, Archetype>(); customTypeChecker.addIgnore(Archetype.TYPE_MOB, Archetype.TYPE_SPAWN_POINT_MOB, Archetype.TYPE_SPAWN_POINT); @@ -463,7 +463,7 @@ /** {@inheritDoc} */ @NotNull @Override - public PreferencesGroup createPreferencesGroup() { + public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { return new PreferencesGroup( "Gridarta for Daimonin", new ResPrefs((GlobalSettingsImpl) globalSettings), Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 15:22:27 UTC (rev 5124) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 15:30:58 UTC (rev 5125) @@ -347,7 +347,7 @@ selectedSquareView = selectedSquareControl.getSelectedSquareView(); new MapCursorControl<G, A, R, V>(key, gameObjectAttributesDialogFactory, mapManager, mapViewManager, selectedSquareControl, selectedSquareView); replaceDialogManager.setObjectChooser(objectChooser); - validators = createMapValidators(); + validators = createMapValidators(globalSettings); mainActions = new MainActions<G, A, R, V>(replaceDialogManager, this, validators, editTypes, archetypeSet, copyBuffer, animationObjects, ACTION_FACTORY, faceObjects, objectChooser, mapManager, mapViewManager); gameObjectAttributesDialogFactory.setParent(mainView); new About(key, mainView); @@ -395,7 +395,7 @@ log.fatal("GameObjectMatcher 'exit' does not exist"); throw new MissingResourceException("GameObjectMatcher 'exit' does not exist", null, null); } - final MapActions mapActions = init1(gridartaObjectsFactory); + final MapActions mapActions = init1(gridartaObjectsFactory, globalSettings); try { final Document specialTreasureListsDocument = xmlHelper.getDocumentBuilder().parse(IOUtils.getResourceURLAsString(getConfigurationDirectory(), "TreasureLists.xml")); specialTreasureLists = TreasureListsParser.parseTreasureLists(specialTreasureListsDocument); @@ -406,7 +406,7 @@ log.warn("Cannot read TreasureLists.xml: " + ex.getMessage()); specialTreasureLists = Collections.emptyMap(); } - final CFTreasureListTree<G, A, R> treasureListTree = createTreasureListTree(); + final CFTreasureListTree<G, A, R> treasureListTree = createTreasureListTree(globalSettings); final ArchetypeAttributeParser<G, A, R> archetypeAttributeParser = new ArchetypeAttributeParser<G, A, R>(typeNoEventConnector, includeFaceText, globalSettings, mapFileFilter, scriptFileFilter, faceObjects, animationObjects, numberSpells, gameObjectSpells, undefinedSpellIndex, archetypeTypeSet, treasureListTree); final ArchetypeTypeParser<G, A, R> archetypeTypeParser = new ArchetypeTypeParser<G, A, R>(archetypeAttributeParser); final ArchetypeTypeSetParser<G, A, R> archetypeTypeSetParser = new ArchetypeTypeSetParser<G, A, R>(xmlHelper.getDocumentBuilder(), xmlHelper.getXPath(), archetypeTypeSet, archetypeTypeParser); @@ -420,7 +420,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory); + init2(gridartaObjectsFactory, globalSettings); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -435,7 +435,7 @@ gridartaObjectsFactory.init(faceObjects, selectedSquareView, this, mainView, editTypes, mapImageCache, archetypeSet, toolPalette); mapControlFactory.init(gridartaObjectsFactory, gameObjectParser, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); - init4(gameObjectParser, archetypeParser, editTypes, faceObjects, animationObjects, mainView); + init4(gameObjectParser, archetypeParser, editTypes, faceObjects, animationObjects, mainView, globalSettings); if (globalSettings.isAutoPopupDocu()) { // do an automated help popup because the docu version has increased @@ -449,7 +449,7 @@ deleteLibraries(); final RecentManager recentManager = new RecentManager(mapManager, (JMenu) actionFactory.find(mainView.getJMenuBar(), "recent"), globalSettings, mapPreviewAccessory); mapManager.setRecentManager(recentManager); - init5(); + init5(globalSettings); archetypeChooserControl.getArchetypeChooserView().finishBuildProcess(); autojoinLists.loadList(archetypeSet, getConfigurationDirectory()); if (archetypeSet.getLoadStatus() == ArchetypeSet.LoadStatus.EMPTY) { @@ -482,27 +482,28 @@ protected abstract JComboBox createEventTypeBox(); @NotNull - protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(); + protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(@NotNull final GlobalSettings globalSettings); @NotNull - protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory); + protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings); protected abstract void init3(); - protected abstract void init4(@NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView); + protected abstract void init4(@NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView, @NotNull final GlobalSettings globalSettings); protected abstract void deleteLibraries(); - protected abstract void init5(); + protected abstract void init5(@NotNull final GlobalSettings globalSettings); /** * Initializes the map validators. + * @param globalSettings the global settings instance * @return A MapValidator that delegates to other map validators. */ @NotNull - protected abstract DelegatingMapValidator<G, A, R> createMapValidators(); + protected abstract DelegatingMapValidator<G, A, R> createMapValidators(@NotNull final GlobalSettings globalSettings); /** * Creates a new {@link NewMapDialogFactory} instance. @@ -675,13 +676,13 @@ public void options() { if (prefsGroup == null) { - prefsGroup = createPreferencesGroup(); + prefsGroup = createPreferencesGroup(globalSettings); } PreferencesPane.showPreferencesDialog(mainView, prefsGroup, false); } @NotNull - protected abstract PreferencesGroup createPreferencesGroup(); + protected abstract PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings); /** Invoked when user wants to exit from the program. */ public void exit() { Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 15:22:27 UTC (rev 5124) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 15:30:58 UTC (rev 5125) @@ -481,7 +481,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected PreferencesGroup createPreferencesGroup() { + protected PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } @@ -513,7 +513,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<TestGameObject, TestMapArchObject, TestArchetype> createTreasureListTree() { + protected CFTreasureListTree<TestGameObject, TestMapArchObject, TestArchetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } @@ -533,7 +533,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } @@ -545,13 +545,13 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<TestGameObject, TestMapArchObject, TestArchetype> gameObjectParser, @NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView) { + protected void init4(@NotNull final GameObjectParser<TestGameObject, TestMapArchObject, TestArchetype> gameObjectParser, @NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } /** {@inheritDoc} */ @Override - protected void init5() { + protected void init5(@NotNull final GlobalSettings globalSettings) { } /** {@inheritDoc} */ @@ -563,14 +563,14 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } /** {@inheritDoc} */ @NotNull @Override - protected DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> createMapValidators() { + protected DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> createMapValidators(@NotNull final GlobalSettings globalSettings) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-13 15:39:29
|
Revision: 5126 http://gridarta.svn.sourceforge.net/gridarta/?rev=5126&view=rev Author: akirschbaum Date: 2008-09-13 15:39:37 +0000 (Sat, 13 Sep 2008) Log Message: ----------- Add getter functions for directory names to GlobalSettings. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/crossfire/src/cfeditor/GlobalSettingsImpl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/daimonin/src/daieditor/GlobalSettingsImpl.java trunk/src/app/net/sf/gridarta/GlobalSettings.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -316,13 +316,13 @@ /** {@inheritDoc} */ @NotNull public String getConfigurationDirectory() { - return "resource/conf"; + return globalSettings.getConfigurationDirectory(); } /** {@inheritDoc} */ @NotNull public String getCollectedDirectory() { - return getConfigurationDirectory(); + return globalSettings.getCollectedDirectory(); } public void processFile(final String filelist) throws IOException { Modified: trunk/crossfire/src/cfeditor/GlobalSettingsImpl.java =================================================================== --- trunk/crossfire/src/cfeditor/GlobalSettingsImpl.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/crossfire/src/cfeditor/GlobalSettingsImpl.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -75,6 +75,18 @@ } /** {@inheritDoc} */ + @NotNull + public String getConfigurationDirectory() { + return "resource/conf"; + } + + /** {@inheritDoc} */ + @NotNull + public String getCollectedDirectory() { + return getConfigurationDirectory(); + } + + /** {@inheritDoc} */ public void readGlobalSettings() { imageSet = prefs.get(USE_IMAGESET, "base"); if (imageSet.equalsIgnoreCase("none")) { Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -502,13 +502,13 @@ /** {@inheritDoc} */ @NotNull public String getConfigurationDirectory() { - return globalSettings.getArchDefaultFolder() + "/dev/editor/conf"; + return globalSettings.getConfigurationDirectory(); } /** {@inheritDoc} */ @NotNull public String getCollectedDirectory() { - return globalSettings.getArchDefaultFolder(); + return globalSettings.getCollectedDirectory(); } /** Modified: trunk/daimonin/src/daieditor/GlobalSettingsImpl.java =================================================================== --- trunk/daimonin/src/daieditor/GlobalSettingsImpl.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/daimonin/src/daieditor/GlobalSettingsImpl.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -47,6 +47,18 @@ } /** {@inheritDoc} */ + @NotNull + public String getConfigurationDirectory() { + return getArchDefaultFolder() + "/dev/editor/conf"; + } + + /** {@inheritDoc} */ + @NotNull + public String getCollectedDirectory() { + return getArchDefaultFolder(); + } + + /** {@inheritDoc} */ public boolean isAutoPopupDocu() { return autoPopupDocu; } Modified: trunk/src/app/net/sf/gridarta/GlobalSettings.java =================================================================== --- trunk/src/app/net/sf/gridarta/GlobalSettings.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/src/app/net/sf/gridarta/GlobalSettings.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -88,4 +88,19 @@ @NotNull String getMediaDefaultFolder(); + /** + * Returns the configuration directory which is used to load configuration + * information like types.xml. + * @return the directory + */ + @NotNull + String getConfigurationDirectory(); + + /** + * Returns the directory where collected archetypes are stored. + * @return the directory + */ + @NotNull + String getCollectedDirectory(); + } // interface GlobalSettings Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 15:30:58 UTC (rev 5125) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 15:39:37 UTC (rev 5126) @@ -1073,6 +1073,18 @@ throw new AssertionError(); } + /** {@inheritDoc} */ + @NotNull + public String getConfigurationDirectory() { + throw new AssertionError(); + } + + /** {@inheritDoc} */ + @NotNull + public String getCollectedDirectory() { + throw new AssertionError(); + } + } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 18:46:34
|
Revision: 5135 http://gridarta.svn.sourceforge.net/gridarta/?rev=5135&view=rev Author: akirschbaum Date: 2008-09-16 18:46:41 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Replace constructor parameter with AbstractMainControl.newMapControlFactory(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-13 16:18:02 UTC (rev 5134) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 18:46:41 UTC (rev 5135) @@ -73,6 +73,7 @@ import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.io.ConfigFileUtils; import net.sf.gridarta.io.GameObjectParser; +import net.sf.gridarta.map.MapControlFactory; import net.sf.gridarta.map.validation.DelegatingMapValidator; import net.sf.gridarta.map.validation.checks.AttributeRangeChecker; import net.sf.gridarta.map.validation.checks.ConnectedInsideContainerChecker; @@ -119,12 +120,19 @@ * @throws RuntimeException If the controller cannot be initialized. */ public CMainControl(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { - super(gridartaObjectsFactory, new DefaultRendererFactory(), "cfeditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), new DefaultMapControlFactory(gridartaObjectsFactory), false, ConfigFileUtils.getHomeFile("thumbnails"), null, "DaimoninEditor.jar", pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, Archetype.TYPE_EVENT_CONNECTOR, false, 0, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); + super(gridartaObjectsFactory, new DefaultRendererFactory(), "cfeditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), false, ConfigFileUtils.getHomeFile("thumbnails"), null, "DaimoninEditor.jar", pythonFileFilter, ".py", "Python", Archetype.TYPE_SPELL, null, Archetype.TYPE_EVENT_CONNECTOR, false, 0, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_TRIGGER_ALTAR, Archetype.TYPE_DETECTOR, Archetype.TYPE_TRIGGER_MARKER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); } /** {@inheritDoc} */ @NotNull @Override + protected MapControlFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapControlFactory(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + return new DefaultMapControlFactory(gridartaObjectsFactory); + } + + /** {@inheritDoc} */ + @NotNull + @Override protected GameObjectFactory<GameObject, MapArchObject, Archetype> newGameObjectFactory() { return new CrossfireGameObjectFactory(); } Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-13 16:18:02 UTC (rev 5134) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 18:46:41 UTC (rev 5135) @@ -78,6 +78,7 @@ import net.sf.gridarta.gui.utils.GUIUtils; import net.sf.gridarta.io.GameObjectParser; import net.sf.gridarta.map.MapControl; +import net.sf.gridarta.map.MapControlFactory; import net.sf.gridarta.map.MapModel; import net.sf.gridarta.map.MapSquare; import net.sf.gridarta.map.validation.DelegatingMapValidator; @@ -177,12 +178,19 @@ * @throws RuntimeException If the controller cannot be initialized. */ public CMainControl(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { - super(gridartaObjectsFactory, new DefaultRendererFactory(), "daieditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), new DefaultMapControlFactory(gridartaObjectsFactory), true, null, GUIUtils.getSysIcon(IGUIConstants.TILE_NORTH), "CrossfireEditor.jar", luaFileFilter, ".lua", "Lua", 0, IGUIConstants.SPELL_FILE, 0, true, -1, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); + super(gridartaObjectsFactory, new DefaultRendererFactory(), "daieditor", new GlobalSettingsImpl(), new AnimationObjects(), new FaceObjects(), true, null, GUIUtils.getSysIcon(IGUIConstants.TILE_NORTH), "CrossfireEditor.jar", luaFileFilter, ".lua", "Lua", 0, IGUIConstants.SPELL_FILE, 0, true, -1, new int[] { Archetype.TYPE_LOCKED_DOOR, Archetype.TYPE_SPECIAL_KEY, Archetype.TYPE_ALTAR_TRIGGER, Archetype.TYPE_MARKER, Archetype.TYPE_INVENTORY_CHECKER, Archetype.TYPE_SPAWN_POINT, Archetype.TYPE_CONTAINER, }, PREFS_VALIDATOR_AUTO_DEFAULT); } /** {@inheritDoc} */ @NotNull @Override + protected MapControlFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> newMapControlFactory(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory) { + return new DefaultMapControlFactory(gridartaObjectsFactory); + } + + /** {@inheritDoc} */ + @NotNull + @Override protected GameObjectFactory<GameObject, MapArchObject, Archetype> newGameObjectFactory() { return new DaimoninGameObjectFactory(); } Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-13 16:18:02 UTC (rev 5134) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 18:46:41 UTC (rev 5135) @@ -288,7 +288,6 @@ * @param globalSettings the global settings instance * @param animationObjects the animation objects instance * @param faceObjects the face objects instance - * @param mapControlFactory the map control instance * @param createDirectionPane whether the direction panel should be created * @param mapImageCacheDir the map image cache directory or * <code>null</code> to use the map directory @@ -310,9 +309,10 @@ * @param autoValidatorDefault whether the auto validator is enabled by * default */ - protected AbstractMainControl(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final RendererFactory<G, A, R> rendererFactory, @NotNull final String key, @NotNull final GlobalSettings globalSettings, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, @NotNull final MapControlFactory<G, A, R, V> mapControlFactory, final boolean createDirectionPane, @Nullable final File mapImageCacheDir, @Nullable final ImageIcon compassIcon, @NotNull final String gridartaJarFilename, @NotNull final FileFilter scriptFileFilter, @NotNull final String scriptExtension, @NotNull final String scriptName, final int spellType, @Nullable final String spellFile, final int typeNoEventConnector, final boolean includeFaceText, final int undefinedSpellIndex, @NotNull final int[] lockedItemsTypeNumbers, final boolean autoValidatorDefault) { + protected AbstractMainControl(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final RendererFactory<G, A, R> rendererFactory, @NotNull final String key, @NotNull final GlobalSettings globalSettings, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, final boolean createDirectionPane, @Nullable final File mapImageCacheDir, @Nullable final ImageIcon compassIcon, @NotNull final String gridartaJarFilename, @NotNull final FileFilter scriptFileFilter, @NotNull final String scriptExtension, @NotNull final String scriptName, final int spellType, @Nullable final String spellFile, final int typeNoEventConnector, final boolean includeFaceText, final int undefinedSpellIndex, @NotNull final int[] lockedItemsTypeNumbers, final boolean autoValidatorDefault) { this.scriptExtension = scriptExtension; this.globalSettings = globalSettings; + final MapControlFactory<G, A, R, V> mapControlFactory = newMapControlFactory(gridartaObjectsFactory); final DefaultMapManager<G, A, R, V> tmpMapManager = new DefaultMapManager<G, A, R, V>(this, key, gridartaObjectsFactory, mapControlFactory, globalSettings); final EditTypes<G, A, R, V> editTypes = new EditTypes<G, A, R, V>(tmpMapManager); tmpMapManager.setEditTypes(editTypes); @@ -465,6 +465,9 @@ } @NotNull + protected abstract MapControlFactory<G, A, R, V> newMapControlFactory(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory); + + @NotNull protected abstract GameObjectFactory<G, A, R> newGameObjectFactory(); @NotNull Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-13 16:18:02 UTC (rev 5134) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 18:46:41 UTC (rev 5135) @@ -410,7 +410,7 @@ final GlobalSettings globalSettings = new TestGlobalSettings(); final AnimationObjects<TestAnimationObject> animationObjects = new TestAnimationObjects(); final FaceObjects faceObjects = new TestFaceObjects(); - final TestMainControl mainControl = new TestMainControl(gridartaObjectsFactory, rendererFactory, "test", globalSettings, animationObjects, faceObjects, mapControlFactory); + final TestMainControl mainControl = new TestMainControl(gridartaObjectsFactory, rendererFactory, "test", globalSettings, animationObjects, faceObjects); final TestMapArchObject mapArchObject = new TestMapArchObject(); final TestArchetypeSet archetypeSet = new TestArchetypeSet(gridartaObjectsFactory); final ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> archetypeChooserModel = new ArchetypeChooserModel<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic>(archetypeSet); @@ -441,10 +441,9 @@ * @param globalSettings the global settings instance to use * @param animationObjects the animation objects instance to use * @param faceObjects the face objects instance to use - * @param mapControlFactory the map control factory instance to use */ - protected TestMainControl(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final RendererFactory<TestGameObject, TestMapArchObject, TestArchetype> rendererFactory, @NotNull final String key, @NotNull final GlobalSettings globalSettings, @NotNull final AnimationObjects<TestAnimationObject> animationObjects, @NotNull final FaceObjects faceObjects, @NotNull final MapControlFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapControlFactory) { - super(gridartaObjectsFactory, rendererFactory, key, globalSettings, animationObjects, faceObjects, mapControlFactory, true, null, null, "test.jar", new TestFileFilter(), ".script", "Script", 0, null, -1, false, 0, new int[] { 13, }, false); + protected TestMainControl(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final RendererFactory<TestGameObject, TestMapArchObject, TestArchetype> rendererFactory, @NotNull final String key, @NotNull final GlobalSettings globalSettings, @NotNull final AnimationObjects<TestAnimationObject> animationObjects, @NotNull final FaceObjects faceObjects) { + super(gridartaObjectsFactory, rendererFactory, key, globalSettings, animationObjects, faceObjects, true, null, null, "test.jar", new TestFileFilter(), ".script", "Script", 0, null, -1, false, 0, new int[] { 13, }, false); } /** {@inheritDoc} */ @@ -520,6 +519,13 @@ /** {@inheritDoc} */ @NotNull @Override + protected MapControlFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> newMapControlFactory(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory) { + return new TestMapControlFactory(gridartaObjectsFactory); + } + + /** {@inheritDoc} */ + @NotNull + @Override protected GameObjectFactory<TestGameObject, TestMapArchObject, TestArchetype> newGameObjectFactory() { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:12:47
|
Revision: 5140 http://gridarta.svn.sourceforge.net/gridarta/?rev=5140&view=rev Author: akirschbaum Date: 2008-09-16 19:12:53 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove AbstractMainControl.archetypeSet. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:02:42 UTC (rev 5139) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) @@ -178,7 +178,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { + protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { return new CFTreasureListTree<GameObject, MapArchObject, Archetype>(getMainView(), archetypeSet, specialTreasureLists, new TreasureLocation(globalSettings.getCollectedDirectory(), IGUIConstants.TREASURES_FILE) ); @@ -194,7 +194,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); @@ -211,7 +211,7 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { new ArchetypeSetLoader(globalSettings, gameObjectParser, globalSettings.getCollectedDirectory(), globalSettings.getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects).loadArchetypes(mainView); } Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:02:42 UTC (rev 5139) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) @@ -238,7 +238,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { + protected CFTreasureListTree<GameObject, MapArchObject, Archetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { return new CFTreasureListTree<GameObject, MapArchObject, Archetype>(getMainView(), archetypeSet, specialTreasureLists, new TreasureLocation(globalSettings.getCollectedDirectory(), IGUIConstants.TREASURES_FILE), new TreasureLocation(globalSettings.getMapDefaultFolder(), null) @@ -254,7 +254,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { } /** {@inheritDoc} */ @@ -264,7 +264,7 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { + protected void init4(@NotNull final GameObjectParser<GameObject, MapArchObject, Archetype> gameObjectParser, @NotNull final AbstractArchetypeParser<GameObject, MapArchObject, Archetype> archetypeParser, @NotNull final EditTypes<GameObject, MapArchObject, Archetype, CMapViewBasic> editTypes, @NotNull final net.sf.gridarta.gameobject.face.FaceObjects faceObjects, @NotNull final net.sf.gridarta.gameobject.anim.AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<GameObject, MapArchObject, Archetype, CMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { MultiPositionData.init(globalSettings.getConfigurationDirectory()); new ArchetypeSetLoader(globalSettings, gameObjectParser, globalSettings.getCollectedDirectory(), globalSettings.getConfigurationDirectory(), archetypeSet, archetypeParser, editTypes, faceObjects, animationObjects, this).loadArchetypes(mainView); } Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:02:42 UTC (rev 5139) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) @@ -198,12 +198,6 @@ /** The map manager. */ protected final MapManager<G, A, R, V> mapManager; - /** - * The archetype set to use. - */ - @NotNull - protected final ArchetypeSet<G, A, R> archetypeSet; - /** The status bar instance. */ private StatusBar<G, A, R, V> statusBar = null; @@ -320,7 +314,7 @@ this.rendererFactory = rendererFactory; globalSettings.readGlobalSettings(); ScriptedEventEditor.setGlobalSettings(globalSettings); - archetypeSet = newArchetypeSet(globalSettings, editTypes, animationObjects, faceObjects, gridartaObjectsFactory); + final ArchetypeSet<G, A, R> archetypeSet = newArchetypeSet(globalSettings, editTypes, animationObjects, faceObjects, gridartaObjectsFactory); ScriptedEvent.init(archetypeSet); PathManager.setGlobalSettings(globalSettings); newMapDialogFactory = newNewMapDialogFactory(mapManager, gridartaObjectsFactory); @@ -403,7 +397,7 @@ log.warn("Cannot read TreasureLists.xml: " + ex.getMessage()); specialTreasureLists = Collections.emptyMap(); } - final CFTreasureListTree<G, A, R> treasureListTree = createTreasureListTree(globalSettings); + final CFTreasureListTree<G, A, R> treasureListTree = createTreasureListTree(globalSettings, archetypeSet); final ArchetypeAttributeParser<G, A, R> archetypeAttributeParser = new ArchetypeAttributeParser<G, A, R>(typeNoEventConnector, includeFaceText, globalSettings, mapFileFilter, scriptFileFilter, faceObjects, animationObjects, numberSpells, gameObjectSpells, undefinedSpellIndex, archetypeTypeSet, treasureListTree); final ArchetypeTypeParser<G, A, R> archetypeTypeParser = new ArchetypeTypeParser<G, A, R>(archetypeAttributeParser); final ArchetypeTypeSetParser<G, A, R> archetypeTypeSetParser = new ArchetypeTypeSetParser<G, A, R>(xmlHelper.getDocumentBuilder(), xmlHelper.getXPath(), archetypeTypeSet, archetypeTypeParser); @@ -417,7 +411,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory, globalSettings, mapManager); + init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -433,7 +427,7 @@ mapControlFactory.init(gridartaObjectsFactory, gameObjectParser, rendererFactory, mapActions, archetypeChooserModel, mapImageCache, autojoinLists, exitMatcher); copyBuffer.init(gridartaObjectsFactory.newMapArchObject(false)); GameObject.initialize(archetypeSet, archetypeTypeSet, gameObjectMatchers, animationObjects, SystemIcons.getNofaceTileIcon()); - init4(gameObjectParser, archetypeParser, editTypes, faceObjects, animationObjects, mainView, globalSettings); + init4(gameObjectParser, archetypeParser, editTypes, faceObjects, animationObjects, mainView, globalSettings, archetypeSet); if (globalSettings.isAutoPopupDocu()) { // do an automated help popup because the docu version has increased @@ -482,16 +476,16 @@ protected abstract JComboBox createEventTypeBox(); @NotNull - protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(@NotNull final GlobalSettings globalSettings); + protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<G, A, R> archetypeSet); @NotNull protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet); protected abstract void init3(); - protected abstract void init4(@NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView, @NotNull final GlobalSettings globalSettings); + protected abstract void init4(@NotNull final GameObjectParser<G, A, R> gameObjectParser, @NotNull final AbstractArchetypeParser<G, A, R> archetypeParser, @NotNull final EditTypes<G, A, R, V> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, final MainView<G, A, R, V> mainView, @NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<G, A, R> archetypeSet); protected abstract void deleteLibraries(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:02:42 UTC (rev 5139) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:12:53 UTC (rev 5140) @@ -500,7 +500,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected CFTreasureListTree<TestGameObject, TestMapArchObject, TestArchetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings) { + protected CFTreasureListTree<TestGameObject, TestMapArchObject, TestArchetype> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet) { throw new AssertionError(); } @@ -527,7 +527,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet) { throw new AssertionError(); } @@ -539,7 +539,7 @@ /** {@inheritDoc} */ @Override - protected void init4(@NotNull final GameObjectParser<TestGameObject, TestMapArchObject, TestArchetype> gameObjectParser, @NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings) { + protected void init4(@NotNull final GameObjectParser<TestGameObject, TestMapArchObject, TestArchetype> gameObjectParser, @NotNull final AbstractArchetypeParser<TestGameObject, TestMapArchObject, TestArchetype> archetypeParser, @NotNull final EditTypes<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> editTypes, @NotNull final FaceObjects faceObjects, @NotNull final AnimationObjects<? extends AnimationObject> animationObjects, @NotNull final MainView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mainView, @NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:16:46
|
Revision: 5141 http://gridarta.svn.sourceforge.net/gridarta/?rev=5141&view=rev Author: akirschbaum Date: 2008-09-16 19:16:49 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove AbstractMainControl.archetypeTypeSet. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) @@ -187,7 +187,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet) { archetypeTypeSet.getListTable().put("event", ScriptArchUtils.getEventTypes()); return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) @@ -248,7 +248,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet) { return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:12:53 UTC (rev 5140) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) @@ -209,9 +209,6 @@ @NotNull private final PickmapChooserControl<G, A, R, V> pickmapChooserControl; - @NotNull - protected final ArchetypeTypeSet<G, A, R> archetypeTypeSet; - /** * The map view manager instance. */ @@ -324,7 +321,7 @@ final MapFolderTree<G, A, R, V> mapFolderTree = new MapFolderTree<G, A, R, V>(globalSettings.getPickmapDir()); pickmapChooserControl = new PickmapChooserControl<G, A, R, V>(newMapDialogFactory, this, mapControlFactory, mapFolderTree, mapManager); newMapDialogFactory.setPickmapChooserControl(pickmapChooserControl); - archetypeTypeSet = new ArchetypeTypeSet<G, A, R>(); + final ArchetypeTypeSet<G, A, R> archetypeTypeSet = new ArchetypeTypeSet<G, A, R>(); mapViewManager = new MapViewManager<G, A, R, V>(); SystemIcons.init(); createMapImageCache(mapImageCacheDir, SystemIcons.getDefaultIcon(), SystemIcons.getDefaultPreview(), new StatusBar<G, A, R, V>(mapManager, mapViewManager, archetypeSet, faceObjects)); @@ -386,7 +383,7 @@ log.fatal("GameObjectMatcher 'exit' does not exist"); throw new MissingResourceException("GameObjectMatcher 'exit' does not exist", null, null); } - final MapActions mapActions = init1(gridartaObjectsFactory, globalSettings, mapManager); + final MapActions mapActions = init1(gridartaObjectsFactory, globalSettings, mapManager, archetypeTypeSet); try { final Document specialTreasureListsDocument = xmlHelper.getDocumentBuilder().parse(IOUtils.getResourceURLAsString(globalSettings.getConfigurationDirectory(), "TreasureLists.xml")); specialTreasureLists = TreasureListsParser.parseTreasureLists(specialTreasureListsDocument); @@ -479,7 +476,7 @@ protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<G, A, R> archetypeSet); @NotNull - protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager); + protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet); protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:12:53 UTC (rev 5140) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:16:49 UTC (rev 5141) @@ -557,7 +557,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeTypeSet) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:24:49
|
Revision: 5142 http://gridarta.svn.sourceforge.net/gridarta/?rev=5142&view=rev Author: akirschbaum Date: 2008-09-16 19:24:56 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove AbstractMainControl.selectedSquareView. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) @@ -187,7 +187,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView) { archetypeTypeSet.getListTable().put("event", ScriptArchUtils.getEventTypes()); return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) @@ -248,7 +248,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<GameObject, MapArchObject, Archetype> archetypeTypeSet, @NotNull final SelectedSquareView<GameObject, MapArchObject, Archetype, CMapViewBasic> selectedSquareView) { return new MapActions(getMainView(), getMainView(), gridartaObjectsFactory, globalSettings, mapManager, mapViewManager, exitMatcher, mapFileFilter, selectedSquareView); } Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:16:49 UTC (rev 5141) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) @@ -225,9 +225,6 @@ @NotNull private final DefaultObjectChooser<G, A, R> objectChooser; - @NotNull - protected final SelectedSquareView<G, A, R, V> selectedSquareView; - /** The map validators. */ protected final DelegatingMapValidator<G, A, R> validators; @@ -332,7 +329,7 @@ final ArchetypeChooserControl<G, A, R, V> archetypeChooserControl = new ArchetypeChooserControl<G, A, R, V>(archetypeChooserModel, createDirectionPane, gameObjectAttributesDialogFactory); objectChooser = new DefaultObjectChooser<G, A, R>(archetypeChooserControl, pickmapChooserControl); final SelectedSquareControl<G, A, R, V> selectedSquareControl = new SelectedSquareControl<G, A, R, V>(ACTION_FACTORY, gameObjectAttributesDialogFactory, objectChooser, mapManager, mapViewManager, editTypes, mapTileListBottom, compassIcon, archetypeSet); - selectedSquareView = selectedSquareControl.getSelectedSquareView(); + final SelectedSquareView<G, A, R, V> selectedSquareView = selectedSquareControl.getSelectedSquareView(); new MapCursorControl<G, A, R, V>(key, gameObjectAttributesDialogFactory, mapManager, mapViewManager, selectedSquareControl, selectedSquareView); validators = createMapValidators(globalSettings); final CopyBuffer<G, A, R, V> copyBuffer = new CopyBuffer<G, A, R, V>(this, editTypes, mapControlFactory); @@ -383,7 +380,7 @@ log.fatal("GameObjectMatcher 'exit' does not exist"); throw new MissingResourceException("GameObjectMatcher 'exit' does not exist", null, null); } - final MapActions mapActions = init1(gridartaObjectsFactory, globalSettings, mapManager, archetypeTypeSet); + final MapActions mapActions = init1(gridartaObjectsFactory, globalSettings, mapManager, archetypeTypeSet, selectedSquareView); try { final Document specialTreasureListsDocument = xmlHelper.getDocumentBuilder().parse(IOUtils.getResourceURLAsString(globalSettings.getConfigurationDirectory(), "TreasureLists.xml")); specialTreasureLists = TreasureListsParser.parseTreasureLists(specialTreasureListsDocument); @@ -476,7 +473,7 @@ protected abstract CFTreasureListTree<G, A, R> createTreasureListTree(@NotNull final GlobalSettings globalSettings, @NotNull final ArchetypeSet<G, A, R> archetypeSet); @NotNull - protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet); + protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView); protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:16:49 UTC (rev 5141) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:24:56 UTC (rev 5142) @@ -557,7 +557,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeTypeSet) { + protected MapActions init1(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeTypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeTypeSet, @NotNull final SelectedSquareView<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> selectedSquareView) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:30:15
|
Revision: 5143 http://gridarta.svn.sourceforge.net/gridarta/?rev=5143&view=rev Author: akirschbaum Date: 2008-09-16 19:30:24 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Make AbstractMainControl.validators private. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) @@ -194,7 +194,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); @@ -299,7 +299,7 @@ /** {@inheritDoc} */ @NotNull @Override - public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { + public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { return new PreferencesGroup( "Gridarta for Crossfire", new ResPrefs((GlobalSettingsImpl) globalSettings), Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) @@ -254,7 +254,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { } /** {@inheritDoc} */ @@ -469,7 +469,7 @@ /** {@inheritDoc} */ @NotNull @Override - public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { + public PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { return new PreferencesGroup( "Gridarta for Daimonin", new ResPrefs((GlobalSettingsImpl) globalSettings), Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:24:56 UTC (rev 5142) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) @@ -226,7 +226,7 @@ private final DefaultObjectChooser<G, A, R> objectChooser; /** The map validators. */ - protected final DelegatingMapValidator<G, A, R> validators; + private final DelegatingMapValidator<G, A, R> validators; /** Actions used by this instance. */ @NotNull @@ -405,7 +405,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet); + init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -475,7 +475,7 @@ @NotNull protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators); protected abstract void init3(); @@ -664,13 +664,13 @@ public void options() { if (prefsGroup == null) { - prefsGroup = createPreferencesGroup(globalSettings); + prefsGroup = createPreferencesGroup(globalSettings, validators); } PreferencesPane.showPreferencesDialog(mainView, prefsGroup, false); } @NotNull - protected abstract PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings); + protected abstract PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings, @NotNull final DelegatingMapValidator<G, A, R> validators); /** Invoked when user wants to exit from the program. */ public void exit() { Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:24:56 UTC (rev 5142) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:30:24 UTC (rev 5143) @@ -468,7 +468,7 @@ /** {@inheritDoc} */ @NotNull @Override - protected PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings) { + protected PreferencesGroup createPreferencesGroup(@NotNull final GlobalSettings globalSettings, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators) { throw new AssertionError(); } @@ -527,7 +527,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:33:29
|
Revision: 5144 http://gridarta.svn.sourceforge.net/gridarta/?rev=5144&view=rev Author: akirschbaum Date: 2008-09-16 19:33:37 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove AbstractMainControl.gameObjectMatchers. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:33:37 UTC (rev 5144) @@ -57,6 +57,7 @@ import net.sf.gridarta.gameobject.GameObjectFactory; import net.sf.gridarta.gameobject.anim.AnimationObject; import net.sf.gridarta.gameobject.match.GameObjectMatcher; +import net.sf.gridarta.gameobject.match.GameObjectMatchers; import net.sf.gridarta.gui.MainView; import net.sf.gridarta.gui.MapViewManager; import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserControl; @@ -194,7 +195,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:33:37 UTC (rev 5144) @@ -59,6 +59,7 @@ import net.sf.gridarta.gameobject.anim.AnimationObject; import net.sf.gridarta.gameobject.face.FaceObjectProviders; import net.sf.gridarta.gameobject.match.GameObjectMatcher; +import net.sf.gridarta.gameobject.match.GameObjectMatchers; import net.sf.gridarta.gameobject.match.MutableOrGameObjectMatcher; import net.sf.gridarta.gameobject.match.ViewGameObjectMatcherManager; import net.sf.gridarta.gui.MainView; @@ -254,7 +255,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { } /** {@inheritDoc} */ Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:30:24 UTC (rev 5143) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:33:37 UTC (rev 5144) @@ -232,9 +232,6 @@ @NotNull protected final MainActions<G, A, R, V> mainActions; - @NotNull - protected final GameObjectMatchers gameObjectMatchers; - /** * The Spells. */ @@ -347,7 +344,7 @@ log.error("Cannot create XML parser: " + ex.getMessage()); throw new MissingResourceException("Cannot create XML parser: " + ex.getMessage(), null, null); } - gameObjectMatchers = new GameObjectMatchers(xmlHelper.getDocumentBuilder(), xmlHelper.getXPath()); + final GameObjectMatchers gameObjectMatchers = new GameObjectMatchers(xmlHelper.getDocumentBuilder(), xmlHelper.getXPath()); if (spellType != 0) { new ArchetypeSetSpellLoader<G, A, R>().load(archetypeSet, spellType, gameObjectSpells); gameObjectSpells.sort(); @@ -405,7 +402,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators); + init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators, gameObjectMatchers); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -475,7 +472,7 @@ @NotNull protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers); protected abstract void init3(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:30:24 UTC (rev 5143) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:33:37 UTC (rev 5144) @@ -64,6 +64,7 @@ import net.sf.gridarta.gameobject.face.DuplicateFaceException; import net.sf.gridarta.gameobject.face.FaceObjects; import net.sf.gridarta.gameobject.match.GameObjectMatcher; +import net.sf.gridarta.gameobject.match.GameObjectMatchers; import net.sf.gridarta.gui.MainView; import net.sf.gridarta.gui.MapViewManager; import net.sf.gridarta.gui.archetypechooser.ArchetypeChooserControl; @@ -527,7 +528,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:46:15
|
Revision: 5147 http://gridarta.svn.sourceforge.net/gridarta/?rev=5147&view=rev Author: akirschbaum Date: 2008-09-16 19:46:17 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove AbstractMainControl.gameObjectAttributesModel. Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:42:13 UTC (rev 5146) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:46:17 UTC (rev 5147) @@ -197,7 +197,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel) { PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:42:13 UTC (rev 5146) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:46:17 UTC (rev 5147) @@ -257,7 +257,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel) { } /** {@inheritDoc} */ Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:42:13 UTC (rev 5146) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:46:17 UTC (rev 5147) @@ -245,9 +245,6 @@ private final Spells<NumberSpell> numberSpells = new Spells<NumberSpell>(); @NotNull - protected final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel; - - @NotNull protected final GameObjectAttributesControl<G, A, R, V> gameObjectAttributesControl; @Nullable @@ -395,9 +392,9 @@ } AbstractScriptArchEditor.initEventTypeBoxes(scriptExtension, scriptName, createEventTypeBox(), scriptFileFilter, globalSettings, mapManager); final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); - gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); + final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators, gameObjectMatchers); + init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators, gameObjectMatchers, gameObjectAttributesModel); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -467,7 +464,7 @@ @NotNull protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull final GameObjectMatcher exitMatcher); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel); protected abstract void init3(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:42:13 UTC (rev 5146) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:46:17 UTC (rev 5147) @@ -530,7 +530,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<TestGameObject, TestMapArchObject, TestArchetype> gameObjectAttributesModel) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aki...@us...> - 2008-09-16 19:51:26
|
Revision: 5149 http://gridarta.svn.sourceforge.net/gridarta/?rev=5149&view=rev Author: akirschbaum Date: 2008-09-16 19:51:35 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Remove some calls to AbstractMainControl.getObjectChooser(). Modified Paths: -------------- trunk/crossfire/src/cfeditor/CMainControl.java trunk/daimonin/src/daieditor/CMainControl.java trunk/src/app/net/sf/gridarta/AbstractMainControl.java trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java Modified: trunk/crossfire/src/cfeditor/CMainControl.java =================================================================== --- trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:48:37 UTC (rev 5148) +++ trunk/crossfire/src/cfeditor/CMainControl.java 2008-09-16 19:51:35 UTC (rev 5149) @@ -67,6 +67,7 @@ import net.sf.gridarta.gui.gameobjectattributespanel.GameObjectAttributesModel; import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; +import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.prefs.DevPrefs; import net.sf.gridarta.gui.prefs.MapValidatorPrefs; import net.sf.gridarta.gui.prefs.MiscPrefs; @@ -197,8 +198,8 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel) { - PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, getObjectChooser(), mapManager); + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel, @NotNull final ObjectChooser<GameObject, MapArchObject, Archetype> objectChooser) { + PluginParameterFactory.init(archetypeSet, gameObjectAttributesModel, objectChooser, mapManager); final NamedFilterList defaultNamedFilterList = new NamedFilterList(gameObjectMatchers.getFilters()); filterControl = new CFilterControl(null, mapManager, defaultNamedFilterList); ((CrossfireObjectsFactory) gridartaObjectsFactory).setFilterControl(filterControl); Modified: trunk/daimonin/src/daieditor/CMainControl.java =================================================================== --- trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:48:37 UTC (rev 5148) +++ trunk/daimonin/src/daieditor/CMainControl.java 2008-09-16 19:51:35 UTC (rev 5149) @@ -71,6 +71,7 @@ import net.sf.gridarta.gui.gameobjectattributespanel.GameObjectAttributesModel; import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; +import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.prefs.DevPrefs; import net.sf.gridarta.gui.prefs.MapValidatorPrefs; import net.sf.gridarta.gui.prefs.MiscPrefs; @@ -257,7 +258,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel) { + protected void init2(@NotNull final GridartaObjectsFactory<GameObject, MapArchObject, Archetype, CMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<GameObject, MapArchObject, Archetype, CMapViewBasic> mapManager, @NotNull final net.sf.gridarta.gameobject.ArchetypeSet<GameObject, MapArchObject, Archetype> archetypeSet, @NotNull final DelegatingMapValidator<GameObject, MapArchObject, Archetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<GameObject, MapArchObject, Archetype> gameObjectAttributesModel, @NotNull final ObjectChooser<GameObject, MapArchObject, Archetype> objectChooser) { } /** {@inheritDoc} */ Modified: trunk/src/app/net/sf/gridarta/AbstractMainControl.java =================================================================== --- trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:48:37 UTC (rev 5148) +++ trunk/src/app/net/sf/gridarta/AbstractMainControl.java 2008-09-16 19:51:35 UTC (rev 5149) @@ -394,7 +394,7 @@ final LockedItemsControl<G, A, R, V> lockedItemsControl = new LockedItemsControl<G, A, R, V>(mapManager, mapViewManager, lockedItemsTypeNumbers); final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel = new GameObjectAttributesModel<G, A, R>(); gameObjectAttributesControl = newGameObjectAttributesControl(gameObjectAttributesModel, gameObjectAttributesDialogFactory, objectChooser, archetypeTypeSet, mapManager, mapViewManager, animationObjects, lockedItemsControl, monsterMatcher, selectedSquareControl, selectedSquareView, mainView); - init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators, gameObjectMatchers, gameObjectAttributesModel); + init2(gridartaObjectsFactory, globalSettings, mapManager, archetypeSet, validators, gameObjectMatchers, gameObjectAttributesModel, objectChooser); final ObjectChoiceDisplay<G, A, R, V> objectChoiceDisplay = new ObjectChoiceDisplay<G, A, R, V>(replaceDialogManager, archetypeTypeSet, objectChooser, archetypeChooserModel, pickmapChooserControl); final ToolPalette<G, A, R, V> toolPalette = new ToolPalette<G, A, R, V>(editTypes, selectedSquareView, objectChooser, pickmapChooserControl); final LeftPanel leftPanel = new LeftPanel(objectChooser, toolPalette, objectChoiceDisplay); @@ -464,7 +464,7 @@ @NotNull protected abstract MapActions init1(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeTypeSet<G, A, R> archetypeTypeSet, @NotNull final SelectedSquareView<G, A, R, V> selectedSquareView, @NotNull final GameObjectMatcher exitMatcher); - protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel); + protected abstract void init2(@NotNull final GridartaObjectsFactory<G, A, R, V> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<G, A, R, V> mapManager, @NotNull final ArchetypeSet<G, A, R> archetypeSet, @NotNull final DelegatingMapValidator<G, A, R> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<G, A, R> gameObjectAttributesModel, @NotNull final ObjectChooser<G, A, R> objectChooser); protected abstract void init3(); Modified: trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java =================================================================== --- trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:48:37 UTC (rev 5148) +++ trunk/src/test/net/sf/gridarta/map/DefaultMapModelTest.java 2008-09-16 19:51:35 UTC (rev 5149) @@ -82,6 +82,7 @@ import net.sf.gridarta.gui.map.tools.ToolPalette; import net.sf.gridarta.gui.newmap.NewMapDialogFactory; import net.sf.gridarta.gui.objectchooser.DefaultObjectChooser; +import net.sf.gridarta.gui.objectchooser.ObjectChooser; import net.sf.gridarta.gui.selectedsquare.SelectedSquareControl; import net.sf.gridarta.gui.selectedsquare.SelectedSquareView; import net.sf.gridarta.io.AbstractGameObjectParser; @@ -530,7 +531,7 @@ /** {@inheritDoc} */ @Override - protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<TestGameObject, TestMapArchObject, TestArchetype> gameObjectAttributesModel) { + protected void init2(@NotNull final GridartaObjectsFactory<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> gridartaObjectsFactory, @NotNull final GlobalSettings globalSettings, @NotNull final MapManager<TestGameObject, TestMapArchObject, TestArchetype, TestMapViewBasic> mapManager, @NotNull final ArchetypeSet<TestGameObject, TestMapArchObject, TestArchetype> archetypeSet, @NotNull final DelegatingMapValidator<TestGameObject, TestMapArchObject, TestArchetype> validators, @NotNull final GameObjectMatchers gameObjectMatchers, @NotNull final GameObjectAttributesModel<TestGameObject, TestMapArchObject, TestArchetype> gameObjectAttributesModel, @NotNull final ObjectChooser<TestGameObject, TestMapArchObject, TestArchetype> objectChooser) { throw new AssertionError(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |