try to copy HTML to Basic without losing history
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/d8221452 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/d8221452 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/d8221452 Branch: refs/heads/feature-autobuild/closure-classpath-sources Commit: d822145269fcd59dca71b8310527edbf008072dc Parents: 6c2e37f Author: Alex Harui <aha...@apache.org> Authored: Wed Oct 26 13:16:24 2016 -0700 Committer: Alex Harui <aha...@apache.org> Committed: Tue Nov 1 07:46:51 2016 -0700 ---------------------------------------------------------------------- frameworks/projects/Basic/build.xml | 116 ++++ frameworks/projects/Basic/pom.xml | 128 ++++ .../Basic/src/main/config/compile-as-config.xml | 90 +++ .../projects/Basic/src/main/flex/HTMLClasses.as | 194 ++++++ .../apache/flex/core/IScrollingLayoutParent.as | 68 ++ .../org/apache/flex/events/ItemAddedEvent.as | 88 +++ .../org/apache/flex/events/ItemClickedEvent.as | 115 ++++ .../org/apache/flex/events/ItemRemovedEvent.as | 88 +++ .../org/apache/flex/events/ItemRendererEvent.as | 90 +++ .../src/main/flex/org/apache/flex/html/Alert.as | 287 ++++++++ .../main/flex/org/apache/flex/html/Button.as | 85 +++ .../main/flex/org/apache/flex/html/ButtonBar.as | 76 +++ .../flex/org/apache/flex/html/ButtonBase.as | 101 +++ .../main/flex/org/apache/flex/html/CheckBox.as | 187 ++++++ .../flex/org/apache/flex/html/CloseButton.as | 66 ++ .../main/flex/org/apache/flex/html/ComboBox.as | 277 ++++++++ .../main/flex/org/apache/flex/html/Container.as | 108 +++ .../flex/org/apache/flex/html/ControlBar.as | 99 +++ .../main/flex/org/apache/flex/html/DataGrid.as | 166 +++++ .../org/apache/flex/html/DataGridButtonBar.as | 51 ++ .../flex/html/DataGridButtonBarTextButton.as | 55 ++ .../flex/org/apache/flex/html/DateChooser.as | 74 ++ .../main/flex/org/apache/flex/html/DateField.as | 95 +++ .../flex/org/apache/flex/html/DropDownList.as | 235 +++++++ .../src/main/flex/org/apache/flex/html/Form.as | 99 +++ .../flex/org/apache/flex/html/HContainer.as | 61 ++ .../src/main/flex/org/apache/flex/html/HRule.as | 63 ++ .../src/main/flex/org/apache/flex/html/Image.as | 93 +++ .../org/apache/flex/html/ImageAndTextButton.as | 128 ++++ .../flex/org/apache/flex/html/ImageButton.as | 89 +++ .../src/main/flex/org/apache/flex/html/Label.as | 194 ++++++ .../src/main/flex/org/apache/flex/html/List.as | 311 +++++++++ .../flex/org/apache/flex/html/MXMLBeadView.as | 317 +++++++++ .../flex/org/apache/flex/html/MultilineLabel.as | 76 +++ .../flex/org/apache/flex/html/NumericStepper.as | 202 ++++++ .../src/main/flex/org/apache/flex/html/Panel.as | 121 ++++ .../org/apache/flex/html/PanelWithControlBar.as | 121 ++++ .../flex/org/apache/flex/html/RadioButton.as | 350 ++++++++++ .../flex/org/apache/flex/html/RangeStepper.as | 69 ++ .../flex/org/apache/flex/html/SimpleAlert.as | 140 ++++ .../flex/org/apache/flex/html/SimpleList.as | 79 +++ .../main/flex/org/apache/flex/html/Slider.as | 233 +++++++ .../main/flex/org/apache/flex/html/Spacer.as | 64 ++ .../main/flex/org/apache/flex/html/Spinner.as | 166 +++++ .../main/flex/org/apache/flex/html/TextArea.as | 126 ++++ .../flex/org/apache/flex/html/TextButton.as | 139 ++++ .../main/flex/org/apache/flex/html/TextInput.as | 187 ++++++ .../main/flex/org/apache/flex/html/TitleBar.as | 146 ++++ .../org/apache/flex/html/ToggleTextButton.as | 170 +++++ .../main/flex/org/apache/flex/html/ToolTip.as | 60 ++ .../src/main/flex/org/apache/flex/html/Tree.as | 73 ++ .../flex/org/apache/flex/html/VContainer.as | 62 ++ .../src/main/flex/org/apache/flex/html/VRule.as | 68 ++ .../flex/org/apache/flex/html/WebBrowser.as | 145 ++++ .../accessories/NumericOnlyTextInputBead.as | 199 ++++++ .../flex/html/accessories/PasswordInputBead.as | 102 +++ .../flex/html/accessories/TextPromptBead.as | 148 ++++ .../apache/flex/html/accessories/ToolTipBead.as | 141 ++++ .../flex/html/beads/AlertMeasurementBead.as | 88 +++ .../org/apache/flex/html/beads/AlertView.as | 226 +++++++ .../flex/html/beads/BackgroundImageBead.as | 112 ++++ .../org/apache/flex/html/beads/ButtonBarView.as | 69 ++ .../org/apache/flex/html/beads/CSSButtonView.as | 167 +++++ .../html/beads/CSSImageAndTextButtonView.as | 367 ++++++++++ .../apache/flex/html/beads/CSSTextButtonView.as | 350 ++++++++++ .../flex/html/beads/CSSTextToggleButtonView.as | 105 +++ .../org/apache/flex/html/beads/CheckBoxView.as | 296 ++++++++ .../apache/flex/html/beads/CloseButtonView.as | 101 +++ .../org/apache/flex/html/beads/ComboBoxView.as | 247 +++++++ .../org/apache/flex/html/beads/ContainerView.as | 553 +++++++++++++++ .../html/beads/ControlBarMeasurementBead.as | 116 ++++ .../flex/html/beads/DataGridColumnView.as | 101 +++ .../apache/flex/html/beads/DataGridLinesBead.as | 199 ++++++ .../org/apache/flex/html/beads/DataGridView.as | 266 ++++++++ .../DataItemRendererFactoryForArrayData.as | 176 +++++ .../DataItemRendererFactoryForArrayList.as | 194 ++++++ .../DataItemRendererFactoryForColumnData.as | 142 ++++ ...ataItemRendererFactoryForHierarchicalData.as | 113 ++++ .../html/beads/DataProviderChangeNotifier.as | 194 ++++++ .../apache/flex/html/beads/DateChooserView.as | 328 +++++++++ .../org/apache/flex/html/beads/DateFieldView.as | 192 ++++++ .../flex/html/beads/DecrementButtonView.as | 94 +++ .../flex/html/beads/DownArrowButtonView.as | 111 +++ .../apache/flex/html/beads/DropDownListView.as | 300 +++++++++ .../org/apache/flex/html/beads/HRuleView.as | 87 +++ .../flex/html/beads/HScrollBarThumbView.as | 120 ++++ .../flex/html/beads/HScrollBarTrackView.as | 118 ++++ .../apache/flex/html/beads/HScrollBarView.as | 99 +++ .../apache/flex/html/beads/IBackgroundBead.as | 35 + .../org/apache/flex/html/beads/IBorderBead.as | 35 + .../org/apache/flex/html/beads/IComboBoxView.as | 78 +++ .../org/apache/flex/html/beads/IDataGridView.as | 36 + .../apache/flex/html/beads/IDropDownListView.as | 57 ++ .../apache/flex/html/beads/IGraphicsDrawing.as | 36 + .../org/apache/flex/html/beads/IListView.as | 48 ++ .../apache/flex/html/beads/IScrollBarView.as | 80 +++ .../org/apache/flex/html/beads/ISliderView.as | 60 ++ .../org/apache/flex/html/beads/ISpinnerView.as | 69 ++ .../apache/flex/html/beads/ITextFieldView.as | 44 ++ .../apache/flex/html/beads/ITextItemRenderer.as | 45 ++ .../flex/html/beads/ImageAndTextButtonView.as | 276 ++++++++ .../apache/flex/html/beads/ImageButtonView.as | 158 +++++ .../org/apache/flex/html/beads/ImageView.as | 223 ++++++ .../flex/html/beads/IncrementButtonView.as | 94 +++ .../flex/html/beads/LeftArrowButtonView.as | 112 ++++ .../flex/org/apache/flex/html/beads/ListView.as | 211 ++++++ .../flex/html/beads/MultilineTextFieldView.as | 56 ++ .../flex/html/beads/NumericStepperView.as | 186 +++++ .../org/apache/flex/html/beads/PanelView.as | 168 +++++ .../flex/html/beads/PanelWithControlBarView.as | 207 ++++++ .../apache/flex/html/beads/RadioButtonView.as | 281 ++++++++ .../apache/flex/html/beads/RangeStepperView.as | 157 +++++ .../flex/html/beads/RightArrowButtonView.as | 112 ++++ .../org/apache/flex/html/beads/ScrollBarView.as | 216 ++++++ .../apache/flex/html/beads/SimpleAlertView.as | 150 +++++ .../flex/html/beads/SingleLineBorderBead.as | 91 +++ .../apache/flex/html/beads/SliderThumbView.as | 156 +++++ .../apache/flex/html/beads/SliderTrackView.as | 153 +++++ .../org/apache/flex/html/beads/SliderView.as | 179 +++++ .../flex/html/beads/SolidBackgroundBead.as | 195 ++++++ .../org/apache/flex/html/beads/SpinnerView.as | 180 +++++ .../org/apache/flex/html/beads/TextAreaView.as | 263 ++++++++ .../html/beads/TextButtonMeasurementBead.as | 86 +++ .../apache/flex/html/beads/TextButtonView.as | 217 ++++++ .../html/beads/TextFieldLabelMeasurementBead.as | 92 +++ .../org/apache/flex/html/beads/TextFieldView.as | 54 ++ .../apache/flex/html/beads/TextFieldViewBase.as | 404 +++++++++++ .../org/apache/flex/html/beads/TextInputView.as | 135 ++++ .../flex/html/beads/TextInputWithBorderView.as | 100 +++ .../TextItemRendererFactoryForArrayData.as | 159 +++++ ...extItemRendererFactoryForStringVectorData.as | 143 ++++ .../flex/html/beads/TitleBarMeasurementBead.as | 108 +++ .../apache/flex/html/beads/TitleBarView.mxml | 58 ++ .../apache/flex/html/beads/UpArrowButtonView.as | 112 ++++ .../org/apache/flex/html/beads/VRuleView.as | 87 +++ .../flex/html/beads/VScrollBarThumbView.as | 119 ++++ .../flex/html/beads/VScrollBarTrackView.as | 118 ++++ .../apache/flex/html/beads/VScrollBarView.as | 99 +++ .../apache/flex/html/beads/WebBrowserView.as | 198 ++++++ .../html/beads/controllers/AlertController.as | 88 +++ .../controllers/ButtonAutoRepeatController.as | 147 ++++ .../beads/controllers/ComboBoxController.as | 104 +++ .../controllers/DateChooserMouseController.as | 127 ++++ .../controllers/DateFieldMouseController.as | 96 +++ .../beads/controllers/DropDownListController.as | 117 ++++ .../EditableTextKeyboardController.as | 86 +++ .../controllers/HScrollBarMouseController.as | 101 +++ .../controllers/ItemRendererMouseController.as | 209 ++++++ .../ListSingleSelectionMouseController.as | 153 +++++ .../controllers/RangeStepperMouseController.as | 94 +++ .../controllers/ScrollBarMouseControllerBase.as | 184 +++++ .../beads/controllers/SliderMouseController.as | 286 ++++++++ .../beads/controllers/SpinnerMouseController.as | 124 ++++ .../TreeSingleSelectionMouseController.as | 82 +++ .../controllers/VScrollBarMouseController.as | 101 +++ .../flex/html/beads/layouts/BasicLayout.as | 445 ++++++++++++ .../flex/html/beads/layouts/ButtonBarLayout.as | 143 ++++ .../flex/html/beads/layouts/DataGridLayout.as | 208 ++++++ .../beads/layouts/DataGridPercentageLayout.as | 224 +++++++ .../FlexibleFirstChildHorizontalLayout.as | 244 +++++++ .../flex/html/beads/layouts/HScrollBarLayout.as | 121 ++++ .../flex/html/beads/layouts/HorizontalLayout.as | 325 +++++++++ .../flex/html/beads/layouts/IDataGridLayout.as | 52 ++ .../html/beads/layouts/LayoutChangeNotifier.as | 103 +++ .../layouts/OneFlexibleChildHorizontalLayout.as | 332 +++++++++ .../layouts/OneFlexibleChildVerticalLayout.as | 459 +++++++++++++ .../flex/html/beads/layouts/TileLayout.as | 248 +++++++ .../flex/html/beads/layouts/VScrollBarLayout.as | 122 ++++ .../html/beads/layouts/VerticalColumnLayout.as | 199 ++++++ .../flex/html/beads/layouts/VerticalLayout.as | 362 ++++++++++ .../apache/flex/html/beads/models/AlertModel.as | 288 ++++++++ .../beads/models/ArrayListSelectionModel.as | 244 +++++++ .../html/beads/models/ArraySelectionModel.as | 243 +++++++ .../flex/html/beads/models/ComboBoxModel.as | 100 +++ .../flex/html/beads/models/DataGridModel.as | 71 ++ .../beads/models/DataGridPresentationModel.as | 88 +++ .../flex/html/beads/models/DateChooserModel.as | 189 ++++++ .../flex/html/beads/models/ImageAndTextModel.as | 77 +++ .../apache/flex/html/beads/models/ImageModel.as | 89 +++ .../html/beads/models/ListPresentationModel.as | 107 +++ .../apache/flex/html/beads/models/PanelModel.as | 158 +++++ .../apache/flex/html/beads/models/RangeModel.as | 222 ++++++ .../html/beads/models/RangeModelExtended.as | 101 +++ .../flex/html/beads/models/ScrollBarModel.as | 98 +++ .../html/beads/models/SingleLineBorderModel.as | 85 +++ .../html/beads/models/StringSelectionModel.as | 221 ++++++ .../apache/flex/html/beads/models/TextModel.as | 125 ++++ .../flex/html/beads/models/TitleBarModel.as | 136 ++++ .../flex/html/beads/models/ToggleButtonModel.as | 145 ++++ .../html/beads/models/ValueToggleButtonModel.as | 123 ++++ .../flex/html/beads/models/ViewportModel.as | 72 ++ .../flex/html/beads/models/WebBrowserModel.as | 100 +++ .../apache/flex/html/supportClasses/Border.as | 49 ++ .../ButtonBarButtonItemRenderer.as | 145 ++++ .../flex/html/supportClasses/CheckBoxIcon.as | 92 +++ .../html/supportClasses/ContainerContentArea.as | 80 +++ .../DataGridButtonBarButtonItemRenderer.as | 81 +++ .../flex/html/supportClasses/DataGridColumn.as | 127 ++++ .../html/supportClasses/DataGridColumnList.as | 61 ++ .../flex/html/supportClasses/DataGroup.as | 121 ++++ .../html/supportClasses/DataItemRenderer.as | 179 +++++ .../html/supportClasses/DateChooserButton.as | 67 ++ .../html/supportClasses/DateHeaderButton.as | 48 ++ .../html/supportClasses/DropDownListList.as | 63 ++ .../html/supportClasses/GraphicsItemRenderer.as | 316 +++++++++ .../flex/html/supportClasses/HScrollBar.as | 49 ++ .../flex/html/supportClasses/RadioButtonIcon.as | 111 +++ .../flex/html/supportClasses/ScrollBar.as | 50 ++ .../html/supportClasses/ScrollingViewport.as | 351 ++++++++++ .../flex/html/supportClasses/SpinnerButton.as | 31 + .../html/supportClasses/StringItemRenderer.as | 180 +++++ .../supportClasses/TextFieldItemRenderer.as | 560 ++++++++++++++++ .../html/supportClasses/TreeItemRenderer.as | 64 ++ .../flex/html/supportClasses/TreeListData.as | 76 +++ .../html/supportClasses/UIItemRendererBase.as | 303 +++++++++ .../flex/html/supportClasses/VScrollBar.as | 49 ++ .../apache/flex/html/supportClasses/Viewport.as | 151 +++++ .../main/flex/org/apache/flex/svg/TextButton.as | 30 + .../src/main/resources/basic-as-manifest.xml | 37 + .../Basic/src/main/resources/basic-manifest.xml | 127 ++++ .../Basic/src/main/resources/defaults.css | 672 +++++++++++++++++++ .../Basic/src/main/resources/svg-manifest.xml | 24 + .../test/flex/FlexUnitFlexJSApplication.mxml | 46 ++ .../projects/Basic/src/test/flex/build.xml | 165 +++++ .../flex/flexUnitTests/DataGridColumnTester.as | 27 + .../flexUnitTests/DataGridColumnTesterTest.as | 55 ++ 226 files changed, 33403 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/build.xml b/frameworks/projects/Basic/build.xml new file mode 100644 index 0000000..f7e42a5 --- /dev/null +++ b/frameworks/projects/Basic/build.xml @@ -0,0 +1,116 @@ +<?xml version="1.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. + +--> + + +<project name="Basic" default="main" basedir="."> + <property name="FLEXJS_HOME" location="../../.."/> + + <property file="${FLEXJS_HOME}/env.properties"/> + <property environment="env"/> + <property file="${FLEXJS_HOME}/build.properties"/> + <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc"> + </target> + + <target name="compile-js"> + <ant dir="${FLEXJS_HOME}/frameworks/js/FlexJS/projects/${ant.project.name}JS/" inheritAll="false" /> + </target> + + <target name="copy-swc"> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" /> + </target> + + <target name="check-for-tests" > + <condition property="skip-tests" > + <not> + <available file="${basedir}/src/test/flex/build.xml" /> + </not> + </condition> + </target> + + <target name="test" depends="check-for-tests" unless="skip-tests"> + <ant dir="src/test/flex" /> + </target> + + <target name="clean"> + <delete failonerror="false"> + <fileset dir="${FLEXJS_HOME}/frameworks/libs"> + <include name="${target.name}"/> + </fileset> + </delete> + <delete failonerror="false" includeemptydirs="true"> + <fileset dir="${basedir}/target"> + <include name="**/**"/> + </fileset> + </delete> + <antcall target="clean-tests" /> + </target> + + <target name="clean-tests" depends="check-for-tests" unless="skip-tests"> + <ant dir="src/test/flex" target="clean"/> + </target> + + <target name="compile" description="Compiles .as files into .swc"> + <echo message="Compiling libs/${ant.project.name}.swc"/> + <echo message="FLEX_HOME: ${FLEX_HOME}"/> + <echo message="FALCON_HOME: ${FALCON_HOME}"/> + + <compc fork="true" + output="${basedir}/target/${target.name}"> + <jvmarg line="${compc.jvm.args}"/> + <load-config filename="${basedir}/src/main/config/compile-as-config.xml" /> + <arg value="+playerglobal.version=${playerglobal.version}" /> + <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> + <arg value="-define=COMPILE::SWF,true" /> + <arg value="-define=COMPILE::JS,false" /> + </compc> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" /> + </target> + + <target name="check-compiler" depends="check-falcon-home"> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + +</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/pom.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/pom.xml b/frameworks/projects/Basic/pom.xml new file mode 100644 index 0000000..0263e38 --- /dev/null +++ b/frameworks/projects/Basic/pom.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>projects</artifactId> + <version>0.8.0-SNAPSHOT</version> + </parent> + + <artifactId>Basic</artifactId> + <version>0.8.0-SNAPSHOT</version> + <packaging>swc</packaging> + + <name>Apache Flex - FlexJS: Framework: Libs: Basic</name> + + <build> + <sourceDirectory>src/main/flex</sourceDirectory> + <plugins> + <plugin> + <groupId>org.apache.flex.flexjs.compiler</groupId> + <artifactId>flexjs-maven-plugin</artifactId> + <version>${flexjs.compiler.version}</version> + <extensions>true</extensions> + <configuration> + <namespaces> + <namespace> + <uri>library://ns.apache.org/flexjs/basic</uri> + <manifest>${project.basedir}/src/main/resources/basic-manifest.xml</manifest> + </namespace> + <namespace> + <type>as</type> + <uri>library://ns.apache.org/flexjs/basic</uri> + <manifest>${project.basedir}/src/main/resources/basic-as-manifest.xml</manifest> + </namespace> + <namespace> + <uri>library://ns.apache.org/flexjs/svg</uri> + <manifest>${project.basedir}/src/main/resources/svg-manifest.xml</manifest> + </namespace> + </namespaces> + <includeClasses> + <includeClass>BasicClasses</includeClass> + </includeClasses> + <includeFiles> + <include-file> + <name>defaults.css</name> + <path>../src/main/resources/defaults.css</path> + </include-file> + </includeFiles> + </configuration> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Core</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Core</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + <classifier>typedefs</classifier> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Binding</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Binding</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + <classifier>typedefs</classifier> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Graphics</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Graphics</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + <classifier>typedefs</classifier> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Collections</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + </dependency> + <dependency> + <groupId>org.apache.flex.flexjs.framework</groupId> + <artifactId>Collections</artifactId> + <version>0.8.0-SNAPSHOT</version> + <type>swc</type> + <classifier>typedefs</classifier> + </dependency> + </dependencies> + +</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/config/compile-as-config.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/config/compile-as-config.xml b/frameworks/projects/Basic/src/main/config/compile-as-config.xml new file mode 100644 index 0000000..6e12398 --- /dev/null +++ b/frameworks/projects/Basic/src/main/config/compile-as-config.xml @@ -0,0 +1,90 @@ +<!-- + + 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>../resources/basic-manifest.xml</manifest> + </namespace> + <namespace> + <uri>library://ns.apache.org/flexjs/basic</uri> + <manifest>../resources/basic-as-manifest.xml</manifest> + </namespace> + <namespace> + <uri>library://ns.apache.org/flexjs/svg</uri> + <manifest>../resources/svg-manifest.xml</manifest> + </namespace> + </namespaces> + + <source-path> + <path-element>../flex</path-element> + </source-path> + + <warn-no-constructor>false</warn-no-constructor> + </compiler> + + <include-file> + <name>defaults.css</name> + <path>../resources/defaults.css</path> + </include-file> + + <include-classes> + <class>BasicClasses</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/d8221452/frameworks/projects/Basic/src/main/flex/HTMLClasses.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/HTMLClasses.as b/frameworks/projects/Basic/src/main/flex/HTMLClasses.as new file mode 100644 index 0000000..1271417 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/HTMLClasses.as @@ -0,0 +1,194 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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::SWF + { + import org.apache.flex.html.beads.BackgroundImageBead; BackgroundImageBead; + } + import org.apache.flex.html.beads.ButtonBarView; ButtonBarView; + COMPILE::SWF + { + 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::SWF + { + 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::SWF + { + import org.apache.flex.html.beads.NumericStepperView; NumericStepperView; + } + import org.apache.flex.html.beads.PanelView; PanelView; + COMPILE::SWF + { + 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; + import org.apache.flex.html.beads.SpinnerView; SpinnerView; + COMPILE::SWF + { + import org.apache.flex.html.beads.SolidBackgroundBead; SolidBackgroundBead; + 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.ArrayListSelectionModel; ArrayListSelectionModel; + import org.apache.flex.html.beads.models.RangeModel; RangeModel; + import org.apache.flex.html.beads.models.RangeModelExtended; RangeModelExtended; + COMPILE::SWF + { + import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel; + } + COMPILE::SWF + { + 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::SWF + { + 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; + import org.apache.flex.html.beads.models.ToggleButtonModel; ToggleButtonModel; + COMPILE::SWF + { + import org.apache.flex.html.beads.models.ValueToggleButtonModel; ValueToggleButtonModel; + } + import org.apache.flex.html.beads.models.ViewportModel; ViewportModel; + COMPILE::SWF + { + 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; + import org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController; TreeSingleSelectionMouseController; + COMPILE::SWF + { + 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; + import org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout; OneFlexibleChildHorizontalLayout; + import org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout; OneFlexibleChildVerticalLayout; + + COMPILE::SWF + { + 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.beads.DataItemRendererFactoryForHierarchicalData; DataItemRendererFactoryForHierarchicalData; + 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.supportClasses.DataGridButtonBarButtonItemRenderer; DataGridButtonBarButtonItemRenderer; + + import org.apache.flex.html.DataGridButtonBarTextButton; DataGridButtonBarTextButton; + import org.apache.flex.html.DataGridButtonBar; DataGridButtonBar; + import org.apache.flex.html.beads.DataGridColumnView; DataGridColumnView; + import org.apache.flex.html.beads.DataGridView; DataGridView; + import org.apache.flex.html.beads.layouts.DataGridLayout; DataGridLayout; + import org.apache.flex.html.beads.DateChooserView; DateChooserView; + import org.apache.flex.html.beads.DateFieldView; DateFieldView; + import org.apache.flex.html.beads.DecrementButtonView; DecrementButtonView; + import org.apache.flex.html.beads.IncrementButtonView; IncrementButtonView; + import org.apache.flex.html.beads.RangeStepperView; RangeStepperView; + 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.beads.controllers.RangeStepperMouseController; RangeStepperMouseController; + import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn; + import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton; + import org.apache.flex.html.supportClasses.DateHeaderButton; DateHeaderButton; + import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer; + + import org.apache.flex.html.beads.TitleBarView; TitleBarView; + import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead; + + import org.apache.flex.html.beads.WebBrowserView; WebBrowserView; + import org.apache.flex.html.beads.models.WebBrowserModel; WebBrowserModel; + + COMPILE::SWF + { + 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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as new file mode 100644 index 0000000..5e9768e --- /dev/null +++ b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as new file mode 100644 index 0000000..a6ae756 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as @@ -0,0 +1,88 @@ +//////////////////////////////////////////////////////////////////////////////// +// + +// 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.events +{ + + import org.apache.flex.events.CustomEvent; + + /** + * The ItemAddedEvent is dispatched by IItemRendererParent objects whenenver an + * itemRenderer is added. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ItemAddedEvent extends CustomEvent + { + + //-------------------------------------- + // Constructor + //-------------------------------------- + + /** + * Constructor. + * + * @param type The name of the event. + * @param bubbles Whether the event bubbles. + * @param cancelable Whether the event can be canceled. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ItemAddedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) + { + COMPILE::SWF + { + super(type, bubbles, cancelable); + } + COMPILE::JS + { + super(type); + } + + item = null; + } + + /** + * The item being added. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var item:Object; + + /** + * @private + */ + override public function cloneEvent():org.apache.flex.events.Event + { + var newEvent:ItemAddedEvent = new ItemAddedEvent(type); + newEvent.item = item; + return newEvent; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as new file mode 100644 index 0000000..febc798 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as @@ -0,0 +1,115 @@ +//////////////////////////////////////////////////////////////////////////////// +// + +// 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.events +{ + + import org.apache.flex.events.CustomEvent; + + /** + * The ItemClickedEvent is a custom event issued by an itemRenderer to + * convey information about itself when it has determined that the + * event(s) happening to it constitute a 'click' on itself. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ItemClickedEvent extends CustomEvent + { + + //-------------------------------------- + // Constructor + //-------------------------------------- + + /** + * Constructor. + * + * @param type The name of the event. + * @param bubbles Whether the event bubbles. + * @param cancelable Whether the event can be canceled. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ItemClickedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) + { + COMPILE::SWF + { + super(type, bubbles, cancelable); + } + COMPILE::JS + { + super(type); + } + + index = -1; + data = null; + multipleSelection = false; + } + + /** + * The index of the item beginning with zero. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var index:Number; + + /** + * The data of the item. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var data:Object; + + /** + * Whether or not this click is part of a multi-selection sequence. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var multipleSelection:Boolean; + + /** + * @private + */ + override public function cloneEvent():org.apache.flex.events.Event + { + var newEvent:ItemClickedEvent = new ItemClickedEvent(type); + newEvent.index = index; + newEvent.data = data; + newEvent.multipleSelection = multipleSelection; + return newEvent; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as new file mode 100644 index 0000000..313f3f9 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as @@ -0,0 +1,88 @@ +//////////////////////////////////////////////////////////////////////////////// +// + +// 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.events +{ + + import org.apache.flex.events.CustomEvent; + + /** + * The ItemRemovedEvent is dispatched by IItemRendererParent objects whenenver an + * itemRenderer is removed. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ItemRemovedEvent extends CustomEvent + { + + //-------------------------------------- + // Constructor + //-------------------------------------- + + /** + * Constructor. + * + * @param type The name of the event. + * @param bubbles Whether the event bubbles. + * @param cancelable Whether the event can be canceled. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ItemRemovedEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) + { + COMPILE::SWF + { + super(type, bubbles, cancelable); + } + COMPILE::JS + { + super(type); + } + + item = null; + } + + /** + * The item being removed. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var item:Object; + + /** + * @private + */ + override public function cloneEvent():org.apache.flex.events.Event + { + var newEvent:ItemRemovedEvent = new ItemRemovedEvent(type); + newEvent.item = item; + return newEvent; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as new file mode 100644 index 0000000..f4044a4 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as @@ -0,0 +1,90 @@ +//////////////////////////////////////////////////////////////////////////////// +// + +// 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.events +{ + import org.apache.flex.core.IItemRenderer; + import org.apache.flex.events.CustomEvent; + + /** + * The ItemRendererEvent is dispatched by DataItemRendererFactory classes under + * various conditions. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public class ItemRendererEvent extends CustomEvent + { + // dispatched when a new itemRenderer has been created and added to the IItemRendererParent. + static public const CREATED:String = "itemRendererCreated"; + + //-------------------------------------- + // Constructor + //-------------------------------------- + + /** + * Constructor. + * + * @param type The name of the event. + * @param bubbles Whether the event bubbles. + * @param cancelable Whether the event can be canceled. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ItemRendererEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) + { + COMPILE::SWF + { + super(type, bubbles, cancelable); + } + COMPILE::JS + { + super(type); + } + + itemRenderer = null; + } + + /** + * The itemRenderer that has been created. + * + * @export + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public var itemRenderer:IItemRenderer; + + /** + * @private + */ + override public function cloneEvent():org.apache.flex.events.Event + { + var newEvent:ItemRendererEvent = new ItemRendererEvent(type); + newEvent.itemRenderer = itemRenderer; + return newEvent; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Alert.as new file mode 100644 index 0000000..b7f50dc --- /dev/null +++ b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Button.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Button.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Button.as new file mode 100644 index 0000000..6057919 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Button.as @@ -0,0 +1,85 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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::SWF + { + 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.MouseEvent")] + + /** + * 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 + */ + public class Button extends ButtonBase + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function Button() + { + super(); + } + } + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBar.as new file mode 100644 index 0000000..e4c58e7 --- /dev/null +++ b/frameworks/projects/Basic/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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as new file mode 100644 index 0000000..a30f0cf --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ButtonBase.as @@ -0,0 +1,101 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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::SWF + { + 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.MouseEvent")] + + /** + * The ButtonBase class is the base class for Button. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + COMPILE::SWF + public class ButtonBase extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase + { + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion FlexJS 0.0 + */ + public function ButtonBase() + { + super(); + } + } + + COMPILE::JS + public class ButtonBase 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/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as new file mode 100644 index 0000000..632b539 --- /dev/null +++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CheckBox.as @@ -0,0 +1,187 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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::SWF + { + import flash.events.MouseEvent; + } + + import org.apache.flex.core.IStrand; + import org.apache.flex.core.IToggleButtonModel; + import org.apache.flex.core.IUIBase; + COMPILE::SWF + { + import org.apache.flex.core.UIButtonBase; + } + COMPILE::JS + { + import org.apache.flex.core.UIBase; + import org.apache.flex.core.WrappedHTMLElement; + import org.apache.flex.html.supportClasses.CheckBoxIcon; + } + import org.apache.flex.events.Event; + import org.apache.flex.events.MouseEvent; + + //-------------------------------------- + // 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::SWF + 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(org.apache.flex.events.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:org.apache.flex.events.MouseEvent) : void + { + selected = !selected; + dispatchEvent(new Event("change")); + } + } + + COMPILE::JS + public class CheckBox extends UIBase + { + private var _label:WrappedHTMLElement; + private var _icon:CheckBoxIcon; + + private static var _checkNumber:Number = 0; + + /** + * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement + */ + override protected function createElement():WrappedHTMLElement + { + var cb:HTMLInputElement; + + element = document.createElement('label') as WrappedHTMLElement; + _label = element; + _icon = new CheckBoxIcon(); + element.appendChild(_icon.element); + + element.appendChild(document.createTextNode('')); + + positioner = element; + positioner.style.position = 'relative'; + element.flexjs_wrapper = this; + _icon.element.flexjs_wrapper = this; + + className = 'CheckBox'; + typeNames = 'CheckBox, CheckBoxIcon'; + + return element; + } + + public function get text():String + { + return _label.childNodes.item(1).nodeValue; + } + + public function set text(value:String):void + { + _label.childNodes.item(1).nodeValue = value; + } + + public function get selected():Boolean + { + return (_icon.element as HTMLInputElement).checked; + } + + public function set selected(value:Boolean):void + { + (_icon.element as HTMLInputElement).checked = value; + } + } + +} http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/d8221452/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CloseButton.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CloseButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CloseButton.as new file mode 100644 index 0000000..8306915 --- /dev/null +++ b/frameworks/projects/Basic/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; + } + + } +}