org.geotools.swt.tool
Class ZoomInTool

Object
  extended by MapMouseAdapter
      extended by CursorTool
          extended by AbstractZoomTool
              extended by ZoomInTool
All Implemented Interfaces:
MapMouseListener

public class ZoomInTool
extends AbstractZoomTool

A zoom-in tool for JMapPane.

For mouse clicks, the display will be zoomed-in such that the map centre is the position of the mouse click and the map width and height are calculated as:

   len = len.old / z 
where z is the linear zoom increment (>= 1.0)

The tool also responds to the user drawing a box on the map mapPane with mouse click-and-drag to define the zoomed-in area.

Author:
Michael Bedward, Andrea Antonello (www.hydrologis.com)

Field Summary
static String TOOL_NAME
          Tool name
static String TOOL_TIP
          Tool tip text
 
Fields inherited from class AbstractZoomTool
DEFAULT_ZOOM_FACTOR, zoom
 
Fields inherited from class CursorTool
ANY_BUTTON
 
Constructor Summary
ZoomInTool()
          Constructs a new zoom in tool which is triggered by any mouse button.
ZoomInTool(int triggerButtonMask)
          Constructs a new zoom in tool.
 
Method Summary
 boolean canDraw()
          Checks if the tool can draw when dragging.
 boolean canMove()
          Checks if the tool can move the map when dragging.
 Cursor getCursor()
          Get the mouse cursor for this tool
 boolean isDrawing()
          Returns true for any tool which is drawing while dragging.
 void onMouseClicked(MapMouseEvent e)
          Zoom in by the currently set increment, with the map centred at the location (in world coords) of the mouse click
 void onMouseDragged(MapMouseEvent ev)
          Records that the mouse is being dragged
 void onMousePressed(MapMouseEvent ev)
          Records the map position of the mouse event in case this button press is the beginning of a mouse drag
 void onMouseReleased(MapMouseEvent ev)
          If the mouse was dragged, determines the bounds of the box that the user defined and passes this to the mapPane's AbstractMapPane.setDisplayArea(org.opengis.geometry.Envelope) method
static double pythagoras(double d1, double d2)
           
 
Methods inherited from class AbstractZoomTool
getZoom, setZoom
 
Methods inherited from class CursorTool
getMapPane, isTriggerMouseButton, setMapPane
 
Methods inherited from class MapMouseAdapter
onMouseEntered, onMouseExited, onMouseMoved, 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
Tool name


TOOL_TIP

public static final String TOOL_TIP
Tool tip text

Constructor Detail

ZoomInTool

public ZoomInTool(int triggerButtonMask)
Constructs a new zoom in tool. To activate the tool only on certain mouse events provide a single mask, e.g. SWT.BUTTON1, or a combination of multiple SWT-masks.

Parameters:
triggerButtonMask - Mouse button which triggers the tool's activation or if the tool is to be triggered by any button

ZoomInTool

public ZoomInTool()
Constructs a new zoom in tool which is triggered by any mouse button.

Method Detail

onMouseClicked

public void onMouseClicked(MapMouseEvent e)
Zoom in by the currently set increment, with the map centred at the location (in world coords) of the mouse click

Specified by:
onMouseClicked in interface MapMouseListener
Overrides:
onMouseClicked in class MapMouseAdapter
Parameters:
e - map mapPane mouse event

onMousePressed

public void onMousePressed(MapMouseEvent ev)
Records the map position of the mouse event in case this button press is the beginning of a mouse drag

Specified by:
onMousePressed in interface MapMouseListener
Overrides:
onMousePressed in class MapMouseAdapter
Parameters:
ev - the mouse event

onMouseDragged

public void onMouseDragged(MapMouseEvent ev)
Records that the mouse is being dragged

Specified by:
onMouseDragged in interface MapMouseListener
Overrides:
onMouseDragged in class MapMouseAdapter
Parameters:
ev - the mouse event

onMouseReleased

public void onMouseReleased(MapMouseEvent ev)
If the mouse was dragged, determines the bounds of the box that the user defined and passes this to the mapPane's AbstractMapPane.setDisplayArea(org.opengis.geometry.Envelope) method

Specified by:
onMouseReleased in interface MapMouseListener
Overrides:
onMouseReleased in class MapMouseAdapter
Parameters:
ev - the mouse event

getCursor

public Cursor getCursor()
Get the mouse cursor for this tool

Overrides:
getCursor in class CursorTool
Returns:
the default cursor

canDraw

public boolean canDraw()
Description copied from class: CursorTool
Checks if the tool can draw when dragging.

Specified by:
canDraw in class CursorTool
Returns:
true if the tool can draw.

canMove

public boolean canMove()
Description copied from class: CursorTool
Checks if the tool can move the map when dragging.

Specified by:
canMove in class CursorTool
Returns:
true if the tool can move the map while dragging.

isDrawing

public boolean isDrawing()
Description copied from class: CursorTool
Returns true for any tool which is drawing while dragging. For tools which are triggered only by a certain mouse event it might be the case that CursorTool.canDraw() is true while they are actually not active.

Overrides:
isDrawing in class CursorTool
Returns:
true if the tool is drawing while dragging

pythagoras

public static double pythagoras(double d1,
                                double d2)


Copyright © 1996-2014 Geotools. All Rights Reserved.