fr.lip6.sma.simulacion.app.map
Class MapPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by fr.lip6.sma.simulacion.app.map.MapPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
MapComponentPanel, MapMultiCellPanel, MapRegionPanel

public abstract class MapPanel
extends JPanel

Classe de base pour le panneau qui gère la carte.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
MapTest, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  boolean mAllowMultipleSelection
          Si on peut choisir plusieurs agents à la fois.
private  String mLocalAgentName
          Nom de l'agent local, null si l'agent local n'est pas sur la carte.
private  MapPanelListener mMapListener
          Référence sur l'objet pour gérer les événements dans la carte.
private  Set mSelectedAgents
          Ensemble des agents choisis.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected MapPanel(MapPanelListener inMapListener, String inLocalAgentName)
          Constructeur à partir du client et du nom de l'agent local.
 
Method Summary
protected  boolean getAllowMultipleSelection()
          Accesseur sur la possibilité de choisir plusieurs agents à la fois.
 String getLocalAgentName()
          Accesseur sur le nom de l'agent local ou null si l'agent local n'est pas sur la carte.
protected  MapPanelListener getMapListener()
          Accesseur sur le client.
 Set getSelectedAgents()
          Accesseur sur une copie de l'ensemble des agents choisis.
protected  Set getSelectedAgentsSet()
          Accesseur sur l'ensemble des agents choisis.
static boolean isAgentOnMap(Configuration inConfiguration, String inAgentName)
          Détermine si un agent est sur la carte à partir de son nom (et de la configuration).
 void selectAgent(String inAgentName)
          Méthode pour choisir un agent.
 void selectAgents(Set inAgentNames)
          Méthode pour choisir des agents.
 void setAllowMultipleSelection(boolean inAllowMultipleSelection)
          Détermine si on peut choisir plus d'un agent à la fois.
protected abstract  void updateSelection(Set inSelectedAgents)
          Méthode appelée lorsque la sélection a changé.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mMapListener

private final MapPanelListener mMapListener
Référence sur l'objet pour gérer les événements dans la carte.


mLocalAgentName

private final String mLocalAgentName
Nom de l'agent local, null si l'agent local n'est pas sur la carte.


mSelectedAgents

private final Set mSelectedAgents
Ensemble des agents choisis. Les éléments sont les noms des agents.


mAllowMultipleSelection

private boolean mAllowMultipleSelection
Si on peut choisir plusieurs agents à la fois.

Constructor Detail

MapPanel

protected MapPanel(MapPanelListener inMapListener,
                   String inLocalAgentName)
Constructeur à partir du client et du nom de l'agent local.

Parameters:
inMapListener - référence sur le client.
inLocalAgentName - nom de l'agent local, null si l'agent local n'est pas sur la carte.
Method Detail

getSelectedAgentsSet

protected final Set getSelectedAgentsSet()
Accesseur sur l'ensemble des agents choisis.

Returns:
l'ensemble des agents choisis (une copie)

getSelectedAgents

public final Set getSelectedAgents()
Accesseur sur une copie de l'ensemble des agents choisis.

Returns:
l'ensemble des agents choisis (une copie)

getMapListener

protected final MapPanelListener getMapListener()
Accesseur sur le client.

Returns:
le client de cette carte.

getLocalAgentName

public final String getLocalAgentName()
Accesseur sur le nom de l'agent local ou null si l'agent local n'est pas sur la carte.

Returns:
le nom de l'agent local.

getAllowMultipleSelection

protected final boolean getAllowMultipleSelection()
Accesseur sur la possibilité de choisir plusieurs agents à la fois.

Returns:
true si on peut choisir plus d'un agent à la fois.

setAllowMultipleSelection

public final void setAllowMultipleSelection(boolean inAllowMultipleSelection)
Détermine si on peut choisir plus d'un agent à la fois.

Parameters:
inAllowMultipleSelection - si on peut choisir plus d'un agent.

selectAgent

public final void selectAgent(String inAgentName)
Méthode pour choisir un agent. Cette méthode est appelée par la fenêtre principale et on ne va pas la rappeler pour lui dire que le choix a changé.

Parameters:
inAgentName - nom de l'agent.

selectAgents

public final void selectAgents(Set inAgentNames)
Méthode pour choisir des agents. Cette méthode est appelée par la fenêtre principale et on ne va pas la rappeler pour lui dire que le choix a changé.

Parameters:
inAgentNames - nom des agents.

isAgentOnMap

public static final boolean isAgentOnMap(Configuration inConfiguration,
                                         String inAgentName)
Détermine si un agent est sur la carte à partir de son nom (et de la configuration).

Parameters:
inConfiguration - configuration générale.
inAgentName - nom de l'agent à tester.
Returns:
true si l'agent est sur la carte, false sinon.

updateSelection

protected abstract void updateSelection(Set inSelectedAgents)
Méthode appelée lorsque la sélection a changé.

Parameters:
inSelectedAgents - la liste des noms des agents sélectionnés. (le processus léger courant possède le moniteur dessus).