Packagespark.layouts.supportClasses
Classpublic class LayoutBase
InheritanceLayoutBase Inheritance OnDemandEventDispatcher Inheritance Object
Subclasses BasicLayout, HorizontalLayout, VerticalLayout

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

The LayoutBase class defines the base class for all Spark layouts. To create a custom layout that works with the Spark containers, you must extend LayoutBase or one of its subclasses.

At minimum, subclasses must implement the updateDisplayList() method, which positions and sizes the target GroupBase's elements, and the measure() method, which calculates the default size of the target.

Subclasses may override methods like getElementBoundsAboveScrollRect() and getElementBoundsBelowScrollRect() to customize the way the target behaves when it's connected to scrollbars.

Subclasses that support virtualization must respect the useVirtualLayout property and should only retrieve layout elements within the scrollRect (the value of getScrollRect()) using getVirtualElementAt() from within updateDisplayList().

MXML SyntaxexpandedHide MXML Syntax

The <s:LayoutBase> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:LayoutBase 
    Properties
    clipAndEnableScrolling="false"
    dropIndicator="defined by the skin class"
    horizontalScrollPosition="0"
    target="null"
    typicalLayoutElement="null"
    useVirtualLayout="false"
    verticalScrollPosition="0"
  />
  


Public Properties
 PropertyDefined By
  clipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport.
LayoutBase
  dropIndicator : DisplayObject
The DisplayObject that this layout uses for the drop indicator during a drag-and-drop operation.
LayoutBase
  horizontalScrollPosition : 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
  target : GroupBase
The GroupBase container whose elements are measured, sized and positioned by this layout.
LayoutBase
  typicalLayoutElement : ILayoutElement
Used by layouts when fixed row/column sizes are requested but a specific size isn't specified.
LayoutBase
  useVirtualLayout : Boolean
A container can hold any number of children.
LayoutBase
  verticalScrollPosition : 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
Public Methods
 MethodDefined By
  
Constructor.
LayoutBase
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
OnDemandEventDispatcher
  
Calculates the drop location in the data provider of the drop target for the specified dragEvent.
LayoutBase
  
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
  
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
  
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
  
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
  
getHorizontalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the horizontal scroll position to handle different scrolling options.
LayoutBase
  
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
  
Computes the verticalScrollPosition and horizontalScrollPosition deltas needed to scroll the element at the specified index into view.
LayoutBase
  
getVerticalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the vertical scroll position to handle different scrolling options.
LayoutBase
 Inherited
hasEventListener(type:String):Boolean
OnDemandEventDispatcher
  
Hides the previously shown drop indicator, created by the showDropIndicator() method, removes it from the display list and also stops the drag scrolling.
LayoutBase
  
measure():void
Measures the target's default size based on its content, and optionally measures the target's default minimum size.
LayoutBase
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
OnDemandEventDispatcher
  
showDropIndicator(dropLocation:DropLocation):void
Sizes, positions and parents the drop indicator based on the specified drop location.
LayoutBase
  
updateDisplayList(width:Number, height:Number):void
Sizes and positions the target's elements.
LayoutBase
  
updateScrollRect(w:Number, h:Number):void
Called by the target at the end of its updateDisplayList to have the layout update its scrollRect.
LayoutBase
 Inherited
willTrigger(type:String):Boolean
OnDemandEventDispatcher
Protected Methods
 MethodDefined By
  
calculateDragScrollDelta(dropLocation:DropLocation, elapsedTime:Number):Point
Calculates how much to scroll for the specified dropLocation during a drag and drop gesture.
LayoutBase
  
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
  
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
  
getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is above the scrollRect's top edge.
LayoutBase
  
getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or is below the scrollRect's bottom edge.
LayoutBase
  
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
  
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
  
getScrollRect():Rectangle
Returns the bounds of the target's scroll rectangle in layout coordinates.
LayoutBase
  
Called when the verticalScrollPosition or horizontalScrollPosition properties change.
LayoutBase
Property Detail
clipAndEnableScrollingproperty
clipAndEnableScrolling:Boolean

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

If true, specifies to clip the children to the boundaries of the viewport. If false, the container children extend past the container boundaries, regardless of the size specification of the component.

The default value is false.


Implementation
    public function get clipAndEnableScrolling():Boolean
    public function set clipAndEnableScrolling(value:Boolean):void
dropIndicatorproperty 
dropIndicator:DisplayObject

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

The DisplayObject that this layout uses for the drop indicator during a drag-and-drop operation. Typically you do not set this property directly, but instead define a dropIndicator skin part in the skin class of the drop target.

The List control sets this property in response to a DragEvent.DRAG_ENTER event. The List initializes this property with an instance of its dropIndicator skin part. The List clears this property in response to a DragEvent.DRAG_EXIT event.


Implementation
    public function get dropIndicator():DisplayObject
    public function set dropIndicator(value:DisplayObject):void
horizontalScrollPositionproperty 
horizontalScrollPosition:Number

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

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. If clipAndEnableScrolling is true, setting this property typically causes the viewport to be set to:

      new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)
      
Implementations of this property must be Bindable and must generate events of type propertyChange.

The default value is 0.

This property can be used as the source for data binding.


Implementation
    public function get horizontalScrollPosition():Number
    public function set horizontalScrollPosition(value:Number):void
targetproperty 
target:GroupBase

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

The GroupBase container whose elements are measured, sized and positioned by this layout.

Subclasses may override the setter to perform target specific actions. For example a 3D layout may set the target's maintainProjectionCenter property here.

The default value is null.


Implementation
    public function get target():GroupBase
    public function set target(value:GroupBase):void

See also

typicalLayoutElementproperty 
typicalLayoutElement:ILayoutElement

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

Used by layouts when fixed row/column sizes are requested but a specific size isn't specified. Used by virtual layouts to estimate the size of layout elements that have not been scrolled into view.

This property references a component that Flex uses to define the height of all container children, as the following example shows:

      <s:Group>
        <s:layout>
          <s:VerticalLayout variableRowHeight="false"
              typicalLayoutElement="{b3}"/> 
        </s:layout>
        <s:Button id="b1" label="Button 1"/>
        <s:Button id="b2" label="Button 2"/>
        <s:Button id="b3" label="Button 3" fontSize="36"/>
        <s:Button id="b4" label="Button 4" fontSize="24"/>
      </s:Group>

If this property has not been set and the target is non-null then the target's first layout element is cached and returned.

The default value is the target's first layout element.

The default value is null.


Implementation
    public function get typicalLayoutElement():ILayoutElement
    public function set typicalLayoutElement(value:ILayoutElement):void

See also

useVirtualLayoutproperty 
useVirtualLayout:Boolean

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

A container can hold any number of children. However, each child requires an instance of an item renderer. If the container has many children, you might notice performance degradation as you add more children to the container.

Instead of creating an item renderer for each child, you can configure the container to use a virtual layout. With virtual layout, the container reuses item renderers so that it only creates item renderers for the currently visible children of the container. As a child is moved off the screen, possible by scrolling the container, a new child being scrolled onto the screen can reuse its item renderer.

To configure a container to use virtual layout, set the useVirtualLayout property to true for the layout associated with the container. Only DataGroup or SkinnableDataContainer with layout set to VerticalLayout, HorizontalLayout, or TileLayout supports virtual layout. Layout subclasses that do not support virtualization must prevent changing this property.

Note: The BasicLayout class throws a run-time error if you set useVirtualLayout to true.

When true, layouts that support virtualization must use the target.getVirtualElementAt() method, rather than getElementAt(), and must only get the elements they anticipate will be visible given the value of getScrollRect().

When true, the layout class must be able to compute the indices of the layout elements that overlap the scrollRect in its updateDisplayList() method based exclusively on cached information, not by getting layout elements and examining their bounds.

Typically virtual layouts update their cached information in the updateDisplayList() method, based on the sizes and locations computed for the elements in view.

Similarly, in the measure() method, virtual layouts should update the target's measured size properties based on the typicalLayoutElement and other cached layout information, not by measuring elements.

Containers cooperate with layouts that have useVirtualLayout = true by recycling item renderers that were previously constructed, but are no longer in use. An item is considered to be no longer in use if its index is not within the range of getVirtualElementAt() indices requested during the container's most recent updateDisplayList() invocation.

The default value is false.


Implementation
    public function get useVirtualLayout():Boolean
    public function set useVirtualLayout(value:Boolean):void

See also

verticalScrollPositionproperty 
verticalScrollPosition:Number

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

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. If clipAndEnableScrolling is true, setting this property typically causes the viewport to be set to:

      new Rectangle(horizontalScrollPosition, verticalScrollPosition, width, height)
      
Implementations of this property must be Bindable and must generate events of type propertyChange.

The default value is 0.

This property can be used as the source for data binding.


Implementation
    public function get verticalScrollPosition():Number
    public function set verticalScrollPosition(value:Number):void
Constructor Detail
LayoutBase()Constructor
public function LayoutBase()

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

Constructor.

Method Detail
calculateDragScrollDelta()method
protected function calculateDragScrollDelta(dropLocation:DropLocation, elapsedTime:Number):Point

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

Calculates how much to scroll for the specified dropLocation during a drag and drop gesture. Called by the showDropIndicator() method to calculate the scroll during drag-scrolling.

Parameters

dropLocation:DropLocation — A valid DropLocation object previously obtained by calling the calculateDropLocation() method.
 
elapsedTime:Number — The duration, in milliseconds, since the drag scrolling start.

Returns
Point — How much to drag scroll, or null if drag-scrolling is not needed.

See also

calculateDropIndex()method 
protected function calculateDropIndex(x:Number, y:Number):int

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

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. Called by the calculatedDropLocation() method.

Parameters

x:Number — The x coordinate of the drag and drop gesture, in local coordinates.
 
y:Number — The y coordinate of the drag and drop gesture, in the drop target's local coordinates.

Returns
int — The drop index or -1 if the drop operation is not available at the specified coordinates.

See also

calculateDropIndicatorBounds()method 
protected function calculateDropIndicatorBounds(dropLocation:DropLocation):Rectangle

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

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. Called by the showDropIndicator() method.

Parameters

dropLocation:DropLocation — A valid DropLocation object previously returned by the calculateDropLocation() method.

Returns
Rectangle — The bounds for the drop indicator or null.

See also

calculateDropLocation()method 
public function calculateDropLocation(dragEvent:DragEvent):DropLocation

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

Calculates the drop location in the data provider of the drop target for the specified dragEvent.

Parameters

dragEvent:DragEvent — The drag event dispatched by the DragManager.

Returns
DropLocation — Returns the drop location for this event, or null if the drop operation is not available.

See also

clearVirtualLayoutCache()method 
public function clearVirtualLayoutCache():void

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

When useVirtualLayout is true, this method can be used by the layout target to clear cached layout information when the target changes.

For example, when a DataGroup's dataProvider or itemRenderer property changes, cached elements sizes become invalid.

When the useVirtualLayout property changes to false, this method is called automatically.

Subclasses that support useVirtualLayout = true must override this method.

elementAdded()method 
public function elementAdded(index:int):void

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

Called by the target after a layout element has been added and before the target's size and display list are validated. Layouts that cache per element state, like virtual layouts, can override this method to update their cache.

If the target calls this method, it's only guaranteeing that a a layout element will exist at the specified index at updateDisplayList() time, for example a DataGroup with a virtual layout will call this method when an item is added to the targets dataProvider.

By default, this method does nothing.

Parameters

index:int — The index of the element that was added.

See also

elementRemoved()method 
public function elementRemoved(index:int):void

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

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. Layouts that cache per element state, like virtual layouts, can override this method to update their cache.

If the target calls this method, it's only guaranteeing that a a layout element will no longer exist at the specified index at updateDisplayList() time. For example, a DataGroup with a virtual layout calls this method when an item is added to the dataProvider property.

By default, this method does nothing.

Parameters

index:int — The index of the element that was added.

See also

getElementBounds()method 
public function getElementBounds(index:int):Rectangle

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

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.

Layout subclasses that support useVirtualLayout=true must override this method to compute a potentially approximate value for elements that are not in view.

Parameters

index:int — Index of the layout element.

Returns
Rectangle — The specified element's layout bounds.

See also

getElementBoundsAboveScrollRect()method 
protected function getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle

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

Returns the bounds of the first layout element that either spans or is above the scrollRect's top edge.

This is a convenience method that is used by the default implementation of the getVerticalScrollPositionDelta() method. Subclasses that rely on the default implementation of getVerticalScrollPositionDelta() should override this method to provide an accurate bounding rectangle that has valid top and bottom properties.

By default this method returns a Rectangle with width=0, height=1, whose top edge is one less than the top edge of the scrollRect, and left=0.

Subclasses should override this method to provide an accurate bounding rectangle that has valid top and bottom properties.

Parameters

scrollRect:Rectangle — The target's scrollRect.

Returns
Rectangle — The bounds of the first element that spans or is above the scrollRect’s top edge.

See also

getElementBoundsBelowScrollRect()method 
protected function getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle

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

Returns the bounds of the first layout element that either spans or is below the scrollRect's bottom edge.

This is a convenience method that is used by the default implementation of the getVerticalScrollPositionDelta() method. Subclasses that rely on the default implementation of getVerticalScrollPositionDelta() should override this method to provide an accurate bounding rectangle that has valid top and bottom properties.

By default this method returns a Rectangle with width=0, height=1, whose bottom edge is one more than the bottom edge of the scrollRect, and left=0.

Parameters

scrollRect:Rectangle — The target's scrollRect.

Returns
Rectangle — The bounds of the first element that spans or is below the scrollRect’s bottom edge.

See also

getElementBoundsLeftOfScrollRect()method 
protected function getElementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle

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

Returns the bounds of the first layout element that either spans or is to the left of the scrollRect's left edge.

This is a convenience method that is used by the default implementation of the getHorizontalScrollPositionDelta() method. Subclasses that rely on the default implementation of getHorizontalScrollPositionDelta() should override this method to provide an accurate bounding rectangle that has valid left and right properties.

By default this method returns a Rectangle with width=1, height=0, whose left edge is one less than the left edge of the scrollRect, and top=0.

Parameters

scrollRect:Rectangle — The target's scrollRect.

Returns
Rectangle — The bounds of the first element that spans or is to the left of the scrollRect’s left edge.

See also

getElementBoundsRightOfScrollRect()method 
protected function getElementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle

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

Returns the bounds of the first layout element that either spans or is to the right of the scrollRect's right edge.

This is a convenience method that is used by the default implementation of the getHorizontalScrollPositionDelta() method. Subclasses that rely on the default implementation of getHorizontalScrollPositionDelta() should override this method to provide an accurate bounding rectangle that has valid left and right properties.

By default this method returns a Rectangle with width=1, height=0, whose right edge is one more than the right edge of the scrollRect, and top=0.

Parameters

scrollRect:Rectangle — The target's scrollRect.

Returns
Rectangle — The bounds of the first element that spans or is to the right of the scrollRect’s right edge.

See also

getHorizontalScrollPositionDelta()method 
public function getHorizontalScrollPositionDelta(navigationUnit:uint):Number

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

Returns the change to the horizontal scroll position to handle different scrolling options. These options are defined by the NavigationUnit class: END, HOME, LEFT, PAGE_LEFT, PAGE_RIGHT, and RIGHT.

Parameters

navigationUnit:uint — Takes the following values:
  • END Returns scroll delta that will right justify the scrollRect to the content area.
  • HOME Returns scroll delta that will left justify the scrollRect to the content area.
  • LEFT Returns scroll delta that will left justify the scrollRect with the first element that spans or is to the left of the scrollRect's left edge.
  • PAGE_LEFT Returns scroll delta that will right justify the scrollRect with the first element that spans or is to the left of the scrollRect's left edge.
  • PAGE_RIGHT Returns scroll delta that will left justify the scrollRect with the first element that spans or is to the right of the scrollRect's right edge.
  • RIGHT Returns scroll delta that will right justify the scrollRect with the first element that spans or is to the right of the scrollRect's right edge.

The implementation calls getElementBoundsLeftOfScrollRect() and getElementBoundsRightOfScrollRect() to determine the bounds of the elements. Layout classes usually override those methods instead of the getHorizontalScrollPositionDelta() method.

Returns
Number — The change to the horizontal scroll position.

See also

getNavigationDestinationIndex()method 
public function getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int

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

Delegation method that determines which item to navigate to based on the current item in focus and user input in terms of NavigationUnit. This method is used by subclasses of ListBase to handle keyboard navigation. ListBase maps user input to NavigationUnit constants.

Subclasses can override this method to compute other values that are based on the current index and key stroke encountered.

Parameters

currentIndex:int — The current index of the item with focus.
 
navigationUnit:uint — The NavigationUnit constant that determines which item to navigate to next.
 
arrowKeysWrapFocus:Boolean — If true, using arrow keys to navigate within the component wraps when it hits either end.

Returns
int — The index of the next item to jump to. Returns -1 when if the layout doesn't recognize the navigationUnit.
getScrollPositionDeltaToElement()method 
public function getScrollPositionDeltaToElement(index:int):Point

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

Computes the verticalScrollPosition and horizontalScrollPosition deltas needed to scroll the element at the specified index into view.

This method attempts to minimize the change to verticalScrollPosition and horizontalScrollPosition.

If clipAndEnableScrolling is true and the element at the specified index is not entirely visible relative to the target's scroll rectangle, then return the delta to be added to horizontalScrollPosition and verticalScrollPosition that scrolls the element completely within the scroll rectangle's bounds.

Parameters

index:int — The index of the element to be scrolled into view.

Returns
Point — A Point that contains offsets to horizontalScrollPosition and verticalScrollPosition that will scroll the specified element into view, or null if no change is needed. If the specified element is partially visible and larger than the scroll rectangle, meaning it is already the only element visible, then return null. If the specified index is invalid, or target is null, then return null. If the element at the specified index is null or includeInLayout false, then return null.

See also

getScrollRect()method 
protected function getScrollRect():Rectangle

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

Returns the bounds of the target's scroll rectangle in layout coordinates. Layout methods should not get the target's scroll rectangle directly.

Returns
Rectangle — The bounds of the target's scrollRect in layout coordinates, null if target or clipAndEnableScrolling is false.
getVerticalScrollPositionDelta()method 
public function getVerticalScrollPositionDelta(navigationUnit:uint):Number

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

Returns the change to the vertical scroll position to handle different scrolling options. These options are defined by the NavigationUnit class: DOWN, END, HOME, PAGE_DOWN, PAGE_UP, and UP.

Parameters

navigationUnit:uint — Takes the following values:
  • DOWN Returns scroll delta that will bottom justify the scrollRect with the first element that spans or is below the scrollRect's bottom edge.
  • END Returns scroll delta that will bottom justify the scrollRect to the content area.
  • HOME Returns scroll delta that will top justify the scrollRect to the content area.
  • PAGE_DOWN Returns scroll delta that will top justify the scrollRect with the first element that spans or is below the scrollRect's bottom edge.
  • PAGE_UP
  • Returns scroll delta that will bottom justify the scrollRect with the first element that spans or is above the scrollRect's top edge.
  • UP Returns scroll delta that will top justify the scrollRect with the first element that spans or is above the scrollRect's top edge.

The implementation calls getElementBoundsAboveScrollRect() and getElementBoundsBelowScrollRect() to determine the bounds of the elements. Layout classes usually override those methods instead of the getVerticalScrollPositionDelta() method.

Returns
Number — The change to the vertical scroll position.

See also

hideDropIndicator()method 
public function hideDropIndicator():void

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

Hides the previously shown drop indicator, created by the showDropIndicator() method, removes it from the display list and also stops the drag scrolling.

See also

measure()method 
public function measure():void

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

Measures the target's default size based on its content, and optionally measures the target's default minimum size.

This is one of the methods that you must override when creating a subclass of LayoutBase. The other method is updateDisplayList(). 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.

When implementing this method, you must set the target's measuredWidth and measuredHeight properties to define the target's default size. You may optionally set the measuredMinWidth and measuredMinHeight properties to define the default minimum size. A typical implementation iterates through the target's elements and uses the methods defined by the ILayoutElement to accumulate the preferred and/or minimum sizes of the elements and then sets the target's measuredWidth, measuredHeight, measuredMinWidth and measuredMinHeight.

See also

scrollPositionChanged()method 
protected function scrollPositionChanged():void

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

Called when the verticalScrollPosition or horizontalScrollPosition properties change.

The default implementation updates the target's scrollRect property by calling updateScrollRect(). Subclasses can override this method to compute other values that are based on the current scrollPosition or scrollRect.

See also

showDropIndicator()method 
public function showDropIndicator(dropLocation:DropLocation):void

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

Sizes, positions and parents the drop indicator based on the specified drop location. Use the calculateDropLocation() method to obtain the DropLocation object.

Starts/stops drag-scrolling when necessary conditions are met.

Parameters

dropLocation:DropLocation — Specifies the location where to show the drop indicator. Drop location is obtained through the computeDropLocation() method.

See also

updateDisplayList()method 
public function updateDisplayList(width:Number, height: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

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

See also

updateScrollRect()method 
public function updateScrollRect(w:Number, h:Number):void

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

Called by the target at the end of its updateDisplayList to have the layout update its scrollRect.

If clipAndEnableScrolling is true, the default implementation sets the origin of the target's scrollRect to verticalScrollPosition, horizontalScrollPosition. It sets its size to the width, height parameters (the target's unscaled width and height).

If clipAndEnableScrolling is false, the default implementation sets the scrollRect to null.

Parameters

w:Number — The target's width.
 
h:Number — The target's height.

See also

target
flash.display.DisplayObject.scrollRect
updateDisplayList()