Gridarta Editor
AbstractProjectSettings.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.model.settings;
21 
22 import java.io.File;
24 import org.jetbrains.annotations.NotNull;
25 
30 public abstract class AbstractProjectSettings implements ProjectSettings {
31 
36  @NotNull
38 
39  @Override
40  public void addProjectSettingsListener(@NotNull final ProjectSettingsListener listener) {
41  listenerList.add(listener);
42  }
43 
44  @Override
45  public void removeProjectSettingsListener(@NotNull final ProjectSettingsListener listener) {
46  listenerList.remove(listener);
47  }
48 
52  protected void fireMapsDirectoryChanged() {
53  final File mapsDirectory = getMapsDirectory();
54  for (final ProjectSettingsListener listener : listenerList.getListeners()) {
55  listener.mapsDirectoryChanged(mapsDirectory);
56  }
57  }
58 
59 }
T [] getListeners()
Returns an array of all the listeners.
Settings that apply to a project.
void addProjectSettingsListener(@NotNull final ProjectSettingsListener listener)
Adds a ProjectSettingsListener to be notified of changes.
Base package of all Gridarta classes.
void fireMapsDirectoryChanged()
Notifies all listeners about a changed maps directory.
void remove(@NotNull final T listener)
Removes a listener.
void add(@NotNull final T listener)
Adds a listener.
void removeProjectSettingsListener(@NotNull final ProjectSettingsListener listener)
Removes a ProjectSettingsListener to be notified of changes.
Type-safe version of EventListenerList.
File getMapsDirectory()
Returns the default maps directory.
final EventListenerList2< ProjectSettingsListener > listenerList
The ProjectSettingsListeners to inform of changes.
Interface for listeners interested in ProjectSettings events.
Abstract base class for ProjectSettings implementations.