Package org.openstreetmap.josm.gui
Class MapStatus.Collector
- java.lang.Object
-
- org.openstreetmap.josm.gui.MapStatus.Collector
-
- All Implemented Interfaces:
java.lang.Runnable
- Enclosing class:
- MapStatus
private final class MapStatus.Collector extends java.lang.Object implements java.lang.Runnable
The collector class that waits for notification and then update the display objects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
MapStatus.Collector.CollectorWorker
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.BlockingQueue<MapStatus.MouseState>
incomingMouseState
private java.awt.Point
lastMousePos
private java.awt.Point
oldMousePos
the mouse position of the previous iteration.private MapFrame
parent
private javax.swing.Popup
popup
The popup displayed to show additional informationprivate java.util.List<javax.swing.JLabel>
popupLabels
Contains the labels that are currently shown in the information popup
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private javax.swing.JLabel
popupBuildPrimitiveLabels(OsmPrimitive osm)
Builds the labels with all necessary listeners for the info popup for the given OsmPrimitiveprivate javax.swing.Popup
popupCreatePopup(java.awt.Component content, MapStatus.MouseState ms)
Creates a popup for the given content next to the cursor.private void
popupCycleSelection(java.util.Collection<OsmPrimitive> osms, int mods)
Call this with a set of primitives to cycle through them.private void
popupHidePopup()
Tries to hide the given popupprivate void
popupSetLabelColors(javax.swing.JLabel lbl, IPrimitive osm)
Sets the colors for the given label depending on the selected status of the given OsmPrimitiveprivate void
popupShowPopup(javax.swing.Popup newPopup, java.util.List<javax.swing.JLabel> lbls)
Tries to show the given popup, can be hidden usingpopupHidePopup()
If an old popup exists, it will be automatically hiddenprivate void
popupUpdateLabels()
This method should be called if the selection may have changed from outside of this class.void
run()
Execution function for the Collector.private void
statusBarElementUpdate(MapStatus.MouseState ms)
Calls this to update the element that is shown in the statusbarvoid
updateMousePosition(java.awt.Point mousePos, int modifiers)
Called whenever the mouse position or modifiers changed.
-
-
-
Field Detail
-
oldMousePos
private java.awt.Point oldMousePos
the mouse position of the previous iteration. This is used to show the popup until the cursor is moved.
-
popupLabels
private java.util.List<javax.swing.JLabel> popupLabels
Contains the labels that are currently shown in the information popup
-
popup
private javax.swing.Popup popup
The popup displayed to show additional information
-
incomingMouseState
private final java.util.concurrent.BlockingQueue<MapStatus.MouseState> incomingMouseState
-
lastMousePos
private java.awt.Point lastMousePos
-
-
Method Detail
-
run
public void run()
Execution function for the Collector.- Specified by:
run
in interfacejava.lang.Runnable
-
popupCreatePopup
private javax.swing.Popup popupCreatePopup(java.awt.Component content, MapStatus.MouseState ms)
Creates a popup for the given content next to the cursor. Tries to keep the popup on screen and shows a vertical scrollbar, if the screen is too small.- Parameters:
content
- popup contentms
- mouse state- Returns:
- popup
-
statusBarElementUpdate
private void statusBarElementUpdate(MapStatus.MouseState ms)
Calls this to update the element that is shown in the statusbar- Parameters:
ms
- mouse state
-
popupCycleSelection
private void popupCycleSelection(java.util.Collection<OsmPrimitive> osms, int mods)
Call this with a set of primitives to cycle through them. Method will automatically select the next item and update the map- Parameters:
osms
- primitives to cycle throughmods
- modifiers (i.e. control keys)
-
popupHidePopup
private void popupHidePopup()
Tries to hide the given popup
-
popupShowPopup
private void popupShowPopup(javax.swing.Popup newPopup, java.util.List<javax.swing.JLabel> lbls)
Tries to show the given popup, can be hidden usingpopupHidePopup()
If an old popup exists, it will be automatically hidden- Parameters:
newPopup
- popup to showlbls
- labels to show (seepopupLabels
)
-
popupUpdateLabels
private void popupUpdateLabels()
This method should be called if the selection may have changed from outside of this class. This is the case when CTRL is pressed and the user clicks on the map instead of the popup.
-
popupSetLabelColors
private void popupSetLabelColors(javax.swing.JLabel lbl, IPrimitive osm)
Sets the colors for the given label depending on the selected status of the given OsmPrimitive- Parameters:
lbl
- The label to colorosm
- The primitive to derive the colors from
-
popupBuildPrimitiveLabels
private javax.swing.JLabel popupBuildPrimitiveLabels(OsmPrimitive osm)
Builds the labels with all necessary listeners for the info popup for the given OsmPrimitive- Parameters:
osm
- The primitive to create the label for- Returns:
- labels for info popup
-
updateMousePosition
public void updateMousePosition(java.awt.Point mousePos, int modifiers)
Called whenever the mouse position or modifiers changed.- Parameters:
mousePos
- The new mouse position.null
if it did not change.modifiers
- The new modifiers.
-
-