Class GeoImageLayer
- java.lang.Object
-
- org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable
-
- org.openstreetmap.josm.gui.layer.Layer
-
- org.openstreetmap.josm.gui.layer.AbstractModifiableLayer
-
- org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer
-
- All Implemented Interfaces:
ImageData.ImageDataUpdateListener,Lockable,ProjectionChangeListener,DownloadFromServer,IGeoImageLayer,JumpToMarkerActions.JumpToMarkerLayer,MapViewPaintable,SaveToFile,UploadToServer,NavigatableComponent.ZoomChangeListener,Destroyable
- Direct Known Subclasses:
WikimediaCommonsLayer
public class GeoImageLayer extends AbstractModifiableLayer implements JumpToMarkerActions.JumpToMarkerLayer, NavigatableComponent.ZoomChangeListener, ImageData.ImageDataUpdateListener, IGeoImageLayer
Layer displaying geotagged pictures.- Since:
- 99
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classGeoImageLayer.ImageMouseListener-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.layer.Layer
Layer.LayerAction, Layer.LayerGpxExportAction, Layer.LayerSaveAction, Layer.LayerSaveAsAction, Layer.MultiLayerAction, Layer.SeparatorLayerAction
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable
AbstractMapViewPaintable.CompatibilityModeLayerPainter
-
Nested classes/interfaces inherited from interface org.openstreetmap.josm.gui.layer.geoimage.IGeoImageLayer
IGeoImageLayer.ImageChangeListener
-
Nested classes/interfaces inherited from interface org.openstreetmap.josm.gui.layer.MapViewPaintable
MapViewPaintable.LayerPainter, MapViewPaintable.MapViewEvent, MapViewPaintable.PaintableInvalidationEvent, MapViewPaintable.PaintableInvalidationListener
-
-
Field Summary
Fields Modifier and Type Field Description private MainLayerManager.ActiveLayerChangeListeneractiveLayerChangeListenerprivate booleancycleModeArmedImage cycle mode flag.private ImageDatadataprivate CorrelateGpxWithImagesgpxCorrelateAction(package private) GpxDatagpxData(package private) GpxDatagpxFauxData(package private) GpxLayergpxFauxLayerprivate javax.swing.Iconiconprivate ListenerList<IGeoImageLayer.ImageChangeListener>imageChangeListenersprivate java.awt.PointlastSelPosMouse position where the last image was selected.private MapFrame.MapModeChangeListenermapModeListenerprivate static java.util.List<javax.swing.Action>menuAdditionsprivate java.awt.event.MouseAdaptermouseAdapterprivate java.awt.event.MouseMotionAdaptermouseMotionAdapterprivate java.awt.image.BufferedImageoffscreenBufferprivate javax.swing.IconselectedIconprivate javax.swing.IconselectedIconNotImageViewerprivate java.awt.PointstartPointThe mouse pointprivate static java.util.List<MapMode>supportedMapModes(package private) booleanthumbsLoadedprivate ThumbsLoaderthumbsloaderprivate java.util.concurrent.ExecutorServicethumbsLoaderExecutorprivate booleanthumbsLoaderRunningprivate booleanupdateOffscreenBuffer(package private) booleanuseThumbs-
Fields inherited from class org.openstreetmap.josm.gui.layer.AbstractModifiableLayer
REQUIRES_SAVE_TO_DISK_PROP
-
Fields inherited from class org.openstreetmap.josm.gui.layer.Layer
FILTER_STATE_PROP, NAME_PROP, OPACITY_PROP, propertyChangeSupport, VISIBLE_PROP
-
-
Constructor Summary
Constructors Constructor Description GeoImageLayer(java.util.List<ImageEntry> data, GpxData gpxData, java.lang.String name, boolean useThumbs)Constructs a newGeoImageLayer.GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer)Constructs a newGeoImageLayer.GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, boolean useThumbs)Constructs a newGeoImageLayer.GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, java.lang.String name)Constructs a newGeoImageLayer.GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, java.lang.String name, boolean useThumbs)Constructs a newGeoImageLayer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddImageChangeListener(IGeoImageLayer.ImageChangeListener listener)Add a listener for when images change(package private) voidapplyTmp()MapViewPaintable.LayerPainterattachToMapView(MapViewPaintable.MapViewEvent event)This method is called whenever this layer is added to a map view.voidclearSelection()Clear the selection of the layerbooleancontainsImage(IImageEntry<?> imageEntry)Check if the layer contains the specified imagestatic voidcreate(java.util.Collection<java.io.File> files, GpxLayer gpxLayer)Create a GeoImageLayer asynchronouslyvoiddestroy()Called, when the layer is removed from the mapview and is going to be destroyed.(package private) voiddiscardTmp()protected static voiddrawDirectionArrow(java.awt.Graphics2D g, java.awt.Point p, double dir, java.awt.Dimension imgDim)private static javax.swing.IcongenerateSelectedIconNotImageViewer(javax.swing.Icon selectedIcon)java.lang.StringgetChangesetSourceTag()Get the source for the layerDatagetData()Get the data for the modifiable layerGpxDatagetFauxGpxData()Returns a faux GPX data built from the images or the associated GPX layer data.GpxLayergetFauxGpxLayer()Returns a faux GPX layer built from the images or the associated GPX layer.CorrelateGpxWithImagesgetGpxCorrelateAction()Returns the gpxCorrelateActionGpxDatagetGpxData()Returns the associated GPX data if any.GpxLayergetGpxLayer()Returns the associated GPX layer if any.javax.swing.IcongetIcon()Return a representative small image for this layer.ImageDatagetImageData()Returns the image data store being used by this layerprotected java.awt.DimensiongetImageDimension(ImageEntry e)java.util.List<ImageEntry>getImages()Get list of images in layer.java.lang.ObjectgetInfoComponent()Gets the layer information to display to the user.java.util.List<IImageEntry<?>>getInvalidGeoImages()Get the invalid geo images for this layer (specifically, those that cannot be displayed on the map)javax.swing.Action[]getMenuEntries()Returns list of actions.private intgetPhotoIdxUnderMouse(java.awt.event.MouseEvent evt)Returns index of the image that matches the position of the mouse event.private intgetPhotoIdxUnderMouse(java.awt.event.MouseEvent evt, boolean cycle)Returns index of the image that matches the position of the mouse event.ImageEntrygetPhotoUnderMouse(java.awt.event.MouseEvent evt)Returns the image that matches the position of the mouse event.java.util.List<ImageEntry>getSelection()Get the current selection(package private) java.util.List<ImageEntry>getSortedImgList(boolean exif, boolean tagged)Returns a list of images that fulfill the given criteria.java.lang.StringgetToolTipText()Returns a small tooltip hint about some statistics for this layer.voidhookUpMapView()Initialization code, that depends on Main.map.mapView.voidimageDataUpdated(ImageData data)Called when the data changeprivate java.lang.StringinfoText()Prepare the string that is displayed if layer information is requested.booleanisMergable(Layer other)Determines if the other layer can be merged into this layer.booleanisModified()Determines if data managed by this layer has been modified.private booleanisPhotoIdxUnderMouse(int idx, java.awt.event.MouseEvent evt)Check if the position of the mouse event is within the rectangle of the photo icon or thumbnail.private static booleanisSupportedMapMode(MapMode mapMode)Determines if the functionality of this layer is available in the specified map mode.booleanisUseThumbs()Returns the current thumbnail display status.voidjumpToNextMarker()Jump (move the viewport) to the next marker.voidjumpToPreviousMarker()Jump (move the viewport) to the previous marker.voidmergeFrom(Layer from)Merges the given layer into this layer.voidpaint(java.awt.Graphics2D g, MapView mv, Bounds bounds)Paint the dataset using the engine set.private voidpaintImage(ImageEntry e, MapView mv, java.awt.Rectangle clip, java.awt.Graphics2D tempG)Paint one image.static voidregisterMenuAddition(javax.swing.Action addition)Register actions on the layerstatic voidregisterSupportedMapMode(MapMode mapMode)Registers a map mode for which the functionality of this layer should be available.voidremoveImageChangeListener(IGeoImageLayer.ImageChangeListener listener)Remove a listener for when images changeprivate static java.awt.DimensionscaledDimension(java.awt.Image thumb)voidselectedImageChanged(ImageData data)Called when the selection changevoidsetUseThumbs(boolean useThumbs)Enables or disables the display of thumbnails.voidshowCurrentPhoto()Show current photo on map and in image viewer.voidstartLoadThumbs()Start to load thumbnails.voidstopLoadThumbs()Stop to load thumbnails.voidthumbsLoaded()Called to signal that the loading of thumbnails has finished.voidupdateBufferAndRepaint()Marks the offscreen buffer to be updated.voidvisitBoundingBox(BoundingXYVisitor v)Visits the content bounds of this layer.voidzoomChanged()Method called when the zoom area has changed.-
Methods inherited from class org.openstreetmap.josm.gui.layer.AbstractModifiableLayer
autosave, createUploadTask, getUploadDialog, isDirty, isDownloadable, isLocked, isUploadable, isUploadDiscouraged, isUploadInProgress, lock, onPostSaveToFile, onPostUploadToServer, requiresSaveToFile, requiresUploadToServer, unlock
-
Methods inherited from class org.openstreetmap.josm.gui.layer.Layer
addPropertyChangeListener, checkSaveConditions, createAndOpenSaveFileChooser, fireFilterStateChanged, fireOpacityChanged, fireVisibleChanged, getAssociatedFile, getColor, getDefaultLayerPosition, getLabel, getName, getOpacity, getViewProjectionBounds, hasColor, isBackgroundLayer, isInfoResizable, isProjectionSupported, isRenamed, isSavable, isVisible, nameSupportedProjections, onPostLoadFromFile, projectionChanged, removePropertyChangeListener, rename, setAssociatedFile, setBackgroundLayer, setColor, setFilterStateChanged, setName, setOpacity, setVisible, toggleVisible, toString
-
Methods inherited from class org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable
addInvalidationListener, createMapViewPainter, invalidate, removeInvalidationListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.openstreetmap.josm.gui.layer.SaveToFile
isSavable
-
-
-
-
Field Detail
-
menuAdditions
private static final java.util.List<javax.swing.Action> menuAdditions
-
supportedMapModes
private static volatile java.util.List<MapMode> supportedMapModes
-
imageChangeListeners
private final ListenerList<IGeoImageLayer.ImageChangeListener> imageChangeListeners
-
gpxFauxLayer
GpxLayer gpxFauxLayer
-
gpxFauxData
GpxData gpxFauxData
-
gpxCorrelateAction
private CorrelateGpxWithImages gpxCorrelateAction
-
icon
private final javax.swing.Icon icon
-
selectedIcon
private final javax.swing.Icon selectedIcon
-
selectedIconNotImageViewer
private final javax.swing.Icon selectedIconNotImageViewer
-
useThumbs
boolean useThumbs
-
thumbsLoaderExecutor
private final java.util.concurrent.ExecutorService thumbsLoaderExecutor
-
thumbsloader
private ThumbsLoader thumbsloader
-
thumbsLoaderRunning
private boolean thumbsLoaderRunning
-
thumbsLoaded
volatile boolean thumbsLoaded
-
offscreenBuffer
private java.awt.image.BufferedImage offscreenBuffer
-
updateOffscreenBuffer
private boolean updateOffscreenBuffer
-
mouseAdapter
private java.awt.event.MouseAdapter mouseAdapter
-
mouseMotionAdapter
private java.awt.event.MouseMotionAdapter mouseMotionAdapter
-
mapModeListener
private MapFrame.MapModeChangeListener mapModeListener
-
activeLayerChangeListener
private MainLayerManager.ActiveLayerChangeListener activeLayerChangeListener
-
lastSelPos
private java.awt.Point lastSelPos
Mouse position where the last image was selected.
-
startPoint
private java.awt.Point startPoint
The mouse point
-
cycleModeArmed
private boolean cycleModeArmed
Image cycle mode flag. It is possible that a mouse button release triggers multiple mouseReleased() events. To prevent the cycling in such a case we wait for the next mouse button press event before it is cycled to the next image.
-
-
Constructor Detail
-
GeoImageLayer
public GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer)
Constructs a newGeoImageLayer.- Parameters:
data- The list of images to displaygpxLayer- The associated GPX layer
-
GeoImageLayer
public GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, java.lang.String name)
Constructs a newGeoImageLayer.- Parameters:
data- The list of images to displaygpxLayer- The associated GPX layername- Layer name- Since:
- 6392
-
GeoImageLayer
public GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, boolean useThumbs)
Constructs a newGeoImageLayer.- Parameters:
data- The list of images to displaygpxLayer- The associated GPX layeruseThumbs- Thumbnail display flag- Since:
- 6392
-
GeoImageLayer
public GeoImageLayer(java.util.List<ImageEntry> data, GpxLayer gpxLayer, java.lang.String name, boolean useThumbs)
Constructs a newGeoImageLayer.- Parameters:
data- The list of images to displaygpxLayer- The associated GPX layername- Layer nameuseThumbs- Thumbnail display flag- Since:
- 6392
-
GeoImageLayer
public GeoImageLayer(java.util.List<ImageEntry> data, GpxData gpxData, java.lang.String name, boolean useThumbs)
Constructs a newGeoImageLayer.- Parameters:
data- The list of images to displaygpxData- The associated GPX dataname- Layer nameuseThumbs- Thumbnail display flag- Since:
- 18078
-
-
Method Detail
-
generateSelectedIconNotImageViewer
private static javax.swing.Icon generateSelectedIconNotImageViewer(javax.swing.Icon selectedIcon)
-
create
public static void create(java.util.Collection<java.io.File> files, GpxLayer gpxLayer)
Create a GeoImageLayer asynchronously- Parameters:
files- the list of image files to displaygpxLayer- the gpx layer
-
clearSelection
public void clearSelection()
Description copied from interface:IGeoImageLayerClear the selection of the layer- Specified by:
clearSelectionin interfaceIGeoImageLayer
-
containsImage
public boolean containsImage(IImageEntry<?> imageEntry)
Description copied from interface:IGeoImageLayerCheck if the layer contains the specified image- Specified by:
containsImagein interfaceIGeoImageLayer- Parameters:
imageEntry- The entry to look for- Returns:
trueif this layer contains the image
-
getIcon
public javax.swing.Icon getIcon()
Description copied from class:LayerReturn a representative small image for this layer. The image must not be larger than 64 pixel in any dimension.
-
getSelection
public java.util.List<ImageEntry> getSelection()
Description copied from interface:IGeoImageLayerGet the current selection- Specified by:
getSelectionin interfaceIGeoImageLayer- Returns:
- The currently selected images
-
getInvalidGeoImages
public java.util.List<IImageEntry<?>> getInvalidGeoImages()
Description copied from interface:IGeoImageLayerGet the invalid geo images for this layer (specifically, those that cannot be displayed on the map)- Specified by:
getInvalidGeoImagesin interfaceIGeoImageLayer- Returns:
- The list of invalid geo images
-
addImageChangeListener
public void addImageChangeListener(IGeoImageLayer.ImageChangeListener listener)
Description copied from interface:IGeoImageLayerAdd a listener for when images change- Specified by:
addImageChangeListenerin interfaceIGeoImageLayer- Parameters:
listener- The listener to call
-
removeImageChangeListener
public void removeImageChangeListener(IGeoImageLayer.ImageChangeListener listener)
Description copied from interface:IGeoImageLayerRemove a listener for when images change- Specified by:
removeImageChangeListenerin interfaceIGeoImageLayer- Parameters:
listener- The listener to remove
-
registerMenuAddition
public static void registerMenuAddition(javax.swing.Action addition)
Register actions on the layer- Parameters:
addition- the action to be added
-
getMenuEntries
public javax.swing.Action[] getMenuEntries()
Description copied from class:LayerReturns list of actions. Action can implement LayerAction interface when it needs to be represented by other menu component than JMenuItem or when it supports multiple layers. Actions that support multiple layers should also have correct equals implementation.Use
Layer.SeparatorLayerAction.INSTANCEinstead of new JSeparator- Specified by:
getMenuEntriesin classLayer- Returns:
- menu actions for this layer
-
infoText
private java.lang.String infoText()
Prepare the string that is displayed if layer information is requested.- Returns:
- String with layer information
-
getInfoComponent
public java.lang.Object getInfoComponent()
Description copied from class:LayerGets the layer information to display to the user. This is used if the user requests information about this layer. It should display a description of the layer content.- Specified by:
getInfoComponentin classLayer- Returns:
- Either a String or a
Componentdescribing the layer.
-
getToolTipText
public java.lang.String getToolTipText()
Description copied from class:LayerReturns a small tooltip hint about some statistics for this layer.- Specified by:
getToolTipTextin classLayer- Returns:
- A small tooltip hint about some statistics for this layer.
-
isModified
public boolean isModified()
Determines if data managed by this layer has been modified. That is the case if one image has modified GPS data.- Specified by:
isModifiedin classAbstractModifiableLayer- Returns:
trueif data has been modified;false, otherwise
-
isMergable
public boolean isMergable(Layer other)
Description copied from class:LayerDetermines if the other layer can be merged into this layer.- Specified by:
isMergablein classLayer- Parameters:
other- The other layer that is tested to be mergable with this.- Returns:
- Whether the other layer can be merged into this layer.
-
mergeFrom
public void mergeFrom(Layer from)
Description copied from class:LayerMerges the given layer into this layer. Throws if the layer types are incompatible.
-
scaledDimension
private static java.awt.Dimension scaledDimension(java.awt.Image thumb)
-
paintImage
private void paintImage(ImageEntry e, MapView mv, java.awt.Rectangle clip, java.awt.Graphics2D tempG)
Paint one image.- Parameters:
e- Image to be paintedmv- Map viewclip- Bounding rectangle of the current clipping areatempG- Temporary offscreen buffer
-
paint
public void paint(java.awt.Graphics2D g, MapView mv, Bounds bounds)
Description copied from interface:MapViewPaintablePaint the dataset using the engine set.- Specified by:
paintin interfaceMapViewPaintable- Parameters:
g- Graphicsmv- The object that can translate GeoPoints to screen coordinates.bounds- Bounding box
-
getImageDimension
protected java.awt.Dimension getImageDimension(ImageEntry e)
-
drawDirectionArrow
protected static void drawDirectionArrow(java.awt.Graphics2D g, java.awt.Point p, double dir, java.awt.Dimension imgDim)
-
visitBoundingBox
public void visitBoundingBox(BoundingXYVisitor v)
Description copied from class:LayerVisits the content bounds of this layer. The behavior of this method depends on the layer, but each implementation should attempt to cover the relevant content of the layer in this method.- Specified by:
visitBoundingBoxin classLayer- Parameters:
v- The visitor that gets notified about the contents of this layer.
-
showCurrentPhoto
public void showCurrentPhoto()
Show current photo on map and in image viewer.
-
isPhotoIdxUnderMouse
private boolean isPhotoIdxUnderMouse(int idx, java.awt.event.MouseEvent evt)
Check if the position of the mouse event is within the rectangle of the photo icon or thumbnail.- Parameters:
idx- the image indexevt- Mouse event- Returns:
trueif the photo matches the mouse position,falseotherwise
-
getPhotoIdxUnderMouse
private int getPhotoIdxUnderMouse(java.awt.event.MouseEvent evt, boolean cycle)
Returns index of the image that matches the position of the mouse event.- Parameters:
evt- Mouse eventcycle- Set totrueto cycle through the photos at the current mouse position if multiple icons or thumbnails overlap. If set tofalsethe topmost photo will be used.- Returns:
- Image index at mouse position, range 0 .. size-1,
or
-1if there is no image at the mouse position
-
getPhotoIdxUnderMouse
private int getPhotoIdxUnderMouse(java.awt.event.MouseEvent evt)
Returns index of the image that matches the position of the mouse event. The topmost photo is picked if multiple icons or thumbnails overlap.- Parameters:
evt- Mouse event- Returns:
- Image index at mouse position, range 0 .. size-1,
or
-1if there is no image at the mouse position
-
getPhotoUnderMouse
public ImageEntry getPhotoUnderMouse(java.awt.event.MouseEvent evt)
Returns the image that matches the position of the mouse event. The topmost photo is picked of multiple icons or thumbnails overlap.- Parameters:
evt- Mouse event- Returns:
- Image at mouse position, or
nullif there is no image at the mouse position - Since:
- 6392
-
registerSupportedMapMode
public static void registerSupportedMapMode(MapMode mapMode)
Registers a map mode for which the functionality of this layer should be available.- Parameters:
mapMode- Map mode to be registered- Since:
- 6392
-
isSupportedMapMode
private static boolean isSupportedMapMode(MapMode mapMode)
Determines if the functionality of this layer is available in the specified map mode.SelectActionandSelectLassoActionare supported by default, other map modes can be registered.- Parameters:
mapMode- Map mode to be checked- Returns:
trueif the map mode is supported,falseotherwise
-
hookUpMapView
public void hookUpMapView()
Description copied from class:LayerInitialization code, that depends on Main.map.mapView.It is always called in the event dispatching thread. Note that Main.map is null as long as no layer has been added, so do not execute code in the constructor, that assumes Main.map.mapView is not null.
If you need to execute code when this layer is added to the map view, use
AbstractMapViewPaintable.attachToMapView(org.openstreetmap.josm.gui.layer.MapViewPaintable.MapViewEvent)- Overrides:
hookUpMapViewin classLayer
-
destroy
public void destroy()
Description copied from class:LayerCalled, when the layer is removed from the mapview and is going to be destroyed.This is because the Layer constructor cannot add itself safely as a listener to the layerlist dialog, because there may be no such dialog yet (loaded via command line parameter).
- Specified by:
destroyin interfaceDestroyable- Overrides:
destroyin classLayer
-
attachToMapView
public MapViewPaintable.LayerPainter attachToMapView(MapViewPaintable.MapViewEvent event)
Description copied from class:AbstractMapViewPaintableThis method is called whenever this layer is added to a map view.You need to return a painter here. The
MapViewPaintable.LayerPainter.detachFromMapView(org.openstreetmap.josm.gui.layer.MapViewPaintable.MapViewEvent)method is called when the layer is removed from that map view. You are free to reuse painters.You should always call the super method. See
AbstractMapViewPaintable.createMapViewPainter(org.openstreetmap.josm.gui.layer.MapViewPaintable.MapViewEvent)if you want to influence painter creation.This replaces
Layer.hookUpMapView()in the long run.- Overrides:
attachToMapViewin classAbstractMapViewPaintable- Parameters:
event- the event.- Returns:
- A layer painter.
-
zoomChanged
public void zoomChanged()
Description copied from interface:NavigatableComponent.ZoomChangeListenerMethod called when the zoom area has changed.- Specified by:
zoomChangedin interfaceNavigatableComponent.ZoomChangeListener
-
startLoadThumbs
public void startLoadThumbs()
Start to load thumbnails.
-
stopLoadThumbs
public void stopLoadThumbs()
Stop to load thumbnails.Can be called at any time to make sure that the thumbnail loader is stopped.
-
thumbsLoaded
public void thumbsLoaded()
Called to signal that the loading of thumbnails has finished.Usually called from
ThumbsLoaderin another thread.
-
updateBufferAndRepaint
public void updateBufferAndRepaint()
Marks the offscreen buffer to be updated.
-
getImages
public java.util.List<ImageEntry> getImages()
Get list of images in layer.- Returns:
- List of images in layer
-
getImageData
public ImageData getImageData()
Returns the image data store being used by this layer- Returns:
- imageData
- Since:
- 14590
-
getGpxData
public GpxData getGpxData()
Returns the associated GPX data if any.- Returns:
- The associated GPX data or
null - Since:
- 18078
-
getGpxLayer
public GpxLayer getGpxLayer()
Returns the associated GPX layer if any.- Returns:
- The associated GPX layer or
null
-
getGpxCorrelateAction
public CorrelateGpxWithImages getGpxCorrelateAction()
Returns the gpxCorrelateAction- Returns:
- the gpxCorrelateAction
-
getFauxGpxLayer
public GpxLayer getFauxGpxLayer()
Returns a faux GPX layer built from the images or the associated GPX layer.- Returns:
- A faux GPX layer or the associated GPX layer
- Since:
- 14802
-
getFauxGpxData
public GpxData getFauxGpxData()
Returns a faux GPX data built from the images or the associated GPX layer data.- Returns:
- A faux GPX data or the associated GPX layer data
- Since:
- 18065
-
jumpToNextMarker
public void jumpToNextMarker()
Description copied from interface:JumpToMarkerActions.JumpToMarkerLayerJump (move the viewport) to the next marker.- Specified by:
jumpToNextMarkerin interfaceJumpToMarkerActions.JumpToMarkerLayer
-
jumpToPreviousMarker
public void jumpToPreviousMarker()
Description copied from interface:JumpToMarkerActions.JumpToMarkerLayerJump (move the viewport) to the previous marker.- Specified by:
jumpToPreviousMarkerin interfaceJumpToMarkerActions.JumpToMarkerLayer
-
isUseThumbs
public boolean isUseThumbs()
Returns the current thumbnail display status.true: thumbnails are displayed,false: an icon is displayed instead of thumbnails.- Returns:
- Current thumbnail display status
- Since:
- 6392
-
setUseThumbs
public void setUseThumbs(boolean useThumbs)
Enables or disables the display of thumbnails. Does not update the display.- Parameters:
useThumbs- New thumbnail display status- Since:
- 6392
-
selectedImageChanged
public void selectedImageChanged(ImageData data)
Description copied from interface:ImageData.ImageDataUpdateListenerCalled when the selection change- Specified by:
selectedImageChangedin interfaceImageData.ImageDataUpdateListener- Parameters:
data- the image data
-
imageDataUpdated
public void imageDataUpdated(ImageData data)
Description copied from interface:ImageData.ImageDataUpdateListenerCalled when the data change- Specified by:
imageDataUpdatedin interfaceImageData.ImageDataUpdateListener- Parameters:
data- the image data
-
getChangesetSourceTag
public java.lang.String getChangesetSourceTag()
Description copied from class:LayerGet the source for the layer- Overrides:
getChangesetSourceTagin classLayer- Returns:
- The string for the changeset source tag or
null
-
getData
public Data getData()
Description copied from class:AbstractModifiableLayerGet the data for the modifiable layer- Overrides:
getDatain classAbstractModifiableLayer- Returns:
- The data object
-
applyTmp
void applyTmp()
-
discardTmp
void discardTmp()
-
getSortedImgList
java.util.List<ImageEntry> getSortedImgList(boolean exif, boolean tagged)
Returns a list of images that fulfill the given criteria. Default setting is to return untagged images, but may be overwritten.- Parameters:
exif- also returns images with exif-gps infotagged- also returns tagged images- Returns:
- matching images
-
-