|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent com.bbn.openmap.Layer com.bbn.openmap.layer.OMGraphicHandlerLayer com.bbn.openmap.gui.time.TimelineLayer
public class TimelineLayer
Timeline layer Render events and allow for their selection on a variable-scale time line.
Nested Class Summary | |
---|---|
static class |
TimelineLayer.CurrentTimeMarker
|
class |
TimelineLayer.EventMarkerLine
|
static class |
TimelineLayer.PlayFilter
|
static class |
TimelineLayer.SelectionArea
|
static class |
TimelineLayer.TimeHashFactory
|
static class |
TimelineLayer.TimeHashMarks
|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
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
|
Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer |
---|
consumeEvents, ConsumeEventsProperty, filter, interruptable, InterruptableProperty, layerWorker, LAYERWORKER_LOCK, layerWorkerQueue, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList, TransparencyProperty |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface com.bbn.openmap.PropertyConsumer |
---|
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
TimelineLayer()
Construct the TimelineLayer. |
Method Summary | |
---|---|
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. |
Methods inherited from class javax.swing.JComponent |
---|
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, 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 |
Methods inherited from class java.awt.Container |
---|
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, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
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, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.awt.event.ActionListener |
---|
actionPerformed |
Methods inherited from interface java.beans.beancontext.BeanContextChild |
---|
addPropertyChangeListener, removePropertyChangeListener |
Field Detail |
---|
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
Constructor Detail |
---|
public TimelineLayer()
Method Detail |
---|
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
getGUI
in class 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
- MouseEvent
protected void selectEventForMouseEvent(java.awt.event.MouseEvent e)
public boolean mouseReleased(java.awt.event.MouseEvent e)
MapMouseListener
mouseReleased
in interface MapMouseListener
e
- MouseEvent
public 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
- MouseEvent
protected 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
- MouseEvent
public boolean mouseMoved(java.awt.event.MouseEvent e)
MapMouseListener
mouseMoved
in interface MapMouseListener
e
- MouseEvent
public 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()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |