Package microsim.gui.space
Class LayerMultiObjectGridDrawer
- java.lang.Object
-
- microsim.gui.space.LayerMultiObjectGridDrawer
-
- All Implemented Interfaces:
ILayerDrawer
,ILayerMouseListener
public class LayerMultiObjectGridDrawer extends java.lang.Object implements ILayerDrawer
It is able to draw objects contained by a MultiObjGrid on a LayeredSurfaceFrame.
When on a cell there is at least one object it is represented by a circle. The objects are drawn using one given color.Title: JAS
Description: Java Agent-based Simulation library
Copyright (C) 2002 Michele Sonnessa
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.- Author:
- Michele Sonnessa
-
-
Constructor Summary
Constructors Constructor Description LayerMultiObjectGridDrawer(java.lang.String name, microsim.space.MultiObjectSpace matrix, java.awt.Color color)
Create a new object drawer based on a given MultiObjGrid object.LayerMultiObjectGridDrawer(java.lang.String name, microsim.space.MultiObjectSpace matrix, java.lang.String agentProperty, ColorMap map)
Create a new object drawer based on a given MultiObjGrid object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDescription()
Return the name of the layer.boolean
isDisplayed()
Return if the layer is currently displayed on the LayeredSurfaceFrame.void
paint(java.awt.Graphics g, int cellLen)
Draw the layer using the given cell length.boolean
performDblClickActionAt(int atX, int atY)
If a mouse listener has been defined the double-click event, it is passed to it, otherwise it is shown a CellObjectChooser that allows the user to choose which object to be probed.boolean
performMouseMovedFromTo(int fromX, int fromY, int toX, int toY)
If a mouse listener has been defined the mouse dragging event, it is passed to it, otherwise it is returned false.boolean
performRightClickActionAt(int atX, int atY)
If a mouse listener has been defined the right-click event, it is passed to it, otherwise it is returned false.void
setDisplay(boolean display)
Decide if layer has to be painted or not.void
setMouseListener(ILayerMouseListener listener)
Set a manager for mouse events.
-
-
-
Constructor Detail
-
LayerMultiObjectGridDrawer
public LayerMultiObjectGridDrawer(java.lang.String name, microsim.space.MultiObjectSpace matrix, java.awt.Color color)
Create a new object drawer based on a given MultiObjGrid object. It plots the objects using the given color.- Parameters:
name
- The string describing the layer.matrix
- A MultiObjGrid object.color
- The default color used to plot objects.
-
LayerMultiObjectGridDrawer
public LayerMultiObjectGridDrawer(java.lang.String name, microsim.space.MultiObjectSpace matrix, java.lang.String agentProperty, ColorMap map)
Create a new object drawer based on a given MultiObjGrid object. It plots the objects using the color of the first object found on each cell.- Parameters:
name
- The string describing the layer.matrix
- A MultiObjGrid object.
-
-
Method Detail
-
isDisplayed
public boolean isDisplayed()
Return if the layer is currently displayed on the LayeredSurfaceFrame.- Specified by:
isDisplayed
in interfaceILayerDrawer
- Returns:
- True if it is currently painted, false otherwise.
-
setDisplay
public void setDisplay(boolean display)
Decide if layer has to be painted or not.- Specified by:
setDisplay
in interfaceILayerDrawer
- Parameters:
display
- True if you want the layer to be painted, false otherwise.
-
getDescription
public java.lang.String getDescription()
Return the name of the layer.- Specified by:
getDescription
in interfaceILayerDrawer
- Returns:
- The name passed to the constructor.
-
paint
public void paint(java.awt.Graphics g, int cellLen)
Draw the layer using the given cell length.- Specified by:
paint
in interfaceILayerDrawer
- Parameters:
g
- The graphic context passed by container.cellLen
- The length of a cell in pixels.
-
setMouseListener
public void setMouseListener(ILayerMouseListener listener)
Set a manager for mouse events. If not defined, mouse events are managed by the class itself.- Parameters:
listener
- A ILayerMouseListener object.
-
performDblClickActionAt
public boolean performDblClickActionAt(int atX, int atY)
If a mouse listener has been defined the double-click event, it is passed to it, otherwise it is shown a CellObjectChooser that allows the user to choose which object to be probed.- Specified by:
performDblClickActionAt
in interfaceILayerMouseListener
- Parameters:
atX
- The x coordinate of the clicked cell.atY
- The y coordinate of the clicked cell.- Returns:
- always true if no mouse listener is defined. This value is used by caller to know if the layer wants to manage the event.
-
performRightClickActionAt
public boolean performRightClickActionAt(int atX, int atY)
If a mouse listener has been defined the right-click event, it is passed to it, otherwise it is returned false.- Specified by:
performRightClickActionAt
in interfaceILayerMouseListener
- Parameters:
atX
- The x coordinate of the clicked cell.atY
- The y coordinate of the clicked cell.- Returns:
- always false if no mouse listener is defined. This value is used by caller to know if the layer wants to manage the event.
-
performMouseMovedFromTo
public boolean performMouseMovedFromTo(int fromX, int fromY, int toX, int toY)
If a mouse listener has been defined the mouse dragging event, it is passed to it, otherwise it is returned false.- Specified by:
performMouseMovedFromTo
in interfaceILayerMouseListener
- Parameters:
fromX
- The x coordinate of the starting cell.fromY
- The y coordinate of the starting cell.toX
- The x coordinate of the last dragged cell.toY
- The y coordinate of the last dragged cell.- Returns:
- always false if no mouse listener is defined. This value is used by caller to know if the layer wants to manage the event.
-
-