Gridarta Editor
MapUserListenerManager.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.mapuserlistener;
21 
22 import java.util.IdentityHashMap;
23 import java.util.Map;
34 import org.jetbrains.annotations.NotNull;
35 import org.jetbrains.annotations.Nullable;
36 
41 public class MapUserListenerManager<G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> {
42 
46  @NotNull
48 
52  @NotNull
54 
58  @NotNull
59  private final Map<MapView<G, A, R>, MapMouseListener<G, A, R>> mapUserListeners = new IdentityHashMap<>();
60 
65  @NotNull
67 
68  @Override
69  public void currentMapChanged(@Nullable final MapControl<G, A, R> mapControl) {
70  // ignore
71  }
72 
73  @Override
74  public void mapCreated(@NotNull final MapControl<G, A, R> mapControl, final boolean interactive) {
76  }
77 
78  @Override
79  public void mapClosing(@NotNull final MapControl<G, A, R> mapControl) {
80  // ignore
81  }
82 
83  @Override
84  public void mapClosed(@NotNull final MapControl<G, A, R> mapControl) {
86  }
87 
88  };
89 
94  @NotNull
96 
97  @Override
98  public void mapViewCreated(@NotNull final MapView<G, A, R> mapView) {
99  final MapMouseListener<G, A, R> mapMouseListener = new MapMouseListener<>(mapView.getRenderer(), toolPalette, mapView);
100  mapUserListeners.put(mapView, mapMouseListener);
101  }
102 
103  @Override
104  public void mapViewRaise(@NotNull final MapView<G, A, R> mapView) {
105  // ignore
106  }
107 
108  @Override
109  public void mapViewClosing(@NotNull final MapView<G, A, R> mapView) {
110  final MapMouseListener<G, A, R> mapMouseListener = mapUserListeners.remove(mapView);
111  assert mapMouseListener != null;
112  mapMouseListener.closeNotify();
113  }
114 
115  };
116 
123  this.toolPalette = toolPalette;
124  this.mapViewsManager = mapViewsManager;
125  }
126 
131  public void addMapManager(@NotNull final MapManager<G, A, R> mapManager) {
132  mapManager.addMapManagerListener(mapManagerListener);
133  }
134 
135 }
net.sf.gridarta.model.mapmanager
Definition: AbstractMapManager.java:20
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager
Definition: MapUserListenerManager.java:41
net.sf.gridarta.gui.panel
net.sf.gridarta.model.mapmanager.MapManager
Definition: MapManager.java:37
net.sf.gridarta.gui.mapuserlistener.MapMouseListener
Definition: MapMouseListener.java:43
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.toolPalette
final ToolPalette< G, A, R > toolPalette
Definition: MapUserListenerManager.java:47
net.sf.gridarta
net.sf
net.sf.gridarta.model.mapmanager.MapManagerListener
Definition: MapManagerListener.java:42
net.sf.gridarta.gui.map.mapview.MapViewsManager.removeMapViewsListener
void removeMapViewsListener(@NotNull final MapControl< G, A, R > mapControl, @NotNull final MapViewsListener< G, A, R > listener)
Definition: MapViewsManager.java:198
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.addMapManager
void addMapManager(@NotNull final MapManager< G, A, R > mapManager)
Definition: MapUserListenerManager.java:131
net.sf.gridarta.model.archetype
Definition: AbstractArchetype.java:20
net.sf.gridarta.model.gameobject.GameObject
Definition: GameObject.java:36
net.sf.gridarta.model.mapcontrol
Definition: DefaultMapControl.java:20
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.mapViewsManager
final MapViewsManager< G, A, R > mapViewsManager
Definition: MapUserListenerManager.java:53
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.mapViewsListener
final MapViewsListener< G, A, R > mapViewsListener
Definition: MapUserListenerManager.java:95
net.sf.gridarta.gui
net.sf.gridarta.model.gameobject
Definition: AbstractGameObject.java:20
net
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.mapUserListeners
final Map< MapView< G, A, R >, MapMouseListener< G, A, R > > mapUserListeners
Definition: MapUserListenerManager.java:59
net.sf.gridarta.model.maparchobject.MapArchObject
Definition: MapArchObject.java:40
net.sf.gridarta.gui.map.mapview
Definition: AbstractMapView.java:20
net.sf.gridarta.gui.map.mapview.MapView
Definition: MapView.java:43
net.sf.gridarta.gui.panel.tools
Definition: AbstractTool.java:20
net.sf.gridarta.gui.mapuserlistener.MapMouseListener.closeNotify
void closeNotify()
Definition: MapMouseListener.java:154
net.sf.gridarta.gui.map.mapview.MapViewsListener
Definition: MapViewsListener.java:33
net.sf.gridarta.gui.panel.tools.ToolPalette
Definition: ToolPalette.java:50
net.sf.gridarta.gui.map.mapview.MapViewsManager.addMapViewsListener
void addMapViewsListener(@NotNull final MapControl< G, A, R > mapControl, @NotNull final MapViewsListener< G, A, R > listener)
Definition: MapViewsManager.java:189
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.MapUserListenerManager
MapUserListenerManager(@NotNull final ToolPalette< G, A, R > toolPalette, @NotNull final MapViewsManager< G, A, R > mapViewsManager)
Definition: MapUserListenerManager.java:122
net.sf.gridarta.model
net.sf.gridarta.model.archetype.Archetype
Definition: Archetype.java:41
net.sf.gridarta.gui.map
Definition: AbstractPerMapDialogManager.java:20
net.sf.gridarta.gui.mapuserlistener.MapUserListenerManager.mapManagerListener
final MapManagerListener< G, A, R > mapManagerListener
Definition: MapUserListenerManager.java:66
net.sf.gridarta.model.mapcontrol.MapControl
Definition: MapControl.java:35
net.sf.gridarta.model.maparchobject
Definition: AbstractMapArchObject.java:20
net.sf.gridarta.gui.map.mapview.MapViewsManager
Definition: MapViewsManager.java:47