Gridarta Editor
net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R > Class Template Reference

Stores all known MapFiles. More...

+ Inheritance diagram for net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:
+ Collaboration diagram for net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >:

Public Member Functions

synchronized void addMapFolder (@NotNull final MapFolder< G, A, R > mapFolder) throws DuplicateMapFolderException
 Adds a map folder to this model. More...
 
void addModelListener (@NotNull final MapFolderTreeListener< G, A, R > listener)
 Adds a MapFolderTreeListener to be informed about changes. More...
 
MapFolder< G, A, R > getActiveMapFolder ()
 Returns the active map folder. More...
 
File getBaseDir ()
 Returns the base directory for creating new map folders. More...
 
void getUnsavedPickmaps (@NotNull final Collection< MapControl< G, A, R >> unsavedMaps)
 Returns all unsaved map controls of this model. More...
 
Iterator< MapFolder< G, A, R > > iterator ()
 Returns an Iterator returning all map folders. More...
 
 MapFolderTree (@NotNull final File baseDir)
 Creates a new instance. More...
 
synchronized void removeMapFolder (@NotNull final MapFolder< G, A, R > mapFolder, final boolean deleteFile) throws MapFolderNotEmptyException
 Removes a map folder from this model. More...
 
void removeModelListener (@NotNull final MapFolderTreeListener< G, A, R > listener)
 Removes a MapFolderTreeListener to be informed about changes. More...
 
synchronized void setActiveMapFolder (@NotNull final MapFolder< G, A, R > mapFolder)
 Sets the active map folder. More...
 

Private Member Functions

void fireActiveMapFolderChanged ()
 Notifies all listeners that the active folder has changed. More...
 

Private Attributes

MapFolder< G, A, R > activeMapFolder
 The active map folder. More...
 
final File baseDir
 The base directory for creating new map folders. More...
 
final Collection< MapFolderTreeListener< G, A, R > > listeners = new CopyOnWriteArrayList<>()
 The registered event listeners. More...
 
final TreeMap< String, MapFolder< G, A, R > > mapFolders = new TreeMap<>()
 The folders. More...
 

Detailed Description

Stores all known MapFiles.

The map files are grouped into MapFolders. One of these folder can be the "active folder"; this is the folder the GUI operates on.

Author
Andreas Kirschbaum

Definition at line 42 of file MapFolderTree.java.

Constructor & Destructor Documentation

◆ MapFolderTree()

net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.MapFolderTree ( @NotNull final File  baseDir)

Creates a new instance.

Parameters
baseDirthe base directory for creating new map folders

Definition at line 70 of file MapFolderTree.java.

Member Function Documentation

◆ addMapFolder()

synchronized void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addMapFolder ( @NotNull final MapFolder< G, A, R >  mapFolder) throws DuplicateMapFolderException

Adds a map folder to this model.

The added map folder's name must be different from all existing map folder names.

Parameters
mapFolderthe map folder to add
Exceptions
DuplicateMapFolderExceptionif the map folder's name is not unique

Definition at line 90 of file MapFolderTree.java.

Referenced by net.sf.gridarta.gui.dialog.newmap.NewPickmapFolderDialog< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.createNew(), and net.sf.gridarta.gui.mapfiles.Loader< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.load().

+ Here is the caller graph for this function:

◆ addModelListener()

void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.addModelListener ( @NotNull final MapFolderTreeListener< G, A, R >  listener)

◆ fireActiveMapFolderChanged()

void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.fireActiveMapFolderChanged ( )
private

Notifies all listeners that the active folder has changed.

Definition at line 169 of file MapFolderTree.java.

Referenced by net.sf.gridarta.gui.mapfiles.MapFolderTree< G, A, R >.removeMapFolder(), and net.sf.gridarta.gui.mapfiles.MapFolderTree< G, A, R >.setActiveMapFolder().

+ Here is the caller graph for this function:

◆ getActiveMapFolder()

◆ getBaseDir()

File net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.getBaseDir ( )

Returns the base directory for creating new map folders.

Returns
the base directory for creating new map folders

Definition at line 79 of file MapFolderTree.java.

Referenced by net.sf.gridarta.gui.dialog.newmap.NewPickmapFolderDialog< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.createNew(), and net.sf.gridarta.gui.mapfiles.Loader< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.load().

+ Here is the caller graph for this function:

◆ getUnsavedPickmaps()

void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.getUnsavedPickmaps ( @NotNull final Collection< MapControl< G, A, R >>  unsavedMaps)

Returns all unsaved map controls of this model.

Parameters
unsavedMapsthe collection to add the unsaved pickmaps to

Definition at line 204 of file MapFolderTree.java.

Referenced by net.sf.gridarta.gui.panel.pickmapchooser.PickmapChooserControl<?, ?, ?>.canExit().

+ Here is the caller graph for this function:

◆ iterator()

Iterator<MapFolder<G, A, R> > net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.iterator ( )

Returns an Iterator returning all map folders.

The folders are sorted by folder name.

Definition at line 180 of file MapFolderTree.java.

◆ removeMapFolder()

synchronized void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.removeMapFolder ( @NotNull final MapFolder< G, A, R >  mapFolder,
final boolean  deleteFile 
) throws MapFolderNotEmptyException

Removes a map folder from this model.

If the active map folder is removed, the next or previous map folder becomes the active folder.

Parameters
mapFolderthe map folder to remove
deleteFileif set, also remove the map files
Exceptions
MapFolderNotEmptyExceptionif the map folder contains sub-folders

Definition at line 113 of file MapFolderTree.java.

Referenced by net.sf.gridarta.gui.mapfiles.MapFolderTreeActions< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.doDeletePickmapFolder().

+ Here is the caller graph for this function:

◆ removeModelListener()

void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.removeModelListener ( @NotNull final MapFolderTreeListener< G, A, R >  listener)

Removes a MapFolderTreeListener to be informed about changes.

Parameters
listenerthe listener to remove

Definition at line 196 of file MapFolderTree.java.

◆ setActiveMapFolder()

synchronized void net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.setActiveMapFolder ( @NotNull final MapFolder< G, A, R >  mapFolder)

Member Data Documentation

◆ activeMapFolder

◆ baseDir

final File net.sf.gridarta.gui.mapfiles.MapFolderTree< G extends GameObject< G, A, R, A extends MapArchObject< A, R extends Archetype< G, A, R >.baseDir
private

◆ listeners

◆ mapFolders


The documentation for this class was generated from the following file: