Package org.apache.sis.gui.map
Class ValuesUnderCursor
Object
ValuesUnderCursor
Provider of textual content to show in a 
StatusBar for values under cursor position.
 When the mouse cursor moves, evaluateLater(DirectPosition) is invoked with the same
 "real world" coordinates than the ones shown in the status bar.
 Multi-threading
Instances ofValueUnderCursor do not need to be thread-safe, because
 all ValuesUnderCursor methods will be invoked from JavaFX thread.
 However, the actual fetching and formatting of values will be done in a background
 thread using the ValuesUnderCursor.Formatter inner class, which needs to be thread-safe.- Since:
- 1.1
Defined in the sis-javafx module
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static classTask for fetching and formatting values in a background thread.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final MenuMenu offering choices among the values that thisValuesUnderCursorcan show.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidevaluateLater(DirectPosition point) Formats a string representation of data under given "real world" position.protected abstract ValuesUnderCursor.FormatterReturns the task for fetching and formatting values in a background thread.
- 
Field Details- 
valueChoicesprotected final Menu valueChoicesMenu offering choices among the values that thisValuesUnderCursorcan show. This menu will be available as a contextual menu in theStatusBar. It is subclass responsibility to listen to menu selections and adapt theirevaluateLater(DirectPosition)output accordingly.
 
- 
- 
Constructor Details- 
ValuesUnderCursorprotected ValuesUnderCursor()Creates a new evaluator instance. ThevalueChoiceslist of items is initially empty; subclass constructor should set a text and add items.
 
- 
- 
Method Details- 
formatterReturns the task for fetching and formatting values in a background thread.ValuesUnderCursorsubclasses should keep a singleValuesUnderCursor.Formatterinstance, eventually replaced when the data shown inMapCanvaschanged. That instance will be reused every time that the cursor position changed.- Returns:
- task for fetching and formatting values in a background thread, or nullif none.
- Since:
- 1.3
 
- 
evaluateLaterFormats a string representation of data under given "real world" position. This method shall be invoked in JavaFX thread, but values will be fetched and formatted in a background thread managed automatically by thisValuesUnderCursorclass.The position CRS should be non-null for avoiding ambiguity about what is the default CRS. The position CRS can be anything; it will be transformed if needed. - Parameters:
- point- the cursor location in arbitrary CRS (usually the CRS shown in the status bar). May be- nullfor declaring that the point is outside canvas region.
- Since:
- 1.3
 
 
-