ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
com.adobe.mosaic.layouts 

SmartGridLayout  - AS3 ADEP Composite Application

Packagecom.adobe.mosaic.layouts
Classpublic class SmartGridLayout
InheritanceSmartGridLayout Inheritance MosaicLayoutBase Inheritance LayoutBase Inheritance OnDemandEventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The SmartGridLayout places its target Group's children into a grid pattern, but with a twist. Most grid layout have uniform cells with the size of the cell either determined by the size of the largest child or by explicit row and column sizes.

The SmartGridLayout is different: it tries to maximimze the space in order to present as much of the child components as possible. If there is only one child, that child takes up 100% of the space, filling the area of the target Group. If there are two children, the SmartGrid divides the space in half, but gives each child 100% of the height. The children are separated into columns up to the maxNumColumns number of columns is reached.

Once the first row is filled out, the space is divided evenly amoung the children, shrinking the children in height, but maintaining the maxNumColumns number of columns. Once the child-height reaches minRowHeight the children stop shrinking and continue to fill the space vertically. If the target Group is contained within a Scroller, scrollbars should appear.

This layout does not support virtual layouts.



Public Properties
 PropertyDefined By
 InheritedanimationDuration : int
The amount of time to give any annimation to run its course.
MosaicLayoutBase
 InheritedclipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport.
LayoutBase
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheriteddropIndicator : DisplayObject
The DisplayObject that this layout uses for the drop indicator during a drag-and-drop operation.
LayoutBase
 InheritedeffectEndHandler : Function
The function used to handle EffectEvent events.
MosaicLayoutBase
 InheritedhorizontalGap : int
The spacing between the columns.
MosaicLayoutBase
 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
  maxNumColumns : int
The maximum number of columns the grid should display when orientation is set to "columns".
SmartGridLayout
  maxNumRows : int
The maximum number of rows the grid should display with orientation is set to "rows".
SmartGridLayout
  minColumnWidth : Number
The minimum size a column may become.
SmartGridLayout
  minRowHeight : Number
The minimum size a row may become.
SmartGridLayout
  orientation : String
The grid can be filled either column-wise (default) or row-wise.
SmartGridLayout
 InheritedpaddingBottom : int
The space between the container edge and the bottom row of items.
MosaicLayoutBase
 InheritedpaddingLeft : int
The space between the container edge and the left column of items.
MosaicLayoutBase
 InheritedpaddingRight : int
The space between the container edge and the right column of items.
MosaicLayoutBase
 InheritedpaddingTop : int
The space between the container edge and the top row of items.
MosaicLayoutBase
 Inheritedtarget : GroupBase
[override] Called when the target group is set for this layout.
MosaicLayoutBase
 InheritedtypicalLayoutElement : ILayoutElement
Used by layouts when fixed row/column sizes are requested but a specific size isn't specified.
LayoutBase
 InheriteduseVirtualLayout : Boolean
A container can hold any number of children.
LayoutBase
 InheritedverticalGap : int
The spacing between the rows.
MosaicLayoutBase
 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
 InheritedeffectList : Parallel
A collection of effects to play in parallel.
MosaicLayoutBase
 InheritedelementBeingRemoved : int = -1
The index of the element being removed, referenced to generate the special effects to display the removal, and then reset to -1 (default).
MosaicLayoutBase
 InheritedlayoutUndefined : Boolean = true
Default is true.
MosaicLayoutBase
 Inheritedmaximized : Boolean = false
Default is false.
MosaicLayoutBase
 InheritedmaximizedElement : IVisualElement
The IVisualElement being maximized.
MosaicLayoutBase
 InheritedmeasuredMaxHeight : Number
The measured maximum height of an element.
MosaicLayoutBase
 InheritedmeasuredMaxWidth : Number
The measured maximum width of an element.
MosaicLayoutBase
 InheritedminimizedElements : Array
The Array of IVisualElement elements currently minimized.
MosaicLayoutBase
 InheritedrestoreCellHeight : Number
The height to restore a minimized element to.
MosaicLayoutBase
 InheritedrestoreCellWidth : Number
The width to restore a minimized element to.
MosaicLayoutBase
Public Methods
 MethodDefined By
  
Constructor
SmartGridLayout
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
OnDemandEventDispatcher
  
[override] Determines the location of the drop (should it happen) and returns that information in the form of a DropLocation.
SmartGridLayout
 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
Dispatches an event into the event flow.
OnDemandEventDispatcher
 Inherited
[override] Called whenever an element is added to the target.
MosaicLayoutBase
 Inherited
[override] Called whenever an element is removed.
MosaicLayoutBase
 Inherited
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
Returns the change to the horizontal scroll position to handle different scrolling options.
LayoutBase
 Inherited
Returns the ILayoutChild that occupies the given display list index.
MosaicLayoutBase
 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
Computes the verticalScrollPosition and horizontalScrollPosition deltas needed to scroll the element at the specified index into view.
LayoutBase
 Inherited
Returns the change to the vertical scroll position to handle different scrolling options.
LayoutBase
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
OnDemandEventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 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
When a value of true is return, this layout is currently showing a maximized child element.
MosaicLayoutBase
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Maximizes the given element to take up entire target space (minus padding, of course).
MosaicLayoutBase
  
[override] Called when the target requires measurement.
SmartGridLayout
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
OnDemandEventDispatcher
 Inherited
Restores an element that has been maximized.
MosaicLayoutBase
 Inherited
Handles the layout side of restoring a previously minimized element by making it appear.
MosaicLayoutBase
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Sizes, positions and parents the drop indicator based on the specified drop location.
LayoutBase
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Sizes and positions the target's elements.
LayoutBase
 Inherited
Called by the target at the end of its updateDisplayList to have the layout update its scrollRect.
LayoutBase
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Handles the layout side of a minimized element by making it disappear.
MosaicLayoutBase
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
OnDemandEventDispatcher
Protected Methods
 MethodDefined By
 Inherited
Calculates how much to scroll for the specified dropLocation during a drag and drop gesture.
LayoutBase
 Inherited
[override] Locates the item under the point using a simple look-up, accounting for horizontal and vertical gaps.
MosaicLayoutBase
  
[override] Determines the size and position of the drop indicator, returning an Rectangle with the proper boundaries.
SmartGridLayout
  
calculateLayoutPositions(width:Number, height:Number, updateInPlace:Boolean, returnArray:Boolean):Array
[override] Sizes and positions the target's elements in the normal fashion for this layout.
SmartGridLayout
  
Called to calculate key variables.
SmartGridLayout
 Inherited
Generates a series of Move and Resize effects for item being placing them into their new positions.
MosaicLayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is above the scrollRect's top edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is below the scrollRect's bottom edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is to the left of the scrollRect's left edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is to the right of the scrollRect's right edge.
LayoutBase
 Inherited
Returns the bounds of the target's scroll rectangle in layout coordinates.
LayoutBase
 Inherited
Sizes and positions the maximized element.
MosaicLayoutBase
 Inherited
The layout to use when operating in a non-maximized mode.
MosaicLayoutBase
  
Returns the number of elements that can be seen.
SmartGridLayout
 Inherited
Called when the effects are over to reset the elementBeingMoved value.
MosaicLayoutBase
 Inherited
Called when the verticalScrollPosition or horizontalScrollPosition properties change.
LayoutBase
Property Detail

maxNumColumns

property
maxNumColumns:int

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The maximum number of columns the grid should display when orientation is set to "columns". The grid may show less columns but never any more than this number.

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



Implementation
    public function get maxNumColumns():int
    public function set maxNumColumns(value:int):void

maxNumRows

property 
maxNumRows:int

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The maximum number of rows the grid should display with orientation is set to "rows". The grid may show less rows but never more than this number.

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



Implementation
    public function get maxNumRows():int
    public function set maxNumRows(value:int):void

minColumnWidth

property 
minColumnWidth:Number

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The minimum size a column may become. Adding more items to the target may shrink the item but never less than this amount. The target may acquire scrollbars if the item will not fit in the target's visible space. This property applies only when orientation is set to "rows".

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



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

minRowHeight

property 
minRowHeight:Number

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The minimum size a row may become. Adding more items to the target may shrink the item but never less than this amount. The target may acquire scrollbars if the item will not fit in the target's visible space. This property applies only when orientation is set to "columns".

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



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

orientation

property 
orientation:String

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

The grid can be filled either column-wise (default) or row-wise. When the grid is being filled column-wise, the items flow from left to right, top to bottom. When the grid is filled row-wise, the items flow from top to bottom, left to right.

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



Implementation
    public function get orientation():String
    public function set orientation(value:String):void
Constructor Detail

SmartGridLayout

()Constructor
public function SmartGridLayout()

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Constructor

Method Detail

calculateDropIndicatorBounds

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

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Determines the size and position of the drop indicator, returning an Rectangle with the proper boundaries. The dropLocation always points to the item being moved, so the indicator is almost always drawn to its left (column orientation) or top (row orientation). If the location points to the last item (the index is equal to the number of items in the target), then the indicator is drawn to its right (column) or bottom (row).

Parameters

dropLocation:DropLocation — The position within the layout where the drop can be expected.

Returns
Rectangle — A rectangle the describes the area of the drop.

calculateDropLocation

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

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Determines the location of the drop (should it happen) and returns that information in the form of a DropLocation. However, since this layout is row,column based and index may not be meaningful, the object returned is an instance of MosaicDropLocation that contains row and column index information.

Parameters

dragEvent:DragEvent — The event that contains the position of the mouse.

Returns
DropLocation — The location where the drop could happen.

calculateLayoutPositions

()method 
override protected function calculateLayoutPositions(width:Number, height:Number, updateInPlace:Boolean, returnArray:Boolean):Array

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Sizes and positions the target's elements in the normal fashion for this layout.

Parameters

width:Number — The width of the target Group's area.
 
height:Number — The height of the target Group's area.
 
updateInPlace:Boolean — If true, the children are changed, if false, they are left as-is.
 
returnArray:Boolean — If true, an array of row and column positions is returned.

Returns
Array — An array of row and column positions for each child or an empty array if returnArray is false.

calculateSizes

()method 
protected function calculateSizes():void

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Called to calculate key variables.

measure

()method 
override public function measure():void

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Called when the target requires measurement.

numValidElements

()method 
protected function numValidElements():int

Language Version: ActionScript 3.0
Product Version: Adobe Digital Enterprise Platform Experience Services - Composite Application Framework 10
Runtime Versions: AIR 2.6, Flash Player 10.2

Returns the number of elements that can be seen.

Returns
int — Number of elements that can be seen.