org.geotools.swing.tool
Class InfoTool

Object
  extended by MapMouseAdapter
      extended by CursorTool
          extended by InfoTool
All Implemented Interfaces:
MapMouseListener, TextReporterListener

public class InfoTool
extends CursorTool
implements TextReporterListener

A cursor tool to retrieve information about features that the user clicks on with the mouse. It works with InfoToolHelper objects which do the work of querying feature data. The primary reason for this design is to shield this class from the grid coverage classes so that users who are working purely with vector data are not forced to have JAI in the classpath.

Since:
2.6
Author:
Michael Bedward
See Also:
InfoToolHelper
Module:

Field Summary
static Point CURSOR_HOTSPOT
          Cursor hotspot coordinates
static String CURSOR_IMAGE
          Cursor
static double DEFAULT_DISTANCE_FRACTION
          Default distance fraction used with line and point features.
static String ICON_IMAGE
          Icon for the control
static String TOOL_NAME
          The tool name
static String TOOL_TIP
          Tool tip text
 
Constructor Summary
InfoTool()
          Constructor
 
Method Summary
 boolean drawDragBox()
          Query if the tool is one that draws a box on the map display when the mouse is being dragged (eg. to indicate a zoom area).
 Cursor getCursor()
          Get the cursor for this tool.
 void onMouseClicked(MapMouseEvent ev)
          Respond to a mouse click by querying each of the MapLayers.
 void onReporterClosed(WindowEvent ev)
          Called when a JTextReporter frame that was being used by this tool is closed by the user
 void onReporterUpdated(int newTextStartLine)
          Empty method.
 
Methods inherited from class CursorTool
getMapPane, setMapPane
 
Methods inherited from class MapMouseAdapter
onMouseDragged, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onMouseWheelMoved
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOOL_NAME

public static final String TOOL_NAME
The tool name


TOOL_TIP

public static final String TOOL_TIP
Tool tip text


CURSOR_IMAGE

public static final String CURSOR_IMAGE
Cursor

See Also:
Constant Field Values

CURSOR_HOTSPOT

public static final Point CURSOR_HOTSPOT
Cursor hotspot coordinates


ICON_IMAGE

public static final String ICON_IMAGE
Icon for the control

See Also:
Constant Field Values

DEFAULT_DISTANCE_FRACTION

public static final double DEFAULT_DISTANCE_FRACTION
Default distance fraction used with line and point features. When the user clicks on the map, this tool searches for features within a rectangle of width w centred on the mouse location, where w is the average map side length multiplied by the value of this constant.

See Also:
Constant Field Values
Constructor Detail

InfoTool

public InfoTool()
Constructor

Method Detail

onMouseClicked

public void onMouseClicked(MapMouseEvent ev)
Respond to a mouse click by querying each of the MapLayers. The details of features lying within the threshold distance of the mouse position are reported on screen using a JTextReporter dialog.

Implementation note: An instance of InfoToolHelper is created and cached for each of the MapLayers. The helpers are created using reflection to avoid direct references to grid coverage classes here that would required JAI (Java Advanced Imaging) to be on the classpath even when only vector layers are being used.

Specified by:
onMouseClicked in interface MapMouseListener
Overrides:
onMouseClicked in class MapMouseAdapter
Parameters:
ev - mouse event
See Also:
JTextReporter, InfoToolHelper

getCursor

public Cursor getCursor()
Description copied from class: CursorTool
Get the cursor for this tool. Sub-classes should override this method to provide a custom cursor.

Overrides:
getCursor in class CursorTool
Returns:
the default cursor

drawDragBox

public boolean drawDragBox()
Query if the tool is one that draws a box on the map display when the mouse is being dragged (eg. to indicate a zoom area).

Overrides:
drawDragBox in class CursorTool
Returns:
Always returns false

onReporterClosed

public void onReporterClosed(WindowEvent ev)
Called when a JTextReporter frame that was being used by this tool is closed by the user

Specified by:
onReporterClosed in interface TextReporterListener
Parameters:
ev - event published by the JTextReporter

onReporterUpdated

public void onReporterUpdated(int newTextStartLine)
Empty method. Defined to satisfy the TextReporterListener interface.

Specified by:
onReporterUpdated in interface TextReporterListener
Parameters:
newTextStartLine -


Copyright © 1996-2010 Geotools. All Rights Reserved.