ScreenNavigator
public class
feathers.controls.ScreenNavigator
Description
A "view stack"-like container that supports navigation between screens (any display object) through events.
See also:
http://wiki.starling-framework.org/feathers/screen-navigator
http://wiki.starling-framework.org/feathers/transitions
feathers.controls.ScreenNavigatorItem
API overview
Constructor
ScreenNavigator
()
Constructor.
Attributes
Public attributes
activeScreen: DisplayObject |
read-only
A reference to the currently active screen |
activeScreenID: String |
read-only
The string identifier for the currently active screen |
autoDisposeScreens: Boolean | |
autoSizeMode: String |
Determines how the screen navigator will set its own size when its dimensions (width and height) aren't set explicitly |
clipContent: Boolean |
Determines if the navigator's content should be clipped to the width and height |
transition: Function |
A function that is called when the |
Protected attributes
Constants
Constants
AUTO_SIZE_MODE_CONTENT: String |
static
The screen navigator will auto size itself to fit its content |
AUTO_SIZE_MODE_STAGE: String |
static
The screen navigator will auto size itself to fill the entire stage |
Functions
Public functions
addScreen ( id: String , item: ScreenNavigatorItem ): Void |
Registers a new screen by its identifier |
clearScreen (): Void |
Removes the current screen, leaving the |
getScreen ( id: String ): ScreenNavigatorItem |
Returns the |
getScreenIDs ( result: Vector.<String> = null ): Vector.<String> |
Returns a list of the screen identifiers that have been added |
hasScreen ( id: String ): Boolean |
Determines if the specified screen identifier has been added |
removeAllScreens (): Void |
Removes all screens |
removeScreen ( id: String ): Void |
Removes an existing screen using its identifier |
showScreen ( id: String ): DisplayObject |
Displays a screen and returns a reference to it |
Protected functions
Constructor
ScreenNavigator ()
Constructor.
Attributes
autoDisposeScreens: Boolean
autoSizeMode: String
Determines how the screen navigator will set its own size when its dimensions (width and height) aren't set explicitly.
See also:
#AUTO_SIZE_MODE_STAGE
#AUTO_SIZE_MODE_CONTENT
base: DisplayObject
Inherited from DisplayObject
read-only
The topmost object in the display tree the object is part of.
bounds: Rectangle
Inherited from DisplayObject
read-only
The bounds of the object relative to the local coordinates of the parent.
clipContent: Boolean
Determines if the navigator's content should be clipped to the width and height.
defaultTextEditorFactory: Function
Inherited from FeathersControl
static
A function used by all UI controls that support text editor to
create an ITextEditor
instance. You may replace the
default function with your own, if you prefer not to use the
StageTextTextEditor
.
The function is expected to have the following signature:
function():ITextEditor
See also:
http://wiki.starling-framework.org/feathers/text-editors
feathers.core.ITextEditor
defaultTextRendererFactory: Function
Inherited from FeathersControl
static
A function used by all UI controls that support text renderers to create an ITextRenderer instance. You may replace the default function with your own, if you prefer not to use the BitmapFontTextRenderer.
The function is expected to have the following signature:
function():ITextRenderer
See also:
http://wiki.starling-framework.org/feathers/text-renderers
feathers.core.ITextRenderer
depth: Number
Inherited from DisplayObject
If depth sorting is enabled on parent, this will be used to establish draw order.
depthSort: Boolean
Inherited from DisplayObjectContainer
If depth sorting enabled, direct children will use their depth property to establish draw order.
focusIndicatorSkin: DisplayObject
Inherited from FeathersControl
If this component supports focus, this optional skin will be
displayed above the component when showFocus()
is
called. The focus indicator skin is not always displayed when the
component has focus. Typically, if the component receives focus from
a touch, the focus indicator is not displayed.
The touchable
of this skin will always be set to
false
so that it does not "steal" touches from the
component or its sub-components. This skin will not affect the
dimensions of the component or its hit area. It is simply a visual
indicator of focus.
focusManager: IFocusManager
Inherited from FeathersControl
The current focus manager for this component.
focusPadding: Number
Inherited from FeathersControl
Quickly sets all focus padding properties to the same value. The
focusPadding
getter always returns the value of
focusPaddingTop
, but the other focus padding values may
be different.
The following example gives the button 2 pixels of focus padding on all sides:
object.padding = 2;
focusPaddingBottom: Number
Inherited from FeathersControl
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin. A negative value may be used to expand the focus indicator skin outside the bounds of the object.
The following example gives the focus indicator skin -2 pixels of padding on the bottom edge only:
button.focusPaddingBottom = -2;
focusPaddingLeft: Number
Inherited from FeathersControl
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin. A negative value may be used to expand the focus indicator skin outside the bounds of the object.
The following example gives the focus indicator skin -2 pixels of padding on the right edge only:
button.focusPaddingLeft = -2;
focusPaddingRight: Number
Inherited from FeathersControl
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin. A negative value may be used to expand the focus indicator skin outside the bounds of the object.
The following example gives the focus indicator skin -2 pixels of padding on the right edge only:
button.focusPaddingRight = -2;
focusPaddingTop: Number
Inherited from FeathersControl
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin. A negative value may be used to expand the focus indicator skin outside the bounds of the object.
The following example gives the focus indicator skin -2 pixels of padding on the top edge only:
button.focusPaddingTop = -2;
hasVisibleArea: Boolean
Inherited from DisplayObject
read-only
Indicates if an object occupies any visible area. (Which is the case when its 'alpha', 'scaleX' and 'scaleY' values are not zero, and its 'visible' property is enabled.)
includeInLayout: Boolean
Inherited from FeathersControl
Determines if the ILayout should use this object or ignore it.
isEnabled: Boolean
Inherited from FeathersControl
Indicates whether the control is interactive or not.
isFocusEnabled: Boolean
Inherited from FeathersControl
Determines if this component can receive focus.
isInitialized: Boolean
Inherited from FeathersControl
read-only
Determines if the component has been initialized yet. The
initialize()
function is called one time only, when the
Feathers UI control is added to the display list for the first time.
isQuickHitAreaEnabled: Boolean
Inherited from FeathersControl
Similar to mouseChildren on the classic display list. If true, children cannot dispatch touch events, but hit tests will be much faster.
layoutData: ILayoutData
Inherited from FeathersControl
Extra parameters associated with this display object that will be used by the layout algorithm.
maxHeight: Number
Inherited from FeathersControl
The maximum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. This value
is not strictly enforced in all cases. An explicit height value that
is larger than maxHeight
may be set and will not be
affected by the maximum.
maxWidth: Number
Inherited from FeathersControl
The maximum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. This value
is not strictly enforced in all cases. An explicit width value that
is larger than maxWidth
may be set and will not be
affected by the maximum.
minHeight: Number
Inherited from FeathersControl
The minimum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. This value
is not strictly enforced in all cases. An explicit height value that
is smaller than minHeight
may be set and will not be
affected by the minimum.
minTouchHeight: Number
Inherited from FeathersControl
If using isQuickHitAreaEnabled
, and the hit area's
height is smaller than this value, it will be expanded.
minTouchWidth: Number
Inherited from FeathersControl
If using isQuickHitAreaEnabled
, and the hit area's
width is smaller than this value, it will be expanded.
minWidth: Number
Inherited from FeathersControl
The minimum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. This value
is not strictly enforced in all cases. An explicit width value that
is smaller than minWidth
may be set and will not be
affected by the minimum.
name: String
Inherited from DisplayObject
The name of the display object (default: null). Used by 'getChildByName()' of display object containers.
nameList: TokenList
Inherited from FeathersControl
read-only
Contains a list of all "names" assigned to this control. Names are
like classes in CSS selectors. They are a non-unique identifier that
can differentiate multiple styles of the same type of UI control. A
single control may have many names, and many controls can share a
single name. Names may be added, removed, or toggled on the nameList
.
See also:
#name
nextTabFocus: IFocusDisplayObject
Inherited from FeathersControl
The next object that will receive focus when the tab key is pressed.
If null
, defaults to the next child on the display list.
numChildren: Number
Inherited from DisplayObjectContainer
read-only
The number of children of this container.
parent: DisplayObjectContainer
Inherited from DisplayObject
pivotX: Number
Inherited from DisplayObject
The x coordinate of the object's origin in its own coordinate space (default: 0).
pivotY: Number
Inherited from DisplayObject
The y coordinate of the object's origin in its own coordinate space (default: 0).
previousTabFocus: IFocusDisplayObject
Inherited from FeathersControl
The previous object that will receive focus when the tab key is
pressed while holding shift. If null
, defaults to the
previous child on the display list.
root: DisplayObject
Inherited from DisplayObject
read-only
The root object the display object is connected to (ie: an instance of the class that was passed to the Starling constructor), or null if the object is not connected to the stage.
rotation: Number
Inherited from DisplayObject
The rotation of the object in radians, (In Loom2D, all angles are measured in radians.)
scale: Number
Inherited from DisplayObject
General scale factor. '1' means no scale, negative values flip the object. Use this when setting scaleX/scaleY explicitly is too verbose.
scaleX: Number
Inherited from DisplayObject
The horizontal scale factor. '1' means no scale, negative values flip the object.
scaleY: Number
Inherited from DisplayObject
The vertical scale factor. '1' means no scale, negative values flip the object.
stage: Stage
Inherited from DisplayObject
read-only
The stage the display object is connected to, or null if it is not connected to the stage.
touchable: Boolean
Inherited from DisplayObject
Indicates if this object (and its children) will receive touch events.
transformationMatrix: Matrix
Inherited from DisplayObject
The transformation matrix of the object relative to its parent.
If you assign a custom transformation matrix, Starling will try to figure out
suitable values for x, y, scaleX, scaleY,
and rotation
.
However, if the matrix was created in a different way, this might not be possible.
In that case, Starling will apply the matrix, but not update the corresponding
properties.
transition: Function
A function that is called when the ScreenNavigator
is
changing screens that is intended to display a transition effect and
to notify the ScreenNavigator
when the effect is
finished.
The function should have the following signature:
function(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void
Either of the oldScreen
and newScreen
arguments may be null
, but never both. The
oldScreen
argument will be null
when the
first screen is displayed or when a new screen is displayed after
clearing the screen. The newScreen
argument will
be null when clearing the screen.
The completeCallback
function must be called
when the transition effect finishes. It takes zero arguments and
returns nothing. In other words, it has the following signature:
function():void
In the future, it may be possible for a transition to cancel
itself. If this happens, the completeCallback
may begin
accepting arguments, but they will have default values and existing
uses of completeCallback
should continue to work.
See also:
#showScreen()
#clearScreen()
http://wiki.starling-framework.org/feathers/transitions
view: Number
Inherited from DisplayObjectContainer
View controls which indexed view the container's children will be drawn into
visible: Boolean
Inherited from DisplayObject
The visibility of the object, An invisible object will be untouchable.
x: Number
Inherited from DisplayObject
The x coordinate of the object relative to the local coordinates of the parent.
y: Number
Inherited from DisplayObject
The y coordinate of the object relative to the local coordinates of the parent.
Protected attributes
Constants
AUTO_SIZE_MODE_CONTENT: String
static
The screen navigator will auto size itself to fit its content.
See also:
#autoSizeMode
AUTO_SIZE_MODE_STAGE: String
static
The screen navigator will auto size itself to fill the entire stage.
See also:
#autoSizeMode
INVALIDATION_FLAG_ALL: String
static
Flag to indicate that everything is invalid and should be redrawn.
INVALIDATION_FLAG_DATA: String
static
Invalidation flag to indicate that the primary data displayed by the UI control has changed.
INVALIDATION_FLAG_FOCUS: String
static
Invalidation flag to indicate that the focus of the UI control has changed.
INVALIDATION_FLAG_LAYOUT: String
static
Invalidation flag to indicate that the layout of the UI control has changed.
INVALIDATION_FLAG_SCROLL: String
static
Invalidation flag to indicate that the scroll position of the UI control has changed.
INVALIDATION_FLAG_SELECTED: String
static
Invalidation flag to indicate that the selection of the UI control has changed.
INVALIDATION_FLAG_SIZE: String
static
Invalidation flag to indicate that the dimensions of the UI control have changed.
INVALIDATION_FLAG_SKIN: String
static
Invalidation flag to indicate that the skin of the UI control has changed.
INVALIDATION_FLAG_STATE: String
static
Invalidation flag to indicate that the state has changed. Used by
isEnabled
, but may be used for other control states too.
See also:
#isEnabled
INVALIDATION_FLAG_STYLES: String
static
Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
Functions
FeathersControl__ls_staticconstructor
(): Void
Inherited from FeathersControl
static
Static constructor.
addChild
(
child: DisplayObject
): DisplayObject
Inherited from DisplayObjectContainer
Adds a child to the container. It will be at the frontmost position.
Parameters
child: DisplayObject |
addChildAt
(
child: DisplayObject
,
index: Number
): DisplayObject
Inherited from DisplayObjectContainer
Adds a child to the container at a certain index.
Parameters
child: DisplayObject | |
index: Number |
addEventListener
(
type: String
,
listener: Function
): Void
Inherited from EventDispatcher
Registers an event listener at a certain object.
Parameters
type: String | |
listener: Function |
addLMLChild
(
id: String
,
child: Object
): Void
Inherited from DisplayObjectContainer
Parameters
id: String | |
child: Object |
addScreen ( id: String , item: ScreenNavigatorItem ): Void
Registers a new screen by its identifier.
Parameters
id: String | |
item: ScreenNavigatorItem |
broadcastEvent
(
event: Event
): Void
Inherited from DisplayObjectContainer
Dispatches an event on all children (recursively). The event must not bubble.
Parameters
event: Event |
broadcastEventWith
(
type: String
,
data: Object
= null
): Void
Inherited from DisplayObjectContainer
Dispatches an event with the given parameters on all children (recursively). The method uses an internal pool of event objects to avoid allocations.
Parameters
type: String | |
data: Object = null |
center
(): Void
Inherited from DisplayObject
center the DisplayObject's pivot point using the width and height
contains
(
child: DisplayObject
): Boolean
Inherited from DisplayObjectContainer
Determines if a certain object is a child of the container (recursively).
Parameters
child: DisplayObject |
dispatchEvent
(
event: Event
): Void
Inherited from EventDispatcher
Dispatches an event to all objects that have registered listeners for its type. If an event with enabled 'bubble' property is dispatched to a display object, it will travel up along the line of parents, until it either hits the root object or someone stops its propagation manually.
Parameters
event: Event |
dispatchEventWith
(
type: String
,
bubbles: Boolean
= false
,
data: Object
= null
): Void
Inherited from EventDispatcher
Dispatches an event with the given parameters to all objects that have registered listeners for the given type. The method uses an internal pool of event objects to avoid allocations.
Parameters
type: String | |
bubbles: Boolean = false | |
data: Object = null |
dispose
(): Void
Inherited from DisplayObject
Disposes all resources of the display object. GPU buffers are released, event listeners are removed, filters are disposed.
getBounds
(
targetSpace: DisplayObject
,
resultRect: Rectangle
= null
): Rectangle
Inherited from DisplayObject
Returns a rectangle that completely encloses the object as it appears in another coordinate system. If you pass a 'resultRectangle', the result will be stored in this rectangle instead of creating a new object.
Parameters
targetSpace: DisplayObject | |
resultRect: Rectangle = null |
getChildAt
(
index: Number
): DisplayObject
Inherited from DisplayObjectContainer
Returns a child object at a certain index.
Parameters
index: Number |
getChildByName
(
name: String
): DisplayObject
Inherited from DisplayObjectContainer
Returns a child object with a certain name (non-recursively).
Parameters
name: String |
getChildIndex
(
child: DisplayObject
): Number
Inherited from DisplayObjectContainer
Returns the index of a child within the container, or "-1" if it is not found.
Parameters
child: DisplayObject |
getFullTypeName
(): String
Inherited from Object
native
Gets the fully qualified type name of the Object. The fully qualified type name includes the package of the type.
Returns
String | fully qualified type name of the Object. |
getScreen ( id: String ): ScreenNavigatorItem
Returns the ScreenNavigatorItem
instance with the
specified identifier.
Parameters
id: String |
getScreenIDs ( result: Vector.<String> = null ): Vector.<String>
Returns a list of the screen identifiers that have been added.
Parameters
result: Vector.<String> = null |
getTargetTransformationMatrix
(
targetSpace: DisplayObject
,
resultMatrix: Matrix
): Void
Inherited from DisplayObject
native
Parameters
targetSpace: DisplayObject | |
resultMatrix: Matrix |
getType
(): Type
Inherited from Object
native
Gets the Type that describes the Object.
Returns
Type | The Type that describes the object. |
getTypeName
(): String
Inherited from Object
native
Gets the type name of the Object.
Returns
String | type name of the Object. |
globalToLocal
(
globalPoint: Point
): Point
Inherited from DisplayObject
Transforms a point from global (stage) coordinates to the local coordinate system.
Parameters
globalPoint: Point |
hasEventListener
(
type: String
): Boolean
Inherited from EventDispatcher
Returns if there are listeners registered for a certain event type.
Parameters
type: String |
hasScreen ( id: String ): Boolean
Determines if the specified screen identifier has been added.
Parameters
id: String |
hideFocus
(): Void
Inherited from FeathersControl
If the visual indicator of focus has been displayed by
showFocus()
, call this function to hide it.
Important: This function will not clear focus
from the display object if it has focus. To clear focus from the
display object, you should set the focus
property on
the focus manager to null
or another display object.
See also:
#showFocus()
feathers.core.IFocusManager#focus
hitTest
(
localPoint: Point
,
forTouch: Boolean
= false
): DisplayObject
Inherited from DisplayObject
Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails. If "forTouch" is true, untouchable and invisible objects will cause the test to fail.
Parameters
localPoint: Point | |
forTouch: Boolean = false |
initializeLMLNode
(
id: String
): Void
Inherited from DisplayObject
Handle LML node initialization.
Parameters
id: String |
invalidate
(
flag: String
=
): Void
Inherited from FeathersControl
Call this function to tell the UI control that a redraw is pending. The redraw will happen immediately before Starling renders the UI control to the screen. The validation system exists to ensure that multiple properties can be set together without redrawing multiple times in between each property change.
If you cannot wait until later for the validation to happen, you
can call validate()
to redraw immediately. As an example,
you might want to validate immediately if you need to access the
correct width
or height
values of the UI
control, since these values are calculated during validation.
See also:
feathers.core.FeathersControl#validate()
Parameters
flag: String = |
isInvalid
(
flag: String
= null
): Boolean
Inherited from FeathersControl
Indicates whether the control is pending validation or not. By
default, returns true
if any invalidation flag has been
set. If you pass in a specific flag, returns true
only
if that flag has been set (others may be set too, but it checks the
specific flag only. If all flags have been marked as invalid, always
returns true
.
Parameters
flag: String = null |
localToGlobal
(
localPoint: Point
): Point
Inherited from DisplayObject
Transforms a point from the local coordinate system to global (stage) coordinates.
Parameters
localPoint: Point |
preinitializeLMLNode
(
id: String
): Void
Inherited from DisplayObject
Pre-initialize the LML node.
Parameters
id: String |
removeChild
(
child: DisplayObject
,
dispose: Boolean
= false
): DisplayObject
Inherited from DisplayObjectContainer
Removes a child from the container. If the object is not a child, nothing happens. If requested, the child will be disposed right away.
Parameters
child: DisplayObject | |
dispose: Boolean = false |
removeChildAt
(
index: Number
,
dispose: Boolean
= false
): DisplayObject
Inherited from DisplayObjectContainer
Removes a child at a certain index. Children above the child will move down. If requested, the child will be disposed right away.
Parameters
index: Number | |
dispose: Boolean = false |
removeChildren
(
beginIndex: Number
= 0
,
endIndex: Number
=
,
dispose: Boolean
= false
): Void
Inherited from DisplayObjectContainer
Removes a range of children from the container (endIndex included). If no arguments are given, all children will be removed.
Parameters
beginIndex: Number = 0 | |
endIndex: Number = | |
dispose: Boolean = false |
removeEventListener
(
type: String
,
listener: Function
): Void
Inherited from EventDispatcher
Removes an event listener from the object.
Parameters
type: String | |
listener: Function |
removeEventListeners
(
type: String
= null
): Void
Inherited from EventDispatcher
Removes all event listeners with a certain type, or all of them if type is null. Be careful when removing all event listeners: you never know who else was listening.
Parameters
type: String = null |
removeFromParent
(
dispose: Boolean
= false
): Void
Inherited from DisplayObject
Removes the object from its parent, if it has one.
Parameters
dispose: Boolean = false |
removeScreen ( id: String ): Void
Removes an existing screen using its identifier.
Parameters
id: String |
setChildIndex
(
child: DisplayObject
,
index: Number
): Void
Inherited from DisplayObjectContainer
Moves a child to a certain index. Children at and after the replaced position move up.
Parameters
child: DisplayObject | |
index: Number |
setSize
(
width: Number
,
height: Number
): Void
Inherited from FeathersControl
Sets both the width and the height of the control.
Parameters
width: Number | |
height: Number |
showFocus
(): Void
Inherited from FeathersControl
If the object has focus, an additional visual indicator may optionally be displayed to highlight the object. Calling this function may have no effect. It's merely a suggestion to the object.
Important: This function will not give focus to
the display object if it doesn't have focus. To give focus to the
display object, you should set the focus
property on
the focus manager.
object.focusManager.focus = object;
See also:
#hideFocus()
feathers.core.IFocusManager#focus
showScreen ( id: String ): DisplayObject
Displays a screen and returns a reference to it. If a previous transition is running, the new screen will be queued, and no reference will be returned.
Parameters
id: String |
sortChildren
(
compareFunction: Function
): Void
Inherited from DisplayObjectContainer
Sorts the children according to a given function (that works just like the sort function of the Vector class).
Parameters
compareFunction: Function |
swapChildren
(
child1: DisplayObject
,
child2: DisplayObject
): Void
Inherited from DisplayObjectContainer
Swaps the indexes of two children.
Parameters
child1: DisplayObject | |
child2: DisplayObject |
swapChildrenAt
(
index1: Number
,
index2: Number
): Void
Inherited from DisplayObjectContainer
Swaps the indexes of two children.
Parameters
index1: Number | |
index2: Number |