Gridarta Editor
DefaultEditorSettings.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2023 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;
23 import java.util.prefs.PreferenceChangeListener;
24 import java.util.prefs.Preferences;
25 import net.sf.gridarta.MainControl;
27 import net.sf.japi.swing.action.ActionBuilder;
28 import net.sf.japi.swing.action.ActionBuilderFactory;
29 import org.jetbrains.annotations.NotNull;
30 
36 
40  @NotNull
41  private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.gridarta");
42 
46  @NotNull
47  private static final String SHOW_MAIN_TOOLBAR_KEY = "ShowMainToolbar";
48 
52  @NotNull
53  private static final String PREFERENCES_USER_NAME_DEFAULT = System.getProperty("user.name");
54 
58  @NotNull
59  private static final Preferences PREFERENCES = Preferences.userNodeForPackage(MainControl.class);
60 
64  @NotNull
65  private final String mapsDirectoryDefault;
66 
70  private final boolean hasMediaDirectory;
71 
75  @NotNull
76  private final String mediaDirectoryDefault;
77 
81  private final boolean hasImageSet;
82 
86  @NotNull
87  private final String imageSetDefault;
88 
92  @NotNull
93  private final String archDirectoryDefault;
94 
99  archDirectoryDefault = ActionBuilderUtils.getString(ACTION_BUILDER, "archDirectoryDefault", "");
100  mapsDirectoryDefault = ActionBuilderUtils.getString(ACTION_BUILDER, "mapsDirectoryDefault", "");
102  mediaDirectoryDefault = ActionBuilderUtils.getString(ACTION_BUILDER, "mediaDirectoryDefault", "");
104  imageSetDefault = ActionBuilderUtils.getString(ACTION_BUILDER, "imageSetDefault", "none");
105 
106  final PreferenceChangeListener preferenceChangeListener = evt -> {
107  if (evt.getKey().equals(SHOW_MAIN_TOOLBAR_KEY)) {
109  }
110  };
111  PREFERENCES.addPreferenceChangeListener(preferenceChangeListener);
112  }
113 
114  @NotNull
115  @Override
116  public File getArchDirectoryDefault() {
117  return new File(archDirectoryDefault);
118  }
119 
120  @NotNull
121  @Override
122  public File getMapsDirectoryDefault() {
123  return new File(mapsDirectoryDefault);
124  }
125 
126  @Override
127  public boolean hasMediaDirectory() {
128  return hasMediaDirectory;
129  }
130 
131  @NotNull
132  @Override
133  public File getMediaDirectoryDefault() {
134  return new File(mediaDirectoryDefault);
135  }
136 
137  @Override
138  public boolean hasImageSet() {
139  return hasImageSet;
140  }
141 
142  @NotNull
143  @Override
144  public String getImageSetDefault() {
145  return imageSetDefault;
146  }
147 
148  @Override
149  public boolean isShowMainToolbar() {
151  }
152 
153  @Override
154  public void setShowMainToolbar(final boolean selected) {
155  PREFERENCES.putBoolean(SHOW_MAIN_TOOLBAR_KEY, selected);
156  }
157 
158  @NotNull
159  @Override
160  public String getUserNameDefault() {
162  }
163 
164  @Override
165  public String getKey(@NotNull final EditorSettingsKey key, @NotNull final String defaultValue) {
166  return PREFERENCES.get(key.getKey(), defaultValue);
167  }
168 
169  @Override
170  public void setKey(@NotNull final EditorSettingsKey key, @NotNull final String value) {
171  PREFERENCES.put(key.getKey(), value);
172  }
173 
174 }
net.sf.gridarta.model.settings.DefaultEditorSettings.setShowMainToolbar
void setShowMainToolbar(final boolean selected)
Sets whether the main toolbar should be shown.
Definition: DefaultEditorSettings.java:154
net.sf.gridarta.model.settings.EditorSettings.SHOW_MAIN_TOOLBAR_DEFAULT
boolean SHOW_MAIN_TOOLBAR_DEFAULT
Default value for whether the main window's toolbar is shown.
Definition: EditorSettings.java:34
net.sf.gridarta.model.settings.DefaultEditorSettings.mediaDirectoryDefault
final String mediaDirectoryDefault
The default value for the media directory.
Definition: DefaultEditorSettings.java:76
net.sf.gridarta
Base package of all Gridarta classes.
net.sf
net.sf.gridarta.model.settings.DefaultEditorSettings.hasMediaDirectory
final boolean hasMediaDirectory
Whether a media directory is used.
Definition: DefaultEditorSettings.java:70
net.sf.gridarta.model.settings.DefaultEditorSettings.getMapsDirectoryDefault
File getMapsDirectoryDefault()
Returns the default maps directory.
Definition: DefaultEditorSettings.java:122
net.sf.gridarta.model.settings.DefaultEditorSettings.hasImageSet
boolean hasImageSet()
Returns whether an image set is used.
Definition: DefaultEditorSettings.java:138
net.sf.gridarta.model.settings.DefaultEditorSettings.getArchDirectoryDefault
File getArchDirectoryDefault()
Returns the default archetype directory.
Definition: DefaultEditorSettings.java:116
net.sf.gridarta.model.settings.DefaultEditorSettings.imageSetDefault
final String imageSetDefault
The default value for the image set.
Definition: DefaultEditorSettings.java:87
net.sf.gridarta.model.settings.DefaultEditorSettings.getMediaDirectoryDefault
File getMediaDirectoryDefault()
Returns the default media directory.
Definition: DefaultEditorSettings.java:133
net.sf.gridarta.model.settings.DefaultEditorSettings.hasMediaDirectory
boolean hasMediaDirectory()
Returns whether a media directory is used.
Definition: DefaultEditorSettings.java:127
net.sf.gridarta.model.settings.DefaultEditorSettings.ACTION_BUILDER
static final ActionBuilder ACTION_BUILDER
The ActionBuilder.
Definition: DefaultEditorSettings.java:41
net.sf.gridarta.model.settings.EditorSettingsKey
Possible keys for saving values in the EditorSettings.
Definition: EditorSettingsKey.java:27
net.sf.gridarta.model.settings.DefaultEditorSettings.mapsDirectoryDefault
final String mapsDirectoryDefault
The default value for the maps directory.
Definition: DefaultEditorSettings.java:65
net.sf.gridarta.model.settings.DefaultEditorSettings.hasImageSet
final boolean hasImageSet
Whether an image set is used.
Definition: DefaultEditorSettings.java:81
net
net.sf.gridarta.model.settings.DefaultEditorSettings.SHOW_MAIN_TOOLBAR_KEY
static final String SHOW_MAIN_TOOLBAR_KEY
Key for info whether the main window's toolbar is shown.
Definition: DefaultEditorSettings.java:47
net.sf.gridarta.utils.ActionBuilderUtils.getBoolean
static boolean getBoolean(@NotNull final ActionBuilder actionBuilder, @NotNull final String key)
Returns the value of a key as a.
Definition: ActionBuilderUtils.java:46
net.sf.gridarta.model.settings.AbstractEditorSettings
Abstract base class for EditorSettings implementations.
Definition: AbstractEditorSettings.java:30
net.sf.gridarta.model.settings.DefaultEditorSettings.PREFERENCES_USER_NAME_DEFAULT
static final String PREFERENCES_USER_NAME_DEFAULT
Preferences default value for user name.
Definition: DefaultEditorSettings.java:53
net.sf.gridarta.model.settings.DefaultEditorSettings.getUserNameDefault
String getUserNameDefault()
Returns the default user name.
Definition: DefaultEditorSettings.java:160
net.sf.gridarta.model.settings.AbstractEditorSettings.fireShowMainToolbarChanged
void fireShowMainToolbarChanged()
Notifies all listeners about a changed visibility of the main toolbar.
Definition: AbstractEditorSettings.java:52
net.sf.gridarta.model.settings.DefaultEditorSettings
Default implementation of EditorSettings.
Definition: DefaultEditorSettings.java:35
net.sf.gridarta.utils.ActionBuilderUtils.getString
static String getString(@NotNull final ActionBuilder actionBuilder, @NotNull final String key, @NotNull final String defaultValue)
Returns the value of a key.
Definition: ActionBuilderUtils.java:71
net.sf.gridarta.model.settings.DefaultEditorSettings.PREFERENCES
static final Preferences PREFERENCES
Preferences.
Definition: DefaultEditorSettings.java:59
net.sf.gridarta.model.settings.DefaultEditorSettings.archDirectoryDefault
final String archDirectoryDefault
The default value for the archetype directory.
Definition: DefaultEditorSettings.java:93
net.sf.gridarta.model.settings.DefaultEditorSettings.getImageSetDefault
String getImageSetDefault()
Returns the default image set.
Definition: DefaultEditorSettings.java:144
net.sf.gridarta.model.settings.DefaultEditorSettings.isShowMainToolbar
boolean isShowMainToolbar()
Returns whether the main toolbar should be shown.
Definition: DefaultEditorSettings.java:149
net.sf.gridarta.utils.ActionBuilderUtils
Utility class for ActionBuilder related functions.
Definition: ActionBuilderUtils.java:31
net.sf.gridarta.model.settings.DefaultEditorSettings.setKey
void setKey(@NotNull final EditorSettingsKey key, @NotNull final String value)
Saves a settings value.
Definition: DefaultEditorSettings.java:170
net.sf.gridarta.model.settings.DefaultEditorSettings.DefaultEditorSettings
DefaultEditorSettings()
Creates a new instance.
Definition: DefaultEditorSettings.java:98
net.sf.gridarta.model.settings.DefaultEditorSettings.getKey
String getKey(@NotNull final EditorSettingsKey key, @NotNull final String defaultValue)
Returns a settings value.
Definition: DefaultEditorSettings.java:165
net.sf.gridarta.utils
Definition: ActionBuilderUtils.java:20
net.sf.gridarta.MainControl
Interface used as preferences location.
Definition: MainControl.java:27