Gridarta Editor
SelectedSquareView.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.gui.panel.selectedsquare;
21 
22 import java.awt.BorderLayout;
23 import java.awt.Color;
24 import java.awt.Container;
25 import java.awt.FlowLayout;
26 import java.awt.GridLayout;
27 import java.awt.Insets;
28 import java.awt.Point;
29 import java.awt.event.InputEvent;
30 import java.awt.event.MouseAdapter;
31 import java.awt.event.MouseEvent;
32 import java.awt.event.MouseListener;
33 import java.awt.geom.RectangularShape;
34 import java.util.Set;
35 import javax.swing.AbstractButton;
36 import javax.swing.Action;
37 import javax.swing.DefaultListModel;
38 import javax.swing.Icon;
39 import javax.swing.ImageIcon;
40 import javax.swing.JButton;
41 import javax.swing.JLabel;
42 import javax.swing.JList;
43 import javax.swing.JPanel;
44 import javax.swing.JScrollPane;
45 import javax.swing.JViewport;
46 import javax.swing.ListSelectionModel;
47 import javax.swing.ScrollPaneConstants;
48 import javax.swing.event.ListSelectionEvent;
49 import javax.swing.event.ListSelectionListener;
68 import net.sf.gridarta.utils.Size2D;
69 import org.jetbrains.annotations.NotNull;
70 import org.jetbrains.annotations.Nullable;
71 
81 public class SelectedSquareView<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> extends JPanel {
82 
86  private static final long serialVersionUID = 1L;
87 
91  @NotNull
93 
97  @NotNull
99 
103  @NotNull
105 
109  @NotNull
111 
115  @NotNull
117 
121  @NotNull
122  private final DefaultListModel<G> model = new DefaultListModel<>();
123 
127  @NotNull
128  private final JList<G> list = new JList<>(model);
129 
133  @NotNull
134  private final Container arrows = new JPanel();
135 
139  @Nullable
141 
146  @Nullable
148 
152  @NotNull
154 
155  @Override
156  public void mapSizeChanged(@NotNull final Size2D newSize) {
157  refresh();
158  }
159 
160  @Override
161  public void mapSquaresChanged(@NotNull final Set<MapSquare<G, A, R>> mapSquares) {
162  if (selectedSquareModel.isSelectedMapSquares(mapSquares)) {
163  refresh();
164  }
165  }
166 
167  @Override
168  public void mapObjectsChanged(@NotNull final Set<G> gameObjects, @NotNull final Set<G> transientGameObjects) {
169  if (selectedSquareModel.isSelectedGameObjects(gameObjects) || selectedSquareModel.isSelectedGameObjects(transientGameObjects)) {
170  refresh();
171  }
172  }
173 
174  @Override
175  public void errorsChanged(@NotNull final ErrorCollector<G, A, R> errors) {
176  // ignore
177  }
178 
179  @Override
180  public void mapFileChanged(@Nullable final MapFile oldMapFile) {
181  // ignore
182  }
183 
184  @Override
185  public void modifiedChanged() {
186  // ignore
187  }
188 
189  };
190 
194  @NotNull
196 
197  @Override
198  public void activeMapViewChanged(@Nullable final MapView<G, A, R> mapView) {
199  @Nullable final MapModel<G, A, R> mapModel;
200  @Nullable final MapCursor<G, A, R> mapCursor;
201  if (mapView == null) {
202  mapModel = null;
203  mapCursor = null;
204  } else {
205  mapModel = mapView.getMapControl().getMapModel();
206  mapCursor = mapView.getMapCursor();
207  }
209  }
210 
211  @Override
212  public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) {
213  // ignore
214  }
215 
216  @Override
217  public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) {
218  // ignore
219  }
220 
221  };
222 
227  @NotNull
229 
230  @Override
231  public void selectionChanged(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) {
232  refresh();
233  }
234 
235  };
236 
241  @NotNull
242  private final ListSelectionListener listSelectionListener = new ListSelectionListener() {
243 
244  @Override
245  public void valueChanged(final ListSelectionEvent e) {
246  setSelectedIndex(list.getSelectedIndex());
247  }
248 
249  };
250 
254  @NotNull
256 
257  @Override
258  public void mapCursorChangedPos(@NotNull final Point location) {
259  // ignore
260  }
261 
262  @Override
263  public void mapCursorChangedMode() {
264  // ignore
265  }
266 
267  @Override
268  public void mapCursorChangedGameObject(@Nullable final MapSquare<G, A, R> mapSquare, @Nullable final G gameObject) {
269  if (selectedSquareModel.setSelectedMapSquare(mapSquare, gameObject)) {
270  refresh();
271  }
272  }
273 
274  @Override
275  public void mapCursorChangedSize() {
276  // ignore
277  }
278 
279  };
280 
285  @NotNull
286  private final MouseListener mouseListener = new MouseAdapter() {
287 
288  @Override
289  public void mousePressed(final MouseEvent e) {
290  if (isSelect(e)) {
291  if (e.getClickCount() > 1) { // LMB Double click
292  final G gameObject = selectedSquareModel.getSelectedGameObject();
293  if (gameObject != null) {
295  }
296  }
297  } else if (isInsert(e)) {
299  } else if (isDelete(e)) {
301  }
302  }
303 
304  };
305 
321  public SelectedSquareView(@NotNull final SelectedSquareModel<G, A, R> selectedSquareModel, @NotNull final GameObjectAttributesDialogFactory<G, A, R> gameObjectAttributesDialogFactory, @NotNull final ObjectChooser<G, A, R> objectChooser, @NotNull final MapViewManager<G, A, R> mapViewManager, @NotNull final MapViewSettings mapViewSettings, @Nullable final ImageIcon compassIcon, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final Icon unknownSquareIcon, @NotNull final Action... actions) {
322  this.selectedSquareModel = selectedSquareModel;
323  this.gameObjectAttributesDialogFactory = gameObjectAttributesDialogFactory;
324  this.objectChooser = objectChooser;
325  this.mapViewSettings = mapViewSettings;
326 
327  setLayout(new BorderLayout());
328 
330  list.setCellRenderer(new CellRenderer<G, A, R>(faceObjectProviders, unknownSquareIcon));
331  list.setBackground(Color.lightGray);
332  list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
333  final JScrollPane scrollPane = new JScrollPane(list);
334  scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
335  scrollPane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
336  add(scrollPane, BorderLayout.CENTER);
337 
338  for (final Action tmpAction : actions) {
339  final AbstractButton button = new JButton(tmpAction);
340  button.setMargin(new Insets(0, 0, 0, 0));
341  arrows.add(button);
342  }
343 
344  updateArrows(false);
345  if (compassIcon != null) {
346  final Container compass = new JPanel();
347  compass.add(new JLabel(compassIcon));
348  add(compass, BorderLayout.NORTH);
349  }
350  list.addListSelectionListener(listSelectionListener);
351  list.addMouseListener(mouseListener);
352  list.setFocusable(false); // XXX Workaround for Mantis #0000154 This is not clean and should be removed as soon as cut/copy/paste of arches is possible
353 
354  mapViewManager.addMapViewManagerListener(mapViewManagerListener);
356 
357  refresh();
358  }
359 
365  private void updateArrows(final boolean mapSquareListBottom) {
366  if (mapSquareListBottom) {
367  arrows.setLayout(new GridLayout(4, 1));
368  add(arrows, BorderLayout.WEST); // put up/down buttons west
369  } else {
370  arrows.setLayout(new FlowLayout());
371  add(arrows, BorderLayout.SOUTH); // put up/down buttons south
372  }
373  }
374 
383  private int getListIndex(@NotNull final MouseEvent e) {
384  final int lastIndex = model.getSize() - 1;
385  if (lastIndex < 0) {
386  return 0;
387  }
388 
389  final RectangularShape bounds = list.getCellBounds(lastIndex, lastIndex);
390  final int lowestY = (int) (bounds.getY() + bounds.getHeight());
391  if ((int) e.getPoint().getY() >= lowestY) {
392  return lastIndex + 1;
393  }
394 
395  final int listIndex = list.locationToIndex(e.getPoint());
396  assert listIndex >= 0; // -1 is returned only if the list is empty, but this was already checked
397  return listIndex;
398  }
399 
405  private void refresh() {
406  list.setEnabled(false);
407  try {
409  } finally {
410  list.setEnabled(true);
411  }
412  }
413 
419  @Nullable
420  private G getListGameObject(final int index) {
421  final int actualIndex = getValidIndex(index);
422  return actualIndex >= model.getSize() ? null : model.getElementAt(actualIndex);
423  }
424 
430  private void setSelectedIndex(final int index) {
431  final int actualIndex = getValidIndex(index);
432  if (list.getSelectedIndex() != actualIndex) {
433  list.setSelectedIndex(actualIndex);
434  }
435 
436  if (mapCursor != null) {
437  mapCursor.setGameObject(list.getSelectedValue());
438  }
439  }
440 
446  private int getValidIndex(final int index) {
447  if (index < 0) {
448  return 0;
449  }
450  final int size = model.getSize();
451  return index < size ? index : Math.max(0, size - 1);
452  }
453 
458  private void deleteGameObject(final int index) {
460  if (mapCursor != null && index < model.getSize()) {
461  setSelectedIndex(index);
463  }
464  }
465 
470  private void insertGameObject(final int index) {
472  if (gameObject != null) {
474  if (mapCursor != null) {
475  mapCursor.insertGameObject(true, gameObject, index >= model.getSize(), mapViewSettings.isAutojoin());
476  }
477  }
478  setSelectedIndex(index);
479  }
480 
486  private static boolean isSelect(@NotNull final InputEvent e) {
487  return (e.getModifiers() & InputEvent.BUTTON1_MASK) != 0;
488  }
489 
495  private static boolean isInsert(@NotNull final InputEvent e) {
496  return (e.getModifiers() & (InputEvent.BUTTON3_MASK | InputEvent.CTRL_MASK)) == InputEvent.BUTTON3_MASK;
497  }
498 
504  private static boolean isDelete(@NotNull final InputEvent e) {
505  return (e.getModifiers() & InputEvent.BUTTON2_MASK) != 0 || (e.getModifiers() & (InputEvent.BUTTON3_MASK | InputEvent.CTRL_MASK)) == (InputEvent.BUTTON3_MASK | InputEvent.CTRL_MASK);
506  }
507 
508  private void setMapCursor(@Nullable final MapModel<G, A, R> mapModel, @Nullable final MapCursor<G, A, R> mapCursor) {
509  if (this.mapModel != null) {
510  this.mapModel.removeMapModelListener(mapModelListener);
511  }
512  this.mapModel = mapModel;
513  if (this.mapModel != null) {
514  this.mapModel.addMapModelListener(mapModelListener);
515  }
516 
517  if (this.mapCursor != null) {
518  this.mapCursor.removeMapCursorListener(mapCursorListener);
519  }
520  this.mapCursor = mapCursor;
521  if (this.mapCursor != null) {
522  this.mapCursor.addMapCursorListener(mapCursorListener);
523  }
524 
525  final G gameObject = mapCursor == null ? null : mapCursor.getGameObject();
526  final MapSquare<G, A, R> mapSquare = gameObject == null ? null : gameObject.getMapSquareOptional();
527  if (selectedSquareModel.setSelectedMapSquare(mapSquare, gameObject)) {
528  refresh();
529  }
530  }
531 
532 }
net.sf.gridarta.model.mapmodel.MapModel
Definition: MapModel.java:75
net.sf.gridarta.gui.panel
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.refresh
void refresh()
Definition: SelectedSquareView.java:405
net.sf.gridarta.model.mapmodel.MapSquare.getMapSquareOptional
MapSquare< G, A, R > getMapSquareOptional()
Definition: MapSquare.java:156
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.list
final JList< G > list
Definition: SelectedSquareView.java:128
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.deleteGameObject
void deleteGameObject(final int index)
Definition: SelectedSquareView.java:458
net.sf.gridarta
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.updateArrows
void updateArrows(final boolean mapSquareListBottom)
Definition: SelectedSquareView.java:365
net.sf.gridarta.model.mapmodel.MapSquare
Definition: MapSquare.java:45
net.sf.gridarta.gui.dialog.gameobjectattributes.GameObjectAttributesDialogFactory.showAttributeDialog
void showAttributeDialog(@NotNull final G gameObject)
Definition: GameObjectAttributesDialogFactory.java:217
net.sf.gridarta.model.mapviewsettings
Definition: AbstractMapViewSettings.java:20
net.sf.gridarta.gui.map.mapview.MapViewManager
Definition: MapViewManager.java:38
net.sf
net.sf.gridarta.model.mapcursor.MapCursor.getGameObject
G getGameObject()
Definition: MapCursor.java:437
net.sf.gridarta.model.mapviewsettings.MapViewSettings.isAutojoin
boolean isAutojoin()
net.sf.gridarta.model.mapmodel
Definition: AboveFloorInsertionMode.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapViewManagerListener
final MapViewManagerListener< G, A, R > mapViewManagerListener
Definition: SelectedSquareView.java:195
net.sf.gridarta.gui.map.mapview.MapViewManagerListener
Definition: MapViewManagerListener.java:33
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.insertGameObject
void insertGameObject(final int index)
Definition: SelectedSquareView.java:470
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.selectedSquareModelListener
final SelectedSquareModelListener< G, A, R > selectedSquareModelListener
Definition: SelectedSquareView.java:228
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.face.FaceObjectProviders
Definition: FaceObjectProviders.java:46
net.sf.gridarta.model.gameobject.GameObject
Definition: GameObject.java:36
net.sf.gridarta.model.mapviewsettings.MapViewSettings
Definition: MapViewSettings.java:30
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapCursorListener
final MapCursorListener< G, A, R > mapCursorListener
Definition: SelectedSquareView.java:255
net.sf.gridarta.model.mapmodel.MapModel.addMapModelListener
void addMapModelListener(@NotNull MapModelListener< G, A, R > listener)
net.sf.gridarta.model.mapcursor.MapCursorListener
Definition: MapCursorListener.java:36
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.getListGameObject
G getListGameObject(final int index)
Definition: SelectedSquareView.java:420
net.sf.gridarta.model.mapcursor.MapCursor.setGameObject
void setGameObject(@Nullable final G gameObject)
Definition: MapCursor.java:446
net.sf.gridarta.model.mapcursor.MapCursor.deleteSelectedGameObject
boolean deleteSelectedGameObject(final boolean performAction, final boolean autoJoin)
Definition: MapCursor.java:658
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.isSelectedGameObjects
boolean isSelectedGameObjects(@NotNull final Iterable< G > gameObjects)
Definition: SelectedSquareModel.java:117
net.sf.gridarta.gui.panel.selectedsquare.ModelUpdater.update
int update(@Nullable final GameObjectContainer< G, A, R > mapSquare, @Nullable final G gameObject)
Definition: ModelUpdater.java:74
net.sf.gridarta.gui
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.selectedSquareModel
final SelectedSquareModel< G, A, R > selectedSquareModel
Definition: SelectedSquareView.java:92
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.isSelect
static boolean isSelect(@NotNull final InputEvent e)
Definition: SelectedSquareView.java:486
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.setSelectedIndex
void setSelectedIndex(final int index)
Definition: SelectedSquareView.java:430
net.sf.gridarta.gui.panel.objectchooser
Definition: DefaultObjectChooser.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView
Definition: SelectedSquareView.java:81
net.sf.gridarta.model.gameobject
Definition: AbstractGameObject.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.setSelectedMapSquare
boolean setSelectedMapSquare(@Nullable final MapSquare< G, A, R > mapSquare, @Nullable final G gameObject)
Definition: SelectedSquareModel.java:141
net
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModelListener< G, A, R >
net.sf.gridarta.model.maparchobject.MapArchObject
Definition: MapArchObject.java:40
net.sf.gridarta.model.mapcursor.MapCursor.insertGameObject
boolean insertGameObject(final boolean performAction, @NotNull final BaseObject< G, A, R, ?> gameObject, final boolean insertAtEnd, final boolean join)
Definition: MapCursor.java:631
net.sf.gridarta.gui.map.mapview
Definition: AbstractMapView.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel< G, A, R >
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.getListIndex
int getListIndex(@NotNull final MouseEvent e)
Definition: SelectedSquareView.java:383
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.gameObjectAttributesDialogFactory
final GameObjectAttributesDialogFactory< G, A, R > gameObjectAttributesDialogFactory
Definition: SelectedSquareView.java:104
net.sf.gridarta.model.validation.ErrorCollector
Definition: ErrorCollector.java:33
net.sf.gridarta.gui.map.mapview.MapView
Definition: MapView.java:43
net.sf.gridarta.gui.panel.objectchooser.ObjectChooser.getSelection
BaseObject< G, A, R, ?> getSelection()
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.SelectedSquareView
SelectedSquareView(@NotNull final SelectedSquareModel< G, A, R > selectedSquareModel, @NotNull final GameObjectAttributesDialogFactory< G, A, R > gameObjectAttributesDialogFactory, @NotNull final ObjectChooser< G, A, R > objectChooser, @NotNull final MapViewManager< G, A, R > mapViewManager, @NotNull final MapViewSettings mapViewSettings, @Nullable final ImageIcon compassIcon, @NotNull final FaceObjectProviders faceObjectProviders, @NotNull final Icon unknownSquareIcon, @NotNull final Action... actions)
Definition: SelectedSquareView.java:321
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.listSelectionListener
final ListSelectionListener listSelectionListener
Definition: SelectedSquareView.java:242
net.sf.gridarta.model.validation
Definition: AbstractValidator.java:20
net.sf.gridarta.model.mapcursor.MapCursor
Definition: MapCursor.java:58
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapCursor
MapCursor< G, A, R > mapCursor
Definition: SelectedSquareView.java:147
net.sf.gridarta.model.baseobject.BaseObject
Definition: BaseObject.java:34
net.sf.gridarta.gui.dialog.gameobjectattributes
Definition: ArchetypeTypeListCellRenderer.java:20
net.sf.gridarta.gui.dialog
net.sf.gridarta.model.mapmodel.MapFile
Definition: MapFile.java:31
net.sf.gridarta.gui.panel.objectchooser.ObjectChooser
Definition: ObjectChooser.java:34
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.arrows
final Container arrows
Definition: SelectedSquareView.java:134
net.sf.gridarta.gui.dialog.gameobjectattributes.GameObjectAttributesDialogFactory
Definition: GameObjectAttributesDialogFactory.java:54
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.getValidIndex
int getValidIndex(final int index)
Definition: SelectedSquareView.java:446
net.sf.gridarta.model.mapcursor.MapCursor.addMapCursorListener
void addMapCursorListener(@NotNull final MapCursorListener< G, A, R > listener)
Definition: MapCursor.java:419
net.sf.gridarta.model.mapmodel.MapModelListener
Definition: MapModelListener.java:36
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.addSelectedSquareListener
void addSelectedSquareListener(@NotNull final SelectedSquareModelListener< G, A, R > listener)
Definition: SelectedSquareModel.java:79
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapModel
MapModel< G, A, R > mapModel
Definition: SelectedSquareView.java:140
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapViewSettings
final MapViewSettings mapViewSettings
Definition: SelectedSquareView.java:116
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Definition: Archetype.java:41
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.model
final DefaultListModel< G > model
Definition: SelectedSquareView.java:122
net.sf.gridarta.gui.panel.selectedsquare.CellRenderer
Definition: CellRenderer.java:37
net.sf.gridarta.model.baseobject
Definition: AbstractBaseObject.java:20
net.sf.gridarta.gui.map
Definition: AbstractPerMapDialogManager.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mouseListener
final MouseListener mouseListener
Definition: SelectedSquareView.java:286
net.sf.gridarta.model.face
Definition: AbstractFaceObjects.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.isSelectedMapSquares
boolean isSelectedMapSquares(@NotNull final Iterable< MapSquare< G, A, R >> mapSquares)
Definition: SelectedSquareModel.java:102
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.mapModelListener
final MapModelListener< G, A, R > mapModelListener
Definition: SelectedSquareView.java:153
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.getSelectedGameObject
G getSelectedGameObject()
Definition: SelectedSquareModel.java:71
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.serialVersionUID
static final long serialVersionUID
Definition: SelectedSquareView.java:86
net.sf.gridarta.model.mapcursor
Definition: MapCursor.java:20
net.sf.gridarta.utils.Size2D
Definition: Size2D.java:30
net.sf.gridarta.gui.panel.selectedsquare.ModelUpdater< G, A, R >
net.sf.gridarta.utils
Definition: ActionBuilderUtils.java:20
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareModel.getSelectedMapSquare
MapSquare< G, A, R > getSelectedMapSquare()
Definition: SelectedSquareModel.java:61
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.isDelete
static boolean isDelete(@NotNull final InputEvent e)
Definition: SelectedSquareView.java:504
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.modelUpdater
final ModelUpdater< G, A, R > modelUpdater
Definition: SelectedSquareView.java:98
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.objectChooser
final ObjectChooser< G, A, R > objectChooser
Definition: SelectedSquareView.java:110
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.isInsert
static boolean isInsert(@NotNull final InputEvent e)
Definition: SelectedSquareView.java:495
net.sf.gridarta.gui.panel.selectedsquare.SelectedSquareView.setMapCursor
void setMapCursor(@Nullable final MapModel< G, A, R > mapModel, @Nullable final MapCursor< G, A, R > mapCursor)
Definition: SelectedSquareView.java:508