Packagespark.layouts
Classpublic class TimeMachineLayout
InheritanceTimeMachineLayout Inheritance PerspectiveAnimationNavigatorLayoutBase Inheritance AnimationNavigatorLayoutBase Inheritance NavigatorLayoutBase Inheritance LayoutBase Inheritance OnDemandEventDispatcher Inheritance Object
Subclasses RolodexLayout

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

This class is experimental, which means it has not been tested or documented as thoroughly as other core Apache Flex classes.

The TimeMachineLayout class arranges the layout elements in a depth sequence, front to back, with optional depths between the elements and optional aligment the sequence of elements.

The vertical position of the elements is determined by a combination of the verticalAlign, verticalOffset, verticalDisplacement and the number of indices the element is from the selectedIndex property. First the element is aligned using the verticalAlign property and then the verticalOffset is applied. The value of verticalDisplacement is then multiplied of the number of elements the element is from the selected element.

The horizontal position of the elements is determined by a combination of the horizontalAlign, horizontalOffset, horizontalDisplacement and the number of indices the element is from the selectedIndex property. First the element is aligned using the horizontalAlign property and then the determined is applied. The value of horizontalDisplacement is then multiplied of the number of elements the element is from the selected element.

MXML SyntaxexpandedHide MXML Syntax

The <st:TimeMachineLayout> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

	  <st:TimeMachineLayout
	    Properties
	    numVisibleElements="3"
	    depthColor="-1"
	    verticalAlign="middle"
	    horizontalAlign="center"
	    horizontalOffset="0"
	    verticalOffset="0"
	    maximumZ="300"
	    horizontalDisplacement="0"
	    verticalDisplacement="0"
	  />
	  

See also

spark.containers.Navigator
spark.containers.NavigatorGroup
spark.components.DataNavigator
spark.components.DataNavigatorGroup


Public Properties
 PropertyDefined By
  alphaOutEnd : Number
The amount to offset elements on the vertical axis depending on their z property.
TimeMachineLayout
  alphaOutStart : Number
The amount to offset elements on the vertical axis depending on their z property.
TimeMachineLayout
 InheritedanimationValue : Number
[read-only]  If the animationType is "direct" the animationValue will ease from 1 to 0.
AnimationNavigatorLayoutBase
 InheritedclipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport.
LayoutBase
  depthColor : int
TimeMachineLayout
  depthColorAlpha : Number
The alpha to be used for the color tint that is applied to elements as their are moved back on the z axis.
TimeMachineLayout
 InheriteddropIndicator : DisplayObject
The DisplayObject that this layout uses for the drop indicator during a drag-and-drop operation.
LayoutBase
 Inheritedduration : Number
The duration of the animation in milliseconds.
AnimationNavigatorLayoutBase
 Inheritedeaser : IEaser
The easing behavior for this effect.
AnimationNavigatorLayoutBase
 Inheritedelements : Vector.<IVisualElement>
[read-only]
NavigatorLayoutBase
 InheritedfieldOfView : Number
 fieldOfView  
PerspectiveAnimationNavigatorLayoutBase
 InheritedfirstIndexInView : int
[read-only] firstIndexInView
NavigatorLayoutBase
 InheritedfocalLength : Number
 focalLength  
PerspectiveAnimationNavigatorLayoutBase
  horizontalAlign : String
TimeMachineLayout
  horizontalDisplacement : Number
The amount to offset elements on the horizontal axis depending on their z property.
TimeMachineLayout
  horizontalOffset : Number
TimeMachineLayout
 InheritedhorizontalScrollPosition : Number
The x coordinate of the origin of the viewport in the component's coordinate system, where the default value is (0,0) corresponding to the upper-left corner of the component.
LayoutBase
 InheritedindicesInLayout : Vector.<int>
[read-only] A convenience method for determining the elements included in the layout.
NavigatorLayoutBase
 InheritedindicesNotInLayout : Vector.<int>
[read-only] A convenience method for determining the elements excluded from the layout.
NavigatorLayoutBase
 InheritedlastIndexInView : int
[read-only] lastIndexInView
NavigatorLayoutBase
  maximumZ : Number
The z difference between the first and last element in view.
TimeMachineLayout
 InheritednumElementsInLayout : int
[read-only] Returns an int specifying number of elements included in the layout.
NavigatorLayoutBase
 InheritednumElementsNotInLayout : int
[read-only] Returns an int specifying number of elements not included in the layout.
NavigatorLayoutBase
 InheritednumIndicesInView : int
[read-only] inheritDoc
NavigatorLayoutBase
  numVisibleElements : int
The number of elements shown in the layout.
TimeMachineLayout
 InheritedprojectionCenterX : Number
 projectionCenterX
PerspectiveAnimationNavigatorLayoutBase
 InheritedprojectionCenterY : Number
 projectionCenterY
PerspectiveAnimationNavigatorLayoutBase
 InheritedrenderingData : Boolean
[read-only] inheritDoc
NavigatorLayoutBase
 InheritedscrollBarDirection : String
The direction of the ScrollBar to use for navigation.
NavigatorLayoutBase
 InheritedselectedElement : IVisualElement
[read-only]
NavigatorLayoutBase
 InheritedselectedIndex : int
The index of the selected INavigatorLayout item.
NavigatorLayoutBase
 InheritedsizeChangedInLayoutPass : Boolean
[read-only]
NavigatorLayoutBase
 Inheritedtarget : GroupBase
[override] The GroupBase container whose elements are measured, sized and positioned by this layout.
PerspectiveAnimationNavigatorLayoutBase
 InheritedtypicalLayoutElement : ILayoutElement
Used by layouts when fixed row/column sizes are requested but a specific size isn't specified.
LayoutBase
 InheritedunscaledHeight : Number
[read-only] A convenience method for determining the unscaled height of the viewport.
NavigatorLayoutBase
 InheritedunscaledWidth : Number
[read-only] A convenience method for determining the unscaled width of the viewport.
NavigatorLayoutBase
 InheriteduseScrollBarForNavigation : Boolean
useScrollBarForNavigation
NavigatorLayoutBase
 InheriteduseVirtualLayout : Boolean
A container can hold any number of children.
LayoutBase
  verticalAlign : String
TimeMachineLayout
  verticalDisplacement : Number
The amount to offset elements on the vertical axis depending on their z property.
TimeMachineLayout
  verticalOffset : Number
TimeMachineLayout
 InheritedverticalScrollPosition : Number
The y coordinate of the origin of the viewport in the component's coordinate system, where the default value is (0,0) corresponding to the upper-left corner of the component.
LayoutBase
Protected Properties
 PropertyDefined By
 Inherited_elements : Vector.<IVisualElement>
NavigatorLayoutBase
Public Methods
 MethodDefined By
  
Constructor.
TimeMachineLayout
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
OnDemandEventDispatcher
 Inherited
Calculates the drop location in the data provider of the drop target for the specified dragEvent.
LayoutBase
 Inherited
When useVirtualLayout is true, this method can be used by the layout target to clear cached layout information when the target changes.
LayoutBase
 Inherited
dispatchEvent(event:Event):Boolean
OnDemandEventDispatcher
 Inherited
elementAdded(index:int):void
Called by the target after a layout element has been added and before the target's size and display list are validated.
LayoutBase
 Inherited
elementRemoved(index:int):void
This method must is called by the target after a layout element has been removed and before the target's size and display list are validated.
LayoutBase
 Inherited
getElementBounds(index:int):Rectangle
Returns the specified element's layout bounds as a Rectangle or null if the index is invalid, the corresponding element is null, includeInLayout=false, or if this layout's target property is null.
LayoutBase
 Inherited
getHorizontalScrollPositionDelta(navigationUnit:uint):Number
[override]
NavigatorLayoutBase
 Inherited
getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
Delegation method that determines which item to navigate to based on the current item in focus and user input in terms of NavigationUnit.
LayoutBase
 Inherited
getProjectionRectAtZ(z:Number):Rectangle
Returns the visible projection plane at a specific depth.
PerspectiveAnimationNavigatorLayoutBase
 Inherited
Computes the verticalScrollPosition and horizontalScrollPosition deltas needed to scroll the element at the specified index into view.
LayoutBase
 Inherited
getVerticalScrollPositionDelta(navigationUnit:uint):Number
[override]
NavigatorLayoutBase
 Inherited
hasEventListener(type:String):Boolean
OnDemandEventDispatcher
 Inherited
Hides the previously shown drop indicator, created by the showDropIndicator() method, removes it from the display list and also stops the drag scrolling.
LayoutBase
 Inherited
NavigatorLayoutBase
 Inherited
isAnimating():Boolean
 Returns whether the layout is currently animating.
AnimationNavigatorLayoutBase
 Inherited
measure():void
[override]
NavigatorLayoutBase
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
OnDemandEventDispatcher
 Inherited
showDropIndicator(dropLocation:DropLocation):void
Sizes, positions and parents the drop indicator based on the specified drop location.
LayoutBase
  
updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
[override] Sizes and positions the target's elements.
TimeMachineLayout
 Inherited
updateScrollRect(w:Number, h:Number):void
[override]
NavigatorLayoutBase
 Inherited
willTrigger(type:String):Boolean
OnDemandEventDispatcher
Protected Methods
 MethodDefined By
 Inherited
applyColorTransformToElement(element:IVisualElement, colorTransform:ColorTransform):void
NavigatorLayoutBase
 Inherited
calculateDragScrollDelta(dropLocation:DropLocation, elapsedTime:Number):Point
Calculates how much to scroll for the specified dropLocation during a drag and drop gesture.
LayoutBase
 Inherited
calculateDropIndex(x:Number, y:Number):int
Returns the index where a new item should be inserted if the user releases the mouse at the specified coordinates while completing a drag and drop gesture.
LayoutBase
 Inherited
Calculates the bounds for the drop indicator that provides visual feedback to the user of where the items will be inserted at the end of a drag and drop gesture.
LayoutBase
 Inherited
getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is above the scrollRect's top edge.
LayoutBase
 Inherited
getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is below the scrollRect's bottom edge.
LayoutBase
 Inherited
getElementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is to the left of the scrollRect's left edge.
LayoutBase
 Inherited
getElementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is to the right of the scrollRect's right edge.
LayoutBase
 Inherited
getElementLayoutBoundsHeight(element:IVisualElement, postLayoutTransform:Boolean = true):Number
NavigatorLayoutBase
 Inherited
getElementLayoutBoundsWidth(element:IVisualElement, postLayoutTransform:Boolean = true):Number
NavigatorLayoutBase
  
getElementX(unscaledWidth:Number, elementWidth:Number):Number
TimeMachineLayout
  
getElementY(unscaledHeight:Number, elementHeight:Number):Number
TimeMachineLayout
 Inherited
Returns a reference to the views Scroller if there is one.
NavigatorLayoutBase
 Inherited
getScrollRect():Rectangle
Returns the bounds of the target's scroll rectangle in layout coordinates.
LayoutBase
  
getTimeMachineElementX(unscaledWidth:Number, elementWidth:Number, i:int, offset:Number):Number
TimeMachineLayout
  
getTimeMachineElementY(unscaledHeight:Number, elementHeight:Number, i:int, offset:Number):Number
TimeMachineLayout
 Inherited
indicesInView(firstIndexinView:int, numIndicesInView:int):void
NavigatorLayoutBase
 Inherited
invalidateSelectedIndex(index:int, offset:Number):void
[override]
AnimationNavigatorLayoutBase
 Inherited
NavigatorLayoutBase
 Inherited
Restores the element to reset any changes to is visible properties.
NavigatorLayoutBase
 Inherited
[override]
NavigatorLayoutBase
 Inherited
setElementLayoutBoundsSize(element:IVisualElement, postLayoutTransform:Boolean = true):void
NavigatorLayoutBase
 Inherited
[override]
PerspectiveAnimationNavigatorLayoutBase
  
[override]
TimeMachineLayout
  
[override]
TimeMachineLayout
 Inherited
NavigatorLayoutBase
 Inherited
NavigatorLayoutBase
  
[override]  To be overridden in subclasses.
TimeMachineLayout
 Inherited
updateScrollBar(index:int, offset:Number):void
NavigatorLayoutBase
 Inherited
NavigatorLayoutBase
 Inherited
NavigatorLayoutBase
Events
 Event Summary Defined By
 Inherited The IndexChangeEvent.CHANGE constant defines the value of the type property of the event object for a change event, which indicates that an index has changed, such as when a List-based control changes its selection.NavigatorLayoutBase
 Inherited The FlexEvent.VALUE_COMMIT constant defines the value of the type property of the event object for a valueCommit event.NavigatorLayoutBase
Protected Constants
 ConstantDefined By
 InheritedDIRECT : String = direct
[static] An animationType value passed to the constructor.
AnimationNavigatorLayoutBase
 InheritedINDIRECT : String = indirect
[static] An animationType value passed to the constructor.
AnimationNavigatorLayoutBase
Property Detail
alphaOutEndproperty
alphaOutEnd:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The amount to offset elements on the vertical axis depending on their z property.


Implementation
    public function get alphaOutEnd():Number
    public function set alphaOutEnd(value:Number):void
alphaOutStartproperty 
alphaOutStart:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The amount to offset elements on the vertical axis depending on their z property.


Implementation
    public function get alphaOutStart():Number
    public function set alphaOutStart(value:Number):void
depthColorproperty 
depthColor:int

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5


Implementation
    public function get depthColor():int
    public function set depthColor(value:int):void
depthColorAlphaproperty 
depthColorAlpha:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The alpha to be used for the color tint that is applied to elements as their are moved back on the z axis.

The default value is 1.


Implementation
    public function get depthColorAlpha():Number
    public function set depthColorAlpha(value:Number):void

See also

horizontalAlignproperty 
horizontalAlign:String

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5


Implementation
    public function get horizontalAlign():String
    public function set horizontalAlign(value:String):void
horizontalDisplacementproperty 
horizontalDisplacement:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The amount to offset elements on the horizontal axis depending on their z property.


Implementation
    public function get horizontalDisplacement():Number
    public function set horizontalDisplacement(value:Number):void
horizontalOffsetproperty 
horizontalOffset:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5


Implementation
    public function get horizontalOffset():Number
    public function set horizontalOffset(value:Number):void
maximumZproperty 
maximumZ:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The z difference between the first and last element in view.

The default value is 300.


Implementation
    public function get maximumZ():Number
    public function set maximumZ(value:Number):void
numVisibleElementsproperty 
numVisibleElements:int

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The number of elements shown in the layout.

The default value is 4.


Implementation
    public function get numVisibleElements():int
    public function set numVisibleElements(value:int):void
verticalAlignproperty 
verticalAlign:String

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5


Implementation
    public function get verticalAlign():String
    public function set verticalAlign(value:String):void
verticalDisplacementproperty 
verticalDisplacement:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The amount to offset elements on the vertical axis depending on their z property.


Implementation
    public function get verticalDisplacement():Number
    public function set verticalDisplacement(value:Number):void
verticalOffsetproperty 
verticalOffset:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5


Implementation
    public function get verticalOffset():Number
    public function set verticalOffset(value:Number):void
Constructor Detail
TimeMachineLayout()Constructor
public function TimeMachineLayout()

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Constructor.

Method Detail
getElementX()method
protected function getElementX(unscaledWidth:Number, elementWidth:Number):Number

Parameters

unscaledWidth:Number
 
elementWidth:Number

Returns
Number
getElementY()method 
protected function getElementY(unscaledHeight:Number, elementHeight:Number):Number

Parameters

unscaledHeight:Number
 
elementHeight:Number

Returns
Number
getTimeMachineElementX()method 
protected function getTimeMachineElementX(unscaledWidth:Number, elementWidth:Number, i:int, offset:Number):Number

Parameters

unscaledWidth:Number
 
elementWidth:Number
 
i:int
 
offset:Number

Returns
Number
getTimeMachineElementY()method 
protected function getTimeMachineElementY(unscaledHeight:Number, elementHeight:Number, i:int, offset:Number):Number

Parameters

unscaledHeight:Number
 
elementHeight:Number
 
i:int
 
offset:Number

Returns
Number
updateDisplayList()method 
override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Sizes and positions the target's elements.

This is one of the methods that you must override when creating a subclass of LayoutBase. The other method is measure(). You do not call these methods directly. Flex calls this method as part of a layout pass. A layout pass consists of three phases.

First, if the target's properties are invalid, the LayoutManager calls the target's commitProperties method.

Second, if the target's size is invalid, LayoutManager calls the target's validateSize() method. The target's validateSize() will in turn call the layout's measure() to calculate the target's default size unless it was explicitly specified by both target's explicitWidth and explicitHeight properties. If the default size changes, Flex will invalidate the target's display list.

Last, if the target's display list is invalid, LayoutManager calls the target's validateDisplayList. The target's validateDisplayList will in turn call the layout's updateDisplayList method to size and position the target's elements.

A typical implementation iterates through the target's elements and uses the methods defined by the ILayoutElement to position and resize the elements. Then the layout must also calculate and set the target's contentWidth and contentHeight properties to define the target's scrolling region.

Parameters

unscaledWidth:Number — Specifies the width of the target, in pixels, in the targets's coordinates.
 
unscaledHeight:Number — Specifies the height of the component, in pixels, in the target's coordinates.

updateDisplayListReal()method 
override protected function updateDisplayListReal():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

updateDisplayListVirtual()method 
override protected function updateDisplayListVirtual():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

updateIndicesInView()method 
override protected function updateIndicesInView():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

 To be overridden in subclasses. indicesInView() should be invoked in this method updating the first and last index in view.