public class TimelineLayer extends OMGraphicHandlerLayer implements java.awt.event.ActionListener, DrawingToolRequestor, java.beans.PropertyChangeListener, MapMouseListener, java.awt.event.ComponentListener, TimeBoundsListener, TimeEventListener
Modifier and Type | Class and Description |
---|---|
static class |
TimelineLayer.CurrentTimeMarker |
class |
TimelineLayer.EventMarkerLine |
static class |
TimelineLayer.PlayFilter |
static class |
TimelineLayer.SelectionArea |
static class |
TimelineLayer.TimeHashFactory |
static class |
TimelineLayer.TimeHashMarks |
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected OMEventSelectionCoordinator |
aesc |
protected static java.lang.String |
ATT_KEY_EVENT |
protected CenterSupport |
centerDelegate |
protected Clock |
clock |
protected OMGraphicList |
currentTimeMarker |
protected TimeSliderLayer.TimeDrape |
drape |
static java.lang.String |
EventDetailsProperty
This property is used to send event details that can be displayed when
the mouse is over an event in the timeline.
|
protected OMGraphicList |
eventGraphicList |
protected EventPresenter |
eventPresenter |
static java.util.logging.Logger |
logger |
static java.lang.String |
MouseTimeProperty
This property is used to send the current offset time where the mouse is
over the timeline.
|
protected javax.swing.Box |
paletteBox |
protected TimelineLayer.PlayFilter |
playFilter |
static java.lang.String |
PlayFilterProperty
This property is used to signify whether any OMEvents have been
designated as play filterable, so GUI controls for the play filter can be
enabled/disabled.
|
protected TimelineLayer.SelectionArea.PostTime |
postTime |
protected TimelineLayer.SelectionArea.PreTime |
preTime |
protected OMGraphicList |
ratingAreas |
protected TimelineLayer.SelectionArea |
selectionRect |
protected TimelineLayer.TimeHashFactory |
timeHashFactory |
protected OMGraphicList |
timeLinesList |
static java.lang.String |
TimeParametersProperty
This property is used to notify listeners that the time projection
parameters have changed, and they need to contact this object to figure
out how to display those changes.
|
protected static java.awt.Color |
tint |
consumeEvents, ConsumeEventsProperty, filter, interruptable, InterruptableProperty, layerWorker, LAYERWORKER_LOCK, layerWorkerQueue, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList, TransparencyProperty, wrapItUp
addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, attributes, autoPalette, AutoPaletteProperty, beanContextChildSupport, coordTransform, DataPathPrefixProperty, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, localHackList, maxScale, MaxScaleProperty, minScale, MinScaleProperty, palette, paletteListener, PrettyNameProperty, propertyPrefix, RedrawCmd, removable, RemovableProperty, SWING_PACKAGE, TransformProperty, windowSupport
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
Constructor and Description |
---|
TimelineLayer()
Construct the TimelineLayer.
|
Modifier and Type | Method and Description |
---|---|
void |
adjustZoomFromMouseWheel(int rot) |
protected boolean |
checkAndSetForNoTime(TimeEvent te) |
void |
clearSelection() |
void |
componentHidden(java.awt.event.ComponentEvent e) |
void |
componentMoved(java.awt.event.ComponentEvent e) |
void |
componentResized(java.awt.event.ComponentEvent e) |
void |
componentShown(java.awt.event.ComponentEvent e) |
protected OMGraphicList |
constructTimeLines(Projection projection) |
void |
drawingComplete(OMGraphic omg,
OMAction action)
The method where a graphic, and an action to take on the
graphic, arrives.
|
protected void |
evaluateEventAttributes() |
void |
findAndInit(java.lang.Object someObj)
This method is called by the findAndInit(Iterator) method, once for every
object inside the iterator.
|
void |
findAndUndo(java.lang.Object someObj)
This is the method that does the opposite as the findAndInit(Object).
|
static double |
forwardProjectMillis(long time) |
protected OMGraphic |
getCurrentTimeMarker(Projection proj) |
long |
getDuration() |
long |
getEndTime() |
OMGraphicList |
getEventGraphicList() |
protected OMGraphicList |
getEventList(java.util.Iterator<OMEvent> it,
Projection projection) |
protected OMGraphicList |
getEventList(Projection projection) |
java.awt.Component |
getGUI()
Gets the gui controls associated with the layer.
|
MapMouseListener |
getMapMouseListener()
Query asked from the MouseDelegator for interest in receiving
MapMouseEvents.
|
java.lang.String[] |
getMouseModeServiceList()
Return a list of the modes that are interesting to the
MapMouseListener.
|
java.lang.String |
getName()
Needed to fill in a GUI with a receiver's name, to enable the
user to send a graphic to a specific object.
|
TimelineLayer.SelectionArea |
getSelectionRectangle(Projection proj) |
protected java.util.List<OMEvent> |
handleEventSelection() |
static long |
inverseProjectMillis(double timef) |
boolean |
isSelectable(OMGraphic omg)
Query asking if an OMGraphic is select-able, or able to be moved, deleted
or otherwise modified.
|
boolean |
mouseClicked(java.awt.event.MouseEvent e)
Invoked when the mouse has been clicked on a component.
|
boolean |
mouseDragged(java.awt.event.MouseEvent e)
Invoked when a mouse button is pressed on a component and then
dragged.
|
void |
mouseEntered(java.awt.event.MouseEvent e)
Invoked when the mouse enters a component.
|
void |
mouseExited(java.awt.event.MouseEvent e)
Invoked when the mouse exits a component.
|
void |
mouseMoved()
Handle a mouse cursor moving without the button being pressed.
|
boolean |
mouseMoved(java.awt.event.MouseEvent e)
Invoked when the mouse button has been moved on a component
(with no buttons down).
|
boolean |
mousePressed(java.awt.event.MouseEvent e)
Invoked when a mouse button has been pressed on a component.
|
boolean |
mouseReleased(java.awt.event.MouseEvent e)
Invoked when a mouse button has been released on a component.
|
void |
paint(java.awt.Graphics g)
The default action is to get the OMGraphicList and render it.
|
OMGraphicList |
prepare()
Creates the OMGraphic list with the time and event markings.
|
void |
propertyChange(java.beans.PropertyChangeEvent evt) |
protected void |
selectEventForMouseEvent(java.awt.event.MouseEvent e) |
void |
setEventGraphicList(OMGraphicList eventGraphicList) |
protected void |
setMapBeanMaxScale(boolean setScaleToMax) |
void |
setRealTimeMode(boolean realTimeMode) |
protected void |
setSelectionRectangleToEvents() |
protected void |
setTimeBounds(long start,
long end) |
void |
setUserHasChangedScale(boolean userHasChangedScale) |
protected void |
updateEventDetails() |
protected void |
updateEventDetails(java.awt.event.MouseEvent e) |
void |
updateMouseTimeDisplay(java.lang.Long offsetMillis) |
protected double |
updateMouseTimeDisplay(java.awt.event.MouseEvent e) |
void |
updateTime(TimeEvent te) |
void |
updateTimeBounds(TimeBoundsEvent tbe)
This method will be called on the TimeBoundsListener to let it know that
the time bounds have changed.
|
actionPerformed, canSetList, copy, createLayerWorker, cut, deselect, dispose, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getFilter, getInfoText, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMouseEventInterpreter, getMouseModeIDsForEvents, getProjectionChangePolicy, getProperties, getPropertyInfo, getRenderPolicy, getSelected, getToolTipTextFor, getTransparency, getTransparencyAdjustmentPanel, highlight, interrupt, isCancelled, isHighlightable, isInterruptable, isWorking, leftClick, mouseOver, paste, projectionChanged, receivesMapEvents, renderDataForProjection, resetFiltering, select, setCancelled, setConsumeEvents, setFilter, setInterruptable, setLayerWorker, setList, setMouseEventInterpreter, setMouseModeIDsForEvents, setProjectionChangePolicy, setProperties, setRenderPolicy, setTransparency, shouldWrapItUp, supportsSQL, unhighlight, workerComplete
addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, disconnectFromBeanContext, finalize, findAndInit, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getAttribute, getBeanContext, getCoordTransform, getIcon, getMaxScale, getMinScale, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hasGUI, hidePalette, isAutoPalette, isProjectionOK, isRemovable, notifyHideHack, prependDataPathPrefix, putAttribute, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setAutoPalette, setBeanContext, setCoordTransform, setIcon, setLayerProperties, setMaxScale, setMinScale, setName, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setRemovable, setVisible, setWindowSupport, showPalette
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update, updateUI
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final java.lang.String PlayFilterProperty
public static final java.lang.String MouseTimeProperty
public static final java.lang.String EventDetailsProperty
public static final java.lang.String TimeParametersProperty
public static java.util.logging.Logger logger
protected OMGraphicList eventGraphicList
protected OMGraphicList timeLinesList
protected TimelineLayer.PlayFilter playFilter
protected OMGraphicList ratingAreas
protected TimelineLayer.SelectionArea selectionRect
protected TimeSliderLayer.TimeDrape drape
protected CenterSupport centerDelegate
protected EventPresenter eventPresenter
protected OMEventSelectionCoordinator aesc
protected static java.awt.Color tint
protected Clock clock
protected TimelineLayer.TimeHashFactory timeHashFactory
protected OMGraphicList currentTimeMarker
protected TimelineLayer.SelectionArea.PreTime preTime
protected TimelineLayer.SelectionArea.PostTime postTime
protected static final java.lang.String ATT_KEY_EVENT
protected javax.swing.Box paletteBox
public void findAndInit(java.lang.Object someObj)
Layer
findAndInit
in class Layer
public void findAndUndo(java.lang.Object someObj)
Layer
findAndUndo
in class Layer
public static double forwardProjectMillis(long time)
public static long inverseProjectMillis(double timef)
public OMGraphicList prepare()
prepare
in class OMGraphicHandlerLayer
public OMGraphicList getEventGraphicList()
public void setEventGraphicList(OMGraphicList eventGraphicList)
protected OMGraphicList constructTimeLines(Projection projection)
public TimelineLayer.SelectionArea getSelectionRectangle(Projection proj)
protected OMGraphic getCurrentTimeMarker(Projection proj)
protected OMGraphicList getEventList(Projection projection)
protected OMGraphicList getEventList(java.util.Iterator<OMEvent> it, Projection projection)
public java.awt.Component getGUI()
Layer
public void drawingComplete(OMGraphic omg, OMAction action)
DrawingToolRequestor
drawingComplete
in interface DrawingToolRequestor
public boolean isSelectable(OMGraphic omg)
OMGraphicHandlerLayer
isSelectable
in interface GestureResponsePolicy
isSelectable
in class OMGraphicHandlerLayer
public java.lang.String getName()
DrawingToolRequestor
getName
in interface DrawingToolRequestor
getName
in class java.awt.Component
protected void setTimeBounds(long start, long end)
public void updateTimeBounds(TimeBoundsEvent tbe)
TimeBoundsListener
updateTimeBounds
in interface TimeBoundsListener
tbe
- TimeBoundsEvent with the source of the change along with the
old and new values.public void updateTime(TimeEvent te)
updateTime
in interface TimeEventListener
public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange
in interface java.beans.PropertyChangeListener
protected boolean checkAndSetForNoTime(TimeEvent te)
public MapMouseListener getMapMouseListener()
OMGraphicHandlerLayer
getMapMouseListener
in class OMGraphicHandlerLayer
public java.lang.String[] getMouseModeServiceList()
MapMouseListener
return new String[] { SelectMouseMode.modeID };
getMouseModeServiceList
in interface MapMouseListener
NavMouseMode.modeID
,
SelectMouseMode.modeID
,
NullMouseMode.modeID
public boolean mousePressed(java.awt.event.MouseEvent e)
MapMouseListener
mousePressed
in interface MapMouseListener
e
- MouseEventprotected void selectEventForMouseEvent(java.awt.event.MouseEvent e)
public boolean mouseReleased(java.awt.event.MouseEvent e)
MapMouseListener
mouseReleased
in interface MapMouseListener
e
- MouseEventpublic boolean mouseClicked(java.awt.event.MouseEvent e)
MapMouseListener
mousePressed()
, or if no other listener
processes the event. If the listener successfully processes
mouseClicked()
, then it will receive the next
mouseClicked()
notifications that have a click
count greater than one.
NOTE: We have noticed that this method can sometimes be
erroneously invoked. It seems to occur when a light-weight AWT
component (like an internal window or menu) closes (removes
itself from the window hierarchy). A specific OpenMap example
is when you make a menu selection when the MenuItem you select
is above the MapBean canvas. After making the selection, the
mouseClicked() gets invoked on the MouseDelegator, which passes
it to the appropriate listeners depending on the MouseMode. The
best way to avoid this problem is to not implement anything
crucial in this method. Use a combination of
mousePressed()
and mouseReleased()
instead.
mouseClicked
in interface MapMouseListener
e
- MouseEventprotected double updateMouseTimeDisplay(java.awt.event.MouseEvent e)
public void updateMouseTimeDisplay(java.lang.Long offsetMillis)
protected void updateEventDetails(java.awt.event.MouseEvent e)
protected void updateEventDetails()
public void mouseEntered(java.awt.event.MouseEvent e)
MapMouseListener
mouseEntered
in interface MapMouseListener
e
- MouseEventpublic void mouseExited(java.awt.event.MouseEvent e)
MapMouseListener
mouseExited
in interface MapMouseListener
e
- MouseEventpublic boolean mouseDragged(java.awt.event.MouseEvent e)
MapMouseListener
mouseDragged
in interface MapMouseListener
e
- MouseEventpublic boolean mouseMoved(java.awt.event.MouseEvent e)
MapMouseListener
mouseMoved
in interface MapMouseListener
e
- MouseEventpublic void mouseMoved()
MapMouseListener
mouseMoved
in interface MapMouseListener
protected java.util.List<OMEvent> handleEventSelection()
protected void evaluateEventAttributes()
protected void setSelectionRectangleToEvents()
protected void setMapBeanMaxScale(boolean setScaleToMax)
public void componentHidden(java.awt.event.ComponentEvent e)
componentHidden
in interface java.awt.event.ComponentListener
public void componentMoved(java.awt.event.ComponentEvent e)
componentMoved
in interface java.awt.event.ComponentListener
public void componentResized(java.awt.event.ComponentEvent e)
componentResized
in interface java.awt.event.ComponentListener
public void componentShown(java.awt.event.ComponentEvent e)
componentShown
in interface java.awt.event.ComponentListener
public void paint(java.awt.Graphics g)
OMGraphicHandlerLayer
paint
in class OMGraphicHandlerLayer
g
- java.awt.Graphics object to render OMGraphics into.public void setRealTimeMode(boolean realTimeMode)
public long getDuration()
public long getEndTime()
public void setUserHasChangedScale(boolean userHasChangedScale)
public void adjustZoomFromMouseWheel(int rot)
public void clearSelection()
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details