http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/compile-asjs-config.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/compile-asjs-config.xml b/frameworks/projects/HTML/compile-asjs-config.xml deleted file mode 100644 index 2139379..0000000 --- a/frameworks/projects/HTML/compile-asjs-config.xml +++ /dev/null @@ -1,90 +0,0 @@ -<!-- - - 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. - ---> -<flex-config> - - <compiler> - <accessible>false</accessible> - - <external-library-path> - </external-library-path> - - <mxml> - <children-as-data>true</children-as-data> - </mxml> - <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event> - <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind> - <binding-value-change-event-type>valueChange</binding-value-change-event-type> - - <keep-as3-metadata> - <name>Bindable</name> - <name>Managed</name> - <name>ChangeEvent</name> - <name>NonCommittingChangeEvent</name> - <name>Transient</name> - </keep-as3-metadata> - - <locale/> - - <library-path> - <!-- asjscompc won't 'link' these classes in, but will list their requires - if these swcs are on the external-library-path then their requires - will not be listed --> - <path-element>../../externs/Binding.swc</path-element> - <path-element>../../externs/Core.swc</path-element> - <path-element>../../externs/Graphics.swc</path-element> - <path-element>../../externs/Collections.swc</path-element> - </library-path> - - <namespaces> - <namespace> - <uri>library://ns.apache.org/flexjs/basic</uri> - <manifest>basic-manifest.xml</manifest> - </namespace> - <namespace> - <uri>library://ns.apache.org/flexjs/svg</uri> - <manifest>svg-manifest.xml</manifest> - </namespace> - </namespaces> - - <source-path> - <path-element>as/src</path-element> - </source-path> - - <warn-no-constructor>false</warn-no-constructor> - </compiler> - - <include-file> - </include-file> - - <include-sources> - </include-sources> - - <include-classes> - <class>HTMLClasses</class> - </include-classes> - - <include-namespaces> - <uri>library://ns.apache.org/flexjs/basic</uri> - <uri>library://ns.apache.org/flexjs/svg</uri> - </include-namespaces> - - <target-player>${playerglobal.version}</target-player> - - -</flex-config>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/compile-config.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/compile-config.xml b/frameworks/projects/HTML/compile-config.xml deleted file mode 100644 index 7ea999a..0000000 --- a/frameworks/projects/HTML/compile-config.xml +++ /dev/null @@ -1,94 +0,0 @@ -<!-- - - 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. - ---> -<flex-config> - - <compiler> - <accessible>false</accessible> - - <external-library-path> - <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element> - <path-element>../../libs/Binding.swc</path-element> - <path-element>../../libs/Core.swc</path-element> - <path-element>../../libs/Graphics.swc</path-element> - <path-element>../../libs/Collections.swc</path-element> - </external-library-path> - - <mxml> - <children-as-data>true</children-as-data> - </mxml> - <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event> - <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind> - <binding-value-change-event-type>valueChange</binding-value-change-event-type> - - <keep-as3-metadata> - <name>Bindable</name> - <name>Managed</name> - <name>ChangeEvent</name> - <name>NonCommittingChangeEvent</name> - <name>Transient</name> - </keep-as3-metadata> - - <locale/> - - <library-path/> - - <namespaces> - <namespace> - <uri>library://ns.apache.org/flexjs/basic</uri> - <manifest>basic-manifest.xml</manifest> - </namespace> - <namespace> - <uri>library://ns.apache.org/flexjs/basic</uri> - <manifest>basic-as-manifest.xml</manifest> - </namespace> - <namespace> - <uri>library://ns.apache.org/flexjs/svg</uri> - <manifest>svg-manifest.xml</manifest> - </namespace> - </namespaces> - - <source-path> - <path-element>as/src</path-element> - </source-path> - - <warn-no-constructor>false</warn-no-constructor> - </compiler> - - <include-file> - <name>defaults.css</name> - <path>as/defaults.css</path> - </include-file> - <include-file> - <name>js/out/*</name> - <path>js/out/*</path> - </include-file> - - <include-classes> - <class>HTMLClasses</class> - </include-classes> - - <include-namespaces> - <uri>library://ns.apache.org/flexjs/basic</uri> - <uri>library://ns.apache.org/flexjs/svg</uri> - </include-namespaces> - - <target-player>${playerglobal.version}</target-player> - - -</flex-config> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/HTMLClasses.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as new file mode 100644 index 0000000..052ab95 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as @@ -0,0 +1,176 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 +{ + +/** + * @private + * This class is used to link additional classes into rpc.swc + * beyond those that are found by dependecy analysis starting + * from the classes specified in manifest.xml. + */ +internal class HTMLClasses +{ + + import org.apache.flex.html.ToolTip; ToolTip; + import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead; + import org.apache.flex.html.accessories.PasswordInputBead; PasswordInputBead; + import org.apache.flex.html.accessories.TextPromptBead; TextPromptBead; + import org.apache.flex.html.beads.AlertView; AlertView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.BackgroundImageBead; BackgroundImageBead; + } + import org.apache.flex.html.beads.ButtonBarView; ButtonBarView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.CheckBoxView; CheckBoxView; + import org.apache.flex.html.beads.ComboBoxView; ComboBoxView; + } + import org.apache.flex.html.beads.ContainerView; ContainerView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.ControlBarMeasurementBead; ControlBarMeasurementBead; + import org.apache.flex.html.beads.CSSButtonView; CSSButtonView; + import org.apache.flex.html.beads.CSSImageAndTextButtonView; CSSImageAndTextButtonView; + import org.apache.flex.html.beads.CSSTextButtonView; CSSTextButtonView; + import org.apache.flex.html.beads.CSSTextToggleButtonView; CSSTextToggleButtonView; + import org.apache.flex.html.beads.DropDownListView; DropDownListView; + import org.apache.flex.html.beads.CloseButtonView; CloseButtonView; + import org.apache.flex.html.beads.ImageAndTextButtonView; ImageAndTextButtonView; + import org.apache.flex.html.beads.ImageView; ImageView; + } + import org.apache.flex.html.beads.ImageButtonView; ImageButtonView; + import org.apache.flex.html.beads.ListView; ListView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.NumericStepperView; NumericStepperView; + } + import org.apache.flex.html.beads.PanelView; PanelView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.PanelWithControlBarView; PanelWithControlBarView; + import org.apache.flex.html.beads.RadioButtonView; RadioButtonView; + import org.apache.flex.html.beads.VScrollBarView; VScrollBarView; + import org.apache.flex.html.beads.HScrollBarView; HScrollBarView; + import org.apache.flex.html.beads.ScrollBarView; ScrollBarView; + import org.apache.flex.html.beads.SimpleAlertView; SimpleAlertView; + import org.apache.flex.html.beads.SingleLineBorderBead; SingleLineBorderBead; + import org.apache.flex.html.beads.SliderView; SliderView; + } + import org.apache.flex.html.beads.SliderThumbView; SliderThumbView; + import org.apache.flex.html.beads.SliderTrackView; SliderTrackView; + COMPILE::AS3 + { + import org.apache.flex.html.beads.SolidBackgroundBead; SolidBackgroundBead; + import org.apache.flex.html.beads.SpinnerView; SpinnerView; + import org.apache.flex.html.beads.TextButtonMeasurementBead; TextButtonMeasurementBead; + import org.apache.flex.html.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead; + import org.apache.flex.html.beads.TextAreaView; TextAreaView; + import org.apache.flex.html.beads.TextButtonView; TextButtonView; + import org.apache.flex.html.beads.TextFieldView; TextFieldView; + import org.apache.flex.html.beads.TextInputView; TextInputView; + import org.apache.flex.html.beads.TextInputWithBorderView; TextInputWithBorderView; + import org.apache.flex.html.beads.models.AlertModel; AlertModel; + } + import org.apache.flex.html.beads.models.ArraySelectionModel; ArraySelectionModel; + import org.apache.flex.html.beads.models.RangeModel; RangeModel; + COMPILE::AS3 + { + import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel; + } + COMPILE::AS3 + { + import org.apache.flex.html.beads.models.ImageModel; ImageModel; + import org.apache.flex.html.beads.models.ImageAndTextModel; ImageAndTextModel; + } + import org.apache.flex.html.beads.models.PanelModel; PanelModel; + COMPILE::AS3 + { + import org.apache.flex.html.beads.models.SingleLineBorderModel; SingleLineBorderModel; + } + import org.apache.flex.html.beads.models.TextModel; TextModel; + import org.apache.flex.html.beads.models.TitleBarModel; TitleBarModel; + COMPILE::AS3 + { + import org.apache.flex.html.beads.models.ToggleButtonModel; ToggleButtonModel; + import org.apache.flex.html.beads.models.ValueToggleButtonModel; ValueToggleButtonModel; + } + import org.apache.flex.html.beads.models.ViewportModel; ViewportModel; + COMPILE::AS3 + { + import org.apache.flex.html.beads.controllers.AlertController; AlertController; + import org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController; + import org.apache.flex.html.beads.controllers.DropDownListController; DropDownListController; + import org.apache.flex.html.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController; + } + import org.apache.flex.html.beads.controllers.ItemRendererMouseController; ItemRendererMouseController; + import org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController; ListSingleSelectionMouseController; + COMPILE::AS3 + { + import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController; + import org.apache.flex.html.beads.controllers.SpinnerMouseController; SpinnerMouseController; + import org.apache.flex.html.beads.controllers.VScrollBarMouseController; VScrollBarMouseController; + import org.apache.flex.html.beads.controllers.HScrollBarMouseController; HScrollBarMouseController; + } + import org.apache.flex.html.beads.layouts.ButtonBarLayout; ButtonBarLayout; + import org.apache.flex.html.beads.layouts.VerticalLayout; VerticalLayout; + import org.apache.flex.html.beads.layouts.HorizontalLayout; HorizontalLayout; + import org.apache.flex.html.beads.layouts.BasicLayout; BasicLayout; + COMPILE::AS3 + { + import org.apache.flex.html.beads.layouts.HScrollBarLayout; HScrollBarLayout; + import org.apache.flex.html.beads.layouts.VScrollBarLayout; VScrollBarLayout; + } + import org.apache.flex.html.beads.layouts.TileLayout; TileLayout; + import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData; + import org.apache.flex.html.beads.DataItemRendererFactoryForArrayData; DataItemRendererFactoryForArrayData; + import org.apache.flex.html.beads.DataItemRendererFactoryForArrayList; DataItemRendererFactoryForArrayList; + import org.apache.flex.html.supportClasses.DataGroup; DataGroup; + import org.apache.flex.html.supportClasses.Viewport; Viewport; + import org.apache.flex.html.supportClasses.ScrollingViewport; ScrollingViewport; + + import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView; + import org.apache.flex.html.beads.DataGridView; DataGridView; + import org.apache.flex.html.beads.DateChooserView; DateChooserView; + import org.apache.flex.html.beads.DateFieldView; DateFieldView; + import org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout; FlexibleFirstChildHorizontalLayout; + import org.apache.flex.html.beads.models.DataGridModel; DataGridModel; + import org.apache.flex.html.beads.models.DateChooserModel; DateChooserModel; + import org.apache.flex.html.beads.models.DataGridPresentationModel; DataGridPresentationModel; + import org.apache.flex.html.beads.controllers.DateChooserMouseController; DateChooserMouseController; + import org.apache.flex.html.beads.controllers.DateFieldMouseController; DateFieldMouseController; + import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn; + import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton; + import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer; + + import org.apache.flex.html.MXMLBeadViewBase; MXMLBeadViewBase; + import org.apache.flex.html.beads.TitleBarView; TitleBarView; + import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead; + + COMPILE::AS3 + { + import org.apache.flex.html.beads.HRuleView; HRuleView; + import org.apache.flex.html.beads.VRuleView; VRuleView; + import org.apache.flex.html.beads.MultilineTextFieldView; MultilineTextFieldView; + } +} + +} + http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as new file mode 100644 index 0000000..5e9768e --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as @@ -0,0 +1,68 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.core +{ + import org.apache.flex.html.supportClasses.Border; + import org.apache.flex.html.supportClasses.ScrollBar; + + /** + * The IScrollingLayoutParent interface is an ILayoutParent + * that has traditional scrollbars. The layout implementation + * often needs to know certain things about other objects in + * the component. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public interface IScrollingLayoutParent + { + /** + * The border. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + function get border():Border; + + /** + * The vertical ScrollBar. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + function get vScrollBar():ScrollBar; + + /** + * The horizontal ScrollBar. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + function get hScrollBar():ScrollBar; + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as new file mode 100644 index 0000000..b7f50dc --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as @@ -0,0 +1,287 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IAlertModel; + import org.apache.flex.core.IPopUp; + import org.apache.flex.core.UIBase; + + COMPILE::JS + { + import goog.events; + import org.apache.flex.core.WrappedHTMLElement; + import org.apache.flex.events.Event; + } + + /** + * The Alert class is a component that displays a message and one or more buttons + * in a view that pops up over all other controls and views. The Alert component + * uses the AlertView bead to display a modal dialog with a title and a variety + * of buttons configured through the flag property of its show() static function. + * The Alert component uses the following beads: + * + * org.apache.flex.core.IBeadModel: the data model for the Alert. + * org.apache.flex.core.IBeadView: the bead used to create the parts of the Alert. + * org.apache.flex.core.IBeadController: the bead used to handle input events. + * org.apache.flex.core.IBorderBead: if present, draws a border around the Alert. + * org.apache.flex.core.IBackgroundBead: if present, places a solid color background below the Alert. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class Alert extends UIBase implements IPopUp + { + /** + * The bitmask button flag to show the YES button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static const YES:uint = 0x000001; + + /** + * The bitmask button flag to show the NO button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static const NO:uint = 0x000002; + + /** + * The bitmask button flag to show the OK button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static const OK:uint = 0x000004; + + /** + * The bitmask button flag to show the Cancel button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public static const CANCEL:uint = 0x000008; + + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function Alert() + { + super(); + + className = "Alert"; + } + + COMPILE::JS + private var titleBar:TitleBar; + + COMPILE::JS + private var label:Label; + + COMPILE::JS + private var buttonArea:Container; + + /** + * @override + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + super.createElement(); + + element.className = 'Alert'; + + // add in a title bar + titleBar = new TitleBar(); + addElement(titleBar); + titleBar.element.id = 'titleBar'; + + label = new Label(); + addElement(label); + label.element.id = 'message'; + + // add a place for the buttons + buttonArea = new Container(); + addElement(buttonArea); + buttonArea.element.id = 'buttonArea'; + + return element; + }; + + // note: only passing parent to this function as I don't see a way to identify + // the 'application' or top level view without supplying a place to start to + // look for it. + /** + * This static method is a convenience function to quickly create and display an Alert. The + * text and parent paramters are required, the others will default. + * + * @param String text The message content of the Alert. + * @param Object parent The object that hosts the pop-up. + * @param String title An optional title for the Alert. + * @param uint flags Identifies which buttons to display in the alert. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : void + { + var alert:Alert = new Alert(); + alert.message = text; + alert.title = title; + alert.flags = flags; + + alert.show(parent); + + COMPILE::JS + { + alert.positioner.style.position = 'relative'; + alert.positioner.style.width = '200px'; + alert.positioner.style.margin = 'auto'; + alert.positioner.style.top = '100px'; + } + } + + /** + * Shows the Alert anchored to the given parent object which is usally a root component such + * as a UIView.. + * + * @param Object parent The object that hosts the pop-up. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function show(parent:Object) : void + { + parent.addElement(this); + } + + /** + * The tile of the Alert. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get title():String + { + return IAlertModel(model).title; + } + public function set title(value:String):void + { + IAlertModel(model).title = value; + } + + /** + * The message to display in the Alert body. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get message():String + { + return IAlertModel(model).message; + } + public function set message(value:String):void + { + IAlertModel(model).message = value; + } + + /** + * The buttons to display on the Alert as bit-mask values. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get flags():uint + { + return IAlertModel(model).flags; + } + public function set flags(value:uint):void + { + IAlertModel(model).flags = value; + + COMPILE::JS + { + // add buttons based on flags + if (flags & Alert.OK) { + var ok:TextButton = new TextButton(); + buttonArea.addElement(ok); + ok.text = 'OK'; + goog.events.listen(ok.element, 'click', dismissAlert); + } + if (flags & Alert.CANCEL) { + var cancel:TextButton = new TextButton(); + buttonArea.addElement(cancel); + cancel.text = 'Cancel'; + goog.events.listen(cancel.element, 'click', dismissAlert); + } + if (flags & Alert.YES) { + var yes:TextButton = new TextButton(); + buttonArea.addElement(yes); + yes.text = 'YES'; + goog.events.listen(yes.element, 'click', dismissAlert); + } + if (flags & Alert.NO) { + var nob:TextButton = new TextButton(); + buttonArea.addElement(nob); + nob.text = 'NO'; + goog.events.listen(nob.element, 'click', dismissAlert); + } + + } + } + + /** + * @param event The event object. + * @flexjsignorecoercion HTMLElement + */ + COMPILE::JS + private function dismissAlert(event:Event):void + { + var htmlElement:HTMLElement = element as HTMLElement; + htmlElement.parentElement.removeChild(element); + }; + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as new file mode 100644 index 0000000..d4c2001 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as @@ -0,0 +1,112 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IStrand; + import org.apache.flex.core.IUIBase; + COMPILE::AS3 + { + import org.apache.flex.core.UIButtonBase; + } + COMPILE::JS + { + import org.apache.flex.core.UIBase; + import org.apache.flex.core.WrappedHTMLElement; + } + import org.apache.flex.core.ValuesManager; + import org.apache.flex.events.IEventDispatcher; + + + //-------------------------------------- + // Events + //-------------------------------------- + + /** + * Dispatched when the user clicks on a button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + [Event(name="click", type="org.apache.flex.events.Event")] + + /** + * The Button class is a simple button. Use TextButton for + * buttons that should show text. This is the lightest weight + * button used for non-text buttons like the arrow buttons + * in a Scrollbar or NumericStepper. + * + * The most common view for this button is CSSButtonView that + * allows you to specify a backgroundImage in CSS that defines + * the look of the button. + * + * However, when used in ScrollBar and when composed in many + * other components, it is more common to assign a custom view + * to the button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + COMPILE::AS3 + public class Button extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function Button() + { + super(); + } + } + + COMPILE::JS + public class Button extends UIBase implements IStrand, IEventDispatcher, IUIBase + { + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + override protected function createElement():WrappedHTMLElement + { + element = document.createElement('button') as WrappedHTMLElement; + element.setAttribute('type', 'button'); + + positioner = element; + positioner.style.position = 'relative'; + element.flexjs_wrapper = this; + + /* AJH comment out until we figure out why it is needed + if (org.apache.flex.core.ValuesManager.valuesImpl.getValue) { + var impl:Object = org.apache.flex.core.ValuesManager.valuesImpl. + getValue(this, 'iStatesImpl'); + }*/ + + return element; + } + + } + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as new file mode 100644 index 0000000..e4c58e7 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as @@ -0,0 +1,76 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + COMPILE::JS + { + import org.apache.flex.core.WrappedHTMLElement; + } + + /** + * The ButtonBar class is a component that displays a set of Buttons. The ButtonBar + * is actually a List with a default horizontal layout and an itemRenderer that + * produces Buttons. The ButtonBar uses the following beads: + * + * org.apache.flex.core.IBeadModel: the data model for the ButtonBar, including the dataProvider. + * org.apache.flex.core.IBeadView: constructs the parts of the component. + * org.apache.flex.core.IBeadController: handles input events. + * org.apache.flex.core.IBeadLayout: sizes and positions the component parts. + * org.apache.flex.core.IDataProviderItemRendererMapper: produces itemRenderers. + * org.apache.flex.core.IItemRenderer: the class or class factory to use. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ButtonBar extends List + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ButtonBar() + { + super(); + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + element = document.createElement('div') as WrappedHTMLElement; + element.style.overflow = 'auto'; + positioner = element; + positioner.style.position = 'relative'; + + className = 'ButtonBar'; + + element.flexjs_wrapper = this; + + return element; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as new file mode 100644 index 0000000..6405ab5 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as @@ -0,0 +1,180 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + COMPILE::AS3 + { + import flash.events.MouseEvent; + } + + import org.apache.flex.core.IStrand; + import org.apache.flex.core.IToggleButtonModel; + import org.apache.flex.core.IUIBase; + COMPILE::AS3 + { + import org.apache.flex.core.UIButtonBase; + } + COMPILE::JS + { + import org.apache.flex.core.UIBase; + import org.apache.flex.core.WrappedHTMLElement; + } + import org.apache.flex.events.Event; + + //-------------------------------------- + // Events + //-------------------------------------- + + /** + * Dispatched when the user checks or un-checks the CheckBox. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The CheckBox class implements the common user interface + * control. The CheckBox includes its text label. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + COMPILE::AS3 + public class CheckBox extends UIButtonBase implements IStrand + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function CheckBox() + { + super(); + + addEventListener(MouseEvent.CLICK, internalMouseHandler); + } + + /** + * The text label for the CheckBox. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get text():String + { + return IToggleButtonModel(model).text; + } + + /** + * @private + */ + public function set text(value:String):void + { + IToggleButtonModel(model).text = value; + } + + [Bindable("change")] + /** + * <code>true</code> if the check mark is displayed. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selected():Boolean + { + return IToggleButtonModel(model).selected; + } + + /** + * @private + */ + public function set selected(value:Boolean):void + { + IToggleButtonModel(model).selected = value; + } + + private function internalMouseHandler(event:Event) : void + { + selected = !selected; + dispatchEvent(new Event("change")); + } + } + + COMPILE::JS + public class CheckBox extends UIBase + { + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + override protected function createElement():WrappedHTMLElement + { + var cb:HTMLInputElement; + + element = document.createElement('label') as WrappedHTMLElement; + + cb = document.createElement('input') as HTMLInputElement; + cb.type = 'checkbox'; + element.appendChild(cb); + element.appendChild(document.createTextNode('')); + + element.className = 'CheckBox'; + typeNames = 'CheckBox'; + + positioner = element; + positioner.style.position = 'relative'; + (cb as WrappedHTMLElement).flexjs_wrapper = this; + element.flexjs_wrapper = this; + + return element; + } + + public function get text():String + { + return element.childNodes.item(1).nodeValue; + } + + public function set text(value:String):void + { + element.childNodes.item(1).nodeValue = value; + } + + public function get selected():Boolean + { + return (element.childNodes.item(0) as HTMLInputElement).checked; + } + + public function set selected(value:Boolean):void + { + (element.childNodes.item(0) as HTMLInputElement).checked = value; + } + } + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as new file mode 100644 index 0000000..8306915 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as @@ -0,0 +1,66 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + COMPILE::JS + { + import org.apache.flex.core.WrappedHTMLElement; + } + + /** + * The CloseButton class is Button that displays an X + * and is commonly used in a Panel's TitleBar. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class CloseButton extends Button + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function CloseButton() + { + super(); + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + super.createElement(); + element.innerHTML = 'x'; + + element.style.padding = 0; + height = 11; + width = 11; + return element; + } + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as new file mode 100644 index 0000000..fa91fec --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as @@ -0,0 +1,277 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IComboBoxModel; + import org.apache.flex.core.UIBase; + import org.apache.flex.events.Event; + + COMPILE::JS + { + import goog.events; + import org.apache.flex.core.WrappedHTMLElement; + } + + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The ComboBox class is a component that displays an input field and + * pop-up List with selections. Selecting an item from the pop-up List + * places that item into the input field of the ComboBox. The ComboBox + * uses the following bead types: + * + * org.apache.flex.core.IBeadModel: the data model, which includes the dataProvider, selectedItem, and + * so forth. + * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the component. + * org.apache.flex.core.IBeadController: the bead that handles input and output. + * org.apache.flex.core.IPopUp: the bead responsible for displaying the selection list. + * org.apache.flex.core.IDataProviderItemRendererMapper: the bead responsible for creating the itemRenders. + * org.apache.flex.core.IItemRenderer: the class or factory used to display an item in the component. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ComboBox extends UIBase + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ComboBox() + { + super(); + } + + /** + * The data for display by the ComboBox. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get dataProvider():Object + { + return IComboBoxModel(model).dataProvider; + } + public function set dataProvider(value:Object):void + { + IComboBoxModel(model).dataProvider = value; + } + + /** + * The index of the currently selected item. Changing this item changes + * the selectedItem value. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedIndex():int + { + return IComboBoxModel(model).selectedIndex; + } + public function set selectedIndex(value:int):void + { + IComboBoxModel(model).selectedIndex = value; + } + + /** + * The item that is currently selected. Changing this item changes + * the selectedIndex. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedItem():Object + { + return IComboBoxModel(model).selectedItem; + } + public function set selectedItem(value:Object):void + { + IComboBoxModel(model).selectedItem = value; + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + var button:WrappedHTMLElement; + var input:WrappedHTMLElement; + + element = document.createElement('div') as WrappedHTMLElement; + + input = document.createElement('input') as WrappedHTMLElement; + input.style.position = 'absolute'; + input.style.width = '80px'; + element.appendChild(input); + + button = document.createElement('div') as WrappedHTMLElement; + button.style.position = 'absolute'; + button.style.top = '0px'; + button.style.right = '0px'; + button.style.background = '#bbb'; + button.style.width = '16px'; + button.style.height = '20px'; + button.style.margin = '0'; + button.style.border = 'solid #609 1px'; + goog.events.listen(button, 'click', buttonClicked); + element.appendChild(button); + + positioner = element; + positioner.style.position = 'relative'; + + // add a click handler so that a click outside of the combo box can + // dismiss the pop-up should it be visible. + goog.events.listen(document, 'click', + dismissPopup); + + input.flexjs_wrapper = this; + + return element; + } + + COMPILE::JS + private var popup:HTMLElement; + + /** + * @param event The event. + * @flexjsignorecoercion HTMLSelectElement + */ + COMPILE::JS + private function selectChanged(event:Event):void + { + var select:HTMLSelectElement; + + select = event.currentTarget as HTMLSelectElement; + + selectedItem = select.options[select.selectedIndex].value; + + popup.parentNode.removeChild(popup); + popup = null; + + dispatchEvent(event); + } + + + /** + * @param event The event. + */ + COMPILE::JS + private function dismissPopup(event:Event):void + { + // remove the popup if it already exists + if (popup) { + popup.parentNode.removeChild(popup); + popup = null; + } + } + + + /** + * @export + * @param {Object} event The event. + * @flexjsignorecoercion HTMLInputElement + * @flexjsignorecoercion HTMLElement + * @flexjsignorecoercion HTMLSelectElement + * @flexjsignorecoercion HTMLOptionElement + * @flexjsignorecoercion Array + */ + COMPILE::JS + private function buttonClicked(event:Event):void + { + var dp:Array; + var i:int; + var input:HTMLInputElement; + var left:Number; + var n:int; + var opt:HTMLOptionElement; + var pn:HTMLElement; + var popup:HTMLElement; + var select:HTMLSelectElement; + var si:int; + var top:Number; + var width:Number; + + event.stopPropagation(); + + if (popup) { + dismissPopup(null); + + return; + } + + input = element.childNodes.item(0) as HTMLInputElement; + + pn = element; + top = pn.offsetTop + input.offsetHeight; + left = pn.offsetLeft; + width = pn.offsetWidth; + + popup = document.createElement('div') as HTMLElement; + popup.className = 'popup'; + popup.id = 'test'; + popup.style.position = 'absolute'; + popup.style.top = top.toString() + 'px'; + popup.style.left = left.toString() + 'px'; + popup.style.width = width.toString() + 'px'; + popup.style.margin = '0px auto'; + popup.style.padding = '0px'; + popup.style.zIndex = '10000'; + + select = document.createElement('select') as HTMLSelectElement; + select.style.width = width.toString() + 'px'; + goog.events.listen(select, 'change', selectChanged); + + dp = dataProvider as Array; + n = dp.length; + for (i = 0; i < n; i++) { + opt = document.createElement('option') as HTMLOptionElement; + opt.text = dp[i]; + select.add(opt, null); + } + + select.size = n; + + si = selectedIndex; + if (si < 0) { + select.value = null; + } else { + select.value = dp[si]; + } + + this.popup = popup; + + popup.appendChild(select); + document.body.appendChild(popup); + } + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as new file mode 100644 index 0000000..ee30b7f --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as @@ -0,0 +1,108 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.ContainerBase; + import org.apache.flex.core.IChrome; + import org.apache.flex.core.IContainer; + import org.apache.flex.core.IUIBase; + COMPILE::JS + { + import org.apache.flex.core.WrappedHTMLElement; + } + import org.apache.flex.events.Event; + + [DefaultProperty("mxmlContent")] + + /** + * The Container class implements a basic container for + * other controls and containers. The position and size + * of the children are determined by a layout while the size of + * a Container can either be determined by its children or by + * specifying an exact size in pixels or as a percentage of the + * parent element. + * + * This Container does not have a built-in scroll bar or clipping of + * its content should the content exceed the Container's boundaries. To + * have scroll bars and clipping, add the ScrollingView bead. + * + * While the container is relatively lightweight, it should + * generally not be used as the base class for other controls, + * even if those controls are composed of children. That's + * because the fundamental API of Container is to support + * an arbitrary set of children, and most controls only + * support a specific set of children. + * + * And that's one of the advantages of beads: that functionality + * used in a Container can also be used in a Control as long + * as that bead doesn't assume that its strand is a Container. + * + * For example, even though you can use a Panel to create the + * equivalent of an Alert control, the Alert is a + * control and not a Container because the Alert does not + * support an arbitrary set of children. + * + * @see org.apache.flex.html.beads.layout + * @see org.apache.flex.html.supportClasses.ScrollingViewport + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class Container extends ContainerBase + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function Container() + { + super(); + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + element = document.createElement('div') as WrappedHTMLElement; + + positioner = element; + + // absolute positioned children need a non-null + // position value in the parent. It might + // get set to 'absolute' if the container is + // also absolutely positioned + positioner.style.position = 'relative'; + element.flexjs_wrapper = this; + + /*addEventListener('childrenAdded', + runLayoutHandler); + addEventListener('elementRemoved', + runLayoutHandler);*/ + + return element; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as new file mode 100644 index 0000000..da65539 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as @@ -0,0 +1,99 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + + import org.apache.flex.core.IBeadLayout; + import org.apache.flex.core.IChrome; + import org.apache.flex.core.IContainer; + import org.apache.flex.core.ValuesManager; + COMPILE::JS + { + import org.apache.flex.core.WrappedHTMLElement; + } + + /** + * The ControlBar class is used within a Panel as a place to position + * additional controls. The ControlBar appears at the bottom of the + * org.apache.flex.html.Panel + * and is not part of the Panel's scrollable content area. The ControlBar + * is a Container and implements the org.apache.flex.core.IChrome interface, indicating that is + * outside of the Container's content area. The ControlBar uses the following + * beads: + * + * org.apache.flex.core.IBeadModel: the data model for the component. + * org.apache.flex.core.IMeasurementBead: helps determine the overlay size of the ControlBar for layout. + * org.apache.flex.core.IBorderBead: if present, displays a border around the component. + * org.apache.flex.core.IBackgroundBead: if present, displays a solid background below the ControlBar. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ControlBar extends Container implements IContainer, IChrome + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ControlBar() + { + super(); + + className = "ControlBar"; + } + + /** + * @private + */ + override public function addedToParent():void + { + super.addedToParent(); + + if( getBeadByType(IBeadLayout) == null ) { + var layout:IBeadLayout = new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBeadLayout; + addBead(layout); + } + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + element = document.createElement('div') as WrappedHTMLElement; + element.className = 'ControlBar'; + element.style.display = 'inline'; + typeNames = 'ControlBar'; + + positioner = element; + positioner.style.position = 'relative'; + element.flexjs_wrapper = this; + + return element; + } + + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as new file mode 100644 index 0000000..8cba078 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as @@ -0,0 +1,164 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IBead; + import org.apache.flex.core.IDataGridModel; + import org.apache.flex.core.IDataGridPresentationModel; + import org.apache.flex.core.UIBase; + import org.apache.flex.html.beads.models.DataGridPresentationModel; + + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The DataGrid class displays a collection of data using columns and rows. Each + * column represents a specific field in the data set; each row represents a specific + * datum. The DataGrid is a composite component built with a org.apache.flex.html.ButtonBar + * for the column headers and a org.apache.flex.html.List for each column. The DataGrid's + * view bead (usually org.apache.flex.html.beads.DataGridView) constructs these parts while + * itemRenderer factories contruct the elements to display the data in each cell. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class DataGrid extends UIBase + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function DataGrid() + { + super(); + } + + /** + * The array of org.apache.flex.html.supportClasses.DataGridColumns used to + * describe each column. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get columns():Array + { + return IDataGridModel(model).columns; + } + public function set columns(value:Array):void + { + IDataGridModel(model).columns = value; + } + + /** + * The object used to provide data to the org.apache.flex.html.DataGrid. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get dataProvider():Object + { + return IDataGridModel(model).dataProvider; + } + public function set dataProvider(value:Object):void + { + IDataGridModel(model).dataProvider = value; + } + + /** + * The currently selected row. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedIndex():int + { + return IDataGridModel(model).selectedIndex; + } + + /** + * The DataGrid's presentation model + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get presentationModel():IDataGridPresentationModel + { + var beadMod:IBead = getBeadByType(IDataGridPresentationModel); + var presModel:IDataGridPresentationModel; + + if (beadMod == null) { + presModel = new DataGridPresentationModel(); + addBead(presModel); + } else { + presModel = beadMod as IDataGridPresentationModel; + } + return presModel; + } + + /** + * The default height of each cell in every column + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get rowHeight():Number + { + return presentationModel.rowHeight; + } + public function set rowHeight(value:Number):void + { + presentationModel.rowHeight = value; + } + + /** + * @private + * The DataGrid needs to know whenever its size is being changed so the columns can be + * be aligned properly, so the noEvent value must always be false. + */ + override public function setWidth(value:Number, noEvent:Boolean=false):void + { + super.setWidth(value,false); + } + + /** + * @private + * The DataGrid needs to know whenever its size is being changed so the columns can be + * be aligned properly, so the noEvent value must always be false. + */ + override public function setHeight(value:Number, noEvent:Boolean=false):void + { + super.setHeight(value,false); + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as new file mode 100644 index 0000000..33615ea --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as @@ -0,0 +1,74 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IDateChooserModel; + import org.apache.flex.core.UIBase; + + /** + * The change event is dispatched when the selectedDate is changed. + */ + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The DateChooser class is a component that displays a calendar. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class DateChooser extends UIBase + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function DateChooser() + { + super(); + className = "DateChooser"; + + // fix the DateChooser's size +// width = 280; +// height = 240; + } + + /** + * The currently selected date (or null if no date has been selected). + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedDate():Date + { + return IDateChooserModel(model).selectedDate; + } + public function set selectedDate(value:Date):void + { + IDateChooserModel(model).selectedDate = value; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as new file mode 100644 index 0000000..f46e453 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as @@ -0,0 +1,95 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.IBead; + import org.apache.flex.core.IDateChooserModel; + import org.apache.flex.core.UIBase; + import org.apache.flex.core.ValuesManager; + + /** + * The change event is dispatched when the selectedDate is changed. + */ + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The DateField class provides an input field where a date can be entered + * and a pop-up calendar control for picking a date as an alternative to + * the text field. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class DateField extends UIBase + { + /** + * constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function DateField() + { + super(); + + className = "DateField"; + } + + /** + * The method called when added to a parent. The DateField class uses + * this opportunity to install additional beads. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + override public function addedToParent():void + { + var klass:* = ValuesManager.valuesImpl.getValue(this,"iFormatBead"); + var bead:IBead = new klass() as IBead; + if (bead) { + addBead(bead); + } + + super.addedToParent(); + } + + /** + * The currently selected date (or null if no date has been selected). + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedDate():Date + { + return IDateChooserModel(model).selectedDate; + } + public function set selectedDate(value:Date):void + { + IDateChooserModel(model).selectedDate = value; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as new file mode 100644 index 0000000..dd069b2 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as @@ -0,0 +1,235 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.ISelectionModel; + + COMPILE::JS + { + import goog.events; + import org.apache.flex.core.WrappedHTMLElement; + import org.apache.flex.html.beads.models.ArraySelectionModel; + } + + //-------------------------------------- + // Events + //-------------------------------------- + + /** + * Dispatched when the user selects an item. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + [Event(name="change", type="org.apache.flex.events.Event")] + + /** + * The DropDownList class implements the basic equivalent of + * the <code><select></code> tag in HTML. + * The default implementation only lets the user see and + * choose from an array of strings. More complex controls + * would display icons as well as strings, or colors instead + * of strings or just about anything. + * + * The default behavior only lets the user choose one and + * only one item. More complex controls would allow + * mutiple selection by not dismissing the dropdown as soon + * as a selection is made. + * + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class DropDownList extends Button + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function DropDownList() + { + COMPILE::JS + { + model = new ArraySelectionModel(); + } + } + + /** + * The data set to be displayed. Usually a simple + * array of strings. A more complex component + * would allow more complex data and data sets. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get dataProvider():Object + { + return ISelectionModel(model).dataProvider; + } + + /** + * @private + * @flexjsignorecoercion HTMLOptionElement + * @flexjsignorecoercion HTMLSelectElement + */ + public function set dataProvider(value:Object):void + { + ISelectionModel(model).dataProvider = value; + COMPILE::JS + { + var dp:HTMLOptionsCollection; + var i:int; + var n:int; + var opt:HTMLOptionElement; + var dd:HTMLSelectElement = element as HTMLSelectElement; + + model.dataProvider = value; + dp = dd.options; + n = dp.length; + for (i = 0; i < n; i++) { + dd.remove(0); + } + + var lf:String = labelField; + n = value.length; + for (i = 0; i < n; i++) { + opt = document.createElement('option') as HTMLOptionElement; + if (lf) + opt.text = value[i][lf]; + else + opt.text = value[i]; + dd.add(opt, null); + } + + } + } + + [Bindable("change")] + /** + * @copy org.apache.flex.core.ISelectionModel#selectedIndex + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedIndex():int + { + return ISelectionModel(model).selectedIndex; + } + + /** + * @private + * @flexjsignorecoercion HTMLSelectElement + */ + public function set selectedIndex(value:int):void + { + ISelectionModel(model).selectedIndex = value; + COMPILE::JS + { + (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex; + } + } + + + [Bindable("change")] + /** + * @copy org.apache.flex.core.ISelectionModel#selectedItem + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get selectedItem():Object + { + return ISelectionModel(model).selectedItem; + } + + /** + * @private + * @flexjsignorecoercion HTMLSelectElement + */ + public function set selectedItem(value:Object):void + { + ISelectionModel(model).selectedItem = value; + COMPILE::JS + { + (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex; + } + } + + /** + * The name of field within the data used for display. Each item of the + * data should have a property with this name. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function get labelField():String + { + return ISelectionModel(model).labelField; + } + public function set labelField(value:String):void + { + ISelectionModel(model).labelField = value; + } + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + * @flexjsignorecoercion HTMLSelectElement + */ + COMPILE::JS + override protected function createElement():WrappedHTMLElement + { + element = document.createElement('select') as WrappedHTMLElement; + (element as HTMLSelectElement).size = 1; + goog.events.listen(element, 'change', + changeHandler); + + positioner = element; + positioner.style.position = 'relative'; + + element.flexjs_wrapper = this; + + return element; + } + + /** + * @flexjsignorecoercion HTMLSelectElement + */ + COMPILE::JS + protected function changeHandler(event:Event):void + { + model.selectedIndex = (element as HTMLSelectElement).selectedIndex; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7853ef15/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as new file mode 100644 index 0000000..9f38883 --- /dev/null +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as @@ -0,0 +1,61 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 org.apache.flex.html +{ + import org.apache.flex.core.ContainerBase; + import org.apache.flex.core.IChrome; + import org.apache.flex.core.IContainer; + import org.apache.flex.core.IUIBase; + import org.apache.flex.events.Event; + + [DefaultProperty("mxmlContent")] + + /** + * A Container that has a HorizontalLayout. + * + * This is effectively the same as the pattern + * <code> + * <basic:Container xmlns:basic="library://ns.apache.org/flexjs/basic"> + * <basic:layout> + * <basic:HorizontalLayout /> + * </basic:layout> + * </basic:Container> + * </code> + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class HContainer extends Container implements IContainer + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function HContainer() + { + super(); + } + } +}