//////////////////////////////////////////////////////////////////////////////// // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// package spark.components { import flash.events.Event; import spark.layouts.HorizontalLayout; import spark.layouts.supportClasses.LayoutBase; [IconFile("HGroup.png")] [Exclude(name="layout", kind="property")] /** * The HGroup container is an instance of the Group container * that uses the HorizontalLayout class. * Do not modify the layout property. * instead, use the properties of the HGroup class to modify the * characteristics of the HorizontalLayout class. * *

The HGroup container has the following default characteristics:

* * * * * *
CharacteristicDescription
Default sizeLarge enough to display its children
Minimum size0 pixels
Maximum size10000 pixels wide and 10000 pixels high
* * @mxml * *

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

* *
 *  <s:HGroup
 *    Properties
 *    columnWidth="no default"
 *    gap="6"
 *    horizontalAlign="left"
 *    paddingBottom="0"
 *    paddingLeft="0"
 *    paddingRight="0"
 *    paddingTop="0"
 *    requestedColumnCount="-1"
 *    requestedMaxColumnCount="-1"
 *    requestedMinColumnCount="-1"
 *    variableColumnWidth"true"
 *    verticalAlign="top"
 *  />
 *  
* * @see spark.layouts.HorizontalLayout * @includeExample examples/HGroupExample.mxml * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public class HGroup extends Group { include "../core/Version.as"; /** * Constructor. * Initializes the layout property to an instance of * the HorizontalLayout class. * * @see spark.layout.HorizontalLayout * @see spark.components.VGroup * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function HGroup():void { super(); super.layout = new HorizontalLayout(); } private function get horizontalLayout():HorizontalLayout { return HorizontalLayout(layout); } //-------------------------------------------------------------------------- // // Properties // //-------------------------------------------------------------------------- //---------------------------------- // gap //---------------------------------- [Inspectable(category="General", defaultValue="6")] /** * @copy spark.layouts.HorizontalLayout#gap * * @default 6 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get gap():int { return horizontalLayout.gap; } /** * @private */ public function set gap(value:int):void { horizontalLayout.gap = value; } //---------------------------------- // columnCount //---------------------------------- [Bindable("propertyChange")] [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#columnCount * * @default -1 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get columnCount():int { return horizontalLayout.columnCount; } //---------------------------------- // paddingLeft //---------------------------------- [Inspectable(category="General", defaultValue="0.0")] /** * @copy spark.layouts.HorizontalLayout#paddingLeft * * @default 0 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get paddingLeft():Number { return horizontalLayout.paddingLeft; } /** * @private */ public function set paddingLeft(value:Number):void { horizontalLayout.paddingLeft = value; } //---------------------------------- // paddingRight //---------------------------------- [Inspectable(category="General", defaultValue="0.0")] /** * @copy spark.layouts.HorizontalLayout#paddingRight * * @default 0 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get paddingRight():Number { return horizontalLayout.paddingRight; } /** * @private */ public function set paddingRight(value:Number):void { horizontalLayout.paddingRight = value; } //---------------------------------- // paddingTop //---------------------------------- [Inspectable(category="General", defaultValue="0.0")] /** * @copy spark.layouts.HorizontalLayout#paddingTop * * @default 0 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get paddingTop():Number { return horizontalLayout.paddingTop; } /** * @private */ public function set paddingTop(value:Number):void { horizontalLayout.paddingTop = value; } //---------------------------------- // paddingBottom //---------------------------------- [Inspectable(category="General", defaultValue="0.0")] /** * @copy spark.layouts.HorizontalLayout#paddingBottom * * @default 0 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get paddingBottom():Number { return horizontalLayout.paddingBottom; } /** * @private */ public function set paddingBottom(value:Number):void { horizontalLayout.paddingBottom = value; } //---------------------------------- // requestedMaxColumnCount //---------------------------------- [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#requestedMaxColumnCount * * @default -1 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 2.5 * @productversion Flex 4.5 */ public function get requestedMaxColumnCount():int { return horizontalLayout.requestedMaxColumnCount; } /** * @private */ public function set requestedMaxColumnCount(value:int):void { horizontalLayout.requestedMaxColumnCount = value; } //---------------------------------- // requestedMinColumnCount //---------------------------------- [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#requestedMinColumnCount * * @default -1 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 2.5 * @productversion Flex 4.5 */ public function get requestedMinColumnCount():int { return horizontalLayout.requestedMinColumnCount; } /** * @private */ public function set requestedMinColumnCount(value:int):void { horizontalLayout.requestedMinColumnCount = value; } //---------------------------------- // requestedColumnCount //---------------------------------- [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#requestedColumnCount * * @default -1 * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get requestedColumnCount():int { return horizontalLayout.requestedColumnCount; } /** * @private */ public function set requestedColumnCount(value:int):void { horizontalLayout.requestedColumnCount = value; } //---------------------------------- // columnHeight //---------------------------------- [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#columnWidth * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get columnWidth():Number { return horizontalLayout.columnWidth; } /** * @private */ public function set columnWidth(value:Number):void { horizontalLayout.columnWidth = value; } //---------------------------------- // variablecolumnHeight //---------------------------------- [Inspectable(category="General", enumeration="true,false", defaultValue="true")] /** * @copy spark.layouts.HorizontalLayout#variableColumnWidth * * @default true * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get variableColumnWidth():Boolean { return horizontalLayout.variableColumnWidth; } /** * @private */ public function set variableColumnWidth(value:Boolean):void { horizontalLayout.variableColumnWidth = value; } //---------------------------------- // horizontalAlign //---------------------------------- [Inspectable(category="General", enumeration="left,right,center", defaultValue="left")] /** * @copy spark.layouts.HorizontalLayout#horizontalAlign * * @default "left" * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get horizontalAlign():String { return horizontalLayout.horizontalAlign; } /** * @private */ public function set horizontalAlign(value:String):void { horizontalLayout.horizontalAlign = value; } //---------------------------------- // verticalAlign //---------------------------------- [Inspectable(category="General", enumeration="top,bottom,middle,justify,contentJustify,baseline", defaultValue="top")] /** * @copy spark.layouts.HorizontalLayout#verticalAlign * * @default "top" * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get verticalAlign():String { return horizontalLayout.verticalAlign; } /** * @private */ public function set verticalAlign(value:String):void { horizontalLayout.verticalAlign = value; } //---------------------------------- // firstIndexInView //---------------------------------- [Bindable("indexInViewChanged")] [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#firstIndexInView * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get firstIndexInView():int { return horizontalLayout.firstIndexInView; } //---------------------------------- // lastIndexInView //---------------------------------- [Bindable("indexInViewChanged")] [Inspectable(category="General")] /** * @copy spark.layouts.HorizontalLayout#lastIndexInView * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public function get lastIndexInView():int { return horizontalLayout.lastIndexInView; } //-------------------------------------------------------------------------- // // Overridden Properties // //-------------------------------------------------------------------------- //---------------------------------- // layout //---------------------------------- /** * @private */ override public function set layout(value:LayoutBase):void { throw(new Error(resourceManager.getString("components", "layoutReadOnly"))); } //-------------------------------------------------------------------------- // // Event Handlers // //-------------------------------------------------------------------------- /** * @private */ override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void { switch(type) { case "indexInViewChanged": case "propertyChange": if (!hasEventListener(type)) horizontalLayout.addEventListener(type, redispatchHandler); break; } super.addEventListener(type, listener, useCapture, priority, useWeakReference) } /** * @private */ override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void { super.removeEventListener(type, listener, useCapture); switch(type) { case "indexInViewChanged": case "propertyChange": if (!hasEventListener(type)) horizontalLayout.removeEventListener(type, redispatchHandler); break; } } private function redispatchHandler(event:Event):void { dispatchEvent(event); } } }