Package heronarts.lx.studio.ui.timeline
Class UITimeline
java.lang.Object
heronarts.glx.ui.UIEventHandler
heronarts.glx.ui.UIObject
heronarts.glx.ui.UI2dComponent
heronarts.glx.ui.UI2dContainer
heronarts.lx.studio.ui.timeline.UITimeline
- All Implemented Interfaces:
UIContainer
,LXLoopTask
,Lens.Listener
,Iterable<UIObject>
- Direct Known Subclasses:
UIClipEditor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
The body is the vertically scrolling main pane that sits beneath the header.class
The header lives at the top of the timeline, it scrolls horizontally but not vertically with the content below.class
Helper class for a lensed container that scrolls sideways but has a dynamic vertical height.class
Classic-style overview used for navigationNested classes/interfaces inherited from class heronarts.glx.ui.UI2dContainer
UI2dContainer.ArrowKeyFocus, UI2dContainer.Layout, UI2dContainer.Position
Nested classes/interfaces inherited from class heronarts.glx.ui.UI2dComponent
UI2dComponent.Scissor, UI2dComponent.Scissored, UI2dComponent.UIDragReorder
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal UITimeline.Body
static final int
final GridMetrics
final UITimeline.Header
final Lens
final UITimeline.Overview
protected final UIRuler
static final int
static final float
static final int
Fields inherited from class heronarts.glx.ui.UI2dContainer
bottomPadding, childSpacingX, childSpacingY, leftPadding, rightPadding, topPadding
Fields inherited from class heronarts.glx.ui.UI2dComponent
borderRoundingBottomLeft, borderRoundingBottomRight, borderRoundingTopLeft, borderRoundingTopRight, debug, debugName, hasBorderRounding, height, marginBottom, marginLeft, marginRight, marginTop, redraw, scissor, textAlignHorizontal, textAlignVertical, textOffsetX, textOffsetY, width, x, y
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
Add lane to the specified section, after removing it from any current section.protected final void
void
dispose()
protected void
drawBorder
(UI ui, VGraphics vg) protected void
drawCursorIndicators
(UI ui, VGraphics vg, UITimeline.LensScrollContainer content) float
float
void
onLensChanged
(Lens lens, boolean sizeChanged, boolean scrollChanged) Called when the lens positioning is changedprotected void
onReflow()
protected void
onResize()
Subclasses may override this method, invoked when the component is resizedprotected final void
removeLane
(UILane uiLane) void
setMainScrollY
(float y) Methods inherited from class heronarts.glx.ui.UI2dContainer
addChildren, addTopLevelComponent, getBottomPadding, getChild, getChildren, getChildSpacingX, getChildSpacingY, getContentHeight, getContentTarget, getContentWidth, getLeftPadding, getRightPadding, getScrollHeight, getScrollWidth, getTopPadding, hasDragToReorder, isEmpty, iterator, newHorizontalContainer, newHorizontalContainer, newHorizontalContainer, newVerticalContainer, newVerticalContainer, newVerticalContainer, onDraw, onKeyPressed, reflow, removeAllChildren, removeAllChildren, setArrowKeyFocus, setChildMargin, setChildSpacing, setChildSpacing, setChildSpacingX, setChildSpacingY, setContentHeight, setContentSize, setContentTarget, setContentWidth, setDragToReorder, setLayout, setLayout, setMinHeight, setMinWidth, setPadding, setPadding, setPadding
Methods inherited from class heronarts.glx.ui.UI2dComponent
addAfterSibling, addBeforeSibling, addToContainer, addToContainer, addToContainer, addToContainer, addToContainer, addToContainer, addToContainer, addToContainer, assertValidContainer, clipTextToWidth, clipTextToWidth, contains, dbch, drawBackground, drawComponentBackground, drawFocus, drawFocusCorners, drawFocusCorners, drawParentBackground, getAbsoluteX, getAbsoluteY, getBackgroundColor, getBorderColor, getBorderWeight, getBottomMargin, getContainer, getDebugClassHierarchy, getDebugClassHierarchy, getFocusColor, getFocusSize, getFont, getFontColor, getHeight, getLeftMargin, getMappableParameter, getNextSibling, getNextSibling, getParent, getPrevSibling, getPrevSibling, getRightMargin, getTopMargin, getWidth, getX, getY, hasBackground, hasBorder, hasFont, hasFontColor, isMappable, redraw, removeFromContainer, removeFromContainer, setBackground, setBackgroundColor, setBackgroundColor, setBorder, setBorderColor, setBorderColor, setBorderRounding, setBorderRounding, setBorderWeight, setBottomMargin, setContainerIndex, setContainerPosition, setDebug, setDebug, setDescription, setFocusBackground, setFocusBackgroundColor, setFocusBackgroundColor, setFocusColor, setFocusColor, setFocusCorners, setFont, setFontColor, setFontColor, setFontColor, setHeight, setLeftMargin, setMappable, setMargin, setMargin, setMargin, setPosition, setPosition, setPosition, setPosition, setRightMargin, setSize, setTextAlignment, setTextAlignment, setTextOffset, setTopMargin, setVisible, setWidth, setX, setY, vgRoundedRect, vgRoundedRect, vgRoundedRect
Methods inherited from class heronarts.glx.ui.UIObject
addListener, addListener, addLoopTask, addLoopTask, blur, bringToFront, focus, getDescription, getFocusedChild, getLX, getUI, hasDirectFocus, hasFocus, isVisible, isVisible, loop, onBlur, onFocus, onUIResize, removeLoopTask, requireUIThread, setConsumeMousePress, setDebugId, setMouseCursor, toggleVisible, toString
Methods inherited from class heronarts.glx.ui.UIEventHandler
onGamepadAxisChanged, onGamepadButtonPressed, onGamepadButtonReleased, onKeyReleased, onMouseDragged, onMouseMoved, onMouseOut, onMouseOver, onMousePressed, onMouseReleased, onMouseScroll
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface heronarts.lx.studio.ui.timeline.Lens.Listener
onClipChanged
-
Field Details
-
SIDE_BAR_WIDTH
public static final int SIDE_BAR_WIDTH- See Also:
-
DEFAULT_LANE_HEIGHT
public static final int DEFAULT_LANE_HEIGHT- See Also:
-
ZOOM_2X_RANGE
public static final float ZOOM_2X_RANGE- See Also:
-
ZOOM_THRESHOLD
public static final int ZOOM_THRESHOLD- See Also:
-
lens
-
gridMetrics
-
overview
-
header
-
body
-
ruler
-
-
Constructor Details
-
UITimeline
-
-
Method Details
-
setMainScrollY
public void setMainScrollY(float y) -
getMainLensHeight
public float getMainLensHeight() -
getMainLensY
public float getMainLensY() -
onLensChanged
Description copied from interface:Lens.Listener
Called when the lens positioning is changed- Specified by:
onLensChanged
in interfaceLens.Listener
- Parameters:
lens
- LenssizeChanged
- True if total width of the lens has changedscrollChanged
- True if scroll position of the lens has changed
-
dispose
public void dispose() -
onReflow
protected void onReflow()- Overrides:
onReflow
in classUI2dContainer
-
onResize
protected void onResize()Description copied from class:UI2dComponent
Subclasses may override this method, invoked when the component is resized- Overrides:
onResize
in classUI2dComponent
-
drawBorder
- Overrides:
drawBorder
in classUI2dComponent
-
drawCursorIndicators
-
addLane
Add lane to the specified section, after removing it from any current section. Use this when a lane is first created or to move a lane between sections.- Parameters:
uiLane
- A new or existing timeline lane.
-
addLane
-
removeLane
-