 |
Gridarta Editor
|
Go to the documentation of this file.
20 package net.sf.gridarta.model.archetypechooser;
22 import java.io.Serializable;
23 import java.util.ArrayList;
24 import java.util.Collection;
25 import java.util.Collections;
26 import java.util.List;
27 import java.util.concurrent.CopyOnWriteArrayList;
31 import org.jetbrains.annotations.NotNull;
32 import org.jetbrains.annotations.Nullable;
61 private final List<ArchetypeChooserFolder<G, A, R>>
folders =
new ArrayList<>();
82 private final Collection<ArchetypeChooserPanelListener<G, A, R>>
listeners =
new CopyOnWriteArrayList<>();
126 return Collections.unmodifiableList(
folders);
134 public void addArchetype(@NotNull
final String folder, @NotNull
final R archetype) {
158 if (existingFolder !=
null) {
159 return existingFolder;
174 for (
int i = 1; i <
folders.size(); i++) {
176 if (folder.
getName().equals(folderName)) {
199 throw new IllegalArgumentException(
"selected folder " +
selectedFolder.
getName() +
" is not part of the panel");
224 listener.selectedArchetypeChanged(selectedArchetype);
List< ArchetypeChooserFolder< G, A, R > > getFolders()
Returns the ArchetypeChooserFolders.
ArchetypeChooserFolder< G, A, R > selectedFolder
The selected ArchetypeChooserFolder.
void removeArchetypeChooserPanelListener(@NotNull final ArchetypeChooserPanelListener< G, A, R > listener)
Removes a listener to be notified of changes.
Base package of all Gridarta classes.
static final long serialVersionUID
The serial version UID.
ArchetypeChooserFolder< G, A, R > getOrCreateFolder(@NotNull final String folderName)
Returns an ArchetypeChooserFolder by folder name.
final String name
The panel name.
ArchetypeChooserPanel(@NotNull final String name)
Creates a new instance.
Reflects a game object (object on a map).
GameObjects are the objects based on Archetypes found on maps.
Interface for MapArchObjects.
ArchetypeChooserFolder< G, A, R > getDefaultFolder()
Returns the default ArchetypeChooserFolder that contains all Archetypes of all folders.
A named panel within the ArchetypeChooserModel.
final List< ArchetypeChooserFolder< G, A, R > > folders
The ArchetypeChooserFolders in this panel.
final Collection< ArchetypeChooserPanelListener< G, A, R > > listeners
The registered listeners.
void addArchetype(@NotNull final R archetype)
Adds an Archetype to this folder.
ArchetypeChooserFolder< G, A, R > getFolder(@NotNull final String folderName)
Returns an ArchetypeChooserFolder by folder name.
void addArchetypeChooserFolderListener(@NotNull final ArchetypeChooserFolderListener< G, A, R > listener)
Adds a listener to be notified of changes.
void fireSelectedArchetypeChanged(@Nullable final R selectedArchetype)
Notifies all registered ArchetypeChooserPanelListeners that the selected archetype has changed.
void addArchetype(@NotNull final String folder, @NotNull final R archetype)
Adds an Archetype to this panel.
R getSelectedArchetype()
Returns the selected Archetype.
void setSelectedFolder(@NotNull final ArchetypeChooserFolder< G, A, R > selectedFolder)
Sets the selected ArchetypeChooserFolder.
final transient ArchetypeChooserFolderListener< G, A, R > archetypeChooserFolderListener
The ArchetypeChooserFolderListener attached to {}.
String getName()
Returns the panel name.
void addArchetypeChooserPanelListener(@NotNull final ArchetypeChooserPanelListener< G, A, R > listener)
Adds a listener to be notified of changes.
String getName()
Returns the folder name.
ArchetypeChooserFolder< G, A, R > getSelectedFolder()
Returns the selected ArchetypeChooserFolder.