Gridarta Editor
DefaultObjectChooser.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.gui.panel.objectchooser;
21 
22 import java.awt.BorderLayout;
23 import java.awt.Point;
24 import java.util.ArrayList;
25 import java.util.Collection;
26 import java.util.Collections;
27 import java.util.List;
28 import javax.swing.JPanel;
29 import javax.swing.JTabbedPane;
30 import javax.swing.SwingConstants;
31 import javax.swing.event.ChangeListener;
52 import org.jetbrains.annotations.NotNull;
53 import org.jetbrains.annotations.Nullable;
54 
59 public class DefaultObjectChooser<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends JPanel implements ObjectChooser<G, A, R> {
60 
64  private static final long serialVersionUID = 1L;
65 
69  @NotNull
71 
75  @NotNull
77 
82  @NotNull
84 
88  @NotNull
89  private final JTabbedPane tabbedPane = new JTabbedPane(SwingConstants.TOP);
90 
94  @NotNull
95  private final List<ObjectChooserTab<G, A, R>> tabs = new ArrayList<>();
96 
100  @NotNull
101  private final Collection<ObjectChooserListener<G, A, R>> listeners = new ArrayList<>();
102 
106  @Nullable
108 
112  @Nullable
114 
118  @Nullable
120 
124  @Nullable
126 
130  private int selectedIndex = -2;
131 
135  @NotNull
137 
138  @Override
139  public void mapCursorChangedPos(@NotNull final Point location) {
141  }
142 
143  @Override
144  public void mapCursorChangedMode() {
145  // ignore
146  }
147 
148  @Override
149  public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) {
150  // ignore
151  }
152 
153  @Override
154  public void mapCursorChangedSize() {
155  // ignore
156  }
157 
158  };
159 
168  public DefaultObjectChooser(@NotNull final ObjectChooserTab<G, A, R> archetypeChooserControl, @NotNull final ObjectChooserTab<G, A, R> pickmapChooserControl, @NotNull final ArchetypeChooserModel<G, A, R> archetypeChooserModel, @NotNull final PickmapChooserModel<G, A, R> pickmapChooserModel, @NotNull final ArchetypeTypeSet archetypeTypeSet) {
169  super(new BorderLayout());
170  this.pickmapChooserControl = pickmapChooserControl;
171  this.archetypeChooserModel = archetypeChooserModel;
172  objectChoiceDisplay = new ObjectChoiceDisplay(archetypeTypeSet);
173 
175 
176  addTab(archetypeChooserControl);
178 
179  final ChangeListener changeListener = e -> updateSelectedIndex();
180  tabbedPane.addChangeListener(changeListener);
181 
183  add(tabbedPane, BorderLayout.CENTER);
184  add(objectChoiceDisplay, BorderLayout.SOUTH);
185 
186  final ArchetypeChooserModelListener<G, A, R> archetypeChooserModelListener = new ArchetypeChooserModelListener<G, A, R>() {
187 
188  @Override
189  public void selectedPanelChanged(@NotNull final ArchetypeChooserPanel<G, A, R> selectedPanel) {
190  // ignore
191  }
192 
193  @Override
194  public void selectedFolderChanged(@NotNull final ArchetypeChooserFolder<G, A, R> selectedFolder) {
195  // ignore
196  }
197 
198  @Override
199  public void selectedArchetypeChanged(@Nullable final R selectedArchetype) {
200  if (!isPickmapActive()) {
201  fireSelectionChanged(selectedArchetype);
202  }
203  }
204 
205  @Override
206  public void directionChanged(@Nullable final Integer direction) {
207  // ignore
208  }
209 
210  @Override
211  public void displayModeChanged(@NotNull final DisplayMode<G, A, R> displayMode) {
212  // ignore
213  }
214 
215  };
216  archetypeChooserModel.addArchetypeChooserModelListener(archetypeChooserModelListener);
217 
218  final PickmapChooserModelListener<G, A, R> pickmapChooserModelListener = new PickmapChooserModelListener<G, A, R>() {
219 
220  @Override
221  public void activePickmapChanged(@Nullable final PickmapState<G, A, R> pickmapState) {
222  if (activePickmapState != pickmapState) { // ignore non-changes
223  updateActivePickmap(pickmapState);
224  }
225  }
226 
227  @Override
228  public void pickmapReverted(@NotNull final PickmapState<G, A, R> pickmapState) {
229  if (activePickmapState == pickmapState) { // ignore unless active pickmap was reverted
230  updateActivePickmap(pickmapState);
231  }
232  }
233 
234  @Override
235  public void pickmapModifiedChanged(final int index, @NotNull final PickmapState<G, A, R> pickmapState) {
236  // ignore
237  }
238 
239  };
240  pickmapChooserModel.addPickmapChooserListener(pickmapChooserModelListener);
241 
243  }
244 
249  private void addTab(@NotNull final ObjectChooserTab<G, A, R> tab) {
250  tabs.add(tab);
251  tabbedPane.addTab(tab.getTitle(), tab.getComponent());
252  }
253 
258  private void setActiveTab(final int index) {
259  @Nullable ObjectChooserTab<G, A, R> tab;
260  try {
261  tab = tabs.get(index);
262  } catch (final IndexOutOfBoundsException ignored) {
263  tab = null;
264  }
265  if (activeTab == tab) {
266  return;
267  }
268 
269  if (activeTab != null) {
270  activeTab.setActive(false);
271  }
272  activeTab = tab;
273  if (activeTab != null) {
274  activeTab.setActive(true);
275  }
276  for (final ObjectChooserListener<G, A, R> listener : listeners) {
277  listener.pickmapActiveChanged(isPickmapActive());
278  }
279  if (isPickmapActive()) {
281  } else {
283  fireSelectionChanged(selectedPanel == null ? null : selectedPanel.getSelectedFolder().getSelectedArchetype());
284  }
285  }
286 
287  @Override
288  public final boolean isPickmapActive() {
290  }
291 
297  @Override
298  public boolean isMatching(@NotNull final G gameObject) {
299  return activeTab != null && activeTab.isMatching(gameObject);
300  }
301 
302  @Override
303  public void addObjectChooserListener(@NotNull final ObjectChooserListener<G, A, R> listener) {
304  listeners.add(listener);
305  }
306 
307  @Override
308  public void removeObjectChooserListener(@NotNull final ObjectChooserListener<G, A, R> listener) {
309  listeners.remove(listener);
310  }
311 
312  @Override
314  tabbedPane.setSelectedIndex(0);
315  }
316 
317  @Override
319  tabbedPane.setSelectedIndex(1);
320  }
321 
322  @Nullable
323  @Override
325  return cursorSelection;
326  }
327 
328  @Nullable
329  @Override
331  return activeTab == null ? null : activeTab.getSelection();
332  }
333 
334  @NotNull
335  @Override
336  public List<? extends BaseObject<G, A, R, ?>> getSelections() {
337  return activeTab == null ? Collections.<G>emptyList() : activeTab.getSelections();
338  }
339 
343  private void updateSelectedIndex() {
344  final int index = tabbedPane.getSelectedIndex();
345  if (index != selectedIndex) {
346  selectedIndex = index;
347  setActiveTab(index);
348  }
349  }
350 
355  private void updateActivePickmap(@Nullable final PickmapState<G, A, R> pickmapState) {
356  if (activePickmapView != null) {
358  }
359  activePickmapState = pickmapState;
361  if (activePickmapView != null) {
363  }
364  }
365 
369  private void updateActivePickmap() {
372  }
373 
378  private void updatePickmapInfo(@Nullable final MapCursor<G, A, R> mapCursor) {
379  if (isPickmapActive()) {
380  @Nullable final BaseObject<G, A, R, ?> gameObject;
381  if (mapCursor == null) {
382  gameObject = null;
383  } else {
384  final Point location = mapCursor.getLocation();
385  if (activePickmapState == null) {
386  gameObject = null;
387  } else {
389  if (pickmap == null) {
390  gameObject = null;
391  } else {
392  final MapModel<G, A, R> mapModel = pickmap.getMapModel();
393  gameObject = mapModel.getMapSquare(location).getFirst();
394  }
395  }
396  }
397  fireSelectionChanged(gameObject);
398  }
399  }
400 
405  private void fireSelectionChanged(@Nullable final BaseObject<G, A, R, ?> gameObject) {
406  if (cursorSelection == gameObject) {
407  return;
408  }
409  cursorSelection = gameObject;
410 
411  for (final ObjectChooserListener<G, A, R> listener : listeners) {
412  listener.selectionChanged(gameObject);
413  }
414 
416  }
417 
418 }
net.sf.gridarta.model.archetypetype
Defines types of GameObjects with corresponding attributes.
Definition: AbstractArchetypeAttributeInvSpell.java:20
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab.getSelections
List<? extends BaseObject< G, A, R, ?> > getSelections()
Returns the selected game objects.
net.sf.gridarta.model.mapmodel.MapModel
A MapModel reflects the data of a map.
Definition: MapModel.java:75
net.sf.gridarta.gui.panel
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.isMatching
boolean isMatching(@NotNull final G gameObject)
Returns whether a given game object matches the selection.
Definition: DefaultObjectChooser.java:298
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.addTab
void addTab(@NotNull final ObjectChooserTab< G, A, R > tab)
Adds a tab.
Definition: DefaultObjectChooser.java:249
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab.setActive
void setActive(boolean active)
Called whenever this tab becomes active or inactive.
net.sf.gridarta.gui.panel.pickmapchooser
Classes implementing the pickmap chooser.
Definition: package-info.java:24
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.addObjectChooserListener
void addObjectChooserListener(@NotNull final ObjectChooserListener< G, A, R > listener)
Definition: DefaultObjectChooser.java:303
net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel
The view of the archetype chooser.
Definition: ArchetypeChooserModel.java:38
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.activePickmapView
MapView< G, A, R > activePickmapView
The MapView of activePickmapState.
Definition: DefaultObjectChooser.java:119
net.sf.gridarta
Base package of all Gridarta classes.
net.sf.gridarta.gui.mapfiles.PickmapState.getMapView
MapView< G, A, R > getMapView()
Returns the MapView instance for this pickmap.
Definition: PickmapState.java:163
net.sf.gridarta.model.mapmodel.MapSquare.getFirst
G getFirst(@NotNull final GameObjectMatcher gameObjectMatcher)
Returns the first occurrence of a matching game object.
Definition: MapSquare.java:230
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab< G, A, R >
net.sf.gridarta.model.mapmodel.MapSquare
A single Map Square.
Definition: MapSquare.java:45
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.tabs
final List< ObjectChooserTab< G, A, R > > tabs
The tabs in the same order as tabbedPane.
Definition: DefaultObjectChooser.java:95
net.sf.gridarta.model.archetypechooser
Definition: ArchetypeChooserFolder.java:20
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.activeTab
ObjectChooserTab< G, A, R > activeTab
The active tab or.
Definition: DefaultObjectChooser.java:107
net.sf
net.sf.gridarta.model.mapmodel
Definition: AboveFloorInsertionMode.java:20
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.objectChoiceDisplay
final ObjectChoiceDisplay objectChoiceDisplay
The ObjectChoiceDisplay that display information about the currently selected object.
Definition: DefaultObjectChooser.java:83
net.sf.gridarta.gui.panel.pickmapchooser.PickmapChooserModelListener
Interface for listeners for pickmap related events.
Definition: PickmapChooserModelListener.java:33
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.pickmapChooserControl
final ObjectChooserTab< G, A, R > pickmapChooserControl
The pickmap chooser control.
Definition: DefaultObjectChooser.java:70
net.sf.gridarta.gui.panel.objectchoicedisplay
Definition: ObjectChoiceDisplay.java:20
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.removeObjectChooserListener
void removeObjectChooserListener(@NotNull final ObjectChooserListener< G, A, R > listener)
Definition: DefaultObjectChooser.java:308
net.sf.gridarta.model.gameobject.GameObject
Reflects a game object (object on a map).
Definition: GameObject.java:36
net.sf.gridarta.model.mapcontrol
Definition: DefaultMapControl.java:20
net.sf.gridarta.model.archetypetype.ArchetypeTypeSet
Manages ArchetypeType instances, list, and bitmask definitions.
Definition: ArchetypeTypeSet.java:40
net.sf.gridarta.model.mapcursor.MapCursorListener
Interface for listeners listening to MapCursor related events.
Definition: MapCursorListener.java:36
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.archetypeChooserModel
final ArchetypeChooserModel< G, A, R > archetypeChooserModel
The ArchetypeChooserModel.
Definition: DefaultObjectChooser.java:76
net.sf.gridarta.gui
Graphical User Interface of Gridarta.
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.movePickmapChooserToFront
void movePickmapChooserToFront()
Definition: DefaultObjectChooser.java:318
net.sf.gridarta.model.archetypechooser.ArchetypeChooserFolder
A named folder within the ArchetypeChooserModel.
Definition: ArchetypeChooserFolder.java:40
net.sf.gridarta.gui.map.mapview.MapView.getMapCursor
MapCursor< G, A, R > getMapCursor()
Returns the MapCursor of this view.
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.moveArchetypeChooserToFront
void moveArchetypeChooserToFront()
Definition: DefaultObjectChooser.java:313
net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel.getSelectedPanel
ArchetypeChooserPanel< G, A, R > getSelectedPanel()
Returns the selected ArchetypeChooserPanel.
Definition: ArchetypeChooserModel.java:162
net.sf.gridarta.model.gameobject
GameObjects are the objects based on Archetypes found on maps.
Definition: AbstractGameObject.java:20
net
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.isPickmapActive
final boolean isPickmapActive()
Definition: DefaultObjectChooser.java:288
net.sf.gridarta.model.maparchobject.MapArchObject
Interface for MapArchObjects.
Definition: MapArchObject.java:40
net.sf.gridarta.gui.map.mapview
Definition: AbstractMapView.java:20
net.sf.gridarta.model.archetypechooser.ArchetypeChooserPanel
A named panel within the ArchetypeChooserModel.
Definition: ArchetypeChooserPanel.java:40
net.sf.gridarta.gui.map.mapview.MapView
A map view consists of a map grid and a map cursor, and is attached to a map control.
Definition: MapView.java:43
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.updateSelectedIndex
void updateSelectedIndex()
Updates selectedIndex.
Definition: DefaultObjectChooser.java:343
net.sf.gridarta.model.mapcursor.MapCursor.removeMapCursorListener
void removeMapCursorListener(@NotNull final MapCursorListener< G, A, R > listener)
Remove a MapCursorListener.
Definition: MapCursor.java:427
net.sf.gridarta.gui.panel.pickmapchooser.PickmapChooserModel
Maintains loaded PickmapState instances.
Definition: PickmapChooserModel.java:51
net.sf.gridarta.model.mapcursor.MapCursor
MapCursor provides methods to move and drag on map.
Definition: MapCursor.java:58
net.sf.gridarta.model.baseobject.BaseObject
Definition: BaseObject.java:34
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.DefaultObjectChooser
DefaultObjectChooser(@NotNull final ObjectChooserTab< G, A, R > archetypeChooserControl, @NotNull final ObjectChooserTab< G, A, R > pickmapChooserControl, @NotNull final ArchetypeChooserModel< G, A, R > archetypeChooserModel, @NotNull final PickmapChooserModel< G, A, R > pickmapChooserModel, @NotNull final ArchetypeTypeSet archetypeTypeSet)
Creates a new instance.
Definition: DefaultObjectChooser.java:168
net.sf.gridarta.gui.panel.objectchooser.ObjectChooser
Common base interface for ObjectChoosers.
Definition: ObjectChooser.java:34
net.sf.gridarta.gui.mapfiles.PickmapState
Maintains the state of a pickmap file.
Definition: PickmapState.java:45
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.getSelections
List<? extends BaseObject< G, A, R, ?> > getSelections()
Definition: DefaultObjectChooser.java:336
net.sf.gridarta.model.archetypechooser.ArchetypeChooserModel.addArchetypeChooserModelListener
void addArchetypeChooserModelListener(@NotNull final ArchetypeChooserModelListener< G, A, R > listener)
Adds a listener to be notified of changes.
Definition: ArchetypeChooserModel.java:104
net.sf.gridarta.model.mapcursor.MapCursor.addMapCursorListener
void addMapCursorListener(@NotNull final MapCursorListener< G, A, R > listener)
Register a MapCursorListener.
Definition: MapCursor.java:419
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.updatePickmapInfo
void updatePickmapInfo(@Nullable final MapCursor< G, A, R > mapCursor)
Updates the display information for the active pickmap.
Definition: DefaultObjectChooser.java:378
net.sf.gridarta.model.mapmodel.MapModel.getMapSquare
MapSquare< G, A, R > getMapSquare(@NotNull Point pos)
Get the square at a specified location.
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.listeners
final Collection< ObjectChooserListener< G, A, R > > listeners
The registered listeners.
Definition: DefaultObjectChooser.java:101
net.sf.gridarta.gui.panel.objectchoicedisplay.ObjectChoiceDisplay.showObjectChooserQuickObject
void showObjectChooserQuickObject(@Nullable final BaseObject<?, ?, ?, ?> gameObject, final boolean isPickmapActive)
Displays information about the selected game object.
Definition: ObjectChoiceDisplay.java:125
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.tabbedPane
final JTabbedPane tabbedPane
Panel holding both archetype chooser and pickmap chooser.
Definition: DefaultObjectChooser.java:89
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.mapCursorListener
final MapCursorListener< G, A, R > mapCursorListener
The map cursor listener attached to activePickmapView.
Definition: DefaultObjectChooser.java:136
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Reflects an Archetype.
Definition: Archetype.java:41
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.fireSelectionChanged
void fireSelectionChanged(@Nullable final BaseObject< G, A, R, ?> gameObject)
Notifies all listeners that the selection may have changed.
Definition: DefaultObjectChooser.java:405
net.sf.gridarta.model.baseobject
Definition: AbstractBaseObject.java:20
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser
The object Chooser implementation.
Definition: DefaultObjectChooser.java:59
net.sf.gridarta.gui.map
Base classes for rendering maps.
Definition: AbstractPerMapDialogManager.java:20
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab.isMatching
boolean isMatching(@NotNull G gameObject)
Returns whether the current selection matches the given game object.
net.sf.gridarta.model.archetypechooser.ArchetypeChooserFolder.getSelectedArchetype
R getSelectedArchetype()
Returns the selected Archetype.
Definition: ArchetypeChooserFolder.java:127
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.selectedIndex
int selectedIndex
The current state of selection.
Definition: DefaultObjectChooser.java:130
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.updateActivePickmap
void updateActivePickmap()
Updates the display state after activePickmapState has changed.
Definition: DefaultObjectChooser.java:369
net.sf.gridarta.model.mapcontrol.MapControl
Currently nothing more than a marker interface for unification.
Definition: MapControl.java:35
net.sf.gridarta.model.mapcontrol.MapControl.getMapModel
MapModel< G, A, R > getMapModel()
Returns the map model.
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.getSelection
final BaseObject< G, A, R, ?> getSelection()
Definition: DefaultObjectChooser.java:330
net.sf.gridarta.model.archetypechooser.DisplayMode
Abstract base class for classes implementing display modes of the archetype chooser.
Definition: DisplayMode.java:35
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.setActiveTab
void setActiveTab(final int index)
Records whether the archetype chooser or the pickmap chooser is active.
Definition: DefaultObjectChooser.java:258
net.sf.gridarta.gui.panel.objectchoicedisplay.ObjectChoiceDisplay
The object choice display shows information about the selected object in the object chooser.
Definition: ObjectChoiceDisplay.java:41
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.cursorSelection
BaseObject< G, A, R, ?> cursorSelection
The last reported selection.
Definition: DefaultObjectChooser.java:125
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.activePickmapState
PickmapState< G, A, R > activePickmapState
The last known active PickmapState.
Definition: DefaultObjectChooser.java:113
net.sf.gridarta.model.mapcursor
Definition: MapCursor.java:20
net.sf.gridarta.model.archetypechooser.ArchetypeChooserModelListener
Interface for listeners interested in ArchetypeChooserModel related events.
Definition: ArchetypeChooserModelListener.java:34
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserTab.getSelection
BaseObject< G, A, R, ?> getSelection()
Returns the selected game object.
net.sf.gridarta.model.archetypechooser.ArchetypeChooserPanel.getSelectedFolder
ArchetypeChooserFolder< G, A, R > getSelectedFolder()
Returns the selected ArchetypeChooserFolder.
Definition: ArchetypeChooserPanel.java:189
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.getCursorSelection
BaseObject< G, A, R, ?> getCursorSelection()
Definition: DefaultObjectChooser.java:324
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.serialVersionUID
static final long serialVersionUID
The serial version UID.
Definition: DefaultObjectChooser.java:64
net.sf.gridarta.gui.panel.objectchooser.ObjectChooserListener< G, A, R >
net.sf.gridarta.gui.mapfiles.PickmapState.getPickmap
MapControl< G, A, R > getPickmap()
Returns the MapControl representing this pickmap.
Definition: PickmapState.java:150
net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser.updateActivePickmap
void updateActivePickmap(@Nullable final PickmapState< G, A, R > pickmapState)
Records an active pickmap.
Definition: DefaultObjectChooser.java:355
net.sf.gridarta.gui.mapfiles
Definition: DuplicateMapFolderException.java:20