Packagecom.yahoo.astra.layout
Classpublic class LayoutContainer
InheritanceLayoutContainer Inheritance flash.display.Sprite
ImplementsILayoutContainer

Children of this display object are subject to being positioned, and possibly resized, based on a specified layout algorithm. LayoutContainer integrates with LayoutManager to refresh its the layout of its children when properties on the container itself change or when one of its children dispatches a registered invalidating event. This is the default implementation of ILayoutContainer.


Example
The following code demonstrates the usage of LayoutContainer:
  // create an instance of a layout mode
  var mode:ILayoutMode = new BoxLayout();
  mode.direction = "horizontal";
  mode.horizontalGap = 10;
  
  // one may pass the mode to the constructor or the layoutMode property.
  // note: by default, a LayoutContainer will automatically determine
  // its size based on its content.
  var container:LayoutContainer = new LayoutContainer( mode );
  this.addChild(container);
  
  for( var i:int = 0; i < 5; i++ )
  {
      var square:Shape = new Shape();
      square.graphics.beginFill(0xcccccc);
      square.graphics.drawRect(0, 0, 25, 25);
      square.graphics.endFill();
      container.addChild(square);
  }
  

Important Note: LayoutContainer leaves certain functionality to the implementor to complete. No scrollbars or other user interface controls will appear when the contents are larger than the LayoutContainer's dimensions.

This limitation is deliberate and by design. The philosophy behind this choice centers on allowing an ActionScript developer to use these classes as a basis for implementing layout controls for nearly any user interface library available for Flash Player.

For a reference implementation of full-featured UI controls that implement masking and scrolling, please take a look at the Layout Containers available in the Yahoo! Astra Components for Flash CS3.

See also

LayoutManager
ILayoutContainer
Available Layout Modes (com.yahoo.astra.layout.modes)


Public Properties
 PropertyDefined by
  autoMask : Boolean
If true, the conent will automatically update the scrollRect to fit the dimensions.
LayoutContainer
  contentHeight : Number
[read-only] The height of the content displayed by the layout container.
LayoutContainer
  contentWidth : Number
[read-only] The width of the content displayed by the layout container.
LayoutContainer
  layoutMode : ILayoutMode
The layout algorithm used to display children of the layout container.
LayoutContainer
Public Methods
 MethodDefined by
  
Constructor.
LayoutContainer
  
Informs the layout container that it should update the layout of its children.
LayoutContainer
  
Immediately updates the layout of the container's children.
LayoutContainer
Events
 EventSummaryDefined by
   Dispatched when this container's layout changes.LayoutContainer
Property detail
autoMaskproperty
autoMask:Boolean  [read-write]

If true, the conent will automatically update the scrollRect to fit the dimensions. Uses explicit dimensions if width or height is set by the developer. Otherwise, uses the content dimensions. If false, it is up to the implementor to set the mask or scrollRect.

Implementation
    public function get autoMask():Boolean
    public function set autoMask(value:Boolean):void
contentHeightproperty 
contentHeight:Number  [read-only]

The height of the content displayed by the layout container.

Implementation
    public function get contentHeight():Number
contentWidthproperty 
contentWidth:Number  [read-only]

The width of the content displayed by the layout container.

Implementation
    public function get contentWidth():Number
layoutModeproperty 
layoutMode:ILayoutMode  [read-write]

The layout algorithm used to display children of the layout container.

Implementation
    public function get layoutMode():ILayoutMode
    public function set layoutMode(value:ILayoutMode):void
Constructor detail
LayoutContainer()constructor
public function LayoutContainer(mode:ILayoutMode = null)

Constructor.

Parameters
mode:ILayoutMode (default = null) — The ILayoutMode implementation to use.
Method detail
invalidateLayout()method
public function invalidateLayout():void

Informs the layout container that it should update the layout of its children.

validateLayout()method 
public function validateLayout():void

Immediately updates the layout of the container's children.

Event detail
layoutChangeevent 
Event object type: com.yahoo.astra.layout.events.LayoutEvent
LayoutEvent.type property = com.yahoo.astra.layout.events.LayoutEvent.LAYOUT_CHANGE

Dispatched when this container's layout changes.

The LayoutEvent.LAYOUT_CHANGE event type constant indicates that the layout of an ILayoutContainer needs to be redrawn.