Class: SlidingList

olympe.ui.std. SlidingList

A SlidingList is a scrollable vertical stack of elements that can slide horizontally to reveal more options (buttons).

Example

const activator = appDef => {
    console.log('appDef triggered' + appDef.getName());
};
const renderer = appDef => {
    return new olympe.ui.std.Label().setText(appDef.getName);
};
const appList = new olympe.ui.std.SlidingList(dimension, list, olympe.sc.ui.UIApplicationDefinition, renderer, activator);
appList.setBackgroundColor(Color.black());
appList.addButton('images/QRCode.png', appDef => { console.log('qrcode button selected'); });
appList.addButton('images/QuestionMark.png', appDef => { console.log('Question Mark button selected'); });

new SlidingList(dimension, data, dataType, renderer, onActivate)

Creates a SlidingList.

Parameters:
Name Type Description
dimension olympe.df.PVector2

The size of this component.

data !olympe.df.Proxy.<!olympe.df.SortedEnumerable> | olympe.df.SortedEnumerable

The content list.

dataType !olympe.df.Proxy.<function(new:T, ...?)> | function

The type of the content elements.

renderer function

The renderer for the elements.

onActivate function

The function to call when on element of the list is selected by the user.

Extends

Members


<package> onActivate :function

Type:
  • function

Methods


addButton(icon, onActivate)

Adds a button by specifying the URL of its icon.

Parameters:
Name Type Description
icon string

The url for the icon.

onActivate function

The function to call when this button is pressed.


clearContent()

Removes the content of this scroller

Inherited From:
Overrides:

<package> getButtons()

Gets the list of buttons urls & callbacks.

Returns:

The list of buttons.

Type
Array.<!olympe.ui.std.SlidingList.ButtonDef>

getFocus()

Checks whether this Element has the focus.

Warning: Focus may not be applicable on some elements, depending on the platform.

Inherited From:
Overrides:
Returns:

true if Element has focus.

Type
olympe.df.POBoolean

<protected> getGestureEvent()

Gets the gesture event manager attached to this element

Inherited From:
Overrides:
Returns:
Type
olympe.ui.events.GestureEventManager

getHeight()

Gets the height of this element.

Inherited From:
Overrides:
See:
Returns:

the height of this element.

Type
olympe.df.PONumber

getHTMLElement()

Return the DOM HTMLElement if exists (may be null)

Inherited From:
Overrides:
Returns:
Type
Element

<protected> getMouseEvent()

Gets the mouse event manager attached to this element.

Inherited From:
Overrides:
Returns:

the mouse event manager.

Type
olympe.ui.events.MouseEventManager

getParent()

Gets the parent, or container, of this element.

Inherited From:
Overrides:
Returns:

the parent of this element.

Type
olympe.ui.std.Element | olympe.df.Proxy

getPosition()

Gets the position (x,y) for this element.

Inherited From:
Overrides:
Returns:

Position of this element.

Type
olympe.df.PVector2

getScrollOffset()

Gets the scroll offset.

Inherited From:
Overrides:
Returns:

Scroller offset (dx, dy).

Type
olympe.df.PVector2

getUIProxyDockableElement()

Note: needs to be public because it is called by RootElement !

Inherited From:
Overrides:
Returns:

The proxy element from the UI thread

Type
olympe.uiapi.std.DockableElement

<protected> getUIProxyElement()

Returns the native UI element associated with this Element.

Inherited From:
Overrides:
Returns:

The proxy element from the UI thread.

Type
olympe.uiapi.std.Element

<package> getUIProxyScroller()

Inherited From:
Overrides:
Returns:

Proxified UI object Scroller

Type
olympe.uiapi.std.Scroller

getWidth()

Gets the width of this element.

Inherited From:
Overrides:
See:
Returns:

the width of this element.

Type
olympe.df.PONumber

getX()

Gets the x coordinate of the position of this element.

Inherited From:
Overrides:
See:
Returns:

the x coordinate for this element.

Type
olympe.df.PONumber

getY()

Gets the y coordinate of the position of this element.

Inherited From:
Overrides:
See:
Returns:

the y coordinate for this element.

Type
olympe.df.PONumber

isHidden()

Checks whether this Element is hidden.

Inherited From:
Overrides:
Returns:

true is this element is hidden.

Type
olympe.df.POBoolean

refreshSize()

Refresh component internal size

Inherited From:
Overrides:

removeTooltip()

Removes the tooltip from this element.

Inherited From:
Overrides:
Returns:

This element.

Type
olympe.ui.std.Element

setAccelerated(accelerated)

Sets whether this DockableElement movements should be calculated by the GPU.

Note: This function doesn't guarantee that the implementation will support GPU acceleration.

Parameters:
Name Type Description
accelerated olympe.df.POBoolean | olympe.df.Node | boolean

true if this DockableElement movements should be calculated by the GPU.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setBackgroundColor(color)

Sets the background color for this Element.

Parameters:
Name Type Description
color olympe.df.Proxy | olympe.df.Node | olympe.df.Color

The background color.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImage(url [, sizingMode] [, positioningMode] [, size] [, position])

Sets the background image for this Element.

Notes:

  • The size is ignored if the sizing mode is not set to MANUAL.
  • The position is ignored if the positioning mode is not set to MANUAL.
Parameters:
Name Type Argument Default Description
url olympe.df.POString | olympe.df.Node | string

URL for the image.

sizingMode olympe.ui.common.BackgroundImageSize | olympe.df.Proxy | olympe.df.Node <optional>
AUTO

The sizing mode for the image.

positioningMode olympe.ui.common.BackgroundImagePosition | olympe.df.Proxy | olympe.df.Node <optional>
TOPLEFT

The positioning mode for this image.

size olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node <optional>

Size, in pixel.

position olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node <optional>

Position of the image, in pixel. (0,0) if omitted.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImagePosition(position)

Sets the background image position for this Element.

Parameters:
Name Type Description
position olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node

The position.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImagePositionMode(positionMode)

Sets the position mode for the background image of this Element.

Parameters:
Name Type Description
positionMode olympe.ui.common.BackgroundImagePosition | olympe.df.Proxy | olympe.df.Node

The positioning mode for this image.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImageSize(size)

Sets the background image size for the this Element.

Parameters:
Name Type Description
size olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node

The image size, in pixels.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImageSizeMode(sizeMode)

Sets the sizing mode for the background image of this Element.

Parameters:
Name Type Description
sizeMode olympe.ui.common.BackgroundImageSize | olympe.df.Proxy | olympe.df.Node

The sizing mode.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBackgroundImageSrc(src)

Sets the URL (or source) for the background image.

Parameters:
Name Type Description
src olympe.df.POString | olympe.df.Node | string

URL for the image.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBlur()

Removes focus from this Element.

Warnings:

  • Focus may not be applicable on some elements, depending on the platform.
  • Elements not inside a container (screen, etc.) can't get the focus.
Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setBorder(width, color)

Sets the border width & color for this element. a width of 0 means no visible border.

Parameters:
Name Type Description
width olympe.df.ONumber | number | olympe.df.Node | olympe.df.Proxy

the width, in pixels, for the border

color olympe.df.Color | olympe.df.Node | olympe.df.Proxy

the color for the border

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setBorderColor(color)

Set the border color on this element.

Parameters:
Name Type Description
color olympe.df.Color | olympe.df.Proxy.<olympe.df.Color>
Inherited From:
Overrides:
Returns:
Type
olympe.ui.std.DockableElement

setBorderWidth(width)

Set the border width on this element. a width of 0 means no visible border.

Parameters:
Name Type Description
width number | olympe.df.PONumber
Inherited From:
Overrides:
Returns:
Type
olympe.ui.std.DockableElement

setContent(content)

Sets the content of the Scroller. Typically this will be a UI component that is bigger than this container.

Parameters:
Name Type Description
content olympe.ui.std.DockableElement

Content of this Scroller.

Inherited From:
Overrides:

setContextMenuEnabled(enabled)

Enable/disable context menu on this element.

Parameters:
Name Type Description
enabled boolean

true to enable the context menu, false to disable it.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setCornerRadius(radius)

Sets the rounded corner radius (in pixels) for this element.

Parameters:
Name Type Description
radius olympe.df.PONumber | olympe.df.Node | number

Radius in pixels.

Inherited From:
Overrides:
Returns:

this DockableElement.

Type
olympe.ui.std.DockableElement

setDimension(dimension)

Sets the dimension (width, height) for this element.

Parameters:
Name Type Description
dimension olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node

Dimension of this element.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setFocus()

Gives the focus to this Element.

Warnings:

  • Focus may not be applicable on some elements, depending on the platform.
  • Elements not inside a container (screen, etc.) can't get the focus.
Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setHidden(hidden)

Sets whether this Element is hidden or not. A hidden element will not appear on the screen.

Parameters:
Name Type Description
hidden olympe.df.POBoolean | boolean | olympe.df.Node

true if content must be hidden, false otherwise.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setIgnoreUserInteraction( [ignore])

Disables mouse events for this element. However, mouse events will target its descendants unless they are manually set to also ignore user interactions.

Parameters:
Name Type Argument Default Description
ignore boolean | olympe.df.POBoolean <optional>
false

ignore true to make this element ignore mouse events and pass them to its children.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setOpacity(opacity)

Sets the opacity, or alpha channel, for this Element. This is a float value between 0 and 1. 0 being transparent and 1 being opaque.

Parameters:
Name Type Description
opacity olympe.df.ONumber | number | olympe.df.Proxy | olympe.df.Node

the opacity (between 0 and 1).

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setParent(parent)

Sets the parent of this element.

Important: This method must be called when this element is added to a container or layout.

Parameters:
Name Type Description
parent olympe.df.Proxy.<olympe.ui.std.Element> | olympe.ui.std.Element

The parent for this element.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setPosition(position)

Sets the position (x,y) for this Element.

Parameters:
Name Type Description
position olympe.df.Vector2 | olympe.df.Proxy | olympe.df.Node

The position of this element.

Inherited From:
Overrides:
Returns:

this DockableElement.

Type
olympe.ui.std.DockableElement

setRotationAngle(angle)

Sets the rotation angle (in degree) for this element.

Parameters:
Name Type Description
angle olympe.df.ONumber | number | olympe.df.Node | olympe.df.Proxy

the angle, in degree.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setScale(scale)

Sets the scaling factor for the width and height of this element.

Parameters:
Name Type Description
scale olympe.df.PVector2 | olympe.df.Node

scaling vector (w, h).

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setScrollbarVisible(visible)

Makes the scrollbar bar visible or hidden.

Parameters:
Name Type Description
visible olympe.df.POBoolean | boolean

true to make the scrollbars visible.

Inherited From:
Overrides:

setScrollOffset(offset)

Sets the scroll offset.

Parameters:
Name Type Description
offset olympe.df.PVector2

Scroller offset (dx, dy).

Inherited From:
Overrides:

setScrollX(enabled)

Enables or disables horizontal scrolling.

Parameters:
Name Type Description
enabled olympe.df.POBoolean | olympe.df.Node.<olympe.df.OBoolean> | boolean

true to enable horizontal scrolling.

Inherited From:
Overrides:

setScrollY(enabled)

Enables or disables vertical scrolling.

Parameters:
Name Type Description
enabled olympe.df.POBoolean | olympe.df.Node.<olympe.df.OBoolean> | boolean

true to enable vertical scrolling.

Inherited From:
Overrides:

setShadow( [offset] [, radius] [, spread] [, color] [, inset])

Set shadow on this DockableElement. A shadow is defined by its offset, the blur radius, the spread radius (all in pixels) and a base color. A shadow is by default 'external, but can be made internal by setting the 'inset' parameter to true`.

Parameters:
Name Type Argument Default Description
offset olympe.df.Vector2 | olympe.df.Node | olympe.df.Proxy.<olympe.df.Vector2> <optional>
0

Offset in pixels.

radius olympe.df.PONumber | olympe.df.Node | number <optional>
0

Blur radius in pixels.

spread olympe.df.PONumber | olympe.df.Node | number <optional>
0

Spread in pixels.

color olympe.df.Color | olympe.df.Node | olympe.df.Proxy.<olympe.df.Color> <optional>
'#000000'

Shadow color.

inset olympe.df.POBoolean | olympe.df.Node | boolean <optional>
false

true if the shadow is inset.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setShadowPSStyle(color, angle, distance, spread, size, inset)

Set shadow on this DockableElement as done in Photoshop.

Parameters:
Name Type Description
color olympe.df.Color | olympe.df.Node | olympe.df.Proxy.<olympe.df.Color>

Shadow Color.

angle olympe.df.PONumber | olympe.df.Node | number

Angle, in radians.

distance olympe.df.PONumber | olympe.df.Node | number

Distance, in pixels.

spread olympe.df.PONumber | olympe.df.Node | number

Spread in pixels.

size olympe.df.PONumber | olympe.df.Node | number

Size, in pixels.

inset olympe.df.POBoolean | olympe.df.Node | boolean

true if the shadow is inset.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setStepX(step)

Set steps for horizontal scrolling (scroll won't stop between steps).

Parameters:
Name Type Description
step olympe.df.PONumber | number

The horizontal step.

Inherited From:
Overrides:

setStepY(step)

Set steps for vertical scrolling (scroll won't stop between steps).

Parameters:
Name Type Description
step olympe.df.PONumber | number

The vertical step.

Inherited From:
Overrides:

setStyle(style, value)

Parameters:
Name Type Description
style string

CSS style name

value string | number

CSS style value

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setTabIndex(tabIndex)

Sets the tab index to this Element. Tab Index defines the tabulation or 'next' order while going through a form.

Parameters:
Name Type Description
tabIndex olympe.df.PONumber | olympe.df.ONumber | number | olympe.df.Node

The tab index.

Inherited From:
Overrides:
Returns:

this Element.

Type
olympe.ui.std.Element

setThemeClass(themeClass)

Method to override if this dockable element supports themes.

Parameters:
Name Type Description
themeClass olympe.df.POString | olympe.df.Node | string

The theme class.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setTooltip(text [, options])

Assigns a tooltip to that element that will show up when the mouse hovers over it.

Parameters:
Name Type Argument Description
text olympe.df.POString

The text of the tooltip.

options Object <optional>

Various options for displaying the tooltip.

Properties
Name Type Argument Description
position olympe.df.PVector2 <optional>

The absolute position of the tooltip.

background olympe.df.PColor <optional>

The background color.

foreground olympe.df.PColor <optional>

The text color.

fontSize olympe.df.PONumber <optional>

The font size.

borderSize olympe.df.PONumber <optional>

The size of the border. Default is 1.

borderColor olympe.df.PColor <optional>

The color of the border. Default is black.

delay olympe.df.ONumber | number <optional>

The delay, in milliseconds, before showing the tooltip. Default is 500.

startingPos olympe.df.Vector2 <optional>

The starting position of the mouse. Default is (0,0).

theme olympe.df.POString <optional>

The theme class to apply to this tooltip.

Inherited From:
Overrides:
Returns:

This Element.

Type
olympe.ui.std.Element

setUniformScale(scale)

Sets the scaling factor for this element.

Parameters:
Name Type Description
scale olympe.df.PONumber | olympe.df.Node | number

The scaling factor.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

setZIndex(zIndex)

Sets the z-index for this element. This determines how elements are layered when they overlap on the screen. Higher Z-index elements are placed on top of lower Z-index elements.

Parameters:
Name Type Description
zIndex olympe.df.PONumber | olympe.df.Node | number

Index of element on z axis.

Inherited From:
Overrides:
Returns:

This DockableElement.

Type
olympe.ui.std.DockableElement

<package> startSliding(line)

Notifies that a current SlidingItem is being slided. This will close any other entry that was open.

Parameters:
Name Type Description
line SlidingItem