Class GeoMapViewer
- java.lang.Object
-
- org.eclipse.jface.viewers.Viewer
-
- org.eclipse.jface.viewers.ContentViewer
-
- org.eclipse.nebula.widgets.geomap.jface.GeoMapViewer
-
- All Implemented Interfaces:
org.eclipse.jface.viewers.IInputProvider
,org.eclipse.jface.viewers.IInputSelectionProvider
,org.eclipse.jface.viewers.ISelectionProvider
public class GeoMapViewer extends org.eclipse.jface.viewers.ContentViewer
A JFace viewer for the GeoMap widget, that shows the geo-location of the input elements. The LocationProvider maps the input elements to geo-locations
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
GeoMapViewer.MovePinMouseHandler
-
Field Summary
Fields Modifier and Type Field Description static int
CLIP_ON_ELEMENT_POSITION
Constant indicating the location markers should be clipped, based on their positionstatic int
CLIP_ON_IMAGE_BOUNDS
Constant indicating the location markers should be clipped, based on the bounding box of their imageprivate int
clipRule
private GeoMap
geoMap
private org.eclipse.jface.window.ToolTip
lastToolTip
private LocationProvider
locationProvider
private static int
MAX_ZOOM_TO
private DefaultMouseHandler
mouseHandler
static int
MOVE_SELECTION_ALLOW_CHECK_IMMEDIATE
Constant indicating the selection will be moved immediately, using the LocationProvider's set methodstatic int
MOVE_SELECTION_ALLOW_CHECK_LATE
Constant indicating the selection will be moveable, but the actual move is performed using the LocationProvider's set method, when droppingstatic int
MOVE_SELECTION_NONE
Constant indicating the selection cannot be moved, i.e.private int
moveSelectionMode
static int
NO_CLIP
Constant indicating that location markers should not be clippedprivate int
revealMargin
private java.lang.Object
selection
private org.eclipse.swt.graphics.Point
selectionOffset
private int
thumbSize
private org.eclipse.jface.window.ToolTip
toolTip
-
Constructor Summary
Constructors Constructor Description GeoMapViewer(GeoMap geoMap)
Creates a GeoMapViewer for a specific GeoMapGeoMapViewer(org.eclipse.swt.widgets.Composite parent, int flags)
Creates a GeoMapViewer with a default GeoMap inside a specific Composite
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.Object
doContent(java.lang.Object element, org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle contain, java.lang.Object selection)
private java.lang.Object
doContents(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle contain, java.lang.Object selection)
private org.eclipse.swt.graphics.Rectangle
getBounds(java.lang.Object[] elements)
org.eclipse.swt.widgets.Control
getControl()
java.lang.Object
getElementAt(int x, int y, int thumbSize)
Gets the element found within the rectangle of the given position and sizeprivate org.eclipse.swt.graphics.Point
getElementPosition(java.lang.Object element, org.eclipse.swt.graphics.Point into, boolean mapRelative)
private java.lang.Object[]
getElements()
GeoMap
getGeoMap()
Returns the underlying GeoMap controlLocationProvider
getLocationProvider()
Returns the location provider for this GeoMapViewer.int
getMoveSelectionMode()
Gets the current move modeorg.eclipse.jface.viewers.ISelection
getSelection()
org.eclipse.jface.window.ToolTip
getToolTip()
Gets the current ToolTipprotected void
handleDispose(org.eclipse.swt.events.DisposeEvent event)
protected void
handleLabelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent event)
private void
handleToolTip(int x, int y)
(package private) void
handleToolTip(org.eclipse.swt.events.MouseEvent e)
(package private) void
handleToolTip(org.eclipse.swt.widgets.Event e)
protected void
inputChanged(java.lang.Object input, java.lang.Object oldInput)
private void
paintOverlay(org.eclipse.swt.events.PaintEvent e)
void
refresh()
void
reveal(java.lang.Object selection, boolean center)
Pans the viewer so the element is revealedvoid
revealAll()
Pans and zooms so all elements are revealed.void
setClipRule(int clipRule)
Sets the clipping rulevoid
setLocationProvider(LocationProvider locationProvider)
Sets the location provider for this GeoMapViewer.void
setMoveSelectionMode(int moveSelectionMode)
Sets the current move mode, one of MOVE_SELECTION_NONE, MOVE_SELECTION_ALLOW_CHECK_IMMEDIATE or MOVE_SELECTION_ALLOW_CHECK_LATEprivate void
setSelection(java.lang.Object selection)
void
setSelection(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
void
zoomTo(java.lang.Object[] elements, int maxZoom)
Zooms out so all elements are revealed, but only upto a certain zoom level.-
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, getLabelProvider, hookControl, labelProviderChanged, setContentProvider, setInput, setLabelProvider
-
-
-
-
Field Detail
-
geoMap
private GeoMap geoMap
-
locationProvider
private LocationProvider locationProvider
-
selection
private java.lang.Object selection
-
selectionOffset
private org.eclipse.swt.graphics.Point selectionOffset
-
mouseHandler
private DefaultMouseHandler mouseHandler
-
NO_CLIP
public static int NO_CLIP
Constant indicating that location markers should not be clipped
-
CLIP_ON_ELEMENT_POSITION
public static int CLIP_ON_ELEMENT_POSITION
Constant indicating the location markers should be clipped, based on their position
-
CLIP_ON_IMAGE_BOUNDS
public static int CLIP_ON_IMAGE_BOUNDS
Constant indicating the location markers should be clipped, based on the bounding box of their image
-
clipRule
private int clipRule
-
revealMargin
private int revealMargin
-
MOVE_SELECTION_NONE
public static final int MOVE_SELECTION_NONE
Constant indicating the selection cannot be moved, i.e. its location is read-only- See Also:
- Constant Field Values
-
MOVE_SELECTION_ALLOW_CHECK_IMMEDIATE
public static final int MOVE_SELECTION_ALLOW_CHECK_IMMEDIATE
Constant indicating the selection will be moved immediately, using the LocationProvider's set method- See Also:
- Constant Field Values
-
MOVE_SELECTION_ALLOW_CHECK_LATE
public static final int MOVE_SELECTION_ALLOW_CHECK_LATE
Constant indicating the selection will be moveable, but the actual move is performed using the LocationProvider's set method, when dropping- See Also:
- Constant Field Values
-
moveSelectionMode
private int moveSelectionMode
-
toolTip
private org.eclipse.jface.window.ToolTip toolTip
-
lastToolTip
private org.eclipse.jface.window.ToolTip lastToolTip
-
thumbSize
private int thumbSize
-
MAX_ZOOM_TO
private static final int MAX_ZOOM_TO
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GeoMapViewer
public GeoMapViewer(GeoMap geoMap)
Creates a GeoMapViewer for a specific GeoMap- Parameters:
geoMap
- the GeoMap
-
GeoMapViewer
public GeoMapViewer(org.eclipse.swt.widgets.Composite parent, int flags)
Creates a GeoMapViewer with a default GeoMap inside a specific Composite- Parameters:
parent
- the parent Compositeflags
- the SWT options
-
-
Method Detail
-
handleDispose
protected void handleDispose(org.eclipse.swt.events.DisposeEvent event)
- Overrides:
handleDispose
in classorg.eclipse.jface.viewers.ContentViewer
-
handleLabelProviderChanged
protected void handleLabelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent event)
- Overrides:
handleLabelProviderChanged
in classorg.eclipse.jface.viewers.ContentViewer
-
getLocationProvider
public LocationProvider getLocationProvider()
Returns the location provider for this GeoMapViewer.- Returns:
- the location provider
-
setLocationProvider
public void setLocationProvider(LocationProvider locationProvider)
Sets the location provider for this GeoMapViewer. The location provider determines where the icon for each element is placed.- Parameters:
locationProvider
- the location provider
-
paintOverlay
private void paintOverlay(org.eclipse.swt.events.PaintEvent e)
-
getElements
private java.lang.Object[] getElements()
-
doContents
private java.lang.Object doContents(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle contain, java.lang.Object selection)
-
getElementAt
public java.lang.Object getElementAt(int x, int y, int thumbSize)
Gets the element found within the rectangle of the given position and size- Parameters:
x
- the x coordinate of center of the rectangley
- the y coordinate of center of the rectanglethumbSize
- the width and height of the rectangle- Returns:
- the element found or null, if none where found
-
setClipRule
public void setClipRule(int clipRule)
Sets the clipping rule- Parameters:
clipRule
- the clipping rule, one of the constants NO_CLIP, CLIP_ON_ELEMENT_POSITION or CLIP_ON_IMAGE_BOUNDS
-
doContent
private java.lang.Object doContent(java.lang.Object element, org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle contain, java.lang.Object selection)
-
getElementPosition
private org.eclipse.swt.graphics.Point getElementPosition(java.lang.Object element, org.eclipse.swt.graphics.Point into, boolean mapRelative)
-
getControl
public org.eclipse.swt.widgets.Control getControl()
- Specified by:
getControl
in classorg.eclipse.jface.viewers.Viewer
-
getGeoMap
public GeoMap getGeoMap()
Returns the underlying GeoMap control- Returns:
- the underlying GeoMap control
-
getSelection
public org.eclipse.jface.viewers.ISelection getSelection()
- Specified by:
getSelection
in interfaceorg.eclipse.jface.viewers.ISelectionProvider
- Specified by:
getSelection
in classorg.eclipse.jface.viewers.Viewer
-
refresh
public void refresh()
- Specified by:
refresh
in classorg.eclipse.jface.viewers.Viewer
-
inputChanged
protected void inputChanged(java.lang.Object input, java.lang.Object oldInput)
- Overrides:
inputChanged
in classorg.eclipse.jface.viewers.Viewer
-
setSelection
public void setSelection(org.eclipse.jface.viewers.ISelection selection, boolean reveal)
- Specified by:
setSelection
in classorg.eclipse.jface.viewers.Viewer
-
reveal
public void reveal(java.lang.Object selection, boolean center)
Pans the viewer so the element is revealed- Parameters:
selection
- the element to revealcenter
- whether to center on the element
-
revealAll
public void revealAll()
Pans and zooms so all elements are revealed.
-
setSelection
private void setSelection(java.lang.Object selection)
-
setMoveSelectionMode
public void setMoveSelectionMode(int moveSelectionMode)
Sets the current move mode, one of MOVE_SELECTION_NONE, MOVE_SELECTION_ALLOW_CHECK_IMMEDIATE or MOVE_SELECTION_ALLOW_CHECK_LATE- Parameters:
moveSelectionMode
-
-
getMoveSelectionMode
public int getMoveSelectionMode()
Gets the current move mode- Returns:
- the current move mode
-
getToolTip
public org.eclipse.jface.window.ToolTip getToolTip()
Gets the current ToolTip- Returns:
- the current ToolTip
-
handleToolTip
void handleToolTip(org.eclipse.swt.widgets.Event e)
-
handleToolTip
void handleToolTip(org.eclipse.swt.events.MouseEvent e)
-
handleToolTip
private void handleToolTip(int x, int y)
-
getBounds
private org.eclipse.swt.graphics.Rectangle getBounds(java.lang.Object[] elements)
-
zoomTo
public void zoomTo(java.lang.Object[] elements, int maxZoom)
Zooms out so all elements are revealed, but only upto a certain zoom level.- Parameters:
elements
- the elements to revealmaxZoom
- the maximum zoom
-
-