Go to the documentation of this file.
20 package net.sf.gridarta.gui.mapdesktop;
22 import java.beans.PropertyVetoException;
23 import java.util.IdentityHashMap;
24 import java.util.Iterator;
26 import javax.swing.Action;
27 import javax.swing.Icon;
28 import javax.swing.ImageIcon;
29 import javax.swing.JDesktopPane;
30 import javax.swing.JInternalFrame;
31 import javax.swing.JMenu;
32 import javax.swing.event.InternalFrameEvent;
33 import javax.swing.event.InternalFrameListener;
47 import net.
sf.japi.swing.action.ActionBuilder;
48 import net.
sf.japi.swing.action.ActionBuilderFactory;
49 import net.
sf.japi.swing.action.ActionMethod;
50 import org.apache.log4j.Category;
51 import org.apache.log4j.Logger;
52 import org.jetbrains.annotations.NotNull;
53 import org.jetbrains.annotations.Nullable;
72 private static final ActionBuilder
ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder(
"net.sf.gridarta");
141 public void mapCreated(@NotNull
final MapControl<G, A, R> mapControl,
final boolean interactive) {
190 while (it.hasNext()) {
204 public MapDesktop(@NotNull
final MapViewManager<G, A, R> mapViewManager, @NotNull
final MapManager<G, A, R> mapManager, @NotNull
final MapImageCache<G, A, R> mapImageCache, @NotNull
final MapViewsManager<G, A, R> mapViewsManager) {
221 final JInternalFrame internalFrame = mapView.getInternalFrame();
222 if (internalFrame.isIcon()) {
224 internalFrame.setIcon(
false);
225 }
catch (
final PropertyVetoException e) {
232 internalFrame.requestFocus();
233 internalFrame.restoreSubcomponentFocus();
241 final JInternalFrame internalFrame = mapView.getInternalFrame();
247 remove(internalFrame);
251 if (getSelectedFrame() == mapView) {
252 setSelectedFrame(
null);
254 internalFrame.dispose();
270 final JInternalFrame internalFrame = mapView.getInternalFrame();
271 final MapViewFrameListener mapViewFrameListener =
new MapViewFrameListener(mapView);
275 internalFrame.addInternalFrameListener(mapViewFrameListener);
279 internalFrame.setVisible(
true);
280 internalFrame.setBounds(0, 0, getWidth(), getHeight());
282 internalFrame.setMaximum(
true);
283 }
catch (
final PropertyVetoException e) {
284 LOG.error(
"PropertyVetoException: " + e);
295 assert windowAction !=
null;
297 mapView.getInternalFrame().setFrameIcon(icon);
298 windowAction.putValue(Action.SMALL_ICON, icon);
309 assert windowAction !=
null;
311 menu.add(windowAction);
321 final JInternalFrame internalFrame = mapView.getInternalFrame();
322 internalFrame.moveToFront();
323 setSelectedFrame(internalFrame);
354 final JInternalFrame internalFrame = mapView.getInternalFrame();
355 if (internalFrame.isIcon()) {
356 if (!careAboutIconification) {
358 internalFrame.setIcon(
false);
359 }
catch (
final PropertyVetoException e) {
438 public void setAction(@NotNull
final Action action, @NotNull
final String name) {
439 if (name.equals(
"prevWindow")) {
441 }
else if (name.equals(
"nextWindow")) {
444 throw new IllegalArgumentException(
"unsupported action name: " + name);
void internalFrameActivated(@NotNull final InternalFrameEvent e)
void deactivateMapView(@NotNull final MapView< G, A, R > mapView)
final MapViewsManager< G, A, R > mapViewsManager
static final long serialVersionUID
final MapManagerListener< G, A, R > mapManagerListener
Iterator< MapView< G, A, R > > getMapViewIterator(@NotNull final MapControl< G, A, R > mapControl)
static final ActionBuilder ACTION_BUILDER
boolean doNextWindow(final boolean performAction)
void removeMapViewsListener(@NotNull final MapControl< G, A, R > mapControl, @NotNull final MapViewsListener< G, A, R > listener)
void updateFocus(final boolean careAboutIconification)
void addMapManagerListener(@NotNull MapManagerListener< G, A, R > listener)
boolean doNextWindow(final boolean performAction)
final MapManager< G, A, R > mapManager
final MapView< G, A, R > mapView
final void setIndex(final int index)
void internalFrameIconified(@NotNull final InternalFrameEvent e)
final MapImageCacheListener< G, A, R > mapImageCacheListener
void setCurrentMapView(@NotNull final MapView< G, A, R > mapView)
void addMapView(@NotNull final MapView< G, A, R > mapView)
void internalFrameDeiconified(@NotNull final InternalFrameEvent e)
boolean doPrevWindow(final boolean performAction)
Image getOrCreateIcon(@NotNull final File mapFile)
void mapViewFocusGainedNotify(@NotNull final MapView< G, A, R > mapView)
void closeMapView(@NotNull final MapView< G, A, R > mapView)
final MapViewManager< G, A, R > mapViewManager
void internalFrameClosing(@NotNull final InternalFrameEvent e)
static final Category LOG
void updateFrameIcon(@NotNull final MapView< G, A, R > mapView)
MapDesktop(@NotNull final MapViewManager< G, A, R > mapViewManager, @NotNull final MapManager< G, A, R > mapManager, @NotNull final MapImageCache< G, A, R > mapImageCache, @NotNull final MapViewsManager< G, A, R > mapViewsManager)
void addWindowAction(@NotNull final JMenu menu, @NotNull final MapView< G, A, R > mapView, final int index)
void internalFrameOpened(@NotNull final InternalFrameEvent e)
void addMapImageCacheListener(@NotNull final MapImageCacheListener< G, A, R > listener)
final MapViewsListener< G, A, R > mapViewsListener
final Map< MapView< G, A, R >, MapViewFrameListener > mapViewFrameListeners
void activateAndRaiseMapView(@NotNull final MapView< G, A, R > mapView)
final Map< MapView< G, A, R >, WindowAction< G, A, R > > windowActions
void setActiveMapView(@NotNull final MapView< G, A, R > mapView)
void addMapViewsListener(@NotNull final MapControl< G, A, R > mapControl, @NotNull final MapViewsListener< G, A, R > listener)
final MapImageCache< G, A, R > mapImageCache
void removeMapView(@NotNull final MapView< G, A, R > mapView)
boolean doPrevWindow(final boolean performAction)
void activateMapView(@NotNull final MapView< G, A, R > mapView)
void internalFrameClosed(@NotNull final InternalFrameEvent e)
void internalFrameDeactivated(@NotNull final InternalFrameEvent e)
void mapViewFocusLostNotify(@NotNull final MapView< G, A, R > mapView)
void setFocus(@NotNull final MapView< G, A, R > mapView)
void setCurrentMap(@Nullable MapControl< G, A, R > mapControl)
void setAction(@NotNull final Action action, @NotNull final String name)
void removeMapView(@NotNull final MapView< G, A, R > mapView)
void addMapView(@NotNull final MapView< G, A, R > mapView)
MapViewFrameListener(@NotNull final MapView< G, A, R > mapView)