Merge branch 'develop' into dual
Conflicts:
frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
diff --git a/build.xml b/build.xml
index befe655..11b8027 100644
--- a/build.xml
+++ b/build.xml
@@ -430,12 +430,15 @@
Cleanup
-->
- <target name="super-clean" depends="thirdparty-clean,clean" description="Cleans everything including thirdparty downloads."/>
+ <target name="super-clean" depends="thirdparty-clean,clean" description="Cleans everything including thirdparty downloads.">
+ <delete dir="${basedir}/mustella/tests/basicTests/bin"/>
+ </target>
<target name="thirdparty-clean" description="Removes all thirdparty downloads.">
<ant dir="${basedir}/frameworks" target="thirdparty-clean"/>
<delete dir="${basedir}/in"/>
<delete dir="${basedir}/lib"/>
+ <delete dir="${basedir}/marmotinni/java/lib"/>
</target>
<target name="clean" depends="examples-clean,frameworks-clean,package-clean,checkintests-clean"
@@ -1236,6 +1239,7 @@
</target>
<target name="basictests-compile-js">
+ <!-- now built by dual mode
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/>
<property name="GOOG_HOME" value="${env.GOOG_HOME}"/>
@@ -1272,6 +1276,7 @@
</not>
</condition>
</fail>
+ -->
</target>
<target name="basictests-compile-java" >
@@ -1388,22 +1393,33 @@
<target name="load-task" depends="runtime-setup">
<!-- load the <mxmlc> task; we can't do this at the <project> level -->
<!-- because targets that run before flexTasks.jar gets built would fail -->
- <taskdef resource="flexTasks.tasks" classpath="${FALCON_HOME}/lib/falcon-flexTasks.jar"/>
+ <taskdef resource="flexTasks.tasks" classpath="${FALCONJX_HOME}/lib/falcon-flexTasks.jar"/>
</target>
<target name="basictests" depends="check-flex-home,load-task" description="run basic tests using mustella">
<property name="FLEX_HOME" value="${basedir}" />
<mxmlc fork="true" debug="true"
+ closure-lib="${env.GOOG_HOME}"
file="${basedir}/mustella/tests/basicTests/BasicTestsApp.mxml">
<jvmarg line="${mxmlc.jvm.args}"/>
- <arg line="-compiler.mxml.children-as-data=true" />
- <arg line="-compiler.info.flex=false" />
- <library-path dir="${FLEX_SDK_HOME}" append="true">
+ <swf-library-path dir="${FLEX_SDK_HOME}" append="true">
<include name="mustella/mustella.swc"/>
<include name="frameworks/libs/framework.swc"/>
<include name="frameworks/locale/en_US/framework_rb.swc"/>
- </library-path>
+ </swf-library-path>
+ <js-external-library-path dir="${env.PLAYERGLOBAL_HOME}">
+ <include name="${playerglobal.version}/playerglobal.swc"/>
+ </js-external-library-path>
+ <js-library-path dir="${basedir}" >
+ <include name="frameworks/libs"/>
+ </js-library-path>
+ <js-library-path dir="${FLEX_SDK_HOME}" append="true">
+ <include name="mustella/mustella.swc"/>
+ <include name="frameworks/libs/framework.swc"/>
+ <include name="frameworks/locale/en_US/framework_rb.swc"/>
+ </js-library-path>
+ <arg value="-sdk-js-lib=${FLEXJS_HOME}/mustella/js" />
</mxmlc>
<mkdir dir="${basedir}/mustella/tests/basicTests/fonts" />
<copy todir="${basedir}/mustella/tests/basicTests/fonts" >
diff --git a/distribution/src/main/assembly/component.xml b/distribution/src/main/assembly/component.xml
index a27dc15..8a81182 100644
--- a/distribution/src/main/assembly/component.xml
+++ b/distribution/src/main/assembly/component.xml
@@ -264,11 +264,6 @@
<destName>svg-manifest-graphics.xml</destName>
</file>
<file>
- <source>../frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml</source>
- <outputDirectory>frameworks/manifests</outputDirectory>
- <destName>basic-as-manifest-html.xml</destName>
- </file>
- <file>
<source>../frameworks/projects/HTML/src/main/resources/basic-manifest.xml</source>
<outputDirectory>frameworks/manifests</outputDirectory>
<destName>basic-manifest-html.xml</destName>
diff --git a/examples/build.xml b/examples/build.xml
index 13e5a02..b4fac50 100644
--- a/examples/build.xml
+++ b/examples/build.xml
@@ -81,19 +81,25 @@
<ant dir="${basedir}/flexjs/DataBindingExample_as"/>
<ant dir="${basedir}/flexjs/DataBindingExample_Flat"/>
<ant dir="${basedir}/flexjs/DataGridExample"/>
+ <ant dir="${basedir}/flexjs/DateControlsExample"/>
<ant dir="${basedir}/flexjs/DesktopMap"/>
+ <ant dir="${basedir}/flexjs/FlexTeamPage_MDL"/>
<ant dir="${basedir}/flexjs/FlexWebsiteStatsViewer"/>
<ant dir="${basedir}/flexjs/FlexJSStore"/>
<ant dir="${basedir}/flexjs/FlexJSStore_jquery"/>
<ant dir="${basedir}/flexjs/HelloWorld"/>
+ <ant dir="${basedir}/flexjs/ListExample"/>
<ant dir="${basedir}/flexjs/MapSearch"/>
+ <ant dir="${basedir}/flexjs/MDLExample"/>
<ant dir="${basedir}/flexjs/MobileMap"/>
<ant dir="${basedir}/flexjs/MobileStocks"/>
<ant dir="${basedir}/flexjs/MobileTrader"/>
<ant dir="${basedir}/flexjs/ChartExample"/>
<ant dir="${basedir}/flexjs/StorageExample"/>
<ant dir="${basedir}/flexjs/StyleExample"/>
+ <ant dir="${basedir}/flexjs/TableExample"/>
<ant dir="${basedir}/flexjs/TodoListSampleApp"/>
+ <ant dir="${basedir}/flexjs/TeamPage"/>
<ant dir="${basedir}/flexjs/TreeExample"/>
<ant dir="${basedir}/native/ButtonExample"/>
<ant dir="${basedir}/native/USStatesMap"/>
@@ -117,19 +123,25 @@
<ant dir="${basedir}/flexjs/DataBindingExample_as" target="clean"/>
<ant dir="${basedir}/flexjs/DataBindingExample_Flat" target="clean"/>
<ant dir="${basedir}/flexjs/DataGridExample" target="clean"/>
+ <ant dir="${basedir}/flexjs/DateControlsExample" target="clean"/>
<ant dir="${basedir}/flexjs/DesktopMap" target="clean"/>
+ <ant dir="${basedir}/flexjs/FlexTeamPage_MDL" target="clean"/>
<ant dir="${basedir}/flexjs/FlexWebsiteStatsViewer" target="clean"/>
<ant dir="${basedir}/flexjs/FlexJSStore" target="clean"/>
<ant dir="${basedir}/flexjs/FlexJSStore_jquery" target="clean"/>
<ant dir="${basedir}/flexjs/HelloWorld" target="clean"/>
+ <ant dir="${basedir}/flexjs/ListExample" target="clean"/>
<ant dir="${basedir}/flexjs/MapSearch" target="clean"/>
+ <ant dir="${basedir}/flexjs/MDLExample" target="clean"/>
<ant dir="${basedir}/flexjs/MobileTrader" target="clean"/>
<ant dir="${basedir}/flexjs/MobileStocks" target="clean"/>
<ant dir="${basedir}/flexjs/MobileMap" target="clean"/>
<ant dir="${basedir}/flexjs/ChartExample" target="clean"/>
<ant dir="${basedir}/flexjs/StorageExample" target="clean"/>
<ant dir="${basedir}/flexjs/StyleExample" target="clean"/>
+ <ant dir="${basedir}/flexjs/TableExample" target="clean"/>
<ant dir="${basedir}/flexjs/TodoListSampleApp" target="clean"/>
+ <ant dir="${basedir}/flexjs/TeamPage" target="clean"/>
<ant dir="${basedir}/flexjs/TreeExample" target="clean"/>
<ant dir="${basedir}/native/ButtonExample" target="clean"/>
<ant dir="${basedir}/native/USStatesMap" target="clean"/>
diff --git a/examples/build_example.xml b/examples/build_example.xml
index 79a7e64..8dfd9a9 100644
--- a/examples/build_example.xml
+++ b/examples/build_example.xml
@@ -93,35 +93,33 @@
</condition>
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="jsc.jar"/>
</path>
<target name="compile" description="Compiles ${example}">
<echo message="Compiling ${example}.swf"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+ <echo message="GOOG_HOME: ${GOOG_HOME}"/>
+ <available file="${basedir}/src/main/config/compile-app-config.xml"
+ type="file"
+ property="optional_arg" value="-load-config+="${basedir}/src/main/config/compile-app-config.xml"" />
<!-- Load the <compc> task. We can't do this at the <project> level -->
<!-- because targets that run before flexTasks.jar gets built would fail. -->
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
- <!-- this is a dummy var placeholder in case some example needs to define a theme
- then they would set theme_arg=-theme=<path to theme> -->
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
+ <property name="config_arg" value="flex" />
+ <property name="file_suffix" value="mxml" />
+ <property name="optional_arg" value="-define=CONFIG::dummy,true" />
<mxmlc fork="true"
- file="${basedir}/src/main/flex/${example}.mxml"
+ debug="true"
+ configname="${config_arg}"
+ closure-lib="${GOOG_HOME}"
+ file="${basedir}/src/main/flex/${example}.${file_suffix}"
output="${basedir}/bin-debug/${example}.swf">
<jvmarg line="${mxmlc.jvm.args}"/>
- <arg value="+flexlib=${basedir}/frameworks" />
- <arg value="-debug" />
- <arg value="${theme_arg}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+ <arg line="${optional_arg}" />
</mxmlc>
<html-wrapper
@@ -140,226 +138,22 @@
<include name="**/*.swf" />
</fileset>
</copy>
+ <antcall target="build_example.compile-js-release" />
</target>
- <target name="compileair" description="Compiles ${example}">
- <echo message="Compiling ${example}.swf"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-
- <!-- Load the <compc> task. We can't do this at the <project> level -->
- <!-- because targets that run before flexTasks.jar gets built would fail. -->
- <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
+ <target name="compile-js-release">
+ <property name="js.release.target" value="JSFlex" />
<mxmlc fork="true"
- file="${basedir}/src/main/flex/${example}.mxml"
- output="${basedir}/bin-debug/${example}.swf">
+ debug="false"
+ configname="${config_arg}"
+ closure-lib="${GOOG_HOME}"
+ file="${basedir}/src/main/flex/${example}.${file_suffix}"
+ output="${basedir}/bin-release/${example}.swf">
<jvmarg line="${mxmlc.jvm.args}"/>
- <arg value="+flexlib=${basedir}/frameworks" />
- <arg value="+configname=air" />
- <arg value="-debug" />
- <arg value="${theme_arg}" />
- <arg value="-target-player=${playerglobal.version}" />
- <arg value="-swf-version=${swf.version}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+ <arg line="${optional_arg}" />
</mxmlc>
-
- <antcall target="build_example.copy-resources" />
- <copy todir="${basedir}/bin-debug">
- <fileset dir="${basedir}">
- <include name="*-app.xml" />
- </fileset>
- </copy>
</target>
- <target name="compileas" description="Compiles ${example}">
- <echo message="Compiling ${example}.swf"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
-
- <!-- Load the <compc> task. We can't do this at the <project> level -->
- <!-- because targets that run before flexTasks.jar gets built would fail. -->
- <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
- <mxmlc fork="true"
- file="${basedir}/src/main/flex/${example}.as"
- output="${basedir}/bin-debug/${example}.swf">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <arg value="+flexlib=${basedir}/frameworks" />
- <arg value="-debug" />
- <arg value="${theme_arg}" />
- <arg value="-define=CONFIG::as_only,true" />
- <arg value="-define=CONFIG::js_only,false" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- </mxmlc>
-
- <html-wrapper
- height="300"
- width="400"
- bgcolor="#ffffff"
- name="${example}"
- versionmajor="11"
- versionminor="1"
- versionrevision="0"
- output="${basedir}/bin-debug"/>
-
- </target>
-
- <target name="compilejs" description="Cross-compiles ${example}" unless="no.js">
- <echo message="Compiling ${example}.js"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
- <echo message="GOOG_HOME: ${GOOG_HOME}"/>
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
- <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
- <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
- <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-
- <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
- fork="true">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
- <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
- <arg value="-debug=false" />
- <arg value="${theme_arg}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- <arg value="${extlib_arg}" />
- <arg value="${opt1_arg}" />
- <arg value="${opt2_arg}" />
- <arg value="-js-output-type=FLEXJS" />
- <arg value="-closure-lib=${GOOG_HOME}" />
- <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
- <arg value="${basedir}/src/main/flex/${example}.mxml" />
- </java>
- <fail>
- <condition>
- <not>
- <or>
- <equals arg1="${errorCode}" arg2="0" />
- <equals arg1="${errorCode}" arg2="2" />
- </or>
- </not>
- </condition>
- </fail>
- </target>
-
- <target name="compilejsair" description="Cross-compiles ${example}" unless="no.js">
- <echo message="Compiling ${example}.js"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
- <echo message="GOOG_HOME: ${GOOG_HOME}"/>
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
- <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
- <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
- <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-
- <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
- fork="true">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
- <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
- <arg value="+configname=air" />
- <arg value="-debug=false" />
- <arg value="${theme_arg}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- <arg value="${extlib_arg}" />
- <arg value="${opt1_arg}" />
- <arg value="${opt2_arg}" />
- <arg value="-js-output-type=FLEXJS" />
- <arg value="-closure-lib=${GOOG_HOME}" />
- <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
- <arg value="${basedir}/src/main/flex/${example}.mxml" />
- </java>
- <fail>
- <condition>
- <not>
- <or>
- <equals arg1="${errorCode}" arg2="0" />
- <equals arg1="${errorCode}" arg2="2" />
- </or>
- </not>
- </condition>
- </fail>
- </target>
-
- <target name="compileasjs" description="Cross-compiles ${example}" unless="no.js">
- <echo message="Compiling ${example}.js"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
- <echo message="GOOG_HOME: ${GOOG_HOME}"/>
- <property name="theme_arg" value="-define=CONFIG::theme,false" />
- <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
- <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
- <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
-
- <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
- fork="true">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
- <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
- <arg value="-debug=false" />
- <arg value="${theme_arg}" />
- <arg value="-define=CONFIG::as_only,false" />
- <arg value="-define=CONFIG::js_only,true" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="-compiler.binding-event-handler-interface=org.apache.flex.events.IEventDispatcher" />
- <arg value="-compiler.binding-event-handler-class=org.apache.flex.events.EventDispatcher" />
- <arg value="-compiler.binding-event-handler-event=org.apache.flex.events.Event" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- <arg value="${extlib_arg}" />
- <arg value="${opt1_arg}" />
- <arg value="${opt2_arg}" />
- <arg value="-js-output-type=FLEXJS" />
- <arg value="-closure-lib=${GOOG_HOME}" />
- <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources" />
- <arg value="${basedir}/src/main/flex/${example}.as" />
- </java>
- <fail>
- <condition>
- <not>
- <or>
- <equals arg1="${errorCode}" arg2="0" />
- <equals arg1="${errorCode}" arg2="2" />
- </or>
- </not>
- </condition>
- </fail>
- </target>
-
<macrodef name="html-wrapper">
<attribute name="width"/>
<attribute name="height"/>
diff --git a/examples/express/DataBindingExample/build.xml b/examples/express/DataBindingExample/build.xml
index 6739bb6..6f58f1a 100644
--- a/examples/express/DataBindingExample/build.xml
+++ b/examples/express/DataBindingExample/build.xml
@@ -27,11 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/express/DataBindingExample/pom.xml b/examples/express/DataBindingExample/pom.xml
index 958cda3..bf040ce 100644
--- a/examples/express/DataBindingExample/pom.xml
+++ b/examples/express/DataBindingExample/pom.xml
@@ -62,6 +62,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/express/pom.xml b/examples/express/pom.xml
index e991497..70ca739 100644
--- a/examples/express/pom.xml
+++ b/examples/express/pom.xml
@@ -78,10 +78,24 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Express</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Language</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Language</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<!-- Import the shared unit-tests we want to run on all examples -->
<dependency>
diff --git a/examples/flexjs/ASDoc/build.xml b/examples/flexjs/ASDoc/build.xml
index e6e8fd4..37c1da0 100644
--- a/examples/flexjs/ASDoc/build.xml
+++ b/examples/flexjs/ASDoc/build.xml
@@ -27,11 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="build_example.compile" description="Clean build of ${example}">
<available file="${basedir}/bin-debug/classes.json"
type="file"
property="json.exists"/>
@@ -55,7 +54,7 @@
<arg value="-external-library-path=${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" />
<arg value="-external-library-path+=${FLEXJS_HOME}/js/libs/google_maps.swc" />
<arg value="+frameworks_dir=${FLEXJS_HOME}/frameworks" />
- <arg value="-load-config=${basedir}/src/main/config/asdoc-config.xml" />
+ <arg value="-load-config="${basedir}/src/main/config/asdoc-config.xml"" />
<arg value="-debug=true" />
<arg value="-output=${basedir}/bin-debug" />
<arg value="-window-title=Apache FlexJS API Reference" />
diff --git a/examples/flexjs/ASDoc/pom.xml b/examples/flexjs/ASDoc/pom.xml
index 9039b94..42c49fb 100644
--- a/examples/flexjs/ASDoc/pom.xml
+++ b/examples/flexjs/ASDoc/pom.xml
@@ -55,6 +55,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<dependency>
<groupId>com.adobe.flash.framework</groupId>
diff --git a/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml b/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
index 912f9c5..fe29e1c 100644
--- a/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
+++ b/examples/flexjs/ASDoc/src/main/config/asdoc-config.xml
@@ -62,6 +62,7 @@
<path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>
+ <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>
@@ -96,6 +97,12 @@
</include-libraries>
-->
+ <allow-subclass-overrides>true</allow-subclass-overrides>
+
+ <mxml>
+ <children-as-data>true</children-as-data>
+ </mxml>
+
<!-- List of SWC files or directories that contain SWC files. -->
<library-path>
<path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
@@ -105,6 +112,10 @@
<namespaces>
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
+ <manifest>${frameworks_dir}/projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+ </namespace>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/basic</uri>
<manifest>${frameworks_dir}/projects/Binding/src/main/resources/basic-manifest.xml</manifest>
</namespace>
<namespace>
@@ -165,7 +176,7 @@
</namespace>
<namespace>
<uri>library://ns.apache.org/flexjs/svg</uri>
- <manifest>${frameworks_dir}/projects/HTML/src/main/resources/svg-manifest.xml</manifest>
+ <manifest>${frameworks_dir}/projects/Basic/src/main/resources/svg-manifest.xml</manifest>
</namespace>
</namespaces>
@@ -459,6 +470,7 @@
<path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex/org</path-element>
<path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>
+ <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>
diff --git a/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml b/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/ASDoc/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipAsCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/ChartExample/build.xml b/examples/flexjs/ChartExample/build.xml
index 24d793f..567320c 100644
--- a/examples/flexjs/ChartExample/build.xml
+++ b/examples/flexjs/ChartExample/build.xml
@@ -29,27 +29,8 @@
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<include file="${basedir}/../../build_example.xml" />
-
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
-<!-- temp remove build_example.compilejs -->
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/ChartExample/pom.xml b/examples/flexjs/ChartExample/pom.xml
index 73460f8..82f878e 100644
--- a/examples/flexjs/ChartExample/pom.xml
+++ b/examples/flexjs/ChartExample/pom.xml
@@ -68,6 +68,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Charts</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/CordovaCameraExample/build.xml b/examples/flexjs/CordovaCameraExample/build.xml
index 0a7a08f..6d4d635 100644
--- a/examples/flexjs/CordovaCameraExample/build.xml
+++ b/examples/flexjs/CordovaCameraExample/build.xml
@@ -33,6 +33,7 @@
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="AIR_HOME" value="${env.AIR_HOME}"/>
+ <property name="config_arg" value="air"/>
<condition property="adl" value="adl.exe">
@@ -53,11 +54,10 @@
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
- <echo>playerglobal.version = ${playerglobal.version}</echo>
<delete dir="${basedir}/bin" failonerror="false" />
<delete dir="${basedir}/bin-debug" failonerror="false" />
<delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/CordovaCameraExample/pom.xml b/examples/flexjs/CordovaCameraExample/pom.xml
index 46c950b..00feb28 100644
--- a/examples/flexjs/CordovaCameraExample/pom.xml
+++ b/examples/flexjs/CordovaCameraExample/pom.xml
@@ -66,6 +66,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Mobile</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/CreateJSExample/build.xml b/examples/flexjs/CreateJSExample/build.xml
index 514f257..3f8fead 100644
--- a/examples/flexjs/CreateJSExample/build.xml
+++ b/examples/flexjs/CreateJSExample/build.xml
@@ -27,29 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/createjs.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/createjs.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/createjs.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/createjs.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/createjs/target/createjs.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/CreateJSExample/pom.xml b/examples/flexjs/CreateJSExample/pom.xml
index 9e918df..5ec8eb4 100644
--- a/examples/flexjs/CreateJSExample/pom.xml
+++ b/examples/flexjs/CreateJSExample/pom.xml
@@ -68,6 +68,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>CreateJS</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<dependency>
<groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml b/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d5e7156
--- /dev/null
+++ b/examples/flexjs/CreateJSExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipFunctionCoercions</optimization>
+ </js-output-optimization>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/createjs.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample/build.xml b/examples/flexjs/DataBindingExample/build.xml
index 6739bb6..3433c3d 100644
--- a/examples/flexjs/DataBindingExample/build.xml
+++ b/examples/flexjs/DataBindingExample/build.xml
@@ -31,7 +31,7 @@
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/DataBindingExample/pom.xml b/examples/flexjs/DataBindingExample/pom.xml
index 58ff0fa..d31bf2c 100644
--- a/examples/flexjs/DataBindingExample/pom.xml
+++ b/examples/flexjs/DataBindingExample/pom.xml
@@ -62,6 +62,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..b4290dc
--- /dev/null
+++ b/examples/flexjs/DataBindingExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipFunctionCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml b/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
index c8d4b81..84f6f26 100644
--- a/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
+++ b/examples/flexjs/DataBindingExample/src/main/flex/MyInitialView.mxml
@@ -146,7 +146,7 @@
<js:Label id="bindtest" text="{fieldText + ' expression binding'}" />
<js:Label width="300" text.showAll="110" includeIn="showAll" />
- <js:TextArea id="ta" width="100%" height="100" height.showAll="110"
+ <js:TextArea id="ta" width="300" height="100" height.showAll="110"
includeIn="showAll"
text="{MyModel(applicationModel).allData}" />
</js:View>
diff --git a/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as b/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
index b7d52bd..6487908 100644
--- a/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
+++ b/examples/flexjs/DataBindingExample/src/main/flex/controllers/MyController.as
@@ -42,8 +42,8 @@
private var service:HTTPService;
private var collection:LazyCollection;
- private var queryBegin:String = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22";
- private var queryEnd:String = "%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json";
+ private var queryBegin:String = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22";
+ private var queryEnd:String = "%22)%0A%09%09&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&format=json";
private function viewChangeHandler(event:Event):void
{
diff --git a/examples/flexjs/DataBindingExample_Flat/build.xml b/examples/flexjs/DataBindingExample_Flat/build.xml
index 730b4a3..2540061 100644
--- a/examples/flexjs/DataBindingExample_Flat/build.xml
+++ b/examples/flexjs/DataBindingExample_Flat/build.xml
@@ -22,8 +22,6 @@
<project name="databindingexample_flat" default="main" basedir=".">
<property name="FLEXJS_HOME" location="../../.."/>
<property name="example" value="DataBindingExample" />
- <property name="theme_arg" value="-theme=${FLEXJS_HOME}/frameworks/libs/Flat.swc" />
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<property file="${FLEXJS_HOME}/env.properties"/>
<property environment="env"/>
@@ -32,7 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/DataBindingExample_Flat/pom.xml b/examples/flexjs/DataBindingExample_Flat/pom.xml
index 60a1f39..fdef2d0 100644
--- a/examples/flexjs/DataBindingExample_Flat/pom.xml
+++ b/examples/flexjs/DataBindingExample_Flat/pom.xml
@@ -114,10 +114,24 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Flat</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<!-- This dependency is needed by the war plugin to add the overlay -->
<dependency>
diff --git a/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..e15c6d5
--- /dev/null
+++ b/examples/flexjs/DataBindingExample_Flat/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipAsCoercions</optimization>
+ </js-output-optimization>
+ <compiler>
+ <theme>
+ <filename>../../../../../../frameworks/libs/Flat.swc</filename>
+ </theme>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample_as/build.xml b/examples/flexjs/DataBindingExample_as/build.xml
index 282506d..4c63dab 100644
--- a/examples/flexjs/DataBindingExample_as/build.xml
+++ b/examples/flexjs/DataBindingExample_as/build.xml
@@ -27,11 +27,11 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
+ <property name="file_suffix" value="as"/>
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compileas,build_example.compileasjs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/DataBindingExample_as/pom.xml b/examples/flexjs/DataBindingExample_as/pom.xml
index 8644723..5189b55 100644
--- a/examples/flexjs/DataBindingExample_as/pom.xml
+++ b/examples/flexjs/DataBindingExample_as/pom.xml
@@ -89,6 +89,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml b/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/DataBindingExample_as/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipAsCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as b/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
index 95609cd..93b30c6 100644
--- a/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
+++ b/examples/flexjs/DataBindingExample_as/src/main/flex/DataBindingExample.as
@@ -126,7 +126,7 @@
iViewportModel: ViewportModel
};
- CONFIG::as_only {
+ COMPILE::SWF {
o.iBackgroundBead = SolidBackgroundBead;
o.iBorderBead = SingleLineBorderBead;
}
@@ -151,7 +151,7 @@
border: [1, "solid", 0x000000],
padding: 4
};
- CONFIG::as_only {
+ COMPILE::SWF {
o.iBeadView = CSSButtonView;
}
@@ -169,7 +169,7 @@
padding: 4
};
- CONFIG::as_only {
+ COMPILE::SWF {
viv["org.apache.flex.html::CheckBox"] =
{
iBeadModel: ToggleButtonModel,
@@ -280,7 +280,7 @@
private function makeDefinitionName(s:String):String
{
- CONFIG::js_only {
+ COMPILE::JS {
s = s.replace("::", ".");
}
return s;
diff --git a/examples/flexjs/DataGridExample/build.xml b/examples/flexjs/DataGridExample/build.xml
index b21cc0f..b9f366a 100644
--- a/examples/flexjs/DataGridExample/build.xml
+++ b/examples/flexjs/DataGridExample/build.xml
@@ -30,25 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<mkdir dir="${basedir}/bin/js-debug/assets" />
<copy todir="${basedir}/bin/js-debug/assets" >
<fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/DateControlsExample/build.xml b/examples/flexjs/DateControlsExample/build.xml
index df39239..f92ce92 100644
--- a/examples/flexjs/DateControlsExample/build.xml
+++ b/examples/flexjs/DateControlsExample/build.xml
@@ -30,25 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/DateControlsExample/pom.xml b/examples/flexjs/DateControlsExample/pom.xml
index 98c0e37..d786fc4 100644
--- a/examples/flexjs/DateControlsExample/pom.xml
+++ b/examples/flexjs/DateControlsExample/pom.xml
@@ -65,6 +65,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Formatters</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/DesktopMap/build.xml b/examples/flexjs/DesktopMap/build.xml
index 7430444..b790bfe 100644
--- a/examples/flexjs/DesktopMap/build.xml
+++ b/examples/flexjs/DesktopMap/build.xml
@@ -32,6 +32,7 @@
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="AIR_HOME" value="${env.AIR_HOME}"/>
+ <property name="config_arg" value="air"/>
<condition property="adl" value="adl.exe">
<os family="windows"/>
@@ -51,14 +52,10 @@
<include file="${basedir}/../../build_example.xml" />
- <property name="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc"/>
- <property name="opt1_arg" value="-remove-circulars" />
-
- <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
- <echo>playerglobal.version = ${playerglobal.version}</echo>
<delete dir="${basedir}/bin" failonerror="false" />
<delete dir="${basedir}/bin-debug" failonerror="false" />
<delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/DesktopMap/pom.xml b/examples/flexjs/DesktopMap/pom.xml
index 97636c3..e8c7a57 100644
--- a/examples/flexjs/DesktopMap/pom.xml
+++ b/examples/flexjs/DesktopMap/pom.xml
@@ -69,6 +69,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>GoogleMaps</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<dependency>
<groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml b/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/DesktopMap/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore/build.xml b/examples/flexjs/FlexJSStore/build.xml
index 81cd3cb..5e841ec 100644
--- a/examples/flexjs/FlexJSStore/build.xml
+++ b/examples/flexjs/FlexJSStore/build.xml
@@ -27,11 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipFunctionCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<mkdir dir="${basedir}/bin-debug/data" />
<copy file="${basedir}/src/main/resources/data/catalog.json" tofile="${basedir}/bin-debug/data/catalog.json" />
<mkdir dir="${basedir}/bin/js-debug/data" />
diff --git a/examples/flexjs/FlexJSStore/pom.xml b/examples/flexjs/FlexJSStore/pom.xml
index 5a1e60b..f01d9eb 100644
--- a/examples/flexjs/FlexJSStore/pom.xml
+++ b/examples/flexjs/FlexJSStore/pom.xml
@@ -69,6 +69,19 @@
<type>swc</type>
<scope>provided</scope>
</dependency>
+ <!--
+ By declaring this dependency here, we force the flexjs-externs-js to be
+ added to the external library path of all modules. Without this it would
+ have gone to the library path.
+ -->
+ <dependency>
+ <groupId>org.apache.flex.flexjs.typedefs</groupId>
+ <artifactId>flexjs-typedefs-js</artifactId>
+ <version>${flexjs.typedefs.version}</version>
+ <type>swc</type>
+ <classifier>typedefs</classifier>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -78,22 +91,50 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>DragDrop</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Effects</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Effects</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Formatters</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Formatters</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml b/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..b4290dc
--- /dev/null
+++ b/examples/flexjs/FlexJSStore/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipFunctionCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml b/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
index 37d41cb..17b8632 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/FlexJSStore.mxml
@@ -250,6 +250,9 @@
click="headToSupport()"/>
</js:ControlBar>
<js:Group width="990" id="viewholder">
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles paddingLeft="0" paddingRight="0"/>
</js:style>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
index 484b970..ab10fa0 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/HomeView.mxml
@@ -32,7 +32,7 @@
-->
<js:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
- xmlns="*" width="990" height="550"
+ xmlns="*"
initComplete="updateMapImage()">
<fx:Script>
<![CDATA[
@@ -47,6 +47,7 @@
</fx:Script>
<js:beads>
<js:ContainerDataBinding />
+ <js:BasicLayout />
</js:beads>
<js:Group width="100%" height="100%" y="0" x="0" className="colorPanel">
<js:beads>
@@ -57,8 +58,13 @@
<js:VerticalLayout />
</js:beads>
<js:Group width="100%" height="100%">
-
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:Group height="60" className="homeSection">
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles backgroundColor="#ebebe9" left="10" top="10" right="10"/>
</js:style>
@@ -68,6 +74,9 @@
</js:Group>
<js:Group height="280" className="homeSection">
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles backgroundColor="#ffffff" left="10" top="78" right="10" />
</js:style>
@@ -97,12 +106,15 @@
<js:Group height="174" className="homeSection">
<js:beads>
- <js:VerticalLayout />
+ <js:BasicLayout />
</js:beads>
<js:style>
<js:SimpleCSSStyles backgroundColor="#ebebe9" left="10" top="366" right="10" />
</js:style>
<js:Group width="100%" height="100%">
+ <js:beads>
+ <js:VerticalLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles left="10" top="10" />
</js:style>
@@ -114,21 +126,18 @@
<js:beads>
<js:HorizontalLayout />
</js:beads>
- <js:style>
- <js:SimpleCSSStyles verticalAlign="middle" />
- </js:style>
<js:TextInput height="20" width="40">
<js:beads>
<js:NumericOnlyTextInputBead/>
</js:beads>
</js:TextInput>
- <js:HRule width="8" height="2"/>
+ <js:HRule width="8" height="2" style="verticalAlign:'middle'"/>
<js:TextInput height="20" width="40">
<js:beads>
<js:NumericOnlyTextInputBead/>
</js:beads>
</js:TextInput>
- <js:HRule width="8" height="2"/>
+ <js:HRule width="8" height="2" style="verticalAlign:'middle'"/>
<js:TextInput height="20" width="40">
<js:beads>
<js:NumericOnlyTextInputBead/>
@@ -137,7 +146,7 @@
</js:Group>
<js:Label text="Password"/>
- <js:TextInput height="20">
+ <js:TextInput id="password" height="20">
<js:beads>
<js:PasswordInputBead/>
</js:beads>
@@ -161,9 +170,15 @@
<js:VerticalLayout />
</js:beads>
<js:Group width="100%" height="100%">
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<!-- can't use binding to set the mapImage source because the style isn't available early enough -->
<js:Group id="mapCanvas" height="35%" className="homeMap">
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles left="0" right="10" top="10" />
</js:style>
@@ -175,6 +190,9 @@
</js:Group>
<js:Group height="330" >
+ <js:beads>
+ <js:BasicLayout />
+ </js:beads>
<js:style>
<js:SimpleCSSStyles backgroundColor="#ffffff" borderStyle="solid" bottom="10" right="10" left="0" /> <!-- cornerRadius="4" -->
</js:style>
@@ -189,42 +207,24 @@
<js:beads>
<js:VerticalLayout />
</js:beads>
- <js:Group width="100%">
- <js:Image id="image1" src="assets/akotter.jpg" style="margin:auto;verticalCenter:0"/>
- </js:Group>
-
- <js:Group width="100%">
- <js:Label text="Annette Kotter" id="feat_prod_1" style="margin:auto;fontWeight:'bold';fontSize:12"/>
- </js:Group>
-
+ <js:Image id="image1" src="assets/akotter.jpg" style="margin:auto;"/>
+ <js:Label text="Annette Kotter" id="feat_prod_1" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
</js:Group>
<js:Group width="33%" height="100%">
<js:beads>
<js:VerticalLayout />
</js:beads>
- <js:Group width="100%">
- <js:Image id="image2" style="margin:auto;verticalCenter:0" src="assets/bcrater.jpg"/>
- </js:Group>
-
- <js:Group width="100%">
- <js:Label text="Ben Crater" id="feat_prod_2" style="margin:auto;fontWeight:'bold';fontSize:12"/>
- </js:Group>
-
+ <js:Image id="image2" style="margin:auto;" src="assets/bcrater.jpg"/>
+ <js:Label text="Ben Crater" id="feat_prod_2" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
</js:Group>
<js:Group width="33%" height="100%">
<js:beads>
<js:VerticalLayout />
</js:beads>
- <js:Group width="100%">
- <js:Image id="image3" style="margin:auto;verticalCenter:0" src="assets/jproctor.jpg"/>
- </js:Group>
-
- <js:Group width="100%">
- <js:Label text="Jane Proctor" id="feat_prod_3" style="margin:auto;fontWeight:'bold';fontSize:12"/>
- </js:Group>
-
+ <js:Image id="image3" style="margin:auto;" src="assets/jproctor.jpg"/>
+ <js:Label text="Jane Proctor" id="feat_prod_3" style="textAlign:center;fontWeight:'bold';fontSize:12;"/>
</js:Group>
</js:Group>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
index 579de46..0a38b28 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/ProductsView.mxml
@@ -23,7 +23,6 @@
<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns:productsView="productsView.*"
- width="990" height="550"
currentState="showFilter"
>
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml b/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
index 3d02179..439c153 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/SupportView.mxml
@@ -32,7 +32,7 @@
<js:Container xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns="*" alpha="1.0"
- width="990" height="550">
+ >
<fx:Script>
<![CDATA[
diff --git a/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml b/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
index 8d7d827..e869a0b 100755
--- a/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
+++ b/examples/flexjs/FlexJSStore/src/main/flex/productsView/ProductCatalogThumbnail.mxml
@@ -101,7 +101,6 @@
var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
dragEvent.clientX = dragStartPoint.x;
dragEvent.clientY = dragStartPoint.y;
- dragEvent.buttonDown = true;
dispatchEvent(dragEvent);
rollOutHandler(event);
diff --git a/examples/flexjs/FlexJSStore_jquery/build.xml b/examples/flexjs/FlexJSStore_jquery/build.xml
index ac61b45..5e841ec 100644
--- a/examples/flexjs/FlexJSStore_jquery/build.xml
+++ b/examples/flexjs/FlexJSStore_jquery/build.xml
@@ -30,26 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/jquery.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/jquery.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/jquery.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/jquery.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/jquery/out/bin/jquery-1.9.swc"/>
- <property name="opt1_arg" value="-js-output-optimization=skipFunctionCoercions" />
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<mkdir dir="${basedir}/bin-debug/data" />
<copy file="${basedir}/src/main/resources/data/catalog.json" tofile="${basedir}/bin-debug/data/catalog.json" />
<mkdir dir="${basedir}/bin/js-debug/data" />
diff --git a/examples/flexjs/FlexJSStore_jquery/pom.xml b/examples/flexjs/FlexJSStore_jquery/pom.xml
index 4d69be0..8610ba0 100644
--- a/examples/flexjs/FlexJSStore_jquery/pom.xml
+++ b/examples/flexjs/FlexJSStore_jquery/pom.xml
@@ -79,27 +79,62 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>DragDrop</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Effects</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Effects</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Formatters</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Formatters</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>JQuery</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>JQuery</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
+ <classifier>js</classifier>
</dependency>
<dependency>
diff --git a/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml b/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..0e2b391
--- /dev/null
+++ b/examples/flexjs/FlexJSStore_jquery/src/main/config/compile-app-config.xml
@@ -0,0 +1,28 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipFunctionCoercions</optimization>
+ </js-output-optimization>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/jquery.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml b/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
index 8d7d827..e869a0b 100755
--- a/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
+++ b/examples/flexjs/FlexJSStore_jquery/src/main/flex/productsView/ProductCatalogThumbnail.mxml
@@ -101,7 +101,6 @@
var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
dragEvent.clientX = dragStartPoint.x;
dragEvent.clientY = dragStartPoint.y;
- dragEvent.buttonDown = true;
dispatchEvent(dragEvent);
rollOutHandler(event);
diff --git a/examples/flexjs/FlexTeamPage_MDL/build.xml b/examples/flexjs/FlexTeamPage_MDL/build.xml
index e711b0e..e9207c7 100644
--- a/examples/flexjs/FlexTeamPage_MDL/build.xml
+++ b/examples/flexjs/FlexTeamPage_MDL/build.xml
@@ -27,12 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-compiler.exclude-defaults-css-files=HTML.swc:defaults.css" />
- <property name="opt2_arg" value="-html-template=${basedir}/src/main/resources/mdl-js-index-template.html" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<mkdir dir="${basedir}/bin/js-debug/assets" />
<copy todir="${basedir}/bin/js-debug/assets" >
<fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/FlexTeamPage_MDL/pom.xml b/examples/flexjs/FlexTeamPage_MDL/pom.xml
index 4a27c04..512ba7e 100644
--- a/examples/flexjs/FlexTeamPage_MDL/pom.xml
+++ b/examples/flexjs/FlexTeamPage_MDL/pom.xml
@@ -71,15 +71,36 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>MaterialDesignLite</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>FontAwesome</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>FontAwesome</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
+ <classifier>js</classifier>
</dependency>
<!-- Needed for Flash compilation -->
diff --git a/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml b/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cba31b7
--- /dev/null
+++ b/examples/flexjs/FlexTeamPage_MDL/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <exclude-defaults-css-files>
+ <filename>HTML.swc:defaults.css</filename>
+ </exclude-defaults-css-files>
+ </compiler>
+ <html-template>../resources/mdl-js-index-template.html</html-template>
+</flex-config>
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/build.xml b/examples/flexjs/FlexWebsiteStatsViewer/build.xml
index 8342b3d..d76519b 100644
--- a/examples/flexjs/FlexWebsiteStatsViewer/build.xml
+++ b/examples/flexjs/FlexWebsiteStatsViewer/build.xml
@@ -30,8 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
-<!-- temp remove build_example.compilejs -->
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/pom.xml b/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
index 801d6c3..9a596d2 100644
--- a/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
+++ b/examples/flexjs/FlexWebsiteStatsViewer/pom.xml
@@ -65,10 +65,24 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Charts</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Charts</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/HelloWorld/build.xml b/examples/flexjs/HelloWorld/build.xml
index 977e66f..797a98a 100644
--- a/examples/flexjs/HelloWorld/build.xml
+++ b/examples/flexjs/HelloWorld/build.xml
@@ -30,7 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/ListExample/build.xml b/examples/flexjs/ListExample/build.xml
index 645d79c..0cb3a20 100644
--- a/examples/flexjs/ListExample/build.xml
+++ b/examples/flexjs/ListExample/build.xml
@@ -30,25 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/ListExample/pom.xml b/examples/flexjs/ListExample/pom.xml
index 190702b..cc02992 100644
--- a/examples/flexjs/ListExample/pom.xml
+++ b/examples/flexjs/ListExample/pom.xml
@@ -52,6 +52,28 @@
</build>
<dependencies>
+ <!-- Already added in parent -->
+ <!--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>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+
<!-- Needed for Flash compilation -->
<dependency>
<groupId>com.adobe.flash.framework</groupId>
diff --git a/examples/flexjs/MDLDynamicTabsExample/pom.xml b/examples/flexjs/MDLDynamicTabsExample/pom.xml
index 2531f2b..47651d1 100644
--- a/examples/flexjs/MDLDynamicTabsExample/pom.xml
+++ b/examples/flexjs/MDLDynamicTabsExample/pom.xml
@@ -73,6 +73,14 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>MaterialDesignLite</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+
</dependencies>
</project>
\ No newline at end of file
diff --git a/examples/flexjs/MDLExample/build.xml b/examples/flexjs/MDLExample/build.xml
index 226b10d..7c94681 100644
--- a/examples/flexjs/MDLExample/build.xml
+++ b/examples/flexjs/MDLExample/build.xml
@@ -27,12 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-compiler.exclude-defaults-css-files=HTML.swc:defaults.css" />
- <property name="opt2_arg" value="-html-template=${basedir}/src/main/resources/mdl-js-index-template.html" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<mkdir dir="${basedir}/bin/js-debug/assets" />
<copy todir="${basedir}/bin/js-debug/assets" >
<fileset dir="${basedir}/src/main/resources/assets">
diff --git a/examples/flexjs/MDLExample/pom.xml b/examples/flexjs/MDLExample/pom.xml
index 2dc28f4..c91c98a 100644
--- a/examples/flexjs/MDLExample/pom.xml
+++ b/examples/flexjs/MDLExample/pom.xml
@@ -56,7 +56,7 @@
<configuration>
<mainClass>App.mxml</mainClass>
<htmlTemplate>${basedir}/target/javascript/bin/js-debug/mdl-js-index-template.html</htmlTemplate>
- <additionalCompilerOptions>-compiler.exclude-defaults-css-files=HTML-0.8.0-SNAPSHOT.swc:defaults.css</additionalCompilerOptions>
+ <additionalCompilerOptions>-compiler.exclude-defaults-css-files=Basic-0.8.0-SNAPSHOT-js.swc:defaults.css</additionalCompilerOptions>
</configuration>
</plugin>
</plugins>
@@ -69,6 +69,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>MaterialDesignLite</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<!-- Needed for Flash compilation -->
<dependency>
diff --git a/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml b/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cba31b7
--- /dev/null
+++ b/examples/flexjs/MDLExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <exclude-defaults-css-files>
+ <filename>HTML.swc:defaults.css</filename>
+ </exclude-defaults-css-files>
+ </compiler>
+ <html-template>../resources/mdl-js-index-template.html</html-template>
+</flex-config>
diff --git a/examples/flexjs/MapSearch/build.xml b/examples/flexjs/MapSearch/build.xml
index c812942..5643fab 100644
--- a/examples/flexjs/MapSearch/build.xml
+++ b/examples/flexjs/MapSearch/build.xml
@@ -32,6 +32,7 @@
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="AIR_HOME" value="${env.AIR_HOME}"/>
+ <property name="config_arg" value="air"/>
<condition property="adl" value="adl.exe">
<os family="windows"/>
@@ -51,30 +52,10 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/google_maps.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/google_maps.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/google_maps/out/bin/google_maps.swc"/>
- <property name="opt1_arg" value="-remove-circulars" />
-
- <target name="main" depends="clean,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
- <echo>playerglobal.version = ${playerglobal.version}</echo>
<delete dir="${basedir}/bin" failonerror="false" />
<delete dir="${basedir}/bin-debug" failonerror="false" />
<delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/MapSearch/pom.xml b/examples/flexjs/MapSearch/pom.xml
index 322e868..c58a0f1 100644
--- a/examples/flexjs/MapSearch/pom.xml
+++ b/examples/flexjs/MapSearch/pom.xml
@@ -73,6 +73,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>GoogleMaps</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<dependency>
<groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml b/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/MapSearch/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/MobileMap/build.xml b/examples/flexjs/MobileMap/build.xml
index ce2e376..2ce8d9d 100644
--- a/examples/flexjs/MobileMap/build.xml
+++ b/examples/flexjs/MobileMap/build.xml
@@ -29,29 +29,11 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-remove-circulars" />
+ <property name="config_arg" value="air" />
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/google_maps.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/google_maps.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/google_maps.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/google_maps.swc"/>
-
- <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="cordova" description="Executes the Cordova build script to create Cordova app">
diff --git a/examples/flexjs/MobileMap/pom.xml b/examples/flexjs/MobileMap/pom.xml
index e19255f..7a07308 100644
--- a/examples/flexjs/MobileMap/pom.xml
+++ b/examples/flexjs/MobileMap/pom.xml
@@ -73,11 +73,25 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Mobile</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>GoogleMaps</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>GoogleMaps</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
<groupId>org.apache.flex.flexjs.typedefs</groupId>
<artifactId>flexjs-typedefs-googlemaps</artifactId>
<version>${flexjs.typedefs.version}</version>
diff --git a/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml b/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..d542757
--- /dev/null
+++ b/examples/flexjs/MobileMap/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/google_maps.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/MobileStocks/build.xml b/examples/flexjs/MobileStocks/build.xml
index 62d465e..28b1e4b 100644
--- a/examples/flexjs/MobileStocks/build.xml
+++ b/examples/flexjs/MobileStocks/build.xml
@@ -32,6 +32,7 @@
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="AIR_HOME" value="${env.AIR_HOME}"/>
+ <property name="config_arg" value="air"/>
<condition property="adl" value="adl.exe">
<os family="windows"/>
@@ -51,31 +52,10 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/cordova.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/cordova.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/cordova.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/cordova/out/bin/cordova.swc"/>
- <property name="opt1_arg" value="-remove-circulars" />
-
-<!-- build_example.compileair, -->
- <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
- <echo>playerglobal.version = ${playerglobal.version}</echo>
<delete dir="${basedir}/bin" failonerror="false" />
<delete dir="${basedir}/bin-debug" failonerror="false" />
<delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/MobileStocks/pom.xml b/examples/flexjs/MobileStocks/pom.xml
index bed67e8..c6cecee 100644
--- a/examples/flexjs/MobileStocks/pom.xml
+++ b/examples/flexjs/MobileStocks/pom.xml
@@ -75,27 +75,62 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Charts</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Mobile</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Mobile</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Storage</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Storage</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>XML</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>XML</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/examples/flexjs/MobileTrader/build.xml b/examples/flexjs/MobileTrader/build.xml
index 81fd570..c34f553 100644
--- a/examples/flexjs/MobileTrader/build.xml
+++ b/examples/flexjs/MobileTrader/build.xml
@@ -26,7 +26,6 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-remove-circulars" />
<include file="${basedir}/../../build_example.xml" />
@@ -48,7 +47,7 @@
</condition>
<property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
- <target name="main" depends="clean,build_example.compile,build_example.compilejs,copyassets" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile,copyassets" description="Clean build of ${example}">
</target>
<target name="copyassets">
diff --git a/examples/flexjs/MobileTrader/pom.xml b/examples/flexjs/MobileTrader/pom.xml
index 73121a8..d9d4302 100644
--- a/examples/flexjs/MobileTrader/pom.xml
+++ b/examples/flexjs/MobileTrader/pom.xml
@@ -75,15 +75,36 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Charts</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Mobile</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Mobile</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Network</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml b/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..a8b73f5
--- /dev/null
+++ b/examples/flexjs/MobileTrader/src/main/config/compile-app-config.xml
@@ -0,0 +1,21 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+</flex-config>
diff --git a/examples/flexjs/StorageExample/build.xml b/examples/flexjs/StorageExample/build.xml
index 73ccdd7..a93bf25 100644
--- a/examples/flexjs/StorageExample/build.xml
+++ b/examples/flexjs/StorageExample/build.xml
@@ -32,6 +32,7 @@
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="AIR_HOME" value="${env.AIR_HOME}"/>
+ <property name="config_arg" value="air" />
<condition property="adl" value="adl.exe">
<os family="windows"/>
@@ -51,31 +52,10 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/cordova.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/cordova.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/cordova.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/cordova/out/bin/cordova.swc"/>
- <property name="opt1_arg" value="-remove-circulars" />
-
-<!-- build_example.compileair, -->
- <target name="main" depends="clean,build_example.compileair,build_example.compilejsair" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
- <echo>playerglobal.version = ${playerglobal.version}</echo>
<delete dir="${basedir}/bin" failonerror="false" />
<delete dir="${basedir}/bin-debug" failonerror="false" />
<delete dir="${basedir}/bin-release" failonerror="false" />
diff --git a/examples/flexjs/StorageExample/pom.xml b/examples/flexjs/StorageExample/pom.xml
index cdb4ab1..be6c608 100644
--- a/examples/flexjs/StorageExample/pom.xml
+++ b/examples/flexjs/StorageExample/pom.xml
@@ -66,6 +66,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Storage</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<dependency>
<groupId>org.apache.flex.flexjs.typedefs</groupId>
diff --git a/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml b/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..cc47563
--- /dev/null
+++ b/examples/flexjs/StorageExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,26 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+ <compiler>
+ <external-library-path append="true">
+ <path-element>../../../../../../js/libs/cordova.swc</path-element>
+ </external-library-path>
+ </compiler>
+</flex-config>
diff --git a/examples/flexjs/StyleExample/build.xml b/examples/flexjs/StyleExample/build.xml
index c9de1d0..09add5a 100644
--- a/examples/flexjs/StyleExample/build.xml
+++ b/examples/flexjs/StyleExample/build.xml
@@ -27,11 +27,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/StyleExample/pom.xml b/examples/flexjs/StyleExample/pom.xml
index 611c0a0..f7646ce 100644
--- a/examples/flexjs/StyleExample/pom.xml
+++ b/examples/flexjs/StyleExample/pom.xml
@@ -74,6 +74,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml b/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/StyleExample/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipAsCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as b/examples/flexjs/TableExample/README.txt
similarity index 68%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as
rename to examples/flexjs/TableExample/README.txt
index 8f04d11..1faac9c 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDataGridView.as
+++ b/examples/flexjs/TableExample/README.txt
@@ -16,21 +16,18 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
-
- /**
- * The IDataGridView interface marks as a component as being the bead that
- * can create the visual pieces for a org.apache.flex.html.DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IDataGridView extends IBeadView
- {
-
- }
-}
+
+DESCRIPTION
+
+The TableExample demonstrates the use of the Table component. Using Table, you
+can build column by row structured grids. When cross compiled to JavaScript, the
+Table component produces an HTML <table> structure.
+
+This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX)
+into JavaScript and HTML and run without Flash.
+
+COMPONENTS and BEADS
+
+- Table
+- TableRow
+- TableHeader and TableCell
diff --git a/examples/flexjs/TableExample/build.xml b/examples/flexjs/TableExample/build.xml
new file mode 100644
index 0000000..6a3df12
--- /dev/null
+++ b/examples/flexjs/TableExample/build.xml
@@ -0,0 +1,55 @@
+<?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="tableexample" default="main" basedir=".">
+ <property name="FLEXJS_HOME" location="../../.."/>
+ <property name="example" value="TableExample" />
+
+ <property file="${FLEXJS_HOME}/env.properties"/>
+ <property environment="env"/>
+ <property file="${FLEXJS_HOME}/build.properties"/>
+ <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+
+ <include file="${basedir}/../../build_example.xml" />
+
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
+ <!--<mkdir dir="${basedir}/bin/js-debug/assets" />
+ <copy todir="${basedir}/bin/js-debug/assets" >
+ <fileset dir="${basedir}/src/main/resources/assets">
+ <include name="**" />
+ </fileset>
+ </copy>
+ <mkdir dir="${basedir}/bin/js-release/assets" />
+ <copy todir="${basedir}/bin/js-release/assets" >
+ <fileset dir="${basedir}/src/main/resources/assets">
+ <include name="**" />
+ </fileset>
+ </copy>-->
+ </target>
+
+ <target name="clean">
+ <delete dir="${basedir}/bin" failonerror="false" />
+ <delete dir="${basedir}/bin-debug" failonerror="false" />
+ <delete dir="${basedir}/bin-release" failonerror="false" />
+ <delete dir="${basedir}/target" failonerror="false" />
+ </target>
+
+</project>
diff --git a/examples/flexjs/TableExample/pom.xml b/examples/flexjs/TableExample/pom.xml
new file mode 100644
index 0000000..c0affb7
--- /dev/null
+++ b/examples/flexjs/TableExample/pom.xml
@@ -0,0 +1,64 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <!--
+ Flash Version: CSS problems
+ -->
+
+ <parent>
+ <groupId>org.apache.flex.flexjs.examples</groupId>
+ <artifactId>examples-flexjs</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>TableExample</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <packaging>swf</packaging>
+
+ <name>Apache Flex - FlexJS: Examples: FlexJS: TableExample</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.flex.flexjs.compiler</groupId>
+ <artifactId>flexjs-maven-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <mainClass>TableExample.mxml</mainClass>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.adobe.flash.framework</groupId>
+ <artifactId>playerglobal</artifactId>
+ <version>${flash.version}</version>
+ <type>swc</type>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml b/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml
new file mode 100644
index 0000000..c2f81dd
--- /dev/null
+++ b/examples/flexjs/TableExample/src/main/flex/MyInitialView.mxml
@@ -0,0 +1,121 @@
+<?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.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+ xmlns:js="library://ns.apache.org/flexjs/basic">
+
+ <fx:Style>
+ @namespace js "library://ns.apache.org/flexjs/basic";
+
+
+ .Table {
+ backgroundColor: orange;
+ padding: 4px;
+ }
+
+ .TableHeader {
+ backgroundColor: aliceblue;
+ border: 1px solid orange;
+ }
+
+ .TableCell {
+ backgroundColor: lightblue;
+ border: 1px solid orange;
+ }
+
+ .CellGroup {
+ backgroundColor: aliceblue;
+ padding: 6px;
+ }
+
+ </fx:Style>
+
+ <js:beads>
+ <js:ViewDataBinding />
+ </js:beads>
+
+ <js:Table width="500" height="400" >
+ <!-- By placing the width on the cell of the first row, you effectively set the
+ width for the rest of the cells in each column. Here, the widths are set to
+ percentage values but you can use pixel values as well.
+ -->
+ <js:TableRow>
+ <js:TableHeader width="25%">
+ <js:Label text="Apples" />
+ </js:TableHeader>
+ <js:TableHeader width="50%">
+ <js:Label text="Oranges" />
+ </js:TableHeader>
+ <js:TableHeader width="25%">
+ <js:Label text="Grapes" />
+ </js:TableHeader>
+ </js:TableRow>
+ <js:TableRow>
+ <js:TableCell>
+ <js:Label text="Row 1, Col 1" />
+ </js:TableCell>
+ <js:TableCell>
+ <js:Label text="Row 1, Col 2" />
+ </js:TableCell>
+ <js:TableCell>
+ <js:Label text="Row 1, Col 3" />
+ </js:TableCell>
+ </js:TableRow>
+ <js:TableRow>
+ <js:TableCell>
+ <js:Label text="Row 2, Col 1" />
+ </js:TableCell>
+ <js:TableCell>
+ <js:Label text="Row 2, Col 2" />
+ </js:TableCell>
+ <js:TableCell>
+ <js:Label text="Row 2, Col 3" />
+ </js:TableCell>
+ </js:TableRow>
+ <js:TableRow>
+ <js:TableCell>
+ <js:Label text="Row 3, Col 1" />
+ </js:TableCell>
+ <js:TableCell>
+ <!-- By using a Group within a cell you have better control of the
+ layout.
+ -->
+ <js:Group className="CellGroup">
+ <js:beads>
+ <js:VerticalLayout />
+ </js:beads>
+ <js:Label text="Row 3" />
+ <js:Label text="+" />
+ <js:Label text="Col 2" />
+ </js:Group>
+ </js:TableCell>
+ <js:TableCell>
+ <js:Group className="CellGroup">
+ <js:beads>
+ <js:HorizontalLayout />
+ </js:beads>
+ <js:Label text="Row 3" />
+ <js:Label text="+" />
+ <js:Label text="Col 3" />
+ </js:Group>
+ </js:TableCell>
+ </js:TableRow>
+ </js:Table>
+
+</js:View>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as b/examples/flexjs/TableExample/src/main/flex/TableExample.mxml
similarity index 70%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as
rename to examples/flexjs/TableExample/src/main/flex/TableExample.mxml
index 83a2821..2d5c972 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/TextButton.as
+++ b/examples/flexjs/TableExample/src/main/flex/TableExample.mxml
@@ -1,4 +1,5 @@
-////////////////////////////////////////////////////////////////////////////////
+<?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
@@ -16,15 +17,17 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
- import org.apache.flex.html.TextButton;
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+ xmlns:local="*"
+ xmlns:models="models.*"
+ xmlns:js="library://ns.apache.org/flexjs/basic"
+ >
- public class TextButton extends org.apache.flex.html.TextButton
- {
- public function TextButton()
- {
- super();
- }
- }
-}
+ <js:valuesImpl>
+ <js:SimpleCSSValuesImpl />
+ </js:valuesImpl>
+ <js:initialView>
+ <local:MyInitialView />
+ </js:initialView>
+</js:Application>
diff --git a/examples/flexjs/TeamPage/build.xml b/examples/flexjs/TeamPage/build.xml
index 7b9ed5f..add4117 100644
--- a/examples/flexjs/TeamPage/build.xml
+++ b/examples/flexjs/TeamPage/build.xml
@@ -26,29 +26,10 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-remove-circulars" />
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
<copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin-debug/team.json" />
<copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin/js-debug/team.json" />
<copy file="${basedir}/src/main/resources/team.json" tofile="${basedir}/bin/js-release/team.json" />
diff --git a/examples/flexjs/TeamPage/pom.xml b/examples/flexjs/TeamPage/pom.xml
index 20568e4..a765a8e 100644
--- a/examples/flexjs/TeamPage/pom.xml
+++ b/examples/flexjs/TeamPage/pom.xml
@@ -65,6 +65,13 @@
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Network</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
<!-- Needed for Flash compilation -->
<dependency>
diff --git a/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml b/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..a8b73f5
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/main/config/compile-app-config.xml
@@ -0,0 +1,21 @@
+<!--
+
+ 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>
+ <remove-circulars>true</remove-circulars>
+</flex-config>
diff --git a/examples/flexjs/TodoListSampleApp/build.xml b/examples/flexjs/TodoListSampleApp/build.xml
index 9c10a0d..ea5d145 100644
--- a/examples/flexjs/TodoListSampleApp/build.xml
+++ b/examples/flexjs/TodoListSampleApp/build.xml
@@ -25,16 +25,11 @@
<property environment="env"/>
<property file="${FLEXJS_HOME}/build.properties"/>
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
- <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" />
<include file="${basedir}/../../build_example.xml" />
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
- <!-- Uncomment to reproduce cross-compilation error in compilejs step
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
- </target>
- -->
<target name="clean">
<delete dir="${basedir}/bin" failonerror="false" />
diff --git a/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml b/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml
new file mode 100644
index 0000000..454808b
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/config/compile-app-config.xml
@@ -0,0 +1,23 @@
+<!--
+
+ 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>
+ <js-output-optimization>
+ <optimization>skipAsCoercions</optimization>
+ </js-output-optimization>
+</flex-config>
diff --git a/examples/flexjs/TreeExample/build.xml b/examples/flexjs/TreeExample/build.xml
index 9e0d8f5..db2f622 100644
--- a/examples/flexjs/TreeExample/build.xml
+++ b/examples/flexjs/TreeExample/build.xml
@@ -30,25 +30,7 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
- <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
- <and>
- <not>
- <isset property="extlib_arg" />
- </not>
- <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
- </and>
- </condition>
- <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
-
- <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/flexjs/pom.xml b/examples/flexjs/pom.xml
index 0831f2f..d3c0ba9 100644
--- a/examples/flexjs/pom.xml
+++ b/examples/flexjs/pom.xml
@@ -105,34 +105,76 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Core</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>Language</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Language</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
<artifactId>HTML</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>HTML</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</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>js</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>js</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>js</classifier>
+ </dependency>
<!-- Import the shared unit-tests we want to run on all examples -->
<dependency>
diff --git a/examples/native/AngularExample/pom.xml b/examples/native/AngularExample/pom.xml
index 28d3b63..8743fc7 100644
--- a/examples/native/AngularExample/pom.xml
+++ b/examples/native/AngularExample/pom.xml
@@ -43,6 +43,7 @@
<extensions>true</extensions>
<configuration>
<mainClass>AngularExample.as</mainClass>
+ <targets>JS</targets>
</configuration>
</plugin>
</plugins>
diff --git a/examples/native/ButtonExample/build.xml b/examples/native/ButtonExample/build.xml
index 79d3a49..5e0f408 100644
--- a/examples/native/ButtonExample/build.xml
+++ b/examples/native/ButtonExample/build.xml
@@ -30,71 +30,10 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="JS.SWC" value="${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
-
- <condition property="JS.SWC" value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" type="file" />
- </and>
- </condition>
-
- <condition property="JS.SWC" value="${FALCONJX_HOME}/libs/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FALCONJX_HOME}/libs/js.swc" type="file" />
- </and>
- </condition>
-
- <path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
- </path>
-
- <target name="main" depends="clean,build" description="Clean build of ${example}">
- </target>
+ <property name="config_arg" value="js" />
+ <property name="file_suffix" value="as" />
- <target name="build">
- <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
- fork="true">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
- <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
- <arg value="-debug" />
- <arg value="-define=CONFIG::as_only,false" />
- <arg value="-define=CONFIG::js_only,true" />
- <arg value="-external-library-path=${JS.SWC}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- <arg value="-js-output-type=FLEXJS" />
- <arg value="-closure-lib=${GOOG_HOME}" />
- <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
- <arg value="${basedir}/src/main/flex/${example}.as" />
- </java>
- <fail>
- <condition>
- <not>
- <or>
- <equals arg1="${errorCode}" arg2="0" />
- <equals arg1="${errorCode}" arg2="2" />
- </or>
- </not>
- </condition>
- </fail>
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/native/ButtonExample/pom.xml b/examples/native/ButtonExample/pom.xml
index aacf74f..b81d238 100644
--- a/examples/native/ButtonExample/pom.xml
+++ b/examples/native/ButtonExample/pom.xml
@@ -43,8 +43,17 @@
<configuration>
<outputJavaScript>true</outputJavaScript>
<mainClass>ButtonExample.as</mainClass>
+ <targets>JS</targets>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ </plugin>
</plugins>
</build>
diff --git a/examples/native/USStatesMap/build.xml b/examples/native/USStatesMap/build.xml
index ebb9478..5a0d580 100644
--- a/examples/native/USStatesMap/build.xml
+++ b/examples/native/USStatesMap/build.xml
@@ -30,71 +30,10 @@
<include file="${basedir}/../../build_example.xml" />
- <condition property="JS.SWC" value="${FLEXJS_HOME}/js/libs/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
- </and>
- </condition>
+ <property name="config_arg" value="js" />
+ <property name="file_suffix" value="as" />
- <condition property="JS.SWC" value="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FALCONJX_HOME}/../externs/js/out/bin/js.swc" type="file" />
- </and>
- </condition>
-
- <condition property="JS.SWC" value="${FALCONJX_HOME}/libs/js.swc" >
- <and>
- <not>
- <isset property="JS.SWC" />
- </not>
- <available file="${FALCONJX_HOME}/libs/js.swc" type="file" />
- </and>
- </condition>
-
- <path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
- </path>
-
- <target name="main" depends="clean,build" description="Clean build of ${example}">
- </target>
-
- <target name="build">
- <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
- fork="true">
- <jvmarg line="${mxmlc.jvm.args}"/>
- <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
- <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
- <arg value="-debug" />
- <arg value="-define=CONFIG::as_only,false" />
- <arg value="-define=CONFIG::js_only,true" />
- <arg value="-external-library-path=${JS.SWC}" />
- <arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
- <arg value="-compiler.binding-value-change-event-type=valueChange" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
- <arg value="-js-output-type=FLEXJS" />
- <arg value="-closure-lib=${GOOG_HOME}" />
- <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
- <arg value="${basedir}/src/main/flex/${example}.as" />
- </java>
- <fail>
- <condition>
- <not>
- <or>
- <equals arg1="${errorCode}" arg2="0" />
- <equals arg1="${errorCode}" arg2="2" />
- </or>
- </not>
- </condition>
- </fail>
+ <target name="main" depends="clean,build_example.compile" description="Clean build of ${example}">
</target>
<target name="clean">
diff --git a/examples/native/USStatesMap/pom.xml b/examples/native/USStatesMap/pom.xml
index 13755b8..936866d 100644
--- a/examples/native/USStatesMap/pom.xml
+++ b/examples/native/USStatesMap/pom.xml
@@ -44,8 +44,17 @@
<configuration>
<outputJavaScript>true</outputJavaScript>
<mainClass>USStatesMap.as</mainClass>
+ <targets>JS</targets>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ </plugin>
</plugins>
</build>
@@ -64,6 +73,7 @@
<artifactId>Language</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/examples/native/pom.xml b/examples/native/pom.xml
index c2d623d..08caf25 100644
--- a/examples/native/pom.xml
+++ b/examples/native/pom.xml
@@ -44,13 +44,19 @@
</modules>
<dependencies>
- <dependency>
- <groupId>com.adobe.flash.framework</groupId>
- <artifactId>playerglobal</artifactId>
- <version>${flash.version}</version>
- <type>swc</type>
- <scope>provided</scope>
- </dependency>
+ <!--
+ By declaring this dependency here, we force the flexjs-externs-js to be
+ added to the external library path of all modules. Without this it would
+ have gone to the library path.
+ -->
+ <dependency>
+ <groupId>org.apache.flex.flexjs.typedefs</groupId>
+ <artifactId>flexjs-typedefs-js</artifactId>
+ <version>${flexjs.typedefs.version}</version>
+ <type>swc</type>
+ <classifier>typedefs</classifier>
+ <scope>runtime</scope>
+ </dependency>
</dependencies>
</project>
diff --git a/examples/pom.xml b/examples/pom.xml
index 412ce1a..9499b80 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -71,19 +71,6 @@
<artifactId>flexjs-maven-plugin</artifactId>
<version>${flexjs.compiler.version}</version>
<extensions>true</extensions>
- <executions>
- <!-- Add a second execution with output set to JavaScript (Flash is the default) -->
- <execution>
- <id>compile-javascript</id>
- <phase>compile</phase>
- <goals>
- <goal>compile-app</goal>
- </goals>
- <configuration>
- <outputJavaScript>true</outputJavaScript>
- </configuration>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.jboss.errai</groupId>
diff --git a/frameworks/air-config-template.xml b/frameworks/air-config-template.xml
index 43c1a72..c148198 100644
--- a/frameworks/air-config-template.xml
+++ b/frameworks/air-config-template.xml
@@ -27,6 +27,15 @@
<swf-version>@swfversion@</swf-version>
<compiler>
+
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>SWF</target>
+ <target>JSFlex</target>
+ </targets>
+
+ <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+ <define><name>COMPILE::JS</name><value>AUTO</value></define>
<!-- Turn on generation of accessible SWFs. -->
<accessible>true</accessible>
@@ -59,8 +68,14 @@
<!-- List of SWC files or directories to compile against but to omit from -->
<!-- linking. -->
- <external-library-path>
+ <swf-external-library-path>
<path-element>{airHome}/frameworks/libs/air/airglobal.swc</path-element>
+ </swf-external-library-path>
+
+ <!-- List of SWC files or directories to compile against but to omit from -->
+ <!-- linking. -->
+ <external-library-path>
+ <path-element>../js/libs/js.swc</path-element>
</external-library-path>
<!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -76,11 +91,17 @@
-->
<!-- List of SWC files or directories that contain SWC files. -->
- <library-path>
+ <swf-library-path>
<path-element>libs</path-element>
<path-element>{airHome}/frameworks/libs/air</path-element>
+ </swf-library-path>
+
+ <!-- List of SWC files or directories that contain SWC files. -->
+ <library-path>
+ <path-element>js/FlexJS/libs</path-element>
</library-path>
-
+
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -93,6 +114,9 @@
<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>
+ <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+ <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -112,6 +136,12 @@
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
+ <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+
+ </namespace>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/basic</uri>
+
<manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
</namespace>
diff --git a/frameworks/air-config.xml b/frameworks/air-config.xml
index 4daa749..cecc140 100644
--- a/frameworks/air-config.xml
+++ b/frameworks/air-config.xml
@@ -27,6 +27,15 @@
<swf-version>14</swf-version>
<compiler>
+
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>SWF</target>
+ <target>JSFlex</target>
+ </targets>
+
+ <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+ <define><name>COMPILE::JS</name><value>AUTO</value></define>
<!-- Turn on generation of accessible SWFs. -->
<accessible>true</accessible>
@@ -59,8 +68,14 @@
<!-- List of SWC files or directories to compile against but to omit from -->
<!-- linking. -->
- <external-library-path>
+ <swf-external-library-path>
<path-element>{airHome}/frameworks/libs/air/airglobal.swc</path-element>
+ </swf-external-library-path>
+
+ <!-- List of SWC files or directories to compile against but to omit from -->
+ <!-- linking. -->
+ <external-library-path>
+ <path-element>../js/libs/js.swc</path-element>
</external-library-path>
<!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -76,11 +91,17 @@
-->
<!-- List of SWC files or directories that contain SWC files. -->
- <library-path>
+ <swf-library-path>
<path-element>libs</path-element>
<path-element>{airHome}/frameworks/libs/air</path-element>
+ </swf-library-path>
+
+ <!-- List of SWC files or directories that contain SWC files. -->
+ <library-path>
+ <path-element>js/FlexJS/libs</path-element>
</library-path>
-
+
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -93,6 +114,9 @@
<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>
+ <binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
+ <binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -112,6 +136,12 @@
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
+ <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+
+ </namespace>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/basic</uri>
+
<manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
</namespace>
diff --git a/frameworks/asdoc-config.xml b/frameworks/asdoc-config.xml
index 60391d7..0221ab0 100644
--- a/frameworks/asdoc-config.xml
+++ b/frameworks/asdoc-config.xml
@@ -62,7 +62,7 @@
<path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>
- <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>
+ <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/Language/src/main/flex</path-element>
@@ -147,7 +147,7 @@
</namespace>
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
- <manifest>${frameworks_dir}/projects/HTML/src/main/resources/basic-manifest.xml</manifest>
+ <manifest>${frameworks_dir}/projects/Basic/src/main/resources/basic-manifest.xml</manifest>
</namespace>
<namespace>
<uri>library://ns.apache.org/flexjs/html5</uri>
@@ -467,7 +467,7 @@
<path-element>${frameworks_dir}/projects/Formatters/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/GoogleMaps/src/main/flex/org</path-element>
<path-element>${frameworks_dir}/projects/Graphics/src/main/flex</path-element>
- <path-element>${frameworks_dir}/projects/HTML/src/main/flex</path-element>
+ <path-element>${frameworks_dir}/projects/Basic/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/HTML5/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/JQuery/src/main/flex</path-element>
<path-element>${frameworks_dir}/projects/Mobile/src/main/flex</path-element>
diff --git a/frameworks/build.xml b/frameworks/build.xml
index aea5ea2..f330633 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -68,8 +68,11 @@
</target>
- <target name="prepare" depends="thirdparty-downloads"/>
-
+ <target name="prepare" depends="thirdparty-downloads">
+ <mkdir dir="${basedir}/js/FlexJS/libs" />
+ <mkdir dir="${basedir}/libs" />
+ </target>
+
<target name="thirdparty-downloads" unless="no.thirdparty-downloads" description="Downloads all the required thirdparty code.">
<ant antfile="${basedir}/downloads.xml" dir="${basedir}"/>
</target>
@@ -81,9 +84,9 @@
<antcall target="Graphics"/>
<antcall target="Binding"/>
<antcall target="Collections"/>
+ <antcall target="Basic"/>
<antcall target="HTML"/>
<antcall target="Effects"/>
- <!-- <antcall target="Basic"/> -->
<antcall target="Flat"/>
<antcall target="Charts"/>
<antcall target="DragDrop"/>
diff --git a/frameworks/createjs-config-template.xml b/frameworks/createjs-config-template.xml
index d9c4341..49a8980 100644
--- a/frameworks/createjs-config-template.xml
+++ b/frameworks/createjs-config-template.xml
@@ -29,6 +29,11 @@
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
+
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
<!--
@@ -74,6 +79,7 @@
<path-element>../js/libs/GCL.swc</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -88,6 +94,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/createjs-config.xml b/frameworks/createjs-config.xml
index e29efb1..cf0eaf5 100644
--- a/frameworks/createjs-config.xml
+++ b/frameworks/createjs-config.xml
@@ -29,6 +29,11 @@
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
+
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
<!--
@@ -74,6 +79,7 @@
<path-element>../js/libs/GCL.swc</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -88,6 +94,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/flex-config-template.xml b/frameworks/flex-config-template.xml
index ab201b1..5fcb28f 100644
--- a/frameworks/flex-config-template.xml
+++ b/frameworks/flex-config-template.xml
@@ -29,6 +29,15 @@
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>SWF</target>
+ <target>JSFlex</target>
+ </targets>
+
+ <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+ <define><name>COMPILE::JS</name><value>AUTO</value></define>
+
<!-- Turn on generation of accessible SWFs. -->
<accessible>true</accessible>
@@ -60,8 +69,14 @@
<!-- List of SWC files or directories to compile against but to omit from -->
<!-- linking. -->
- <external-library-path>
+ <swf-external-library-path>
<path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
+ </swf-external-library-path>
+
+ <!-- List of SWC files or directories to compile against but to omit from -->
+ <!-- linking. -->
+ <external-library-path>
+ <path-element>../js/libs/js.swc</path-element>
</external-library-path>
<!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -77,11 +92,17 @@
-->
<!-- List of SWC files or directories that contain SWC files. -->
- <library-path>
+ <swf-library-path>
<path-element>libs</path-element>
<path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
+ </swf-library-path>
+
+ <!-- List of SWC files or directories that contain SWC files. -->
+ <library-path>
+ <path-element>js/FlexJS/libs</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -96,6 +117,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -115,6 +137,12 @@
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
+ <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+
+ </namespace>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/basic</uri>
+
<manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
</namespace>
diff --git a/frameworks/flex-config.xml b/frameworks/flex-config.xml
index 005bcd3..3744998 100644
--- a/frameworks/flex-config.xml
+++ b/frameworks/flex-config.xml
@@ -29,6 +29,15 @@
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>SWF</target>
+ <target>JSFlex</target>
+ </targets>
+
+ <define><name>COMPILE::SWF</name><value>AUTO</value></define>
+ <define><name>COMPILE::JS</name><value>AUTO</value></define>
+
<!-- Turn on generation of accessible SWFs. -->
<accessible>true</accessible>
@@ -60,8 +69,14 @@
<!-- List of SWC files or directories to compile against but to omit from -->
<!-- linking. -->
- <external-library-path>
+ <swf-external-library-path>
<path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
+ </swf-external-library-path>
+
+ <!-- List of SWC files or directories to compile against but to omit from -->
+ <!-- linking. -->
+ <external-library-path>
+ <path-element>../js/libs/js.swc</path-element>
</external-library-path>
<!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -77,11 +92,17 @@
-->
<!-- List of SWC files or directories that contain SWC files. -->
- <library-path>
+ <swf-library-path>
<path-element>libs</path-element>
<path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
+ </swf-library-path>
+
+ <!-- List of SWC files or directories that contain SWC files. -->
+ <library-path>
+ <path-element>js/FlexJS/libs</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -96,6 +117,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
@@ -115,6 +137,12 @@
<namespace>
<uri>library://ns.apache.org/flexjs/basic</uri>
+ <manifest>projects/Basic/src/main/resources/basic-manifest.xml</manifest>
+
+ </namespace>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/basic</uri>
+
<manifest>projects/Charts/src/main/resources/basic-manifest.xml</manifest>
</namespace>
diff --git a/frameworks/jquery-config-template.xml b/frameworks/jquery-config-template.xml
index 6d9cc30..f97f278 100644
--- a/frameworks/jquery-config-template.xml
+++ b/frameworks/jquery-config-template.xml
@@ -28,6 +28,10 @@
<swf-version>@swfversion@</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -75,6 +79,7 @@
<path-element>../js/libs/GCL.swc</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -89,6 +94,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/jquery-config.xml b/frameworks/jquery-config.xml
index 6a193f2..4bae5b3 100644
--- a/frameworks/jquery-config.xml
+++ b/frameworks/jquery-config.xml
@@ -28,6 +28,10 @@
<swf-version>14</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -75,6 +79,7 @@
<path-element>../js/libs/GCL.swc</path-element>
</library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
<imports>
@@ -89,6 +94,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/js-config-template.xml b/frameworks/js-config-template.xml
index 4818f65..e2db2f8 100644
--- a/frameworks/js-config-template.xml
+++ b/frameworks/js-config-template.xml
@@ -28,6 +28,10 @@
<swf-version>@swfversion@</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -88,6 +92,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/js-config.xml b/frameworks/js-config.xml
index 3e5d58b..c66ccef 100644
--- a/frameworks/js-config.xml
+++ b/frameworks/js-config.xml
@@ -28,6 +28,10 @@
<swf-version>14</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JS</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -88,6 +92,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/js/FlexJS/build.xml b/frameworks/js/FlexJS/build.xml
index 66fe346..9f5b3e1 100644
--- a/frameworks/js/FlexJS/build.xml
+++ b/frameworks/js/FlexJS/build.xml
@@ -126,8 +126,10 @@
<ant dir="${basedir}/projects/CreateJSJS" target="clean"/>
<ant dir="${basedir}/projects/DragDropJS" target="clean"/>
<ant dir="${basedir}/projects/EffectsJS" target="clean"/>
+ <ant dir="${basedir}/projects/ExpressJS" target="clean"/>
<ant dir="${basedir}/projects/FlatJS" target="clean"/>
<ant dir="${basedir}/projects/FormattersJS" target="clean"/>
+ <ant dir="${basedir}/projects/FontAwesomeJS" target="clean"/>
<ant dir="${basedir}/projects/GoogleMapsJS" target="clean"/>
<ant dir="${basedir}/projects/GraphicsJS" target="clean"/>
<ant dir="${basedir}/projects/BasicJS" target="clean"/>
diff --git a/frameworks/js/FlexJS/projects/BasicJS/build.xml b/frameworks/js/FlexJS/projects/BasicJS/build.xml
index 5a39024..1ec3f06 100644
--- a/frameworks/js/FlexJS/projects/BasicJS/build.xml
+++ b/frameworks/js/FlexJS/projects/BasicJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
index 1f22b4a..15c4654 100644
--- a/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/BasicJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,6 @@
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
<path-element>../../../../../libs/CollectionsJS.swc</path-element>
- <path-element>../../../../../libs/EffectsJS.swc</path-element>
</library-path>
<namespaces>
@@ -79,8 +78,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Basic/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/BindingJS/build.xml b/frameworks/js/FlexJS/projects/BindingJS/build.xml
index 454fa2a..da57424 100644
--- a/frameworks/js/FlexJS/projects/BindingJS/build.xml
+++ b/frameworks/js/FlexJS/projects/BindingJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/ChartsJS/build.xml b/frameworks/js/FlexJS/projects/ChartsJS/build.xml
index f901286..118ca5f 100644
--- a/frameworks/js/FlexJS/projects/ChartsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ChartsJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
index 941d5ce..c89837e 100644
--- a/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/ChartsJS/src/main/config/compile-js-config.xml
@@ -55,7 +55,7 @@
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -73,8 +73,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Charts/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-classes>
<class>ChartsClasses</class>
</include-classes>
diff --git a/frameworks/js/FlexJS/projects/CollectionsJS/build.xml b/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
index f1f976d..979a985 100644
--- a/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CollectionsJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/CoreJS/build.xml b/frameworks/js/FlexJS/projects/CoreJS/build.xml
index 1c1f737..36412e1 100644
--- a/frameworks/js/FlexJS/projects/CoreJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CoreJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/CreateJSJS/build.xml b/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
index 75bb24e..76b4e72 100644
--- a/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
+++ b/frameworks/js/FlexJS/projects/CreateJSJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/createjs-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/createjs-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
index 4608d7e..5c65717 100644
--- a/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/CreateJSJS/src/main/config/compile-js-config.xml
@@ -60,7 +60,7 @@
<library-path>
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
</library-path>
@@ -68,8 +68,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/CreateJS/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/DragDropJS/build.xml b/frameworks/js/FlexJS/projects/DragDropJS/build.xml
index 1a97cc8..2a3a2c1 100644
--- a/frameworks/js/FlexJS/projects/DragDropJS/build.xml
+++ b/frameworks/js/FlexJS/projects/DragDropJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
index 81a4671..b32bec8 100644
--- a/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/DragDropJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
diff --git a/frameworks/js/FlexJS/projects/EffectsJS/build.xml b/frameworks/js/FlexJS/projects/EffectsJS/build.xml
index 698a40b..625b2d2 100644
--- a/frameworks/js/FlexJS/projects/EffectsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/EffectsJS/build.xml
@@ -34,7 +34,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -50,7 +50,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +80,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
index 7c5217c..adfc6c1 100644
--- a/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/EffectsJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<source-path>
diff --git a/frameworks/js/FlexJS/projects/ExpressJS/build.xml b/frameworks/js/FlexJS/projects/ExpressJS/build.xml
index 49ce823..2116c79 100644
--- a/frameworks/js/FlexJS/projects/ExpressJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ExpressJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
index 26db1d9..9cabc17 100644
--- a/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/ExpressJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,7 @@
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
<path-element>../../../../../libs/CollectionsJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -75,8 +75,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Express/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/FlatJS/build.xml b/frameworks/js/FlexJS/projects/FlatJS/build.xml
index 45214de..7b97bf7 100644
--- a/frameworks/js/FlexJS/projects/FlatJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FlatJS/build.xml
@@ -34,7 +34,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -50,7 +50,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,31 +60,14 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
- </target>
+ </target>
<target name="copy-js" >
<mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/>
@@ -97,7 +80,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
index e272078..be699ce 100644
--- a/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FlatJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -72,8 +72,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Flat/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-classes>
<class>FlatClasses</class>
</include-classes>
diff --git a/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml b/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
index 7e7735e..155a0bb 100644
--- a/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FontAwesomeJS/build.xml
@@ -34,7 +34,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -50,7 +50,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +80,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
index 58f08b3..6582dab 100644
--- a/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FontAwesomeJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -72,8 +72,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/FontAwesome/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-classes>
<class>FAClasses</class>
</include-classes>
diff --git a/frameworks/js/FlexJS/projects/FormattersJS/build.xml b/frameworks/js/FlexJS/projects/FormattersJS/build.xml
index 7708d84..e2af712 100644
--- a/frameworks/js/FlexJS/projects/FormattersJS/build.xml
+++ b/frameworks/js/FlexJS/projects/FormattersJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
index 09e3956..f80f5bd 100644
--- a/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/FormattersJS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
diff --git a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
index 2656529..1521441 100644
--- a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
index 93c4572..c4fb8a9 100644
--- a/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/GoogleMapsJS/src/main/config/compile-js-config.xml
@@ -58,7 +58,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -75,6 +75,11 @@
<warn-no-constructor>false</warn-no-constructor>
</compiler>
+ <include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/GoogleMaps/src/main/resources/defaults.css</path>
+ </include-file>
+
<include-classes>
<class>GoogleStubClasses</class>
<class>GoogleMapsClasses</class>
diff --git a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
index 628f069..193b70b 100644
--- a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
+++ b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
index dfc63c9..e4020d50 100644
--- a/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/GraphicsJS/src/main/config/compile-js-config.xml
@@ -71,8 +71,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Graphics/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/HTML5JS/build.xml b/frameworks/js/FlexJS/projects/HTML5JS/build.xml
index 3843b20..4067a4f 100644
--- a/frameworks/js/FlexJS/projects/HTML5JS/build.xml
+++ b/frameworks/js/FlexJS/projects/HTML5JS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
index af4d531..3878ea2 100644
--- a/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/HTML5JS/src/main/config/compile-js-config.xml
@@ -54,7 +54,7 @@
if these swcs are on the external-library-path then their requires
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -71,6 +71,11 @@
<warn-no-constructor>false</warn-no-constructor>
</compiler>
+ <include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/HTML5/src/main/resources/defaults.css</path>
+ </include-file>
+
<include-classes>
<class>HTML5Classes</class>
</include-classes>
diff --git a/frameworks/js/FlexJS/projects/HTMLJS/build.xml b/frameworks/js/FlexJS/projects/HTMLJS/build.xml
index ee07b10..0721fd1 100644
--- a/frameworks/js/FlexJS/projects/HTMLJS/build.xml
+++ b/frameworks/js/FlexJS/projects/HTMLJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
index 4a555f0..dcf7f6e 100644
--- a/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/HTMLJS/src/main/config/compile-js-config.xml
@@ -57,6 +57,7 @@
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
<path-element>../../../../../libs/CollectionsJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -64,10 +65,6 @@
<uri>library://ns.apache.org/flexjs/basic</uri>
<manifest>../../../../../../../projects/HTML/src/main/resources/basic-manifest.xml</manifest>
</namespace>
- <namespace>
- <uri>library://ns.apache.org/flexjs/svg</uri>
- <manifest>../../../../../../../projects/HTML/src/main/resources/svg-manifest.xml</manifest>
- </namespace>
</namespaces>
<source-path>
@@ -78,8 +75,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/HTML/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
@@ -89,7 +88,6 @@
<include-namespaces>
<uri>library://ns.apache.org/flexjs/basic</uri>
- <uri>library://ns.apache.org/flexjs/svg</uri>
</include-namespaces>
diff --git a/frameworks/js/FlexJS/projects/JQueryJS/build.xml b/frameworks/js/FlexJS/projects/JQueryJS/build.xml
index 41c057a..1197490 100644
--- a/frameworks/js/FlexJS/projects/JQueryJS/build.xml
+++ b/frameworks/js/FlexJS/projects/JQueryJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/jquery-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/jquery-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
index 2eecdc8..8eda1ac 100644
--- a/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/JQueryJS/src/main/config/compile-js-config.xml
@@ -57,7 +57,7 @@
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
<path-element>../../../../../libs/CollectionsJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -75,8 +75,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/JQuery/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/LanguageJS/build.xml b/frameworks/js/FlexJS/projects/LanguageJS/build.xml
index 5365aba..7d24dd3 100644
--- a/frameworks/js/FlexJS/projects/LanguageJS/build.xml
+++ b/frameworks/js/FlexJS/projects/LanguageJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
index d8b59f1..f9fa1d2 100644
--- a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
+++ b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/build.xml
@@ -34,7 +34,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -50,7 +50,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -60,29 +60,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +80,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
index 77c51d9..ff74c64 100644
--- a/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/MaterialDesignLiteJS/src/main/config/compile-js-config.xml
@@ -26,12 +26,12 @@
<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>
<define>
- <name>COMPILE::SWF</name>
- <value>false</value>
+ <name>COMPILE::SWF</name>
+ <value>false</value>
</define>
<define>
- <name>COMPILE::JS</name>
- <value>true</value>
+ <name>COMPILE::JS</name>
+ <value>true</value>
</define>
<keep-as3-metadata>
<name>Bindable</name>
@@ -53,6 +53,7 @@
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
<path-element>../../../../../libs/CollectionsJS.swc</path-element>
<path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<source-path>
<path-element>../../../../../../../projects/MaterialDesignLite/src/main/flex</path-element>
diff --git a/frameworks/js/FlexJS/projects/MobileJS/build.xml b/frameworks/js/FlexJS/projects/MobileJS/build.xml
index 8244c63..81b5fa9 100644
--- a/frameworks/js/FlexJS/projects/MobileJS/build.xml
+++ b/frameworks/js/FlexJS/projects/MobileJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
index 4077eb9..493d762 100644
--- a/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/MobileJS/src/main/config/compile-js-config.xml
@@ -60,7 +60,7 @@
will not be listed -->
<path-element>../../../../../libs/CoreJS.swc</path-element>
<path-element>../../../../../libs/GraphicsJS.swc</path-element>
- <path-element>../../../../../libs/HTMLJS.swc</path-element>
+ <path-element>../../../../../libs/BasicJS.swc</path-element>
</library-path>
<namespaces>
@@ -82,8 +82,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Mobile/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/NetworkJS/build.xml b/frameworks/js/FlexJS/projects/NetworkJS/build.xml
index 053b6cc..ea30d4c 100644
--- a/frameworks/js/FlexJS/projects/NetworkJS/build.xml
+++ b/frameworks/js/FlexJS/projects/NetworkJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,29 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- <arg value="-compiler.strict-xml=true" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
index f058231..e7a82d0 100644
--- a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
+++ b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/StorageJS/build.xml b/frameworks/js/FlexJS/projects/StorageJS/build.xml
index c328fe2..a85e906 100644
--- a/frameworks/js/FlexJS/projects/StorageJS/build.xml
+++ b/frameworks/js/FlexJS/projects/StorageJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,32 +59,15 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
-
+
<target name="copy-js" >
<mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/>
<copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources">
@@ -96,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
index 7a3296c..ed39c2c 100644
--- a/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/StorageJS/src/main/config/compile-js-config.xml
@@ -75,8 +75,10 @@
</compiler>
<include-file>
+ <name>defaults.css</name>
+ <path>../../../../../../../projects/Storage/src/main/resources/defaults.css</path>
</include-file>
-
+
<include-sources>
</include-sources>
diff --git a/frameworks/js/FlexJS/projects/XMLJS/build.xml b/frameworks/js/FlexJS/projects/XMLJS/build.xml
index e82d048..5fc9389 100644
--- a/frameworks/js/FlexJS/projects/XMLJS/build.xml
+++ b/frameworks/js/FlexJS/projects/XMLJS/build.xml
@@ -33,7 +33,7 @@
<property file="${basedir}/${target.name}.properties"/>
<delete file="${basedir}/${target.name}.properties"/>
- <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs" description="Full build of ${ant.project.name}.swc">
+ <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
</target>
<target name="clean">
@@ -49,7 +49,7 @@
</delete>
</target>
- <target name="compile-asjs" depends="check-compiler">
+ <target name="compile" depends="check-compiler">
<echo message="Cross-compiling ${target.name}"/>
<echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
<mkdir dir="${basedir}/target/generated-sources/flexjs"/>
@@ -59,30 +59,12 @@
<jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
<jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
<arg value="+flexlib=${FLEX_HOME}/frameworks" />
- <arg value="-js-output-type=FLEXJS" />
<arg value="-compiler.strict-xml=true" />
- <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
- <arg value="-output=${FLEX_HOME}/frameworks/projects/${target.name.nojs}/target/${target.name.nojs}.swc" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
<arg value="-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
<arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
</java>
- </target>
-
- <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
- <echo message="Compiling target/${target.name}"/>
- <echo message="FLEX_HOME: ${FLEX_HOME}"/>
- <echo message="FALCON_HOME: ${FALCON_HOME}"/>
- <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/>
- <mkdir dir="${basedir}/target"/>
-
- <compc fork="true"
- output="${basedir}/target/${target.name}">
- <jvmarg line="${compc.jvm.args}"/>
- <arg value="+playerglobal.version=${playerglobal.version}" />
- <arg value="-compiler.strict-xml=true" />
- <load-config filename="${FLEX_HOME}/frameworks/js-config.xml" />
- <load-config filename="src/main/config/compile-js-config.xml" />
- </compc>
<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" />
</target>
@@ -97,7 +79,7 @@
<target name="check-compiler" depends="check-falcon-home, check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
diff --git a/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml b/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
index 93a3615..ece82d1 100644
--- a/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/FlexJS/projects/XMLJS/src/main/config/compile-js-config.xml
@@ -71,6 +71,8 @@
<warn-no-constructor>false</warn-no-constructor>
</compiler>
+ <keep-asdoc>true</keep-asdoc>
+
<include-file>
</include-file>
diff --git a/frameworks/node-config-template.xml b/frameworks/node-config-template.xml
index 701e978..4581e79 100644
--- a/frameworks/node-config-template.xml
+++ b/frameworks/node-config-template.xml
@@ -28,6 +28,10 @@
<swf-version>@swfversion@</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JSNode</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -89,6 +93,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/node-config.xml b/frameworks/node-config.xml
index 7c0632b..3fd79ce 100644
--- a/frameworks/node-config.xml
+++ b/frameworks/node-config.xml
@@ -28,6 +28,10 @@
<swf-version>14</swf-version>
<compiler>
+ <!-- build both SWF and JS. -->
+ <targets>
+ <target>JSNode</target>
+ </targets>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<!-- not set -->
@@ -89,6 +93,7 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<binding-event-handler-event>org.apache.flex.events.Event</binding-event-handler-event>
<binding-event-handler-class>org.apache.flex.events.EventDispatcher</binding-event-handler-class>
+ <binding-event-handler-interface>org.apache.flex.events.IEventDispatcher</binding-event-handler-interface>
<states-class>org.apache.flex.states.State</states-class>
<states-instance-override-class>org.apache.flex.states.AddItems</states-instance-override-class>
<states-property-override-class>org.apache.flex.states.SetProperty</states-property-override-class>
diff --git a/frameworks/projects/Basic/build.xml b/frameworks/projects/Basic/build.xml
index d05afa0..a365b60 100644
--- a/frameworks/projects/Basic/build.xml
+++ b/frameworks/projects/Basic/build.xml
@@ -37,7 +37,7 @@
</target>
<target name="copy-swc">
- <!--<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />-->
+ <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
</target>
<target name="check-for-tests" >
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />-->
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Basic/pom.xml b/frameworks/projects/Basic/pom.xml
index 403e2d8..53bf122 100644
--- a/frameworks/projects/Basic/pom.xml
+++ b/frameworks/projects/Basic/pom.xml
@@ -66,6 +66,7 @@
</include-file>
</includeFiles>
<allowSubclassOverrides>true</allowSubclassOverrides>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -83,7 +84,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -96,7 +97,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -109,7 +110,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -122,7 +123,7 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Basic/src/main/config/compile-as-config.xml b/frameworks/projects/Basic/src/main/config/compile-swf-config.xml
similarity index 93%
rename from frameworks/projects/Basic/src/main/config/compile-as-config.xml
rename to frameworks/projects/Basic/src/main/config/compile-swf-config.xml
index 1f92c15..2ce6eda 100644
--- a/frameworks/projects/Basic/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Basic/src/main/config/compile-swf-config.xml
@@ -27,7 +27,6 @@
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
<path-element>../../../../../libs/Collections.swc</path-element>
- <path-element>../../../../../libs/Effects.swc</path-element>
</external-library-path>
<allow-subclass-overrides>true</allow-subclass-overrides>
@@ -38,6 +37,15 @@
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Basic/src/main/flex/BasicClasses.as b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
index a81838b..4436e43 100644
--- a/frameworks/projects/Basic/src/main/flex/BasicClasses.as
+++ b/frameworks/projects/Basic/src/main/flex/BasicClasses.as
@@ -27,12 +27,13 @@
*/
internal class BasicClasses
{
-
import org.apache.flex.html.ToolTip; ToolTip;
import org.apache.flex.html.accessories.NumericOnlyTextInputBead; NumericOnlyTextInputBead;
+ import org.apache.flex.html.beads.DispatchInputFinishedBead; DispatchInputFinishedBead;
import org.apache.flex.html.accessories.PasswordInputBead; PasswordInputBead;
import org.apache.flex.html.accessories.TextPromptBead; TextPromptBead;
import org.apache.flex.html.beads.AlertView; AlertView;
+ import org.apache.flex.html.beads.models.AlertModel; AlertModel;
COMPILE::SWF
{
import org.apache.flex.html.beads.BackgroundImageBead; BackgroundImageBead;
@@ -41,9 +42,10 @@
COMPILE::SWF
{
import org.apache.flex.html.beads.CheckBoxView; CheckBoxView;
- import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
}
+ import org.apache.flex.html.beads.ComboBoxView; ComboBoxView;
import org.apache.flex.html.beads.ContainerView; ContainerView;
+ import org.apache.flex.html.beads.GroupView; GroupView;
COMPILE::SWF
{
import org.apache.flex.html.beads.ControlBarMeasurementBead; ControlBarMeasurementBead;
@@ -57,13 +59,18 @@
import org.apache.flex.html.beads.ImageView; org.apache.flex.html.beads.ImageView;
}
import org.apache.flex.html.beads.ImageButtonView; ImageButtonView;
+ import org.apache.flex.html.beads.BinaryImageLoader; BinaryImageLoader;
+ import org.apache.flex.html.beads.models.BinaryImageModel; BinaryImageModel;
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;
+ import org.apache.flex.html.supportClasses.PanelLayoutProxy; PanelLayoutProxy;
+ import org.apache.flex.html.beads.SliderView; SliderView;
import org.apache.flex.html.beads.PanelWithControlBarView; PanelWithControlBarView;
+ import org.apache.flex.html.beads.AccordionItemRendererView; AccordionItemRendererView;
COMPILE::SWF
{
import org.apache.flex.html.beads.RadioButtonView; RadioButtonView;
@@ -72,14 +79,15 @@
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.SingleLineBorderWithChangeListenerBead; SingleLineBorderWithChangeListenerBead;
}
- 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.SolidBackgroundWithChangeListenerBead; SolidBackgroundWithChangeListenerBead;
import org.apache.flex.html.beads.TextButtonMeasurementBead; TextButtonMeasurementBead;
import org.apache.flex.html.beads.TextFieldLabelMeasurementBead; TextFieldLabelMeasurementBead;
import org.apache.flex.html.beads.TextAreaView; TextAreaView;
@@ -87,16 +95,13 @@
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.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;
- }
+ import org.apache.flex.html.beads.models.ComboBoxModel; ComboBoxModel;
COMPILE::SWF
{
import org.apache.flex.html.beads.models.ImageModel; ImageModel;
@@ -118,23 +123,28 @@
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.ComboBoxController; ComboBoxController;
+ import org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController; AccordionItemRendererMouseController;
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;
+ import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController;
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.VerticalLayoutWithPaddingAndGap; VerticalLayoutWithPaddingAndGap;
+ import org.apache.flex.html.beads.layouts.VerticalFlexLayout; VerticalFlexLayout;
import org.apache.flex.html.beads.layouts.HorizontalLayout; HorizontalLayout;
+ import org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap; HorizontalLayoutWithPaddingAndGap;
+ import org.apache.flex.html.beads.layouts.HorizontalFlexLayout; HorizontalFlexLayout;
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;
@@ -143,6 +153,7 @@
{
import org.apache.flex.html.beads.layouts.HScrollBarLayout; HScrollBarLayout;
import org.apache.flex.html.beads.layouts.VScrollBarLayout; VScrollBarLayout;
+ import org.apache.flex.html.supportClasses.ContainerContentArea; ContainerContentArea;
}
import org.apache.flex.html.beads.layouts.TileLayout; TileLayout;
import org.apache.flex.html.beads.TextItemRendererFactoryForArrayData; TextItemRendererFactoryForArrayData;
@@ -152,13 +163,13 @@
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.supportClasses.TextButtonItemRenderer; TextButtonItemRenderer;
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.DataGridPercentageView; DataGridPercentageView;
import org.apache.flex.html.beads.DateChooserView; DateChooserView;
import org.apache.flex.html.beads.DateFieldView; DateFieldView;
import org.apache.flex.html.beads.DecrementButtonView; DecrementButtonView;
@@ -174,6 +185,8 @@
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.DateChooserList; DateChooserList;
+ import org.apache.flex.html.supportClasses.DateItemRenderer; DateItemRenderer;
import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
import org.apache.flex.html.beads.TitleBarView; TitleBarView;
@@ -183,7 +196,6 @@
import org.apache.flex.html.beads.models.WebBrowserModel; WebBrowserModel;
import org.apache.flex.core.ListBase; ListBase;
- import org.apache.flex.core.ListBaseStrandChildren; ListBaseStrandChildren;
import org.apache.flex.core.FilledRectangle; FilledRectangle;
import org.apache.flex.core.UIBase; UIBase;
import org.apache.flex.core.SimpleApplication; SimpleApplication;
@@ -201,6 +213,8 @@
import org.apache.flex.svg.Text; Text;
import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;
+ import org.apache.flex.html.beads.models.DataProviderModel; DataProviderModel;
+ import org.apache.flex.html.beads.DataContainerView; DataContainerView;
COMPILE::SWF
{
@@ -208,6 +222,17 @@
import org.apache.flex.html.beads.VRuleView; VRuleView;
import org.apache.flex.html.beads.MultilineTextFieldView; MultilineTextFieldView;
}
+
+ import org.apache.flex.html.SubAppLoader; SubAppLoader;
+
+ import org.apache.flex.html.Table; Table;
+ import org.apache.flex.html.TableRow; TableRow;
+ import org.apache.flex.html.TableCell; TableCell;
+ import org.apache.flex.html.TableHeader; TableHeader;
+ import org.apache.flex.html.beads.TableCellView; TableCellView;
+ import org.apache.flex.html.beads.layouts.SimpleTableLayout; SimpleTableLayout;
+ import org.apache.flex.html.beads.layouts.TableCellLayout; TableCellLayout;
+ import org.apache.flex.html.beads.layouts.TableHeaderLayout; TableHeaderLayout;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
index 2c74a9e..c92ad95 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
@@ -89,6 +89,7 @@
* @productversion FlexJS 0.0
*/
[Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+
/**
* The Application class is the main class and entry point for a FlexJS
* application. This Application class is different than the
@@ -103,7 +104,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher, IInitialViewApplication
+ public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher, IInitialViewApplication, IPopUpHost, IRenderedObject
{
/**
* Constructor.
@@ -128,6 +129,11 @@
loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
}
+ COMPILE::JS {
+ element = document.getElementsByTagName('body')[0];
+ element.flexjs_wrapper = this;
+ element.className = 'Application';
+ }
}
COMPILE::SWF
@@ -589,10 +595,6 @@
COMPILE::JS
public function start():void
{
- element = document.getElementsByTagName('body')[0];
- element.flexjs_wrapper = this;
- element.className = 'Application';
-
if (model is IBead) addBead(model as IBead);
if (controller is IBead) addBead(controller as IBead);
@@ -656,5 +658,22 @@
{
return this;
}
+
+ COMPILE::SWF
+ override public function set width(value:Number):void
+ {
+ // just eat this.
+ // The stageWidth will be set by SWF metadata.
+ // Setting this directly doesn't do anything
+ }
+
+ COMPILE::SWF
+ override public function set height(value:Number):void
+ {
+ // just eat this.
+ // The stageWidth will be set by SWF metadata.
+ // Setting this directly doesn't do anything
+ }
+
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
index 60111ef..8a54c91 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
@@ -105,6 +105,248 @@
return _info;
}
+ private var _width:Number;
+
+ [Bindable("widthChanged")]
+ [PercentProxy("percentWidth")]
+ /**
+ * @flexjsignorecoercion String
+ */
+ public function get width():Number
+ {
+ var pixels:Number;
+ var strpixels:String = element.style.width as String;
+ if (strpixels !== null && strpixels.indexOf('%') != -1)
+ pixels = NaN;
+ else
+ pixels = parseFloat(strpixels);
+ if (isNaN(pixels)) {
+ pixels = element.offsetWidth;
+ if (pixels === 0 && element.scrollWidth !== 0) {
+ // invisible child elements cause offsetWidth to be 0.
+ pixels = element.scrollWidth;
+ }
+ }
+ return pixels;
+ }
+
+ /**
+ * @private
+ */
+ public function set width(value:Number):void
+ {
+ if (explicitWidth != value)
+ {
+ explicitWidth = value;
+ }
+
+ setWidth(value);
+ }
+
+ private var _height:Number;
+
+ [Bindable("heightChanged")]
+ [PercentProxy("percentHeight")]
+ /**
+ * @flexjsignorecoercion String
+ */
+ public function get height():Number
+ {
+ var pixels:Number;
+ var strpixels:String = element.style.height as String;
+ if (strpixels !== null && strpixels.indexOf('%') != -1)
+ pixels = NaN;
+ else
+ pixels = parseFloat(strpixels);
+ if (isNaN(pixels)) {
+ pixels = element.offsetHeight;
+ if (pixels === 0 && element.scrollHeight !== 0) {
+ // invisible child elements cause offsetHeight to be 0.
+ pixels = element.scrollHeight;
+ }
+ }
+ return pixels;
+ }
+
+ /**
+ * @private
+ */
+ public function set height(value:Number):void
+ {
+ if (explicitHeight != value)
+ {
+ explicitHeight = value;
+ }
+
+ setHeight(value);
+ }
+
+ /**
+ * @copy org.apache.flex.core.ILayoutChild#setHeight
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function setHeight(value:Number, noEvent:Boolean = false):void
+ {
+ if (_height != value)
+ {
+ _height = value;
+ this.element.style.height = value.toString() + 'px';
+ if (!noEvent)
+ dispatchEvent(new Event("heightChanged"));
+ }
+ }
+
+ /**
+ * @copy org.apache.flex.core.ILayoutChild#setWidth
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function setWidth(value:Number, noEvent:Boolean = false):void
+ {
+ if (_width != value)
+ {
+ _width = value;
+ this.element.style.width = value.toString() + 'px';
+ if (!noEvent)
+ dispatchEvent(new Event("widthChanged"));
+ }
+ }
+
+ private var _explicitWidth:Number;
+
+ /**
+ * The explicitly set width (as opposed to measured width
+ * or percentage width).
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get explicitWidth():Number
+ {
+ return _explicitWidth;
+ }
+
+ /**
+ * @private
+ */
+ public function set explicitWidth(value:Number):void
+ {
+ if (_explicitWidth == value)
+ return;
+
+ // width can be pixel or percent not both
+ if (!isNaN(value))
+ _percentWidth = NaN;
+
+ _explicitWidth = value;
+
+ dispatchEvent(new Event("explicitWidthChanged"));
+ }
+
+ private var _explicitHeight:Number;
+
+ /**
+ * The explicitly set width (as opposed to measured width
+ * or percentage width).
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get explicitHeight():Number
+ {
+ return _explicitHeight;
+ }
+
+ /**
+ * @private
+ */
+ public function set explicitHeight(value:Number):void
+ {
+ if (_explicitHeight == value)
+ return;
+
+ // height can be pixel or percent not both
+ if (!isNaN(value))
+ _percentHeight = NaN;
+
+ _explicitHeight = value;
+
+ dispatchEvent(new Event("explicitHeightChanged"));
+ }
+
+ private var _percentWidth:Number;
+
+ /**
+ * The requested percentage width this component
+ * should have in the parent container. Note that
+ * the actual percentage may be different if the
+ * total is more than 100% or if there are other
+ * components with explicitly set widths.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get percentWidth():Number
+ {
+ return _percentWidth;
+ }
+
+ /**
+ * @private
+ */
+ public function set percentWidth(value:Number):void
+ {
+ this._percentWidth = value;
+ this.element.style.width = value.toString() + '%';
+ if (!isNaN(value))
+ this._explicitWidth = NaN;
+ dispatchEvent(new Event("percentWidthChanged"));
+ }
+
+ private var _percentHeight:Number;
+
+ /**
+ * The requested percentage height this component
+ * should have in the parent container. Note that
+ * the actual percentage may be different if the
+ * total is more than 100% or if there are other
+ * components with explicitly set heights.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get percentHeight():Number
+ {
+ return _percentHeight;
+ }
+
+ /**
+ * @private
+ */
+ public function set percentHeight(value:Number):void
+ {
+ this._percentHeight = value;
+ this.element.style.height = value.toString() + '%';
+ if (!isNaN(value))
+ this._explicitHeight = NaN;
+ dispatchEvent(new Event("percentHeightChanged"));
+ }
+
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
index 0dd0b53..0dcb0e3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBase.as
@@ -18,12 +18,9 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.core
{
- import org.apache.flex.core.IMXMLDocument;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.ValueChangeEvent;
- import org.apache.flex.states.State;
- import org.apache.flex.utils.MXMLDataInterpreter;
/**
* Indicates that the state change has completed. All properties
@@ -59,8 +56,6 @@
*/
[Event(name="childrenAdded", type="org.apache.flex.events.Event")]
- [DefaultProperty("mxmlContent")]
-
/**
* The ContainerBase class is the base class for most containers
* in FlexJS. It is usable as the root tag of MXML
@@ -71,7 +66,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ContainerBase extends UIBase implements IMXMLDocument, IStatesObject, IContainer, IContentViewHost
+ public class ContainerBase extends GroupBase implements IStrandPrivate
{
/**
* Constructor.
@@ -84,8 +79,6 @@
public function ContainerBase()
{
super();
-
- _strandChildren = new ContainerBaseStrandChildren(this);
}
private var _strandChildren:ContainerBaseStrandChildren;
@@ -93,135 +86,105 @@
/**
* @private
*/
- public function get strandChildren():IParent
+ override public function get strandChildren():IParent
{
+ if (_strandChildren == null) {
+ _strandChildren = new ContainerBaseStrandChildren(this);
+ }
return _strandChildren;
}
-
- /**
- * @copy org.apache.flex.core.IParent#getElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function getElementAt(index:int):IChild
- {
- var contentView:IParent = view as IParent;
- if (contentView != null) {
- return contentView.getElementAt(index);
- } else {
- return super.getElementAt(index);
- }
- }
-
- /**
- * @private
- */
- override public function getElementIndex(c:IChild):int
- {
- var contentView:IParent = view as IParent;
- if (contentView != null) {
- return contentView.getElementIndex(c);
- } else {
- return super.getElementIndex(c);
- }
- }
-
- /**
- * @private
- */
- override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var contentView:IParent = view as IParent;
- if (contentView != null) {
- contentView.addElement(c, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenAdded"));
- }
- else {
- super.addElement(c);
- }
- }
-
- /**
- * @private
- */
- override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- var contentView:IParent = view as IParent;
- if (contentView != null) {
- contentView.addElementAt(c, index, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenAdded"));
- }
- else {
- super.addElementAt(c, index);
- }
- }
-
- /**
- * @private
- */
- override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var contentView:IParent = view as IParent;
- if (contentView != null) {
- contentView.removeElement(c, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenRemoved"));
- }
- else {
- super.removeElement(c);
- }
- }
-
- /**
- * @private
- */
- public function childrenAdded():void
- {
- dispatchEvent(new Event("childrenAdded"));
- }
-
- /**
- * A ContainerBase doesn't create its children until it is added to
- * a parent.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addedToParent():void
+
+ /*
+ * The following functions are for the SWF-side only and re-direct element functions
+ * to the content area, enabling scrolling and clipping which are provided automatically
+ * in the JS-side.
+ */
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
{
- if (!_initialized)
- {
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
- }
-
- super.addedToParent();
-
- if (!_initialized)
- {
- MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
- _initialized = true;
- }
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ contentView.addElement(c, dispatchEvent);
}
/**
* @private
+ */
+ COMPILE::SWF
+ override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
+ {
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ contentView.addElementAt(c, index, dispatchEvent);
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ override public function getElementIndex(c:IChild):int
+ {
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ return contentView.getElementIndex(c);
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
+ {
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ contentView.removeElement(c, dispatchEvent);
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ override public function get numElements():int
+ {
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ return contentView.numElements;
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ override public function getElementAt(index:int):IChild
+ {
+ var layoutHost:ILayoutHost = view as ILayoutHost;
+ var contentView:IParent = layoutHost.contentView as IParent;
+ return contentView.getElementAt(index);
+ }
+
+ /*
+ * IStrandPrivate
+ *
+ * These "internal" function provide a backdoor way for proxy classes to
+ * operate directly at strand level. While these function are available on
+ * both SWF and JS platforms, they really only have meaning on the SWF-side.
+ * Other subclasses may provide use on the JS-side.
+ *
+ * @see org.apache.flex.core.IContainer#strandChildren
+ */
+
+ /**
+ * @private
* @suppress {undefinedNames}
* Support strandChildren.
*/
public function $numElements():int
{
- return super.numElements();
+ return super.numElements;
}
/**
@@ -274,170 +237,5 @@
return super.getElementAt(index);
}
- private var _mxmlDescriptor:Array;
- private var _mxmlDocument:Object = this;
- private var _initialized:Boolean;
-
- /**
- * @copy org.apache.flex.core.Application#MXMLDescriptor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get MXMLDescriptor():Array
- {
- return _mxmlDescriptor;
- }
-
- /**
- * @private
- */
- public function setMXMLDescriptor(document:Object, value:Array):void
- {
- _mxmlDocument = document;
- _mxmlDescriptor = value;
- }
-
- /**
- * @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function generateMXMLAttributes(data:Array):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, data);
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var mxmlContent:Array;
-
- private var _states:Array;
-
- /**
- * The array of view states. These should
- * be instances of org.apache.flex.states.State.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get states():Array
- {
- return _states;
- }
-
- /**
- * @private
- * @flexjsignorecoercion Class
- * @flexjsignorecoercion org.apache.flex.core.IBead
- */
- public function set states(value:Array):void
- {
- _states = value;
- _currentState = _states[0].name;
-
- try{
- if (getBeadByType(IStatesImpl) == null)
- {
- var c:Class = ValuesManager.valuesImpl.getValue(this, "iStatesImpl") as Class;
- var b:Object = new c();
- addBead(b as IBead);
- }
- }
- //TODO: Need to handle this case more gracefully
- catch(e:Error)
- {
- COMPILE::SWF
- {
- trace(e.message);
- }
- }
-
- }
-
- /**
- * <code>true</code> if the array of states
- * contains a state with this name.
- *
- * @param state The state namem.
- * @return True if state in state array
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function hasState(state:String):Boolean
- {
- for each (var s:State in _states)
- {
- if (s.name == state)
- return true;
- }
- return false;
- }
-
- private var _currentState:String;
-
- [Bindable("currentStateChange")]
- /**
- * The name of the current state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get currentState():String
- {
- return _currentState;
- }
-
- /**
- * @private
- */
- public function set currentState(value:String):void
- {
- var event:ValueChangeEvent = new ValueChangeEvent("currentStateChange", false, false, _currentState, value)
- _currentState = value;
- dispatchEvent(event);
- }
-
- private var _transitions:Array;
-
- /**
- * The array of transitions.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get transitions():Array
- {
- return _transitions;
- }
-
- /**
- * @private
- */
- public function set transitions(value:Array):void
- {
- _transitions = value;
- }
-
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
index e961c1f..d831004 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
@@ -43,10 +43,10 @@
{
super();
- this.owner = owner as ContainerBase;
+ this.owner = owner as IStrandPrivate;
}
- public var owner:ContainerBase;
+ public var owner:IStrandPrivate;
/**
* @private
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/DataContainerBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/DataContainerBase.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/GroupBase.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
index 6ba908d..d67686e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/HTMLElementWrapper.as
@@ -108,7 +108,7 @@
/**
* allow access from overrides
*/
- protected var _model:IBeadModel;
+ protected var _model:Object;
/**
* @flexjsignorecoercion Class
@@ -127,11 +127,15 @@
return _model;
}
+ [Bindable("modelChanged")]
public function set model(value:Object):void
{
if (_model != value)
{
- addBead(value as IBead);
+ if (value is IBead)
+ addBead(value as IBead);
+ else
+ _model = value;
dispatchEvent(new org.apache.flex.events.Event("modelChanged"));
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/IList.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
similarity index 88%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
index f23f035..adadc75 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/LayoutBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/LayoutBase.as
@@ -53,6 +53,8 @@
{
}
+ private var sawInitComplete:Boolean;
+
/**
* The strand/host container is also an ILayoutChild because
* it can have its size dictated by the host's parent which is
@@ -116,12 +118,19 @@
protected function handleChildrenAdded(event:Event):void
{
COMPILE::SWF {
- var n:Number = layoutView.numElements;
- for(var i:int=0; i < n; i++) {
- var child:IEventDispatcher = layoutView.getElementAt(i) as IEventDispatcher;
- child.addEventListener("widthChanged", childResizeHandler);
- child.addEventListener("heightChanged", childResizeHandler);
- child.addEventListener("sizeChanged", childResizeHandler);
+ if (sawInitComplete)
+ {
+ performLayout();
+ }
+ else
+ {
+ var n:Number = layoutView.numElements;
+ for(var i:int=0; i < n; i++) {
+ var child:IEventDispatcher = layoutView.getElementAt(i) as IEventDispatcher;
+ child.addEventListener("widthChanged", childResizeHandler);
+ child.addEventListener("heightChanged", childResizeHandler);
+ child.addEventListener("sizeChanged", childResizeHandler);
+ }
}
}
}
@@ -163,7 +172,21 @@
*/
protected function handleInitComplete(event:Event):void
{
- performLayout();
+ sawInitComplete = true;
+
+ COMPILE::SWF
+ {
+ // Complete the setup if the height is sized to content or has been explicitly set
+ // and the width is sized to content or has been explicitly set
+ if ((host.isHeightSizedToContent() || !isNaN(host.explicitHeight)) &&
+ (host.isWidthSizedToContent() || !isNaN(host.explicitWidth)))
+ performLayout();
+ }
+ COMPILE::JS
+ {
+ // always run layout since there are no size change events
+ performLayout();
+ }
}
/**
@@ -195,8 +218,10 @@
ml = 0;
if (marginRight == "auto")
mr = 0;
+ if (margin == "auto")
+ ml = mr = mt = mb = 0;
- return {left:ml, top:mt, right:mr, bottom:mb};
+ return {left:ml, top:mt, right:mr, bottom:mb, auto: (marginLeft == "auto" && marginRight == "auto") || margin == "auto"};
}
/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
index 562e74e..3ec846a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ListBase.as
@@ -17,15 +17,12 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.core
-{
- import org.apache.flex.core.IMXMLDocument;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.ValueChangeEvent;
- import org.apache.flex.states.State;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
+{
+ /*
+ *************
+ * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
+ */
+
/**
* The ListBase class is the base class for most lists
* in FlexJS.
@@ -35,7 +32,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ListBase extends UIBase implements IContentViewHost, ILayoutParent
+ public class ListBase extends DataContainerBase
{
/**
* Constructor.
@@ -47,89 +44,7 @@
*/
public function ListBase()
{
- super();
-
- _strandChildren = new ListBaseStrandChildren(this);
+ super();
}
-
- private var _strandChildren:ListBaseStrandChildren;
-
- /**
- * @private
- */
- public function get strandChildren():IParent
- {
- return _strandChildren;
- }
-
- /**
- * @private
- */
- public function getLayoutHost():ILayoutHost
- {
- return view as ILayoutHost;
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $numElements():int
- {
- return super.numElements();
- }
-
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- super.addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $getElementIndex(c:IChild):int
- {
- return super.getElementIndex(c);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $getElementAt(index:int):IChild
- {
- return super.getElementAt(index);
- }
-
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
index 842ec95..d917b8d 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
@@ -32,6 +32,7 @@
COMPILE::SWF {
import org.apache.flex.events.utils.MouseEventConverter;
}
+ import org.apache.flex.utils.StringUtil;
/**
* Set a different class for click events so that
@@ -157,6 +158,7 @@
COMPILE::SWF
{
MouseEventConverter.setupInstanceConverters(this);
+ doubleClickEnabled = true; // make JS and flash consistent
}
COMPILE::JS
@@ -357,6 +359,8 @@
return w;
}
+ [Bindable("widthChanged")]
+ [PercentProxy("percentWidth")]
/**
* @flexjsignorecoercion String
*/
@@ -447,6 +451,8 @@
return h;
}
+ [Bindable("heightChanged")]
+ [PercentProxy("percentHeight")]
/**
* @flexjsignorecoercion String
*/
@@ -646,7 +652,7 @@
COMPILE::JS
public function set x(value:Number):void
{
- positioner.style.position = 'absolute';
+ //positioner.style.position = 'absolute';
positioner.style.left = value.toString() + 'px';
}
@@ -679,7 +685,7 @@
}
COMPILE::JS
{
- positioner.style.position = 'absolute';
+ //positioner.style.position = 'absolute';
positioner.style.left = value.toString() + 'px';
}
}
@@ -702,7 +708,7 @@
COMPILE::JS
public function set y(value:Number):void
{
- positioner.style.position = 'absolute';
+ //positioner.style.position = 'absolute';
positioner.style.top = value.toString() + 'px';
}
@@ -735,7 +741,7 @@
}
COMPILE::JS
{
- positioner.style.position = 'absolute';
+ //positioner.style.position = 'absolute';
positioner.style.top = value.toString() + 'px';
}
}
@@ -793,7 +799,7 @@
}
else
{
- if (displayStyleForLayout)
+ if (displayStyleForLayout != null)
positioner.style.display = displayStyleForLayout;
dispatchEvent(new Event('show'));
}
@@ -911,6 +917,10 @@
_id = value;
dispatchEvent(new Event("idChanged"));
}
+ COMPILE::JS
+ {
+ element.id = _id;
+ }
}
private var _style:Object;
@@ -984,18 +994,24 @@
/**
* @private
*/
- public function set className(value:String):void
- {
- if (_className != value)
- {
+ public function set className(value:String):void
+ {
+ if (_className != value)
+ {
COMPILE::JS
{
- element.className = typeNames ? value + ' ' + typeNames : value;
+ setClassName(typeNames ? StringUtil.trim(value + ' ' + typeNames) : value);
}
- _className = value;
- dispatchEvent(new Event("classNameChanged"));
- }
- }
+ _className = value;
+ dispatchEvent(new Event("classNameChanged"));
+ }
+ }
+
+ COMPILE::JS
+ protected function setClassName(value:String):void
+ {
+ element.className = value;
+ }
/**
* @copy org.apache.flex.core.IUIBase#element
@@ -1177,6 +1193,10 @@
COMPILE::JS
{
var children:Array = internalChildren();
+ if (children.length == 0)
+ {
+ return null;
+ }
return children[index].flexjs_wrapper;
}
}
@@ -1454,7 +1474,7 @@
if (positioner == null)
positioner = element;
positioner.style.display = 'block';
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
@@ -1526,7 +1546,7 @@
COMPILE::SWF
{
- [SWFOverride(params="flash.events.Event")]
+ [SWFOverride(params="flash.events.Event", altparams="org.apache.flex.events.Event:org.apache.flex.events.MouseEvent")]
override public function dispatchEvent(event:org.apache.flex.events.Event):Boolean
{
return super.dispatchEvent(event);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
index de37c99..0935c2c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
@@ -103,14 +103,12 @@
*/
override public function set x(value:Number):void
{
- if (super.x != value) {
- super.x = _x = value;
- if (!style)
- style = { left: value };
- else
- style.left = value;
- dispatchEvent(new Event("xChanged"));
- }
+ super.x = _x = value;
+ if (!style)
+ style = { left: value };
+ else
+ style.left = value;
+ dispatchEvent(new Event("xChanged"));
}
private var _y:Number;
@@ -120,14 +118,12 @@
*/
override public function set y(value:Number):void
{
- if (super.y != value) {
- super.y = _y = value;
- if (!style)
- style = { top: value };
- else
- style.top = value;
- dispatchEvent(new Event("yChanged"));
- }
+ super.y = _y = value;
+ if (!style)
+ style = { top: value };
+ else
+ style.top = value;
+ dispatchEvent(new Event("yChanged"));
}
/**
@@ -750,7 +746,7 @@
_model = bead as IBeadModel;
else if (bead is IBeadView)
_view = bead as IBeadView;
- bead.strand = this;
+ bead.strand = this; // super.addBead already did this!
}
/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
index 2d0f2c4..27882f3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/View.as
@@ -17,7 +17,18 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.core
-{
+{
+ import org.apache.flex.core.IMXMLDocument;
+ import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.utils.MXMLDataInterpreter;
+
+ /**
+ * The default property uses when additional MXML content appears within an element's
+ * definition in an MXML file.
+ */
+ [DefaultProperty("mxmlContent")]
+
/**
* The View class is the class for most views in a FlexJS
* application. It is generally used as the root tag of MXML
@@ -29,6 +40,84 @@
* @productversion FlexJS 0.0
*/
public class View extends ViewBase
- {
+ {
+ public function View()
+ {
+ super();
+ }
+
+ private var _mxmlDescriptor:Array;
+ private var _mxmlDocument:Object = this;
+ private var _initialized:Boolean;
+
+ /**
+ * @private
+ */
+ override public function addedToParent():void
+ {
+ if (!_initialized)
+ {
+ // each MXML file can also have styles in fx:Style block
+ ValuesManager.valuesImpl.init(this);
+ }
+
+ super.addedToParent();
+
+ if (!_initialized)
+ {
+ MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
+
+ dispatchEvent(new Event("initBindings"));
+ dispatchEvent(new Event("initComplete"));
+ _initialized = true;
+
+ // - why was this added here? childrenAdded(); //?? Is this necessary since MXMLDataInterpreter will already have called it
+ }
+ }
+
+ /**
+ * @copy org.apache.flex.core.Application#MXMLDescriptor
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function get MXMLDescriptor():Array
+ {
+ return _mxmlDescriptor;
+ }
+
+ /**
+ * @private
+ */
+ public function setMXMLDescriptor(document:Object, value:Array):void
+ {
+ _mxmlDocument = document;
+ _mxmlDescriptor = value;
+ }
+
+ /**
+ * @copy org.apache.flex.core.Application#generateMXMLAttributes()
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function generateMXMLAttributes(data:Array):void
+ {
+ MXMLDataInterpreter.generateMXMLProperties(this, data);
+ }
+
+ /**
+ * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public var mxmlContent:Array;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
index 73092af..cd9b835 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ViewBase.as
@@ -23,36 +23,36 @@
//--------------------------------------
// Events
//--------------------------------------
-
+
/**
* Dispatched at startup. Attributes and sub-instances of
* the MXML document have been created and assigned.
* The component lifecycle is different
* than the Flex SDK. There is no creationComplete event.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
[Event(name="initComplete", type="org.apache.flex.events.Event")]
-
+
[DefaultProperty("mxmlContent")]
-
+
/**
* The ViewBase class is the base class for most views in a FlexJS
* application.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ViewBase extends ContainerBase implements IPopUpHost, IApplicationView, ILayoutParent
+ public class ViewBase extends GroupBase implements IPopUpHost, IApplicationView
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -61,19 +61,19 @@
public function ViewBase()
{
super();
-
+
className = "flexjs";
}
-
+
private var _applicationModel:Object;
-
+
[Bindable("modelChanged")]
-
+
/**
* A reference to the Application's model. Usually,
* a view is displaying the main model for an
* application.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -83,7 +83,7 @@
{
return _applicationModel;
}
-
+
/**
* @private
*/
@@ -92,20 +92,6 @@
_applicationModel = value;
dispatchEvent(new Event("modelChanged"));
}
-
- /**
- * Implements the ILayoutParent protocol by returning the bead that
- * is acting as the host for layout.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getLayoutHost():ILayoutHost
- {
- return getBeadByType(ILayoutHost) as ILayoutHost;
- }
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Accordion.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Accordion.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Accordion.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Accordion.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
index b7f50dc..d117923 100644
--- 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
@@ -127,14 +127,34 @@
titleBar = new TitleBar();
addElement(titleBar);
titleBar.element.id = 'titleBar';
+ titleBar.percentWidth = 100;
+ titleBar.height = 24;
+ titleBar.element.style.top = "0px";
+ titleBar.element.style.right = "0px";
+ titleBar.element.style.left = "0px";
+ titleBar.element.style.marginBottom = "6px";
+
label = new Label();
addElement(label);
+ label.element.style.display = "block";
+ label.element.style.padding = "6px";
+ label.element.style.left = "0px";
+ label.element.style.right = "0px";
+ label.element.style.whiteSpace = "normal";
+
label.element.id = 'message';
// add a place for the buttons
buttonArea = new Container();
+ buttonArea.percentWidth = 100;
+ buttonArea.height = 28;
addElement(buttonArea);
+ buttonArea.element.style.marginTop = "6px";
+ buttonArea.element.style.marginBottom = "6px";
+ buttonArea.element.style.padding = "2px";
+ buttonArea.element.style.left = "0px";
+ buttonArea.element.style.right = "0px";
buttonArea.element.id = 'buttonArea';
return element;
@@ -157,7 +177,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : void
+ static public function show( text:String, parent:Object, title:String="", flags:uint=Alert.OK ) : Alert
{
var alert:Alert = new Alert();
alert.message = text;
@@ -168,11 +188,12 @@
COMPILE::JS
{
- alert.positioner.style.position = 'relative';
- alert.positioner.style.width = '200px';
alert.positioner.style.margin = 'auto';
- alert.positioner.style.top = '100px';
+ alert.positioner.style.left = "50%";
+ alert.positioner.style.top = "50%";
+ alert.positioner.style.width = "200px";
}
+ return alert;
}
/**
@@ -206,6 +227,10 @@
public function set title(value:String):void
{
IAlertModel(model).title = value;
+ COMPILE::JS {
+ titleBar.title = value;
+ }
+
}
/**
@@ -223,6 +248,10 @@
public function set message(value:String):void
{
IAlertModel(model).message = value;
+ COMPILE::JS {
+ label.text = value;
+ }
+
}
/**
@@ -248,24 +277,28 @@
var ok:TextButton = new TextButton();
buttonArea.addElement(ok);
ok.text = 'OK';
+ ok.element.style.margin = "4px";
goog.events.listen(ok.element, 'click', dismissAlert);
}
if (flags & Alert.CANCEL) {
var cancel:TextButton = new TextButton();
buttonArea.addElement(cancel);
cancel.text = 'Cancel';
+ cancel.element.style.margin = "4px";
goog.events.listen(cancel.element, 'click', dismissAlert);
}
if (flags & Alert.YES) {
var yes:TextButton = new TextButton();
buttonArea.addElement(yes);
yes.text = 'YES';
+ yes.element.style.margin = "4px";
goog.events.listen(yes.element, 'click', dismissAlert);
}
if (flags & Alert.NO) {
var nob:TextButton = new TextButton();
buttonArea.addElement(nob);
nob.text = 'NO';
+ nob.element.style.margin = "4px";
goog.events.listen(nob.element, 'click', dismissAlert);
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/BinaryImage.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/BinaryImage.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
index e4c58e7..0dffead 100644
--- 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
@@ -18,23 +18,26 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
+ import org.apache.flex.html.beads.models.ButtonBarModel;
+
COMPILE::JS
{
- import org.apache.flex.core.WrappedHTMLElement;
+ 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
+ * 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.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -54,7 +57,25 @@
{
super();
}
-
+
+ public function get buttonWidths():Array
+ {
+ return ButtonBarModel(model).buttonWidths;
+ }
+ public function set buttonWidths(value:Array):void
+ {
+ ButtonBarModel(model).buttonWidths = value;
+ }
+
+ public function get widthType():Number
+ {
+ return ButtonBarModel(model).widthType;
+ }
+ public function set widthType(value:Number):void
+ {
+ ButtonBarModel(model).widthType = value;
+ }
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -62,14 +83,12 @@
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;
}
}
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
index a30f0cf..72d19e1 100644
--- 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
@@ -84,7 +84,6 @@
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
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CSSCheckBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CSSCheckBox.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/CSSCheckBox.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
index 632b539..d8e8568 100644
--- 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
@@ -57,6 +57,7 @@
* The CheckBox class implements the common user interface
* control. The CheckBox includes its text label.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -105,6 +106,7 @@
/**
* <code>true</code> if the check mark is displayed.
*
+ * @default false
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -130,6 +132,16 @@
}
}
+ /**
+ * 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")]
+
COMPILE::JS
public class CheckBox extends UIBase
{
@@ -153,7 +165,7 @@
element.appendChild(document.createTextNode(''));
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
_icon.element.flexjs_wrapper = this;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
index fa91fec..d8fa7d5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ComboBox.as
@@ -18,15 +18,11 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
- import org.apache.flex.core.IComboBoxModel;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- COMPILE::JS
- {
- import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
- }
+ import org.apache.flex.core.IComboBoxModel;
+ import org.apache.flex.html.beads.models.ComboBoxModel;
[Event(name="change", type="org.apache.flex.events.Event")]
@@ -40,9 +36,6 @@
* 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
@@ -52,7 +45,7 @@
public class ComboBox extends UIBase
{
/**
- * constructor.
+ * Constructor.
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -62,6 +55,8 @@
public function ComboBox()
{
super();
+
+ className = "ComboBox";
}
/**
@@ -81,6 +76,7 @@
IComboBoxModel(model).dataProvider = value;
}
+ [Bindable("change")]
/**
* The index of the currently selected item. Changing this item changes
* the selectedItem value.
@@ -99,6 +95,7 @@
IComboBoxModel(model).selectedIndex = value;
}
+ [Bindable("change")]
/**
* The item that is currently selected. Changing this item changes
* the selectedIndex.
@@ -117,161 +114,5 @@
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);
- }
-
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
index ee30b7f..cbcf526 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Container.as
@@ -19,17 +19,18 @@
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.core.IMXMLDocument;
+ import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
+ import org.apache.flex.utils.MXMLDataInterpreter;
+ /**
+ * The default property uses when additional MXML content appears within an element's
+ * definition in an MXML file.
+ */
[DefaultProperty("mxmlContent")]
-
+
+
/**
* The Container class implements a basic container for
* other controls and containers. The position and size
@@ -58,6 +59,7 @@
* control and not a Container because the Alert does not
* support an arbitrary set of children.
*
+ * @toplevel
* @see org.apache.flex.html.beads.layout
* @see org.apache.flex.html.supportClasses.ScrollingViewport
* @langversion 3.0
@@ -65,7 +67,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class Container extends ContainerBase
+ public class Container extends ContainerBase implements IMXMLDocument
{
/**
* Constructor.
@@ -79,30 +81,79 @@
{
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;
- }
+
+ private var _mxmlDescriptor:Array;
+ private var _mxmlDocument:Object = this;
+ private var _initialized:Boolean;
+
+ /**
+ * @private
+ */
+ override public function addedToParent():void
+ {
+ if (!_initialized)
+ {
+ // each MXML file can also have styles in fx:Style block
+ ValuesManager.valuesImpl.init(this);
+ }
+
+ super.addedToParent();
+
+ if (!_initialized)
+ {
+ MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
+
+ dispatchEvent(new Event("initBindings"));
+ dispatchEvent(new Event("initComplete"));
+ _initialized = true;
+
+ //?? why is this here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will have already called it
+ }
+ }
+
+ /**
+ * @copy org.apache.flex.core.Application#MXMLDescriptor
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function get MXMLDescriptor():Array
+ {
+ return _mxmlDescriptor;
+ }
+
+ /**
+ * @private
+ */
+ public function setMXMLDescriptor(document:Object, value:Array):void
+ {
+ _mxmlDocument = document;
+ _mxmlDescriptor = value;
+ }
+
+ /**
+ * @copy org.apache.flex.core.Application#generateMXMLAttributes()
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function generateMXMLAttributes(data:Array):void
+ {
+ MXMLDataInterpreter.generateMXMLProperties(this, data);
+ }
+
+ /**
+ * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public var mxmlContent:Array;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
index da65539..588bd8c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ControlBar.as
@@ -18,36 +18,36 @@
////////////////////////////////////////////////////////////////////////////////
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;
+ 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
+ * 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.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ControlBar extends Container implements IContainer, IChrome
+ public class ControlBar extends Group implements IChrome
{
/**
* constructor.
@@ -60,40 +60,36 @@
public function ControlBar()
{
super();
-
+
className = "ControlBar";
}
-
+
/**
* @private
*/
override public function addedToParent():void
{
- super.addedToParent();
+ 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;
-
+ element = document.createElement('div') as WrappedHTMLElement;
+
+ positioner = element;
+ element.flexjs_wrapper = this;
+
return element;
- }
+ }
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataContainer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataContainer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
index c271134..5a17c4a 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DataGrid.as
@@ -22,7 +22,10 @@
import org.apache.flex.core.IDataGridModel;
import org.apache.flex.core.IDataGridPresentationModel;
import org.apache.flex.core.UIBase;
+ import org.apache.flex.core.GroupBase;
+ import org.apache.flex.core.ValuesManager;
import org.apache.flex.html.beads.models.DataGridPresentationModel;
+ import org.apache.flex.events.Event;
[Event(name="change", type="org.apache.flex.events.Event")]
@@ -34,12 +37,13 @@
* 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.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DataGrid extends UIBase
+ public class DataGrid extends GroupBase
{
/**
* constructor.
@@ -103,6 +107,15 @@
{
return IDataGridModel(model).selectedIndex;
}
+ public function set selectedIndex(value:int):void
+ {
+ IDataGridModel(model).selectedIndex = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _presentationModel:IDataGridPresentationModel;
/**
* The DataGrid's presentation model
@@ -114,16 +127,22 @@
*/
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;
+ if (_presentationModel == null) {
+ var c:Class = ValuesManager.valuesImpl.getValue(this, "iDataGridPresentationModel");
+ if (c) {
+ var presModel:Object = new c();
+ _presentationModel = presModel as IDataGridPresentationModel;
+ if (_presentationModel != null) {
+ addBead(_presentationModel as IBead);
+ }
+ }
}
- return presModel;
+
+ return _presentationModel;
+ }
+ public function set presentationModel(value:IDataGridPresentationModel):void
+ {
+ _presentationModel = value;
}
/**
@@ -143,24 +162,10 @@
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
+ override public function addedToParent():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);
+ super.addedToParent();
+ dispatchEvent(new Event("initComplete"));
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
index 62b5a3e..971ed75 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateChooser.as
@@ -19,7 +19,7 @@
package org.apache.flex.html
{
import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.core.UIBase;
+ import org.apache.flex.html.Group;
/**
* The change event is dispatched when the selectedDate is changed.
@@ -29,12 +29,13 @@
/**
* The DateChooser class is a component that displays a calendar.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DateChooser extends UIBase
+ public class DateChooser extends Group
{
/**
* constructor.
@@ -47,11 +48,9 @@
public function DateChooser()
{
super();
- className = "DateChooser";
-
- // fix the DateChooser's size
- width = 280;
- height = 240;
+
+ // default to today
+ selectedDate = new Date();
}
/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
index a4d9d27..c953773 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DateField.as
@@ -34,6 +34,7 @@
* and a pop-up calendar control for picking a date as an alternative to
* the text field.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
index dd069b2..d547f27 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/DropDownList.as
@@ -23,24 +23,25 @@
COMPILE::JS
{
import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
import org.apache.flex.html.beads.models.ArraySelectionModel;
}
-
+
//--------------------------------------
// Events
//--------------------------------------
-
+
/**
* Dispatched when the user selects an item.
- *
+ *
+ * @toplevel
* @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.
@@ -48,23 +49,23 @@
* 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
+ *
+ * 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
@@ -77,12 +78,12 @@
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
@@ -108,14 +109,14 @@
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++) {
@@ -129,11 +130,11 @@
}
}
-
+
[Bindable("change")]
/**
* @copy org.apache.flex.core.ISelectionModel#selectedIndex
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -156,12 +157,12 @@
(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
@@ -184,7 +185,7 @@
(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.
@@ -202,7 +203,7 @@
{
ISelectionModel(model).labelField = value;
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
* @flexjsignorecoercion HTMLSelectElement
@@ -214,15 +215,15 @@
(element as HTMLSelectElement).size = 1;
goog.events.listen(element, 'change',
changeHandler);
-
+
positioner = element;
- positioner.style.position = 'relative';
-
+ //positioner.style.position = 'relative';
+
element.flexjs_wrapper = this;
-
+
return element;
- }
-
+ }
+
/**
* @flexjsignorecoercion HTMLSelectElement
*/
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
index d7b0459..ef258c2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Form.as
@@ -18,28 +18,27 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
- import org.apache.flex.core.ContainerBase;
-
COMPILE::JS
{
import org.apache.flex.core.WrappedHTMLElement;
}
-
+
[DefaultProperty("mxmlContent")]
/**
* The Form class is a simple form.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class Form extends ContainerBase
+ public class Form extends Group
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -49,23 +48,23 @@
{
super();
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
COMPILE::JS
override protected function createElement():WrappedHTMLElement
- {HTMLFormElement
+ {
element = document.createElement('form') as WrappedHTMLElement;
-
+
positioner = element;
-
- positioner.style.position = 'relative';
+
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
return element;
}
-
+
private var _action:String = "#";
[Bindable("actionChange")]
@@ -95,5 +94,5 @@
this.dispatchEvent('actionChange');
}
}
- }
-}
\ No newline at end of file
+ }
+}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Group.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Group.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
index 9f38883..2a19648 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HContainer.as
@@ -38,12 +38,13 @@
* </basic:Container>
* </code>
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class HContainer extends Container implements IContainer
+ public class HContainer extends Container
{
/**
* Constructor.
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
similarity index 74%
copy from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
copy to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
index 3ec846a..c228d26 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HGroup.as
@@ -16,35 +16,31 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- /*
- *************
- * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
- */
-
+package org.apache.flex.html
+{
/**
- * The ListBase class is the base class for most lists
- * in FlexJS.
- *
+ * This Group subclass uses HorizontalLayout as its default layout.
+ *
+ * @toplevel
+ * @see org.apache.flex.html.beads.layout
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+ * @productversion FlexJS 0.8
*/
- public class ListBase extends DataContainerBase
+ public class HGroup extends Group
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+ * @productversion FlexJS 0.8
*/
- public function ListBase()
+ public function HGroup()
{
- super();
+ super();
}
- }
+ }
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
index 7c2fb2f..3017a34 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/HRule.as
@@ -17,26 +17,27 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
-{
+{
import org.apache.flex.core.UIBase;
COMPILE::JS
{
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
-
+
/**
* The HRule class displays a horizontal line
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public class HRule extends UIBase
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -46,7 +47,7 @@
{
super();
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -55,9 +56,9 @@
{
element = document.createElement('hr') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
return element;
- }
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
index 9268f9d..6b206c1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Image.as
@@ -18,28 +18,23 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
- import org.apache.flex.core.IImageModel;
- import org.apache.flex.core.UIBase;
+ import org.apache.flex.core.ImageBase;
+
COMPILE::JS
{
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.html.beads.models.ImageModel;
- import org.apache.flex.html.beads.ImageView;
+ import org.apache.flex.core.WrappedHTMLElement;
}
-
- /**
- * The Image class is a component that displays a bitmap. The Image uses
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model for the Image, including the source property.
- * org.apache.flex.core.IBeadView: constructs the visual elements of the component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Image extends UIBase
+
+ /**
+ * Load Images.
+ *
+ * @toplevel
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class Image extends ImageBase
{
/**
* constructor.
@@ -53,25 +48,7 @@
{
super();
}
-
- /**
- * The location of the bitmap, usually a URL.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IImageModel
- */
- public function get src():String
- {
- return (model as IImageModel).url;
- }
- public function set src(value:String):void
- {
- (model as IImageModel).url = value;
- }
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -81,13 +58,25 @@
element = document.createElement('img') as WrappedHTMLElement;
element.className = 'Image';
typeNames = 'Image';
-
+
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
return element;
- }
+ }
+
+ COMPILE::JS
+ override public function get imageElement():Element
+ {
+ return element;
+ }
+
+ COMPILE::JS
+ override public function applyImageData(binaryDataAsString:String):void
+ {
+ (element as HTMLImageElement).src = binaryDataAsString;
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
index 8bdcc6a..ccdbc3b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
@@ -22,23 +22,24 @@
import org.apache.flex.html.beads.models.ImageAndTextModel;
COMPILE::JS
{
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
-
+
/**
* The ImageTextButton class implements a basic button that
* displays and image and text.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public class ImageAndTextButton extends TextButton
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -48,7 +49,7 @@
{
super();
}
-
+
/**
* @private
*/
@@ -57,7 +58,7 @@
{
return ImageAndTextModel(model).text;
}
-
+
/**
* @private
*/
@@ -67,13 +68,13 @@
ImageAndTextModel(model).text = value;
COMPILE::JS
{
- setInnerHTML();
+ setInnerHTML();
}
}
-
+
/**
* The URL of an icon to use in the button
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -83,7 +84,7 @@
{
return ImageAndTextModel(model).image;
}
-
+
/**
* @private
*/
@@ -92,10 +93,10 @@
ImageAndTextModel(model).image = value;
COMPILE::JS
{
- setInnerHTML();
+ setInnerHTML();
}
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -104,13 +105,13 @@
{
element = document.createElement('button') as WrappedHTMLElement;
element.setAttribute('type', 'button');
-
+
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
return element;
- }
+ }
/**
*/
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
index f61f5ee..4b89037 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ImageButton.as
@@ -19,6 +19,9 @@
package org.apache.flex.html
{
import org.apache.flex.core.SimpleCSSStyles;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.html.beads.models.ImageModel;
+
COMPILE::JS
{
import org.apache.flex.core.WrappedHTMLElement;
@@ -27,6 +30,7 @@
/**
* The ImageButton class presents an image as a button.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -52,18 +56,19 @@
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement("input") as WrappedHTMLElement;
- positioner = element;
- element.flexjs_wrapper = this;
+ override protected function createElement():WrappedHTMLElement
+ {
+ element = document.createElement('button') as WrappedHTMLElement;
+ element.setAttribute('type', 'button');
- var inputElement:HTMLInputElement = element as HTMLInputElement;
- inputElement.type = "image";
+ positioner = element;
+ //positioner.style.position = 'relative';
+ element.flexjs_wrapper = this;
- return element;
- }
+ return element;
+ }
+ [Bindable("srcChanged")]
/**
* Sets the image for the button. This is a URL.
* TODO: figure out how to set the source in the style, rather than using
@@ -71,19 +76,28 @@
*/
public function get src():String
{
- return style.backgroundImage;
+ return ImageModel(model).url;
}
public function set src(url:String):void
{
- if (!style)
- style = new SimpleCSSStyles();
- style.backgroundImage = url;
-
- COMPILE::JS {
- var inputElement:HTMLInputElement = element as HTMLInputElement;
- inputElement.src = url;
+ ImageModel(model).url = url;
+ COMPILE::SWF
+ {
+ if (!style)
+ style = new SimpleCSSStyles();
+ style.backgroundImage = url;
}
+
+ COMPILE::JS
+ {
+ var inner:String = '';
+ if (url)
+ inner = "<img src='" + url + "'/>";
+ element.innerHTML = inner;
+ }
+
+ dispatchEvent(new Event("srcChanged"));
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
index 17c8b3f..fb2481f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/List.as
@@ -18,52 +18,39 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
- import org.apache.flex.core.ContainerBaseStrandChildren;
- import org.apache.flex.core.IContentViewHost;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IFactory;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererProvider;
- import org.apache.flex.core.IListPresentationModel;
import org.apache.flex.core.IRollOverModel;
import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.ListBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.html.beads.ListView;
- import org.apache.flex.html.supportClasses.DataGroup;
- }
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.beads.models.ListPresentationModel;
-
+
+ COMPILE::JS
+ {
+ import org.apache.flex.core.WrappedHTMLElement;
+ }
+
/**
* Indicates that the initialization of the list is complete.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
[Event(name="initComplete", type="org.apache.flex.events.Event")]
-
+
/**
* The change event is dispatched whenever the list's selection changes.
- *
+ *
* @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 List class is a component that displays multiple data items. The List 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 list.
@@ -71,13 +58,13 @@
* org.apache.flex.core.IBeadLayout: the bead responsible for the size and position of the itemRenderers.
* 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 list.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class List extends ListBase implements IItemRendererProvider
+ public class List extends DataContainer
{
/**
* constructor.
@@ -91,41 +78,6 @@
{
super();
}
-
- /**
- * 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;
- }
-
- /**
- * The data being display by the List.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataProvider():Object
- {
- return ISelectionModel(model).dataProvider;
- }
- public function set dataProvider(value:Object):void
- {
- ISelectionModel(model).dataProvider = value;
- }
/**
* The index of the currently selected item. Changing this value
@@ -161,25 +113,7 @@
{
IRollOverModel(model).rollOverIndex = value;
}
-
- /**
- * The presentation model for the list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get presentationModel():IListPresentationModel
- {
- var presModel:IListPresentationModel = getBeadByType(IListPresentationModel) as IListPresentationModel;
- if (presModel == null) {
- presModel = new ListPresentationModel();
- addBead(presModel);
- }
- return presModel;
- }
-
+
/**
* The default height of each cell in every column
*
@@ -196,9 +130,9 @@
{
presentationModel.rowHeight = value;
}
-
+
/**
- * The item currently selected. Changing this value also
+ * The item currently selected. Changing this value also
* changes the selectedIndex property.
*
* @langversion 3.0
@@ -214,75 +148,11 @@
{
ISelectionModel(model).selectedItem = value;
}
-
- private var _itemRenderer:IFactory;
-
- /**
- * The class or factory used to display each item.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+
+ /*
+ * UIBase
*/
- public function get itemRenderer():IFactory
- {
- return _itemRenderer;
- }
- public function set itemRenderer(value:IFactory):void
- {
- _itemRenderer = value;
- }
-
- /**
- * Returns whether or not the itemRenderer property has been set.
- *
- * @see org.apache.flex.core.IItemRendererProvider
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get hasItemRenderer():Boolean
- {
- var result:Boolean = false;
-
- COMPILE::SWF {
- result = _itemRenderer != null;
- }
-
- COMPILE::JS {
- var test:* = _itemRenderer;
- result = _itemRenderer !== null && test !== undefined;
- }
-
- return result;
- }
-
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- super.addedToParent();
-
- if (getBeadByType(IDataProviderItemRendererMapper) == null)
- {
- var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
- addBead(mapper);
- }
- var itemRendererFactory:IItemRendererClassFactory = getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (!itemRendererFactory)
- {
- itemRendererFactory = new (ValuesManager.valuesImpl.getValue(this, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- addBead(itemRendererFactory);
- }
-
- dispatchEvent(new Event("initComplete"));
- }
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -291,21 +161,8 @@
{
super.createElement();
className = 'List';
-
- return element;
- }
- /**
- * @flexjsignorecoercion org.apache.flex.html.beads.ListView
- * @flexjsignorecoercion org.apache.flex.html.supportClasses.DataGroup
- */
- COMPILE::JS
- override public function internalChildren():Array
- {
- var listView:ListView = getBeadByType(ListView) as ListView;
- var dg:DataGroup = listView.dataGroup as DataGroup;
- var renderers:Array = dg.internalChildren();
- return renderers;
- };
+ return element;
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
index 1807381..4bfa105 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/MXMLBeadView.as
@@ -19,7 +19,7 @@
package org.apache.flex.html
{
import org.apache.flex.states.State;
-
+
import org.apache.flex.core.IBead;
import org.apache.flex.core.ILayoutHost;
import org.apache.flex.core.IParent;
@@ -27,28 +27,28 @@
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IStatesImpl;
import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.beads.ContainerView;
+ import org.apache.flex.html.beads.GroupView;
import org.apache.flex.events.Event;
import org.apache.flex.events.ValueChangeEvent;
import org.apache.flex.utils.MXMLDataInterpreter;
[DefaultProperty("mxmlContent")]
-
+
/**
* The MXMLBeadView class extends ContainerView
* and adds support for databinding and specification
* of children in MXML.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class MXMLBeadView extends ContainerView implements IStrand, ILayoutHost
+ public class MXMLBeadView extends GroupView implements IStrand, ILayoutHost
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -58,12 +58,12 @@
{
super();
}
-
+
[Bindable("strandChanged")]
/**
* An MXMLBeadView doesn't create its children until it is added to
* the strand.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -74,21 +74,21 @@
super.strand = value;
// each MXML file can also have styles in fx:Style block
ValuesManager.valuesImpl.init(this);
-
- dispatchEvent(new Event("strandChanged"));
-
+
+ dispatchEvent(new Event("strandChanged"));
+
for each (var bead:IBead in beads)
addBead(bead);
-
+
dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"))
- dispatchEvent(new Event("initComplete"))
+
dispatchEvent(new Event("childrenAdded"));
+ dispatchEvent(new Event("initBindings"));
+ dispatchEvent(new Event("initComplete"));
}
-
+
[Bindable("__NoChangeEvent__")]
/**
* The model object.
@@ -97,10 +97,10 @@
{
return _strand["model"];
}
-
+
/**
* @copy org.apache.flex.core.Application#MXMLDescriptor
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -110,10 +110,10 @@
{
return null;
}
-
+
/**
* @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -123,23 +123,23 @@
{
MXMLDataInterpreter.generateMXMLProperties(this, data);
}
-
+
/**
* @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
public var mxmlContent:Array;
-
+
private var _states:Array;
-
+
/**
* The array of view states. These should
* be instances of org.apache.flex.states.State.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -149,7 +149,7 @@
{
return _states;
}
-
+
/**
* @private
*/
@@ -157,7 +157,7 @@
{
_states = value;
_currentState = _states[0].name;
-
+
try{
if (getBeadByType(IStatesImpl) == null)
addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
@@ -167,19 +167,19 @@
{
COMPILE::SWF
{
- trace(e.message);
+ trace(e.message);
}
}
-
+
}
-
+
/**
* <code>true</code> if the array of states
* contains a state with this name.
- *
+ *
* @param state The state namem.
* @return True if state in state array
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -194,13 +194,13 @@
}
return false;
}
-
+
private var _currentState:String;
-
+
[Bindable("currentStateChange")]
/**
* The name of the current state.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -208,9 +208,9 @@
*/
public function get currentState():String
{
- return _currentState;
+ return _currentState;
}
-
+
/**
* @private
*/
@@ -220,12 +220,12 @@
_currentState = value;
dispatchEvent(event);
}
-
+
private var _transitions:Array;
-
+
/**
* The array of transitions.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -233,48 +233,48 @@
*/
public function get transitions():Array
{
- return _transitions;
+ return _transitions;
}
-
+
/**
* @private
*/
public function set transitions(value:Array):void
{
- _transitions = value;
+ _transitions = value;
}
/**
* @copy org.apache.flex.core.Application#beads
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
public var beads:Array;
-
+
private var _beads:Array;
-
+
/**
* @copy org.apache.flex.core.IStrand#addBead()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public function addBead(bead:IBead):void
{
if (!_beads)
_beads = [];
_beads.push(bead);
- bead.strand = this;
+ bead.strand = this;
}
-
+
/**
* @copy org.apache.flex.core.IStrand#getBeadByType()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -289,16 +289,16 @@
}
return null;
}
-
+
/**
* @copy org.apache.flex.core.IStrand#removeBead()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function removeBead(value:IBead):IBead
+ public function removeBead(value:IBead):IBead
{
var n:int = _beads.length;
for (var i:int = 0; i < n; i++)
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
index e919295..876c597 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/NumericStepper.as
@@ -24,6 +24,8 @@
{
import goog.events;
import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.core.IBead;
}
[Event(name="valueChange", type="org.apache.flex.events.Event")]
@@ -37,6 +39,7 @@
* org.apache.flex.core.IBeadView: constructs the parts of the component.
* org.apache.flex.core.IBeadController: handles the input events.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -160,7 +163,7 @@
{
element = document.createElement('div') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
input = new TextInput();
input.className = "NumericStepperInput";
@@ -170,6 +173,7 @@
input.positioner.style.width = '100px';
spinner = new Spinner();
+ spinner.addBead(model as IBead);
addElement(spinner);
/* TODO: ajh move to view and css */
@@ -182,6 +186,12 @@
input.text = String(spinner.value);
+ IEventDispatcher(model).addEventListener("valueChange",modelChangeHandler);
+ IEventDispatcher(model).addEventListener("minimumChange",modelChangeHandler);
+ IEventDispatcher(model).addEventListener("maximumChange",modelChangeHandler);
+ IEventDispatcher(model).addEventListener("stepSizeChange",modelChangeHandler);
+ IEventDispatcher(model).addEventListener("snapIntervalChange",modelChangeHandler);
+
return element;
}
@@ -197,6 +207,14 @@
dispatchEvent(new Event('valueChange'));
};
+ /**
+ * @private
+ */
+ COMPILE::JS
+ private function modelChangeHandler(event:Event):void
+ {
+ input.text = String(model.value);
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
index e9c5986..ab3b114 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Panel.as
@@ -19,6 +19,9 @@
package org.apache.flex.html
{
import org.apache.flex.core.IPanelModel;
+ import org.apache.flex.core.IChild;
+ import org.apache.flex.html.beads.PanelView;
+ import org.apache.flex.events.Event;
COMPILE::JS
{
@@ -40,6 +43,7 @@
* org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
* org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
*
+ * @toplevel
* @see PanelWithControlBar
* @see ControlBar
* @see TitleBar
@@ -48,7 +52,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class Panel extends Container
+ public class Panel extends Group
{
/**
* constructor.
@@ -61,6 +65,23 @@
public function Panel()
{
super();
+
+ className = "Panel";
+ }
+
+ public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
+ {
+ super.addElement(c, dispatchEvent);
+ }
+
+ public function get $numElements():Number
+ {
+ return super.numElements;
+ }
+
+ public function $getElementAt(index:Number):IChild
+ {
+ return super.getElementAt(index);
}
/**
@@ -109,13 +130,67 @@
IPanelModel(model).showCloseButton = value;
}
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- super.createElement();
- element.className = "Panel";
- typeNames = "Panel";
- return element;
- }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
+ {
+ var panelView:PanelView = view as PanelView;
+ panelView.contentArea.addElement(c, dispatchEvent);
+ panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
+ {
+ var panelView:PanelView = view as PanelView;
+ panelView.contentArea.addElementAt(c, index, dispatchEvent);
+ panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function getElementIndex(c:IChild):int
+ {
+ var panelView:PanelView = view as PanelView;
+ return panelView.contentArea.getElementIndex(c);
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
+ {
+ var panelView:PanelView = view as PanelView;
+ panelView.contentArea.removeElement(c, dispatchEvent);
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function get numElements():int
+ {
+ var panelView:PanelView = view as PanelView;
+ return panelView.contentArea.numElements;
+ }
+
+ /**
+ * @private
+ * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
+ */
+ override public function getElementAt(index:int):IChild
+ {
+ var panelView:PanelView = view as PanelView;
+ return panelView.contentArea.getElementAt(index);
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
index 7659d9d..d5ff4b1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
@@ -33,12 +33,13 @@
* org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
* org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class PanelWithControlBar extends Container
+ public class PanelWithControlBar extends Panel
{
/**
* constructor.
@@ -54,52 +55,6 @@
}
/**
- * The string to display in the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return IPanelModel(model).title;
- }
- public function set title(value:String):void
- {
- IPanelModel(model).title = value;
- }
-
- /**
- * The HTML string to display in the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return IPanelModel(model).htmlTitle;
- }
- public function set htmlTitle(value:String):void
- {
- IPanelModel(model).htmlTitle = value;
- }
-
- /**
- * Whether or not to show a Close button in the org.apache.flex.html.TitleBar.
- */
- public function get showCloseButton():Boolean
- {
- return IPanelModel(model).showCloseButton;
- }
- public function set showCloseButton(value:Boolean):void
- {
- IPanelModel(model).showCloseButton = value;
- }
-
- /**
* The items in the org.apache.flex.html.ControlBar. Setting this property automatically
* causes the ControlBar to display.
*
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
index 9aa2254..a7dd387 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/RadioButton.as
@@ -51,6 +51,7 @@
* org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
* org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the RadioButton..
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -221,6 +222,8 @@
}
}
+ [Event(name="change", type="org.apache.flex.events.Event")]
+
COMPILE::JS
public class RadioButton extends UIBase
{
@@ -250,7 +253,7 @@
element = labelFor as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
(element as WrappedHTMLElement).flexjs_wrapper = this;
(textNode as WrappedHTMLElement).flexjs_wrapper = this;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
index 9dcb348..0d254e5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SimpleList.as
@@ -21,14 +21,15 @@
COMPILE::JS
{
import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
-
+
/**
* The SimpleList class is a component that displays data in a vertical column. This
- * component differs from org.apache.flex.html.List in that it displays
+ * component differs from org.apache.flex.html.List in that it displays
* only string values and maps to the <select> HTML element.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -48,7 +49,7 @@
{
super();
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
* @flexjsignorecoercion HTMLSelectElement
@@ -61,12 +62,12 @@
goog.events.listen(element, 'change',
changeHandler);
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
className = 'SimpleList';
-
+
return element;
- }
-
+ }
+
/**
* @flexjsignorecoercion HTMLSelectElement
*/
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
index d10891c..fc2889b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Slider.as
@@ -23,24 +23,23 @@
COMPILE::JS
{
- import org.apache.flex.html.beads.SliderTrackView;
- import org.apache.flex.html.beads.SliderThumbView;
import org.apache.flex.html.beads.controllers.SliderMouseController;
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
[Event(name="valueChange", type="org.apache.flex.events.Event")]
-
+
/**
* The Slider class is a component that displays a range of values using a
* track and a thumb control. The Slider uses the following bead types:
- *
+ *
* org.apache.flex.core.IBeadModel: the data model, typically an IRangeModel, that holds the Slider values.
* org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the Slider.
* org.apache.flex.core.IBeadController: the bead that handles input.
* org.apache.flex.core.IThumbValue: the bead responsible for the display of the thumb control.
* org.apache.flex.core.ITrackView: the bead responsible for the display of the track.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -59,16 +58,16 @@
public function Slider()
{
super();
-
+
className = "Slider";
-
+
IRangeModel(model).value = 0;
IRangeModel(model).minimum = 0;
IRangeModel(model).maximum = 100;
IRangeModel(model).stepSize = 1;
IRangeModel(model).snapInterval = 1;
}
-
+
/**
* The current value of the Slider.
*
@@ -85,7 +84,7 @@
{
IRangeModel(model).value = newValue;
}
-
+
/**
* The minimum value of the Slider.
*
@@ -102,7 +101,7 @@
{
IRangeModel(model).minimum = value;
}
-
+
/**
* The maximum value of the Slider.
*
@@ -119,7 +118,7 @@
{
IRangeModel(model).maximum = value;
}
-
+
/**
* The modulus of the Slider value. The thumb will be positioned
* at the nearest multiple of this value.
@@ -137,7 +136,7 @@
{
IRangeModel(model).snapInterval = value;
}
-
+
/**
* The amount to move the thumb when the track is selected. This value is
* adjusted to fit the nearest snapInterval.
@@ -156,15 +155,6 @@
IRangeModel(model).stepSize = value;
}
- COMPILE::JS
- private var track:SliderTrackView;
-
- COMPILE::JS
- private var thumb:SliderThumbView;
-
- COMPILE::JS
- private var controller:SliderMouseController;
-
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -172,28 +162,22 @@
override protected function createElement():WrappedHTMLElement
{
element = document.createElement('div') as WrappedHTMLElement;
- element.style.width = '200px';
+
+ // just to give it some default values
+ element.style.width = '100px';
element.style.height = '30px';
-
- track = new SliderTrackView();
- addBead(track);
-
- thumb = new SliderThumbView();
- addBead(thumb);
-
- controller = new SliderMouseController();
- addBead(controller);
-
+
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
className = 'Slider';
-
+
return element;
- }
-
+ }
+
/**
+ * @private
*/
COMPILE::JS
public function snap(value:Number):Number
@@ -211,23 +195,5 @@
return n + si;
return n;
}
-
-
- /**
- * @param {number} value The value used to calculate new position of the thumb.
- * @return {void} Moves the thumb to the corresponding position.
- */
- COMPILE::JS
- public function setThumbFromValue(value:Number):void
- {
- var min:Number = model.minimum;
- var max:Number = model.maximum;
- var p:Number = (value - min) / (max - min);
- var xloc:Number = p * (parseInt(track.element.style.width, 10) -
- parseInt(thumb.element.style.width, 10));
-
- thumb.element.style.left = "" + xloc + 'px';
- }
-
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
index 65b5290..2cc160e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Spinner.as
@@ -37,6 +37,7 @@
* org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the Spinner.
* org.apache.flex.core.IBeadController: a bead that handles the input events.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -155,7 +156,7 @@
{
element = document.createElement('div') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.style.verticalAlign = 'middle';
element.flexjs_wrapper = this;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
similarity index 97%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
index 3cbcf00..6fc5d67 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SubAppLoader.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/SubAppLoader.as
@@ -81,7 +81,7 @@
{
COMPILE::SWF {
if (swfLoader != null) {
- $displayObjectContainer.removeChild(swfLoader);
+ removeChild(swfLoader);
}
swfLoader = new Loader();
@@ -125,7 +125,7 @@
var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);
swfLoader.load(url, loaderContext);
if (swfLoader.parent == null) {
- $displayObjectContainer.addChild(swfLoader);
+ addChild(swfLoader);
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Table.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Table.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/Table.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableCell.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableCell.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableCell.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableHeader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableHeader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableHeader.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableRow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TableRow.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TableRow.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
index c912dd4..2eb9c72 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextArea.as
@@ -25,7 +25,7 @@
COMPILE::JS
{
import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
/**
@@ -41,18 +41,18 @@
/**
* The TextArea class implements the basic control for
* multi-line text input.
- *
+ *
* @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public class TextArea extends UIBase
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -67,10 +67,10 @@
model.addEventListener("textChange", textChangeHandler);
}
}
-
+
/**
* @copy org.apache.flex.html.Label#text
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -82,7 +82,7 @@
{
COMPILE::SWF
{
- return ITextModel(model).text;
+ return ITextModel(model).text;
}
COMPILE::JS
{
@@ -108,10 +108,10 @@
dispatchEvent(new Event('textChange'));
}
}
-
+
/**
* @copy org.apache.flex.html.Label#html
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -145,7 +145,7 @@
dispatchEvent(new Event('textChange'));
}
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -154,14 +154,14 @@
{
element = document.createElement('textarea') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
goog.events.listen(element, 'input', textChangeHandler);
-
+
element.flexjs_wrapper = this;
element.className = 'TextArea';
typeNames = 'TextArea';
-
+
return element;
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
index a08c9b3..b2997c2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextButton.as
@@ -35,7 +35,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class TextButton extends ButtonBase
+ public class TextButton extends Button
{
/**
* Constructor.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
index c8df45d..0a63c95 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TextInput.as
@@ -23,7 +23,7 @@
COMPILE::JS
{
import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
/**
@@ -39,17 +39,18 @@
/**
* The TextInput class implements the basic control for
* single-line text input.
- *
+ *
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public class TextInput extends UIBase
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -61,13 +62,13 @@
COMPILE::SWF
{
- model.addEventListener("textChange", textChangeHandler);
+ model.addEventListener("textChange", textChangeHandler);
}
}
-
+
/**
* @copy org.apache.flex.html.Label#text
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -79,7 +80,7 @@
{
COMPILE::SWF
{
- return ITextModel(model).text;
+ return ITextModel(model).text;
}
COMPILE::JS
{
@@ -97,7 +98,7 @@
{
inSetter = true;
ITextModel(model).text = value;
- inSetter = false;
+ inSetter = false;
}
COMPILE::JS
{
@@ -105,22 +106,22 @@
dispatchEvent(new Event('textChange'));
}
}
-
+
/**
* @copy org.apache.flex.html.Label#html
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
* @flexjsignorecoercion HTMLInputElement
*/
- [Bindable(event="change")]
+ [Bindable(event="change")]
public function get html():String
{
COMPILE::SWF
{
- return ITextModel(model).html;
+ return ITextModel(model).html;
}
COMPILE::JS
{
@@ -136,7 +137,7 @@
{
COMPILE::SWF
{
- ITextModel(model).html = value;
+ ITextModel(model).html = value;
}
COMPILE::JS
{
@@ -146,7 +147,7 @@
}
private var inSetter:Boolean;
-
+
/**
* dispatch change event in response to a textChange event
*
@@ -160,7 +161,7 @@
if (!inSetter)
dispatchEvent(new Event(Event.CHANGE));
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -168,20 +169,20 @@
override protected function createElement():WrappedHTMLElement
{
element = document.createElement('input') as WrappedHTMLElement;
- element.setAttribute('type', 'input');
+ element.setAttribute('type', 'text');
element.className = 'TextInput';
typeNames = 'TextInput';
-
+
//attach input handler to dispatch flexjs change event when user write in textinput
//goog.events.listen(element, 'change', killChangeHandler);
goog.events.listen(element, 'input', textChangeHandler);
-
+
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
return element;
- }
-
+ }
+
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
index 3902330..2764731 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/TitleBar.as
@@ -41,12 +41,13 @@
* org.apache.flex.core.IMeasurementBead: a bead that helps determine the size of the
* org.apache.flex.html.TitleBar for layout.
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class TitleBar extends Container implements IChrome
+ public class TitleBar extends Group implements IChrome
{
/**
* constructor.
@@ -135,11 +136,8 @@
element = document.createElement('div') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
element.flexjs_wrapper = this;
- className = 'TitleBar';
-
return element;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
index be86d41..6061898 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/ToggleTextButton.as
@@ -23,10 +23,16 @@
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.events.Event;
+ COMPILE::SWF
+ {
+ import flash.events.MouseEvent;
+ }
COMPILE::JS
{
import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.events.MouseEvent;
}
//--------------------------------------
@@ -44,6 +50,16 @@
[Event(name="click", type="org.apache.flex.events.MouseEvent")]
/**
+ * Dispatched when ToggleTextButton is being selected/unselected.
+ *
+ * @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 ToggleButton class is a TextButton that supports
* a selected property.
*
@@ -65,18 +81,19 @@
public function ToggleTextButton()
{
super();
+ COMPILE::SWF
+ {
+ addEventListener(MouseEvent.CLICK, internalMouseHandler);
+ }
COMPILE::JS
{
this.typeNames = 'toggleTextButton';
}
}
- COMPILE::JS
- private var _selected:Boolean;
-
- COMPILE::JS
- private var SELECTED:String = "selected";
-
+ private var _selected:Boolean = false;
+
+ [Bindable("change")]
/**
* <code>true</code> if the Button is selected.
*
@@ -105,59 +122,29 @@
COMPILE::SWF
{
IToggleButtonModel(model).selected = value;
+ internalSelected()
+ dispatchEvent(new Event("change"));
}
COMPILE::JS
{
if (_selected != value)
{
_selected = value;
-
- var className:String = this.className;
- var typeNames:String = this.typeNames;
- if (value) {
- if (typeNames.indexOf(SELECTED) == -1) {
- typeNames = typeNames + SELECTED;
- if (className)
- element.className = typeNames + ' ' + className;
- else
- element.className = typeNames;
- }
- }
- else {
- if (typeNames.indexOf(SELECTED) == typeNames.length - SELECTED.length) {
- typeNames = typeNames.substring(0, typeNames.length - SELECTED.length);
- if (className)
- element.className = typeNames + ' ' + className;
- else
- element.className = typeNames;
- }
- }
+
+ internalSelected();
+
+ dispatchEvent(new Event("change"));
}
}
}
- /**
- * @private
- * add another class selector
- */
- override public function get className():String
- {
- // we don't have a model yet so just pass through otherwise you will loop
- if (!parent)
- return super.className;
-
- var name:String = super.className;
- if (selected)
- return "toggleTextButton_Selected" + (name ? " " + name : "");
- else
- return "toggleTextButton" + (name ? " " + name : "");
- }
-
COMPILE::JS
override protected function createElement():WrappedHTMLElement
{
super.createElement();
element.addEventListener("click", clickHandler, false);
+ internalSelected();
+
return element;
}
@@ -166,5 +153,52 @@
{
selected = !selected;
}
+
+ COMPILE::SWF
+ private function internalMouseHandler(event:MouseEvent) : void
+ {
+ selected = !selected;
+ }
+
+ private function internalSelected():void
+ {
+ COMPILE::SWF
+ {
+ var name:String = super.className;
+ if (selected)
+ {
+ className = "toggleTextButton_Selected" + (name ? " " + name : "");
+ }
+ else
+ {
+ className = "toggleTextButton" + (name ? " " + name : "");
+ }
+ }
+ COMPILE::JS
+ {
+ var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected");
+ if (!isToggleTextButtonSelected && _selected == true)
+ {
+ element.classList.add("toggleTextButton_Selected");
+ }
+ else if (isToggleTextButtonSelected && _selected == false)
+ {
+ element.classList.toggle("toggleTextButton_Selected");
+ }
+
+ var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton");
+ if (!isToggleTextButton && _selected == false)
+ {
+ element.classList.add("toggleTextButton");
+ }
+ else if (isToggleTextButton && _selected == true)
+ {
+ element.classList.toggle("toggleTextButton");
+ }
+
+ typeNames = element.className;
+ }
+ }
+
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
index 92ebdca..13df0e8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VContainer.as
@@ -38,12 +38,13 @@
* </basic:Container>
* </code>
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class VContainer extends Container implements IContainer
+ public class VContainer extends Container
{
/**
* Constructor.
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
similarity index 74%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
index 3ec846a..03d3e4f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VGroup.as
@@ -16,35 +16,31 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- /*
- *************
- * THIS CLASS IS NO LONGER NEEDED. INHERIT FROM DataContainerBase
- */
-
+package org.apache.flex.html
+{
/**
- * The ListBase class is the base class for most lists
- * in FlexJS.
- *
+ * This Group subclass uses VerticalLayout as its default layout.
+ *
+ * @toplevel
+ * @see org.apache.flex.html.beads.layout
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+ * @productversion FlexJS 0.8
*/
- public class ListBase extends DataContainerBase
+ public class VGroup extends Group
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+ * @productversion FlexJS 0.8
*/
- public function ListBase()
+ public function VGroup()
{
- super();
+ super();
}
- }
+ }
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
index 89e372d..bdf05eb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/VRule.as
@@ -27,6 +27,7 @@
/**
* The VRule class displays a vertical line
*
+ * @toplevel
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -60,7 +61,7 @@
element.style.borderBottom = 'none';
element.style.borderRight = 'none';
positioner = element;
- // positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
return element;
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
index 3b23f5b..85ffb4f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
@@ -30,6 +30,7 @@
}
import org.apache.flex.core.IBead;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
COMPILE::SWF
@@ -81,7 +82,8 @@
}
COMPILE::JS
{
- IEventDispatcher(value).addEventListener("keypress",validateInput);
+ var host:UIBase = _strand as UIBase;
+ host.element.addEventListener("keypress", validateInput, false);
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
index 99e2866..64fa0f7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
@@ -142,6 +142,11 @@
if (!promptAdded) UIBase(_strand).addChild(promptField);
promptField.text = prompt;
promptAdded = true;
+ promptField.x = 2;
+ promptField.y = 2;
+ promptField.width = UIBase(_strand).width-5;
+ promptField.height = UIBase(_strand).height-4;
+
}
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionCollapseBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionItemRendererView.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AccordionView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AccordionView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
index 5788d47..ddd73cf 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/AlertView.as
@@ -28,6 +28,7 @@
import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
+ import org.apache.flex.events.MouseEvent;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
import org.apache.flex.html.Alert;
@@ -182,7 +183,7 @@
/**
* @private
*/
- private function handleOK(event:Event):void
+ private function handleOK(event:MouseEvent):void
{
// create some custom event where the detail value
// is the OK button flag. Do same for other event handlers
@@ -192,7 +193,7 @@
/**
* @private
*/
- private function handleCancel(event:Event):void
+ private function handleCancel(event:MouseEvent):void
{
dispatchCloseEvent(Alert.CANCEL);
}
@@ -200,7 +201,7 @@
/**
* @private
*/
- private function handleYes(event:Event):void
+ private function handleYes(event:MouseEvent):void
{
dispatchCloseEvent(Alert.YES);
}
@@ -208,7 +209,7 @@
/**
* @private
*/
- private function handleNo(event:Event):void
+ private function handleNo(event:MouseEvent):void
{
dispatchCloseEvent(Alert.NO);
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
index 7de01ef..0be56d9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
@@ -89,13 +89,13 @@
var className:String = IStyleableObject(_strand).className;
if (toggleButtonModel.selected)
{
- if (className.indexOf(SELECTED) == className.length - SELECTED.length)
+ if (className && className.indexOf(SELECTED) == className.length - SELECTED.length)
IStyleableObject(_strand).className = className.substring(0, className.length - SELECTED.length);
setupSkins();
}
else
{
- if (className.indexOf(SELECTED) == -1)
+ if (className && className.indexOf(SELECTED) == -1)
IStyleableObject(_strand).className += SELECTED;
setupSkins();
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CenterElement.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CenterElement.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CenterElement.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/CenterElement.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
index 83c261a..3adb9de 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
@@ -18,53 +18,46 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import flash.display.DisplayObject;
- import flash.display.DisplayObjectContainer;
- import flash.display.Sprite;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IComboBoxModel;
- import org.apache.flex.core.IPopUpHost;
+ import org.apache.flex.core.BeadViewBase;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.IParent;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
import org.apache.flex.html.TextInput;
+ import org.apache.flex.html.Button;
+ import org.apache.flex.html.TextButton;
+ import org.apache.flex.html.List;
+ import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.core.IComboBoxModel;
+ import org.apache.flex.utils.UIUtils;
+ import org.apache.flex.utils.PointUtils;
+ import org.apache.flex.core.IPopUpHost;
+ import org.apache.flex.geom.Point;
+ import org.apache.flex.html.beads.IComboBoxView;
/**
* The ComboBoxView class creates the visual elements of the org.apache.flex.html.ComboBox
* component. The job of the view bead is to put together the parts of the ComboBox such as the TextInput
* control and org.apache.flex.html.Button to trigger the pop-up.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ComboBoxView extends BeadViewBase implements IBeadView, IComboBoxView
+ public class ComboBoxView extends BeadViewBase implements IComboBoxView
{
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
public function ComboBoxView()
{
+ super();
}
- private var textInput:TextInput;
- private var button:Button;
- private var selectionModel:IComboBoxModel;
+ private var input:TextInput;
/**
- * The value of the TextInput component of the ComboBox.
+ * The TextInput component of the ComboBox.
*
* @copy org.apache.flex.html.beads.IComboBoxView#text
*
@@ -73,125 +66,85 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get text():String
+ public function get textInputField():Object
{
- return textInput.text;
- }
- public function set text(value:String):void
- {
- textInput.text = value;
+ return input;
}
+ private var button:TextButton;
+
/**
- * The HTML value of the TextInput component of the ComboBox.
+ * The Button component of the ComboBox.
*
- * @copy org.apache.flex.html.beads.IComboBoxView#html
+ * @copy org.apache.flex.html.beads.IComboBoxView#text
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get html():String
+ public function get popupButton():Object
{
- return textInput.html;
- }
- public function set html(value:String):void
- {
- textInput.html = value;
+ return button;
}
+ private var list:UIBase;
+
/**
- * @copy org.apache.flex.core.IBead#strand
- *
+ * The pop-up list component of the ComboBox.
+ *
+ * @copy org.apache.flex.html.beads.IComboBoxView#text
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get strand():IStrand
+ public function get popUp():Object
{
- return _strand;
+ return list;
}
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- selectionModel = value.getBeadByType(IComboBoxModel) as IComboBoxModel;
- selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
-
- textInput = new TextInput();
- IParent(strand).addElement(textInput);
- textInput.width = 100;
- textInput.height = 18;
-
- upSprite = new Sprite();
- drawButton( upSprite, "up", 18, 18 );
- overSprite = new Sprite();
- drawButton( overSprite, "over", 18, 18 );
- downSprite = new Sprite();
- drawButton( downSprite, "down", 18, 18 );
-
- button = new Button();
- button.upState = upSprite;
- button.overState = overSprite;
- button.downState = downSprite;
- DisplayObjectContainer(strand).addChild(button);
- button.width = 18;
- button.height = 18;
- button.x = textInput.width;
- button.y = textInput.y;
-
- // listen for events on the text input and modify the list and selection
- textInput.addEventListener("change", textChangeHandler,false,0,true);
- }
-
- private var upSprite:Sprite;
- private var overSprite:Sprite;
- private var downSprite:Sprite;
/**
* @private
*/
- private function drawButton( sprite:Sprite, mode:String, width:Number, height:Number ) : void
+ override public function set strand(value:IStrand):void
{
- sprite.graphics.clear();
- sprite.graphics.lineStyle(1,0xFFFFFF);
- sprite.graphics.drawRect(0, 0, width-1, height-1);
- sprite.graphics.lineStyle(-1);
+ super.strand = value;
- if( mode == "over" ) sprite.graphics.beginFill(0xCCCCCC);
- else if( mode == "down" ) sprite.graphics.beginFill(0x888888);
- sprite.graphics.drawRect(0, 0, width-1, height-1);
- sprite.graphics.endFill();
+ var host:UIBase = value as UIBase;
- sprite.graphics.beginFill(0x333333);
- sprite.graphics.moveTo(4,4);
- sprite.graphics.lineTo(width-4,4);
- sprite.graphics.lineTo(int(width/2),height-4);
- sprite.graphics.lineTo(4,4);
- sprite.graphics.endFill();
+ input = new TextInput();
+ input.className = "ComboBoxTextInput";
+
+ button = new TextButton();
+ button.className = "ComboBoxButton";
+ button.text = '\u25BC';
+
+ if (isNaN(host.width)) input.width = 100;
+
+ host.addElement(input);
+ host.addElement(button);
+
+ var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
+ list = new popUpClass() as UIBase;
+ list.visible = false;
+
+ var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+ model.addEventListener("selectedIndexChanged", handleItemChange);
+ model.addEventListener("selectedItemChanged", handleItemChange);
+
+ IEventDispatcher(_strand).addEventListener("sizeChanged", handleSizeChange);
+
+ // set initial value and positions using default sizes
+ handleItemChange(null);
+ handleSizeChange(null);
}
- private var _popUp:IStrand;
-
/**
- * The pop-up component that holds the selection list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUp():IStrand
- {
- return _popUp;
- }
-
- private var _popUpVisible:Boolean;
-
- /**
- * This property is true if the pop-up selection list is currently visible.
+ * Returns whether or not the pop-up is visible.
+ *
+ * @copy org.apache.flex.html.beads.IComboBoxView#text
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -200,49 +153,75 @@
*/
public function get popUpVisible():Boolean
{
- return _popUpVisible;
+ if (list) return list.visible;
+ else return false;
}
public function set popUpVisible(value:Boolean):void
{
- if (value != _popUpVisible)
- {
- _popUpVisible = value;
- if (value)
- {
- if (!_popUp)
- {
- var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
- _popUp = new popUpClass() as IStrand;
- }
- var root:Object = DisplayObject(_strand).root;
- var host:DisplayObjectContainer = DisplayObject(_strand).parent;
- while (host && !(host is IPopUpHost))
- host = host.parent;
- if (host)
- IPopUpHost(host).addElement(popUp as IChild);
+ if (value && !list.visible) {
+ var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+ list.model = model;
+ list.width = input.width;
+ list.height = 200;
+ list.visible = true;
+
+ var origin:Point = new Point(0, button.y+button.height);
+ var relocated:Point = PointUtils.localToGlobal(origin,_strand);
+ list.x = relocated.x
+ list.y = relocated.y;
+ COMPILE::JS {
+ list.element.style.position = "absolute";
}
- else
- {
- DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);
- }
+
+ var popupHost:IPopUpHost = UIUtils.findPopUpHost(_strand as IUIBase);
+ popupHost.addElement(list);
+ }
+ else if (list.visible) {
+ UIUtils.removePopUp(list);
+ list.visible = false;
}
}
/**
* @private
*/
- private function selectionChangeHandler(event:Event):void
+ private function handleSizeChange(event:Event):void
{
- text = selectionModel.selectedItem.toString();
+ var host:UIBase = UIBase(_strand);
+
+ input.x = 0;
+ input.y = 0;
+ if (host.isWidthSizedToContent()) {
+ input.width = 100;
+ } else {
+ input.width = host.width - 20;
+ }
+
+ button.x = input.width;
+ button.y = 0;
+ button.width = 20;
+ button.height = input.height;
+
+ COMPILE::JS {
+ input.element.style.position = "absolute";
+ button.element.style.position = "absolute";
+ }
+
+ if (host.isHeightSizedToContent()) {
+ host.height = input.height;
+ }
+ if (host.isWidthSizedToContent()) {
+ host.width = input.width + button.width;
+ }
}
/**
* @private
*/
- private function textChangeHandler(event:Event):void
- {
- var newEvent:Event = new Event("change");
- IEventDispatcher(strand).dispatchEvent(newEvent);
+ private function handleItemChange(event:Event):void
+ {
+ var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
+ input.text = model.selectedItem as String;
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
index d62e799..ac723a9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ContainerView.as
@@ -17,18 +17,20 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
-{
+{
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.ContainerBase;
import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
+ import org.apache.flex.core.IChild;
import org.apache.flex.core.IContainer;
import org.apache.flex.core.IContainerView;
import org.apache.flex.core.IContentViewHost;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.IParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
@@ -39,37 +41,40 @@
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
- import org.apache.flex.geom.Size;
+ import org.apache.flex.geom.Size;
+ import org.apache.flex.html.Container;
import org.apache.flex.html.beads.models.ViewportModel;
import org.apache.flex.html.supportClasses.Border;
import org.apache.flex.html.supportClasses.ContainerContentArea;
import org.apache.flex.html.supportClasses.Viewport;
import org.apache.flex.utils.CSSContainerUtils;
-
+
/**
* This class creates and manages the contents of a Container. On the ActionScript
* side, a Container has a contentView into which the offical children can be
* placed. When adding an element that implements IChrome, that element is not
* placed into the contentView, but is made a child of the Container directly.
- *
+ *
* Containers also have a layout associated with them which controls the size and
* placement of the elements in the contentView. When a Container does not have an
* explicit size (including a percent size), the content dictates the size of the
* Container.
- *
+ *
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ContainerView extends BeadViewBase implements IBeadView, IContainerView, ILayoutHost
+ COMPILE::SWF
+ public class ContainerView extends GroupView
{
/**
* The ContainerView class is the default view for
* the org.apache.flex.core.ContainerBase classes.
* It lets you use some CSS styles to manage the border, background
* and padding around the content area.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -78,41 +83,26 @@
public function ContainerView()
{
super();
-
- layoutRunning = false;
}
-
+
/**
* The sub-element used as the parent of the container's elements. This does not
* include the chrome elements.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get contentView():IParentIUIBase
+ override public function get contentView():ILayoutView
{
- return viewport.contentView as IParentIUIBase;
+ return viewport.contentView as ILayoutView;
}
-
- /**
- * The view that can be resized.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get resizableView():IUIBase
- {
- return host;
- }
-
+
/**
* The viewport used to present the content and may display
* scroll bars (depending on the actual type of viewport).
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -122,11 +112,11 @@
{
return _viewport;
}
-
+
/**
* The data model used by the viewport to determine how it should
* present the content area.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -136,62 +126,14 @@
{
return _viewportModel;
}
-
+
private var _viewportModel:IViewportModel;
private var _viewport:IViewport;
private var layoutRunning:Boolean;
-
- /**
- * @private
- */
- public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- contentView.addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- contentView.addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function getElementIndex(c:IChild):int
- {
- return contentView.getElementIndex(c);
- }
-
- /**
- * @private
- */
- public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- contentView.removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function get numElements():int
- {
- return contentView.numElements;
- }
-
- /**
- * @private
- */
- public function getElementAt(index:int):IChild
- {
- return contentView.getElementAt(index);
- }
-
+
/**
* Strand setter.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -200,127 +142,37 @@
override public function set strand(value:IStrand):void
{
_strand = value;
- super.strand = value;
-
+
createViewport();
-
- (host as IContentViewHost).strandChildren.addElement(viewport.contentView, false);
-
- displayBackgroundAndBorder(host as UIBase);
-
- // listen for initComplete to signal that the strand is set with its size
- // and beads.
- host.addEventListener("initComplete", initCompleteHandler);
+
+ var chost:IContainer = host as IContainer;
+ chost.strandChildren.addElement(viewport.contentView);
+
+ super.strand = value;
}
-
- /**
- * Handles the initComplete event by completing the setup and kicking off the
- * presentation of the Container.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function initCompleteHandler(event:Event):void
- {
- var ilc:ILayoutChild = host as ILayoutChild;
- // Complete the setup if the height is sized to content or has been explicitly set
- // and the width is sized to content or has been explicitly set
- if ((ilc.isHeightSizedToContent() || !isNaN(ilc.explicitHeight)) &&
- (ilc.isWidthSizedToContent() || !isNaN(ilc.explicitWidth))) {
- completeSetup();
-
- var num:Number = contentView.numElements;
- if (num > 0) performLayout(event);
- }
- else {
- // otherwise, wait until the unknown sizes have been set and then finish
- host.addEventListener("sizeChanged", deferredSizeHandler);
- host.addEventListener("widthChanged", deferredSizeHandler);
- host.addEventListener("heightChanged", deferredSizeHandler);
- }
- }
-
- /**
- * Handles the case where the size of the host is not immediately known, usually do
- * to one of its dimensions being indicated as a percent size.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function deferredSizeHandler(event:Event):void
- {
- host.removeEventListener("sizeChanged", deferredSizeHandler);
- host.removeEventListener("widthChanged", deferredSizeHandler);
- host.removeEventListener("heightChanged", deferredSizeHandler);
- completeSetup();
-
- var num:Number = contentView.numElements;
- if (num > 0)
- {
- performLayout(event);
- }
- }
-
+
/**
* Called when the host is ready to complete its setup (usually after its size has been
* determined).
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function completeSetup():void
+ override protected function completeSetup():void
{
+ super.completeSetup();
+
// when the first layout is complete, set up listeners for changes
// to the childrens' sizes.
- host.addEventListener("layoutComplete", childrenChangedHandler);
-
- host.addEventListener("childrenAdded", performLayout);
- host.addEventListener("layoutNeeded", performLayout);
- host.addEventListener("widthChanged", resizeHandler);
- host.addEventListener("heightChanged", resizeHandler);
- host.addEventListener("sizeChanged", resizeHandler);
- host.addEventListener("viewCreated", viewCreatedHandler);
+// host.addEventListener("layoutComplete", childrenChangedHandler);
}
-
- /**
- * Handles the viewCreated event by performing the first layout if
- * there are children already present (ie, from MXML).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function viewCreatedHandler(event:Event):void
- {
- if ((host as UIBase).numElements > 0) {
- performLayout(null);
- }
- }
-
- /**
- * Calculate the space taken up by non-content children like a TItleBar in a Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function getChromeMetrics():Rectangle
- {
- return new Rectangle(0, 0, 0, 0);
- }
-
+
/**
* Creates the Viewport (or ScrollableViewport) through which the content
* area is presented.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -340,7 +192,7 @@
}
}
}
-
+
if (viewport == null) {
_viewport = _strand.getBeadByType(IViewport) as IViewport;
if (viewport == null) {
@@ -351,72 +203,48 @@
_strand.addBead(viewport);
}
}
- }
+ }
+ }
+
+ /**
+ * Calculate the space taken up by non-content children like a TitleBar in a Panel.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ protected function getChromeMetrics():Rectangle
+ {
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ return paddingMetrics;
}
/**
* Positions the viewport, then sets any known sizes of the Viewport prior
* to laying out its content.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function layoutViewBeforeContentLayout():void
+ override public function beforeLayout():void
{
var host:ILayoutChild = this.host as ILayoutChild;
var vm:IViewportModel = viewportModel;
+ var hostWidth:Number = host.width;
+ var hostHeight:Number = host.height;
+
vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
- vm.chromeMetrics = getChromeMetrics();
- viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
- vm.borderMetrics.top + vm.chromeMetrics.top)
- viewport.layoutViewportBeforeContentLayout(
- !host.isWidthSizedToContent() ?
- host.width - vm.borderMetrics.left - vm.borderMetrics.right -
- vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
- !host.isHeightSizedToContent() ?
- host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
- vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
-
+
+ viewport.setPosition(vm.borderMetrics.left, vm.borderMetrics.top);
+
+ viewport.layoutViewportBeforeContentLayout(
+ host.isWidthSizedToContent() ? NaN : hostWidth - vm.borderMetrics.left - vm.borderMetrics.right,
+ host.isHeightSizedToContent() ? NaN : hostHeight - vm.borderMetrics.top - vm.borderMetrics.bottom);
}
-
- /**
- * Executes the layout associated with this container. Once the layout has been
- * run, it may affect the size of the host or may cause the host to present scroll
- * bars view its viewport.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function performLayout(event:Event):void
- {
- layoutRunning = true;
-
- layoutViewBeforeContentLayout();
-
- var host:UIBase = _strand as UIBase;
-
- var layout:IBeadLayout = _strand.getBeadByType(IBeadLayout) as IBeadLayout;
- if (layout == null) {
- var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
- if (c) {
- layout = new c() as IBeadLayout;
- _strand.addBead(layout);
- }
- }
-
- if (layout) {
- layout.layout();
- }
-
- layoutViewAfterContentLayout();
-
- layoutRunning = false;
- }
-
+
/**
* @private
*/
@@ -425,128 +253,137 @@
/**
* Adjusts the size of the host, or adds scrollbars to the viewport, after
* the layout has been run.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function layoutViewAfterContentLayout():void
+ override public function afterLayout():void
{
- var host:UIBase = _strand as UIBase;
- var vm:IViewportModel = viewportModel;
-
+ if (adjusting) return;
+
adjusting = true;
-
- var viewportSize:Size = viewport.layoutViewportAfterContentLayout();
-
- if (host.isWidthSizedToContent() && host.isHeightSizedToContent()) {
- host.setWidthAndHeight(viewportSize.width + vm.borderMetrics.left + vm.borderMetrics.right +
- vm.chromeMetrics.left + vm.chromeMetrics.right,
- viewportSize.height + vm.borderMetrics.top + vm.borderMetrics.bottom +
- vm.chromeMetrics.top + vm.chromeMetrics.bottom,
- false);
- }
- else if (!host.isWidthSizedToContent() && host.isHeightSizedToContent())
- {
- host.setHeight(viewportSize.height + vm.borderMetrics.top + vm.borderMetrics.bottom +
- vm.chromeMetrics.top + vm.chromeMetrics.bottom, false);
- }
- else if (host.isWidthSizedToContent() && !host.isHeightSizedToContent())
- {
- host.setWidth(viewportSize.width + vm.borderMetrics.left + vm.borderMetrics.right +
- vm.chromeMetrics.left + vm.chromeMetrics.right, false);
- }
+
+ super.afterLayout();
+
+ var contentSize:Size = calculateContentSize();
+ viewport.layoutViewportAfterContentLayout(contentSize);
+
adjusting = false;
}
-
+
/**
* Handles dynamic changes to the host's size by running the layout once
* the viewport has been adjusted.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function resizeHandler(event:Event):void
- {
- if (!adjusting) {
- performLayout(event);
- }
- }
-
+// override protected function resizeHandler(event:Event):void
+// {
+// if (!adjusting) {
+// performLayout(event);
+// }
+// }
+
/**
* Whenever children are added, listeners are added to detect changes
- * in their size.
- *
+ * in their size.
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function childrenChangedHandler(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
- host.removeEventListener(event.type, childrenChangedHandler);
-
- var n:Number = contentView.numElements;
- for (var i:int=0; i < n; i++) {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- child.addEventListener("widthChanged", childResizeHandler);
- child.addEventListener("heightChanged", childResizeHandler);
- child.addEventListener("sizeChanged", childResizeHandler);
- }
- }
-
+// protected function childrenChangedHandler(event:Event):void
+// {
+// var host:UIBase = _strand as UIBase;
+// host.removeEventListener(event.type, childrenChangedHandler);
+//
+// var n:Number = contentView.numElements;
+// for (var i:int=0; i < n; i++) {
+// var child:IUIBase = contentView.getElementAt(i) as IUIBase;
+// child.addEventListener("widthChanged", childResizeHandler);
+// child.addEventListener("heightChanged", childResizeHandler);
+// child.addEventListener("sizeChanged", childResizeHandler);
+// }
+// }
+ }
+
+ COMPILE::JS
+ public class ContainerView extends GroupView //??implements IParent
+ {
+ private var _viewport:IViewport;
+
/**
- * This event handles changes to the size of children of the container by running
- * the layout again and adjusting the size of the container or viewport as necessary.
- *
+ * The viewport used to present the content and may display
+ * scroll bars (depending on the actual type of viewport).
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function childResizeHandler(event:Event):void
+ protected function get viewport():IViewport
{
- // during this process we don't want the layout to trigger
- // an endless event chain should any children get resized
- // by the layout.
- if (layoutRunning) return;
- performLayout(event);
+ return _viewport;
}
- protected function displayBackgroundAndBorder(host:UIBase) : void
+ /**
+ * The sub-element used as the parent of the container's elements. This does not
+ * include the chrome elements.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function get contentView():ILayoutView
{
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
- if (backgroundColor != null || backgroundImage != null)
- {
- if (host.getBeadByType(IBackgroundBead) == null)
- var c:Class = ValuesManager.valuesImpl.getValue(host, "iBackgroundBead");
- if (c) {
- host.addBead( new c() as IBead );
+ if (viewport != null) {
+ return viewport.contentView as ILayoutView;
+ } else {
+ return host as ILayoutView;
+ }
+ }
+
+ /**
+ * Strand setter.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ super.strand = value;
+
+ var c:Class;
+
+ if (viewport == null) {
+ _viewport = _strand.getBeadByType(IViewport) as IViewport;
+ if (viewport == null) {
+ c = ValuesManager.valuesImpl.getValue(host, "iViewport");
+ if (c)
+ {
+ _viewport = new c() as IViewport;
+ _strand.addBead(viewport);
+ }
}
}
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
- if (borderStyles is Array)
- {
- borderStyle = borderStyles[1];
- }
- if (borderStyle == null)
- {
- borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
- }
- if (borderStyle != null && borderStyle != "none")
- {
- if (host.getBeadByType(IBorderBead) == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iBorderBead");
- if (c) {
- host.addBead( new c() as IBead );
- }
+ if (viewport != null) {
+ var chost:IContainer = host as IContainer;
+ // add the viewport's contentView to this host ONLY if
+ // the contentView is not the host itself, which is likely
+ // most situations.
+ if (chost != viewport.contentView) {
+ chost.addElement(viewport.contentView);
}
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridPercentageView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
index 8393057..3b387d9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataGridView.as
@@ -18,249 +18,283 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.core.ISelectableItemRenderer;
+ import org.apache.flex.core.IDataGridPresentationModel;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.html.DataGrid;
import org.apache.flex.html.DataGridButtonBar;
import org.apache.flex.html.Container;
import org.apache.flex.html.beads.layouts.ButtonBarLayout;
- import org.apache.flex.html.beads.layouts.VerticalLayout;
- import org.apache.flex.html.beads.layouts.HorizontalLayout;
- import org.apache.flex.html.beads.layouts.IDataGridLayout;
- import org.apache.flex.html.beads.models.ArraySelectionModel;
- import org.apache.flex.html.beads.models.DataGridPresentationModel;
+ import org.apache.flex.html.beads.models.ButtonBarModel;
import org.apache.flex.html.supportClasses.DataGridColumn;
import org.apache.flex.html.supportClasses.DataGridColumnList;
- import org.apache.flex.html.supportClasses.ScrollingViewport;
import org.apache.flex.html.supportClasses.Viewport;
-
- /**
- * The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
- * This class constructs the items that make the DataGrid: Lists for each column and a
- * org.apache.flex.html.ButtonBar for the column headers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridView implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridView()
- {
- }
-
- private var _strand:IStrand;
- private var _header:DataGridButtonBar;
- private var _listArea:Container;
-
- private var _lists:Array;
-
- /**
- * An array of List objects the comprise the columns of the DataGrid.
- */
- public function get columnLists():Array
- {
- return _lists;
- }
-
- /**
- * The area used to hold the columns
- *
- */
- public function get listArea():Container
- {
- return _listArea;
- }
-
- /**
- * @private
- */
- public function get host():IUIBase
- {
- return _strand as IUIBase;
- }
-
- /**
- * Returns the component used as the header for the DataGrid.
- */
- public function get header():IUIBase
- {
- return _header;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var host:UIBase = value as UIBase;
-
- _header = new DataGridButtonBar();
- _header.id = "dataGridHeader";
-
- var scrollPort:ScrollingViewport = new ScrollingViewport();
-
- _listArea = new Container();
- _listArea.id = "dataGridListArea";
- _listArea.className = "DataGridListArea";
- _listArea.addBead(scrollPort);
-
- if (_strand.getBeadByType(IBeadLayout) == null) {
- var c:Class = ValuesManager.valuesImpl.getValue(host, "iBeadLayout");
- if (c)
- {
- var layout:IBeadLayout = new c() as IBeadLayout;
- _strand.addBead(layout);
- }
- }
-
- finishSetup(null);
- }
-
- /**
- * @private
- */
- private function finishSetup(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
-
- // see if there is a presentation model already in place. if not, add one.
- var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
- if (presentationModel == null) {
- presentationModel = new DataGridPresentationModel();
- _strand.addBead(presentationModel);
- }
-
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
-
- var columnLabels:Array = new Array();
-
- for(var i:int=0; i < sharedModel.columns.length; i++) {
- var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
- columnLabels.push(dgc.label);
- }
-
- var bblayout:ButtonBarLayout = new ButtonBarLayout();
- var buttonBarModel:ArraySelectionModel = new ArraySelectionModel();
- buttonBarModel.dataProvider = columnLabels;
-
- _header.addBead(buttonBarModel);
- _header.addBead(bblayout);
- _header.addBead(new Viewport());
- host.addElement(_header);
-
- host.addElement(_listArea);
-
- handleDataProviderChanged(event);
- }
-
- /**
- * @private
- */
- private function handleSizeChanges(event:Event):void
- {
- var layoutBead:IDataGridLayout = _strand.getBeadByType(IBeadLayout) as IDataGridLayout;
- layoutBead.header = _header;
- layoutBead.columns = _lists;
- layoutBead.listArea = _listArea;
- layoutBead.layout();
- }
-
- /**
- * @private
- */
- private function handleDataProviderChanged(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-
- if (_lists == null || _lists.length == 0) {
- createLists();
- }
-
- for (var i:int=0; i < _lists.length; i++)
- {
- var list:DataGridColumnList = _lists[i] as DataGridColumnList;
- var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
- listModel.dataProvider = sharedModel.dataProvider;
- }
-
- host.dispatchEvent(new Event("layoutNeeded"));
- }
-
- /**
- * @private
- */
- private function handleColumnListChange(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- var list:DataGridColumnList = event.target as DataGridColumnList;
- sharedModel.selectedIndex = list.selectedIndex;
-
- for(var i:int=0; i < _lists.length; i++) {
- if (list != _lists[i]) {
- var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
- otherList.selectedIndex = list.selectedIndex;
- }
- }
-
- host.dispatchEvent(new Event('change'));
- }
-
- /**
- * @private
- */
- private function createLists():void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
- var listWidth:Number = host.width / sharedModel.columns.length;
-
- _lists = new Array();
-
- for (var i:int=0; i < sharedModel.columns.length; i++) {
- var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-
- var list:DataGridColumnList = new DataGridColumnList();
- list.id = "dataGridColumn"+String(i);
- list.addBead(sharedModel);
- list.itemRenderer = dataGridColumn.itemRenderer;
- list.labelField = dataGridColumn.dataField;
- list.addEventListener('change',handleColumnListChange);
- list.addBead(presentationModel);
-
- _listArea.addElement(list);
- _lists.push(list);
- }
-
- host.dispatchEvent(new Event("layoutNeeded"));
- }
+
+ COMPILE::SWF {
+ import org.apache.flex.core.SimpleCSSStyles;
}
+
+ /**
+ * The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
+ * This class constructs the items that make the DataGrid: Lists for each column and a
+ * org.apache.flex.html.ButtonBar for the column headers.
+ *
+ * @viewbead
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DataGridView extends GroupView implements IBeadView
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DataGridView()
+ {
+ super();
+ }
+
+ private var _strand:IStrand;
+ private var _header:DataGridButtonBar;
+ private var _listArea:Container;
+
+ private var _lists:Array;
+
+ /**
+ * An array of List objects the comprise the columns of the DataGrid.
+ */
+ public function get columnLists():Array
+ {
+ return _lists;
+ }
+
+ /**
+ * The area used to hold the columns
+ *
+ */
+ public function get listArea():Container
+ {
+ return _listArea;
+ }
+
+ /**
+ * Returns the component used as the header for the DataGrid.
+ */
+ public function get header():IUIBase
+ {
+ return _header;
+ }
+
+ /**
+ * @copy org.apache.flex.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ _strand = value;
+
+ var host:DataGrid = value as DataGrid;
+
+ _header = new DataGridButtonBar();
+ _header.height = 30;
+ _header.percentWidth = 100;
+
+ _listArea = new Container();
+ _listArea.percentWidth = 100;
+ _listArea.className = "DataGridListArea";
+
+ COMPILE::SWF {
+ _header.style = new SimpleCSSStyles();
+ _header.style.flexGrow = 0;
+
+ _listArea.style = new SimpleCSSStyles();
+ _listArea.style.flexGrow = 1;
+ }
+ COMPILE::JS {
+ _header.element.style["flex-grow"] = "0";
+ _header.element.style["min-height"] = "30px";
+ _listArea.element.style["flex-grow"] = "1";
+ }
+
+ IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
+ }
+
+ /**
+ * @private
+ */
+ private function finishSetup(event:Event):void
+ {
+ var host:DataGrid = _strand as DataGrid;
+
+ if (_lists == null || _lists.length == 0) {
+ createLists();
+ }
+
+ // see if there is a presentation model already in place. if not, add one.
+ var presentationModel:IDataGridPresentationModel = host.presentationModel;
+ var sharedModel:IDataGridModel = host.model as IDataGridModel;
+ IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
+ IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", handleSelectedIndexChanged);
+
+ var columnLabels:Array = new Array();
+ var buttonWidths:Array = new Array();
+
+ var marginBorderOffset:int = 0;
+ COMPILE::SWF {
+ marginBorderOffset = 1;
+ }
+
+ for(var i:int=0; i < sharedModel.columns.length; i++) {
+ var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+ columnLabels.push(dgc.label);
+ var colWidth:Number = dgc.columnWidth - marginBorderOffset;
+ buttonWidths.push(colWidth);
+
+ var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+ if (!isNaN(colWidth)) {
+ list.width = Number(colWidth - marginBorderOffset);
+ } else {
+ COMPILE::SWF {
+ list.style = new SimpleCSSStyles();
+ list.style.flexGrow = 1;
+ }
+ COMPILE::JS {
+ list.element.style["flex-grow"] = "1";
+ }
+ }
+ }
+
+ var bblayout:ButtonBarLayout = new ButtonBarLayout();
+ _header.buttonWidths = buttonWidths
+ _header.widthType = ButtonBarModel.PIXEL_WIDTHS;
+ _header.dataProvider = columnLabels;
+ _header.addBead(bblayout);
+ _header.addBead(new Viewport());
+ host.addElement(_header);
+
+ host.addElement(_listArea);
+
+ handleDataProviderChanged(event);
+
+ host.addEventListener("widthChanged", handleSizeChanges);
+ host.addEventListener("heightChanged", handleSizeChanges);
+ }
+
+ /**
+ * @private
+ */
+ private function handleSizeChanges(event:Event):void
+ {
+ _header.dispatchEvent(new Event("layoutChanged"));
+ _listArea.dispatchEvent(new Event("layoutChanged"));
+ }
+
+ /**
+ * @private
+ */
+ private function handleDataProviderChanged(event:Event):void
+ {
+ var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+
+ for (var i:int=0; i < _lists.length; i++)
+ {
+ var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+ var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
+ listModel.dataProvider = sharedModel.dataProvider;
+ }
+
+ host.dispatchEvent(new Event("layoutNeeded"));
+ }
+
+ /**
+ * @private
+ */
+ private function handleSelectedIndexChanged(event:Event):void
+ {
+ var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+ var newIndex:int = sharedModel.selectedIndex;
+
+ for (var i:int=0; i < _lists.length; i++)
+ {
+ var list:DataGridColumnList = _lists[i] as DataGridColumnList;
+ list.selectedIndex = newIndex;
+ }
+ }
+
+ /**
+ * @private
+ */
+ private function handleColumnListChange(event:Event):void
+ {
+ var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
+ var list:DataGridColumnList = event.target as DataGridColumnList;
+ sharedModel.selectedIndex = list.selectedIndex;
+
+ for(var i:int=0; i < _lists.length; i++) {
+ if (list != _lists[i]) {
+ var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
+ otherList.selectedIndex = list.selectedIndex;
+ }
+ }
+
+ host.dispatchEvent(new Event('change'));
+ }
+
+ /**
+ * @private
+ */
+ private function createLists():void
+ {
+ var host:DataGrid = _strand as DataGrid;
+
+ var sharedModel:IDataGridModel = host.model as IDataGridModel;
+ var presentationModel:IDataGridPresentationModel = host.presentationModel;
+
+ _lists = new Array();
+
+ for (var i:int=0; i < sharedModel.columns.length; i++) {
+ var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
+
+ var list:DataGridColumnList = new DataGridColumnList();
+ list.id = "dataGridColumn"+String(i);
+ list.addBead(sharedModel);
+ list.itemRenderer = dataGridColumn.itemRenderer;
+ list.labelField = dataGridColumn.dataField;
+ list.addEventListener('change',handleColumnListChange);
+ list.addBead(presentationModel);
+
+ if (i == 0) {
+ list.className = "first";
+ } else if (i == sharedModel.columns.length-1) {
+ list.className = "last";
+ } else {
+ list.className = "middle";
+ }
+
+ _listArea.addElement(list);
+ _lists.push(list);
+ }
+
+ host.dispatchEvent(new Event("layoutNeeded"));
+ }
+ }
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
index fdfd9b3..bcd837b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
@@ -24,7 +24,7 @@
import org.apache.flex.core.IItemRendererParent;
import org.apache.flex.core.IListPresentationModel;
import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.IDataProviderModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.SimpleCSSStyles;
@@ -36,6 +36,11 @@
import org.apache.flex.events.ItemRendererEvent;
import org.apache.flex.html.List;
+ import org.apache.flex.core.IList;
+ import org.apache.flex.core.IChild;
+ import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.IParentIUIBase;
+
[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
/**
@@ -64,11 +69,11 @@
{
super(target);
}
-
- private var selectionModel:ISelectionModel;
-
- private var labelField:String;
-
+
+ protected var dataProviderModel:IDataProviderModel;
+
+ protected var labelField:String;
+
private var _strand:IStrand;
/**
@@ -82,21 +87,22 @@
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
+ /**
+ * @private
+ */
private function finishSetup(event:Event):void
- {
- selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- dataGroup = listView.dataGroup;
- selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ {
+ dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+ dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ labelField = dataProviderModel.labelField;
- labelField = (listView.host as List).labelField;
-
- if (!itemRendererFactory)
- {
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
+ _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+ if (itemRendererFactory == null) {
_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
_strand.addBead(_itemRendererFactory);
}
@@ -136,24 +142,25 @@
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
- protected var dataGroup:IItemRendererParent;
-
- private function dataProviderChangeHandler(event:Event):void
+ */
+ protected function dataProviderChangeHandler(event:Event):void
{
- var dp:Array = selectionModel.dataProvider as Array;
+ var dp:Array = dataProviderModel.dataProvider as Array;
if (!dp)
return;
- dataGroup.removeAllElements();
+ var list:IList = _strand as IList;
+ var dataGroup:IItemRendererParent = list.dataGroup;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+ dataGroup.removeAllItemRenderers();
+
var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
var n:int = dp.length;
for (var i:int = 0; i < n; i++)
{
var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+ dataGroup.addItemRenderer(ir);
ir.index = i;
ir.labelField = labelField;
if (presentationModel) {
@@ -161,8 +168,8 @@
style.marginBottom = presentationModel.separatorThickness;
UIBase(ir).style = style;
UIBase(ir).height = presentationModel.rowHeight;
+ UIBase(ir).percentWidth = 100;
}
- dataGroup.addElement(ir);
ir.data = dp[i];
var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
index 42b159c..c35f07f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
@@ -25,7 +25,7 @@
import org.apache.flex.core.IItemRendererParent;
import org.apache.flex.core.IListPresentationModel;
import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.IDataProviderModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.SimpleCSSStyles;
@@ -35,7 +35,8 @@
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.events.EventDispatcher;
import org.apache.flex.events.ItemRendererEvent;
- import org.apache.flex.html.List;
+ //import org.apache.flex.html.List;
+ import org.apache.flex.core.IList;
[Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
@@ -66,7 +67,7 @@
super(target);
}
- protected var selectionModel:ISelectionModel;
+ protected var dataProviderModel:IDataProviderModel;
protected var labelField:String;
@@ -83,26 +84,21 @@
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
}
private function finishSetup(event:Event):void
- {
- selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- dataGroup = listView.dataGroup;
- selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ {
+ dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
+ dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ labelField = dataProviderModel.labelField;
- labelField = (listView.host as List).labelField;
-
- if (!itemRendererFactory)
- {
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (_itemRendererFactory == null) {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
+ _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+ if (itemRendererFactory == null) {
+ _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+ _strand.addBead(_itemRendererFactory);
}
dataProviderChangeHandler(null);
@@ -132,17 +128,6 @@
_itemRendererFactory = value;
}
- /**
- * The org.apache.flex.core.IItemRendererParent that will
- * parent the item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var dataGroup:IItemRendererParent;
-
/**
* @private
*/
@@ -158,29 +143,29 @@
*/
protected function dataProviderChangeHandler(event:Event):void
{
- var dp:IArrayList = selectionModel.dataProvider as IArrayList;
+ var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
if (!dp)
return;
- dataGroup.removeAllElements();
+ var list:IList = _strand as IList;
+ var dataGroup:IItemRendererParent = list.dataGroup;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
+ dataGroup.removeAllItemRenderers();
+
var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
var n:int = dp.length;
for (var i:int = 0; i < n; i++)
{
var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
+ dataGroup.addItemRenderer(ir);
if (presentationModel) {
- UIBase(ir).height = presentationModel.rowHeight;
-
- // ensure that the IR spans the width of its column
var style:SimpleCSSStyles = new SimpleCSSStyles();
- style.right = 0;
- style.left = 0;
+ style.marginBottom = presentationModel.separatorThickness;
UIBase(ir).style = style;
+ UIBase(ir).height = presentationModel.rowHeight;
+ UIBase(ir).percentWidth = 100;
}
- dataGroup.addElement(ir);
setData(ir, dp.getItemAt(i), i);
var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
index d399cfb..554a9c9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
@@ -24,6 +24,7 @@
import org.apache.flex.core.IDataProviderItemRendererMapper;
import org.apache.flex.core.IItemRendererClassFactory;
import org.apache.flex.core.IItemRendererParent;
+ import org.apache.flex.core.IList;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
@@ -69,13 +70,21 @@
public function set strand(value:IStrand):void
{
_strand = value;
- selectionModel = value.getBeadByType(IDataGridModel) as IDataGridModel;
- var listView:IListView = value.getBeadByType(IListView) as IListView;
- dataGroup = listView.dataGroup;
+ IEventDispatcher(value).addEventListener("initComplete",finishSetup);
+ }
+
+ /**
+ * @private
+ */
+ private function finishSetup(event:Event):void
+ {
+ selectionModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
- if (!itemRendererFactory)
- {
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
+ _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+ if (itemRendererFactory == null) {
_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
_strand.addBead(_itemRendererFactory);
}
@@ -110,7 +119,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected var dataGroup:IItemRendererParent;
+// protected var dataGroup:IItemRendererParent;
/**
* @private
@@ -121,8 +130,11 @@
if (!dp)
return;
- dataGroup.removeAllElements();
+ var list:IList = _strand as IList;
+ var dataGroup:IItemRendererParent = list.dataGroup;
+ dataGroup.removeAllItemRenderers();
+
var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
if (view == null) return;
@@ -130,9 +142,9 @@
for (var i:int = 0; i < n; i++)
{
var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer;
+ dataGroup.addItemRenderer(tf);
tf.index = i;
tf.labelField = view.column.dataField;
- dataGroup.addElement(tf);
tf.data = dp[i];
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
index 5c9c59c..1cf4f57 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
@@ -24,7 +24,7 @@
import org.apache.flex.core.IItemRendererParent;
import org.apache.flex.core.IListPresentationModel;
import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.IDataProviderModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.SimpleCSSStyles;
@@ -95,7 +95,7 @@
override protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
{
// Set the listData with the depth of this item
- var flatList:FlattenedList = selectionModel.dataProvider as FlattenedList;
+ var flatList:FlattenedList = dataProviderModel.dataProvider as FlattenedList;
var depth:int = flatList.getDepth(data);
var isOpen:Boolean = flatList.isOpen(data);
var hasChildren:Boolean = flatList.hasChildren(data);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
index a24810b..e8c28bd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
@@ -18,17 +18,13 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IDocument;
import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.events.Event;
import org.apache.flex.collections.ArrayList;
-
- /**
+ import org.apache.flex.html.supportClasses.DataProviderNotifierBase;
+
+ /**
* The DataProviderChangeNotifier notifies listeners when a selection model's
* ArrayList dataProvider has changed.
*
@@ -37,7 +33,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DataProviderChangeNotifier implements IBead, IDocument
+ public class DataProviderChangeNotifier extends DataProviderNotifierBase
{
/**
* constructor.
@@ -51,144 +47,31 @@
{
}
- protected var _dataProvider:ArrayList;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
+ override protected function destinationChangedHandler(event:Event):void
{
- _strand = value;
-
- if (_strand[destinationPropertyName] == null) {
- var model:IBeadModel = UIBase(_strand).model as IBeadModel;
- IEventDispatcher(model).addEventListener(changeEventName, destinationChangedHandler);
- }
- else {
- destinationChangedHandler(null);
- }
- }
-
- private function destinationChangedHandler(event:Event):void
- {
- if (_dataProvider == null) {
+ if (dataProvider == null)
+ {
var object:Object = document[sourceID];
- _dataProvider = object[propertyName] as ArrayList;
+ dataProvider = object[propertyName] as ArrayList;
}
- else {
- _dataProvider.removeEventListener("itemAdded", handleItemAdded);
- _dataProvider.removeEventListener("itemRemoved", handleItemRemoved);
- _dataProvider.removeEventListener("itemUpdated", handleItemUpdated);
+ else
+ {
+ dataProvider.removeEventListener("itemAdded", handleDataProviderChanges);
+ dataProvider.removeEventListener("itemRemoved", handleDataProviderChanges);
+ dataProvider.removeEventListener("itemUpdated", handleDataProviderChanges);
+ dataProvider.removeEventListener("collectionChanged", handleDataProviderChanges);
}
-
- _dataProvider.addEventListener("itemAdded", handleItemAdded);
- _dataProvider.addEventListener("itemRemoved", handleItemRemoved);
- _dataProvider.addEventListener("itemUpdated", handleItemUpdated);
+
+ dataProvider.addEventListener("itemAdded", handleDataProviderChanges);
+ dataProvider.addEventListener("itemRemoved", handleDataProviderChanges);
+ dataProvider.addEventListener("itemUpdated", handleDataProviderChanges);
+ dataProvider.addEventListener("collectionChanged", handleDataProviderChanges);
}
-
- protected var document:Object;
-
- /**
- * @private
- */
- public function setDocument(document:Object, id:String = null):void
+
+ private function handleDataProviderChanges(event:Event):void
{
- this.document = document;
- }
-
- private var _destinationPropertyName:String;
-
- public function get destinationPropertyName():String
- {
- return _destinationPropertyName;
- }
- public function set destinationPropertyName(value:String):void
- {
- _destinationPropertyName = value;
- }
-
- private var _changeEventName:String;
-
- public function get changeEventName():String
- {
- return _changeEventName;
- }
- public function set changeEventName(value:String):void
- {
- _changeEventName = value;
- }
-
- private var _sourceID:String;
-
- /**
- * The ID of the object holding the ArrayList, usually a model.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get sourceID():String
- {
- return _sourceID;
- }
- public function set sourceID(value:String):void
- {
- _sourceID = value;
- }
-
- private var _propertyName:String;
-
- /**
- * The property in the sourceID that is the ArrayList.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get propertyName():String
- {
- return _propertyName;
- }
-
- public function set propertyName(value:String):void
- {
- _propertyName = value;
- }
-
- /**
- * @private
- */
- private function handleItemAdded(event:Event):void
- {
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.dispatchEvent(new Event("dataProviderChanged"));
- }
-
- /**
- * @private
- */
- private function handleItemRemoved(event:Event):void
- {
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.dispatchEvent(new Event("dataProviderChanged"));
- }
-
- /**
- * @private
- */
- private function handleItemUpdated(event:Event):void
- {
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.dispatchEvent(new Event("dataProviderChanged"));
+ var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+ selectionModel.dispatchEvent(new Event("dataProviderChanged"));
}
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderCollectionChangeNotifier.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DataProviderItemsChangeNotifier.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
index 54b2550..ca1a0ee 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
@@ -23,24 +23,31 @@
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.SimpleCSSStyles;
import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.Container;
+ import org.apache.flex.html.Group;
+ import org.apache.flex.html.List;
import org.apache.flex.html.TextButton;
+ import org.apache.flex.html.beads.GroupView;
+ import org.apache.flex.html.beads.layouts.HorizontalLayout;
import org.apache.flex.html.beads.layouts.TileLayout;
import org.apache.flex.html.beads.models.DateChooserModel;
- import org.apache.flex.html.supportClasses.DateChooserButton;
import org.apache.flex.html.supportClasses.DateHeaderButton;
+ import org.apache.flex.html.supportClasses.DateChooserHeader;
+ import org.apache.flex.html.supportClasses.DateChooserList;
/**
* The DateChooserView class is a view bead for the DateChooser. This class
* creates the elements for the DateChooser: the buttons to move between
* months, the labels for the days of the week, and the buttons for each day
* of the month.
+ * @viewbead
*/
- public class DateChooserView extends BeadViewBase implements IBeadView
+ public class DateChooserView extends GroupView implements IBeadView
{
/**
* constructor
@@ -52,45 +59,33 @@
*/
public function DateChooserView()
{
+ super();
}
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
override public function set strand(value:IStrand):void
{
super.strand = value;
- _strand = value;
-
- // make sure there is a model.
+
model = _strand.getBeadByType(IBeadModel) as DateChooserModel;
if (model == null) {
model = new (ValuesManager.valuesImpl.getValue(_strand,"iBeadModel")) as DateChooserModel;
}
model.addEventListener("displayedMonthChanged",handleModelChange);
model.addEventListener("displayedYearChanged",handleModelChange);
-
- var host:UIBase = value as UIBase;
- host.addEventListener("widthChanged", handleSizeChange);
- host.addEventListener("heightChanged", handleSizeChange);
-
+
createChildren();
- layoutContents();
+ updateDisplay();
}
-
+
+ private var model:DateChooserModel;
+
private var _prevMonthButton:DateHeaderButton;
private var _nextMonthButton:DateHeaderButton;
- private var _dayButtons:Array;
private var monthLabel:DateHeaderButton;
- private var dayContainer:Container;
-
- private var model:DateChooserModel;
-
+ private var monthButtonsContainer:Group;
+ private var dayNamesContainer:DateChooserHeader;
+ private var daysContainer:DateChooserList;
+
/**
* The button that causes the previous month to be displayed by the DateChooser.
*
@@ -103,7 +98,7 @@
{
return _prevMonthButton;
}
-
+
/**
* The button that causes the next month to be displayed by the DateChooser.
*
@@ -116,213 +111,136 @@
{
return _nextMonthButton;
}
-
- /**
- * The array of DateChooserButton instances that represent each day of the month.
- */
- public function get dayButtons():Array
+
+ public function get dayList():List
{
- return _dayButtons;
+ return daysContainer;
}
-
- private function handleSizeChange(event:Event):void
- {
- layoutContents();
- }
-
- private function layoutContents():void
- {
- var sw:Number = UIBase(_strand).width;
- var sh:Number = UIBase(_strand).height;
-
- _prevMonthButton.x = 0;
- _prevMonthButton.y = 0;
-
- _nextMonthButton.x = sw - _nextMonthButton.width;
- _nextMonthButton.y = 0;
-
- monthLabel.x = (sw - monthLabel.width)/2;
- monthLabel.y = 0;
-
- dayContainer.x = 0;
- dayContainer.y = monthLabel.y + monthLabel.height + 5;
- dayContainer.width = sw;
- dayContainer.height = sh - (monthLabel.height+5);
-
- COMPILE::SWF {
- displayBackgroundAndBorder(_strand as UIBase);
- }
-
- IEventDispatcher(_strand).dispatchEvent( new Event("layoutNeeded") );
- IEventDispatcher(dayContainer).dispatchEvent( new Event("layoutNeeded") );
- }
-
+
+ private const controlHeight:int = 26;
+ private const commonButtonWidth:int = 40;
+
/**
* @private
*/
private function createChildren():void
{
+ // HEADER BUTTONS
+
+ monthButtonsContainer = new Group();
+ monthButtonsContainer.height = controlHeight;
+ monthButtonsContainer.id = "dateChooserMonthButtons";
+ monthButtonsContainer.className = "DateChooserMonthButtons";
+ monthButtonsContainer.style = new SimpleCSSStyles();
+ monthButtonsContainer.style.flexGrow = 0;
+ COMPILE::JS {
+ monthButtonsContainer.element.style["flex-grow"] = "0";
+ }
+
_prevMonthButton = new DateHeaderButton();
- _prevMonthButton.width = 40;
- _prevMonthButton.height = 20;
+ _prevMonthButton.width = commonButtonWidth;
_prevMonthButton.text = "<";
- UIBase(_strand).addElement(_prevMonthButton);
-
- _nextMonthButton = new DateHeaderButton();
- _nextMonthButton.width = 40;
- _nextMonthButton.height = 20;
- _nextMonthButton.text = ">";
- UIBase(_strand).addElement(_nextMonthButton);
-
+ if (_prevMonthButton.style == null) {
+ _prevMonthButton.style = new SimpleCSSStyles();
+ }
+ _prevMonthButton.style.flexGrow = 0;
+ COMPILE::JS {
+ _prevMonthButton.element.style["flex-grow"] = "0";
+ }
+ monthButtonsContainer.addElement(_prevMonthButton);
+
monthLabel = new DateHeaderButton();
monthLabel.text = "Month Here";
- monthLabel.width = 100;
- monthLabel.height = 20;
- UIBase(_strand).addElement(monthLabel);
-
- dayContainer = new Container();
- var tileLayout:TileLayout = new TileLayout();
- dayContainer.addBead(tileLayout);
- UIBase(_strand).addElement(dayContainer, false);
-
- tileLayout.numColumns = 7;
-
- // the calendar has 7 columns with 6 rows, the first row are the day names
- for(var i:int=0; i < 7; i++) {
- var dayName:DateChooserButton = new DateChooserButton();
- dayName.text = model.dayNames[i];
- dayName.dayOfMonth = 0;
- dayContainer.addElement(dayName, false);
+ if (monthLabel.style == null) {
+ monthLabel.style = new SimpleCSSStyles();
}
-
- _dayButtons = new Array();
-
- for(i=0; i < 42; i++) {
- var date:DateChooserButton = new DateChooserButton();
- date.text = String(i+1);
- dayContainer.addElement(date, false);
- dayButtons.push(date);
+ monthLabel.style.flexGrow = 1;
+ COMPILE::JS {
+ monthLabel.element.style["flex-grow"] = "1";
}
-
- IEventDispatcher(dayContainer).dispatchEvent( new Event("itemsCreated") );
-
- updateCalendar();
- }
-
- /**
- * @private
- */
- private function updateCalendar():void
- {
- monthLabel.text = model.monthNames[model.displayedMonth] + " " +
- String(model.displayedYear);
-
- var firstDay:Date = new Date(model.displayedYear,model.displayedMonth,1);
-
- // blank out the labels for the first firstDay.day-1 entries.
- for(var i:int=0; i < firstDay.getDay(); i++) {
- var dateButton:DateChooserButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = -1;
- dateButton.text = "";
+ monthButtonsContainer.addElement(monthLabel);
+
+ _nextMonthButton = new DateHeaderButton();
+ _nextMonthButton.width = commonButtonWidth;
+ _nextMonthButton.text = ">";
+ if (_nextMonthButton.style == null) {
+ _nextMonthButton.style = new SimpleCSSStyles();
}
-
- // flag today
- var today:Date = new Date();
-
- // renumber to the last day of the month
- var dayNumber:int = 1;
- var numDays:Number = numberOfDaysInMonth(model.displayedMonth, model.displayedYear);
-
- for(; i < dayButtons.length && dayNumber <= numDays; i++) {
- dateButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = dayNumber;
- dateButton.text = String(dayNumber++);
-
- if (model.displayedMonth == today.getMonth() &&
- model.displayedYear == today.getFullYear() &&
- (dayNumber-1) == today.getDate()) {
- dateButton.id = "todayDateChooserButton";
- } else {
- dateButton.id = "";
- }
+ COMPILE::JS {
+ _nextMonthButton.element.style["flex-grow"] = "0";
}
-
- // blank out the rest
- for(; i < dayButtons.length; i++) {
- dateButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = -1;
- dateButton.text = "";
+ _nextMonthButton.style.flexGrow = 0;
+ monthButtonsContainer.addElement(_nextMonthButton);
+
+ UIBase(_strand).addElement(monthButtonsContainer, false);
+
+ // DAY NAMES
+
+ dayNamesContainer = new DateChooserHeader();
+ dayNamesContainer.id = "dateChooserDayNames";
+ dayNamesContainer.className = "DateChooserHeader";
+ dayNamesContainer.height = controlHeight;
+ dayNamesContainer.style = new SimpleCSSStyles();
+ dayNamesContainer.style.flexGrow = 0;
+ COMPILE::JS {
+ dayNamesContainer.element.style["flex-grow"] = "0";
+ dayNamesContainer.element.style["align-items"] = "center";
}
- }
-
- /**
- * @private
- */
- private function numberOfDaysInMonth(month:Number, year:Number):Number
- {
- var n:int;
-
- if (month == 1) // Feb
- {
- if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
- n = 29;
- else
- n = 28;
+ COMPILE::SWF {
+ dayNamesContainer.percentWidth = 100;
}
-
- else if (month == 3 || month == 5 || month == 8 || month == 10)
- n = 30;
-
- else
- n = 31;
-
- return n;
- }
-
- /**
- * @private
- */
- private function handleModelChange(event:Event):void
- {
- updateCalendar();
+ UIBase(_strand).addElement(dayNamesContainer, false);
+
+ // DAYS
+
+ daysContainer = new DateChooserList();
+ daysContainer.className = "DateChooserList";
+ daysContainer.id = "dateChooserList";
+ daysContainer.style = new SimpleCSSStyles();
+ daysContainer.style.flexGrow = 1;
+ COMPILE::JS {
+ daysContainer.element.style["flex-grow"] = "1";
+ }
+ COMPILE::SWF {
+ daysContainer.percentWidth = 100;
+ }
+ UIBase(_strand).addElement(daysContainer, false);
+
+
+ IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
+ model.addEventListener("selectedDateChanged", selectionChangeHandler);
}
/**
* @private
*/
- COMPILE::SWF
- protected function displayBackgroundAndBorder(host:UIBase) : void
+ private function updateDisplay():void
{
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
- if (backgroundColor != null || backgroundImage != null)
- {
- if (host.getBeadByType(IBackgroundBead) == null)
- var c:Class = ValuesManager.valuesImpl.getValue(host, "iBackgroundBead");
- if (c) {
- host.addBead( new c() as IBead );
- }
- }
+ monthLabel.text = model.monthNames[model.displayedMonth] + " " +
+ String(model.displayedYear);
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
- if (borderStyles is Array)
- {
- borderStyle = borderStyles[1];
- }
- if (borderStyle == null)
- {
- borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
- }
- if (borderStyle != null && borderStyle != "none")
- {
- if (host.getBeadByType(IBorderBead) == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iBorderBead");
- if (c) {
- host.addBead( new c() as IBead );
- }
- }
- }
+ dayNamesContainer.dataProvider = model.dayNames;
+
+ daysContainer.dataProvider = model.days;
+ }
+
+ /**
+ * @private
+ */
+ private function selectionChangeHandler(event:Event):void
+ {
+ updateDisplay();
+
+ var index:Number = model.getIndexForSelectedDate();
+ daysContainer.selectedIndex = index;
+ }
+
+ /**
+ * @private
+ */
+ private function handleModelChange(event:Event):void
+ {
+ updateDisplay();
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
index f709a1f..33bdfbb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
@@ -41,6 +41,7 @@
* input and button controls. This class also handles the pop-up
* mechanics.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -109,8 +110,11 @@
_button = new TextButton();
_button.text = "M";
UIBase(_strand).addElement(_button);
- _button.x = _textInput.width;
- _button.y = _textInput.y;
+
+ COMPILE::SWF {
+ _button.x = _textInput.width;
+ _button.y = _textInput.y;
+ }
IEventDispatcher(_strand).addEventListener("beadsAdded",handleBeadsAdded);
}
@@ -167,18 +171,21 @@
{
_popUp = new DateChooser();
_popUp.width = 210;
- _popUp.height = 220;
+ _popUp.height = 230;
}
var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
_popUp.selectedDate = model.selectedDate;
var host:IPopUpHost = UIUtils.findPopUpHost(UIBase(_strand));
- var point:Point = new Point(_button.x, _button.y+_button.height);
+ var point:Point = new Point(_textInput.width, _button.height);
var p2:Point = PointUtils.localToGlobal(point, _strand);
var p3:Point = PointUtils.globalToLocal(p2, host);
_popUp.x = p3.x;
_popUp.y = p3.y;
+ COMPILE::JS {
+ _popUp.element.style.position = "absolute";
+ }
host.addElement(_popUp);
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
index d01c889..1d17477 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DisableBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DisableBead.as
@@ -107,7 +107,7 @@
private function updateHost():void
{
COMPILE::SWF {
- var interactiveObject:InteractiveObject = (_strand as UIHTMLElementWrapper).$displayObject as InteractiveObject;
+ var interactiveObject:InteractiveObject = _strand as InteractiveObject;
interactiveObject.mouseEnabled = !disabled;
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchInputFinishedBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DispatchKeyboardEventBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
index d3d7ebd..2e10302 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.Graphics;
import flash.display.Shape;
@@ -29,14 +28,16 @@
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.CSSTextField;
import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
+ import org.apache.flex.core.IChild;
import org.apache.flex.core.IPopUpHost;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.SolidBorderUtil;
+ import org.apache.flex.utils.SolidBorderUtil;
+ import org.apache.flex.utils.UIUtils;
/**
* The DropDownListView class is the default view for
@@ -45,6 +46,7 @@
* down arrow button on the right, but really, the entire
* view is the button that will display or dismiss the dropdown.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -112,7 +114,7 @@
*/
override public function set strand(value:IStrand):void
{
- super.strand = value;;
+ super.strand = value;
selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
selectionModel.addEventListener("dataProviderChanged", selectionChangeHandler);
@@ -120,10 +122,11 @@
shape.graphics.beginFill(0xCCCCCC);
shape.graphics.drawRect(0, 0, 10, 10);
shape.graphics.endFill();
- SimpleButton(value).upState = upSprite;
- SimpleButton(value).downState = downSprite;
- SimpleButton(value).overState = overSprite;
- SimpleButton(value).hitTestState = shape;
+ var button:SimpleButton = value as SimpleButton;
+ button.upState = upSprite;
+ button.downState = downSprite;
+ button.overState = overSprite;
+ button.hitTestState = shape;
if (selectionModel.selectedIndex !== -1)
text = selectionModel.selectedItem.toString();
else
@@ -151,8 +154,8 @@
private function changeHandler(event:Event):void
{
- var ww:Number = DisplayObject(_strand).width;
- var hh:Number = DisplayObject(_strand).height;
+ var ww:Number = IUIBase(_strand).width;
+ var hh:Number = IUIBase(_strand).height;
upArrows.x = ww - upArrows.width - 6;
overArrows.x = ww - overArrows.width - 6;
@@ -190,6 +193,7 @@
private function drawBorder(sprite:Sprite, color:uint, ww:Number, hh:Number):void
{
+ sprite.graphics.clear();
SolidBorderUtil.drawBorder(sprite.graphics, 0, 0,
ww, hh,
0x808080, color, 1, 1, 4);
@@ -230,8 +234,6 @@
*/
public function set text(value:String):void
{
- var ww:Number = DisplayObject(_strand).width;
- var hh:Number = DisplayObject(_strand).height;
upTextField.text = value;
downTextField.text = value;
overTextField.text = value;
@@ -278,21 +280,19 @@
*/
public function set popUpVisible(value:Boolean):void
{
+ var host:IPopUpHost;
if (value != _popUpVisible)
{
_popUpVisible = value;
if (value)
{
- var root:Object = DisplayObject(_strand).root;
- var host:DisplayObjectContainer = DisplayObject(_strand).parent;
- while (host && !(host is IPopUpHost))
- host = host.parent;
- if (host)
- IPopUpHost(host).addElement(popUp as IChild);
+ host = UIUtils.findPopUpHost(_strand as IUIBase);
+ IPopUpHost(host).addElement(popUp as IChild);
}
else
{
- DisplayObject(_popUp).parent.removeChild(_popUp as DisplayObject);
+ host = UIUtils.findPopUpHost(_strand as IUIBase);
+ IPopUpHost(host).removeElement(popUp as IChild);
}
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/GroupView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/GroupView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
index de6a3af..212d29b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
@@ -32,6 +32,7 @@
* The HScrollBarTrackView class is the view for
* the track in a Horizontal ScrollBar.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IAccordionCollapseBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
index 650d300..e58d868 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
@@ -33,26 +33,24 @@
public interface IComboBoxView extends IBeadView
{
/**
- * The string appearing in the input area for the ComboBox.
+ * The sub-component used for the input area of the ComboBox.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get text():String;
- function set text(value:String):void;
+ function get textInputField():Object;
/**
- * The HTML string appearing in the input area for the ComboBox.
+ * The sub-component used for the button to activate the pop-up.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get html():String;
- function set html(value:String):void;
+ function get popupButton():Object;
/**
* The component housing the selection list.
@@ -62,7 +60,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get popUp():IStrand;
+ function get popUp():Object;
/**
* Determines whether or not the pop-up with the selection list is visible or not.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
index c42daa7..a2b8494 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
@@ -18,7 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import flash.display.DisplayObject;
+ import org.apache.flex.html.Button;
import org.apache.flex.core.IScrollBarModel;
import org.apache.flex.core.IStrand;
@@ -43,7 +43,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get increment():DisplayObject;
+ function get increment():Button;
/**
* The up arrow button in a vertical ScrollBar or left arrow
@@ -54,7 +54,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get decrement():DisplayObject;
+ function get decrement():Button;
/**
* The track in a ScrollBar
@@ -64,7 +64,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get track():DisplayObject;
+ function get track():Button;
/**
* The thumb in a ScrollBar
@@ -74,7 +74,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- function get thumb():DisplayObject;
+ function get thumb():Button;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
index 14a51c4..31ff9e9 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ISliderView.as
@@ -18,11 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- COMPILE::SWF
- {
- import flash.display.DisplayObject;
- }
import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IUIBase;
/**
* The ISliderView interface provides the protocol for any bead that
@@ -43,8 +40,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- COMPILE::SWF
- function get track():DisplayObject;
+ function get track():IUIBase;
/**
* The component used for the thumb button of the org.apache.flex.html.Slider.
@@ -54,7 +50,6 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- COMPILE::SWF
- function get thumb():DisplayObject;
+ function get thumb():IUIBase;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
index 9e1ebdf..f54faef 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
@@ -29,11 +29,12 @@
import org.apache.flex.core.UIButtonBase;
}
-
+
import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IBeadView;
+ import org.apache.flex.core.IChild;
+ import org.apache.flex.core.IStrand;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
@@ -44,6 +45,7 @@
* class does not support background and border; only images
* for the up, over, and active states.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -85,14 +87,17 @@
shape.graphics.beginFill(0xCCCCCC);
shape.graphics.drawRect(0, 0, 10, 10);
shape.graphics.endFill();
- SimpleButton(value).upState = upSprite;
- SimpleButton(value).downState = downSprite;
- SimpleButton(value).overState = overSprite;
- SimpleButton(value).hitTestState = shape;
+ var button:SimpleButton = value as SimpleButton;
+ button.upState = upSprite;
+ button.downState = downSprite;
+ button.overState = overSprite;
+ button.hitTestState = shape;
setupBackground(upSprite);
setupBackground(overSprite, "hover");
setupBackground(downSprite, "active");
+
+ IEventDispatcher(value).addEventListener("sourceChanged", handleSourceChange);
}
}
@@ -125,8 +130,8 @@
if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
{
host.setWidth(loader.content.width);
- if (host.parent)
- (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+ if (host.parent is IEventDispatcher)
+ IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
}
else
loader.content.width = host.width;
@@ -134,8 +139,8 @@
if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
{
host.setHeight(loader.content.height);
- if (host.parent)
- (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+ if (host.parent is IEventDispatcher)
+ IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
}
else
loader.content.height = host.height;
@@ -143,6 +148,17 @@
});
}
}
+
+ /**
+ * @private
+ */
+ COMPILE::SWF
+ private function handleSourceChange(event:org.apache.flex.events.Event):void
+ {
+ setupBackground(upSprite);
+ setupBackground(overSprite, "hover");
+ setupBackground(downSprite, "active");
+ }
/**
* @private
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
index 3018600..0f73421 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -17,13 +17,14 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
-{
+{
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.ContainerBase;
import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.IBeadView;
+ import org.apache.flex.core.IList;
import org.apache.flex.core.ISelectableItemRenderer;
import org.apache.flex.core.IItemRenderer;
import org.apache.flex.core.IItemRendererParent;
@@ -46,71 +47,89 @@
import org.apache.flex.html.supportClasses.ScrollBar;
/**
- * The List class creates the visual elements of the org.apache.flex.html.List
- * component. A List consists of the area to display the data (in the dataGroup), any
+ * The List class creates the visual elements of the org.apache.flex.html.List
+ * component. A List consists of the area to display the data (in the dataGroup), any
* scrollbars, and so forth.
- *
+ *
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ListView extends ContainerView implements IListView
+ COMPILE::JS
+ public class ListView extends DataContainerView
{
public function ListView()
{
+ super();
}
-
+
protected var listModel:ISelectionModel;
-
- private var _border:Border;
-
- /**
- * The border surrounding the org.apache.flex.html.List.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get border():Border
- {
- return _border;
- }
-
- /**
- * The area holding the itemRenderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataGroup():IItemRendererParent
- {
- (contentView as UIBase).className = "ListDataGroup";
- return contentView as IItemRendererParent;
- }
-
+
+ protected var lastSelectedIndex:int = -1;
+
/**
* @private
*/
- override public function get resizableView():IUIBase
+ override protected function handleInitComplete(event:Event):void
{
- return _strand as IUIBase;
+ listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
+ listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
+ listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
+
+ super.handleInitComplete(event);
}
-
- /**
- * @private
- */
- override public function get host():IUIBase
- {
- return _strand as IUIBase;
- }
-
+
+ protected function selectionChangeHandler(event:Event):void
+ {
+ if (lastSelectedIndex != -1)
+ {
+ var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
+ if (ir != null) ir.selected = false;
+ }
+ if (listModel.selectedIndex != -1)
+ {
+ ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
+ if (ir != null) ir.selected = true;
+ }
+ lastSelectedIndex = listModel.selectedIndex;
+ }
+
+ protected var lastRollOverIndex:int = -1;
+
+ /**
+ * @private
+ */
+ protected function rollOverIndexChangeHandler(event:Event):void
+ {
+ if (lastRollOverIndex != -1)
+ {
+ var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
+ ir.hovered = false;
+ }
+ if (IRollOverModel(listModel).rollOverIndex != -1)
+ {
+ ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
+ ir.hovered = true;
+ }
+ lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
+ }
+ }
+
+ COMPILE::SWF
+ public class ListView extends DataContainerView
+ {
+ public function ListView()
+ {
+ super();
+ }
+
+ protected var listModel:ISelectionModel;
+
/**
* @copy org.apache.flex.core.IBead#strand
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -121,42 +140,21 @@
_strand = value;
super.strand = value;
}
-
- override protected function completeSetup():void
+
+ /**
+ * @private
+ */
+ override protected function handleInitComplete(event:Event):void
{
- super.completeSetup();
-
- // list is not interested in UI children, it wants to know when new items
- // have been added or the dataProvider has changed.
-
- host.removeEventListener("childrenAdded", childrenChangedHandler);
- host.removeEventListener("childrenAdded", performLayout);
- host.addEventListener("itemsCreated", itemsCreatedHandler);
-
+ super.handleInitComplete(event);
+
listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
- listModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
}
-
+
protected var lastSelectedIndex:int = -1;
-
- /**
- * @private
- */
- protected function itemsCreatedHandler(event:Event):void
- {
- performLayout(event);
- }
-
- /**
- * @private
- */
- protected function dataProviderChangeHandler(event:Event):void
- {
- performLayout(event);
- }
-
+
/**
* @private
*/
@@ -174,9 +172,9 @@
}
lastSelectedIndex = listModel.selectedIndex;
}
-
+
protected var lastRollOverIndex:int = -1;
-
+
/**
* @private
*/
@@ -194,18 +192,5 @@
}
lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
}
-
- /**
- * respond to a change in size or request to re-layout everything
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function resizeHandler(event:Event):void
- {
- super.resizeHandler(event);
- }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
index c52fe93..43af3f8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelView.as
@@ -19,10 +19,15 @@
package org.apache.flex.html.beads
{
import org.apache.flex.core.IBeadView;
+ import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IContentViewHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.IChild;
+ import org.apache.flex.core.IContainer;
+ import org.apache.flex.core.IParent;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
+ import org.apache.flex.core.IViewport;
import org.apache.flex.core.IViewportModel;
import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
@@ -30,23 +35,31 @@
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
import org.apache.flex.geom.Size;
+ import org.apache.flex.html.Group;
import org.apache.flex.html.Container;
import org.apache.flex.html.Panel;
import org.apache.flex.html.TitleBar;
import org.apache.flex.utils.CSSContainerUtils;
import org.apache.flex.utils.CSSUtils;
-
+ import org.apache.flex.html.beads.layouts.VerticalFlexLayout;
+ import org.apache.flex.html.supportClasses.PanelLayoutProxy;
+
+ COMPILE::SWF {
+ import org.apache.flex.core.SimpleCSSStyles;
+ }
+
/**
- * The Panel class creates the visual elements of the org.apache.flex.html.Panel
+ * The Panel class creates the visual elements of the org.apache.flex.html.Panel
* component. A Panel has a org.apache.flex.html.TitleBar, and content. A
* different View, PanelWithControlBarView, can display a ControlBar.
- *
+ *
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class PanelView extends ContainerView implements IBeadView
+ public class PanelView extends GroupView implements IBeadView
{
/**
* constructor.
@@ -60,11 +73,11 @@
{
super();
}
-
+
private var _titleBar:TitleBar;
-
+
/**
- * The org.apache.flex.html.TitleBar component of the
+ * The org.apache.flex.html.TitleBar component of the
* org.apache.flex.html.Panel.
*
* @langversion 3.0
@@ -76,7 +89,7 @@
{
return _titleBar;
}
-
+
/**
* @private
*/
@@ -84,10 +97,31 @@
{
_titleBar = value;
}
-
+
+ private var _contentArea:Container;
+
+ /**
+ * The content area of the panel.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function get contentArea():Container
+ {
+ return _contentArea;
+ }
+ public function set contentArea(value:Container):void
+ {
+ _contentArea = value;
+ }
+
+ private var _strand:IStrand;
+
/**
* @copy org.apache.flex.core.IBead#strand
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -95,74 +129,138 @@
*/
override public function set strand(value:IStrand):void
{
+ _strand = value;
+
var host:UIBase = UIBase(value);
-
+
if (!_titleBar) {
_titleBar = new TitleBar();
_titleBar.id = "panelTitleBar";
- _titleBar.height = 30;
+
+ COMPILE::SWF {
+ _titleBar.percentWidth = 100;
+
+ if (_titleBar.style == null) {
+ _titleBar.style = new SimpleCSSStyles();
+ }
+ _titleBar.style.flexGrow = 0;
+ _titleBar.style.order = 1;
+ }
+
+ COMPILE::JS {
+ _titleBar.element.style["flex-grow"] = "0";
+ _titleBar.element.style["order"] = "1";
+ }
}
// replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
- // any changes to values in the Panel's model that correspond values in the TitleBar will
+ // any changes to values in the Panel's model that correspond values in the TitleBar will
// be picked up automatically by the TitleBar.
titleBar.model = host.model;
-
+
+ if (!_contentArea) {
+ _contentArea = new Container();
+ _contentArea.id = "panelContent";
+ _contentArea.className = "PanelContent";
+
+ COMPILE::SWF {
+ _contentArea.percentWidth = 100;
+
+ if (_contentArea.style == null) {
+ _contentArea.style = new SimpleCSSStyles();
+ }
+ _contentArea.style.flexGrow = 1;
+ _contentArea.style.order = 2;
+ }
+
+ COMPILE::JS {
+ _contentArea.element.style["flex-grow"] = "1";
+ _contentArea.element.style["order"] = "2";
+ _contentArea.element.style["overflow"] = "auto"; // temporary
+ }
+ }
+
+ COMPILE::SWF {
+ IEventDispatcher(value).addEventListener("widthChanged", handleSizeChange);
+ IEventDispatcher(value).addEventListener("heightChanged", handleSizeChange);
+ IEventDispatcher(value).addEventListener("sizeChanged", handleSizeChange);
+ IEventDispatcher(value).addEventListener("childrenAdded", handleChildrenAdded);
+ }
+
super.strand = value;
+
+ // If the Panel was given a layout, transfer it to the content area.
+ var layoutBead:IBeadLayout = value.getBeadByType(IBeadLayout) as IBeadLayout;
+ if (layoutBead) {
+ value.removeBead(layoutBead);
+
+ var contentLayout:IBeadLayout = _contentArea.getBeadByType(IBeadLayout) as IBeadLayout;
+ if (contentLayout) {
+ _contentArea.removeBead(contentLayout);
+ }
+ _contentArea.addBead(layoutBead);
+ }
+
+ // If the Panel was given a viewport, transfer it to the content area.
+ var viewportBead:IViewport = value.getBeadByType(IViewport) as IViewport;
+ if (viewportBead) {
+ value.removeBead(viewportBead);
+ _contentArea.addBead(viewportBead);
+ }
+
+ // Now give the Panel its own layout
+ layoutBead = new VerticalFlexLayout();
+ value.addBead(layoutBead);
}
-
+
+ private var _panelLayoutProxy:PanelLayoutProxy;
+
+ /**
+ * The sub-element used as the parent of the container's elements. This does not
+ * include the chrome elements.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ override public function get contentView():ILayoutView
+ {
+ // we want to return a proxy for the host which will have numElements, getElementAt, etc.
+ // functions that will use the host.$numElements, host.$getElementAt, etc. functions
+ if (_panelLayoutProxy == null) {
+ _panelLayoutProxy = new PanelLayoutProxy(_strand);
+ }
+ return _panelLayoutProxy;
+ }
+
override protected function completeSetup():void
{
- (host as IContentViewHost).strandChildren.addElement(titleBar);
+ if (titleBar.parent == null) {
+ (_strand as Panel).$addElement(titleBar);
+ }
+ if (contentArea.parent == null) {
+ (_strand as Panel).$addElement(contentArea as IChild);
+ }
+
super.completeSetup();
+
+ performLayout(null);
}
-
- /**
- * Calculate the space taken up by non-content children like a TItleBar in a Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function getChromeMetrics():Rectangle
- {
- return new Rectangle(0, titleBar.height, 0, 0 - titleBar.height);
- }
-
- override protected function layoutViewBeforeContentLayout():void
- {
- var vm:IViewportModel = viewportModel;
- var host:ILayoutChild = this.host as ILayoutChild;
- vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
- titleBar.x = vm.borderMetrics.left;
- titleBar.y = vm.borderMetrics.top;
- if (!host.isWidthSizedToContent())
- titleBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
- vm.chromeMetrics = getChromeMetrics();
- viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
- vm.borderMetrics.top + vm.chromeMetrics.top);
- viewport.layoutViewportBeforeContentLayout(
- !host.isWidthSizedToContent() ?
- host.width - vm.borderMetrics.left - vm.borderMetrics.right -
- vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
- !host.isHeightSizedToContent() ?
- host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
- vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
- }
-
- override protected function layoutViewAfterContentLayout():void
+
+ protected function handleSizeChange(event:Event):void
{
- var vm:IViewportModel = viewportModel;
- var viewportSize:Size = this.viewport.layoutViewportAfterContentLayout();
- var host:ILayoutChild = this.host as ILayoutChild;
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- if (!hasWidth) {
- titleBar.width = viewportSize.width; // should get titlebar to layout and get new height
- vm.chromeMetrics = this.getChromeMetrics();
- vm.chromeMetrics.top = titleBar.height;
- }
- super.layoutViewAfterContentLayout();
- }
+ COMPILE::JS {
+ _titleBar.percentWidth = 100;
+ _contentArea.percentWidth = 100;
+ }
+
+ performLayout(event);
+ }
+
+ private function handleChildrenAdded(event:Event):void
+ {
+ _contentArea.dispatchEvent(new Event("layoutNeeded"));
+ performLayout(event);
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
index cfbbae8..3312b85 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
@@ -19,6 +19,7 @@
package org.apache.flex.html.beads
{
import org.apache.flex.core.IBeadView;
+ import org.apache.flex.core.IChild;
import org.apache.flex.core.IContentViewHost;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.IPanelModel;
@@ -32,21 +33,27 @@
import org.apache.flex.geom.Rectangle;
import org.apache.flex.geom.Size;
import org.apache.flex.html.Container;
+ import org.apache.flex.html.Panel;
import org.apache.flex.html.ControlBar;
import org.apache.flex.html.TitleBar;
import org.apache.flex.utils.CSSContainerUtils;
+ COMPILE::SWF {
+ import org.apache.flex.core.SimpleCSSStyles;
+ }
+
/**
* The Panel class creates the visual elements of the org.apache.flex.html.Panel
* component. A Panel has a org.apache.flex.html.TitleBar, content, and an
* optional org.apache.flex.html.ControlBar.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class PanelWithControlBarView extends ContainerView implements IBeadView
+ public class PanelWithControlBarView extends PanelView
{
/**
* constructor.
@@ -58,22 +65,7 @@
*/
public function PanelWithControlBarView()
{
- }
-
- private var _titleBar:TitleBar;
-
- /**
- * The org.apache.flex.html.TitleBar component of the
- * org.apache.flex.html.Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get titleBar():TitleBar
- {
- return _titleBar;
+ super();
}
private var _controlBar:ControlBar;
@@ -101,105 +93,65 @@
*/
override public function set strand(value:IStrand):void
{
- var host:UIBase = UIBase(value);
-
- // TODO: (aharui) get class to instantiate from CSS
- if (!_titleBar) {
- _titleBar = new TitleBar();
- _titleBar.id = "panelTitleBar";
- _titleBar.height = 30;
- }
- // replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
- // any changes to values in the Panel's model that correspond values in the TitleBar will
- // be picked up automatically by the TitleBar.
- _titleBar.model = host.model;
-
- var controlBarItems:Array = (host.model as IPanelModel).controlBar;
- if( controlBarItems && controlBarItems.length > 0 ) {
- _controlBar = new ControlBar();
- _controlBar.id = "panelControlBar";
- _controlBar.height = 30;
-
- for each(var comp:IUIBase in controlBarItems) {
- _controlBar.addElement(comp, false);
- }
- }
-
super.strand = value;
+
+ var host:UIBase = UIBase(_strand);
+
+ _controlBar = new ControlBar();
+ _controlBar.id = "panelControlBar";
+
+ COMPILE::SWF {
+ _controlBar.percentWidth = 100;
+
+ if (_controlBar.style == null) {
+ _controlBar.style = new SimpleCSSStyles();
+ }
+ _controlBar.style.flexGrow = 0;
+ _controlBar.style.order = 3;
+ }
+
+ COMPILE::JS {
+ _controlBar.element.style["flex-grow"] = "0";
+ _controlBar.element.style["order"] = "3";
+ }
}
override protected function completeSetup():void
{
+ if (titleBar.parent == null) {
+ (_strand as Panel).$addElement(titleBar);
+ }
+ if (contentArea.parent == null) {
+ (_strand as Panel).$addElement(contentArea as IChild);
+ }
+ if (controlBar.parent == null) {
+ (_strand as Panel).$addElement(controlBar);
+ }
+
+ var host:UIBase = UIBase(_strand);
+
+ var controlBarItems:Array = (host.model as IPanelModel).controlBar;
+ if( controlBarItems && controlBarItems.length > 0 ) {
+ for each(var comp:IUIBase in controlBarItems) {
+ controlBar.addElement(comp, false);
+ }
+ controlBar.childrenAdded();
+ }
+
super.completeSetup();
- (_strand as IContentViewHost).strandChildren.addElement(titleBar, false);
-
- if (controlBar) {
- (_strand as IContentViewHost).strandChildren.addElement(_controlBar, false);
- }
+ performLayout(null);
}
- /**
- * Calculate the space taken up by non-content children like a TItleBar in a Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function getChromeMetrics():Rectangle
- {
- return new Rectangle(0, titleBar.height, 0, controlBar.height - titleBar.height);
- }
-
- override protected function layoutViewBeforeContentLayout():void
- {
- var vm:IViewportModel = viewportModel;
- var host:ILayoutChild = this.host as ILayoutChild;
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
- titleBar.x = vm.borderMetrics.left;
- titleBar.y = vm.borderMetrics.top;
- if (hasWidth)
- {
- titleBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
- controlBar.width = host.width - vm.borderMetrics.left - vm.borderMetrics.right;
- }
- vm.chromeMetrics = getChromeMetrics();
- controlBar.x = vm.borderMetrics.left;
- if (hasHeight && hasWidth)
- controlBar.y = host.height - vm.borderMetrics.bottom - controlBar.height;
-
- viewport.setPosition(vm.borderMetrics.left + vm.chromeMetrics.left,
- vm.borderMetrics.top + vm.chromeMetrics.top);
- viewport.layoutViewportBeforeContentLayout(
- hasWidth ?
- host.width - vm.borderMetrics.left - vm.borderMetrics.right -
- vm.chromeMetrics.left - vm.chromeMetrics.right : NaN,
- hasHeight ?
- host.height - vm.borderMetrics.top - vm.borderMetrics.bottom -
- vm.chromeMetrics.top - vm.chromeMetrics.bottom : NaN);
- }
-
- override protected function layoutViewAfterContentLayout():void
- {
- var vm:IViewportModel = viewportModel;
- var viewportSize:Size = this.viewport.layoutViewportAfterContentLayout();
- var host:ILayoutChild = this.host as ILayoutChild;
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- if (!hasWidth) {
- titleBar.width = viewportSize.width; // should get titlebar to layout and get new height
- vm.chromeMetrics = this.getChromeMetrics();
- vm.chromeMetrics.top = titleBar.height;
- controlBar.width = viewportSize.width; // should get controlbar to layout and get new height
- vm.chromeMetrics.bottom = controlBar.height;
- }
- super.layoutViewAfterContentLayout();
- if (!hasHeight) {
- controlBar.y = host.height - vm.borderMetrics.bottom - controlBar.height;
- }
- }
+ override protected function handleSizeChange(event:Event):void
+ {
+ COMPILE::JS {
+ titleBar.percentWidth = 100;
+ contentArea.percentWidth = 100;
+ controlBar.percentWidth = 100;
+ }
+
+ performLayout(event);
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
index 3ac84ce..62506f7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
@@ -34,6 +34,7 @@
* The RangeStepperView bead creates the visual elements of the RangeStepper. This
* includes an increment button, a decrement button, and label to display the value.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
index e3f8c50..41ef624 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
@@ -128,10 +128,10 @@
layout.layout();
}
- protected var _decrement:DisplayObject;
- protected var _increment:DisplayObject;
- protected var _track:DisplayObject;
- protected var _thumb:DisplayObject;
+ protected var _decrement:Button;
+ protected var _increment:Button;
+ protected var _track:Button;
+ protected var _thumb:Button;
/**
* @copy org.apache.flex.html.beads.IScrollBarView#decrement
@@ -141,7 +141,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get decrement():DisplayObject
+ public function get decrement():Button
{
return _decrement;
}
@@ -154,7 +154,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get increment():DisplayObject
+ public function get increment():Button
{
return _increment;
}
@@ -167,7 +167,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get track():DisplayObject
+ public function get track():Button
{
return _track;
}
@@ -180,7 +180,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get thumb():DisplayObject
+ public function get thumb():Button
{
return _thumb;
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
index 49f3608..0dcc6fa 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
@@ -19,8 +19,9 @@
package org.apache.flex.html.beads
{
import flash.display.Graphics;
-
+
import org.apache.flex.core.IBead;
+ import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.IStatesObject;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
@@ -65,14 +66,22 @@
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("layoutNeeded", changeHandler);
IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
- IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
- changeHandler(null);
+ IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
+ IEventDispatcher(value).addEventListener("initComplete", changeHandler);
+ IEventDispatcher(value).addEventListener("layoutComplete", changeHandler);
+ var ilc:ILayoutChild = value as ILayoutChild;
+ if (ilc)
+ {
+ if (!isNaN(ilc.explicitWidth) && !isNaN(ilc.explicitHeight))
+ {
+ changeHandler(null);
+ }
+ }
}
- private function changeHandler(event:Event):void
+ protected function changeHandler(event:Event):void
{
var host:UIBase = UIBase(_strand);
var g:Graphics = host.graphics;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SingleLineBorderWithChangeListenerBead.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
index e9b4ea5..debfff3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
@@ -18,26 +18,23 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- COMPILE::SWF
- {
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- }
+ import flash.display.Graphics;
+ import flash.display.Shape;
+ import flash.display.SimpleButton;
+
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.IStrand;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
+ import org.apache.flex.html.Button;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.core.IChild;
/**
* The SliderThumbView class creates the draggable input element for the
* org.apache.flex.html.Slider component.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -55,29 +52,26 @@
*/
public function SliderThumbView()
{
- COMPILE::SWF
- {
- hitArea = new Shape();
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
- }
+ hitArea = new Shape();
+ upView = new Shape();
+ downView = new Shape();
+ overView = new Shape();
}
/**
* @private
*/
- COMPILE::SWF
private function drawView(g:Graphics, bgColor:uint):void
{
+ var host:Button = Button(_strand);
+ var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
g.clear();
g.lineStyle(1,0x000000);
- g.beginFill(bgColor);
- g.drawCircle(SimpleButton(_strand).width/2, SimpleButton(_strand).height/2, 10);
+ g.beginFill(bgColor,1.0);
+ g.drawCircle(host.width/2, host.height/2, 10);
g.endFill();
}
- COMPILE::SWF
private var hitArea:Shape;
/**
@@ -94,57 +88,28 @@
{
super.strand = value;
- COMPILE::SWF
- {
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xFFFFFF);
- drawView(downView.graphics, 0x999999);
- drawView(overView.graphics, 0xDDDDDD);
-
- SimpleButton(value).upState = upView;
- SimpleButton(value).downState = downView;
- SimpleButton(value).overState = overView;
- SimpleButton(value).hitTestState = hitArea;
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- }
- COMPILE::JS
- {
-
- element = document.createElement('div') as WrappedHTMLElement;
- element.className = 'SliderThumb';
- element.id = 'thumb';
- element.style.backgroundColor = '#949494';
- element.style.border = 'thin solid #747474';
- element.style.position = 'relative';
- element.style.height = '30px';
- element.style.width = '10px';
- element.style.zIndex = '2';
- element.style.top = '-10px';
- element.style.left = '20px';
-
- (host.element as WrappedHTMLElement).appendChild(element);
-
- element.flexjs_wrapper = this;
-
- }
+ drawView(hitArea.graphics, 0xDD0000);
+ drawView(upView.graphics, 0xFFFFFF);
+ drawView(downView.graphics, 0x999999);
+ drawView(overView.graphics, 0xDDDDDD);
+
+ var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+ button.upState = upView;
+ button.downState = downView;
+ button.overState = overView;
+ button.hitTestState = hitArea;
+
+ IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+ IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
}
- COMPILE::SWF
private var upView:Shape;
- COMPILE::SWF
private var downView:Shape;
- COMPILE::SWF
private var overView:Shape;
-
- COMPILE::JS
- public var element:WrappedHTMLElement;
/**
* @private
*/
- COMPILE::SWF
private function sizeChangeHandler( event:Event ) : void
{
drawView(hitArea.graphics, 0xDD0000);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
index eac9d32..c413c54 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
@@ -18,28 +18,24 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- COMPILE::SWF
- {
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- }
+ import flash.display.Graphics;
+ import flash.display.Shape;
+ import flash.display.SimpleButton;
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
+ import org.apache.flex.html.Button;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.core.IChild;
/**
* The SliderTrackView class creates the track area for the org.apache.flex.html.Slider
* component.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -57,29 +53,26 @@
*/
public function SliderTrackView()
{
- COMPILE::SWF
- {
- hitArea = new Shape();
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
- }
+ hitArea = new Shape();
+ upView = new Shape();
+ downView = new Shape();
+ overView = new Shape();
}
/**
* @private
*/
- COMPILE::SWF
private function drawView(g:Graphics, bgColor:uint):void
{
+ var host:Button = Button(_strand);
+ var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
g.clear();
g.lineStyle(1,0x000000);
g.beginFill(bgColor);
- g.drawRect(0, 0, SimpleButton(_strand).width, SimpleButton(_strand).height);
+ g.drawRect(0, 0, host.width, host.height);
g.endFill();
}
- COMPILE::SWF
private var hitArea:Shape;
/**
@@ -95,54 +88,28 @@
{
super.strand = value;
- COMPILE::SWF
- {
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xCCCCCC);
- drawView(downView.graphics, 0x808080);
- drawView(overView.graphics, 0xEEEEEE);
-
- SimpleButton(value).upState = upView;
- SimpleButton(value).downState = downView;
- SimpleButton(value).overState = overView;
- SimpleButton(value).hitTestState = hitArea;
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- }
- COMPILE::JS
- {
- element = document.createElement('div') as WrappedHTMLElement;
- element.className = 'SliderTrack';
- element.id = 'track';
- element.style.backgroundColor = '#E4E4E4';
- element.style.height = '10px';
- element.style.width = '200px';
- element.style.border = 'thin solid #C4C4C4';
- element.style.position = 'relative';
- element.style.left = '0px';
- element.style.top = '10px';
- element.style.zIndex = '1';
-
- var host:UIBase = value as UIBase;
- host.element.appendChild(element);
- }
+ drawView(hitArea.graphics, 0xDD0000);
+ drawView(upView.graphics, 0xCCCCCC);
+ drawView(downView.graphics, 0x808080);
+ drawView(overView.graphics, 0xEEEEEE);
+
+ var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
+ button.upState = upView;
+ button.downState = downView;
+ button.overState = overView;
+ button.hitTestState = hitArea;
+
+ IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
+ IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
}
- COMPILE::JS
- public var element:WrappedHTMLElement;
-
- COMPILE::SWF
private var upView:Shape;
- COMPILE::SWF
private var downView:Shape;
- COMPILE::SWF
private var overView:Shape;
/**
* @private
*/
- COMPILE::SWF
private function sizeChangeHandler( event:Event ) : void
{
drawView(hitArea.graphics, 0xDD0000);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
index 071dd8d..009fb8c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SliderView.as
@@ -18,8 +18,10 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
- import flash.display.DisplayObject;
- import flash.display.Sprite;
+ COMPILE::SWF {
+ import flash.display.DisplayObject;
+ import flash.display.Sprite;
+ }
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.IBead;
@@ -28,15 +30,18 @@
import org.apache.flex.core.IRangeModel;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.Button;
+ import org.apache.flex.html.TextButton;
/**
* The SliderView class creates the visual elements of the org.apache.flex.html.Slider
* component. The Slider has a track and a thumb control which are also created with view beads.
*
+ * @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -70,14 +75,31 @@
{
super.strand = value;
- _track = new Button();
- Button(_track).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
-
- _thumb = new Button();
- Button(_thumb).addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
-
- UIBase(_strand).addChild(_track);
- UIBase(_strand).addChild(_thumb);
+ COMPILE::SWF {
+ var s:UIBase = UIBase(_strand);
+
+ _track = new Button();
+ _track.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
+ _track.className = "SliderTrack";
+ s.addElement(_track);
+
+ _thumb = new TextButton();
+ _thumb.text = '\u2B0C';
+ _thumb.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
+ _thumb.className = "SliderThumb";
+ s.addElement(_thumb);
+
+ }
+ COMPILE::JS {
+ _track = new Button();
+ _track.className = "SliderTrack";
+ UIBase(_strand).addElement(_track);
+
+ _thumb = new TextButton();
+ _thumb.className = "SliderThumb";
+ _thumb.text = '\u2B0C';
+ UIBase(_strand).addElement(_thumb);
+ }
IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
@@ -91,22 +113,12 @@
IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
- // set a minimum size to trigger the size change handler
- var needsSizing:Boolean = true;
- if( UIBase(_strand).width < 100 ) {
- UIBase(_strand).width = 100;
- needsSizing = false;
- }
- if( UIBase(_strand).height < 30 ) {
- UIBase(_strand).height = 30;
- needsSizing = false;
- }
-
- if( needsSizing ) sizeChangeHandler(null);
+ sizeChangeHandler(null);
}
- private var _track:DisplayObject;
- private var _thumb:DisplayObject;
+ private var _track:Button;
+ private var _thumb:TextButton;
+
/**
* The track component.
@@ -116,7 +128,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get track():DisplayObject
+ public function get track():IUIBase
{
return _track;
}
@@ -129,7 +141,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function get thumb():DisplayObject
+ public function get thumb():IUIBase
{
return _thumb;
}
@@ -139,22 +151,22 @@
*/
private function sizeChangeHandler( event:Event ) : void
{
- var w:Number = UIBase(_strand).width;
- var h:Number = UIBase(_strand).height;
+ var host:UIBase = UIBase(_strand);
+ var w:Number = host.width;
+ var h:Number = host.height;
_thumb.width = 20;
- _thumb.height = UIBase(_strand).height;
-
- _thumb.x = 10;
- _thumb.y = 0;
-
+ _thumb.height = host.height;
+
// the track is inset 1/2 of the thumbwidth so the thumb can
// overlay the track on either end with the thumb center being
// on the track's edge
- _track.width = UIBase(_strand).width - _thumb.width;
+ _track.width = host.width - _thumb.width;
_track.height = 5;
_track.x = _thumb.width/2;
- _track.y = (UIBase(_strand).height - _track.height)/2;
+ _track.y = (host.height - _track.height)/2;
+
+ setThumbPositionFromValue(rangeModel.value);
}
/**
@@ -171,8 +183,11 @@
private function setThumbPositionFromValue( value:Number ) : void
{
var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
- var xloc:Number = p*(UIBase(_strand).width - _thumb.width);
-
+ var xloc:Number = (p*_track.width);
+ COMPILE::JS
+ {
+ _thumb.element.style.position = 'absolute';
+ }
_thumb.x = xloc;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
index a162669..22a7fc7 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
@@ -18,17 +18,17 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
{
+ import flash.display.Graphics;
import flash.display.Sprite;
- import flash.display.Graphics;
-
- import org.apache.flex.core.IBead;
+
+ import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
+ import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.events.IEventDispatcher;
/**
* The SolidBackgroundBead class draws a solid filled background.
@@ -77,27 +77,41 @@
IEventDispatcher(host).addEventListener("widthChanged", changeHandler);
IEventDispatcher(host).addEventListener("sizeChanged", changeHandler);
IEventDispatcher(host).addEventListener("initComplete", changeHandler);
+ IEventDispatcher(host).addEventListener("layoutComplete", changeHandler);
+ setupStyle();
+
+ var ilc:ILayoutChild = value as ILayoutChild;
+ if (ilc)
+ {
+ if (!isNaN(ilc.explicitWidth) && !isNaN(ilc.explicitHeight))
+ {
+ changeHandler(null);
+ }
+ }
+
+ }
+
+ protected function setupStyle():void
+ {
var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
if ((bgColor is String) && (bgColor == "transparent")) {
bgColor = null;
opacity = 0;
}
else if( bgColor != null ) {
- backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
+ _backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
}
var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
if( bgAlpha != null ) {
- opacity = Number(bgAlpha);
+ _opacity = Number(bgAlpha);
}
-
- var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
- if( corner != null ) {
- borderRadius = Number(corner);
- }
-
- changeHandler(null);
+
+ var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
+ if( corner != null ) {
+ _borderRadius = Number(corner);
+ }
}
private var _backgroundColor:uint;
@@ -175,9 +189,9 @@
changeHandler(null);
}
- private function changeHandler(event:Event):void
+ protected function changeHandler(event:Event):void
{
- var g:Graphics = Sprite(host).graphics;
+ var g:Graphics = Sprite(host).graphics as Graphics;
var w:Number = host.width;
var h:Number = host.height;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/SolidBackgroundWithChangeListenerBead.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TableCellView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TableCellView.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TableCellView.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TableCellView.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
index 3ab2874..8176f53 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
@@ -96,14 +96,16 @@
IEventDispatcher(_strand).addEventListener("heightChanged", heightChangeHandler);
IEventDispatcher(_strand).addEventListener("sizeChanged", sizeChangeHandler);
DisplayObjectContainer(value).addChild(_textField);
- if (_textModel.text !== null)
- text = _textModel.text;
- if (_textModel.html !== null)
- html = _textModel.html;
-
+
var ilc:ILayoutChild = host as ILayoutChild;
autoHeight = ilc.isHeightSizedToContent();
autoWidth = ilc.isWidthSizedToContent();
+
+ if (_textModel.text !== null)
+ text = _textModel.text;
+ if (_textModel.html !== null)
+ html = _textModel.html;
+
if (!autoWidth && !isNaN(ilc.explicitWidth))
{
widthChangeHandler(null);
@@ -399,6 +401,13 @@
textField.autoSize = "none";
textField.width = host.width;
}
+
+ if (autoWidth) {
+ (host as UIBase).setWidth(textField.textWidth, true);
+ }
+ if (autoHeight) {
+ (host as UIBase).setHeight(textField.textHeight, true);
+ }
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
index a6f1438..9d27974 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputView.as
@@ -84,6 +84,8 @@
h = textField.textHeight;
textField.text = s;
ilc.setWidth(w + uiMetrics.left + uiMetrics.right, true);
+ // TextInput doesn't stretch if no width like divs do
+ ilc.explicitWidth = ilc.width;
}
if (ilc.isHeightSizedToContent())
{
@@ -97,6 +99,8 @@
textField.text = s;
}
ilc.setHeight(h + uiMetrics.top + uiMetrics.bottom, true);
+ // TextInput doesn't stretch if no height like divs do
+ ilc.explicitHeight = ilc.height;
}
heightChangeHandler(null);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
index fbab13e..5db680c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
@@ -61,6 +61,11 @@
value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
+
+ // if we aren't going to get resized, draw the border now
+ var ilc:ILayoutChild = host as ILayoutChild;
+ if (ilc.isWidthSizedToContent() && !isNaN(ilc.explicitHeight))
+ ilc.dispatchEvent(new Event("initComplete"));
}
/**
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
index 9ffd9fe..7752e90 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
@@ -19,6 +19,7 @@
package org.apache.flex.html.beads
{
import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IList;
import org.apache.flex.core.IDataProviderItemRendererMapper;
import org.apache.flex.core.IItemRendererClassFactory;
import org.apache.flex.core.IItemRendererParent;
@@ -75,21 +76,24 @@
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
private function finishSetup(event:Event):void
{
selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- dataGroup = listView.dataGroup;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
if (!itemRendererFactory)
{
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
+ _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+ if (!_itemRendererFactory)
+ {
+ _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+ _strand.addBead(_itemRendererFactory);
+ }
}
dataProviderChangeHandler(null);
@@ -125,23 +129,24 @@
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
- protected var dataGroup:IItemRendererParent;
-
+ */
private function dataProviderChangeHandler(event:Event):void
{
var dp:Array = selectionModel.dataProvider as Array;
if (!dp)
return;
- dataGroup.removeAllElements();
+ var list:IList = _strand as IList;
+ var dataGroup:IItemRendererParent = list.dataGroup;
+
+ dataGroup.removeAllItemRenderers();
var n:int = dp.length;
for (var i:int = 0; i < n; i++)
{
var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
tf.index = i;
- dataGroup.addElement(tf);
+ dataGroup.addItemRenderer(tf);
if (selectionModel.labelField)
tf.text = dp[i][selectionModel.labelField];
else
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
index b0c11b5..d0d49a2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
@@ -22,8 +22,10 @@
import org.apache.flex.core.IBead;
import org.apache.flex.core.IItemRendererClassFactory;
import org.apache.flex.core.IItemRendererParent;
+ import org.apache.flex.core.IList;
import org.apache.flex.core.ISelectionModel;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.ValuesManager;
import org.apache.flex.events.Event;
import org.apache.flex.events.EventDispatcher;
import org.apache.flex.events.IEventDispatcher;
@@ -74,15 +76,26 @@
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
+ IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
private function finishSetup(event:Event):void
{
selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var listView:IListView = _strand.getBeadByType(IListView) as IListView;
- dataGroup = listView.dataGroup;
- selectionModel.addEventListener("dataProviderChange", dataProviderChangeHandler);
+ selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
+ if (!itemRendererFactory)
+ {
+ _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
+ if (!_itemRendererFactory)
+ {
+ _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
+ _strand.addBead(_itemRendererFactory);
+ }
+ }
+
dataProviderChangeHandler(null);
}
@@ -123,14 +136,17 @@
{
var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
- dataGroup.removeAllElements();
+ var list:IList = _strand as IList;
+ var dataGroup:IItemRendererParent = list.dataGroup;
+
+ dataGroup.removeAllItemRenderers();
var n:int = dp.length;
for (var i:int = 0; i < n; i++)
{
var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
tf.index = i;
- dataGroup.addElement(tf);
+ dataGroup.addItemRenderer(tf);
tf.text = dp[i];
var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
index 206f43e..0f27523 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
@@ -47,12 +47,12 @@
<js:LayoutChangeNotifier watchedProperty="{titleLabel.text}" />
</js:beads>
- <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" >
+ <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" className="TitleBarTitle" >
<js:style>
- <js:SimpleCSSStyles fontWeight="inherit" margin="5" />
+ <js:SimpleCSSStyles fontWeight="inherit" marginRight="5" marginLeft="5" />
</js:style>
</js:Label>
- <js:CloseButton id="closeButton" click="clickHandler()"
- visible="{ITitleBarModel(model).showCloseButton}"/>
+ <js:CloseButton id="closeButton" click="clickHandler()" className="TitleBarCloseButton"
+ visible="{ITitleBarModel(model).showCloseButton}"/>
</js:MXMLBeadView>
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
index 840f7bf..979ac8e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
@@ -61,6 +61,26 @@
}
/**
+ * The default step size for up and down arrows as a divisor
+ * to the height of the scroll bar. In other words, if
+ * STEP_RATE is set to 20, then it will take 20 clicks on
+ * the thumb to move the bottom of the screen to the top.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var STEP_RATE:int = 20;
+
+ override protected function changeHandler(event:Event):void
+ {
+ layout.layout();
+ sbModel = host.getBeadByType(IScrollBarModel) as IScrollBarModel;
+ sbModel.stepSize = Math.max(Math.round(host.height / STEP_RATE), 1);
+ }
+
+ /**
* @copy org.apache.flex.core.IBead#strand
*
* @langversion 3.0
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/AccordionItemRendererMouseController.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
index 12fb59c..a3d3dc2 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
@@ -18,87 +18,63 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.controllers
{
- import flash.display.DisplayObject;
-
import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.IComboBoxModel;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
+ import org.apache.flex.events.MouseEvent;
+ import org.apache.flex.html.TextInput;
+ import org.apache.flex.html.List;
import org.apache.flex.html.beads.IComboBoxView;
-
- /**
- * The ComboBoxController class bead handles mouse events on the elements of
- * the org.apache.flex.html.ComboBox. This includes selecting the
- * button to display the selection list pop-up as well as selecting an item from the
- * pop-up list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
+
public class ComboBoxController implements IBeadController
{
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
public function ComboBoxController()
{
}
private var _strand:IStrand;
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
+ private var viewBead:IComboBoxView;
+
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener(MouseEvent.CLICK, clickHandler);
+
+ viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+ if (viewBead) {
+ finishSetup(null);
+ } else {
+ IEventDispatcher(_strand).addEventListener("viewChanged", finishSetup);
+ }
}
- /**
- * @private
- */
- private function clickHandler(event:MouseEvent):void
- {
- var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
- viewBead.popUpVisible = true;
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
- popUpModel.dataProvider = selectionModel.dataProvider;
- popUpModel.selectedIndex = selectionModel.selectedIndex;
- DisplayObject(viewBead.popUp).width = DisplayObject(_strand).width;
- DisplayObject(viewBead.popUp).height = 200;
- DisplayObject(viewBead.popUp).x = DisplayObject(_strand).x;
- DisplayObject(viewBead.popUp).y = DisplayObject(_strand).y;
- IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
- }
-
- /**
- * @private
- */
- private function changeHandler(event:Event):void
- {
- var viewBead:IComboBoxView = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
- viewBead.popUpVisible = false;
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var popUpModel:ISelectionModel = viewBead.popUp.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.selectedIndex = popUpModel.selectedIndex;
+ private function finishSetup(event:Event):void
+ {
+ if (viewBead == null) {
+ viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
+ }
+
+ IEventDispatcher(viewBead.popupButton).addEventListener("click", handleButtonClick);
+ }
+
+ private function handleButtonClick(event:MouseEvent):void
+ {
+ viewBead.popUpVisible = !viewBead.popUpVisible;
+ IEventDispatcher(viewBead.popUp).addEventListener("change", handleListChange);
+ }
+
+ private function handleListChange(event:Event):void
+ {
+ var list:List = viewBead.popUp as List;
+ var input:TextInput = viewBead.textInputField as TextInput;
+ input.text = list.selectedItem as String;
+
+ viewBead.popUpVisible = false;
+
IEventDispatcher(_strand).dispatchEvent(new Event("change"));
- }
-
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
index c0bed5b..65b4b49 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
@@ -21,6 +21,7 @@
import org.apache.flex.html.beads.DateChooserView;
import org.apache.flex.html.beads.models.DateChooserModel;
import org.apache.flex.html.supportClasses.DateChooserButton;
+ import org.apache.flex.html.supportClasses.DateChooserList;
import org.apache.flex.core.IBeadController;
import org.apache.flex.core.IBeadModel;
@@ -68,21 +69,28 @@
{
_strand = value;
- var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
+ var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
view.prevMonthButton.addEventListener("click", prevMonthClickHandler);
view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
- var dayButtons:Array = view.dayButtons;
- for(var i:int=0; i < dayButtons.length; i++) {
- IEventDispatcher(dayButtons[i]).addEventListener("click", dayButtonClickHandler);
- }
+ IEventDispatcher(view.dayList).addEventListener("change", listHandler);
}
+ private function listHandler(event:Event):void
+ {
+ var list:DateChooserList = event.target as DateChooserList;
+ var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
+ model.selectedDate = list.selectedItem as Date;
+ IEventDispatcher(_strand).dispatchEvent( new Event("change") );
+ }
+
/**
* @private
*/
- private function prevMonthClickHandler(event:Event):void
+ private function prevMonthClickHandler(event:MouseEvent):void
{
+ event.preventDefault();
+
var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
var month:Number = model.displayedMonth - 1;
var year:Number = model.displayedYear;
@@ -97,8 +105,10 @@
/**
* @private
*/
- private function nextMonthClickHandler(event:Event):void
+ private function nextMonthClickHandler(event:MouseEvent):void
{
+ event.preventDefault();
+
var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
var month:Number = model.displayedMonth + 1;
var year:Number = model.displayedYear;
@@ -110,18 +120,5 @@
model.displayedYear = year;
}
- /**
- * @private
- */
- private function dayButtonClickHandler(event:MouseEvent):void
- {
- var dateButton:DateChooserButton = event.target as DateChooserButton;
- if (dateButton.dayOfMonth > 0) {
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
- var newDate:Date = new Date(model.displayedYear,model.displayedMonth,dateButton.dayOfMonth);
- model.selectedDate = newDate;
- IEventDispatcher(_strand).dispatchEvent( new Event("change") );
- }
- }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
index c4f130a..7c94fc8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
@@ -21,11 +21,14 @@
import org.apache.flex.core.IBeadController;
import org.apache.flex.core.IDateChooserModel;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.MouseEvent;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.beads.DateFieldView;
+ import org.apache.flex.utils.Timer;
+ import org.apache.flex.utils.UIUtils;
/**
* The DateFieldMouseController class is responsible for monitoring
@@ -74,9 +77,41 @@
*/
private function clickHandler(event:MouseEvent):void
{
+ event.stopImmediatePropagation();
+
var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
viewBead.popUpVisible = true;
IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
+
+ removeDismissHandler();
+
+ // use a timer to delay the installation of the event handler, otherwise
+ // the event handler is called immediately and will dismiss the popup.
+ var t:Timer = new Timer(0.25,1);
+ t.addEventListener("timer",addDismissHandler);
+ t.start();
+ }
+
+ /**
+ * @private
+ */
+ private function addDismissHandler(event:Event):void
+ {
+ var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
+ if (host) {
+ host.addEventListener("click", dismissHandler);
+ }
+ }
+
+ /**
+ * @private
+ */
+ private function removeDismissHandler():void
+ {
+ var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
+ if (host) {
+ host.removeEventListener("click", dismissHandler);
+ }
}
/**
@@ -84,6 +119,8 @@
*/
private function changeHandler(event:Event):void
{
+ event.stopImmediatePropagation();
+
var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
@@ -91,6 +128,39 @@
viewBead.popUpVisible = false;
IEventDispatcher(_strand).dispatchEvent(new Event("change"));
+
+ removeDismissHandler();
}
+
+ /**
+ * @private
+ */
+ private function dismissHandler(event:MouseEvent):void
+ {
+ var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
+ var popup:IUIBase = IUIBase(viewBead.popUp);
+
+ COMPILE::SWF {
+ var before:IUIBase = event.targetBeforeBubbling["flexjs_wrapper"] as IUIBase;
+ if (before) {
+ while (before != null) {
+ if (before == popup) return;
+ before = before.parent as IUIBase;
+ }
+ }
+ }
+ COMPILE::JS {
+ var before:IUIBase = event.target as IUIBase;
+ if (before) {
+ while (before != null) {
+ if (before == popup) return;
+ before = before.parent as IUIBase;
+ }
+ }
+ }
+
+ viewBead.popUpVisible = false;
+ removeDismissHandler();
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
index 77ab6f5..57bacbd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
@@ -118,7 +118,7 @@
IEventDispatcher(event.item).addEventListener("itemRollOut", rolloutHandler);
}
- protected function handleItemRemoved(event:ItemAddedEvent):void
+ protected function handleItemRemoved(event:ItemRemovedEvent):void
{
IEventDispatcher(event.item).removeEventListener("itemClicked", selectedHandler);
IEventDispatcher(event.item).removeEventListener("itemRollOver", rolloverHandler);
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
index 487b365..91589b5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
@@ -94,10 +94,9 @@
}
COMPILE::JS
{
- track = value.getBeadByType(
- SliderTrackView) as SliderTrackView;
- thumb = value.getBeadByType(
- SliderThumbView) as SliderThumbView;
+ var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
+ track = sliderView.track as UIBase;
+ thumb = sliderView.thumb as UIBase;
goog.events.listen(track.element, goog.events.EventType.CLICK,
handleTrackClick, false, this);
@@ -109,10 +108,10 @@
}
COMPILE::JS
- private var track:SliderTrackView;
+ private var track:UIBase;
COMPILE::JS
- private var thumb:SliderThumbView;
+ private var thumb:UIBase;
/**
* @private
@@ -158,7 +157,7 @@
var thumbW:Number = sliderView.thumb.width/2;
var newX:Number = thumb.x + deltaX;
- var p:Number = newX/UIBase(_strand).width;
+ var p:Number = newX/sliderView.track.width;
var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
rangeModel.value = n;
@@ -177,7 +176,7 @@
var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
var xloc:Number = event.localX;
- var p:Number = xloc/UIBase(_strand).width;
+ var p:Number = xloc/sliderView.track.width;
var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
rangeModel.value = n;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
index a668fa4..8e749d4 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
@@ -23,6 +23,7 @@
import org.apache.flex.events.ItemClickedEvent;
import org.apache.flex.core.IStrand;
import org.apache.flex.events.Event;
+ import org.apache.flex.events.IEventDispatcher;
/**
* The TreeSingleSelectionMouseController class is a controller for
@@ -76,7 +77,9 @@
flatList.openNode(node);
}
+ listModel.selectedItem = node;
listModel.dispatchEvent(new Event("dataProviderChanged"));
+ IEventDispatcher(_strand).dispatchEvent(new Event("change"));
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
index b566354..a7a54ac 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
@@ -18,11 +18,14 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.IParentIUIBase;
+ import org.apache.flex.core.ILayoutParent;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.IParent;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.UIBase;
@@ -30,24 +33,23 @@
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.utils.CSSUtils;
- //import org.apache.flex.utils.dbg.DOMPathUtil;
/**
* The BasicLayout class is a simple layout
* bead. It takes the set of children and lays them out
* as specified by CSS properties like left, right, top
* and bottom.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class BasicLayout implements IBeadLayout
+ public class BasicLayout extends LayoutBase implements IBeadLayout
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -55,389 +57,148 @@
*/
public function BasicLayout()
{
+ super();
}
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- host = value as ILayoutChild;
- }
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
* @flexjsignorecoercion org.apache.flex.core.ILayoutHost
* @flexjsignorecoercion org.apache.flex.core.UIBase
*/
- public function layout():Boolean
+ override public function layout():Boolean
{
COMPILE::SWF
{
- //trace(DOMPathUtil.getPath(host), event ? event.type : "fixed size");
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
-
- var gotMargin:Boolean;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- var ml:Number;
- var mr:Number;
- var mt:Number;
- var mb:Number;
- var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
- var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
- var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
- var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
- var n:int = contentView.numElements;
- var maxWidth:Number = 0;
- var maxHeight:Number = 0;
- var childData:Array = [];
+ var contentView:ILayoutView = layoutView;
+
+ var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+ var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+
+ var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
+ var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+ var n:int = contentView.numElements;
+
for (var i:int = 0; i < n; i++)
{
var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- var left:Number = ValuesManager.valuesImpl.getValue(child, "left");
- var right:Number = ValuesManager.valuesImpl.getValue(child, "right");
- var top:Number = ValuesManager.valuesImpl.getValue(child, "top");
- var bottom:Number = ValuesManager.valuesImpl.getValue(child, "bottom");
+ if (child == null || !child.visible) continue;
+
+ var positions:Object = childPositions(child);
+ var margins:Object = childMargins(child, contentView.width, contentView.height);
var ww:Number = w;
var hh:Number = h;
-
+
var ilc:ILayoutChild = child as ILayoutChild;
- if (!isNaN(left))
+
+ // set the top edge of the child
+ if (!isNaN(positions.left))
{
if (ilc)
- ilc.setX(left);
+ ilc.setX(positions.left+margins.left);
else
- child.x = left;
- ww -= left;
+ child.x = positions.left+margins.left;
+ ww -= positions.left + margins.left;
}
- if (!isNaN(top))
+
+ // set the left edge of the child
+ if (!isNaN(positions.top))
{
if (ilc)
- ilc.setY(top);
+ ilc.setY(positions.top+margins.top);
else
- child.y = top;
- hh -= top;
+ child.y = positions.top+margins.top;
+ hh -= positions.top + margins.top;
}
- if (ilc)
- {
- if (!hostWidthSizedToContent)
- {
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth((ww - (isNaN(right) ? 0 : right)) * ilc.percentWidth / 100, true);
- }
- else
- childData[i] = { bottom: bottom, right: right, ww: ww, ilc: ilc, child: child };
- }
- if (!isNaN(right))
- {
- if (!hostWidthSizedToContent)
- {
- if (!isNaN(left))
- {
- if (ilc)
- ilc.setWidth(ww - right, true);
- else
- child.width = ww - right;
- }
- else
- {
- if (ilc)
- ilc.setX( w - right - child.width);
- else
- child.x = w - right - child.width;
- }
- }
- else
- childData[i] = { ww: ww, left: left, right: right, ilc: ilc, child: child };
- }
-
- if (isNaN(right) && isNaN(left))
- {
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- gotMargin = true;
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- var horizontalCenter:Boolean =
- (marginLeft == "auto" && marginRight == "auto") ||
- (margin is String && margin == "auto") ||
- (margin is Array &&
- ((margin.length < 4 && margin[1] == "auto") ||
- (margin.length == 4 && margin[1] == "auto" && margin[3] == "auto")));
- if (!hostWidthSizedToContent)
- {
- if (!horizontalCenter)
- {
- mr = CSSUtils.getRightValue(marginRight, margin, ww);
- ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
- if (ilc)
- ilc.setX(ml);
- else
- child.x = ml;
- if (ilc && isNaN(ilc.percentWidth) && isNaN(ilc.explicitWidth))
- child.width = ww - child.x - mr;
- }
- else
- {
- if (ilc)
- ilc.setX((ww - child.width) / 2);
- else
- child.x = (ww - child.width) / 2;
- }
- }
- else
- {
- if (!horizontalCenter)
- {
- mr = CSSUtils.getRightValue(marginRight, margin, ww);
- ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
- if (ilc)
- ilc.setX(ml);
- else
- child.x = ml;
- if (ilc && isNaN(ilc.percentWidth) && isNaN(ilc.explicitWidth))
- childData[i] = { ww: ww, left: ml, right: mr, ilc: ilc, child: child };
- }
- else
- {
- childData[i] = { ww: ww, center: true, ilc: ilc, child: child };
- }
- }
-
- }
- if (isNaN(top) && isNaN(bottom))
- {
- if (!gotMargin)
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- mt = CSSUtils.getTopValue(marginTop, margin, hh);
- mb = CSSUtils.getBottomValue(marginBottom, margin, hh);
- if (ilc)
- ilc.setY(mt);
- else
- child.y = mt;
- /* browsers don't use margin-bottom to stretch things vertically
- if (!hostHeightSizedToContent)
- {
- if (ilc && isNaN(ilc.percentHeight) && isNaN(ilc.explicitHeight))
- child.height = hh - child.y - mb;
- }
- else
- {
- if (!childData[i])
- childData[i] = { hh: hh, bottom: mb, ilc: ilc, child: child };
- else
- {
- childData[i].hh = hh;
- childData[i].bottom = mb;
- }
- }
- */
- }
-
- if (ilc)
- {
- if (!hostHeightSizedToContent)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight((hh - (isNaN(bottom) ? 0 : bottom)) * ilc.percentHeight / 100, true);
- }
- else
- {
- if (!childData[i])
- childData[i] = { hh: hh, bottom: bottom, ilc: ilc, child: child };
- else
- {
- childData[i].hh = hh;
- childData[i].bottom = bottom;
- }
- }
- }
- if (!isNaN(bottom))
- {
- if (!hostHeightSizedToContent)
- {
- if (!isNaN(top))
- {
- if (ilc)
- ilc.setHeight(hh - bottom, true);
- else
- child.height = hh - bottom;
- }
- else
- {
- if (ilc)
- ilc.setY(h - bottom - child.height);
- else
- child.y = h - bottom - child.height;
- }
- }
- else
- {
- if (!childData[i])
- childData[i] = { top: top, bottom: bottom, hh:hh, ilc: ilc, child: child };
- else
- {
- childData[i].top = top;
- childData[i].bottom = bottom;
- childData[i].hh = hh;
- }
- }
- }
- if (!childData[i])
- child.dispatchEvent(new Event("sizeChanged"));
- maxWidth = Math.max(maxWidth, child.x + child.width);
- maxHeight = Math.max(maxHeight, child.y + child.height);
+
+ // set the right edge of the child
+ if (!isNaN(positions.right))
+ {
+ if (!hostWidthSizedToContent)
+ {
+ if (!isNaN(positions.left))
+ {
+ if (ilc)
+ ilc.setWidth(ww - positions.right - margins.right, false);
+ else
+ child.width = ww - positions.right - margins.right;
+ }
+ else
+ {
+ if (ilc)
+ {
+ ilc.setX( w - positions.right - margins.left - child.width - margins.right);
+ }
+ else
+ {
+ child.x = w - positions.right - margins.left - child.width - margins.right;
+ }
+ }
+ }
+ }
+ else if (ilc != null && !isNaN(ilc.percentWidth) && !hostWidthSizedToContent)
+ {
+ ilc.setWidth((ww - margins.right - margins.left) * ilc.percentWidth/100, false);
+ }
+
+ // set the bottm edge of the child
+ if (!isNaN(positions.bottom))
+ {
+ if (!hostHeightSizedToContent)
+ {
+ if (!isNaN(positions.top))
+ {
+ if (ilc)
+ ilc.setHeight(hh - positions.bottom - margins.bottom, false);
+ else
+ child.height = hh - positions.bottom - margins.bottom;
+ }
+ else
+ {
+ if (ilc)
+ ilc.setY( h - positions.bottom - child.height - margins.bottom);
+ else
+ child.y = h - positions.bottom - child.height - margins.bottom;
+ }
+ }
+ }
+ else if (ilc != null && !isNaN(ilc.percentHeight) && !hostHeightSizedToContent)
+ {
+ ilc.setHeight((hh - margins.top - margins.bottom) * ilc.percentHeight/100, false);
+ }
+
+ if (margins.auto)
+ {
+ if (ilc)
+ ilc.setX( (w - child.width) / 2);
+ else
+ child.x = (w - child.width) / 2;
+ }
}
- if (hostHeightSizedToContent || hostWidthSizedToContent)
- {
- for (i = 0; i < n; i++)
- {
- var data:Object = childData[i];
- if (data)
- {
- if (hostWidthSizedToContent)
- {
- if (data.ilc && !isNaN(data.ilc.percentWidth))
- data.ilc.setWidth((data.ww - (isNaN(data.right) ? 0 : data.right)) * data.ilc.percentWidth / 100, true);
- if (data.center)
- {
- if (data.ilc)
- data.ilc.setX((data.ww - data.child.width) / 2);
- else
- data.child.x = (data.ww - data.child.width) / 2;
- }
- else if (!isNaN(data.right))
- {
- if (!isNaN(data.left))
- {
- if (data.ilc)
- data.ilc.setWidth(data.ww - data.right, true);
- else
- data.child.width = data.ww - data.right;
- }
- else
- {
- if (data.ilc)
- data.ilc.setX(maxWidth - data.right - data.child.width);
- else
- data.child.x = maxWidth - data.right - data.child.width;
- }
- }
- }
- if (hostHeightSizedToContent)
- {
- if (data.ilc && !isNaN(data.ilc.percentHeight))
- data.ilc.setHeight((data.hh - (isNaN(data.bottom) ? 0 : data.bottom)) * data.ilc.percentHeight / 100, true);
- if (!isNaN(data.bottom))
- {
- if (!isNaN(data.top))
- {
- if (data.ilc)
- data.ilc.setHeight(data.hh - data.bottom, true);
- else
- data.child.height = data.hh - data.bottom;
- }
- else
- {
- if (data.ilc)
- data.ilc.setY(maxHeight - data.bottom - data.child.height);
- else
- data.child.y = maxHeight - data.bottom - data.child.height;
- }
- }
- }
- child.dispatchEvent(new Event("sizeChanged"));
- }
- }
- }
-
- host.dispatchEvent( new Event("layoutComplete") );
-
+
return true;
-
+
}
+
COMPILE::JS
{
var i:int
var n:int;
- var h:Number;
- var w:Number;
-
- var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = viewBead.contentView;
- w = contentView.width;
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- h = contentView.height;
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- var maxHeight:Number = 0;
- var maxWidth:Number = 0;
+ var contentView:ILayoutView = layoutView;
+
n = contentView.numElements;
- for (i = 0; i < n; i++) {
- var child:UIBase = contentView.getElementAt(i) as UIBase;
- child.setDisplayStyleForLayout('block');
- var left:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'left');
- var right:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'right');
- var top:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'top');
- var bottom:Number = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'bottom');
- var margin:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin');
- var marginLeft:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin-left');
- var marginRight:String = org.apache.flex.core.ValuesManager.valuesImpl.getValue(child, 'margin-right');
- var horizontalCenter:Boolean =
- (marginLeft == 'auto' && marginRight == 'auto') ||
- (typeof(margin) === 'string' && margin == 'auto') ||
- (margin && margin.hasOwnProperty('length') &&
- ((margin.length < 4 && margin[1] == 'auto') ||
- (margin.length == 4 && margin[1] == 'auto' && margin[3] == 'auto')));
-
- if (!isNaN(left)) {
- child.positioner.style.position = 'absolute';
- child.positioner.style.left = left.toString() + 'px';
- }
- if (!isNaN(top)) {
- child.positioner.style.position = 'absolute';
- child.positioner.style.top = top.toString() + 'px';
- }
- if (!isNaN(right)) {
- child.positioner.style.position = 'absolute';
- child.positioner.style.right = right.toString() + 'px';
- }
- if (!isNaN(bottom)) {
- child.positioner.style.position = 'absolute';
- child.positioner.style.bottom = bottom.toString() + 'px';
- }
- if (horizontalCenter)
- {
- child.positioner.style.position = 'absolute';
- child.positioner.style.left = ((w - child.width) / 2).toString() + 'px';
- }
- child.dispatchEvent('sizeChanged');
- maxWidth = Math.max(maxWidth, child.positioner.offsetLeft + child.positioner.offsetWidth);
- maxHeight = Math.max(maxHeight, child.positioner.offsetTop + child.positioner.offsetHeight);
- }
- // if there are children and maxHeight is ok, use it.
- // maxHeight can be NaN if the child hasn't been rendered yet.
- if (!hasWidth && n > 0 && !isNaN(maxWidth)) {
- contentView.width = maxWidth;
- }
- if (!hasHeight && n > 0 && !isNaN(maxHeight)) {
- contentView.height = maxHeight;
- }
+
+ // host must have either have position:absolute or position:relative
+ if (contentView.element.style.position != "absolute" && contentView.element.style.position != "relative") {
+ contentView.element.style.position = "relative";
+ }
+
+ // each child must have position:absolute for BasicLayout to work
+ for (i=0; i < n; i++) {
+ var child:UIBase = contentView.getElementAt(i) as UIBase;
+ child.positioner.style.position = "absolute";
+ }
+
return true;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
index 5bd1159..51d0c4c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
@@ -17,40 +17,31 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
-{
+{
import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ISelectionModel;
+ import org.apache.flex.core.ILayoutChild;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.IStyleableObject;
import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.List;
- import org.apache.flex.html.beads.ButtonBarView;
-
+ import org.apache.flex.html.beads.models.ButtonBarModel;
+ import org.apache.flex.html.supportClasses.UIItemRendererBase;
+
/**
- * The ButtonBarLayout class bead sizes and positions the org.apache.flex.html.Button
- * elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons
+ * The ButtonBarLayout class bead sizes and positions the button
+ * elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons
* horizontally and makes them all the same width unless the buttonWidths property has been set in which case
* the values stored in that array are used.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ButtonBarLayout implements IBeadLayout
+ public class ButtonBarLayout extends HorizontalFlexLayout implements IBeadLayout
{
/**
* constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -58,29 +49,16 @@
*/
public function ButtonBarLayout()
{
+ super();
}
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
+
+ private var _widthType:Number = ButtonBarModel.PIXEL_WIDTHS;
private var _buttonWidths:Array = null;
-
+
/**
* An array of widths (Number), one per button. These values supersede the
* default of equally-sized buttons.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -94,50 +72,75 @@
{
_buttonWidths = value;
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
+ override public function layout():Boolean
{
- var layoutParent:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
- var itemRendererParent:IItemRendererParent = contentView as IItemRendererParent;
- var viewportModel:IViewportModel = (layoutParent as ButtonBarView).viewportModel;
-
+ var contentView:ILayoutView = layoutView;
+
+ var model:ButtonBarModel = (host as IStrand).getBeadByType(ButtonBarModel) as ButtonBarModel;
+ if (model) {
+ buttonWidths = model.buttonWidths;
+ _widthType = model.widthType;
+ }
+
var n:int = contentView.numElements;
- var realN:int = n;
-
- for (var j:int=0; j < n; j++)
- {
- var child:IUIBase = itemRendererParent.getElementAt(j) as IUIBase;
- if (child == null || !child.visible) realN--;
- }
-
- var xpos:Number = 0;
- var useWidth:Number = contentView.width / realN;
- var useHeight:Number = contentView.height;
-
+ if (n <= 0) return false;
+
for (var i:int=0; i < n; i++)
- {
- var ir:ISelectableItemRenderer = itemRendererParent.getElementAt(i) as ISelectableItemRenderer;
- if (ir == null || !UIBase(ir).visible) continue;
- UIBase(ir).y = 0;
- UIBase(ir).x = xpos;
- if (!isNaN(useHeight) && useHeight > 0) {
- UIBase(ir).height = useHeight;
- }
+ {
+ var ilc:ILayoutChild = contentView.getElementAt(i) as ILayoutChild;
+ if (ilc == null || !ilc.visible) continue;
+ if (!(ilc is IStyleableObject)) continue;
- if (buttonWidths) UIBase(ir).width = Number(buttonWidths[i]);
- else if (!isNaN(useWidth) && useWidth > 0) {
- UIBase(ir).width = useWidth;
+ COMPILE::SWF {
+ if (buttonWidths) {
+ var widthValue:* = buttonWidths[i];
+
+ if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
+ if (widthValue != null) ilc.width = Number(widthValue);
+ IStyleableObject(ilc).style.flexGrow = 0;
+ }
+ else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
+ if (widthValue != null) {
+ IStyleableObject(ilc).style.flexGrow = Number(widthValue);
+ }
+ }
+ else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
+ if (widthValue != null) ilc.percentWidth = Number(widthValue);
+ IStyleableObject(ilc).style.flexGrow = 0;
+ }
+ } else {
+ IStyleableObject(ilc).style.flexGrow = 1;
+ }
}
- xpos += UIBase(ir).width;
+
+ COMPILE::JS {
+ // otherwise let the flexbox layout handle matters on its own.
+ if (buttonWidths) {
+ var widthValue:* = buttonWidths[i];
+
+ if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
+ if (widthValue != null) ilc.width = Number(widthValue);
+ }
+ else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
+ if (widthValue != null) ilc.element.style["flex-grow"] = String(widthValue);
+ }
+ else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
+ if (widthValue != null) ilc.percentWidth = Number(widthValue);
+ }
+ } else {
+ ilc.element.style["flex-grow"] = "1";
+ }
+
+ ilc.height = contentView.height;
+ }
}
-
- IEventDispatcher(_strand).dispatchEvent( new Event("layoutComplete") );
-
- return true;
+
+ // now let the horizontal layout take care of things.
+ return super.layout();
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
index 1d22956..fe4ccab 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/DataGridLayout.as
@@ -18,7 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
- import org.apache.flex.core.IBeadLayout;
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.IBeadView;
import org.apache.flex.core.IDataGridModel;
@@ -71,16 +72,23 @@
{
_strand = value;
- var host:UIBase = _strand as UIBase;
- host.addEventListener("widthChanged", handleSizeChanges);
- host.addEventListener("heightChanged", handleSizeChanges);
- host.addEventListener("sizeChanged", handleSizeChanges);
- host.addEventListener("layoutNeeded", handleSizeChanges);
-
+ var host:UIBase = value as UIBase;
+
var view:DataGridView = host.view as DataGridView;
header = view.header;
listArea = view.listArea;
+
+ var anylayout:IBead = listArea.getBeadByType(IBeadLayout);
+ if (anylayout != null) {
+ listArea.removeBead(anylayout);
+ }
listArea.addBead(new BasicLayout());
+
+ host.addEventListener("widthChanged", handleSizeChanges);
+ host.addEventListener("heightChanged", handleSizeChanges);
+ host.addEventListener("sizeChanged", handleSizeChanges);
+ host.addEventListener("layoutNeeded", handleSizeChanges);
+
}
private var _header:UIBase;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
index 4198fea..f276074 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
@@ -18,9 +18,12 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ILayoutChild;
+ import org.apache.flex.core.ILayoutView;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
@@ -33,6 +36,7 @@
import org.apache.flex.geom.Rectangle;
import org.apache.flex.html.supportClasses.Viewport;
import org.apache.flex.utils.CSSContainerUtils;
+ import org.apache.flex.utils.CSSUtils;
/**
* The FlexibleFirstChildHorizontalLayout class is a simple layout
@@ -41,17 +45,17 @@
* CSS layout rules for margin and padding styles. But it
* will size the first child to take up as much or little
* room as possible.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class FlexibleFirstChildHorizontalLayout implements IBeadLayout
+ public class FlexibleFirstChildHorizontalLayout extends HorizontalLayout
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -59,31 +63,14 @@
*/
public function FlexibleFirstChildHorizontalLayout()
{
+ super();
}
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- host = value as ILayoutChild;
- }
-
+
private var _maxWidth:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxWidth
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -93,20 +80,20 @@
{
return _maxWidth;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxWidth(value:Number):void
{
_maxWidth = value;
}
-
+
private var _maxHeight:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxHeight
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -116,129 +103,128 @@
{
return _maxHeight;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxHeight(value:Number):void
{
_maxHeight = value;
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
+ COMPILE::SWF
+ override public function layout():Boolean
{
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+ var contentView:ILayoutView = layoutView;
+
+ var n:Number = contentView.numElements;
+ if (n == 0) return false;
- var n:int = contentView.numElements;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- maxHeight = 0;
- var verticalMargins:Array = [];
+ // if the layoutView has no width yet, this layout cannot
+ // be run successfully, so default to HorizontalLayout.
+ if (host.isWidthSizedToContent()) {
+ return super.layout();
+ }
+
+ var maxWidth:Number = 0;
+ var maxHeight:Number = 0;
+ var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+ var hostWidth:Number = contentView.width;
+ var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
+
+ var ilc:ILayoutChild;
+ var data:Object;
+ var canAdjust:Boolean = false;
+
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
- var xx:Number = contentView.width;
- if (isNaN(xx) || xx <= 0)
- return true;
- xx -= padding.right + 1; // some browsers won't layout to the edge
-
- for (var i:int = n - 1; i >= 0; i--)
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.left;
+ var adjustedWidth:Number = 0;
+
+ for(var i:int=(n-1); i >= 0; i--)
{
var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- if (margin is Array)
- {
- if (margin.length == 1)
- marginLeft = marginTop = marginRight = marginBottom = margin[0];
- else if (margin.length <= 3)
- {
- marginLeft = marginRight = margin[1];
- marginTop = marginBottom = margin[0];
+ if (child == null || !child.visible) continue;
+ var positions:Object = childPositions(child);
+ var margins:Object = childMargins(child, hostWidth, hostHeight);
+
+ ilc = child as ILayoutChild;
+
+ var childYpos:Number = ypos + margins.top; // default y position
+
+ if (!hostSizedToContent) {
+ var childHeight:Number = child.height;
+ if (ilc != null && !isNaN(ilc.percentHeight)) {
+ childHeight = hostHeight * ilc.percentHeight/100.0;
+ ilc.setHeight(childHeight);
}
- else if (margin.length == 4)
- {
- marginLeft = margin[3];
- marginBottom = margin[2];
- marginRight = margin[1];
- marginTop = margin[0];
+ // the following code middle-aligns the child
+ childYpos = hostHeight/2 - childHeight/2;
+ }
+
+ if (ilc) {
+ if (!isNaN(ilc.percentWidth)) {
+ ilc.setWidth(hostWidth * ilc.percentWidth / 100);
}
}
- else if (margin == null)
- {
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
+
+ if (i > 0) {
+ xpos -= child.width + margins.right;
+ adjustedWidth = child.width;
+ } else {
+ adjustedWidth = xpos - (borderMetrics.left + paddingMetrics.left + margins.left + margins.right);
+ xpos = borderMetrics.left + paddingMetrics.left + margins.left;
}
- else
- {
- marginLeft = marginTop = marginBottom = marginRight = margin;
+
+ if (ilc) {
+ ilc.setX(xpos);
+ ilc.setY(childYpos);
+ ilc.setWidth(adjustedWidth);
+
+ } else {
+ child.x = xpos;
+ child.y = childYpos;
+ child.width = adjustedWidth;
}
- var ml:Number;
- var mr:Number;
- var mt:Number;
- var mb:Number;
- var lastmr:Number;
- mt = Number(marginTop);
- if (isNaN(mt))
- mt = 0;
- mb = Number(marginBottom);
- if (isNaN(mb))
- mb = 0;
- if (marginLeft == "auto")
- ml = 0;
- else
- {
- ml = Number(marginLeft);
- if (isNaN(ml))
- ml = 0;
- }
- if (marginRight == "auto")
- mr = 0;
- else
- {
- mr = Number(marginRight);
- if (isNaN(mr))
- mr = 0;
- }
- child.y = mt + padding.top;
- if (i == 0)
- {
- child.x = ml + padding.left;
- child.width = xx - mr - child.x;
- }
- else
- child.x = xx - child.width - mr;
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- xx -= child.width + mr + ml;
- lastmr = mr;
- var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
- verticalMargins.push({ marginTop: mt, marginBottom: mb, valign: valign });
+
+ xpos -= margins.left;
}
- for (i = 0; i < n; i++)
- {
- var obj:Object = verticalMargins[0]
- child = contentView.getElementAt(i) as IUIBase;
- if (obj.valign == "middle")
- child.y = (maxHeight - child.height) / 2;
- else if (valign == "bottom")
- child.y = maxHeight - child.height - obj.marginBottom;
- else
- child.y = obj.marginTop;
+
+ return true;
+ }
+
+ COMPILE::JS
+ override public function layout():Boolean
+ {
+ var contentView:ILayoutView = layoutView;
+
+ // set the display on the contentView
+ contentView.element.style["display"] = "flex";
+ contentView.element.style["flex-flow"] = "row";
+ contentView.element.style["align-items"] = "center";
+
+ var n:int = contentView.numElements;
+ if (n == 0) return false;
+
+ for(var i:int=0; i < n; i++) {
+ var child:UIBase = contentView.getElementAt(i) as UIBase;
+ child.element.style["flex-grow"] = (i == 0) ? "1" : "0";
+ child.element.style["flex-shrink"] = "0";
}
- if (hostSizedToContent)
- ILayoutChild(contentView).setHeight(maxHeight + padding.top + padding.bottom, true);
-
- return true;
+
+ return true;
}
}
-
+
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
index 38b97ec..f8b5ddd 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
@@ -18,15 +18,16 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
- import flash.display.DisplayObject;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IScrollBarModel;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
import org.apache.flex.html.beads.IScrollBarView;
+ import org.apache.flex.html.Button;
import org.apache.flex.utils.CSSContainerUtils;
/**
@@ -82,27 +83,28 @@
sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
- var w:Number = DisplayObject(_strand).width + metrics.left + metrics.right;
- var increment:DisplayObject = sbView.increment;
- var decrement:DisplayObject = sbView.decrement;
- var track:DisplayObject = sbView.track;
- var thumb:DisplayObject = sbView.thumb;
+
+ var host:UIBase = UIBase(_strand);
+ var w:Number = host.width + metrics.left + metrics.right;
+ var increment:Button = sbView.increment;
+ var decrement:Button = sbView.decrement;
+ var track:Button = sbView.track;
+ var thumb:Button = sbView.thumb;
- decrement.x = 0;
+ decrement.x = 1;
decrement.y = 0;
- decrement.height = DisplayObject(_strand).height;
- decrement.width = DisplayObject(_strand).height;
+ decrement.height = host.height - 2;
+ decrement.width = host.height;
- increment.height = DisplayObject(_strand).height;
- increment.width = DisplayObject(_strand).height;
- increment.x = w - increment.width - 1;
+ increment.height = host.height - 2;
+ increment.width = host.height;
+ increment.x = w - increment.width - 2;
increment.y = 0;
- track.x = decrement.width;
+ track.x = decrement.width + 4;
track.y = 0;
- track.height = DisplayObject(_strand).height;
- track.width = increment.x - decrement.width;
+ track.height = host.height;
+ track.width = increment.x - decrement.width - 5;
thumb.width = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.width;
if (track.width > thumb.width)
{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlexLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalFlowLayout.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
index 501799f..89aab6e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
@@ -18,10 +18,14 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
+ import org.apache.flex.core.LayoutBase;
+
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
@@ -31,8 +35,10 @@
import org.apache.flex.geom.Rectangle;
import org.apache.flex.utils.CSSContainerUtils;
import org.apache.flex.utils.CSSUtils;
- COMPILE::JS
- {
+ COMPILE::SWF {
+ import org.apache.flex.core.UIBase;
+ }
+ COMPILE::JS {
import org.apache.flex.core.WrappedHTMLElement;
}
@@ -41,17 +47,17 @@
* bead. It takes the set of children and lays them out
* horizontally in one row, separating them according to
* CSS layout rules for margin and vertical-align styles.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class HorizontalLayout implements IBeadLayout
+ public class HorizontalLayout extends LayoutBase implements IBeadLayout
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -59,268 +65,141 @@
*/
public function HorizontalLayout()
{
+ super();
}
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
+
/**
* @copy org.apache.flex.core.IBead#strand
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLElement
+ * @flexjsignorecoercion HTMLElement
+ * @flexjsignorecoercion org.apache.flex.core.IUIBase
*/
- public function set strand(value:IStrand):void
+ override public function set strand(value:IStrand):void
{
- host = value as ILayoutChild;
+ super.strand = value;
+
COMPILE::JS
{
- ((value as IUIBase).element as HTMLElement).style.display = 'block';
+ var base:IUIBase = value as IUIBase;
+ if (base.element.style.display !== "none") {
+ base.element.style.display = "block";
+ }
}
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
* @flexjsignorecoercion org.apache.flex.core.ILayoutHost
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
- public function layout():Boolean
+ override public function layout():Boolean
{
COMPILE::SWF
{
- //trace(DOMPathUtil.getPath(host), event ? event.type : "fixed size");
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent.contentView;
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-
- var n:int = contentView.numElements;
- var hostSizedToContent:Boolean = host.isHeightSizedToContent();
- var ilc:ILayoutChild;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- var maxHeight:Number = 0;
- // asking for contentView.height can result in infinite loop if host isn't sized already
- var h:Number = hostSizedToContent ? 0 : contentView.height;
- var w:Number = contentView.width;
- var verticalMargins:Array = [];
-
- for (var i:int = 0; i < n; i++)
- {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- var top:Number = ValuesManager.valuesImpl.getValue(child, "top");
- var bottom:Number = ValuesManager.valuesImpl.getValue(child, "bottom");
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- var ml:Number = CSSUtils.getLeftValue(marginLeft, margin, w);
- var mr:Number = CSSUtils.getRightValue(marginRight, margin, w);
- var mt:Number = CSSUtils.getTopValue(marginTop, margin, h);
- var mb:Number = CSSUtils.getBottomValue(marginBottom, margin, h);
-
- ilc = child as ILayoutChild;
- var lastmr:Number;
- if (marginLeft == "auto")
- ml = 0;
- if (marginRight == "auto")
- mr = 0;
- var xx:Number;
- if (i == 0)
- {
- if (ilc)
- ilc.setX(ml + padding.left);
- else
- child.x = ml + padding.left;
- }
- else
- {
- if (ilc)
- ilc.setX(xx + ml + lastmr);
- else
- child.x = xx + ml + lastmr;
- }
- if (ilc)
- {
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
- }
- lastmr = mr;
- var marginObject:Object = {};
- verticalMargins[i] = marginObject;
- var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
- marginObject.valign = valign;
- if (!hostSizedToContent)
- {
- // if host is sized by parent,
- // we can position and size children horizontally now
- setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h, valign);
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- }
- else
- {
- if (!isNaN(top))
- {
- mt = top;
- marginObject.top = mt;
- }
- if (!isNaN(bottom))
- {
- mb = bottom;
- marginObject.bottom = mb;
- }
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- }
- xx = child.x + child.width;
- }
- if (hostSizedToContent)
- {
- ILayoutChild(contentView).setHeight(maxHeight, true);
- if (host.isWidthSizedToContent())
- ILayoutChild(contentView).setWidth(xx, true);
- for (i = 0; i < n; i++)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- var obj:Object = verticalMargins[i];
- setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
- obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
- }
- }
-
- // Only return true if the contentView needs to be larger; that new
- // size is stored in the model.
- var sizeChanged:Boolean = true;
-
- host.dispatchEvent( new Event("layoutComplete") );
-
- return sizeChanged;
-
+ var contentView:ILayoutView = layoutView;
+
+ var n:Number = contentView.numElements;
+ if (n == 0) return false;
+
+ var maxWidth:Number = 0;
+ var maxHeight:Number = 0;
+ var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+ var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+ var hostWidth:Number = hostWidthSizedToContent ? 0 : contentView.width;
+ var hostHeight:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+ var ilc:ILayoutChild;
+ var data:Object;
+ var canAdjust:Boolean = false;
+
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.left;
+
+ // First pass determines the data about the child.
+ for(var i:int=0; i < n; i++)
+ {
+ var child:IUIBase = contentView.getElementAt(i) as IUIBase;
+ if (child == null || !child.visible) continue;
+ var positions:Object = childPositions(child);
+ var margins:Object = childMargins(child, hostWidth, hostHeight);
+
+ ilc = child as ILayoutChild;
+
+ xpos += margins.left;
+
+ var childYpos:Number = ypos + margins.top; // default y position
+
+ if (!hostHeightSizedToContent) {
+ var childHeight:Number = child.height;
+ if (ilc != null && !isNaN(ilc.percentHeight)) {
+ childHeight = hostHeight * ilc.percentHeight/100.0;
+ ilc.setHeight(childHeight);
+ }
+ var valign:Object = ValuesManager.valuesImpl.getValue(child, "vertical-align");
+ if (valign == "middle")
+ {
+ childYpos = hostHeight/2 - (childHeight + margins.top + margins.bottom)/2;
+ }
+ }
+
+ if (ilc) {
+ ilc.setX(xpos);
+ ilc.setY(childYpos);
+
+ if (!hostWidthSizedToContent && !isNaN(ilc.percentWidth)) {
+ var newWidth:Number = hostWidth * ilc.percentWidth / 100;
+ ilc.setWidth(newWidth);
+ }
+
+ } else {
+ child.x = xpos;
+ child.y = childYpos;
+ }
+
+ xpos += child.width + margins.right;
+ }
+
+ return true;
+
}
COMPILE::JS
{
var children:Array;
var i:int;
var n:int;
-
- var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = viewBead.contentView;
+ var contentView:IParentIUIBase = layoutView as IParentIUIBase;
+
+ contentView.element.style["white-space"] = "nowrap";
+
children = contentView.internalChildren();
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- var maxHeight:Number = 0;
- var computedWidth:Number = 0;
+
+
n = children.length;
for (i = 0; i < n; i++)
{
var child:WrappedHTMLElement = children[i] as WrappedHTMLElement;
- child.flexjs_wrapper.internalDisplay = 'inline-block';
- if (child.style.display == 'none')
- child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
- else
- child.style.display = 'inline-block';
- maxHeight = Math.max(maxHeight, child.offsetHeight);
- if (!hasWidth) {
- var cv:Object = getComputedStyle(child);
- var mls:String = cv['margin-left'];
- var ml:Number = Number(mls.substring(0, mls.length - 2));
- var mrs:String = cv['margin-right'];
- var mr:Number = Number(mrs.substring(0, mrs.length - 2));
- computedWidth += ml + child.offsetWidth + mr;
- }
- child.flexjs_wrapper.dispatchEvent('sizeChanged');
- }
- // if there are children and maxHeight is ok, use it.
- // maxHeight can be NaN if the child hasn't been rendered yet.
- if (!hasHeight && n > 0 && !isNaN(maxHeight)) {
- contentView.height = maxHeight;
- }
- if (!hasWidth && n > 0 && !isNaN(computedWidth)) {
- contentView.width = computedWidth + 1; // some browser need one more pixel
- }
+ if (child == null) continue;
+ child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
+ if (child.style.display !== 'none')
+ {
+ child.style.display = 'inline-block';
+ }
+ }
+
return true;
}
}
-
- COMPILE::SWF
- private function setPositionAndHeight(child:IUIBase, top:Number, mt:Number, pt:Number,
- bottom:Number, mb:Number, pb:Number, h:Number,
- valign:*):void
- {
- var heightSet:Boolean = false;
-
- var hh:Number = h;
- var ilc:ILayoutChild = child as ILayoutChild;
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(h * ilc.percentHeight / 100, true);
- }
- if (valign == "top")
- {
- if (!isNaN(top))
- {
- if (ilc)
- ilc.setY(top + mt);
- else
- child.y = top + mt;
- hh -= top + mt;
- }
- else
- {
- if (ilc)
- ilc.setY(mt + pt);
- else
- child.y = mt + pt;
- hh -= mt + pt;
- }
- if (ilc.isHeightSizedToContent())
- {
- if (!isNaN(bottom))
- {
- if (!isNaN(top))
- {
- if (ilc)
- ilc.setHeight(hh - bottom - mb, true);
- else
- {
- child.height = hh - bottom - mb;
- heightSet = true;
- }
- }
- }
- }
- }
- else if (valign == "bottom")
- {
- if (!isNaN(bottom))
- {
- if (ilc)
- ilc.setY(h - bottom - mb - child.height);
- else
- child.y = h - bottom - mb - child.height;
- }
- else
- {
- if (ilc)
- ilc.setY(h - mb - child.height);
- else
- child.y = h - mb - child.height;
- }
- }
- else
- child.y = (h - child.height) / 2;
- if (!heightSet)
- child.dispatchEvent(new Event("sizeChanged"));
- }
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
similarity index 66%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
index 148866b..7aec7f3 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/HorizontalLayoutWithPaddingAndGap.as
@@ -43,17 +43,16 @@
}
/**
- * The HorizontalLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * horizontally in one row, separating them according to
- * CSS layout rules for margin and vertical-align styles.
+ * The HorizontalLayoutWithPaddingAndGap class is a simple layout
+ * bead similar to HorizontalLayout, but it adds support for
+ * padding and gap values.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class HorizontalLayout extends LayoutBase implements IBeadLayout
+ public class HorizontalLayoutWithPaddingAndGap extends LayoutBase implements IBeadLayout
{
/**
* Constructor.
@@ -63,11 +62,141 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function HorizontalLayout()
+ public function HorizontalLayoutWithPaddingAndGap()
{
super();
}
+ /**
+ * @private
+ */
+ private var _paddingTop:Number = 0;
+
+ /**
+ * The top padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingTop():Number
+ {
+ return _paddingTop;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingTop(value:Number):void
+ {
+ _paddingTop = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingRight:Number = 0;
+
+ /**
+ * The right padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingRight():Number
+ {
+ return _paddingRight;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingRight(value:Number):void
+ {
+ _paddingRight = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingBottom:Number = 0;
+
+ /**
+ * The top padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingBottom():Number
+ {
+ return _paddingBottom;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingBottom(value:Number):void
+ {
+ _paddingBottom = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingLeft:Number = 0;
+
+ /**
+ * The left padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingLeft():Number
+ {
+ return _paddingLeft;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingLeft(value:Number):void
+ {
+ _paddingLeft = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _gap:Number = 0;
+
+ /**
+ * The gap between items.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get gap():Number
+ {
+ return _gap;
+ }
+
+ /**
+ * @private
+ */
+ public function set gap(value:Number):void
+ {
+ _gap = value;
+ }
+
/**
* @copy org.apache.flex.core.IBead#strand
*
@@ -116,7 +245,7 @@
var data:Object;
var canAdjust:Boolean = false;
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var paddingMetrics:Rectangle = new Rectangle(_paddingLeft, _paddingTop, _paddingRight - _paddingLeft, _paddingBottom - _paddingTop);
var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
// adjust the host's usable size by the metrics. If hostSizedToContent, then the
@@ -133,13 +262,10 @@
var child:IUIBase = contentView.getElementAt(i) as IUIBase;
if (child == null || !child.visible) continue;
var positions:Object = childPositions(child);
- var margins:Object = childMargins(child, hostWidth, hostHeight);
ilc = child as ILayoutChild;
- xpos += margins.left;
-
- var childYpos:Number = ypos + margins.top; // default y position
+ var childYpos:Number = ypos; // default y position
if (!hostHeightSizedToContent) {
var childHeight:Number = child.height;
@@ -167,7 +293,7 @@
child.y = childYpos;
}
- xpos += child.width + margins.right;
+ xpos += child.width + _gap;
}
return true;
@@ -190,6 +316,24 @@
{
var child:WrappedHTMLElement = children[i] as WrappedHTMLElement;
if (child == null) continue;
+ child.style.marginTop = _paddingTop + 'px';
+ if(i === (n - 1))
+ {
+ child.style.marginRight = _paddingRight + 'px';
+ }
+ else
+ {
+ child.style.marginRight = '0px';
+ }
+ child.style.marginBottom = _paddingBottom + 'px';
+ if(i == 0)
+ {
+ child.style.marginLeft = _paddingLeft + 'px';
+ }
+ else
+ {
+ child.style.marginLeft = _gap + 'px';
+ }
child.flexjs_wrapper.setDisplayStyleForLayout('inline-block');
if (child.style.display !== 'none')
{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/IOneFlexibleChildLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/LayoutOnShow.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
index c052442..c90f223 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
@@ -18,20 +18,21 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
- import org.apache.flex.core.IBeadLayout;
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IDocument;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
+ import org.apache.flex.utils.CSSContainerUtils;
import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.CSSContainerUtils;
/**
* The OneFlexibleChildHorizontalLayout class is a simple layout
@@ -40,17 +41,17 @@
* CSS layout rules for margin and padding styles. But it
* will size the one child to take up as much or little
* room as possible.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class OneFlexibleChildHorizontalLayout implements IBeadLayout, IDocument
+ public class OneFlexibleChildHorizontalLayout extends HorizontalLayout implements IOneFlexibleChildLayout, IDocument
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -58,50 +59,46 @@
*/
public function OneFlexibleChildHorizontalLayout()
{
+ super();
}
-
-
- /**
- * The id of the flexible child
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var flexibleChild:String;
-
+
+
+ private var _flexibleChild:String;
+
private var actualChild:ILayoutChild;
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
+
/**
* @private
* The document.
*/
private var document:Object;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
+
+ /**
+ * The id of the flexible child
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get flexibleChild():String
{
- host = value as ILayoutChild;
+ return _flexibleChild;
}
-
+
+ /**
+ * @private
+ */
+ public function set flexibleChild(value:String):void
+ {
+ _flexibleChild = value;
+ }
+
private var _maxWidth:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxWidth
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -111,20 +108,20 @@
{
return _maxWidth;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxWidth(value:Number):void
{
_maxWidth = value;
}
-
+
private var _maxHeight:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxHeight
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -134,199 +131,201 @@
{
return _maxHeight;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxHeight(value:Number):void
{
_maxHeight = value;
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
+ COMPILE::JS
+ override public function layout():Boolean
{
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- actualChild = document[flexibleChild];
+ var contentView:ILayoutView = layoutView;
- var ilc:ILayoutChild;
+ actualChild = document[flexibleChild];
+
+ // set the display on the contentView
+ contentView.element.style["display"] = "flex";
+ contentView.element.style["flex-flow"] = "row";
+ contentView.element.style["align-items"] = "center";
+
var n:int = contentView.numElements;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- maxHeight = 0;
- var verticalMargins:Array = new Array(n);
-
- var ww:Number = contentView.width - padding.right;
- var hh:Number = contentView.height;
- var xx:int = padding.left;
- var flexChildIndex:int;
- var ml:Number;
- var mr:Number;
- var mt:Number;
- var mb:Number;
- var lastmr:Number;
- var lastml:Number;
- var valign:Object;
- var hostSizedToContent:Boolean = host.isHeightSizedToContent();
-
- for (var i:int = 0; i < n; i++)
- {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- if (child == actualChild)
- {
- flexChildIndex = i;
- break;
- }
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- mt = CSSUtils.getTopValue(marginTop, margin, hh);
- mb = CSSUtils.getBottomValue(marginBottom, margin, hh);
- mr = CSSUtils.getRightValue(marginRight, margin, ww);
- ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
- child.y = mt + padding.top;
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
- }
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- child.x = xx + ml;
- xx += child.width + ml + mr;
- lastmr = mr;
- valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
- verticalMargins[i] = { marginTop: mt, marginBottom: mb, valign: valign };
- }
+ if (n == 0) return false;
- if (n > 0 && n > flexChildIndex)
- {
- for (i = n - 1; i > flexChildIndex; i--)
- {
- child = contentView.getElementAt(i) as IUIBase;
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- mt = CSSUtils.getTopValue(marginTop, margin, hh);
- mb = CSSUtils.getTopValue(marginBottom, margin, hh);
- mr = CSSUtils.getRightValue(marginRight, margin, ww);
- ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
- child.y = mt + padding.top;
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
- }
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- child.x = ww - child.width - mr;
- ww -= child.width + ml + mr;
- lastml = ml;
- valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
- verticalMargins[i] = { marginTop: mt, marginBottom: mb, valign: valign };
- }
-
- child = contentView.getElementAt(flexChildIndex) as IUIBase;
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- mt = CSSUtils.getTopValue(marginTop, margin, hh);
- mb = CSSUtils.getTopValue(marginBottom, margin, hh);
- mr = CSSUtils.getRightValue(marginRight, margin, ww);
- ml = CSSUtils.getLeftValue(marginLeft, margin, ww);
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, true);
- }
- child.x = xx + ml;
- child.width = ww - child.x;
- maxHeight = Math.max(maxHeight, mt + child.height + mb);
- valign = ValuesManager.valuesImpl.getValue(child, "vertical-align");
- verticalMargins[flexChildIndex] = { marginTop: mt, marginBottom: mb, valign: valign };
- }
- if (hostSizedToContent)
- ILayoutChild(contentView).setHeight(maxHeight + padding.top + padding.bottom, true);
-
- for (i = 0; i < n; i++)
- {
- var obj:Object = verticalMargins[i]
- child = contentView.getElementAt(i) as IUIBase;
- setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
- obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
+ for(var i:int=0; i < n; i++) {
+ var child:UIBase = contentView.getElementAt(i) as UIBase;
+ child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
+ child.element.style["flex-shrink"] = "0";
}
+
+ return true;
+ }
+
+ COMPILE::SWF
+ override public function layout():Boolean
+ {
+ var contentView:ILayoutView = layoutView;
+ var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
+
+ var n:Number = contentView.numElements;
+ if (n == 0) return false;
+
+ // if the layoutView's width cannot be determined then this layout
+ // will not work, so default to HorizontalLayout
+ if (host.isWidthSizedToContent()) {
+ return super.layout();
+ }
+
+ var maxWidth:Number = 0;
+ var maxHeight:Number = 0;
+ var hostSizedToContent:Boolean = host.isHeightSizedToContent();
+ var hostWidth:Number = contentView.width;
+ var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
+
+ var ilc:ILayoutChild;
+ var data:Object;
+ var canAdjust:Boolean = false;
+ var margins:Object;
+
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.left;
+ var child:IUIBase;
+ var childHeight:Number;
+ var i:int;
+ var childYpos:Number;
+ var adjustLeft:Number = 0;
+ var adjustRight:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
+
+ // first work from left to right
+ for(i=0; i < n; i++)
+ {
+ child = contentView.getElementAt(i) as IUIBase;
+ if (child == null || !child.visible) continue;
+ if (child == actualChild) break;
+
+ margins = childMargins(child, hostWidth, hostHeight);
+ ilc = child as ILayoutChild;
+
+ xpos += margins.left;
+
+ childYpos = ypos + margins.top; // default y position
+
+ if (!hostSizedToContent) {
+ childHeight = child.height;
+ if (ilc != null && !isNaN(ilc.percentHeight)) {
+ childHeight = host.height * ilc.percentHeight/100.0;
+ ilc.setHeight(childHeight);
+ }
+ // the following code middle-aligns the child
+ childYpos = hostHeight/2 - childHeight/2 + ypos;
+ }
+
+ if (ilc) {
+ ilc.setX(xpos);
+ ilc.setY(childYpos);
+
+ if (!isNaN(ilc.percentWidth)) {
+ ilc.setWidth(hostWidth * ilc.percentWidth / 100);
+ }
+
+ } else {
+ child.x = xpos;
+ child.y = childYpos;
+ }
+
+ xpos += child.width + margins.right;
+ adjustLeft = xpos;
+ }
+
+ // then work from right to left
+ xpos = hostWidth + borderMetrics.left + paddingMetrics.left;
+
+ for(i=(n-1); actualChild != null && i >= 0; i--)
+ {
+ child = contentView.getElementAt(i) as IUIBase;
+ if (child == null || !child.visible) continue;
+ if (child == actualChild) break;
+
+ margins = childMargins(child, hostWidth, hostHeight);
+ ilc = child as ILayoutChild;
+
+ childYpos = ypos + margins.top; // default y position
+
+ if (!hostSizedToContent) {
+ childHeight = child.height;
+ if (ilc != null && !isNaN(ilc.percentHeight)) {
+ childHeight = hostHeight * ilc.percentHeight/100.0;
+ ilc.setHeight(childHeight);
+ }
+ // the following code middle-aligns the child
+ childYpos = hostHeight/2 - childHeight/2 + ypos;
+ }
+
+ if (ilc) {
+ if (!isNaN(ilc.percentWidth)) {
+ ilc.setWidth(hostWidth * ilc.percentWidth / 100);
+ }
+ }
+
+ xpos -= child.width + margins.right;
+
+ if (ilc) {
+ ilc.setX(xpos);
+ ilc.setY(childYpos);
+ } else {
+ child.x = xpos;
+ child.y = childYpos;
+ }
+
+ xpos -= margins.left;
+ adjustRight = xpos;
+ }
+
+ // now adjust the actualChild to fill the space.
+ if (actualChild != null) {
+ margins = childMargins(actualChild, hostWidth, hostHeight);
+ ilc = actualChild as ILayoutChild;
+ if (!hostSizedToContent) {
+ childHeight = actualChild.height;
+ if (ilc != null && !isNaN(ilc.percentHeight)) {
+ childHeight = hostHeight * ilc.percentHeight/100.0;
+ ilc.setHeight(childHeight);
+ }
+ }
+ childYpos = ypos + margins.top;
+ if (!hostSizedToContent) {
+ childYpos = hostHeight/2 - childHeight/2 + ypos;
+ }
+ actualChild.x = adjustLeft + margins.left;
+ actualChild.y = childYpos;
+ if (ilc) {
+ ilc.setWidth((adjustRight-margins.right) - (adjustLeft+margins.left));
+ } else {
+ actualChild.width = (adjustRight-margins.right) - (adjustLeft+margins.left);
+ }
+ }
+
return true;
}
- private function setPositionAndHeight(child:IUIBase, top:Number, mt:Number, pt:Number,
- bottom:Number, mb:Number, pb:Number, h:Number, valign:String):void
- {
- var heightSet:Boolean = false; // if we've set the height in a way that gens a change event
- var ySet:Boolean = false; // if we've set the y yet.
-
- var hh:Number = h;
- var ilc:ILayoutChild = child as ILayoutChild;
- if (!isNaN(top))
- {
- child.y = top + mt;
- ySet = true;
- hh -= top + mt;
- }
- else
- {
- hh -= mt;
- }
- if (!isNaN(bottom))
- {
- if (!isNaN(top))
- {
- if (ilc)
- ilc.setHeight(hh - bottom - mb, true);
- else
- {
- child.height = hh - bottom - mb;
- heightSet = true;
- }
- }
- else
- {
- child.y = h - bottom - mb - child.height - 1; // some browsers don't like going to the edge
- ySet = true;
- }
- }
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(h * ilc.percentHeight / 100, true);
- }
- if (valign == "middle")
- child.y = (h - child.height) / 2;
- else if (valign == "bottom")
- child.y = h - child.height - mb;
- else
- child.y = mt + pt;
- if (!heightSet)
- child.dispatchEvent(new Event("sizeChanged"));
- }
-
public function setDocument(document:Object, id:String = null):void
{
- this.document = document;
+ this.document = document;
}
}
-
+
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
index 77af305..9242d91 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
@@ -18,19 +18,22 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
- import org.apache.flex.core.IBeadLayout;
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IDocument;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IStyleableObject;
import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSContainerUtils;
+ import org.apache.flex.utils.CSSContainerUtils;
+ import org.apache.flex.utils.CSSUtils;
/**
* The OneFlexibleChildVerticalLayout class is a simple layout
@@ -39,17 +42,17 @@
* CSS layout rules for margin and padding styles. But it
* will size the one child to take up as much or little
* room as possible.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class OneFlexibleChildVerticalLayout implements IBeadLayout, IDocument
+ public class OneFlexibleChildVerticalLayout extends VerticalLayout implements IOneFlexibleChildLayout, IDocument
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -57,50 +60,46 @@
*/
public function OneFlexibleChildVerticalLayout()
{
+ super();
}
-
-
- /**
- * The id of the flexible child
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var flexibleChild:String;
-
+
+
+ private var _flexibleChild:String;
+
private var actualChild:ILayoutChild;
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
+
/**
* @private
* The document.
*/
private var document:Object;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
+
+ /**
+ * The id of the flexible child
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get flexibleChild():String
{
- host = value as ILayoutChild;
+ return _flexibleChild;
}
-
+
+ /**
+ * @private
+ */
+ public function set flexibleChild(value:String):void
+ {
+ _flexibleChild = value;
+ }
+
private var _maxWidth:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxWidth
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -110,20 +109,20 @@
{
return _maxWidth;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxWidth(value:Number):void
{
_maxWidth = value;
}
-
+
private var _maxHeight:Number;
-
+
/**
* @copy org.apache.flex.core.IBead#maxHeight
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -133,327 +132,202 @@
{
return _maxHeight;
}
-
+
/**
- * @private
+ * @private
*/
public function set maxHeight(value:Number):void
{
_maxHeight = value;
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
+ COMPILE::JS
+ override public function layout():Boolean
{
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- actualChild = document[flexibleChild];
-
- var ilc:ILayoutChild;
- var n:int = contentView.numElements;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- maxWidth = 0;
-
- var w:Number = contentView.width;
- var hh:Number = contentView.height - padding.bottom;
- var yy:int = padding.top;
- var flexChildIndex:int;
- var ml:Number;
- var mr:Number;
- var mt:Number;
- var mb:Number;
- var lastmb:Number;
- var lastmt:Number;
- var halign:Object;
- var left:Number;
- var right:Number;
-
- for (var i:int = 0; i < n; i++)
- {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- ilc = child as ILayoutChild;
- left = ValuesManager.valuesImpl.getValue(child, "left");
- right = ValuesManager.valuesImpl.getValue(child, "right");
- if (child == actualChild)
- {
- flexChildIndex = i;
- break;
- }
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- if (margin is Array)
- {
- if (margin.length == 1)
- marginLeft = marginTop = marginRight = marginBottom = margin[0];
- else if (margin.length <= 3)
- {
- marginLeft = marginRight = margin[1];
- marginTop = marginBottom = margin[0];
- }
- else if (margin.length == 4)
- {
- marginLeft = margin[3];
- marginBottom = margin[2];
- marginRight = margin[1];
- marginTop = margin[0];
- }
- }
- else if (margin == null)
- {
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- }
- else
- {
- marginLeft = marginTop = marginBottom = marginRight = margin;
- }
- mt = Number(marginTop);
- if (isNaN(mt))
- mt = 0;
- mb = Number(marginBottom);
- if (isNaN(mb))
- mb = 0;
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
- }
- if (marginLeft == "auto")
- ml = 0;
- else
- {
- ml = Number(marginLeft);
- if (isNaN(ml))
- ml = 0;
- }
- if (marginRight == "auto")
- mr = 0;
- else
- {
- mr = Number(marginRight);
- if (isNaN(mr))
- mr = 0;
- }
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
- }
- maxWidth = Math.max(maxWidth, ml + child.width + mr);
- setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
- child.y = yy + mt;
- yy += child.height + mt + mb;
- lastmb = mb;
- }
+ var contentView:ILayoutView = layoutView;
- if (n > 0 && n > flexChildIndex)
- {
- for (i = n - 1; i > flexChildIndex; i--)
- {
- child = contentView.getElementAt(i) as IUIBase;
- ilc = child as ILayoutChild;
- left = ValuesManager.valuesImpl.getValue(child, "left");
- right = ValuesManager.valuesImpl.getValue(child, "right");
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- if (margin is Array)
- {
- if (margin.length == 1)
- marginLeft = marginTop = marginRight = marginBottom = margin[0];
- else if (margin.length <= 3)
- {
- marginLeft = marginRight = margin[1];
- marginTop = marginBottom = margin[0];
- }
- else if (margin.length == 4)
- {
- marginLeft = margin[3];
- marginBottom = margin[2];
- marginRight = margin[1];
- marginTop = margin[0];
- }
- }
- else if (margin == null)
- {
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- }
- else
- {
- marginLeft = marginTop = marginBottom = marginRight = margin;
- }
- mt = Number(marginTop);
- if (isNaN(mt))
- mt = 0;
- mb = Number(marginBottom);
- if (isNaN(mb))
- mb = 0;
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
- }
- if (marginLeft == "auto")
- ml = 0;
- else
- {
- ml = Number(marginLeft);
- if (isNaN(ml))
- ml = 0;
- }
- if (marginRight == "auto")
- mr = 0;
- else
- {
- mr = Number(marginRight);
- if (isNaN(mr))
- mr = 0;
- }
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
- }
- setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
- maxWidth = Math.max(maxWidth, ml + child.width + mr);
- child.y = hh - child.height - mb;
- hh -= child.height + mt + mb;
- lastmt = mt;
- }
- }
-
- child = contentView.getElementAt(flexChildIndex) as IUIBase;
- ilc = child as ILayoutChild;
- left = ValuesManager.valuesImpl.getValue(child, "left");
- right = ValuesManager.valuesImpl.getValue(child, "right");
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- if (margin is Array)
- {
- if (margin.length == 1)
- marginLeft = marginTop = marginRight = marginBottom = margin[0];
- else if (margin.length <= 3)
- {
- marginLeft = marginRight = margin[1];
- marginTop = marginBottom = margin[0];
- }
- else if (margin.length == 4)
- {
- marginLeft = margin[3];
- marginBottom = margin[2];
- marginRight = margin[1];
- marginTop = margin[0];
- }
- }
- else if (margin == null)
- {
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- }
- else
- {
- marginLeft = marginTop = marginBottom = marginRight = margin;
- }
- mt = Number(marginTop);
- if (isNaN(mt))
- mt = 0;
- mb = Number(marginBottom);
- if (isNaN(mb))
- mb = 0;
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
- }
- if (marginLeft == "auto")
- ml = 0;
- else
- {
- ml = Number(marginLeft);
- if (isNaN(ml))
- ml = 0;
- }
- if (marginRight == "auto")
- mr = 0;
- else
- {
- mr = Number(marginRight);
- if (isNaN(mr))
- mr = 0;
- }
- if (child is ILayoutChild)
- {
- ilc = child as ILayoutChild;
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(contentView.width * ilc.percentWidth / 100, !isNaN(ilc.percentHeight));
- }
- setPositionAndWidth(child, left, ml, padding.left, right, mr, padding.right, w);
- maxWidth = Math.max(maxWidth, ml + child.width + mr);
- child.y = yy + mt;
- child.height = hh - mb - child.y;
-
- return true;
+ actualChild = document[flexibleChild];
+
+ // set the display on the contentView
+ contentView.element.style["display"] = "flex";
+ contentView.element.style["flex-flow"] = "column";
+ contentView.element.style["align-items"] = "center";
+
+ var n:int = contentView.numElements;
+ if (n == 0) return false;
+
+ for(var i:int=0; i < n; i++) {
+ var child:UIBase = contentView.getElementAt(i) as UIBase;
+ child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
+ child.element.style["flex-shrink"] = "0";
+ }
+
+ return true;
}
- private function setPositionAndWidth(child:IUIBase, left:Number, ml:Number, pl:Number,
- right:Number, mr:Number, pr:Number, w:Number):void
- {
- var widthSet:Boolean = false;
-
- var ww:Number = w;
- var ilc:ILayoutChild = child as ILayoutChild;
- if (!isNaN(left))
- {
- child.x = left + ml;
- ww -= left + ml;
- }
- else
- {
- if (isNaN(right))
- child.x = ml + pl;
- ww -= ml;
- }
- if (!isNaN(right))
- {
- if (!isNaN(left))
- {
- if (ilc)
- ilc.setWidth(ww - right - mr, true);
- else
- {
- child.width = ww - right - mr;
- widthSet = true;
- }
- }
- else
- child.x = w - right - mr - child.width - 1; // some browsers don't like going all the way to the edge
- }
- if (ilc)
- {
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(w * ilc.percentWidth / 100, true);
- }
- if (!widthSet)
- child.dispatchEvent(new Event("sizeChanged"));
- }
-
+ COMPILE::SWF
+ override public function layout():Boolean
+ {
+ var contentView:ILayoutView = layoutView;
+ var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
+
+ var n:Number = contentView.numElements;
+ if (n == 0) return false;
+
+ // if the layoutView has no determined height, this layout cannot run
+ // so fall back to VerticalLayout
+ if (host.isHeightSizedToContent()) {
+ return super.layout();
+ }
+
+ var maxWidth:Number = 0;
+ var maxHeight:Number = 0;
+ var hostSizedToContent:Boolean = host.isWidthSizedToContent();
+ var hostWidth:Number = hostSizedToContent ? 0 : contentView.width;
+ var hostHeight:Number = contentView.height;
+
+ var ilc:ILayoutChild;
+ var data:Object;
+ var canAdjust:Boolean = false;
+ var margins:Object;
+
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.left;
+ var child:IUIBase;
+ var childWidth:Number;
+ var i:int;
+ var childXpos:Number;
+ var adjustTop:Number = 0;
+ var adjustBottom:Number = hostHeight + borderMetrics.top + paddingMetrics.top;
+
+ // first work from top to bottom
+ for(i=0; i < n; i++)
+ {
+ child = contentView.getElementAt(i) as IUIBase;
+ if (child == null || !child.visible) continue;
+ if (child == actualChild) break;
+
+ margins = childMargins(child, hostWidth, hostHeight);
+ ilc = child as ILayoutChild;
+
+ ypos += margins.top;
+
+ childXpos = xpos + margins.left; // default x position
+
+ if (!hostSizedToContent) {
+ childWidth = child.width;
+ if (ilc != null && !isNaN(ilc.percentWidth)) {
+ childWidth = hostWidth * ilc.percentWidth/100.0;
+ ilc.setWidth(childWidth);
+ }
+ // the following code middle-aligns the child
+ childXpos = hostWidth/2 - childWidth/2 + xpos;
+ }
+
+ if (ilc) {
+ ilc.setX(childXpos);
+ ilc.setY(ypos);
+
+ if (!isNaN(ilc.percentHeight)) {
+ ilc.setHeight(hostHeight * ilc.percentHeight / 100);
+ }
+
+ } else {
+ child.x = childXpos;
+ child.y = ypos;
+ }
+
+ ypos += child.height + margins.bottom;
+ adjustTop = ypos;
+ }
+
+ // then work from bottom to top
+ ypos = hostHeight + borderMetrics.top + paddingMetrics.top;
+
+ for(i=(n-1); actualChild != null && i >= 0; i--)
+ {
+ child = contentView.getElementAt(i) as IUIBase;
+ if (child == null || !child.visible) continue;
+ if (child == actualChild) break;
+
+ margins = childMargins(child, hostWidth, hostHeight);
+ ilc = child as ILayoutChild;
+
+ childXpos = xpos + margins.left; // default x position
+
+ if (!hostSizedToContent) {
+ childWidth = child.width;
+ if (ilc != null && !isNaN(ilc.percentWidth)) {
+ childWidth = hostWidth * ilc.percentWidth/100.0;
+ ilc.setWidth(childWidth);
+ }
+ // the following code middle-aligns the child
+ childXpos = hostWidth/2 - childWidth/2 + xpos;
+ }
+
+ if (ilc) {
+ if (!isNaN(ilc.percentHeight)) {
+ ilc.setHeight(hostHeight * ilc.percentHeight / 100);
+ }
+ }
+
+ ypos -= child.height + margins.bottom;
+
+ if (ilc) {
+ ilc.setX(childXpos);
+ ilc.setY(ypos);
+ } else {
+ child.x = childXpos;
+ child.y = ypos;
+ }
+
+ ypos -= margins.top;
+ adjustBottom = ypos;
+ }
+
+ // now adjust the actualChild to fill the space.
+ if (actualChild != null) {
+ margins = childMargins(actualChild, hostWidth, hostHeight);
+ ilc = actualChild as ILayoutChild;
+ if (!hostSizedToContent) {
+ childWidth = actualChild.width;
+ if (ilc != null && !isNaN(ilc.percentWidth)) {
+ childWidth = hostWidth * ilc.percentWidth/100.0;
+ ilc.setWidth(childWidth);
+ }
+ }
+ childXpos = xpos + margins.left;
+ if (!hostSizedToContent) {
+ childXpos = hostWidth/2 - childWidth/2 + xpos;
+ }
+ actualChild.x = childXpos
+ actualChild.y = adjustTop + margins.top;
+ if (ilc) {
+ ilc.setHeight((adjustBottom-margins.bottom) - (adjustTop+margins.top));
+ } else {
+ actualChild.height = (adjustBottom-margins.bottom) - (adjustTop+margins.top);
+ }
+ }
+
+ return true;
+ }
+
public function setDocument(document:Object, id:String = null):void
{
- this.document = document;
+ this.document = document;
}
-
+
}
-
+
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/SimpleTableLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableCellLayout.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TableHeaderLayout.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
index a7917ff..4ff6565 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
@@ -18,14 +18,21 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
+ import org.apache.flex.core.IChild;
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.geom.Rectangle;
+ import org.apache.flex.utils.CSSUtils;
+ import org.apache.flex.utils.CSSContainerUtils;
/**
* The TileLayout class bead sizes and positions the elements it manages into rows and columns.
@@ -38,7 +45,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class TileLayout implements IBeadLayout
+ public class TileLayout extends LayoutBase implements IBeadLayout
{
/**
* constructor.
@@ -50,21 +57,7 @@
*/
public function TileLayout()
{
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
+ super();
}
private var _numColumns:Number = 4;
@@ -129,14 +122,14 @@
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
+ override public function layout():Boolean
{
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
+
COMPILE::SWF
{
- // this is where the layout is calculated
- var host:UIBase = _strand as UIBase;
- var p:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
- var area:UIBase = p.contentView as UIBase;
+ var area:UIBase = layoutView as UIBase;
var xpos:Number = 0;
var ypos:Number = 0;
@@ -144,19 +137,23 @@
var useHeight:Number = rowHeight;
var n:Number = area.numElements;
if (n == 0) return false;
+
+ var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
+ var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
var realN:Number = n;
for(var j:int=0; j < n; j++)
{
var testChild:IUIBase = area.getElementAt(i) as IUIBase;
- if (testChild && !testChild.visible) realN--;
+ if (testChild == null || !testChild.visible) realN--;
}
- if (isNaN(useWidth)) useWidth = Math.floor(host.width / numColumns); // + gap
+ if (isNaN(useWidth)) useWidth = Math.floor(adjustedWidth / numColumns); // + gap
if (isNaN(useHeight)) {
// given the width and total number of items, how many rows?
var numRows:Number = Math.floor(realN/numColumns);
- useHeight = Math.floor(host.height / numRows);
+ if (host.isHeightSizedToContent) useHeight = 30; // default height
+ else useHeight = Math.floor(adjustedHeight / numRows);
}
var maxWidth:Number = useWidth;
@@ -165,7 +162,7 @@
for(var i:int=0; i < n; i++)
{
var child:IUIBase = area.getElementAt(i) as IUIBase;
- if (child && !child.visible) continue;
+ if (child == null || !child.visible) continue;
child.width = useWidth;
child.height = useHeight;
child.x = xpos;
@@ -190,8 +187,6 @@
// size is stored in the model.
var sizeChanged:Boolean = true;
- IEventDispatcher(_strand).dispatchEvent( new Event("layoutComplete") );
-
return sizeChanged;
}
COMPILE::JS
@@ -204,15 +199,17 @@
var ypos:Number;
var useWidth:Number;
var useHeight:Number;
+ var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
+ var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
- var host:UIBase = _strand as UIBase;
- var viewBead:ILayoutHost = _strand.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = viewBead.contentView;
+ var contentView:IParentIUIBase = layoutView as IParentIUIBase;
+
children = contentView.internalChildren();
n = children.length;
if (n === 0) return false;
- viewBead.contentView.width = host.width;
+ contentView.element.style["display"] = "flex";
+ contentView.element.style["flex-flow"] = "row wrap";
var realN:int = n;
for (i = 0; i < n; i++)
@@ -226,11 +223,14 @@
useWidth = columnWidth;
useHeight = rowHeight;
- if (isNaN(useWidth)) useWidth = Math.floor(host.width / numColumns); // + gap
+ if (isNaN(useWidth)) {
+ useWidth = Math.floor(adjustedWidth / numColumns); // + gap
+ }
if (isNaN(useHeight)) {
// given the width and total number of items, how many rows?
var numRows:Number = Math.floor(realN / numColumns);
- useHeight = Math.floor(host.height / numRows);
+ if (host.isHeightSizedToContent) useHeight = 30; // default height
+ else useHeight = Math.floor(adjustedHeight / numRows);
}
for (i = 0; i < n; i++)
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
index 6eaa30a..e489d85 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
@@ -17,10 +17,13 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
-{
+{
+ import org.apache.flex.core.LayoutBase;
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IContainer;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IMeasurementBead;
import org.apache.flex.core.IParent;
import org.apache.flex.core.IStrand;
@@ -31,23 +34,23 @@
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.CSSContainerUtils;
-
+ import org.apache.flex.utils.CSSContainerUtils;
+
/**
* ColumnLayout is a class that organizes the positioning of children
* of a container into a set of columns where each column's width is set to
* the maximum size of all of the children in that column.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class VerticalColumnLayout implements IBeadLayout
+ public class VerticalColumnLayout extends LayoutBase implements IBeadLayout
{
/**
* constructor
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -55,29 +58,15 @@
*/
public function VerticalColumnLayout()
{
+ super();
}
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
-
+
+
private var _numColumns:int;
-
+
/**
* The number of columns.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -91,19 +80,18 @@
{
_numColumns = value;
}
-
+
/**
* @copy org.apache.flex.core.IBeadLayout#layout
*/
- public function layout():Boolean
- {
- var host:UIBase = UIBase(_strand);
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParent = layoutParent.contentView;
+ override public function layout():Boolean
+ {
+ var contentView:ILayoutView = layoutView;
+
var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
var sw:Number = host.width;
var sh:Number = host.height;
-
+
var hasWidth:Boolean = !host.isWidthSizedToContent();
var hasHeight:Boolean = !host.isHeightSizedToContent();
var e:IUIBase;
@@ -115,44 +103,29 @@
for (i = 0; i < numColumns; i++)
columns[i] = 0;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
- var ml:Number;
- var mr:Number;
- var mt:Number;
- var mb:Number;
var n:int = contentView.numElements;
var rowData:Object = { rowHeight: 0 };
-
+
// determine max widths of columns
for (i = 0; i < n; i++) {
e = contentView.getElementAt(i) as IUIBase;
- margin = ValuesManager.valuesImpl.getValue(e, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(e, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(e, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(e, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(e, "margin-bottom");
- mt = CSSUtils.getTopValue(marginTop, margin, sh);
- mb = CSSUtils.getBottomValue(marginBottom, margin, sh);
- mr = CSSUtils.getRightValue(marginRight, margin, sw);
- ml = CSSUtils.getLeftValue(marginLeft, margin, sw);
- data.push({ mt: mt, mb: mb, mr: mr, ml: ml});
+ if (e == null || !e.visible) continue;
+ var margins:Object = childMargins(e, sw, sh);
+
+ data.push({ mt: margins.top, mb: margins.bottom, mr: margins.right, ml: margins.left});
var thisPrefWidth:int = 0;
if (e is IStrand)
{
var measure:IMeasurementBead = e.getBeadByType(IMeasurementBead) as IMeasurementBead;
if (measure)
- thisPrefWidth = measure.measuredWidth + ml + mr;
+ thisPrefWidth = measure.measuredWidth + margins.left + margins.right;
else
- thisPrefWidth = e.width + ml + mr;
+ thisPrefWidth = e.width + margins.left + margins.right;
}
else
- thisPrefWidth = e.width + ml + mr;
-
- rowData.rowHeight = Math.max(rowData.rowHeight, e.height + mt + mb);
+ thisPrefWidth = e.width + margins.left + margins.right;
+
+ rowData.rowHeight = Math.max(rowData.rowHeight, e.height + margins.top + margins.bottom);
columns[col] = Math.max(columns[col], thisPrefWidth);
col = col + 1;
if (col == numColumns)
@@ -162,17 +135,18 @@
col = 0;
}
}
-
+
var lastmb:Number = 0;
var curx:int = padding.left;
var cury:int = padding.top;
var maxHeight:int = 0;
var maxWidth:int = 0;
col = 0;
- for (i = 0; i < n; i++)
+ for (i = 0; i < n; i++)
{
e = contentView.getElementAt(i) as IUIBase;
- e.x = curx + ml;
+ if (e == null || !e.visible) continue;
+ e.x = curx + data[i].ml;
e.y = cury + data[i].mt;
curx += columns[col++];
maxHeight = Math.max(maxHeight, e.y + e.height + data[i].mb);
@@ -185,14 +159,6 @@
curx = padding.left;
}
}
- if (!hasWidth && n > 0 && !isNaN(maxWidth))
- {
- UIBase(contentView).setWidth(maxWidth, true);
- }
- if (!hasHeight && n > 0 && !isNaN(maxHeight))
- {
- UIBase(contentView).setHeight(maxHeight, true);
- }
return true;
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
index c543425..bdc080d 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalFlexLayout.as
@@ -159,11 +159,11 @@
}
var useWidth:Number = -1;
- if (!hostWidthSizedToContent) {
- if (ilc) {
- if (!isNaN(ilc.percentWidth)) useWidth = hostWidth * (ilc.percentWidth/100.0);
- else if (!isNaN(ilc.explicitWidth)) useWidth = ilc.explicitWidth;
- else useWidth = hostWidth;
+ if (ilc) {
+ if (!isNaN(ilc.percentWidth)) useWidth = hostWidth * (ilc.percentWidth/100.0);
+ else if (!isNaN(ilc.explicitWidth)) useWidth = ilc.explicitWidth;
+ else if (!hostWidthSizedToContent) {
+ useWidth = hostWidth;
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
index dd02989..16c81a0 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
@@ -18,40 +18,44 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads.layouts
{
+ import org.apache.flex.core.LayoutBase;
+
import org.apache.flex.core.IBeadLayout;
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.ILayoutChild;
import org.apache.flex.core.ILayoutHost;
+ import org.apache.flex.core.ILayoutView;
+ import org.apache.flex.core.ILayoutParent;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IUIBase;
import org.apache.flex.core.ValuesManager;
COMPILE::JS
{
- import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.core.WrappedHTMLElement;
}
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.geom.Rectangle;
import org.apache.flex.utils.CSSContainerUtils;
import org.apache.flex.utils.CSSUtils;
-
+
/**
* The VerticalLayout class is a simple layout
* bead. It takes the set of children and lays them out
* vertically in one column, separating them according to
* CSS layout rules for margin and horizontal-align styles.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class VerticalLayout implements IBeadLayout
+ public class VerticalLayout extends LayoutBase implements IBeadLayout
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -59,304 +63,125 @@
*/
public function VerticalLayout()
{
+ super();
}
-
- // the strand/host container is also an ILayoutChild because
- // can have its size dictated by the host's parent which is
- // important to know for layout optimization
- private var host:ILayoutChild;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- host = value as ILayoutChild;
- }
-
+
/**
* Layout children vertically
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
* @flexjsignorecoercion org.apache.flex.core.ILayoutHost
*/
- public function layout():Boolean
+ override public function layout():Boolean
{
COMPILE::SWF
{
- var layoutParent:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent ? layoutParent.contentView : IParentIUIBase(host);
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
-
- var n:int = contentView.numElements;
- var hasHorizontalFlex:Boolean;
- var hostSizedToContent:Boolean = host.isWidthSizedToContent();
- var flexibleHorizontalMargins:Array = [];
- var ilc:ILayoutChild;
- var marginLeft:Object;
- var marginRight:Object;
- var marginTop:Object;
- var marginBottom:Object;
- var margin:Object;
+ var contentView:ILayoutView = layoutView;
+
+ var n:Number = contentView.numElements;
+ if (n == 0) return false;
+
var maxWidth:Number = 0;
- var cssValue:*;
- // asking for contentView.width can result in infinite loop if host isn't sized already
- var w:Number = hostSizedToContent ? 0 : contentView.width;
- var h:Number = contentView.height;
+ var maxHeight:Number = 0;
+ var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
+ var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
+ var hostWidth:Number = hostWidthSizedToContent ? 0 : contentView.width;
+ var hostHeight:Number = hostHeightSizedToContent ? 0 : contentView.height;
+
+ var ilc:ILayoutChild;
+ var data:Object;
+ var canAdjust:Boolean = false;
+
+ var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
- for (var i:int = 0; i < n; i++)
+ // adjust the host's usable size by the metrics. If hostSizedToContent, then the
+ // resulting adjusted value may be less than zero.
+ hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
+ hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
+
+ var xpos:Number = borderMetrics.left + paddingMetrics.left;
+ var ypos:Number = borderMetrics.top + paddingMetrics.left;
+
+ // First pass determines the data about the child.
+ for(var i:int=0; i < n; i++)
{
var child:IUIBase = contentView.getElementAt(i) as IUIBase;
if (child == null || !child.visible) continue;
+ var positions:Object = childPositions(child);
+ var margins:Object = childMargins(child, hostWidth, hostHeight);
+
ilc = child as ILayoutChild;
- var left:Number = NaN;
- cssValue = ValuesManager.valuesImpl.getValue(child, "left");
- if (cssValue !== undefined)
- left = CSSUtils.toNumber(cssValue);
- var right:Number = NaN;
- cssValue = ValuesManager.valuesImpl.getValue(child, "right");
- if (cssValue !== undefined)
- right = CSSUtils.toNumber(cssValue);
- margin = ValuesManager.valuesImpl.getValue(child, "margin");
- marginLeft = ValuesManager.valuesImpl.getValue(child, "margin-left");
- marginTop = ValuesManager.valuesImpl.getValue(child, "margin-top");
- marginRight = ValuesManager.valuesImpl.getValue(child, "margin-right");
- marginBottom = ValuesManager.valuesImpl.getValue(child, "margin-bottom");
- var ml:Number = CSSUtils.getLeftValue(marginLeft, margin, w);
- var mr:Number = CSSUtils.getRightValue(marginRight, margin, w);
- var mt:Number = CSSUtils.getTopValue(marginTop, margin, h);
- var mb:Number = CSSUtils.getBottomValue(marginBottom, margin, h);
- var lastmb:Number;
- var yy:Number;
- if (i == 0)
- {
- if (ilc)
- ilc.setY(mt + padding.top);
- else
- child.y = mt + padding.top;
- }
- else
- {
- if (ilc)
- ilc.setY(yy + Math.max(mt, lastmb));
- else
- child.y = yy + Math.max(mt, lastmb);
- }
- if (ilc)
- {
- if (!isNaN(ilc.percentHeight))
- ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentWidth));
- }
- lastmb = mb;
- var marginObject:Object = {};
- flexibleHorizontalMargins[i] = marginObject;
- if (marginLeft == "auto")
- {
- ml = 0;
- marginObject.marginLeft = marginLeft;
- hasHorizontalFlex = true;
- }
- else
- {
- ml = Number(marginLeft);
- if (isNaN(ml))
- {
- ml = 0;
- marginObject.marginLeft = marginLeft;
+
+ ypos += margins.top;
+
+ var childXpos:Number = xpos + margins.left; // default x position
+
+ if (!hostWidthSizedToContent) {
+ var childWidth:Number = child.width;
+ if (ilc != null && !isNaN(ilc.percentWidth)) {
+ childWidth = hostWidth * ilc.percentWidth/100.0;
+ ilc.setWidth(childWidth);
}
- else
- marginObject.marginLeft = ml;
- }
- if (marginRight == "auto")
- {
- mr = 0;
- marginObject.marginRight = marginRight;
- hasHorizontalFlex = true;
- }
- else
- {
- mr = Number(marginRight);
- if (isNaN(mr))
+ else if (ilc.isWidthSizedToContent() && !margins.auto)
{
- mr = 0;
- marginObject.marginRight = marginRight;
+ childWidth = hostWidth;
+ ilc.setWidth(childWidth);
}
- else
- marginObject.marginRight = mr;
+ if (margins.auto)
+ childXpos = (hostWidth - childWidth) / 2;
}
- if (!hostSizedToContent)
- {
- // if host is sized by parent,
- // we can position and size children horizontally now
- setPositionAndWidth(child, left, ml, padding.left,
- right, mr, padding.right, w);
- }
- else
- {
- if (!isNaN(left))
- {
- ml = left;
- marginObject.left = ml;
+ if (ilc) {
+ ilc.setX(childXpos);
+ ilc.setY(ypos);
+
+ if (!hostHeightSizedToContent && !isNaN(ilc.percentHeight)) {
+ var newHeight:Number = hostHeight * ilc.percentHeight / 100;
+ ilc.setHeight(newHeight);
}
- if (!isNaN(right))
- {
- mr = right;
- marginObject.right = mr;
- }
- maxWidth = Math.max(maxWidth, ml + child.width + mr);
+
+ } else {
+ child.x = childXpos;
+ child.y = ypos;
}
- yy = child.y + child.height;
+
+ ypos += child.height + margins.bottom;
}
- if (hostSizedToContent)
- {
- for (i = 0; i < n; i++)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- var obj:Object = flexibleHorizontalMargins[i];
- setPositionAndWidth(child, obj.left, obj.marginLeft, padding.left,
- obj.right, obj.marginRight, padding.right, maxWidth);
- }
- }
- if (hasHorizontalFlex)
- {
- for (i = 0; i < n; i++)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- ilc = child as ILayoutChild;
- obj = flexibleHorizontalMargins[i];
- if (hasHorizontalFlex)
- {
- if (ilc)
- {
- if (obj.marginLeft == "auto" && obj.marginRight == "auto")
- ilc.setX(maxWidth - child.width / 2);
- else if (obj.marginLeft == "auto")
- ilc.setX(maxWidth - child.width - obj.marginRight - padding.right);
- }
- else
- {
- if (obj.marginLeft == "auto" && obj.marginRight == "auto")
- child.x = maxWidth - child.width / 2;
- else if (obj.marginLeft == "auto")
- child.x = maxWidth - child.width - obj.marginRight - padding.right;
- }
- }
- }
- }
-
- // Only return true if the contentView needs to be larger; that new
- // size is stored in the model.
- var sizeChanged:Boolean = true;
-
- host.dispatchEvent( new Event("layoutComplete") );
-
- return sizeChanged;
-
+
+ return true;
}
COMPILE::JS
{
var children:Array;
var i:int;
var n:int;
+ var contentView:IParentIUIBase = layoutView as IParentIUIBase;
- var viewBead:ILayoutHost = host.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = viewBead.contentView;
children = contentView.internalChildren();
- var scv:Object = getComputedStyle(host.positioner);
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- var maxWidth:Number = 0;
n = children.length;
for (i = 0; i < n; i++)
{
var child:WrappedHTMLElement = children[i];
child.flexjs_wrapper.setDisplayStyleForLayout('block');
- if (child.style.display === 'none')
+ if (child.style.display === 'none')
{
child.flexjs_wrapper.setDisplayStyleForLayout('block');
- }
- else
+ }
+ else
{
// block elements don't measure width correctly so set to inline for a second
child.style.display = 'inline-block';
- maxWidth = Math.max(maxWidth, child.offsetLeft + child.offsetWidth);
child.style.display = 'block';
}
child.flexjs_wrapper.dispatchEvent('sizeChanged');
}
- if (!hasWidth && n > 0 && !isNaN(maxWidth)) {
- var pl:String = scv['padding-left'];
- var pr:String = scv['padding-right'];
- var npl:int = parseInt(pl.substring(0, pl.length - 2), 10);
- var npr:int = parseInt(pr.substring(0, pr.length - 2), 10);
- maxWidth += npl + npr;
- contentView.width = maxWidth;
- }
+
return true;
}
}
-
- COMPILE::SWF
- private function setPositionAndWidth(child:IUIBase, left:Number, ml:Number, pl:Number,
- right:Number, mr:Number, pr:Number, w:Number):void
- {
- var widthSet:Boolean = false;
-
- var ww:Number = w;
- var ilc:ILayoutChild = child as ILayoutChild;
- if (!isNaN(left))
- {
- if (ilc)
- ilc.setX(left + ml);
- else
- child.x = left + ml;
- ww -= left + ml;
- }
- else
- {
- if (ilc)
- ilc.setX(ml + pl);
- else
- child.x = ml + pl;
- ww -= ml + pl;
- }
- if (!isNaN(right))
- {
- if (!isNaN(left))
- {
- if (ilc)
- ilc.setWidth(ww - right - mr, true);
- else
- {
- child.width = ww - right - mr;
- widthSet = true;
- }
- }
- else
- {
- if (ilc)
- ilc.setX(w - right - mr - child.width);
- else
- child.x = w - right - mr - child.width;
- }
- }
- if (ilc)
- {
- if (!isNaN(ilc.percentWidth))
- ilc.setWidth(w * ilc.percentWidth / 100, true);
- }
- if (!widthSet)
- child.dispatchEvent(new Event("sizeChanged"));
- }
-
+
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
similarity index 63%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
index a8b9774..9a137b4 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayout.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/layouts/VerticalLayoutWithPaddingAndGap.as
@@ -41,17 +41,16 @@
import org.apache.flex.utils.CSSUtils;
/**
- * The VerticalLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * vertically in one column, separating them according to
- * CSS layout rules for margin and horizontal-align styles.
+ * The VerticalLayoutWithPaddingAndGap class is a simple layout
+ * bead similar to VerticalLayout, but it adds support for
+ * padding and gap values.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class VerticalLayout extends LayoutBase implements IBeadLayout
+ public class VerticalLayoutWithPaddingAndGap extends LayoutBase implements IBeadLayout
{
/**
* Constructor.
@@ -61,12 +60,142 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function VerticalLayout()
+ public function VerticalLayoutWithPaddingAndGap()
{
super();
}
/**
+ * @private
+ */
+ private var _paddingTop:Number = 0;
+
+ /**
+ * The top padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingTop():Number
+ {
+ return _paddingTop;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingTop(value:Number):void
+ {
+ _paddingTop = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingRight:Number = 0;
+
+ /**
+ * The right padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingRight():Number
+ {
+ return _paddingRight;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingRight(value:Number):void
+ {
+ _paddingRight = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingBottom:Number = 0;
+
+ /**
+ * The top padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingBottom():Number
+ {
+ return _paddingBottom;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingBottom(value:Number):void
+ {
+ _paddingBottom = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _paddingLeft:Number = 0;
+
+ /**
+ * The left padding value.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get paddingLeft():Number
+ {
+ return _paddingLeft;
+ }
+
+ /**
+ * @private
+ */
+ public function set paddingLeft(value:Number):void
+ {
+ _paddingLeft = value;
+ }
+
+ /**
+ * @private
+ */
+ private var _gap:Number = 0;
+
+ /**
+ * The gap between items.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get gap():Number
+ {
+ return _gap;
+ }
+
+ /**
+ * @private
+ */
+ public function set gap(value:Number):void
+ {
+ _gap = value;
+ }
+
+ /**
* Layout children vertically
*
* @langversion 3.0
@@ -95,7 +224,7 @@
var data:Object;
var canAdjust:Boolean = false;
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
+ var paddingMetrics:Rectangle = new Rectangle(_paddingLeft, _paddingTop, _paddingRight - _paddingLeft, _paddingBottom - _paddingTop);
var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
// adjust the host's usable size by the metrics. If hostSizedToContent, then the
@@ -112,13 +241,10 @@
var child:IUIBase = contentView.getElementAt(i) as IUIBase;
if (child == null || !child.visible) continue;
var positions:Object = childPositions(child);
- var margins:Object = childMargins(child, hostWidth, hostHeight);
ilc = child as ILayoutChild;
- ypos += margins.top;
-
- var childXpos:Number = xpos + margins.left; // default x position
+ var childXpos:Number = xpos; // default x position
if (!hostWidthSizedToContent) {
var childWidth:Number = child.width;
@@ -146,7 +272,7 @@
child.y = ypos;
}
- ypos += child.height + margins.bottom;
+ ypos += child.height + _gap;
}
return true;
@@ -163,6 +289,24 @@
for (i = 0; i < n; i++)
{
var child:WrappedHTMLElement = children[i];
+ if(i == 0)
+ {
+ child.style.marginTop = _paddingTop + 'px';
+ }
+ else
+ {
+ child.style.marginTop = _gap + 'px';
+ }
+ child.style.marginRight = _paddingRight + 'px';
+ if(i === (n - 1))
+ {
+ child.style.marginBottom = _paddingBottom + 'px';
+ }
+ else
+ {
+ child.style.marginBottom = '0px';
+ }
+ child.style.marginLeft = _paddingLeft + 'px';
child.flexjs_wrapper.setDisplayStyleForLayout('block');
if (child.style.display === 'none')
{
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
similarity index 97%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
index 1ec5372..eb5cf59 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/BinaryImageModel.as
@@ -52,7 +52,7 @@
override public function set url(value:String):void
{
- if (value && value != _url)
+ if (value && value != url)
_binary = null;
super.url = value;
@@ -78,7 +78,7 @@
if (value != _binary) {
_binary = value;
if(value)
- _url = "";
+ url = "";
dispatchEvent( new Event("binaryChanged") );
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/ButtonBarModel.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DataProviderModel.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
index 4b6fc18..5f7b23e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
@@ -38,9 +38,9 @@
public function DateChooserModel()
{
// default displayed year and month to "today"
- var today:Date = new Date();
- displayedYear = today.getFullYear();
- displayedMonth = today.getMonth();
+// var today:Date = new Date();
+// displayedYear = today.getFullYear();
+// displayedMonth = today.getMonth();
}
private var _strand:IStrand;
@@ -60,6 +60,7 @@
private var _dayNames:Array = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
private var _monthNames:Array = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
+ private var _days:Array;
private var _displayedYear:Number;
private var _displayedMonth:Number;
private var _firstDayOfWeek:Number = 0;
@@ -119,6 +120,7 @@
{
if (value != _displayedYear) {
_displayedYear = value;
+ updateCalendar();
dispatchEvent( new Event("displayedYearChanged") );
}
}
@@ -139,6 +141,7 @@
{
if (_displayedMonth != value) {
_displayedMonth = value;
+ updateCalendar();
dispatchEvent( new Event("displayedMonthChanged") );
}
}
@@ -163,6 +166,18 @@
}
}
+ public function get days():Array
+ {
+ return _days;
+ }
+ public function set days(value:Array):void
+ {
+ if (value != _days) {
+ _days = value;
+ dispatchEvent( new Event("daysChanged") );
+ }
+ }
+
/**
* The currently selected date or null if no date has been selected.
*
@@ -179,11 +194,95 @@
{
if (value != _selectedDate) {
_selectedDate = value;
- dispatchEvent( new Event("selectedDateChanged") );
- displayedMonth = value.getMonth();
- displayedYear = value.getFullYear();
- }
+ if (value != null) {
+ var needsUpdate:Boolean = false;
+ if (value.getMonth() != _displayedMonth) {
+ needsUpdate = true;
+ _displayedMonth = value.getMonth();
+ }
+ if (value.getFullYear() != _displayedYear) {
+ needsUpdate = true;
+ _displayedYear = value.getFullYear();
+ }
+ if (needsUpdate) updateCalendar();
+ }
+
+ dispatchEvent( new Event("selectedDateChanged") );
+ }
+ }
+
+ // Utilities
+
+
+ /**
+ * @private
+ */
+ private function updateCalendar():void
+ {
+ var firstDay:Date = new Date(displayedYear,displayedMonth,1);
+
+ _days = new Array(42);
+
+ // blank out the labels for the first firstDay.day-1 entries.
+ for(var i:int=0; i < firstDay.getDay(); i++) {
+ _days[i] = null;
+ }
+
+ // renumber to the last day of the month
+ var dayNumber:int = 1;
+ var numDays:Number = numberOfDaysInMonth(displayedMonth, displayedYear);
+
+ for(; i < _days.length && dayNumber <= numDays; i++) {
+ _days[i] = new Date(displayedYear, displayedMonth, dayNumber++);
+ }
+
+ // blank out the rest
+ for(; i < _days.length; i++) {
+ _days[i] = null;
+ }
+ }
+
+ /**
+ * @private
+ */
+ private function numberOfDaysInMonth(month:Number, year:Number):Number
+ {
+ var n:int;
+
+ if (month == 1) // Feb
+ {
+ if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
+ n = 29;
+ else
+ n = 28;
+ }
+
+ else if (month == 3 || month == 5 || month == 8 || month == 10)
+ n = 30;
+
+ else
+ n = 31;
+
+ return n;
+ }
+
+ /**
+ * @private
+ */
+ public function getIndexForSelectedDate():Number
+ {
+ var d:Date = _selectedDate;
+ if (d == null) return -1;
+
+ for(var i:int=0; i < _days.length; i++) {
+ var test:Date = _days[i] as Date;
+ if (test != null) {
+ if (test.getMonth() == d.getMonth() && test.getDate() == d.getDate() && test.getFullYear())
+ return i;
+ }
+ }
+ return -1;
}
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
similarity index 96%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
index c349ea6..aefb25f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TextModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/NonNullTextModel.as
@@ -37,7 +37,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class TextModel extends EventDispatcher implements IBead, ITextModel
+ public class NonNullTextModel extends EventDispatcher implements IBead, ITextModel
{
/**
* Constructor.
@@ -47,7 +47,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function TextModel()
+ public function NonNullTextModel()
{
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
index 5e46e41..c06d3fe 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
@@ -192,8 +192,8 @@
// value must lie within the boundaries of minimum & maximum
// and be on a step interval, so the value is adjusted to
// what is coming in.
- newValue = Math.max(minimum, newValue - stepSize);
- newValue = Math.min(maximum, newValue + stepSize);
+ newValue = Math.max(minimum, newValue);
+ newValue = Math.min(maximum, newValue);
_value = snap(newValue);
dispatchEvent(new Event("valueChange"));
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/AccordionItemRenderer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
index 1d320e3..214125e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ButtonBarButtonItemRenderer.as
@@ -92,6 +92,24 @@
}
/**
+ * @private
+ */
+ override public function setWidth(value:Number, noEvent:Boolean = false):void
+ {
+ super.setWidth(value, noEvent);
+ textButton.width = value;
+ }
+
+ /**
+ * @private
+ */
+ override public function setHeight(value:Number, noEvent:Boolean = false):void
+ {
+ super.setHeight(value, noEvent);
+ textButton.height = value;
+ }
+
+ /**
* The data to be displayed by the itemRenderer instance. For ButtonBarItemRenderer, the
* data's string version is used as the label for the Button.
*
@@ -107,6 +125,7 @@
var added:Boolean = false;
if (textButton == null) {
textButton = new TextButton();
+ textButton.percentWidth = 100;
// listen for clicks on the button and translate them into
// an itemClicked event.
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
index 92c3f53..c9eeefb 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
@@ -82,7 +82,7 @@
element = input as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
(element as WrappedHTMLElement).flexjs_wrapper = this;
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
similarity index 98%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
index 55cf95d..16d6d3e 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ClippingViewport.as
@@ -122,7 +122,7 @@
} while (needsLayout);
var rect:Rectangle = new Rectangle(0, 0, viewportWidth,viewportHeight);
- contentArea.$sprite.scrollRect = rect;
+ contentArea.scrollRect = rect;
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ComboBoxList.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
index 6e1bb69..53d9bd5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
@@ -18,26 +18,28 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.supportClasses
{
- import org.apache.flex.core.IContentView;
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
-
+ import org.apache.flex.core.IChild;
+ import org.apache.flex.core.ILayoutView;
+
/**
* The ContainerContentArea class implements the contentView for
- * a Container. Container's don't always parent their children directly as
- * that makes it harder to handle scrolling.
- *
+ * a Container on the SWF platform.
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ContainerContentArea extends UIBase implements IContentView
+ public class ContainerContentArea extends UIBase implements IBead, ILayoutView
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -48,34 +50,18 @@
super();
addEventListener("layoutNeeded", forwardEventHandler);
}
-
+
+ protected var host:IStrand;
+
+ public function set strand(value:IStrand):void
+ {
+ host = value;
+ }
+
private function forwardEventHandler(event:Event):void
{
if (parent is IEventDispatcher)
(parent as IEventDispatcher).dispatchEvent(event);
}
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#removeAllElements()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function removeAllElements():void
- {
- COMPILE::SWF
- {
- removeChildren(0);
- }
- COMPILE::JS
- {
- while (element.hasChildNodes())
- {
- element.removeChild(element.lastChild);
- }
- }
- }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
index f6663a5..d05036f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridButtonBarButtonItemRenderer.as
@@ -66,6 +66,7 @@
var added:Boolean = false;
if (textButton == null) {
textButton = new DataGridButtonBarTextButton();
+ textButton.percentWidth = 100;
// listen for clicks on the button and translate them into
// an itemClicked event.
@@ -77,5 +78,14 @@
if (added) addElement(textButton);
}
+
+ /**
+ * @private
+ */
+ COMPILE::JS
+ override public function adjustSize():void
+ {
+ // not neeed for JS platform
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
index bb0fa65..e612517 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
@@ -56,6 +56,7 @@
public function DataGridColumnList()
{
super();
+ typeNames = "DataGridColumnList";
}
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
index f7ebf01..b6ebb71 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
@@ -41,7 +41,7 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DataGroup extends ContainerContentArea implements IItemRendererParent, IContentView
+ public class DataGroup extends ContainerContentArea implements IItemRendererParent
{
/**
* Constructor.
@@ -56,55 +56,87 @@
super();
}
+ /*
+ * IItemRendererParent
+ */
+
/**
+ * @copy org.apache.flex.core.IItemRendererParent#addItemRenderer()
* @private
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
*/
- override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
+ public function addItemRenderer(renderer:IItemRenderer):void
{
- super.addElement(c, dispatchEvent);
+ addElement(renderer, true);
var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
- newEvent.item = c;
+ newEvent.item = renderer;
- var strand:IEventDispatcher = parent as IEventDispatcher;
- strand.dispatchEvent(newEvent);
+ (host as IEventDispatcher).dispatchEvent(newEvent);
}
/**
+ * @copy org.apache.flex.core.IItemRendererParent#removeItemRenderer()
* @private
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
*/
- override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.removeElement(c, dispatchEvent);
+ public function removeItemRenderer(renderer:IItemRenderer):void
+ {
+ removeElement(renderer, true);
var newEvent:ItemRemovedEvent = new ItemRemovedEvent("itemRemoved");
- newEvent.item = c;
+ newEvent.item = renderer;
- var strand:IEventDispatcher = parent as IEventDispatcher;
- strand.dispatchEvent(newEvent);
+ (host as IEventDispatcher).dispatchEvent(newEvent);
}
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getItemRendererForIndex(index:int):IItemRenderer
- {
+
+ /**
+ * @copy org.apache.flex.core.IItemRendererParent#removeAllItemRenderers()
+ * @private
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function removeAllItemRenderers():void
+ {
+ while (numElements > 0) {
+ var child:IChild = getElementAt(0);
+ removeItemRenderer(child as IItemRenderer);
+ }
+ }
+
+ /**
+ * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ public function getItemRendererForIndex(index:int):IItemRenderer
+ {
if (index < 0 || index >= numElements) return null;
- return getElementAt(index) as IItemRenderer;
- }
+ return getElementAt(index) as IItemRenderer;
+ }
/**
* Refreshes the itemRenderers. Useful after a size change by the data group.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
+ *
+ * @copy org.apache.flex.core.IItemRendererParent#updateAllItemRenderers()
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
*/
public function updateAllItemRenderers():void
{
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
index 8b4ad5b..7154689 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@ -163,7 +163,7 @@
{
element = document.createElement('div') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
className = 'DataItemRenderer';
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ICollapsible.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/MXMLItemRenderer.as
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/PanelLayoutProxy.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
index 119400f..3c29ae5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
@@ -101,7 +101,7 @@
element = input as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
(element as WrappedHTMLElement).flexjs_wrapper = this;
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
index 46ba9a6..444606b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
@@ -18,12 +18,9 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.supportClasses
{
- COMPILE::SWF
- {
- import flash.geom.Rectangle;
- }
import org.apache.flex.core.IBead;
import org.apache.flex.core.IBeadLayout;
+ import org.apache.flex.core.IContainer;
import org.apache.flex.core.IContentViewHost;
import org.apache.flex.core.IParentIUIBase;
import org.apache.flex.core.IStrand;
@@ -33,12 +30,16 @@
COMPILE::SWF
{
import org.apache.flex.core.IViewportScroller;
+ import org.apache.flex.utils.CSSContainerUtils;
+ import flash.geom.Rectangle;
+ import org.apache.flex.geom.Rectangle;
}
import org.apache.flex.core.UIBase;
import org.apache.flex.events.Event;
import org.apache.flex.geom.Size;
import org.apache.flex.html.beads.ScrollBarView;
import org.apache.flex.html.beads.models.ScrollBarModel;
+ import org.apache.flex.geom.Rectangle;
/**
* The ScrollingViewport extends the Viewport class by adding horizontal and
@@ -51,6 +52,71 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
+ COMPILE::JS
+ public class ScrollingViewport extends Viewport implements IBead, IViewport
+ {
+ /**
+ * Constructor
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function ScrollingViewport()
+ {
+ super();
+ }
+
+ public function get verticalScrollPosition():Number
+ {
+ return this.contentView.positioner.scrollTop;
+ }
+ public function set verticalScrollPosition(value:Number):void
+ {
+ this.contentView.positioner.scrollTop = value;
+ }
+
+ public function get horizontalScrollPosition():Number
+ {
+ return this.contentView.positioner.scrollLeft;
+ }
+ public function set horizontalScrollPosition(value:Number):void
+ {
+ this.contentView.positioner.scrollLeft = value;
+ }
+
+ /**
+ * @flexjsignorecoercion HTMLElement
+ */
+ override public function set strand(value:IStrand):void
+ {
+ super.strand = value;
+ if (contentView == null) {
+ (value as UIBase).element.style.overflow = "auto";
+ } else {
+ (contentView as UIBase).element.style.overflow = "auto";
+ }
+ }
+
+ /**
+ * @copy org.apache.flex.core.IViewport
+ */
+ override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
+ {
+ // does nothing for the JS platform
+ }
+
+ /**
+ * @copy org.apache.flex.core.IViewport
+ */
+ override public function layoutViewportAfterContentLayout(contentSize:Size):void
+ {
+ // does nothing for the JS platform
+ }
+ }
+
+ COMPILE::SWF
public class ScrollingViewport extends Viewport implements IBead, IViewport
{
/**
@@ -63,88 +129,45 @@
*/
public function ScrollingViewport()
{
+ super();
}
- COMPILE::SWF
private var _verticalScroller:ScrollBar;
- COMPILE::SWF
public function get verticalScroller():IViewportScroller
{
return _verticalScroller;
}
- COMPILE::SWF
private var _horizontalScroller:ScrollBar
- COMPILE::SWF
public function get horizontalScroller():IViewportScroller
{
return _horizontalScroller;
}
- COMPILE::SWF
private var _verticalScrollPosition:Number = 0;
public function get verticalScrollPosition():Number
{
- COMPILE::SWF
- {
- return _verticalScrollPosition;
- }
- COMPILE::JS
- {
- return this.contentView.positioner.scrollTop;
- }
+ return _verticalScrollPosition;
}
public function set verticalScrollPosition(value:Number):void
{
- COMPILE::SWF
- {
- _verticalScrollPosition = value;
- handleVerticalScrollChange();
- }
- COMPILE::JS
- {
- this.contentView.positioner.scrollTop = value;
- }
+ _verticalScrollPosition = value;
+ handleVerticalScrollChange();
}
- COMPILE::SWF
private var _horizontalScrollPosition:Number = 0;
public function get horizontalScrollPosition():Number
{
- COMPILE::SWF
- {
- return _horizontalScrollPosition;
- }
- COMPILE::JS
- {
- return this.contentView.positioner.scrollLeft;
- }
+ return _horizontalScrollPosition;
}
public function set horizontalScrollPosition(value:Number):void
{
- COMPILE::SWF
- {
- _horizontalScrollPosition = value;
- handleHorizontalScrollChange();
- }
- COMPILE::JS
- {
- this.contentView.positioner.scrollLeft = value;
- }
- }
-
- /**
- * @flexjsignorecoercion HTMLElement
- */
- COMPILE::JS
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- (contentView.element as HTMLElement).style.overflow = 'auto';
+ _horizontalScrollPosition = value;
+ handleHorizontalScrollChange();
}
private var viewportWidth:Number;
@@ -155,127 +178,90 @@
*/
override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
{
- super.layoutViewportBeforeContentLayout(width, height);
- viewportWidth = width;
- viewportHeight = height;
+ super.layoutViewportBeforeContentLayout(width, height);
+ viewportWidth = width;
+ viewportHeight = height;
}
/**
* @copy org.apache.flex.core.IViewport
*/
- override public function layoutViewportAfterContentLayout():Size
+ override public function layoutViewportAfterContentLayout(contentSize:Size):void
{
- COMPILE::SWF
- {
- var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
- var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
- var contentSize:Size;
- do
- {
- contentSize = super.layoutViewportAfterContentLayout();
- if (isNaN(viewportHeight))
- viewportHeight = contentSize.height;
- if (isNaN(viewportWidth))
- viewportWidth = contentSize.width;
-
- var host:UIBase = UIBase(_strand);
- var visibleWidth:Number;
- var visibleHeight:Number;
- var needV:Boolean = contentSize.height > viewportHeight;
- var needH:Boolean = contentSize.width > viewportWidth;
-
- if (needV)
- {
- if (_verticalScroller == null) {
- _verticalScroller = createVerticalScrollBar();
- (host as IContentViewHost).strandChildren.addElement(_verticalScroller);
- }
- }
- if (needH)
- {
- if (_horizontalScroller == null) {
- _horizontalScroller = createHorizontalScrollBar();
- (host as IContentViewHost).strandChildren.addElement(_horizontalScroller);
- }
- }
-
- if (needV)
- {
- _verticalScroller.visible = true;
- _verticalScroller.x = contentArea.x + viewportWidth - _verticalScroller.width;
- _verticalScroller.y = contentArea.y;
- _verticalScroller.setHeight(viewportHeight - (needH ? _horizontalScroller.height : 0), true);
- visibleWidth = _verticalScroller.x;
- }
- else if (_verticalScroller)
- _verticalScroller.visible = false;
-
- if (needH)
- {
- _horizontalScroller.visible = true;
- _horizontalScroller.x = contentArea.x;
- _horizontalScroller.y = contentArea.y + viewportHeight - _horizontalScroller.height;
- _horizontalScroller.setWidth(viewportWidth - (needV ? _verticalScroller.width : 0), true);
- visibleHeight = _horizontalScroller.y;
- }
-
- var needsLayout:Boolean = false;
- // resize content area if needed to get out from under scrollbars
- if (!isNaN(visibleWidth) || !isNaN(visibleHeight))
- {
- if (!isNaN(visibleWidth))
- needsLayout = visibleWidth != contentView.width;
- if (!isNaN(visibleHeight))
- needsLayout = visibleHeight != contentView.height;
- if (!isNaN(visibleWidth) && !isNaN(visibleHeight))
- contentArea.setWidthAndHeight(visibleWidth, visibleHeight, false);
- else if (!isNaN(visibleWidth))
- contentArea.setWidth(visibleWidth, false);
- else if (!isNaN(visibleHeight))
- contentArea.setHeight(visibleHeight, false);
- }
- if (needsLayout)
- {
- var layout:IBeadLayout = host.getBeadByType(IBeadLayout) as IBeadLayout;
- layout.layout();
- }
- } while (needsLayout && (needV != hadV || needH == hadH));
- if (_verticalScroller)
- {
- ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
- ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
- ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
- if (contentSize.height > contentArea.height &&
- (contentSize.height - contentArea.height) < _verticalScrollPosition)
- _verticalScrollPosition = contentSize.height - contentArea.height;
- }
- if (_horizontalScroller)
- {
- ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
- ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
- ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
- if (contentSize.width > contentArea.width &&
- (contentSize.width - contentArea.width) < _horizontalScrollPosition)
- _horizontalScrollPosition = contentSize.width - contentArea.width;
- }
-
- var rect:Rectangle = new Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
- (_verticalScroller != null && _verticalScroller.visible) ?
- _verticalScroller.x : viewportWidth,
- (_horizontalScroller != null && _horizontalScroller.visible) ?
- _horizontalScroller.y : viewportHeight);
- contentArea.scrollRect = rect;
- return contentSize;
-
- }
- COMPILE::JS
- {
- return new Size(contentView.width, contentView.height);
- }
-
+ var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
+ var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
+
+ var hostWidth:Number = UIBase(_strand).width;
+ var hostHeight:Number = UIBase(_strand).height;
+
+ var borderMetrics:org.apache.flex.geom.Rectangle = CSSContainerUtils.getBorderMetrics(_strand);
+
+ hostWidth -= borderMetrics.left + borderMetrics.right;
+ hostHeight -= borderMetrics.top + borderMetrics.bottom;
+
+ var needV:Boolean = contentSize.height > viewportHeight;
+ var needH:Boolean = contentSize.width > viewportWidth;
+
+ if (needV)
+ {
+ if (_verticalScroller == null) {
+ _verticalScroller = createVerticalScrollBar();
+ (_strand as IContainer).strandChildren.addElement(_verticalScroller);
+ }
+ }
+ if (needH)
+ {
+ if (_horizontalScroller == null) {
+ _horizontalScroller = createHorizontalScrollBar();
+ (_strand as IContainer).strandChildren.addElement(_horizontalScroller);
+ }
+ }
+
+ if (needV)
+ {
+ _verticalScroller.visible = true;
+ _verticalScroller.x = UIBase(_strand).width - borderMetrics.right - _verticalScroller.width;
+ _verticalScroller.y = borderMetrics.top;
+ _verticalScroller.setHeight(hostHeight - (needH ? _horizontalScroller.height : 0), true);
+
+ ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
+ ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
+ ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
+
+ if (contentSize.height > contentArea.height &&
+ (contentSize.height - contentArea.height) < _verticalScrollPosition)
+ _verticalScrollPosition = contentSize.height - contentArea.height;
+ }
+ else if (_verticalScroller) {
+ _verticalScroller.visible = false;
+ }
+
+ if (needH)
+ {
+ _horizontalScroller.visible = true;
+ _horizontalScroller.x = 0;
+ _horizontalScroller.y = UIBase(_strand).height - borderMetrics.bottom - _horizontalScroller.height;
+ _horizontalScroller.setWidth(hostWidth - (needV ? _verticalScroller.width : 0), true);
+
+ ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
+ ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
+ ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
+
+ if (contentSize.width > contentArea.width &&
+ (contentSize.width - contentArea.width) < _horizontalScrollPosition)
+ _horizontalScrollPosition = contentSize.width - contentArea.width;
+ }
+ else if (_horizontalScroller) {
+ _horizontalScroller.visible = false;
+ }
+
+ var rect:flash.geom.Rectangle = new flash.geom.Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
+ (_verticalScroller != null && _verticalScroller.visible) ? _verticalScroller.x : hostWidth,
+ (_horizontalScroller != null && _horizontalScroller.visible) ? _horizontalScroller.y : hostHeight);
+
+ contentArea.scrollRect = rect;
}
- COMPILE::SWF
private function createVerticalScrollBar():ScrollBar
{
var vsbm:ScrollBarModel = new ScrollBarModel();
@@ -293,7 +279,6 @@
return vsb;
}
- COMPILE::SWF
private function createHorizontalScrollBar():ScrollBar
{
var hsbm:ScrollBarModel = new ScrollBarModel();
@@ -311,31 +296,28 @@
return hsb;
}
- COMPILE::SWF
private function handleVerticalScroll(event:Event):void
{
var host:UIBase = UIBase(_strand);
var vpos:Number = ScrollBarModel(_verticalScroller.model).value;
- var rect:Rectangle = contentArea.scrollRect;
+ var rect:flash.geom.Rectangle = contentArea.scrollRect;
rect.y = vpos;
contentArea.scrollRect = rect;
_verticalScrollPosition = vpos;
}
- COMPILE::SWF
private function handleHorizontalScroll(event:Event):void
{
var host:UIBase = UIBase(_strand);
var hpos:Number = ScrollBarModel(_horizontalScroller.model).value;
- var rect:Rectangle = contentArea.scrollRect;
+ var rect:flash.geom.Rectangle = contentArea.scrollRect;
rect.x = hpos;
contentArea.scrollRect = rect;
_horizontalScrollPosition = hpos;
}
- COMPILE::SWF
private function handleVerticalScrollChange():void
{
if (_verticalScroller) {
@@ -343,7 +325,6 @@
}
}
- COMPILE::SWF
private function handleHorizontalScrollChange():void
{
if (_horizontalScroller) {
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
index b897012..0f12f1b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
@@ -22,17 +22,17 @@
{
import flash.text.TextFieldAutoSize;
import flash.text.TextFieldType;
-
- import org.apache.flex.core.CSSTextField;
+
+ import org.apache.flex.core.CSSTextField;
}
COMPILE::JS
{
import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
+ import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
}
import org.apache.flex.events.Event;
import org.apache.flex.html.beads.ITextItemRenderer;
-
+
/**
* The StringItemRenderer class displays data in string form using the data's toString()
* function.
@@ -55,20 +55,20 @@
public function StringItemRenderer()
{
super();
-
+
COMPILE::SWF
{
textField = new CSSTextField();
textField.type = TextFieldType.DYNAMIC;
textField.autoSize = TextFieldAutoSize.LEFT;
textField.selectable = false;
- textField.parentDrawsBackground = true;
+ textField.parentDrawsBackground = true;
}
}
-
+
COMPILE::SWF
public var textField:CSSTextField;
-
+
/**
* @private
*/
@@ -76,12 +76,12 @@
override public function addedToParent():void
{
super.addedToParent();
-
+
addChild(textField);
adjustSize();
}
-
+
/**
* @private
*/
@@ -89,14 +89,14 @@
override public function adjustSize():void
{
var cy:Number = height/2;
-
+
textField.x = 0;
textField.y = cy - textField.height/2;
textField.width = width;
-
+
updateRenderer();
}
-
+
/**
* The text currently displayed by the itemRenderer instance.
*
@@ -109,29 +109,29 @@
{
COMPILE::SWF
{
- return textField.text;
+ return textField.text;
}
COMPILE::JS
{
return this.element.innerHTML;
}
}
-
+
public function set text(value:String):void
{
COMPILE::SWF
{
- textField.text = value;
+ textField.text = value;
}
COMPILE::JS
{
this.element.innerHTML = value;
}
}
-
+
/**
* Sets the data value and uses the String version of the data for display.
- *
+ *
* @param Object data The object being displayed by the itemRenderer instance.
*
* @langversion 3.0
@@ -146,33 +146,33 @@
if (labelField) text = String(value[labelField]);
else if (dataField) text = String(value[dataField]);
else text = String(value);
-
+
this.text = text;
}
-
+
COMPILE::JS
private var controller:ItemRendererMouseController;
-
+
COMPILE::JS
private var backgroundView:WrappedHTMLElement;
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
COMPILE::JS
override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
+ {
+ element = document.createElement('span') as WrappedHTMLElement;
positioner = element;
- positioner.style.position = 'relative';
-
+ //positioner.style.position = 'relative';
+
element.flexjs_wrapper = this;
className = 'StringItemRenderer';
-
+
// itemRenderers should provide something for the background to handle
// the selection and highlight
backgroundView = element;
-
+
return element;
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
similarity index 100%
rename from frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
rename to frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextButtonItemRenderer.as
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
index f253bd2..6de6533 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
@@ -55,6 +55,9 @@
*/
override public function addedToParent():void
{
+ MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
+ MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
+
super.addedToParent();
// very common for item renderers to be resized by their containers,
@@ -65,9 +68,6 @@
// each MXML file can also have styles in fx:Style block
ValuesManager.valuesImpl.init(this);
- MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
- MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-
dispatchEvent(new Event("initBindings"));
dispatchEvent(new Event("initComplete"));
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
index 285282a..a7ff82b 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
@@ -32,10 +32,15 @@
import org.apache.flex.geom.Size;
import org.apache.flex.html.beads.models.ScrollBarModel;
import org.apache.flex.utils.CSSContainerUtils;
+ COMPILE::SWF
+ {
+ import flash.geom.Rectangle;
+ }
/**
* A Viewport is the area of a Container set aside for displaying
- * content and any scrolling controls.
+ * content. If the content exceeds the visible area of the viewport
+ * it will be clipped or hidden.
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -76,6 +81,7 @@
/**
* @flexjsignorecoercion Class
*/
+ COMPILE::SWF
public function set strand(value:IStrand):void
{
_strand = value;
@@ -84,8 +90,37 @@
{
var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
contentArea = new c() as UIBase;
+ _strand.addBead(contentArea as IBead);
}
}
+
+ /**
+ * @flexjsignorecoercion Class
+ */
+ COMPILE::JS
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+
+ contentArea = _strand.getBeadByType(IContentView) as UIBase;
+ if (!contentArea)
+ {
+ var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
+ if (c != null) {
+ var result:Object = new c();
+ if (result != null) {
+ contentArea = result as UIBase;
+ _strand.addBead(contentArea as IBead);
+ }
+ }
+ }
+
+ if (contentArea == null) {
+ contentArea = value as UIBase;
+ }
+
+ contentArea.element.style.overflow = "hidden";
+ }
/**
* @copy org.apache.flex.core.IViewport#setPosition()
@@ -97,8 +132,10 @@
*/
public function setPosition(x:Number, y:Number):void
{
- contentArea.x = x;
- contentArea.y = y;
+ COMPILE::SWF {
+ contentArea.x = x;
+ contentArea.y = y;
+ }
}
/**
@@ -111,10 +148,12 @@
*/
public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
{
+ COMPILE::SWF {
if (!isNaN(width))
contentArea.width = width;
if (!isNaN(height))
contentArea.height = height;
+ }
}
/**
@@ -125,26 +164,17 @@
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function layoutViewportAfterContentLayout():Size
+ public function layoutViewportAfterContentLayout(contentSize:Size):void
{
- // pass through all of the children and determine the maxWidth and maxHeight
- // note: this is not done on the JavaScript side because the browser handles
- // this automatically.
- var maxWidth:Number = 0;
- var maxHeight:Number = 0;
- var num:Number = contentArea.numElements;
-
- for (var i:int=0; i < num; i++) {
- var child:IUIBase = contentArea.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- var childXMax:Number = child.x + child.width;
- var childYMax:Number = child.y + child.height;
- maxWidth = Math.max(maxWidth, childXMax);
- maxHeight = Math.max(maxHeight, childYMax);
- }
-
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(this._strand);
- return new Size(maxWidth + padding.right, maxHeight + padding.bottom);
+ COMPILE::SWF {
+ var hostWidth:Number = UIBase(_strand).width;
+ var hostHeight:Number = UIBase(_strand).height;
+
+ var rect:flash.geom.Rectangle = new flash.geom.Rectangle(0, 0, hostWidth, hostHeight);
+ contentArea.scrollRect = rect;
+
+ return;
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
index f76b5c8..8f9ae16 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Circle.as
@@ -15,9 +15,11 @@
package org.apache.flex.svg
{
import org.apache.flex.graphics.ICircle;
+ import org.apache.flex.graphics.IDrawable;
COMPILE::SWF
{
+ import flash.display.Graphics;
import flash.geom.Point;
import flash.geom.Rectangle;
}
@@ -26,7 +28,7 @@
import org.apache.flex.core.WrappedHTMLElement;
}
- public class Circle extends GraphicShape implements ICircle
+ public class Circle extends GraphicShape implements ICircle, IDrawable
{
/**
* constructor.
@@ -78,7 +80,7 @@
graphics.clear();
applyStroke();
beginFill(new Rectangle(cx,cy,radius*2, radius*2),new Point(cx-radius,cy-radius));
- graphics.drawCircle(cx,cy,radius);
+ graphics.drawCircle(cx+radius,cy+radius,radius);
endFill();
}
COMPILE::JS
@@ -109,10 +111,15 @@
}
}
- override protected function draw():void
+ override protected function drawImpl():void
{
drawCircle(0, 0, radius);
}
+
+ public function draw():void
+ {
+ drawImpl();
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
index d341cba..c7ee326 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/DOMWrapper.as
@@ -46,7 +46,7 @@
element.style.top = "0px";
//element.offsetParent = null;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
return element;
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
index c2fbabc..b118d30 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Ellipse.as
@@ -18,6 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.svg
{
+ import org.apache.flex.graphics.IDrawable;
import org.apache.flex.graphics.IEllipse;
COMPILE::SWF
@@ -30,7 +31,7 @@
import org.apache.flex.core.WrappedHTMLElement;
}
- public class Ellipse extends GraphicShape implements IEllipse
+ public class Ellipse extends GraphicShape implements IEllipse, IDrawable
{
/**
* constructor.
@@ -68,7 +69,7 @@
_rx = value;
}
- private var _ry:Number;
+ private var _ry:Number;
/**
* The vertical radius of the ellipse.
@@ -88,6 +89,25 @@
_ry = value;
}
+ override public function get width():Number
+ {
+ return _rx*2;
+ }
+
+ override public function set width(value:Number):void
+ {
+ _rx = value/2;
+ }
+
+ override public function get height():Number
+ {
+ return _ry*2;
+ }
+
+ override public function set height(value:Number):void
+ {
+ _ry = value/2;
+ }
COMPILE::JS
private var _ellipse:WrappedHTMLElement;
@@ -96,8 +116,6 @@
* Draw the ellipse.
* @param xp The x position of the top-left corner of the bounding box of the ellipse.
* @param yp The y position of the top-left corner of the bounding box of the ellipse.
- * @param width The width of the ellipse.
- * @param height The height of the ellipse.
*
* @langversion 3.0
* @playerversion Flash 10.2
@@ -127,26 +145,31 @@
_ellipse.setAttribute('style', style);
if (stroke)
{
- _ellipse.setAttribute('cx', width / 2 + stroke.weight);
- _ellipse.setAttribute('cy', height / 2 + stroke.weight);
+ _ellipse.setAttribute('cx', rx + stroke.weight);
+ _ellipse.setAttribute('cy', ry + stroke.weight);
}
else
{
- _ellipse.setAttribute('cx', width / 2);
- _ellipse.setAttribute('cy', height / 2);
+ _ellipse.setAttribute('cx', rx);
+ _ellipse.setAttribute('cy', ry);
}
- _ellipse.setAttribute('rx', width / 2);
- _ellipse.setAttribute('ry', height / 2);
+ _ellipse.setAttribute('rx', rx);
+ _ellipse.setAttribute('ry', ry);
resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
}
}
- override protected function draw():void
+ override protected function drawImpl():void
{
- drawEllipse(0, 0);
+ drawEllipse(0, 0);
}
+
+ public function draw():void
+ {
+ drawImpl();
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
index 8e8498f..8bd841f 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicContainer.as
@@ -14,6 +14,7 @@
package org.apache.flex.svg
{
import org.apache.flex.core.ContainerBase;
+ import org.apache.flex.core.IChild;
import org.apache.flex.core.IFlexJSElement;
import org.apache.flex.core.ITransformHost;
@@ -21,13 +22,12 @@
{
import org.apache.flex.core.IContainer;
import org.apache.flex.core.UIBase;
- import org.apache.flex.core.IChild;
}
[DefaultProperty("mxmlContent")]
COMPILE::SWF
- public class GraphicContainer extends ContainerBase
+ public class GraphicContainer extends ContainerBase implements ITransformHost
{
public function GraphicContainer()
{
@@ -35,39 +35,44 @@
}
}
-
+
COMPILE::JS
- public class GraphicContainer extends UIBase implements IContainer
+ public class GraphicContainer extends ContainerBase implements ITransformHost
{
private var graphicGroup:ContainerBase;
-
+
public function GraphicContainer()
{
super();
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
override protected function createElement():org.apache.flex.core.WrappedHTMLElement
{
element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as org.apache.flex.core.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';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
graphicGroup = new GraphicGroup();
super.addElement(graphicGroup);
return element;
}
-
+ COMPILE::JS
+ override protected function setClassName(value:String):void
+ {
+ element.setAttribute('class', value);
+ }
+
override public function get transformElement():org.apache.flex.core.WrappedHTMLElement
{
return graphicGroup.element;
@@ -75,7 +80,7 @@
/**
* @copy org.apache.flex.core.IParent#getElementAt()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -84,11 +89,11 @@
override public function getElementAt(index:int):IChild
{
return graphicGroup.getElementAt(index);
- }
-
+ }
+
/**
* @copy org.apache.flex.core.IParent#addElement()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -100,10 +105,10 @@
if (dispatchEvent)
this.dispatchEvent(new Event("childrenAdded"));
}
-
+
/**
* @copy org.apache.flex.core.IParent#addElementAt()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -115,10 +120,10 @@
if (dispatchEvent)
this.dispatchEvent(new Event("childrenAdded"));
}
-
+
/**
* @copy org.apache.flex.core.IParent#removeElement()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -130,23 +135,10 @@
if (dispatchEvent)
this.dispatchEvent(new Event("childrenRemoved"));
}
-
- /**
- * @copy org.apache.flex.core.IContainer#childrenAdded()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function childrenAdded():void
- {
- dispatchEvent(new Event("childrenAdded"));
- }
-
+
/**
* @copy org.apache.flex.core.IParent#getElementIndex()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -156,11 +148,11 @@
{
return graphicGroup.getElementIndex(c);
}
-
-
+
+
/**
* The number of elements in the parent.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -170,6 +162,23 @@
{
return graphicGroup.numElements;
}
+
+ COMPILE::JS
+ override public function set x(value:Number):void
+ {
+ super.x = value;
+ // Needed for SVG inside SVG
+ element.setAttribute("x", value);
+ }
+
+ COMPILE::JS
+ override public function set y(value:Number):void
+ {
+ super.y = value;
+ // Needed for SVG inside SVG
+ element.setAttribute("y", value);
+ }
+
}
}
@@ -184,21 +193,21 @@
override protected function createElement():org.apache.flex.core.WrappedHTMLElement
{
element = document.createElementNS('http://www.w3.org/2000/svg', 'g') as org.apache.flex.core.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';
+ //positioner.style.position = 'relative';
element.flexjs_wrapper = this;
-
+
/*addEventListener('childrenAdded',
runLayoutHandler);
addEventListener('elementRemoved',
runLayoutHandler);*/
-
+
return element;
}
-}
\ No newline at end of file
+}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
index eb1acc1..523bbe3 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/GraphicShape.as
@@ -16,14 +16,18 @@
{
COMPILE::SWF
{
- import flash.geom.Point;
- import flash.geom.Rectangle;
+ import flash.display.Graphics;
+ import flash.display.Sprite;
+ import flash.geom.Point;
+ import flash.geom.Rectangle;
+ import org.apache.flex.core.WrappedSprite;
}
COMPILE::JS
{
import org.apache.flex.core.WrappedHTMLElement;
}
+ import org.apache.flex.core.IFlexJSElement;
import org.apache.flex.core.UIBase;
import org.apache.flex.graphics.IFill;
import org.apache.flex.graphics.IStroke;
@@ -31,6 +35,7 @@
public class GraphicShape extends UIBase implements IGraphicShape
{
+
private var _fill:IFill;
private var _stroke:IStroke;
@@ -78,7 +83,7 @@
{
super();
}
-
+
/**
* @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
*/
@@ -87,12 +92,10 @@
{
element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
element.flexjs_wrapper = this;
- element.style.left = "0px";
- element.style.top = "0px";
//element.offsetParent = null;
positioner = element;
- positioner.style.position = 'relative';
-
+ //positioner.style.position = 'relative';
+
return element;
}
@@ -127,18 +130,15 @@
/**
* This is where the drawing methods get called from
*/
- protected function draw():void
+ protected function drawImpl():void
{
//Overwrite in subclass
}
override public function addedToParent():void
{
- COMPILE::SWF
- {
- super.addedToParent();
- }
- draw();
+ super.addedToParent();
+ drawImpl();
COMPILE::JS
{
element.style.overflow = 'visible';
@@ -175,6 +175,12 @@
return fillStr + ';' + strokeStr;
}
+ COMPILE::JS
+ override protected function setClassName(value:String):void
+ {
+ element.setAttribute('class', value);
+ }
+
/**
* @param x X position.
@@ -190,8 +196,14 @@
element.style.position = 'absolute';
if (!isNaN(x)) element.style.top = x + "px";
if (!isNaN(y)) element.style.left = y + "px";
+ // element.setAttribute("width", useWidth);
+ // element.setAttribute("height", useHeight);
element.style.width = useWidth;
element.style.height = useHeight;
+ // Needed for SVG inside SVG
+ element.setAttribute("x", x);
+ element.setAttribute("y", y);
+ //Needed for SVG inside DOM elements
element.style.left = x + "px";
element.style.top = y + "px";
}
@@ -218,6 +230,10 @@
_y = y;
_xOffset = xOffset;
_yOffset = yOffset;
+ // Needed for SVG inside SVG
+ element.setAttribute("x", xOffset);
+ element.setAttribute("y", yOffset);
+ //Needed for SVG inside DOM elements
element.style.left = xOffset + "px";
element.style.top = yOffset + "px";
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
index cd0729f..6f660ce 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Image.as
@@ -47,7 +47,7 @@
element.setAttribute('y', 0);
//element.offsetParent = null;
positioner = element;
- positioner.style.position = 'relative';
+ //positioner.style.position = 'relative';
addImageElement();
return element;
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
index fe6b74a..126a437 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Path.as
@@ -14,6 +14,7 @@
package org.apache.flex.svg
{
+ import org.apache.flex.graphics.IDrawable;
import org.apache.flex.graphics.IPath;
import org.apache.flex.graphics.PathBuilder;
@@ -30,7 +31,7 @@
}
- public class Path extends GraphicShape implements IPath
+ public class Path extends GraphicShape implements IPath, IDrawable
{
private var _data:String;
@@ -125,9 +126,14 @@
}
}
- override protected function draw():void
+ override protected function drawImpl():void
{
drawStringPath(0, 0, data);
}
+
+ public function draw():void
+ {
+ drawImpl();
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
index 64f888d..6cacf41 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Rect.as
@@ -14,6 +14,7 @@
package org.apache.flex.svg
{
+ import org.apache.flex.graphics.IDrawable;
import org.apache.flex.graphics.IRect;
COMPILE::SWF
@@ -26,7 +27,7 @@
import org.apache.flex.core.WrappedHTMLElement;
}
- public class Rect extends GraphicShape implements IRect
+ public class Rect extends GraphicShape implements IRect, IDrawable
{
/**
* constructor.
@@ -111,12 +112,12 @@
applyStroke();
beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
if(isNaN(rx))
- graphics.drawRect(x, y, width, height);
+ graphics.drawRect(0, 0, width, height);
else
{
var dx:Number = rx*2;
var dy:Number = isNaN(ry) ? ry : ry*2;
- graphics.drawRoundRect(x, y, width, height,dx ,dy);
+ graphics.drawRoundRect(0, 0, width, height,dx ,dy);
}
endFill();
}
@@ -147,10 +148,21 @@
}
}
- override protected function draw():void
+ COMPILE::JS
+ override public function get transformElement():WrappedHTMLElement
+ {
+ return _rect;
+ }
+
+ override protected function drawImpl():void
{
drawRect(0,0,width,height);
}
+
+ public function draw():void
+ {
+ drawImpl();
+ }
}
}
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
index 278dcc0..7b22aab 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/svg/Text.as
@@ -18,6 +18,7 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.svg
{
+ import org.apache.flex.graphics.IDrawable;
import org.apache.flex.graphics.IText;
import org.apache.flex.graphics.SolidColor;
@@ -32,7 +33,7 @@
}
/**
- * Draws a string of characters at a specific location using the stroke
+ * Draws a string of characters at a specific location using the fill
* value of color and alpha.
*
* @langversion 3.0
@@ -42,7 +43,7 @@
* // TODO (aharui) ignore imports of external linkage interfaces?
* @flexjsignoreimport SVGLocatable
*/
- public class Text extends GraphicShape implements IText
+ public class Text extends GraphicShape implements IText, IDrawable
{
/**
* constructor.
@@ -59,7 +60,7 @@
COMPILE::SWF
{
_textField = new CSSTextField();
- addChild(_textField);
+ addChild(_textField);
}
}
@@ -149,11 +150,15 @@
}
}
- COMPILE::JS
- override protected function draw():void
+ override protected function drawImpl():void
{
- drawText(text, x, y);
+ drawText(text,x,y);
}
+ public function draw():void
+ {
+ drawImpl();
+ }
+
}
}
diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 072aed9..204d10c 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -29,6 +29,7 @@
<component id="DropDownList" class="org.apache.flex.html.DropDownList"/>
<component id="DropDownListList" class="org.apache.flex.html.supportClasses.DropDownListList"/>
<component id="Image" class="org.apache.flex.html.Image"/>
+ <component id="BinaryImage" class="org.apache.flex.html.BinaryImage"/>
<component id="Label" class="org.apache.flex.html.Label"/>
<component id="MultilineLabel" class="org.apache.flex.html.MultilineLabel"/>
<component id="ImageAndTextButton" class="org.apache.flex.html.ImageAndTextButton"/>
@@ -36,12 +37,19 @@
<component id="ToggleTextButton" class="org.apache.flex.html.ToggleTextButton"/>
<component id="TextInput" class="org.apache.flex.html.TextInput"/>
<component id="TextArea" class="org.apache.flex.html.TextArea"/>
+ <component id="DataContainer" class="org.apache.flex.html.DataContainer"/>
<component id="List" class="org.apache.flex.html.List"/>
<component id="SimpleList" class="org.apache.flex.html.SimpleList"/>
<component id="CheckBox" class="org.apache.flex.html.CheckBox"/>
+ <component id="CSSCheckBox" class="org.apache.flex.html.CSSCheckBox"/>
<component id="RadioButton" class="org.apache.flex.html.RadioButton"/>
<component id="ComboBox" class="org.apache.flex.html.ComboBox"/>
+ <component id="ComboBoxList" class="org.apache.flex.html.supportClasses.ComboBoxList"/>
<component id="Container" class="org.apache.flex.html.Container"/>
+ <component id="Group" class="org.apache.flex.html.Group"/>
+ <component id="HGroup" class="org.apache.flex.html.HGroup"/>
+ <component id="VGroup" class="org.apache.flex.html.VGroup"/>
+ <component id="Accordion" class="org.apache.flex.html.Accordion"/>
<component id="Form" class="org.apache.flex.html.Form"/>
<component id="HContainer" class="org.apache.flex.html.HContainer"/>
<component id="VContainer" class="org.apache.flex.html.VContainer"/>
@@ -59,28 +67,43 @@
<component id="Tree" class="org.apache.flex.html.Tree"/>
<component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout"/>
<component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout"/>
+ <component id="VerticalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.VerticalLayoutWithPaddingAndGap"/>
+ <component id="VerticalFlexLayout" class="org.apache.flex.html.beads.layouts.VerticalFlexLayout"/>
<component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
+ <component id="HorizontalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap"/>
+ <component id="HorizontalFlexLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlexLayout"/>
+ <component id="HorizontalFlowLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlowLayout" />
<component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
<component id="ListView" class="org.apache.flex.html.beads.ListView"/>
+ <component id="AccordionView" class="org.apache.flex.html.beads.AccordionView"/>
+ <component id="CenterElement" class="org.apache.flex.html.beads.CenterElement"/>
<!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-
+
<component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>
<component id="Alert" class="org.apache.flex.html.Alert"/>
<component id="Spinner" class="org.apache.flex.html.Spinner"/>
<component id="Slider" class="org.apache.flex.html.Slider"/>
<component id="NumericStepper" class="org.apache.flex.html.NumericStepper" />
<component id="StringItemRenderer" class="org.apache.flex.html.supportClasses.StringItemRenderer"/>
+ <component id="AccordionItemRenderer" class="org.apache.flex.html.supportClasses.AccordionItemRenderer"/>
+ <component id="AccordionCollapseBead" class="org.apache.flex.html.beads.AccordionCollapseBead"/>
+ <component id="DispatchInputFinishedBead" class="org.apache.flex.html.beads.DispatchInputFinishedBead"/>
+ <component id="DispatchKeyboardEventBead" class="org.apache.flex.html.beads.DispatchKeyboardEventBead"/>
<component id="TreeItemRenderer" class="org.apache.flex.html.supportClasses.TreeItemRenderer"/>
<component id="DataItemRenderer" class="org.apache.flex.html.supportClasses.DataItemRenderer"/>
- <component id="ButtonBarButtonItemRenderer" class="org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer"/>
+ <component id="MXMLItemRenderer" class="org.apache.flex.html.supportClasses.MXMLItemRenderer"/>
+ <component id="DateItemRenderer" class="org.apache.flex.html.supportClasses.DateItemRenderer"/>
+ <component id="DayNameItemRenderer" class="org.apache.flex.html.supportClasses.DayNameItemRenderer"/>
+ <component id="TextButtonItemRenderer" class="org.apache.flex.html.supportClasses.TextButtonItemRenderer"/>
<!--
<component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>
- <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
- <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
+ <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
+ <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
<component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
<component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
-->
<component id="UnselectableElementBead" class="org.apache.flex.html.beads.UnselectableElementBead"/>
+ <component id="DisableBead" class="org.apache.flex.html.beads.DisableBead" />
<component id="NumericOnlyTextInputBead" class="org.apache.flex.html.accessories.NumericOnlyTextInputBead" />
<component id="PasswordInputBead" class="org.apache.flex.html.accessories.PasswordInputBead" />
<component id="TextPromptBead" class="org.apache.flex.html.accessories.TextPromptBead" />
@@ -88,23 +111,25 @@
<component id="VRule" class="org.apache.flex.html.VRule" />
<component id="Spacer" class="org.apache.flex.html.Spacer" />
<!--
- <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
+ <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
-->
<component id="ScrollingViewport" class="org.apache.flex.html.supportClasses.ScrollingViewport" />
-
+ <component id="ClippingViewport" class="org.apache.flex.html.supportClasses.ClippingViewport" />
+
<component id="ArraySelectionModel" class="org.apache.flex.html.beads.models.ArraySelectionModel" />
<component id="ArrayListSelectionModel" class="org.apache.flex.html.beads.models.ArrayListSelectionModel" />
<component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
<component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
+ <component id="DataProviderCollectionChangeNotifier" class="org.apache.flex.html.beads.DataProviderCollectionChangeNotifier"/>
+ <component id="DataProviderItemsChangeNotifier" class="org.apache.flex.html.beads.DataProviderItemsChangeNotifier"/>
<component id="DataGridButtonBar" class="org.apache.flex.html.DataGridButtonBar"/>
<component id="DataGridButtonBarTextButton" class="org.apache.flex.html.DataGridButtonBarTextButton"/>
<component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
<component id="DataGridLinesBead" class="org.apache.flex.html.beads.DataGridLinesBead"/>
<component id="DataGridColumnList" class="org.apache.flex.html.supportClasses.DataGridColumnList"/>
- <component id="DataGridLayout" class="org.apache.flex.html.beads.layouts.DataGridLayout" />
- <component id="DataGridPercentageLayout" class="org.apache.flex.html.beads.layouts.DataGridPercentageLayout" />
-
+ <component id="DataGridPercentageView" class="org.apache.flex.html.beads.DataGridPercentageView" />
+
<component id="DataItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayData" />
<component id="DataItemRendererFactoryForArrayList" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayList" />
<component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData" />
@@ -112,20 +137,30 @@
<component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />
<component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
+ <component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
+ <component id="DateChooserHeader" class="org.apache.flex.html.supportClasses.DateChooserHeader" />
<component id="DateField" class="org.apache.flex.html.DateField"/>
<component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
<component id="ToolTipBead" class="org.apache.flex.html.accessories.ToolTipBead" />
<component id="LayoutChangeNotifier" class="org.apache.flex.html.beads.layouts.LayoutChangeNotifier"/>
+ <component id="LayoutOnShow" class="org.apache.flex.html.beads.layouts.LayoutOnShow"/>
<component id="ImageButton" class="org.apache.flex.html.ImageButton"/>
<component id="FlexibleFirstChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout"/>
<component id="OneFlexibleChildVerticalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout"/>
<component id="OneFlexibleChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout"/>
<component id="MXMLBeadView" class="org.apache.flex.html.MXMLBeadView"/>
+ <component id="SubAppLoader" class="org.apache.flex.html.SubAppLoader" />
+
<component id="Border" class="org.apache.flex.html.supportClasses.Border"/>
-
+
<component id="WebBrowser" class="org.apache.flex.html.WebBrowser" />
+
+ <component id="Table" class="org.apache.flex.html.Table"/>
+ <component id="TableRow" class="org.apache.flex.html.TableRow"/>
+ <component id="TableCell" class="org.apache.flex.html.TableCell"/>
+ <component id="TableHeader" class="org.apache.flex.html.TableHeader"/>
</componentPackage>
diff --git a/frameworks/projects/Basic/src/main/resources/defaults.css b/frameworks/projects/Basic/src/main/resources/defaults.css
index 5ce20fb..be9a3bd 100644
--- a/frameworks/projects/Basic/src/main/resources/defaults.css
+++ b/frameworks/projects/Basic/src/main/resources/defaults.css
@@ -23,26 +23,37 @@
/* Global style declaration */
*
{
- font-family: "Arial";
- font-size: 12px;
+ font-family: "Arial";
+ font-size: 12px;
border-width: 1px;
}
.flexjs *, . flexjs *:before, . flexjs *:after {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
}
.unselectable
{
- -moz-user-select: -moz-none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
- user-select: none;
+ -moz-user-select: -moz-none;
+ -khtml-user-select: none;
+ -webkit-user-select: none;
+ -o-user-select: none;
+ user-select: none;
}
+Alert
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+
+ background-color: #FFFFFF;
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+}
+
+
Application
{
padding: 0px;
@@ -51,77 +62,113 @@
Button
{
- background-color: #f8f8f8;
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- margin: 0px;
+ background-color: #f8f8f8;
+ border: 1px solid #808080;
+ border-radius: 2px;
+ padding: 4px;
+ margin: 0px;
}
Button:hover
{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #e8e8e8;
+ border: 1px solid #808080;
+ padding: 4px;
}
Button:active
{
- background-color: #d8d8d8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #d8d8d8;
+ border: 1px solid #808080;
+ padding: 4px;
}
ButtonBar
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ButtonBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer");
-
- border-style: none;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ButtonBarView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
+
+ border-style: none;
}
-ButtonBarButtonItemRenderer
+ComboBox
{
- width: 80;
- height: 30;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
+ IPopUp: ClassReference("org.apache.flex.html.supportClasses.ComboBoxList");
+}
+
+ComboBoxList
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+ IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+ border-style: solid;
+ border-radius: 4px;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+}
+
+.ComboBoxButton {
+ padding: 0px;
+ margin: 0px;
}
Container
{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
}
ControlBar
{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
+ IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
- background-color: #CECECE;
- border-style: none;
- /*border-style: solid;
- border-color: #000000;
- border-width: 1px;*/
+ padding: 2px;
+ background-color: #E2E2E2;
+ border-top: solid 1px #333333;
+ height: 30px;
+}
+
+DataContainer
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataProviderModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.DataContainerView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
+ IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+ border-style: solid;
+ border-color: #222222;
}
/* ASJS */
DataGrid
{
- IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.DataGridLayout");
-
- background-color: #FFFFFF;
+ IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+
+ background-color: #FFFFFF;
border-style: solid;
border-color: #222222;
border-width: 1px;
@@ -129,14 +176,13 @@
DataGridButtonBar
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
IBeadView: ClassReference("org.apache.flex.html.beads.ButtonBarView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DataGridButtonBarButtonItemRenderer");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
border-style: none;
}
@@ -146,7 +192,6 @@
IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayList");
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
@@ -158,39 +203,101 @@
.DataGridListArea {
background-color: #FFFFFF;
- border-style: solid;
- border-color: #333333;
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+ IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+ IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
}
+/* DateChooser */
+
DateChooser {
- IBeadView: ClassReference("org.apache.flex.html.beads.DateChooserView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
- width: 280px;
- height: 240px;
+ IBeadView: ClassReference("org.apache.flex.html.beads.DateChooserView");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
+ width: 280px;
+ height: 240px;
}
-DateField {
- IBeadView: ClassReference("org.apache.flex.html.beads.DateFieldView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
- IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
+DateChooserList {
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DateItemRenderer");
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
}
+DateChooserHeader {
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
+ height: 20px;
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+}
+
+.DateChooserMonthButtons {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
+ height: 20px;
+}
+
+DateItemRenderer
+{
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+ text-align: center;
+ flex-shrink: 0;
+ flex-grow: 1;
+}
+
+DayNameItemRenderer
+{
+ text-align: center;
+ flex-shrink: 0;
+ flex-grow: 1;
+}
+
+/* DateField */
+
+DateField {
+ IBeadView: ClassReference("org.apache.flex.html.beads.DateFieldView");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
+ IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
+}
+
+/* Groups */
+
+Form {
+ IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+}
+
+Group {
+ IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+}
+
+HGroup {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+}
+
+VGroup {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+}
+
+/* RangeStepper */
+
RangeStepper {
IBeadView: ClassReference("org.apache.flex.html.beads.RangeStepperView");
IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModelExtended");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.RangeStepperMouseController");
}
-Form {
-
-}
-
HContainer
{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
+ white-space: nowrap;
}
Image
@@ -200,55 +307,94 @@
IBeadView: ClassReference("org.apache.flex.html.beads.ImageView");
}
+BinaryImage
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.BinaryImageModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ImageView");
+ IBinaryImageLoader: ClassReference("org.apache.flex.html.beads.BinaryImageLoader");
+}
+
ImageAndTextButton
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
}
ImageButton
{
- border-style: none;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
+ border-style: none;
}
ImageButton:hover
{
- border-style: none;
+ border-style: none;
}
ImageButton:active
{
- border-style: none;
+ border-style: none;
}
VContainer
{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
}
List
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
border-style: solid;
border-color: #222222;
+ background-color: #FFFFFF;
+}
+
+Accordion
+{
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.AccordionView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.AccordionItemRenderer");
+ IViewport: ClassReference("org.apache.flex.html.supportClasses.ClippingViewport");
+ IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+ IAccordionCollapseBead: ClassReference("org.apache.flex.html.beads.AccordionCollapseBead");
+ border-style: solid;
+ border-color: #222222;
}
+Table
+{
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.SimpleTableLayout");
+}
+
+TableHeader
+{
+ font-weight: bold;
+ border: 1px solid #999999;
+}
+
+TableCell
+{
+ border: 1px solid #999999;
+}
+
Tree
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArrayListSelectionModel");
IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController");
IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData");
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TreeItemRenderer");
@@ -260,139 +406,163 @@
NumericStepper
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
}
Panel
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- padding: 2px;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
+ IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+
+ background-color: #FFFFFF;
+ border: solid 1px #333333
}
PanelWithControlBar
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- padding: 2px;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
+ IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
+
+ background-color: #FFFFFF;
+ border: solid 1px #333333;
+}
+
+Panel .TitleBar
+{
+ border-bottom: solid 1px #333333;
}
SimpleList
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
}
Slider
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+ iBeadView: ClassReference("org.apache.flex.html.beads.SliderView");
+ iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
}
Spinner
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.SpinnerView");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.SpinnerView");
}
StringItemRenderer
{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 16;
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+ height: 24;
+ flex-shrink: 0;
+ flex-grow: 1;
+}
+
+AccordionItemRenderer
+{
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController");
+ IBeadView: ClassReference("org.apache.flex.html.beads.AccordionItemRendererView");
+ flex-shrink: 0;
+ flex-grow: 1;
}
TreeItemRenderer
{
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 16;
+ height: 24;
+ flex-shrink: 0;
+ flex-grow: 1;
}
TextInput
{
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- margin: 0px;
+ border: 1px solid #808080;
+ border-radius: 2px;
+ padding: 4px;
+ margin: 0px;
}
TextArea
{
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- resize: none;
+ border: 1px solid #808080;
+ border-radius: 2px;
+ padding: 4px;
+ resize: none;
}
TitleBar
{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
- background-color: #E2E2E2;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
+ iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
+ background-color: #E2E2E2;
+ padding: 2px;
+ height: 30px;
+ flex-grow: 0;
+ min-height: 30px;
+}
+
+TitleBar .TitleBarCloseButton {
+ width: 16px;
+ height: 16px;
+ margin: 0px;
+}
+
+TitleBar .TitleBarTitle {
+ font-weight: bold;
+ padding: 0;
+ margin: 0;
}
.toggleTextButton
{
- background-color: #f8f8f8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #f8f8f8;
+ border: 1px solid #808080;
+ padding: 4px;
}
.toggleTextButton:hover
{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #e8e8e8;
+ border: 1px solid #808080;
+ padding: 4px;
}
.toggleTextButton_Selected
{
- background-color: #d8d8d8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #d8d8d8;
+ border: 1px solid #808080;
+ padding: 4px;
}
.toggleTextButton_Selected:hover
{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
+ background-color: #e8e8e8;
+ border: 1px solid #808080;
+ padding: 4px;
}
ToolTip
{
- background-color: #FFFFCC;
+ background-color: #FFFFCC;
}
View
{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
}
WebBrowser
@@ -405,277 +575,348 @@
/* Global Style Declaration */
global
{
- IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
- IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
- effectTimerInterval: 10;
+ IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
+ IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
+ effectTimerInterval: 10;
}
@media -flex-flash
{
+ Accordion {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ Alert
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.AlertView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ Border
+ {
+ border-color: inherit;
+ border-style: inherit;
+ border-radius: inherit;
+ border-width: inherit;
+ border: inherit;
+ }
+
+ Button
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
+ }
+
+ ButtonBar
+ {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ CheckBox
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.CheckBoxView");
+ }
+
+ CSSCheckBox
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.CheckBoxView");
+ }
+
+ CloseButton
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
+ }
+
+ Container
+ {
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+ }
+
+ ControlBar
+ {
+ IMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ border: solid 1px #333333;
+ }
+
+ ComboBoxList {
+ IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ }
+
+ DataGrid {
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ DataContainer {
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ DataGridButtonBar {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ DateChooserList {
+ iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ DateChooserHeader {
+ padding-top: 0px;
+ padding-bottom: 5px;
+ iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ DateItemRenderer {
+ margin: 0px;
+ padding: 5px;
+ }
+
+ DropDownList
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
+ IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
+ }
+
+ DropDownListList
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+ iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+ border-style: solid;
+ border-radius: 4px;
+ border-color: #333333;
+ border-width: 1px;
+ background-color: #FFFFFF;
+ }
+
+ Group
+ {
+ iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+ }
+
+ HRule
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.HRuleView");
+ }
+
+ ImageButton
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
+ }
+
+ ImageAndTextButton
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
+ }
+
+ Label
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
+ iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
+ }
+
+ List
+ {
+ iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+ iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ MultilineLabel
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
+ }
+
+ NumericStepper
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
+
+ padding: 0px;
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+ iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+ iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ }
+
+ Panel
+ {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ }
+
+ PanelWithControlBar
+ {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ }
+
+ RadioButton
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.RadioButtonView");
+ }
+
+ VScrollBar
+ {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
+ }
+
+ HScrollBar
+ {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
+ }
+
+ SimpleAlert
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.SimpleAlertView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+
+ background-color: #FFFFFF;
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ }
+
+ Slider
+ {
+ iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
+ iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
+ }
+
+ Spinner
+ {
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
+ }
+
+ Table
+ {
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ }
+
+ TableCell
+ {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableCellLayout");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
+ }
+
+ TableHeader
+ {
+ IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableHeaderLayout");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
+ }
-Alert
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.AlertView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-
-Border
-{
- border-color: inherit;
- border-style: inherit;
- border-radius: inherit;
- border-width: inherit;
- border: inherit;
-}
-
-Button
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
-}
-
-CheckBox
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CheckBoxView");
-}
-
-CloseButton
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
-}
-
-ComboBox
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
- IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
-}
-
-Container
-{
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-}
-
-ControlBar
-{
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-}
-
-DropDownList
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
- IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
-}
-
-DropDownListList
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- border-style: solid;
- border-radius: 4px;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-HRule
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.HRuleView");
-}
-
-ImageButton
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
-}
-
-ImageAndTextButton
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
-}
-
-Label
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
-}
-
-List
-{
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
-}
-
-MultilineLabel
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
-}
-
-NumericStepper
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
-
- padding: 0px;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
-}
-
-Panel
-{
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-}
-
-PanelWithControlBar
-{
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-}
-
-RadioButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.RadioButtonView");
-}
-
-VScrollBar
-{
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
-}
-
-HScrollBar
-{
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
-}
-
-SimpleAlert
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.SimpleAlertView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-
-Slider
-{
- iBeadView: ClassReference("org.apache.flex.html.beads.SliderView");
- iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
- iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
- iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
-}
-
-Spinner
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
-}
-
-TextArea
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-TextButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-}
-
-TextFieldItemRenderer
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 16;
-}
-
-TextInput
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-TitleBar
-{
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-}
-
-ToggleTextButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
-}
-
-View
-{
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
-}
-
-VRule
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.VRuleView");
-}
-
-/* SVG */
-
-svg|TextButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
-}
+
+ TextArea
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+ IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+ IBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+ }
+
+ TextButton
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+ iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+ }
+
+ Tree {
+ IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
+ }
+
+ /*
+ TextFieldItemRenderer
+ {
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+ height: 16;
+ }
+ */
+
+ TextInput
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
+ IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
+ IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+ }
+
+ TitleBar
+ {
+ IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ border: solid 1px #333333;
+ }
+
+ ToggleTextButton
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
+ }
+
+ View
+ {
+ iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ VRule
+ {
+ IBeadView: ClassReference("org.apache.flex.html.beads.VRuleView");
+ }
+
+ /* SVG */
+
+ svg|TextButton
+ {
+ IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
+ IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+ iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
+ }
}
diff --git a/frameworks/projects/Basic/src/main/resources/svg-manifest.xml b/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
index a32483e..28d4b47 100644
--- a/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/svg-manifest.xml
@@ -20,5 +20,13 @@
<componentPackage>
+ <component id="Circle" class="org.apache.flex.svg.Circle" />
+ <component id="Ellipse" class="org.apache.flex.svg.Ellipse" />
+ <component id="Path" class="org.apache.flex.svg.Path" />
+ <component id="Rect" class="org.apache.flex.svg.Rect" />
+ <component id="CompoundGraphic" class="org.apache.flex.svg.CompoundGraphic" />
+ <component id="GraphicContainer" class="org.apache.flex.svg.GraphicContainer" />
+ <component id="Image" class="org.apache.flex.svg.Image"/>
+ <component id="BinaryImage" class="org.apache.flex.svg.BinaryImage"/>
<component id="TextButton" class="org.apache.flex.svg.TextButton"/>
</componentPackage>
diff --git a/frameworks/projects/Basic/src/test/flex/build.xml b/frameworks/projects/Basic/src/test/flex/build.xml
index ecb6f36..6c77dfd 100644
--- a/frameworks/projects/Basic/src/test/flex/build.xml
+++ b/frameworks/projects/Basic/src/test/flex/build.xml
@@ -56,13 +56,13 @@
<available file="${FLEXUNIT_HOME}/FlexUnit4/target"
type="dir"
property="FLEXUNIT_LIBPATH1"
- value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target/flexunit-4.3.0-20140410-as3_4.12.0.swc" />
- <property name="FLEXUNIT_LIBPATH1" value="-library-path+=${FLEXUNIT_HOME}/flexunit" />
+ value="-swf-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target/flexunit-4.3.0-20140410-as3_4.12.0.swc" />
+ <property name="FLEXUNIT_LIBPATH1" value="-swf-library-path+=${FLEXUNIT_HOME}/flexunit" />
<available file="${FLEXUNIT_HOME}/FlexUnit4CIListener/target"
type="dir"
property="FLEXUNIT_LIBPATH2"
- value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+ value="-swf-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
<property name="FLEXUNIT_LIBPATH2" value="-define=CONFIG::dummy,false" />
<available file="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target"
@@ -88,7 +88,7 @@
</target>
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<target name="compile" description="Compiles FlexUnitApplication.swf">
@@ -119,8 +119,8 @@
<jvmarg line="${mxmlc.jvm.args}"/>
<arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
<arg value="-debug" />
+ <arg value="-compiler.targets=SWF" />
<arg value="-compiler.mxml.children-as-data" />
- <arg value="-compiler.allow-subclass-overrides" />
<arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
<arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
<arg value="-compiler.binding-value-change-event-type=valueChange" />
@@ -129,7 +129,7 @@
<arg value="+playerglobal.version=${playerglobal.version}" />
<arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
<arg value="-source-path+=${FLEXJS_HOME}/frameworks/projects/Basic/src/main/flex" />
- <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
+ <arg value="-swf-library-path+=${FLEXJS_HOME}/frameworks/libs" />
<arg value="${FLEXUNIT_LIBPATH1}" />
<arg value="${FLEXUNIT_LIBPATH2}" />
</mxmlc>
diff --git a/frameworks/projects/Binding/build.xml b/frameworks/projects/Binding/build.xml
index 117b98a..f28b40a 100644
--- a/frameworks/projects/Binding/build.xml
+++ b/frameworks/projects/Binding/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Binding/pom.xml b/frameworks/projects/Binding/pom.xml
index 347c232..8d4e938 100644
--- a/frameworks/projects/Binding/pom.xml
+++ b/frameworks/projects/Binding/pom.xml
@@ -48,6 +48,7 @@
</namespace>
</namespaces>
<includeSources>true</includeSources>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -65,7 +66,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Binding/src/main/config/compile-as-config.xml b/frameworks/projects/Binding/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Binding/src/main/config/compile-as-config.xml
rename to frameworks/projects/Binding/src/main/config/compile-swf-config.xml
index 9f68b12..5436c4e 100644
--- a/frameworks/projects/Binding/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Binding/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Charts/build.xml b/frameworks/projects/Charts/build.xml
index 0f9dae4..464a1d8 100644
--- a/frameworks/projects/Charts/build.xml
+++ b/frameworks/projects/Charts/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Charts/pom.xml b/frameworks/projects/Charts/pom.xml
index 2b4424e..c3f3c59 100644
--- a/frameworks/projects/Charts/pom.xml
+++ b/frameworks/projects/Charts/pom.xml
@@ -56,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -73,7 +74,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -86,7 +87,7 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -99,7 +100,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -112,20 +113,20 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Charts/src/main/config/compile-as-config.xml b/frameworks/projects/Charts/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/Charts/src/main/config/compile-as-config.xml
rename to frameworks/projects/Charts/src/main/config/compile-swf-config.xml
index 465490d..2fcd566 100644
--- a/frameworks/projects/Charts/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Charts/src/main/config/compile-swf-config.xml
@@ -26,15 +26,25 @@
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Collections.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
index fe8830b..157b99b 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/supportClasses/ChartAxisGroup.as
@@ -62,7 +62,7 @@
{
COMPILE::SWF
{
- $sprite.removeChildren(0);
+ removeChildren(0);
}
COMPILE::JS
diff --git a/frameworks/projects/Collections/build.xml b/frameworks/projects/Collections/build.xml
index e24bf0f..9e2d012 100644
--- a/frameworks/projects/Collections/build.xml
+++ b/frameworks/projects/Collections/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Collections/pom.xml b/frameworks/projects/Collections/pom.xml
index f6d6af5..ac18b69 100644
--- a/frameworks/projects/Collections/pom.xml
+++ b/frameworks/projects/Collections/pom.xml
@@ -50,6 +50,7 @@
<includeClasses>
<includeClass>CollectionsClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -67,7 +68,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Collections/src/main/config/compile-as-config.xml b/frameworks/projects/Collections/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Collections/src/main/config/compile-as-config.xml
rename to frameworks/projects/Collections/src/main/config/compile-swf-config.xml
index 282c931..f10ca02 100644
--- a/frameworks/projects/Collections/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Collections/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Core/build.xml b/frameworks/projects/Core/build.xml
index 8f96331..08799ba 100644
--- a/frameworks/projects/Core/build.xml
+++ b/frameworks/projects/Core/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Core/pom.xml b/frameworks/projects/Core/pom.xml
index 01a02c8..0d9e215 100644
--- a/frameworks/projects/Core/pom.xml
+++ b/frameworks/projects/Core/pom.xml
@@ -50,7 +50,7 @@
<includeClasses>
<includeClass>CoreClasses</includeClass>
</includeClasses>
- <skipExtern>false</skipExtern>
+ <skipExtern>true</skipExtern>
<allowSubclassOverrides>true</allowSubclassOverrides>
</configuration>
<!-- As a test, add asdoc generation to the compile step -->
diff --git a/frameworks/projects/Core/src/main/config/compile-as-config.xml b/frameworks/projects/Core/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Core/src/main/config/compile-as-config.xml
rename to frameworks/projects/Core/src/main/config/compile-swf-config.xml
index d3070d7..2fd2612 100644
--- a/frameworks/projects/Core/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Core/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
index da0918f..97e4561 100755
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ILayoutChild.as
@@ -68,6 +68,7 @@
* @productversion FlexJS 0.0
*/
function get explicitWidth():Number;
+ function set explicitWidth(value:Number):void;
/**
* The height of this component
@@ -79,6 +80,7 @@
* @productversion FlexJS 0.0
*/
function get explicitHeight():Number;
+ function set explicitHeight(value:Number):void;
/**
* Sets the height of the component without
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
index 0d2b081..cb8040a 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/EventDispatcher.as
@@ -99,5 +99,10 @@
}
return false;
}
+
+ public function toString():String
+ {
+ return "EventDispatcher";
+ }
}
}
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
index f16efb4..a0259f9 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Timer.as
@@ -129,6 +129,11 @@
public var delay:Number;
public var repeatCount:int;
+ public function running():Boolean
+ {
+ return timerInterval != -1;
+ }
+
private var _currentCount:int = 0;
public function get currentCount():int
diff --git a/frameworks/projects/Core/src/test/flex/build.xml b/frameworks/projects/Core/src/test/flex/build.xml
index a65c2e5..a239218 100644
--- a/frameworks/projects/Core/src/test/flex/build.xml
+++ b/frameworks/projects/Core/src/test/flex/build.xml
@@ -88,7 +88,7 @@
</target>
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<target name="compile" description="Compiles FlexUnitApplication.swf">
diff --git a/frameworks/projects/CreateJS/build.xml b/frameworks/projects/CreateJS/build.xml
index de0a253..e86d19f 100644
--- a/frameworks/projects/CreateJS/build.xml
+++ b/frameworks/projects/CreateJS/build.xml
@@ -74,22 +74,28 @@
<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" />
+ <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/createjs-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/CreateJS/pom.xml b/frameworks/projects/CreateJS/pom.xml
index cd1c3ae..9d32606 100644
--- a/frameworks/projects/CreateJS/pom.xml
+++ b/frameworks/projects/CreateJS/pom.xml
@@ -56,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -73,20 +74,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -99,7 +100,7 @@
<artifactId>Effects</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -112,7 +113,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
diff --git a/frameworks/projects/CreateJS/src/main/config/compile-as-config.xml b/frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/CreateJS/src/main/config/compile-as-config.xml
rename to frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
index b6c6cd3..56ec6e9 100644
--- a/frameworks/projects/CreateJS/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/CreateJS/src/main/config/compile-swf-config.xml
@@ -24,17 +24,27 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
<path-element>../../../../../libs/Effects.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
index ac22fa0..d778020 100644
--- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
+++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
@@ -90,6 +90,7 @@
* @productversion FlexJS 0.0
*/
[Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+
/**
* The Application class is the main class and entry point for a FlexJS
* application. This Application class is different than the
@@ -116,6 +117,56 @@
// does nothing different for SWF side
}
+ /**
+ * Dispatched at startup. Attributes and sub-instances of
+ * the MXML document have been created and assigned.
+ * The component lifecycle is different
+ * than the Flex SDK. There is no creationComplete event.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="initialize", type="org.apache.flex.events.Event")]
+
+ /**
+ * Dispatched at startup before the instances get created.
+ * Beads can call preventDefault and defer initialization.
+ * This event will be dispatched on every frame until no
+ * listeners call preventDefault(), then the initialize()
+ * method will be called.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="preinitialize", type="org.apache.flex.events.Event")]
+
+ /**
+ * Dispatched at startup after the initial view has been
+ * put on the display list. This event is sent before
+ * applicationComplete is dispatched.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="viewChanged", type="org.apache.flex.events.Event")]
+
+ /**
+ * Dispatched at startup after the initial view has been
+ * put on the display list.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="applicationComplete", type="org.apache.flex.events.Event")]
+
COMPILE::JS
public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher
{
diff --git a/frameworks/projects/DragDrop/build.xml b/frameworks/projects/DragDrop/build.xml
index 59bcd35..a847e13 100644
--- a/frameworks/projects/DragDrop/build.xml
+++ b/frameworks/projects/DragDrop/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/DragDrop/pom.xml b/frameworks/projects/DragDrop/pom.xml
index d3a9cff..243c33d 100644
--- a/frameworks/projects/DragDrop/pom.xml
+++ b/frameworks/projects/DragDrop/pom.xml
@@ -50,6 +50,7 @@
<includeClasses>
<includeClass>DragDropClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -67,7 +68,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/DragDrop/src/main/config/compile-as-config.xml b/frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/DragDrop/src/main/config/compile-as-config.xml
rename to frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
index a4892e2..15ecb47 100644
--- a/frameworks/projects/DragDrop/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/DragDrop/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
<mxml>
@@ -33,6 +33,15 @@
<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>
+
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
<keep-as3-metadata>
<name>Bindable</name>
diff --git a/frameworks/projects/Effects/build.xml b/frameworks/projects/Effects/build.xml
index ee591bc..022d0be 100644
--- a/frameworks/projects/Effects/build.xml
+++ b/frameworks/projects/Effects/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Effects/pom.xml b/frameworks/projects/Effects/pom.xml
index 3db961f..2f57db3 100644
--- a/frameworks/projects/Effects/pom.xml
+++ b/frameworks/projects/Effects/pom.xml
@@ -50,6 +50,7 @@
<includeClasses>
<includeClass>EffectsClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -67,20 +68,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Effects/src/main/config/compile-as-config.xml b/frameworks/projects/Effects/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Effects/src/main/config/compile-as-config.xml
rename to frameworks/projects/Effects/src/main/config/compile-swf-config.xml
index 0c35f10..4844133 100644
--- a/frameworks/projects/Effects/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Effects/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
<mxml>
@@ -34,6 +34,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
index a8a719d..0dc4f98 100644
--- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
+++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutChild.as
@@ -74,6 +74,11 @@
return _explicitHeight;
}
+ public function set explicitHeight(value:Number):void
+ {
+ _explicitHeight = value;
+ }
+
public function isHeightSizedToContent():Boolean
{
return _isHeightSizedToContent;
@@ -129,7 +134,11 @@
{
return _explicitWidth;
}
-
+ public function set explicitWidth(value:Number):void
+ {
+ _explicitWidth = value;
+ }
+
public function isWidthSizedToContent():Boolean
{
return _isWidthSizedToContent;
diff --git a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
index 1da2b5a..a07a1d4 100644
--- a/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
+++ b/frameworks/projects/Effects/src/main/flex/org/apache/flex/utils/MockLayoutParent.as
@@ -182,12 +182,20 @@
// TODO Auto Generated method stub
return 0;
}
+ public function set explicitHeight(value:Number):void
+ {
+ // TODO Auto Generated method stub
+ }
public function get explicitWidth():Number
{
// TODO Auto Generated method stub
return 0;
}
+ public function set explicitWidth(value:Number):void
+ {
+ // TODO Auto Generated method stub
+ }
public function isHeightSizedToContent():Boolean
{
diff --git a/frameworks/projects/Express/build.xml b/frameworks/projects/Express/build.xml
index 7c1a4d1..a50eb27 100644
--- a/frameworks/projects/Express/build.xml
+++ b/frameworks/projects/Express/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Express/pom.xml b/frameworks/projects/Express/pom.xml
index a7cb570..52b7b19 100644
--- a/frameworks/projects/Express/pom.xml
+++ b/frameworks/projects/Express/pom.xml
@@ -62,6 +62,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -79,7 +80,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,20 +119,20 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Express/src/main/config/compile-as-config.xml b/frameworks/projects/Express/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Express/src/main/config/compile-as-config.xml
rename to frameworks/projects/Express/src/main/config/compile-swf-config.xml
index fad9844..3402553 100644
--- a/frameworks/projects/Express/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Express/src/main/config/compile-swf-config.xml
@@ -27,9 +27,10 @@
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
<path-element>../../../../../libs/Collections.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -37,6 +38,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
index 286f0eb..38f33f1 100644
--- a/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
+++ b/frameworks/projects/Express/src/main/flex/org/apache/flex/express/TextButton.as
@@ -42,10 +42,12 @@
/**
* Can enable or disable interaction with the control.
*/
+ COMPILE::JS
public function get enabled():Boolean
{
return _enabled;
}
+ COMPILE::JS
public function set enabled(value:Boolean):void
{
_enabled = value;
@@ -62,6 +64,30 @@
dispatchEvent(new Event("enabledChanged"));
}
+ [Bindable("enabledChanged")]
+ /**
+ * Can enable or disable interaction with the control.
+ */
+ COMPILE::SWF
+ override public function get enabled():Boolean
+ {
+ return _enabled;
+ }
+ COMPILE::SWF
+ override public function set enabled(value:Boolean):void
+ {
+ _enabled = value;
+
+ if (_disableBead == null) {
+ _disableBead = new DisableBead();
+ addBead(_disableBead);
+ }
+
+ _disableBead.disabled = !value;
+
+ dispatchEvent(new Event("enabledChanged"));
+ }
+
[Bindable("toolTipChanged")]
/**
* Displays a hint when the mouse hovers over the button
diff --git a/frameworks/projects/Express/src/main/resources/express-manifest.xml b/frameworks/projects/Express/src/main/resources/express-manifest.xml
index 9ea226e..63551e2 100644
--- a/frameworks/projects/Express/src/main/resources/express-manifest.xml
+++ b/frameworks/projects/Express/src/main/resources/express-manifest.xml
@@ -61,7 +61,9 @@
<component id="ToolTip" class="org.apache.flex.html.ToolTip" lookupOnly="true" />
<component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout" lookupOnly="true" />
<component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout" lookupOnly="true" />
+ <component id="VerticalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.VerticalLayoutWithPaddingAndGap" lookupOnly="true" />
<component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout" lookupOnly="true" />
+ <component id="HorizontalLayoutWithPaddingAndGap" class="org.apache.flex.html.beads.layouts.HorizontalLayoutWithPaddingAndGap" lookupOnly="true" />
<component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout" lookupOnly="true" />
<component id="ListView" class="org.apache.flex.html.beads.ListView" lookupOnly="true" />
<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView" lookupOnly="true" />
diff --git a/frameworks/projects/Flat/build.xml b/frameworks/projects/Flat/build.xml
index 3c9e5da..f518a2d 100644
--- a/frameworks/projects/Flat/build.xml
+++ b/frameworks/projects/Flat/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Flat/pom.xml b/frameworks/projects/Flat/pom.xml
index 36f8fee..27013f0 100644
--- a/frameworks/projects/Flat/pom.xml
+++ b/frameworks/projects/Flat/pom.xml
@@ -62,6 +62,7 @@
</include-file>
</includeFiles>
<includeLookupOnly>true</includeLookupOnly>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -79,7 +80,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -101,16 +102,16 @@
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Flat/src/main/config/compile-as-config.xml b/frameworks/projects/Flat/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Flat/src/main/config/compile-as-config.xml
rename to frameworks/projects/Flat/src/main/config/compile-swf-config.xml
index 8ee2592..2a2ff97 100644
--- a/frameworks/projects/Flat/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Flat/src/main/config/compile-swf-config.xml
@@ -26,9 +26,10 @@
<path-element>../../../../../libs/Binding.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -36,6 +37,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
index 2d09772..497ea48 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/CheckBox.as
@@ -55,6 +55,20 @@
}
}
+ //--------------------------------------
+ // 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")]
+
COMPILE::JS
public class CheckBox extends UIBase
{
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
index 1e4b3c7..b1c6a9e 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/DropDownList.as
@@ -61,6 +61,20 @@
}
}
+ //--------------------------------------
+ // 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")]
+
COMPILE::JS
public class DropDownList extends ListBase
{
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
index 9fe9d1b..e4bb322 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/RadioButton.as
@@ -54,6 +54,20 @@
}
}
+ //--------------------------------------
+ // Events
+ //--------------------------------------
+
+ /**
+ * Dispatched when the user selects a RadioButton.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="change", type="org.apache.flex.events.Event")]
+
COMPILE::JS
public class RadioButton extends UIBase
{
diff --git a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
index e37a3b3..4b88ecd 100644
--- a/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
+++ b/frameworks/projects/Flat/src/main/flex/org/apache/flex/flat/beads/DropDownListView.as
@@ -136,10 +136,10 @@
shape.graphics.beginFill(0xCCCCCC);
shape.graphics.drawRect(0, 0, 10, 10);
shape.graphics.endFill();
- b.$button.upState = upSprite;
- b.$button.downState = downSprite;
- b.$button.overState = overSprite;
- b.$button.hitTestState = shape;
+ b.upState = upSprite;
+ b.downState = downSprite;
+ b.overState = overSprite;
+ b.hitTestState = shape;
if (selectionModel.selectedIndex !== -1)
selectionChangeHandler(null);
else
diff --git a/frameworks/projects/FontAwesome/build.xml b/frameworks/projects/FontAwesome/build.xml
index de271c7..c247547 100644
--- a/frameworks/projects/FontAwesome/build.xml
+++ b/frameworks/projects/FontAwesome/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/FontAwesome/pom.xml b/frameworks/projects/FontAwesome/pom.xml
index 6e06992..9c4d3f2 100644
--- a/frameworks/projects/FontAwesome/pom.xml
+++ b/frameworks/projects/FontAwesome/pom.xml
@@ -62,6 +62,7 @@
</include-file>
</includeFiles>
<includeLookupOnly>true</includeLookupOnly>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -79,7 +80,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,20 +119,20 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml b/frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml
rename to frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
index a8aafa8..90a2d34 100644
--- a/frameworks/projects/FontAwesome/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/FontAwesome/src/main/config/compile-swf-config.xml
@@ -26,9 +26,10 @@
<path-element>../../../../../libs/Binding.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -36,6 +37,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as b/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
index d171573..5fd8192 100644
--- a/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
+++ b/frameworks/projects/FontAwesome/src/main/flex/org/apache/flex/fa/FontAwesomeIcon.as
@@ -198,11 +198,13 @@
* @productversion FlexJS 0.0
*
*/
+ COMPILE::JS
public function get rotation():String
{
return _rotation;
}
+ COMPILE::JS
public function set rotation(value:String):void
{
COMPILE::JS
diff --git a/frameworks/projects/Formatters/build.xml b/frameworks/projects/Formatters/build.xml
index dfaf8ec..3dc7d75 100644
--- a/frameworks/projects/Formatters/build.xml
+++ b/frameworks/projects/Formatters/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Formatters/pom.xml b/frameworks/projects/Formatters/pom.xml
index 8fd94d0..8c1863b 100644
--- a/frameworks/projects/Formatters/pom.xml
+++ b/frameworks/projects/Formatters/pom.xml
@@ -50,6 +50,7 @@
<includeClasses>
<includeClass>FormattersClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -67,20 +68,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Formatters/src/main/config/compile-as-config.xml b/frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Formatters/src/main/config/compile-as-config.xml
rename to frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
index f1b67ad..13f8d14 100644
--- a/frameworks/projects/Formatters/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Formatters/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
<mxml>
@@ -34,6 +34,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/GoogleMaps/build.xml b/frameworks/projects/GoogleMaps/build.xml
index dbfd669..0bddb63 100644
--- a/frameworks/projects/GoogleMaps/build.xml
+++ b/frameworks/projects/GoogleMaps/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/GoogleMaps/pom.xml b/frameworks/projects/GoogleMaps/pom.xml
index 71e6134..3a013d9 100644
--- a/frameworks/projects/GoogleMaps/pom.xml
+++ b/frameworks/projects/GoogleMaps/pom.xml
@@ -57,6 +57,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -74,20 +75,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
diff --git a/frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml b/frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
similarity index 88%
rename from frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml
rename to frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
index 4d1d74a..dc8546e 100644
--- a/frameworks/projects/GoogleMaps/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/GoogleMaps/src/main/config/compile-swf-config.xml
@@ -24,9 +24,10 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -34,6 +35,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
index f64e909..437716e 100644
--- a/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
+++ b/frameworks/projects/GoogleMaps/src/main/flex/org/apache/flex/maps/google/beads/GoogleMapView.as
@@ -453,7 +453,7 @@
model.addEventListener("zoomChanged", handleZoomChange);
model.addEventListener("currentLocationChanged", handleCurrentLocationChange);
- (_strand as UIBase).$sprite.addChild(_loader);
+ (_strand as UIBase).addChild(_loader);
var token:String = GoogleMap(_strand).token;
if (token)
diff --git a/frameworks/projects/Graphics/build.xml b/frameworks/projects/Graphics/build.xml
index 01cbeb5..08dd3bb 100644
--- a/frameworks/projects/Graphics/build.xml
+++ b/frameworks/projects/Graphics/build.xml
@@ -74,23 +74,29 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
<arg value="-compiler.byte-array-embed-class=org.apache.flex.core.ByteArrayAsset" />
- </compc>
- <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -114,4 +120,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Graphics/pom.xml b/frameworks/projects/Graphics/pom.xml
index 4c89405..912d678 100644
--- a/frameworks/projects/Graphics/pom.xml
+++ b/frameworks/projects/Graphics/pom.xml
@@ -109,6 +109,7 @@
<includeClasses>
<includeClass>GraphicsClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
<additionalCompilerOptions>-compiler.byte-array-embed-class=org.apache.flex.core.ByteArrayAsset</additionalCompilerOptions>
</configuration>
</plugin>
@@ -127,7 +128,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Graphics/src/main/config/compile-as-config.xml b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Graphics/src/main/config/compile-as-config.xml
rename to frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
index e665c96..fdbf2a6 100644
--- a/frameworks/projects/Graphics/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Graphics/src/main/config/compile-swf-config.xml
@@ -34,6 +34,15 @@
<binding-value-change-event-type>valueChange</binding-value-change-event-type>
<byte-array-embed-class>org.apache.flex.core.ByteArrayAsset</byte-array-embed-class>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/HTML/build.xml b/frameworks/projects/HTML/build.xml
index 5ee6dd8..8d018f0 100644
--- a/frameworks/projects/HTML/build.xml
+++ b/frameworks/projects/HTML/build.xml
@@ -49,7 +49,7 @@
</target>
<target name="test" depends="check-for-tests" unless="skip-tests">
- <ant dir="src/test/flex" />
+ <!--<ant dir="src/test/flex" />-->
</target>
<target name="clean">
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/HTML/pom.xml b/frameworks/projects/HTML/pom.xml
index 5eab490..0c48e3d 100644
--- a/frameworks/projects/HTML/pom.xml
+++ b/frameworks/projects/HTML/pom.xml
@@ -46,15 +46,6 @@
<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>HTMLClasses</includeClass>
@@ -65,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -82,7 +74,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -95,7 +87,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -108,7 +100,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -121,7 +113,20 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/HTML/src/main/config/compile-as-config.xml b/frameworks/projects/HTML/src/main/config/compile-as-config.xml
deleted file mode 100644
index 7b1c242..0000000
--- a/frameworks/projects/HTML/src/main/config/compile-as-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>
- <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>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>
diff --git a/frameworks/projects/Charts/src/main/config/compile-as-config.xml b/frameworks/projects/HTML/src/main/config/compile-swf-config.xml
similarity index 84%
copy from frameworks/projects/Charts/src/main/config/compile-as-config.xml
copy to frameworks/projects/HTML/src/main/config/compile-swf-config.xml
index 465490d..1e80ecd 100644
--- a/frameworks/projects/Charts/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/HTML/src/main/config/compile-swf-config.xml
@@ -23,12 +23,14 @@
<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/Collections.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Collections.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -36,6 +38,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
@@ -62,13 +73,8 @@
<warn-no-constructor>false</warn-no-constructor>
</compiler>
- <include-file>
- <name>defaults.css</name>
- <path>../resources/defaults.css</path>
- </include-file>
-
<include-classes>
- <class>ChartsClasses</class>
+ <class>HTMLClasses</class>
</include-classes>
<include-namespaces>
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
index 38fae24..0cf5594 100644
--- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -26,211 +26,8 @@
* 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.beads.DispatchInputFinishedBead; DispatchInputFinishedBead;
- 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;
- import org.apache.flex.html.beads.GroupView; GroupView;
- 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; org.apache.flex.html.beads.ImageView;
- import org.apache.flex.html.beads.BinaryImageLoader; BinaryImageLoader;
- import org.apache.flex.html.beads.models.BinaryImageModel; BinaryImageModel;
- 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;
- import org.apache.flex.html.supportClasses.PanelLayoutProxy; PanelLayoutProxy;
- import org.apache.flex.html.beads.PanelWithControlBarView; PanelWithControlBarView;
- import org.apache.flex.html.beads.AccordionItemRendererView; AccordionItemRendererView;
- import org.apache.flex.html.beads.SliderView; SliderView;
- COMPILE::SWF
- {
- 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.SliderThumbView; SliderThumbView;
- import org.apache.flex.html.beads.SliderTrackView; SliderTrackView;
- import org.apache.flex.html.beads.SimpleAlertView; SimpleAlertView;
- import org.apache.flex.html.beads.SingleLineBorderBead; SingleLineBorderBead;
- import org.apache.flex.html.beads.SingleLineBorderWithChangeListenerBead; SingleLineBorderWithChangeListenerBead;
- }
- import org.apache.flex.html.beads.SpinnerView; SpinnerView;
- COMPILE::SWF
- {
- import org.apache.flex.html.beads.SolidBackgroundBead; SolidBackgroundBead;
- import org.apache.flex.html.beads.SolidBackgroundWithChangeListenerBead; SolidBackgroundWithChangeListenerBead;
- 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.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;
- 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.DropDownListController; DropDownListController;
- import org.apache.flex.html.beads.controllers.EditableTextKeyboardController; EditableTextKeyboardController;
- }
- import org.apache.flex.html.beads.controllers.ComboBoxController; ComboBoxController;
- import org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController; AccordionItemRendererMouseController;
- 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;
- import org.apache.flex.html.beads.controllers.SliderMouseController; SliderMouseController;
- COMPILE::SWF
- {
- 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.VerticalFlexLayout; VerticalFlexLayout;
- import org.apache.flex.html.beads.layouts.HorizontalLayout; HorizontalLayout;
- import org.apache.flex.html.beads.layouts.HorizontalFlexLayout; HorizontalFlexLayout;
- 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.supportClasses.ContainerContentArea; ContainerContentArea;
- }
- 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.TextButtonItemRenderer; TextButtonItemRenderer;
-
- 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.DataGridPercentageView; DataGridPercentageView;
- 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.DateItemRenderer; DateItemRenderer;
- import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
- import org.apache.flex.html.supportClasses.DateChooserList; DateChooserList;
-
- 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;
-
- import org.apache.flex.core.ListBase; ListBase;
- import org.apache.flex.core.FilledRectangle; FilledRectangle;
- import org.apache.flex.core.UIBase; UIBase;
- import org.apache.flex.core.SimpleApplication; SimpleApplication;
- import org.apache.flex.svg.GraphicContainer; GraphicContainer;
- import org.apache.flex.svg.DOMWrapper; DOMWrapper;
-
- import org.apache.flex.svg.GraphicShape; GraphicShape;
- import org.apache.flex.svg.Rect; Rect;
- import org.apache.flex.svg.Ellipse; Ellipse;
- import org.apache.flex.svg.Circle; Circle;
- import org.apache.flex.svg.Image; Image;
- import org.apache.flex.svg.BinaryImage; BinaryImage;
- import org.apache.flex.svg.beads.ImageView; org.apache.flex.svg.beads.ImageView;
- import org.apache.flex.svg.Path; Path;
- import org.apache.flex.svg.Text; Text;
- import org.apache.flex.svg.CompoundGraphic; CompoundGraphic;
-
- import org.apache.flex.html.beads.models.DataProviderModel; DataProviderModel;
- import org.apache.flex.html.beads.DataContainerView; DataContainerView;
-
- 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;
- }
-
- import org.apache.flex.html.SubAppLoader; SubAppLoader;
-
- import org.apache.flex.html.Table; Table;
- import org.apache.flex.html.TableRow; TableRow;
- import org.apache.flex.html.TableCell; TableCell;
- import org.apache.flex.html.TableHeader; TableHeader;
- import org.apache.flex.html.beads.TableCellView; TableCellView;
- import org.apache.flex.html.beads.layouts.SimpleTableLayout; SimpleTableLayout;
- import org.apache.flex.html.beads.layouts.TableCellLayout; TableCellLayout;
- import org.apache.flex.html.beads.layouts.TableHeaderLayout; TableHeaderLayout;
}
}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
deleted file mode 100644
index da34bc0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/Application.as
+++ /dev/null
@@ -1,592 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-
-
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.MXMLDataInterpreter;
- import org.apache.flex.utils.Timer;
-
- COMPILE::SWF {
- import flash.display.Stage;
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.Event;
- import org.apache.flex.events.utils.MouseEventConverter;
- }
-
- //--------------------------------------
- // Events
- //--------------------------------------
-
- /**
- * Dispatched at startup. Attributes and sub-instances of
- * the MXML document have been created and assigned.
- * The component lifecycle is different
- * than the Flex SDK. There is no creationComplete event.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="initialize", type="org.apache.flex.events.Event")]
-
- /**
- * Dispatched at startup before the instances get created.
- * Beads can call preventDefault and defer initialization.
- * This event will be dispatched on every frame until no
- * listeners call preventDefault(), then the initialize()
- * method will be called.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="preinitialize", type="org.apache.flex.events.Event")]
-
- /**
- * Dispatched at startup after the initial view has been
- * put on the display list. This event is sent before
- * applicationComplete is dispatched.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="viewChanged", type="org.apache.flex.events.Event")]
-
- /**
- * Dispatched at startup after the initial view has been
- * put on the display list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="applicationComplete", type="org.apache.flex.events.Event")]
-
- /**
- * A SWF application must be bootstrapped by a Flash Sprite.
- * The factory class is the default bootstrap.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- [Frame(factoryClass="org.apache.flex.core.ApplicationFactory")]
-
- /**
- * The Application class is the main class and entry point for a FlexJS
- * application. This Application class is different than the
- * Flex SDK's mx:Application or spark:Application in that it does not contain
- * user interface elements. Those UI elements go in the views (ViewBase). This
- * Application class expects there to be a main model, a controller, and
- * an initial view.
- *
- * @toplevel
- * @see ViewBase
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Application extends ApplicationBase implements IInitialViewApplication, IStrand, IParent, IEventDispatcher, ISWFApplication, IPopUpHost, IRenderedObject
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Application()
- {
- super();
- }
-
- /**
- * Application wraps the root object.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function setRoot(r:WrappedMovieClip):void
- {
- element = r;
- element.flexjs_wrapper = this;
- MouseEventConverter.setupAllConverters(r.stage);
- MouseEventConverter.setupAllConverters(r.stage, false);
- initHandler();
- }
-
- COMPILE::SWF
- private function initHandler():void
- {
- if (model is IBead) addBead(model as IBead);
- if (controller is IBead) addBead(controller as IBead);
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-
- if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
- initialize();
- else
- addEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
-
- }
-
- COMPILE::SWF
- private function enterFrameHandler(event:flash.events.Event):void
- {
- if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
- {
- removeEventListener(flash.events.Event.ENTER_FRAME, enterFrameHandler);
- initialize();
- }
- }
-
- /**
- * This method gets called when all preinitialize handlers
- * no longer call preventDefault();
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IBead
- */
- protected function initialize():void
- {
- MXMLDataInterpreter.generateMXMLInstances(this, null, MXMLDescriptor);
-
- dispatchEvent(new org.apache.flex.events.Event("initialize"));
-
- if (initialView)
- {
- initialView.applicationModel = model;
- this.addElement(initialView);
-
- COMPILE::SWF
- {
- // if someone has installed a resize listener, fake an event to run it now
- if ($displayObject.stage.hasEventListener("resize"))
- $displayObject.stage.dispatchEvent(new flash.events.Event("resize"));
- else if (initialView is ILayoutChild)
- {
- var ilc:ILayoutChild = initialView as ILayoutChild;
- // otherwise, size once like this
- if (!isNaN(ilc.percentWidth) && !isNaN(ilc.percentHeight))
- ilc.setWidthAndHeight($displayObject.stage.stageWidth, $displayObject.stage.stageHeight, true);
- else if (!isNaN(ilc.percentWidth))
- ilc.setWidth($displayObject.stage.stageWidth);
- else if (!isNaN(ilc.percentHeight))
- ilc.setHeight($displayObject.stage.stageHeight);
- }
- }
- COMPILE::JS
- {
- var baseView:UIBase = initialView as UIBase;
- if (!isNaN(baseView.percentWidth) || !isNaN(baseView.percentHeight)) {
- this.element.style.height = window.innerHeight + 'px';
- this.element.style.width = window.innerWidth + 'px';
- this.initialView.dispatchEvent('sizeChanged'); // kick off layout if % sizes
- }
- }
- COMPILE::SWF
- {
- var bgColor:Object = ValuesManager.valuesImpl.getValue(this, "background-color");
- if (bgColor != null)
- {
- var backgroundColor:uint = ValuesManager.valuesImpl.convertColor(bgColor);
- var graphics:Graphics = Sprite($displayObject).graphics;
- graphics.beginFill(backgroundColor);
- graphics.drawRect(0, 0, initialView.width, initialView.height);
- graphics.endFill();
- }
- }
- dispatchEvent(new org.apache.flex.events.Event("viewChanged"));
- }
- dispatchEvent(new org.apache.flex.events.Event("applicationComplete"));
- }
-
- /**
- * The org.apache.flex.core.IValuesImpl that will
- * determine the default values and other values
- * for the application. The most common choice
- * is org.apache.flex.core.SimpleCSSValuesImpl.
- *
- * @see org.apache.flex.core.SimpleCSSValuesImpl
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set valuesImpl(value:IValuesImpl):void
- {
- ValuesManager.valuesImpl = value;
- ValuesManager.valuesImpl.init(this);
- }
-
- private var _initialView:IApplicationView;
-
- /**
- * The controller. The controller typically watches
- * the UI for events and updates the model accordingly.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var controller:Object;
-
- /**
- * An array of data that describes the MXML attributes
- * and tags in an MXML document. This data is usually
- * decoded by an MXMLDataInterpreter
- *
- * @see org.apache.flex.utils.MXMLDataInterpreter
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get MXMLDescriptor():Array
- {
- return null;
- }
-
- /**
- * An method called by the compiler's generated
- * code to kick off the setting of MXML attribute
- * values and instantiation of child tags.
- *
- * The call has to be made in the generated code
- * in order to ensure that the constructors have
- * completed first.
- *
- * @param data The encoded data representing the
- * MXML attributes.
- *
- * @see org.apache.flex.utils.MXMLDataInterpreter
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function generateMXMLAttributes(data:Array):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, data);
- }
-
- /**
- * The array property that is used to add additional
- * beads to an MXML tag. From ActionScript, just
- * call addBead directly.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var beads:Array;
-
- private var _elements:Array;
-
- /**
- * @copy org.apache.flex.core.IParent#addElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IUIBase
- * @flexjsignorecoercion HTMLElement
- */
- public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements == null)
- _elements = [];
- _elements[_elements.length] = c;
- $displayObjectContainer.addChild(c.$displayObject);
- if (c is IUIBase)
- {
- IUIBase(c).addedToParent();
- }
- }
- COMPILE::JS {
- this.element.appendChild(c.element as HTMLElement);
- (c as IUIBase).addedToParent();
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#addElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IUIBase
- */
- public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements == null)
- _elements = [];
- _elements.splice(index,0,c);
-
- $displayObjectContainer.addChildAt(c.$displayObject,index);
-
- if (c is IUIBase)
- {
- IUIBase(c).addedToParent();
- }
- }
- COMPILE::JS {
- var children:NodeList = internalChildren();
- if (index >= children.length)
- addElement(c);
- else
- {
- element.insertBefore(c.positioner,
- children[index]);
- (c as IUIBase).addedToParent();
- }
-
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getElementAt(index:int):IChild
- {
- COMPILE::SWF
- {
- if(_elements == null)
- return null;
- return _elements[index];
- }
- COMPILE::JS
- {
- var children:NodeList = internalChildren();
- return children[index].flexjs_wrapper;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementIndex()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getElementIndex(c:IChild):int
- {
- COMPILE::SWF
- {
- if(_elements == null)
- return -1;
- return _elements.indexOf(c);
- }
- COMPILE::JS {
- var children:NodeList = internalChildren();
- var n:int = children.length;
- for (var i:int = 0; i < n; i++)
- {
- if (children[i] == c.element)
- return i;
- }
- return -1;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#removeElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLElement
- */
- public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements)
- {
- var idx:int = _elements.indexOf(c);
- if(idx>=0)
- _elements.splice(idx,1);
- }
- $displayObjectContainer.removeChild(c.$displayObject as DisplayObject);
- }
- COMPILE::JS
- {
- element.removeChild(c.element as HTMLElement);
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#numElements
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get numElements():int
- {
- COMPILE::SWF
- {
- return _elements ? _elements.length : 0;
- }
- COMPILE::JS
- {
- var children:NodeList = internalChildren();
- return children.length;
- }
- }
-
- /**
- * @return {Object} The array of children.
- */
- COMPILE::JS
- protected function internalChildren():NodeList
- {
- return element.childNodes;
- };
-
- COMPILE::JS
- protected var startupTimer:Timer;
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.IBead
- */
- COMPILE::JS
- public function start():void
- {
- element = document.getElementsByTagName('body')[0];
- element.flexjs_wrapper = this;
- element.className = 'Application';
- positioner = element;
-
- if (model is IBead) addBead(model as IBead);
- if (controller is IBead) addBead(controller as IBead);
-
- for (var index:int in beads) {
- addBead(beads[index]);
- }
-
- dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-
- if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
- initialize();
- else {
- startupTimer = new Timer(34, 0);
- startupTimer.addEventListener("timer", handleStartupTimer);
- startupTimer.start();
- }
- }
-
- /**
- * @private
- */
- COMPILE::JS
- protected function handleStartupTimer(event:Event):void
- {
- if (dispatchEvent(new org.apache.flex.events.Event("preinitialize", false, true)))
- {
- startupTimer.stop();
- initialize();
- }
- }
-
- /**
- * The initial view.
- *
- * @see org.apache.flex.core.ViewBase
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get initialView():IApplicationView
- {
- return _initialView;
- }
-
- public function set initialView(value:IApplicationView):void
- {
- _initialView = value;
- }
-
- COMPILE::SWF
- public function get stage():Stage
- {
- return $displayObject.stage;
- }
-
- COMPILE::SWF
- override public function set width(value:Number):void
- {
- // just eat this.
- // The stageWidth will be set by SWF metadata.
- // Setting this directly doesn't do anything
- }
-
- COMPILE::SWF
- override public function set height(value:Number):void
- {
- // just eat this.
- // The stageWidth will be set by SWF metadata.
- // Setting this directly doesn't do anything
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as
deleted file mode 100644
index 0fe63ba..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ApplicationBase.as
+++ /dev/null
@@ -1,109 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- COMPILE::SWF {
- import flash.system.ApplicationDomain;
- import flash.utils.getQualifiedClassName;
- }
-
- /**
- * This is a platform-dependent base class
- * for Application
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class ApplicationBase extends UIHTMLElementWrapper implements IFlexInfo
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ApplicationBase()
- {
- super();
- }
-
- private var _info:Object;
-
- /**
- * An Object containing information generated
- * by the compiler that is useful at startup time.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function info():Object
- {
- if (!_info)
- {
- var mainClassName:String = getQualifiedClassName(this);
- var initClassName:String = "_" + mainClassName + "_FlexInit";
- var c:Class = ApplicationDomain.currentDomain.getDefinition(initClassName) as Class;
- _info = c.info();
- }
- return _info;
- }
- }
-
- COMPILE::JS
- public class ApplicationBase extends UIHTMLElementWrapper implements IFlexInfo
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ApplicationBase()
- {
- super();
- }
-
- private var _info:Object;
-
- /**
- * An Object containing information generated
- * by the compiler that is useful at startup time.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function info():Object
- {
- return _info;
- }
-
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
deleted file mode 100644
index 0dcb0e3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
+++ /dev/null
@@ -1,241 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.ValueChangeEvent;
-
- /**
- * Indicates that the state change has completed. All properties
- * that need to change have been changed, and all transitinos
- * that need to run have completed. However, any deferred work
- * may not be completed, and the screen may not be updated until
- * code stops executing.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="stateChangeComplete", type="org.apache.flex.events.Event")]
-
- /**
- * Indicates that the initialization of the container is complete.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="initComplete", type="org.apache.flex.events.Event")]
-
- /**
- * Indicates that the children of the container is have been added.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="childrenAdded", type="org.apache.flex.events.Event")]
-
- /**
- * The ContainerBase class is the base class for most containers
- * in FlexJS. It is usable as the root tag of MXML
- * documents and UI controls and containers are added to it.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ContainerBase extends GroupBase implements IStrandPrivate
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ContainerBase()
- {
- super();
- }
-
- private var _strandChildren:ContainerBaseStrandChildren;
-
- /**
- * @private
- */
- override public function get strandChildren():IParent
- {
- if (_strandChildren == null) {
- _strandChildren = new ContainerBaseStrandChildren(this);
- }
- return _strandChildren;
- }
-
- /*
- * The following functions are for the SWF-side only and re-direct element functions
- * to the content area, enabling scrolling and clipping which are provided automatically
- * in the JS-side.
- */
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- contentView.addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- contentView.addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function getElementIndex(c:IChild):int
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- return contentView.getElementIndex(c);
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- contentView.removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function get numElements():int
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- return contentView.numElements;
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function getElementAt(index:int):IChild
- {
- var layoutHost:ILayoutHost = view as ILayoutHost;
- var contentView:IParent = layoutHost.contentView as IParent;
- return contentView.getElementAt(index);
- }
-
- /*
- * IStrandPrivate
- *
- * These "internal" function provide a backdoor way for proxy classes to
- * operate directly at strand level. While these function are available on
- * both SWF and JS platforms, they really only have meaning on the SWF-side.
- * Other subclasses may provide use on the JS-side.
- *
- * @see org.apache.flex.core.IContainer#strandChildren
- */
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $numElements():int
- {
- return super.numElements;
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- super.addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $getElementIndex(c:IChild):int
- {
- return super.getElementIndex(c);
- }
-
- /**
- * @private
- * @suppress {undefinedNames}
- * Support strandChildren.
- */
- public function $getElementAt(index:int):IChild
- {
- return super.getElementAt(index);
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
deleted file mode 100644
index d831004..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBaseStrandChildren.as
+++ /dev/null
@@ -1,99 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- /**
- * The ContainerBaseStrandChildren class the provides a way for advanced
- * components to place children directly into the strand unlike the
- * addElement() APIs on the Container which place children into the contentView.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ContainerBaseStrandChildren implements IParent
- {
- /**
- * Constructor.
- *
- * @flexjsignorecoercion org.apache.flex.core.ContainerBase
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ContainerBaseStrandChildren(owner:IParent)
- {
- super();
-
- this.owner = owner as IStrandPrivate;
- }
-
- public var owner:IStrandPrivate;
-
- /**
- * @private
- */
- public function get numElements():int
- {
- return owner.$numElements();
- }
-
- /**
- * @private
- */
- public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- owner.$addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- owner.$addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- owner.$removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function getElementIndex(c:IChild):int
- {
- return owner.$getElementIndex(c);
- }
-
- /**
- * @private
- */
- public function getElementAt(index:int):IChild
- {
- return owner.$getElementAt(index);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as
deleted file mode 100644
index 5888a94..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/FilledRectangle.as
+++ /dev/null
@@ -1,125 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- COMPILE::SWF
- {
- import flash.display.Shape;
- }
-
- import org.apache.flex.core.UIBase;
-
- /**
- * The FilledRectangle class draws a simple filled
- * rectangle without a border and with square corners.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class FilledRectangle extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function FilledRectangle()
- {
- super();
-
- COMPILE::SWF
- {
- _shape = new flash.display.Shape();
- $displayObjectContainer.addChild(_shape);
- }
- }
-
- COMPILE::SWF
- private var _shape:flash.display.Shape;
-
- private var _fillColor:uint = 0x000000;
-
- /**
- * The color of the rectangle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get fillColor():uint
- {
- return _fillColor;
- }
-
- /**
- * @private
- */
- public function set fillColor(value:uint):void
- {
- _fillColor = value;
- }
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- super.addedToParent();
- drawRect(0, 0, this.width, this.height);
- }
-
- /**
- * Draw the rectangle.
- * @param x The x position of the top-left corner of the rectangle.
- * @param y The y position of the top-left corner.
- * @param width The width of the rectangle.
- * @param height The height of the rectangle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function drawRect(x:Number, y:Number, width:Number, height:Number):void
- {
- COMPILE::SWF
- {
- _shape.graphics.clear();
- _shape.graphics.beginFill(_fillColor);
- _shape.graphics.drawRect(x, y, width, height);
- _shape.graphics.endFill();
- }
- COMPILE::JS
- {
- element.style.position = 'absolute';
- element.style.backgroundColor = '#' + _fillColor.toString(16);
- if (!isNaN(x)) this.x = x;
- if (!isNaN(y)) this.y = y;
- if (!isNaN(width)) this.width = width;
- if (!isNaN(height)) this.height = height;
- }
- }
- }
-}
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
deleted file mode 100644
index 5e9768e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/IScrollingLayoutParent.as
+++ /dev/null
@@ -1,68 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as
deleted file mode 100644
index a7d135a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ImageBase.as
+++ /dev/null
@@ -1,84 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- import org.apache.flex.core.IImage;
- import org.apache.flex.core.IImageModel;
- import org.apache.flex.core.UIBase;
-
- /**
- * The ImageBase class serves as a base class for components that displays a bitmap. The Image uses
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model for the Image, including the url/binary property.
- * org.apache.flex.core.IBeadView: constructs the visual elements of the component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageBase extends UIBase implements IImage
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageBase()
- {
- super();
- }
-
- /**
- * The location of the bitmap, usually a URL.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IImageModel
- */
- public function get src():String
- {
- return (model as IImageModel).url;
- }
- public function set src(value:String):void
- {
- (model as IImageModel).url = value;
- }
-
- COMPILE::JS
- public function get imageElement():Element
- {
- return null;
- // override this
- }
-
- COMPILE::JS
- public function applyImageData(binaryDataAsString:String):void
- {
- // override this
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as
deleted file mode 100644
index b1748f9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ListBaseStrandChildren.as
+++ /dev/null
@@ -1,100 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
-
-
- /**
- * The ListBaseStrandChildren exists so that Lists are compatible with
- * the ListView/ContainerView beads.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ListBaseStrandChildren implements IParent
- {
- /**
- * Constructor.
- *
- * @flexjsignorecoercion org.apache.flex.core.ListBase
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ListBaseStrandChildren(owner:IParent)
- {
- super();
-
- this.owner = owner as ListBase;
- }
-
- public var owner:ListBase;
-
- /**
- * @private
- */
- public function get numElements():int
- {
- return owner.$numElements();
- }
-
- /**
- * @private
- */
- public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- owner.$addElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- owner.$addElementAt(c, index, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- owner.$removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- */
- public function getElementIndex(c:IChild):int
- {
- return owner.$getElementIndex(c);
- }
-
- /**
- * @private
- */
- public function getElementAt(index:int):IChild
- {
- return owner.$getElementAt(index);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as
deleted file mode 100644
index 7198323..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/SimpleApplication.as
+++ /dev/null
@@ -1,104 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- COMPILE::SWF
- {
- import flash.display.DisplayObject;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageQuality;
- import flash.display.StageScaleMode;
- import flash.events.Event;
- import flash.system.ApplicationDomain;
- import flash.utils.getQualifiedClassName;
- }
-
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- COMPILE::SWF {
- import org.apache.flex.events.utils.MouseEventConverter;
- }
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- /**
- * A SWF application must be bootstrapped by a Flash Sprite.
- * The factory class is the default bootstrap.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- [Frame(factoryClass="org.apache.flex.core.ApplicationFactory")]
-
- /**
- * The SimpleApplication class can be used as the main class and entry point
- * for low-level ActionScript-only FlexJS
- * applications. It is not indended for use in MXML applications or most
- * of the FlexJS components as they expect a certain application lifecycle
- * in the org.apache.flex.core.Application class.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SimpleApplication extends ApplicationBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SimpleApplication()
- {
- super();
- }
-
- COMPILE::SWF
- public function setRoot(r:WrappedMovieClip):void
- {
- element = r;
- start();
- }
-
- /**
- * The entry point. Override this and put all of your code in here.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function start():void
- {
- COMPILE::JS
- {
- this.element = document.getElementsByTagName('body')[0];
- this.element.flexjs_wrapper = this;
- this.element.className = 'SimpleApplication';
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
deleted file mode 100644
index ad4f999..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIBase.as
+++ /dev/null
@@ -1,1415 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- COMPILE::SWF
- {
- import flash.display.DisplayObject;
- import flash.display.Sprite;
- import flash.display.Stage;
- }
-
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.ValueChangeEvent;
- COMPILE::SWF {
- import flash.display.InteractiveObject;
- import org.apache.flex.events.utils.MouseEventConverter;
- }
- import org.apache.flex.utils.StringUtil;
-
- /**
- * Set a different class for click events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for rollOver events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="rollOver", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for rollOut events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="rollOut", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for mouseDown events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="mouseDown", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for mouseUp events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="mouseUp", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for mouseMove events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="mouseMove", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for mouseOut events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="mouseOut", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * Set a different class for mouseOver events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="mouseOver", type="org.apache.flex.events.MouseEvent")]
-
- /**
- * The UIBase class is the base class for most composite user interface
- * components. For the Flash Player, Buttons and Text controls may
- * have a different base class and therefore may not extend UIBase.
- * However all user interface components should implement IUIBase.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class UIBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IParentIUIBase, IStyleableObject, ILayoutChild, ITransformHost
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function UIBase()
- {
- super();
-
- createElement();
-
- COMPILE::SWF
- {
- MouseEventConverter.setupInstanceConverters(this);
- }
- }
-
- COMPILE::SWF
- public function get $sprite():Sprite
- {
- return $displayObject as Sprite;
- }
-
- private var _explicitWidth:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitWidth():Number
- {
- return _explicitWidth;
- }
-
- /**
- * @private
- */
- public function set explicitWidth(value:Number):void
- {
- if (_explicitWidth == value)
- return;
-
- // width can be pixel or percent not both
- if (!isNaN(value))
- _percentWidth = NaN;
-
- _explicitWidth = value;
-
- dispatchEvent(new Event("explicitWidthChanged"));
- }
-
- private var _explicitHeight:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitHeight():Number
- {
- return _explicitHeight;
- }
-
- /**
- * @private
- */
- public function set explicitHeight(value:Number):void
- {
- if (_explicitHeight == value)
- return;
-
- // height can be pixel or percent not both
- if (!isNaN(value))
- _percentHeight = NaN;
-
- _explicitHeight = value;
-
- dispatchEvent(new Event("explicitHeightChanged"));
- }
-
- private var _percentWidth:Number;
-
- /**
- * The requested percentage width this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set widths.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentWidth():Number
- {
- return _percentWidth;
- }
-
- /**
- * @private
- */
- public function set percentWidth(value:Number):void
- {
- COMPILE::SWF {
- if (_percentWidth == value)
- return;
-
- if (!isNaN(value))
- _explicitWidth = NaN;
-
- _percentWidth = value;
- }
- COMPILE::JS {
- this._percentWidth = value;
- this.positioner.style.width = value + '%';
- if (!isNaN(value))
- this._explicitWidth = NaN;
- }
-
- dispatchEvent(new Event("percentWidthChanged"));
- }
-
- private var _percentHeight:Number;
-
- /**
- * The requested percentage height this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set heights.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentHeight():Number
- {
- return _percentHeight;
- }
-
- /**
- * @private
- */
- public function set percentHeight(value:Number):void
- {
- COMPILE::SWF {
- if (_percentHeight == value)
- return;
-
- if (!isNaN(value))
- _explicitHeight = NaN;
-
- _percentHeight = value;
- }
-
- COMPILE::JS {
- this._percentHeight = value;
- this.positioner.style.height = value + '%';
- if (!isNaN(value))
- this._explicitHeight = NaN;
- }
-
- dispatchEvent(new Event("percentHeightChanged"));
- }
-
- private var _width:Number;
-
- [Bindable("widthChanged")]
- [PercentProxy("percentWidth")]
- /**
- * The width of the component. If no width has been previously
- * set the default width may be specified in the IValuesImpl
- * or determined as the bounding box around all child
- * components and graphics.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- override public function get width():Number
- {
- var w:Number = _width;
- if (isNaN(w)) {
- w = $width;
- }
- return w;
- }
-
- /**
- * @flexjsignorecoercion String
- */
- COMPILE::JS
- public function get width():Number
- {
- var pixels:Number;
- var strpixels:String = positioner.style.width as String;
- if (strpixels !== null && strpixels.indexOf('%') != -1)
- pixels = NaN;
- else
- pixels = parseFloat(strpixels);
- if (isNaN(pixels)) {
- pixels = positioner.offsetWidth;
- if (pixels === 0 && positioner.scrollWidth !== 0) {
- // invisible child elements cause offsetWidth to be 0.
- pixels = positioner.scrollWidth;
- }
- }
- return pixels;
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function set width(value:Number):void
- {
- if (explicitWidth != value)
- {
- explicitWidth = value;
- }
-
- setWidth(value);
- }
-
- /**
- * @private
- */
- COMPILE::JS
- public function set width(value:Number):void
- {
- if (explicitWidth != value)
- {
- explicitWidth = value;
- }
-
- setWidth(value);
- }
-
- /**
- * Retrieve the low-level bounding box width.
- * Not implemented in JS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function get $width():Number
- {
- return super.width;
- }
-
- private var _height:Number;
-
- [Bindable("heightChanged")]
- [PercentProxy("percentHeight")]
- /**
- * The height of the component. If no height has been previously
- * set the default height may be specified in the IValuesImpl
- * or determined as the bounding box around all child
- * components and graphics.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- override public function get height():Number
- {
- var h:Number = _height;
- if (isNaN(h)) {
- h = $height;
- }
- return h;
- }
-
- /**
- * @flexjsignorecoercion String
- */
- COMPILE::JS
- public function get height():Number
- {
- var pixels:Number;
- var strpixels:String = positioner.style.height as String;
- if (strpixels !== null && strpixels.indexOf('%') != -1)
- pixels = NaN;
- else
- pixels = parseFloat(strpixels);
- if (isNaN(pixels)) {
- pixels = positioner.offsetHeight;
- if (pixels === 0 && positioner.scrollHeight !== 0) {
- // invisible child elements cause offsetHeight to be 0.
- pixels = positioner.scrollHeight;
- }
- }
- return pixels;
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function set height(value:Number):void
- {
- if (explicitHeight != value)
- {
- explicitHeight = value;
- }
-
- setHeight(value);
- }
-
- /**
- * @private
- */
- COMPILE::JS
- public function set height(value:Number):void
- {
- if (explicitHeight != value)
- {
- explicitHeight = value;
- }
-
- setHeight(value);
- }
-
- /**
- * Retrieve the low-level bounding box height.
- * Not implemented in JS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function get $height():Number
- {
- return super.height;
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setHeight(value:Number, noEvent:Boolean = false):void
- {
- if (_height != value)
- {
- _height = value;
- COMPILE::JS
- {
- this.positioner.style.height = value + 'px';
- }
- if (!noEvent)
- dispatchEvent(new Event("heightChanged"));
- }
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setWidth(value:Number, noEvent:Boolean = false):void
- {
- if (_width != value)
- {
- _width = value;
- COMPILE::JS
- {
- this.positioner.style.width = value + 'px';
- }
- if (!noEvent)
- dispatchEvent(new Event("widthChanged"));
- }
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setWidthAndHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
- {
- if (_width != newWidth)
- {
- _width = newWidth;
- COMPILE::JS
- {
- this.positioner.style.width = newWidth + 'px';
- }
- if (!noEvent)
- dispatchEvent(new Event("widthChanged"));
- }
- if (_height != newHeight)
- {
- _height = newHeight;
- COMPILE::JS
- {
- this.positioner.style.height = newHeight + 'px';
- }
- if (!noEvent)
- dispatchEvent(new Event("heightChanged"));
- }
- dispatchEvent(new Event("sizeChanged"));
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function isWidthSizedToContent():Boolean
- {
- if (!isNaN(_explicitWidth))
- return false;
- if (!isNaN(_percentWidth))
- return false;
- var left:* = ValuesManager.valuesImpl.getValue(this, "left");
- var right:* = ValuesManager.valuesImpl.getValue(this, "right");
- return (left === undefined || right === undefined);
-
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function isHeightSizedToContent():Boolean
- {
- if (!isNaN(_explicitHeight))
- return false;
- if (!isNaN(_percentHeight))
- return false;
- var top:* = ValuesManager.valuesImpl.getValue(this, "top");
- var bottom:* = ValuesManager.valuesImpl.getValue(this, "bottom");
- return (top === undefined || bottom === undefined);
- }
-
- private var _x:Number;
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function set x(value:Number):void
- {
- super.x = _x = value;
- if (!style)
- style = { left: value };
- else
- style.left = value;
- }
-
- COMPILE::JS
- public function set x(value:Number):void
- {
-// positioner.style.position = 'absolute';
- positioner.style.left = value + 'px';
- }
-
- /**
- * @flexjsignorecoercion String
- */
- COMPILE::JS
- public function get x():Number
- {
- var strpixels:String = positioner.style.left as String;
- var pixels:Number = parseFloat(strpixels);
- if (isNaN(pixels))
- pixels = positioner.offsetLeft;
- return pixels;
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setX
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setX(value:Number):void
- {
- COMPILE::SWF
- {
- super.x = value;
- }
- COMPILE::JS
- {
-// positioner.style.position = 'absolute';
- positioner.style.left = value + 'px';
- }
- }
-
- private var _y:Number;
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function set y(value:Number):void
- {
- super.y = _y = value;
- if (!style)
- style = { top: value };
- else
- style.top = value;
- }
-
- COMPILE::JS
- public function set y(value:Number):void
- {
-// positioner.style.position = 'absolute';
- positioner.style.top = value + 'px';
- }
-
- /**
- * @flexjsignorecoercion String
- */
- COMPILE::JS
- public function get y():Number
- {
- var strpixels:String = positioner.style.top as String;
- var pixels:Number = parseFloat(strpixels);
- if (isNaN(pixels))
- pixels = positioner.offsetTop;
- return pixels;
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setY
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setY(value:Number):void
- {
- COMPILE::SWF
- {
- super.y = value;
- }
- COMPILE::JS
- {
-// positioner.style.position = 'absolute';
- positioner.style.top = value + 'px';
- }
- }
-
- /**
- * @private
- */
- [Bindable("visibleChanged")]
- COMPILE::SWF
- override public function set visible(value:Boolean):void
- {
- super.visible = value;
- dispatchEvent(new Event(value?"show":"hide"));
- dispatchEvent(new Event("visibleChanged"));
- }
-
- COMPILE::JS
- private var displayStyleForLayout:String;
-
- /**
- * The display style is used for both visible
- * and layout so is managed as a special case.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::JS
- public function setDisplayStyleForLayout(value:String):void
- {
- if (positioner.style.display !== 'none')
- positioner.style.display = value;
- else
- displayStyleForLayout = value;
- }
-
- COMPILE::JS
- public function get visible():Boolean
- {
- return positioner.style.display !== 'none';
- }
-
- COMPILE::JS
- public function set visible(value:Boolean):void
- {
- var oldValue:Boolean = positioner.style.display !== 'none';
- if (value !== oldValue)
- {
- if (!value)
- {
- displayStyleForLayout = positioner.style.display;
- positioner.style.display = 'none';
- dispatchEvent(new Event('hide'));
- }
- else
- {
- if (displayStyleForLayout != null)
- positioner.style.display = displayStyleForLayout;
- dispatchEvent(new Event('show'));
- }
- dispatchEvent(new Event('visibleChanged'));
- }
- }
-
- /**
- * @return The array of children.
- * @flexjsignorecoercion Array
- */
- COMPILE::JS
- public function internalChildren():Array
- {
- if (!element) return [];
-
- return element.childNodes as Array;
- }
-
- private var _view:IBeadView;
-
- /**
- * An IBeadView that serves as the view for the component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion Class
- */
- public function get view():IBeadView
- {
- if (_view == null)
- {
- var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
- if (c)
- {
- if (c)
- {
- _view = (new c()) as IBeadView;
- addBead(_view);
- }
- }
- }
- return _view;
- }
-
- /**
- * @private
- */
- public function set view(value:IBeadView):void
- {
- if (_view != value)
- {
- addBead(value as IBead);
- dispatchEvent(new Event("viewChanged"));
- }
- }
-
- private var _id:String;
-
- /**
- * An id property for MXML documents.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get id():String
- {
- return _id;
- }
-
- /**
- * @private
- */
- public function set id(value:String):void
- {
- if (_id != value)
- {
- _id = value;
- dispatchEvent(new Event("idChanged"));
- }
-
- COMPILE::JS
- {
- element.id = _id;
- }
- }
-
- private var _style:Object;
-
- /**
- * The object that contains
- * "styles" and other associated
- * name-value pairs. You can
- * also specify a string in
- * HTML style attribute format.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get style():Object
- {
- return _style;
- }
-
- /**
- * @private
- * @flexjsignorecoercion String
- */
- public function set style(value:Object):void
- {
- if (_style != value)
- {
- if (value is String)
- {
- _style = ValuesManager.valuesImpl.parseStyles(value as String);
- }
- else
- _style = value;
- if (!isNaN(_y))
- _style.top = _y;
- if (!isNaN(_x))
- _style.left = _x;
- dispatchEvent(new Event("stylesChanged"));
- }
- }
-
- /**
- * A list of type names. Often used for CSS
- * type selector lookups.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var typeNames:String;
-
- private var _className:String;
-
- /**
- * The classname. Often used for CSS
- * class selector lookups.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get className():String
- {
- return _className;
- }
-
- /**
- * @private
- */
- public function set className(value:String):void
- {
- if (_className != value)
- {
- COMPILE::JS
- {
- setClassName(typeNames ? StringUtil.trim(value + ' ' + typeNames) : value);
- }
- _className = value;
- dispatchEvent(new Event("classNameChanged"));
- }
- }
-
- COMPILE::JS
- protected function setClassName(value:String):void
- {
- element.className = value;
- }
-
- /**
- * @copy org.apache.flex.core.Application#beads
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var beads:Array;
-
- /**
- * @copy org.apache.flex.core.IStrand#addBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addBead(bead:IBead):void
- {
- if (bead is IBeadView)
- _view = bead as IBeadView;
-
- super.addBead(bead);
-
- if (bead is IBeadView) {
- IEventDispatcher(this).dispatchEvent(new Event("viewChanged"));
- }
- }
-
-
- // maintain this or just calculate it from the displayobject children on demand?
- private var _elements:Array;
-
- /**
- * @copy org.apache.flex.core.IParent#addElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IUIBase
- */
- public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements == null)
- _elements = [];
- _elements[_elements.length] = c;
- $displayObjectContainer.addChild(c.$displayObject);
- if (c is IUIBase)
- {
- IUIBase(c).addedToParent();
- }
-
- }
- COMPILE::JS
- {
- element.appendChild(c.positioner);
- (c as IUIBase).addedToParent();
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#addElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IUIBase
- */
- public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements == null)
- _elements = [];
- _elements.splice(index,0,c);
-
- $displayObjectContainer.addChildAt(c.$displayObject,index);
-
- if (c is IUIBase)
- {
- (c as IUIBase).addedToParent();
- }
- }
- COMPILE::JS
- {
- var children:Array = internalChildren();
- if (index >= children.length)
- addElement(c);
- else
- {
- element.insertBefore(c.positioner,
- children[index]);
- (c as IUIBase).addedToParent();
- }
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getElementAt(index:int):IChild
- {
- COMPILE::SWF
- {
- if(_elements == null)
- return null;
- return _elements[index];
- }
- COMPILE::JS
- {
- var children:Array = internalChildren();
- if (children.length == 0)
- {
- return null;
- }
-
- return children[index].flexjs_wrapper;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementIndex()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getElementIndex(c:IChild):int
- {
- COMPILE::SWF
- {
- if(_elements == null)
- return -1;
- return _elements.indexOf(c);
- }
- COMPILE::JS
- {
- var children:Array = internalChildren();
- var n:int = children.length;
- for (var i:int = 0; i < n; i++)
- {
- if (children[i] == c.element)
- return i;
- }
- return -1;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#removeElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLElement
- */
- public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- COMPILE::SWF
- {
- if(_elements)
- {
- var idx:int = _elements.indexOf(c);
- if(idx>=0)
- _elements.splice(idx,1);
- }
- $displayObjectContainer.removeChild(c.$displayObject as DisplayObject);
- }
- COMPILE::JS
- {
- element.removeChild(c.element as HTMLElement);
- }
- }
-
- /**
- * @copy org.apache.flex.core.IParent#numElements
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get numElements():int
- {
- COMPILE::SWF
- {
- return _elements ? _elements.length : 0;
- }
- COMPILE::JS
- {
- var children:Array = internalChildren();
- return children.length;
- }
- }
-
- /**
- * The method called when added to a parent. This is a good
- * time to set up beads.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion Class
- * @flexjsignorecoercion Number
- */
- public function addedToParent():void
- {
- var c:Class;
-
- COMPILE::JS
- {
- if (style)
- ValuesManager.valuesImpl.applyStyles(this, style);
- }
-
- if (isNaN(_explicitWidth) && isNaN(_percentWidth))
- {
- var value:* = ValuesManager.valuesImpl.getValue(this,"width");
- if (value !== undefined)
- {
- if (value is String)
- {
- var s:String = String(value);
- if (s.indexOf("%") != -1)
- _percentWidth = Number(s.substring(0, s.length - 1));
- else
- {
- if (s.indexOf("px") != -1)
- s = s.substring(0, s.length - 2);
- _width = _explicitWidth = Number(s);
- }
- }
- else
- _width = _explicitWidth = value as Number;
- }
- }
-
- if (isNaN(_explicitHeight) && isNaN(_percentHeight))
- {
- value = ValuesManager.valuesImpl.getValue(this,"height");
- if (value !== undefined)
- {
- if (value is String)
- {
- s = String(value);
- if (s.indexOf("%") != -1)
- _percentHeight = Number(s.substring(0, s.length - 1));
- else
- {
- if (s.indexOf("px") != -1)
- s = s.substring(0, s.length - 2);
- _height = _explicitHeight = Number(s);
- }
- }
- else
- _height = _explicitHeight = value as Number;
- }
- }
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- if (getBeadByType(IBeadModel) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
- if (c)
- {
- var model:IBeadModel = new c as IBeadModel;
- if (model)
- addBead(model);
- }
- }
- if (_view == null && getBeadByType(IBeadView) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
- if (c)
- {
- var view:IBeadView = new c as IBeadView;
- if (view)
- addBead(view);
- }
- }
- if (getBeadByType(IBeadController) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
- if (c)
- {
- var controller:IBeadController = new c as IBeadController;
- if (controller)
- addBead(controller);
- }
- }
- dispatchEvent(new Event("beadsAdded"));
- }
-
- /**
- * A measurement bead, if one exists.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measurementBead() : IMeasurementBead
- {
- var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
- if( measurementBead == null ) {
- addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
- }
-
- return measurementBead;
- }
-
- COMPILE::SWF
- private var _stageProxy:StageProxy;
-
- /**
- * @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion org.apache.flex.events.IEventDispatcher
- */
- public function get topMostEventDispatcher():IEventDispatcher
- {
- COMPILE::SWF
- {
- if (!_stageProxy)
- {
- _stageProxy = new StageProxy($displayObject.stage);
- _stageProxy.addEventListener("removedFromStage", stageProxy_removedFromStageHandler);
- }
-
- return _stageProxy;
- }
- COMPILE::JS
- {
- var e:WrappedHTMLElement = document.body as WrappedHTMLElement;
- return e.flexjs_wrapper as IEventDispatcher;
- }
- }
-
- COMPILE::SWF
- private function stageProxy_removedFromStageHandler(event:Event):void
- {
- _stageProxy = null;
- }
-
- /**
- * Rebroadcast an event from a sub component from the component.
- */
- protected function repeaterListener(event:Event):void
- {
- dispatchEvent(event);
- }
-
- /**
- * @return The actual element to be parented.
- * @flexjsignorecoercion org.apache.flex.core.IFlexJSElement
- */
- COMPILE::SWF
- protected function createElement():IFlexJSElement
- {
- element = new WrappedSprite();
- element.flexjs_wrapper = this;
- (element as InteractiveObject).doubleClickEnabled = true; // make JS and flash consistent
- return element;
- }
-
- /**
- * @return The actual element to be parented.
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- protected function createElement():WrappedHTMLElement
- {
- if (element == null)
- element = document.createElement('div') as WrappedHTMLElement;
- if (positioner == null)
- positioner = element;
- positioner.style.display = 'block';
-// positioner.style.position = 'relative';
-
- element.flexjs_wrapper = this;
-
- return positioner;
- }
-
- /**
- * The HTMLElement used to position the component.
- * @flexjsignorecoercion String
- */
- COMPILE::JS
- public function get alpha():Number
- {
- var stralpha:String = positioner.style.opacity as String;
- var alpha:Number = parseFloat(stralpha);
- return alpha;
- }
-
- COMPILE::JS
- public function set alpha(value:Number):void
- {
- positioner.style.opacity = value;
- }
-
- /**
- * @param value The event containing new style properties.
- */
- COMPILE::JS
- protected function styleChangeHandler(value:ValueChangeEvent):void
- {
- var newStyle:Object = {};
- newStyle[value.propertyName] = value.newValue;
- ValuesManager.valuesImpl.applyStyles(this, newStyle);
- };
-
- COMPILE::SWF
- public function get transformElement():IFlexJSElement
- {
- return element;
- }
-
- COMPILE::JS
- public function get transformElement():WrappedHTMLElement
- {
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as
deleted file mode 100644
index 5c12a69..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ /dev/null
@@ -1,788 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- import flash.display.DisplayObject;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.utils.MouseEventConverter;
-
- //--------------------------------------
- // Events
- //--------------------------------------
-
- /**
- * Set a different class for click events so that
- * there aren't dependencies on the flash classes
- * on the JS side.
- *
- * @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 UIHTMLElementWrapper class is the base class for most Buttons
- * and other UI objects in a FlexJS application that do not have children.
- * In Flash, these buttons extend SimpleButton and therefore
- * do not support all of the Sprite APIs.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class UIButtonBase extends UIHTMLElementWrapper implements IStrandWithModel, IEventDispatcher, IUIBase, IStyleableObject, ILayoutChild
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function UIButtonBase()
- {
- // mouseChildren = true;
- // mouseEnabled = true;
- createElement();
- MouseEventConverter.setupInstanceConverters(this);
- }
-
- protected function createElement():IFlexJSElement
- {
- element = _button = new WrappedSimpleButton();
- _button.flexjs_wrapper = this;
- return element;
- }
- private var _button:WrappedSimpleButton;
-
- public function get $button():SimpleButton
- {
- return _button;
- }
-
- private var _x:Number;
-
- /**
- * @private
- */
- override public function set x(value:Number):void
- {
- _button.x = _x = value;
- if (!style)
- style = { left: value };
- else
- style.left = value;
- dispatchEvent(new Event("xChanged"));
- }
-
- private var _y:Number;
-
- /**
- * @private
- */
- override public function set y(value:Number):void
- {
- _button.y = _y = value;
- if (!style)
- style = { top: value };
- else
- style.top = value;
- dispatchEvent(new Event("yChanged"));
- }
-
- /**
- * Retrieve the low-level bounding box y.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function get $y():Number
- {
- return _button.y;
- }
-
- private var _explicitWidth:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitWidth():Number
- {
- if (isNaN(_explicitWidth))
- {
- var value:* = ValuesManager.valuesImpl.getValue(this, "width");
- if (value !== undefined) {
- _explicitWidth = Number(value);
- }
- }
-
- return _explicitWidth;
- }
-
- /**
- * @private
- */
- public function set explicitWidth(value:Number):void
- {
- if (_explicitWidth == value)
- return;
-
- // width can be pixel or percent not both
- if (!isNaN(value))
- _percentWidth = NaN;
-
- _explicitWidth = value;
-
- dispatchEvent(new Event("explicitWidthChanged"));
- }
-
- private var _explicitHeight:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitHeight():Number
- {
- if (isNaN(_explicitHeight))
- {
- var value:* = ValuesManager.valuesImpl.getValue(this, "height");
- if (value !== undefined) {
- _explicitHeight = Number(value);
- }
- }
-
- return _explicitHeight;
- }
-
- /**
- * @private
- */
- public function set explicitHeight(value:Number):void
- {
- if (_explicitHeight == value)
- return;
-
- // height can be pixel or percent not both
- if (!isNaN(value))
- _percentHeight = NaN;
-
- _explicitHeight = value;
-
- dispatchEvent(new Event("explicitHeightChanged"));
- }
-
- private var _percentWidth:Number;
-
- /**
- * The requested percentage width this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set widths.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentWidth():Number
- {
- return _percentWidth;
- }
-
- /**
- * @private
- */
- public function set percentWidth(value:Number):void
- {
- if (_percentWidth == value)
- return;
-
- if (!isNaN(value))
- _explicitWidth = NaN;
-
- _percentWidth = value;
-
- dispatchEvent(new Event("percentWidthChanged"));
- }
-
- private var _percentHeight:Number;
-
- /**
- * The requested percentage height this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set heights.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentHeight():Number
- {
- return _percentHeight;
- }
-
- /**
- * @private
- */
- public function set percentHeight(value:Number):void
- {
- if (_percentHeight == value)
- return;
-
- if (!isNaN(value))
- _explicitHeight = NaN;
-
- _percentHeight = value;
-
- dispatchEvent(new Event("percentHeightChanged"));
- }
-
- private var _width:Number;
-
- [Bindable("widthChanged")]
- [PercentProxy("percentWidth")]
- /**
- * @copy org.apache.flex.core.UIBase#width
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function get width():Number
- {
- if (isNaN(explicitWidth))
- {
- var w:Number = _width;
- if (isNaN(w)) w = $width;
- return w;
- }
- else
- return explicitWidth;
- }
-
- /**
- * @private
- */
- override public function set width(value:Number):void
- {
- if (explicitWidth != value)
- {
- explicitWidth = value;
- }
-
- setWidth(value);
- }
-
- /**
- * Retrieve the low-level bounding box width.
- * Not implemented in JS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get $width():Number
- {
- return _button.width;
- }
-
- private var _height:Number;
-
- [Bindable("heightChanged")]
- [PercentProxy("percentHeight")]
- /**
- * @copy org.apache.flex.core.UIBase#width
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function get height():Number
- {
- if (isNaN(explicitHeight))
- {
- var h:Number = _height;
- if (isNaN(h)) h = $height;
- return h;
- }
- else
- return explicitHeight;
- }
-
- /**
- * @private
- */
- override public function set height(value:Number):void
- {
- if (explicitHeight != value)
- {
- explicitHeight = value;
- }
-
- setHeight(value);
- }
-
- /**
- * Retrieve the low-level bounding box height.
- * Not implemented in JS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get $height():Number
- {
- return _button.height;
- }
-
- /**
- * @copy org.apache.flex.core.IUIBase#setHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setHeight(value:Number, noEvent:Boolean = false):void
- {
- if (_height != value)
- {
- _height = value;
- if (!noEvent)
- dispatchEvent(new Event("heightChanged"));
- }
- }
-
- /**
- * @copy org.apache.flex.core.IUIBase#setWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setWidth(value:Number, noEvent:Boolean = false):void
- {
- if (_width != value)
- {
- _width = value;
- if (!noEvent)
- dispatchEvent(new Event("widthChanged"));
- }
- }
-
- /**
- * @copy org.apache.flex.core.IUIBase#setWidthAndHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setWidthAndHeight(newWidth:Number, newHeight:Number, noEvent:Boolean = false):void
- {
- if (_width != newWidth)
- {
- _width = newWidth;
- if (_height == newHeight)
- if (!noEvent)
- dispatchEvent(new Event("widthChanged"));
- }
- if (_height != newHeight)
- {
- _height = newHeight;
- if (!noEvent)
- dispatchEvent(new Event("heightChanged"));
- }
- dispatchEvent(new Event("sizeChanged"));
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#isWidthSizedToContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function isWidthSizedToContent():Boolean
- {
- return (isNaN(_explicitWidth) && isNaN(_percentWidth));
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setX
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setX(value:Number):void
- {
- _button.x = value;
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#setY
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setY(value:Number):void
- {
- _button.y = value;
- }
-
- /**
- * @private
- */
- [Bindable("visibleChanged")]
- override public function set visible(value:Boolean):void
- {
- _button.visible = value;
- dispatchEvent(new Event(value?"show":"hide"));
- dispatchEvent(new Event("visibleChanged"));
- }
-
- override public function get visible():Boolean
- {
- return _button.visible;
- }
-
- /**
- * @copy org.apache.flex.core.ILayoutChild#isHeightSizedToContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function isHeightSizedToContent():Boolean
- {
- return (isNaN(_explicitHeight) && isNaN(_percentHeight));
- }
-
- private var _view:IBeadView;
-
- /**
- * An IBeadView that serves as the view for the component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get view():IBeadView
- {
- if (_view == null)
- {
- var c:Class = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
- if (c)
- {
- _view = (new c()) as IBeadView;
- addBead(_view);
- }
- }
- return _view;
- }
-
- /**
- * @private
- */
- public function set view(value:IBeadView):void
- {
- if (_view != value)
- {
- addBead(value as IBead);
- dispatchEvent(new Event("viewChanged"));
- }
- }
-
- private var _id:String;
-
- /**
- * @copy org.apache.flex.core.UIBase#id
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get id():String
- {
- return _id;
- }
-
- /**
- * @private
- */
- public function set id(value:String):void
- {
- if (_id != value)
- {
- _id = value;
- dispatchEvent(new Event("idChanged"));
- }
- }
-
- private var _styles:Object;
-
- /**
- * The object that contains
- * "styles" and other associated
- * name-value pairs. You can
- * also specify a string in
- * HTML style attribute format.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get style():Object
- {
- return _styles;
- }
-
- /**
- * @private
- */
- public function set style(value:Object):void
- {
- if (value is String)
- _styles = ValuesManager.valuesImpl.parseStyles(value as String);
- else
- _styles = value;
- if (!isNaN(_y))
- _styles.top = _y;
- if (!isNaN(_x))
- _styles.left = _x;
- dispatchEvent(new Event("stylesChanged"));
- }
-
- /**
- * The styles for this object formatted
- * as an HTML style attribute. While this
- * may be a convenient and less verbose
- * way of specifying styles than using
- * the style object, you run the risk of
- * having a typo.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set styleString(value:String):void
- {
- _styles = JSON.parse("{" + value + "}");
- }
-
- /**
- * A list of type names. Often used for CSS
- * type selector lookups.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var typeNames:String;
-
- private var _className:String;
-
- /**
- * @copy org.apache.flex.core.UIBase#className
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get className():String
- {
- return _className;
- }
-
- /**
- * @private
- */
- public function set className(value:String):void
- {
- if (_className != value)
- {
- _className = value;
- dispatchEvent(new Event("classNameChanged"));
- }
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#beads
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var beads:Array;
-
- private var strand:Vector.<IBead>;
-
- /**
- * @copy org.apache.flex.core.UIBase#addBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addBead(bead:IBead):void
- {
- super.addBead(bead);
- if (bead is IBeadView)
- _view = bead as IBeadView;
- //bead.strand = this; // super.addBead already did this!
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#addToParent()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function addedToParent():void
- {
- var c:Class;
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- if (getBeadByType(IBeadModel) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadModel") as Class;
- if (c)
- {
- var model:IBeadModel = new c as IBeadModel;
- if (model)
- addBead(model);
- }
- }
- if (getBeadByType(IBeadView) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
- if (c)
- {
- var view:IBeadView = new c as IBeadView;
- if (view)
- addBead(view);
- }
- }
- if (getBeadByType(IBeadController) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
- if (c)
- {
- var controller:IBeadController = new c as IBeadController;
- if (controller)
- addBead(controller);
- }
- }
-
- dispatchEvent(new Event("beadsAdded"));
-
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#measurementBead
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measurementBead() : IMeasurementBead
- {
- var measurementBead:IMeasurementBead = getBeadByType(IMeasurementBead) as IMeasurementBead;
- if( measurementBead == null ) {
- addBead(measurementBead = new (ValuesManager.valuesImpl.getValue(this, "iMeasurementBead")) as IMeasurementBead);
- }
-
- return measurementBead;
- }
-
- /**
- * @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get topMostEventDispatcher():IEventDispatcher
- {
- if (!parent)
- return null;
- return IUIBase(parent).topMostEventDispatcher;
- }
-
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
deleted file mode 100644
index 27882f3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
+++ /dev/null
@@ -1,123 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- import org.apache.flex.core.IMXMLDocument;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- /**
- * The default property uses when additional MXML content appears within an element's
- * definition in an MXML file.
- */
- [DefaultProperty("mxmlContent")]
-
- /**
- * The View class is the class for most views in a FlexJS
- * application. It is generally used as the root tag of MXML
- * documents and UI controls and containers are added to it.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class View extends ViewBase
- {
- public function View()
- {
- super();
- }
-
- private var _mxmlDescriptor:Array;
- private var _mxmlDocument:Object = this;
- private var _initialized:Boolean;
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- if (!_initialized)
- {
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
- }
-
- super.addedToParent();
-
- if (!_initialized)
- {
- MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
- _initialized = true;
-
- // - why was this added here? childrenAdded(); //?? Is this necessary since MXMLDataInterpreter will already have called it
- }
- }
-
- /**
- * @copy org.apache.flex.core.Application#MXMLDescriptor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function get MXMLDescriptor():Array
- {
- return _mxmlDescriptor;
- }
-
- /**
- * @private
- */
- public function setMXMLDescriptor(document:Object, value:Array):void
- {
- _mxmlDocument = document;
- _mxmlDescriptor = value;
- }
-
- /**
- * @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function generateMXMLAttributes(data:Array):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, data);
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public var mxmlContent:Array;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as
deleted file mode 100644
index cd9b835..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ViewBase.as
+++ /dev/null
@@ -1,97 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.core
-{
- import org.apache.flex.events.Event;
-
- //--------------------------------------
- // Events
- //--------------------------------------
-
- /**
- * Dispatched at startup. Attributes and sub-instances of
- * the MXML document have been created and assigned.
- * The component lifecycle is different
- * than the Flex SDK. There is no creationComplete event.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="initComplete", type="org.apache.flex.events.Event")]
-
- [DefaultProperty("mxmlContent")]
-
- /**
- * The ViewBase class is the base class for most views in a FlexJS
- * application.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ViewBase extends GroupBase implements IPopUpHost, IApplicationView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ViewBase()
- {
- super();
-
- className = "flexjs";
- }
-
- private var _applicationModel:Object;
-
- [Bindable("modelChanged")]
-
- /**
- * A reference to the Application's model. Usually,
- * a view is displaying the main model for an
- * application.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get applicationModel():Object
- {
- return _applicationModel;
- }
-
- /**
- * @private
- */
- public function set applicationModel(value:Object):void
- {
- _applicationModel = value;
- dispatchEvent(new Event("modelChanged"));
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
deleted file mode 100644
index d67c406..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
+++ /dev/null
@@ -1,89 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
- import org.apache.flex.events.CustomEvent;
- import org.apache.flex.events.IFlexJSEvent;
-
- /**
- * 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():IFlexJSEvent
- {
- var newEvent:ItemAddedEvent = new ItemAddedEvent(type);
- newEvent.item = item;
- return newEvent;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
deleted file mode 100644
index 0b7cdce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
+++ /dev/null
@@ -1,116 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
- import org.apache.flex.events.CustomEvent;
- import org.apache.flex.events.IFlexJSEvent;
-
- /**
- * 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():IFlexJSEvent
- {
- var newEvent:ItemClickedEvent = new ItemClickedEvent(type);
- newEvent.index = index;
- newEvent.data = data;
- newEvent.multipleSelection = multipleSelection;
- return newEvent;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
deleted file mode 100644
index d5dcb80..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
+++ /dev/null
@@ -1,89 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
-
- import org.apache.flex.events.CustomEvent;
- import org.apache.flex.events.IFlexJSEvent;
-
- /**
- * 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():IFlexJSEvent
- {
- var newEvent:ItemRemovedEvent = new ItemRemovedEvent(type);
- newEvent.item = item;
- return newEvent;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
deleted file mode 100644
index cf2b803..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
+++ /dev/null
@@ -1,91 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.events
-{
- import org.apache.flex.core.IItemRenderer;
- import org.apache.flex.events.CustomEvent;
- import org.apache.flex.events.IFlexJSEvent;
-
- /**
- * 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():IFlexJSEvent
- {
- var newEvent:ItemRendererEvent = new ItemRendererEvent(type);
- newEvent.itemRenderer = itemRenderer;
- return newEvent;
- }
- }
-}
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
deleted file mode 100644
index a145ae4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Alert.as
+++ /dev/null
@@ -1,320 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.
- *
- * @toplevel
- * @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();
- titleBar.percentWidth = 100;
- titleBar.height = 24;
- addElement(titleBar);
- titleBar.element.id = 'titleBar';
- titleBar.element.style.top = "0px";
- titleBar.element.style.right = "0px";
- titleBar.element.style.left = "0px";
- titleBar.element.style.marginBottom = "6px";
-
- label = new Label();
- addElement(label);
- label.element.style.display = "block";
- label.element.style.padding = "6px";
- label.element.style.left = "0px";
- label.element.style.right = "0px";
- label.element.style.whiteSpace = "normal";
- label.element.id = 'message';
-
- // add a place for the buttons
- buttonArea = new Container();
- buttonArea.percentWidth = 100;
- buttonArea.height = 28;
- addElement(buttonArea);
- buttonArea.element.style.marginTop = "6px";
- buttonArea.element.style.marginBottom = "6px";
- buttonArea.element.style.padding = "2px";
- buttonArea.element.style.left = "0px";
- buttonArea.element.style.right = "0px";
- 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 ) : Alert
- {
- var alert:Alert = new Alert();
- alert.message = text;
- alert.title = title;
- alert.flags = flags;
-
- alert.show(parent);
-
- COMPILE::JS
- {
- alert.positioner.style.margin = 'auto';
- alert.positioner.style.left = "50%";
- alert.positioner.style.top = "50%";
- alert.positioner.style.width = "200px";
- }
-
- return alert;
- }
-
- /**
- * 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;
-
- COMPILE::JS {
- titleBar.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;
-
- COMPILE::JS {
- label.text = 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';
- ok.element.style.margin = "4px";
- goog.events.listen(ok.element, 'click', dismissAlert);
- }
- if (flags & Alert.CANCEL) {
- var cancel:TextButton = new TextButton();
- buttonArea.addElement(cancel);
- cancel.text = 'Cancel';
- cancel.element.style.margin = "4px";
- goog.events.listen(cancel.element, 'click', dismissAlert);
- }
- if (flags & Alert.YES) {
- var yes:TextButton = new TextButton();
- buttonArea.addElement(yes);
- yes.text = 'YES';
- yes.element.style.margin = "4px";
- goog.events.listen(yes.element, 'click', dismissAlert);
- }
- if (flags & Alert.NO) {
- var nob:TextButton = new TextButton();
- buttonArea.addElement(nob);
- nob.text = 'NO';
- nob.element.style.margin = "4px";
- 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);
- };
-
- }
-}
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
deleted file mode 100644
index 55051d5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Button.as
+++ /dev/null
@@ -1,86 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.
- *
- * @toplevel
- * @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();
- }
- }
-
-}
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
deleted file mode 100644
index 0dffead..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBar.as
+++ /dev/null
@@ -1,95 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.html.beads.models.ButtonBarModel;
-
- 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.
- *
- * @toplevel
- * @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();
- }
-
- public function get buttonWidths():Array
- {
- return ButtonBarModel(model).buttonWidths;
- }
- public function set buttonWidths(value:Array):void
- {
- ButtonBarModel(model).buttonWidths = value;
- }
-
- public function get widthType():Number
- {
- return ButtonBarModel(model).widthType;
- }
- public function set widthType(value:Number):void
- {
- ButtonBarModel(model).widthType = value;
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- positioner = element;
-
- className = 'ButtonBar';
-
- element.flexjs_wrapper = this;
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as
deleted file mode 100644
index 72d19e1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ButtonBase.as
+++ /dev/null
@@ -1,100 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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;
- 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;
- }
-
- }
-
-}
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
deleted file mode 100644
index ef78a05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CheckBox.as
+++ /dev/null
@@ -1,189 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.
- *
- * @toplevel
- * @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.
- *
- * @default false
- * @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;
- }
- }
-
-}
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
deleted file mode 100644
index f2e37f4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/CloseButton.as
+++ /dev/null
@@ -1,67 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.
- *
- * @toplevel
- * @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;
- }
-
- }
-}
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
deleted file mode 100644
index 5ada753..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ComboBox.as
+++ /dev/null
@@ -1,119 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.IUIBase;
-
- import org.apache.flex.core.IComboBoxModel;
- import org.apache.flex.html.beads.models.ComboBoxModel;
-
- [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.
- *
- * @toplevel
- * @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();
-
- className = "ComboBox";
- }
-
- /**
- * 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;
- }
-
- [Bindable("change")]
- /**
- * 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;
- }
-
- [Bindable("change")]
- /**
- * 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;
- }
- }
-}
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
deleted file mode 100644
index cbcf526..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
+++ /dev/null
@@ -1,159 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ContainerBase;
- import org.apache.flex.core.IMXMLDocument;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- /**
- * The default property uses when additional MXML content appears within an element's
- * definition in an MXML file.
- */
- [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.
- *
- * @toplevel
- * @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 implements IMXMLDocument
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Container()
- {
- super();
- }
-
- private var _mxmlDescriptor:Array;
- private var _mxmlDocument:Object = this;
- private var _initialized:Boolean;
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- if (!_initialized)
- {
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
- }
-
- super.addedToParent();
-
- if (!_initialized)
- {
- MXMLDataInterpreter.generateMXMLInstances(_mxmlDocument, this, MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
- _initialized = true;
-
- //?? why is this here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will have already called it
- }
- }
-
- /**
- * @copy org.apache.flex.core.Application#MXMLDescriptor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function get MXMLDescriptor():Array
- {
- return _mxmlDescriptor;
- }
-
- /**
- * @private
- */
- public function setMXMLDescriptor(document:Object, value:Array):void
- {
- _mxmlDocument = document;
- _mxmlDescriptor = value;
- }
-
- /**
- * @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function generateMXMLAttributes(data:Array):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, data);
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public var mxmlContent:Array;
- }
-}
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
deleted file mode 100644
index 588bd8c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ControlBar.as
+++ /dev/null
@@ -1,95 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
-
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IChrome;
- 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.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ControlBar extends Group implements 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;
-
- positioner = element;
- element.flexjs_wrapper = this;
-
- return element;
- }
-
- }
-}
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
deleted file mode 100644
index 5a17c4a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
+++ /dev/null
@@ -1,171 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.core.GroupBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.beads.models.DataGridPresentationModel;
- import org.apache.flex.events.Event;
-
- [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.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGrid extends GroupBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGrid()
- {
- super();
-
- className = "DataGrid";
- }
-
- /**
- * 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;
- }
- public function set selectedIndex(value:int):void
- {
- IDataGridModel(model).selectedIndex = value;
- }
-
- /**
- * @private
- */
- private var _presentationModel:IDataGridPresentationModel;
-
- /**
- * 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
- {
- if (_presentationModel == null) {
- var c:Class = ValuesManager.valuesImpl.getValue(this, "iDataGridPresentationModel");
- if (c) {
- var presModel:Object = new c();
- _presentationModel = presModel as IDataGridPresentationModel;
- if (_presentationModel != null) {
- addBead(_presentationModel as IBead);
- }
- }
- }
-
- return _presentationModel;
- }
- public function set presentationModel(value:IDataGridPresentationModel):void
- {
- _presentationModel = value;
- }
-
- /**
- * 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;
- }
-
- override public function addedToParent():void
- {
- super.addedToParent();
- dispatchEvent(new Event("initComplete"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as
deleted file mode 100644
index c7208dc..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBar.as
+++ /dev/null
@@ -1,51 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The DataGridButtonBar class extends ButtonBar and provides a class for styling
- * the header region of the DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridButtonBar extends ButtonBar
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridButtonBar()
- {
- super();
- className = "DataGridButtonBar";
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as
deleted file mode 100644
index 67be174..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGridButtonBarTextButton.as
+++ /dev/null
@@ -1,55 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
-
- COMPILE::JS {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The DataGridButtonBarTextButton class extends TextButton so that
- * the buttons used in the DataGrid header can be styled separately
- * from normal TextButtons.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridButtonBarTextButton extends TextButton
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridButtonBarTextButton()
- {
- super();
- typeNames = "";
- className = "DataGridButtonBarTextButton";
- }
-
- }
-}
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
deleted file mode 100644
index 971ed75..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
+++ /dev/null
@@ -1,73 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.html.Group;
-
- /**
- * 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.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateChooser extends Group
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateChooser()
- {
- super();
-
- // default to today
- selectedDate = new Date();
- }
-
- /**
- * 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;
- }
- }
-}
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
deleted file mode 100644
index 5b73db0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateField.as
+++ /dev/null
@@ -1,118 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.core.IFormatBead;
- 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.
- *
- * @toplevel
- * @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();
- }
-
- /**
- * Replace existing format bead if it exists.
- *
- * @copy org.apache.flex.core.IStrand#addBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addBead(bead:IBead):void
- {
- if (bead is IFormatBead) {
- var formatBead:IBead = getBeadByType(IFormatBead);
- if (formatBead != null) {
- removeBead(formatBead);
- }
- }
- super.addBead(bead);
- }
-
- /**
- * 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;
- }
- }
-}
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
deleted file mode 100644
index d547f27..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DropDownList.as
+++ /dev/null
@@ -1,236 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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.
- *
- * @toplevel
- * @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;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as
deleted file mode 100644
index 96fe42a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Form.as
+++ /dev/null
@@ -1,100 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.html.Container;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [DefaultProperty("mxmlContent")]
-
- /**
- * The Form class is a simple form.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Form extends Container
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Form()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('form') as WrappedHTMLElement;
-
- positioner = element;
-
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
- return element;
- }
-
-
- private var _action:String = "#";
-
- [Bindable("actionChange")]
- /**
- * The action to be performed when the form is submitted
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get action():String
- {
- return _action;
- }
-
- /**
- * @private
- */
- public function set action(value:String):void
- {
- _action = value;
-
- COMPILE::JS
- {
- this.element.setAttribute('action', action);
- this.dispatchEvent('actionChange');
- }
- }
- }
-}
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
deleted file mode 100644
index 2a19648..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HContainer.as
+++ /dev/null
@@ -1,62 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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>
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HContainer extends Container
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HContainer()
- {
- super();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as
deleted file mode 100644
index 3017a34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/HRule.as
+++ /dev/null
@@ -1,64 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.UIBase;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The HRule class displays a horizontal line
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HRule extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HRule()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('hr') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
deleted file mode 100644
index 6b206c1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
+++ /dev/null
@@ -1,82 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ImageBase;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Load Images.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Image extends ImageBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Image()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('img') as WrappedHTMLElement;
- element.className = 'Image';
- typeNames = 'Image';
-
- positioner = element;
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
-
- return element;
- }
-
- COMPILE::JS
- override public function get imageElement():Element
- {
- return element;
- }
-
- COMPILE::JS
- override public function applyImageData(binaryDataAsString:String):void
- {
- (element as HTMLImageElement).src = binaryDataAsString;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
deleted file mode 100644
index ccdbc3b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageAndTextButton.as
+++ /dev/null
@@ -1,129 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.events.Event;
- import org.apache.flex.html.beads.models.ImageAndTextModel;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The ImageTextButton class implements a basic button that
- * displays and image and text.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageAndTextButton extends TextButton
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageAndTextButton()
- {
- super();
- }
-
- /**
- * @private
- */
- COMPILE::JS
- override public function get text():String
- {
- return ImageAndTextModel(model).text;
- }
-
- /**
- * @private
- */
- COMPILE::JS
- override public function set text(value:String):void
- {
- ImageAndTextModel(model).text = value;
- COMPILE::JS
- {
- setInnerHTML();
- }
- }
-
- /**
- * The URL of an icon to use in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get image():String
- {
- return ImageAndTextModel(model).image;
- }
-
- /**
- * @private
- */
- public function set image(value:String):void
- {
- ImageAndTextModel(model).image = value;
- COMPILE::JS
- {
- setInnerHTML();
- }
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- 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;
-
- return element;
- }
-
- /**
- */
- COMPILE::JS
- protected function setInnerHTML():void
- {
- var inner:String = '';
- if (image != null)
- inner += "<img src='" + image + "'/>";
- inner += ' ';
- inner += text;
- element.innerHTML = inner;
- };
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as
deleted file mode 100644
index 4b89037..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ImageButton.as
+++ /dev/null
@@ -1,103 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.SimpleCSSStyles;
- import org.apache.flex.events.Event;
- import org.apache.flex.html.beads.models.ImageModel;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The ImageButton class presents an image as a button.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageButton extends Button
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageButton()
- {
- super();
- typeNames = "ImageButton";
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- 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;
-
- return element;
- }
-
- [Bindable("srcChanged")]
- /**
- * Sets the image for the button. This is a URL.
- * TODO: figure out how to set the source in the style, rather than using
- * backgroundImage behind the scenes.
- */
- public function get src():String
- {
- return ImageModel(model).url;
- }
-
- public function set src(url:String):void
- {
- ImageModel(model).url = url;
- COMPILE::SWF
- {
- if (!style)
- style = new SimpleCSSStyles();
- style.backgroundImage = url;
- }
-
- COMPILE::JS
- {
- var inner:String = '';
- if (url)
- inner = "<img src='" + url + "'/>";
- element.innerHTML = inner;
- }
-
- dispatchEvent(new Event("srcChanged"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as
deleted file mode 100644
index 8937f28..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Label.as
+++ /dev/null
@@ -1,177 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Dispatched when the user clicks on a Label.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8.0
- */
- [Event(name="click", type="org.apache.flex.events.MouseEvent")]
-
- /*
- * Label probably should extend TextField directly,
- * but the player's APIs for TextLine do not allow
- * direct instantiation, and we might want to allow
- * Labels to be declared and have their actual
- * view be swapped out.
- */
-
- /**
- * The Label class implements the basic control for labeling
- * other controls.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Label extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Label()
- {
- super();
- }
-
- [Bindable("textChange")]
- /**
- * The text to display in the label.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).text;
- }
- COMPILE::JS
- {
- return element.innerHTML;
- }
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).text = value;
- }
- COMPILE::JS
- {
- this.element.innerHTML = value;
- this.dispatchEvent('textChange');
- }
-
- }
-
- [Bindable("htmlChange")]
- /**
- * The html-formatted text to display in the label.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).html;
- }
- COMPILE::JS
- {
- return element.innerHTML;
- }
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).html = value;
- }
- COMPILE::JS
- {
- this.element.innerHTML = value;
- this.dispatchEvent('textChange');
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function addedToParent():void
- {
- super.addedToParent();
- model.addEventListener("textChange", repeaterListener);
- model.addEventListener("htmlChange", repeaterListener);
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('span') as WrappedHTMLElement;
- positioner = element;
- element.flexjs_wrapper = this;
- element.style.whiteSpace = "nowrap";
-
- className = "Label";
- typeNames = "Label";
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
deleted file mode 100644
index fb2481f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/List.as
+++ /dev/null
@@ -1,168 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectionModel;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Indicates that the initialization of the list is complete.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="initComplete", type="org.apache.flex.events.Event")]
-
- /**
- * The change event is dispatched whenever the list's selection changes.
- *
- * @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 List class is a component that displays multiple data items. The List 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 list.
- * org.apache.flex.core.IBeadController: the bead that handles input and output.
- * org.apache.flex.core.IBeadLayout: the bead responsible for the size and position of the itemRenderers.
- * 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 list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class List extends DataContainer
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function List()
- {
- super();
- }
-
- /**
- * The index of the currently selected item. Changing this value
- * also changes the selectedItem property.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedIndex():int
- {
- return ISelectionModel(model).selectedIndex;
- }
- public function set selectedIndex(value:int):void
- {
- ISelectionModel(model).selectedIndex = value;
- }
-
- /**
- * The index of the item currently below the pointer.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rollOverIndex():int
- {
- return IRollOverModel(model).rollOverIndex;
- }
- public function set rollOverIndex(value:int):void
- {
- IRollOverModel(model).rollOverIndex = value;
- }
-
- /**
- * 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;
- }
-
- /**
- * The item currently selected. Changing this value also
- * changes the selectedIndex property.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedItem():Object
- {
- return ISelectionModel(model).selectedItem;
- }
- public function set selectedItem(value:Object):void
- {
- ISelectionModel(model).selectedItem = value;
- }
-
- /*
- * UIBase
- */
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- super.createElement();
- className = 'List';
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
deleted file mode 100644
index 4bfa105..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
+++ /dev/null
@@ -1,317 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.states.State;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IStatesImpl;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.beads.GroupView;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.ValueChangeEvent;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- [DefaultProperty("mxmlContent")]
-
- /**
- * The MXMLBeadView class extends ContainerView
- * and adds support for databinding and specification
- * of children in MXML.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class MXMLBeadView extends GroupView implements IStrand, ILayoutHost
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function MXMLBeadView()
- {
- super();
- }
-
- [Bindable("strandChanged")]
- /**
- * An MXMLBeadView doesn't create its children until it is added to
- * the strand.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
-
- dispatchEvent(new Event("strandChanged"));
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
-
- MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
-
- dispatchEvent(new Event("childrenAdded"));
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
- }
-
- [Bindable("__NoChangeEvent__")]
- /**
- * The model object.
- */
- public function get model():Object
- {
- return _strand["model"];
- }
-
- /**
- * @copy org.apache.flex.core.Application#MXMLDescriptor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get MXMLDescriptor():Array
- {
- return null;
- }
-
- /**
- * @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function generateMXMLAttributes(data:Array):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, data);
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var mxmlContent:Array;
-
- private var _states:Array;
-
- /**
- * The array of view states. These should
- * be instances of org.apache.flex.states.State.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get states():Array
- {
- return _states;
- }
-
- /**
- * @private
- */
- public function set states(value:Array):void
- {
- _states = value;
- _currentState = _states[0].name;
-
- try{
- if (getBeadByType(IStatesImpl) == null)
- addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
- }
- //TODO: Need to handle this case more gracefully
- catch(e:Error)
- {
- COMPILE::SWF
- {
- trace(e.message);
- }
- }
-
- }
-
- /**
- * <code>true</code> if the array of states
- * contains a state with this name.
- *
- * @param state The state namem.
- * @return True if state in state array
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function hasState(state:String):Boolean
- {
- for each (var s:State in _states)
- {
- if (s.name == state)
- return true;
- }
- return false;
- }
-
- private var _currentState:String;
-
- [Bindable("currentStateChange")]
- /**
- * The name of the current state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get currentState():String
- {
- return _currentState;
- }
-
- /**
- * @private
- */
- public function set currentState(value:String):void
- {
- var event:ValueChangeEvent = new ValueChangeEvent("currentStateChange", false, false, _currentState, value)
- _currentState = value;
- dispatchEvent(event);
- }
-
- private var _transitions:Array;
-
- /**
- * The array of transitions.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get transitions():Array
- {
- return _transitions;
- }
-
- /**
- * @private
- */
- public function set transitions(value:Array):void
- {
- _transitions = value;
- }
-
- /**
- * @copy org.apache.flex.core.Application#beads
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var beads:Array;
-
- private var _beads:Array;
-
- /**
- * @copy org.apache.flex.core.IStrand#addBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function addBead(bead:IBead):void
- {
- if (!_beads)
- _beads = [];
- _beads.push(bead);
- bead.strand = this;
- }
-
- /**
- * @copy org.apache.flex.core.IStrand#getBeadByType()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getBeadByType(classOrInterface:Class):IBead
- {
- for each (var bead:IBead in _beads)
- {
- if (bead is classOrInterface)
- return bead;
- }
- return null;
- }
-
- /**
- * @copy org.apache.flex.core.IStrand#removeBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function removeBead(value:IBead):IBead
- {
- var n:int = _beads.length;
- for (var i:int = 0; i < n; i++)
- {
- var bead:IBead = _beads[i];
- if (bead == value)
- {
- _beads.splice(i, 1);
- return bead;
- }
- }
- return null;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as
deleted file mode 100644
index 52fcfae..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MultilineLabel.as
+++ /dev/null
@@ -1,77 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /*
- * Label probably should extend TextField directly,
- * but the player's APIs for TextLine do not allow
- * direct instantiation, and we might want to allow
- * Labels to be declared and have their actual
- * view be swapped out.
- */
-
- /**
- * The Label class implements the basic control for labeling
- * other controls.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class MultilineLabel extends Label
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function MultilineLabel()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- positioner = element;
- element.flexjs_wrapper = this;
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as
deleted file mode 100644
index 984fda9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/NumericStepper.as
+++ /dev/null
@@ -1,203 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.UIBase;
- COMPILE::JS
- {
- import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [Event(name="valueChange", type="org.apache.flex.events.Event")]
-
- /**
- * The NumericStepper class is a component that displays a numeric
- * value and up/down controls (using a org.apache.flex.html.Spinner) to
- * increase and decrease the value by specific amounts. The NumericStepper uses the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model for the component of type org.apache.flex.core.IRangeModel.
- * org.apache.flex.core.IBeadView: constructs the parts of the component.
- * org.apache.flex.core.IBeadController: handles the input events.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class NumericStepper extends UIBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function NumericStepper()
- {
- super();
- }
-
- [Bindable("valueChange")]
- /**
- * The current value of the control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Number
- {
- return IRangeModel(model).value;
- }
- public function set value(newValue:Number):void
- {
- IRangeModel(model).value = newValue;
- }
-
- /**
- * The minimum value the control will display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get minimum():Number
- {
- return IRangeModel(model).minimum;
- }
- public function set minimum(value:Number):void
- {
- IRangeModel(model).minimum = value;
- }
-
- /**
- * The maximum value the control will display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maximum():Number
- {
- return IRangeModel(model).maximum;
- }
- public function set maximum(value:Number):void
- {
- IRangeModel(model).maximum = value;
- }
-
- /**
- * The amount to increase or descrease the value. The value
- * will not exceed the minimum or maximum value. The final
- * value is affected by the snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get stepSize():Number
- {
- return IRangeModel(model).stepSize;
- }
- public function set stepSize(value:Number):void
- {
- IRangeModel(model).stepSize = value;
- }
-
- /**
- * The modulus for the value. If this property is set,
- * the value displayed with a muliple of the snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get snapInterval():Number
- {
- return IRangeModel(model).snapInterval;
- }
- public function set snapInterval(value:Number):void
- {
- IRangeModel(model).snapInterval = value;
- }
-
- COMPILE::JS
- private var input:TextInput;
-
- COMPILE::JS
- private var spinner:Spinner;
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
-
- input = new TextInput();
- input.className = "NumericStepperInput";
- input.typeNames = "NumericStepperInput";
- addElement(input);
- input.positioner.style.display = 'inline-block';
- input.positioner.style.width = '100px';
-
- spinner = new Spinner();
- addElement(spinner);
-
- /* TODO: ajh move to view and css */
- spinner.positioner.style.display = 'inline-block';
- goog.events.listen(spinner, 'valueChange',
- spinnerChange);
-
- element.flexjs_wrapper = this;
- className = 'NumericStepper';
-
- input.text = String(spinner.value);
-
- return element;
- }
-
- /**
- * @param event The input event.
- */
- COMPILE::JS
- private function spinnerChange(event:Event):void
- {
- var newValue:Number = spinner.value;
- value = newValue;
- input.text = String(spinner.value);
- dispatchEvent(new Event('valueChange'));
- };
-
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as
deleted file mode 100644
index ab3b114..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Panel.as
+++ /dev/null
@@ -1,196 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IPanelModel;
- import org.apache.flex.core.IChild;
- import org.apache.flex.html.beads.PanelView;
- import org.apache.flex.events.Event;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [Event(name="close", type="org.apache.flex.events.Event")]
-
- /**
- * The Panel class is a Container component capable of parenting other
- * components. The Panel has a TitleBar. If you want to a Panel with
- * a ControlBar, use PanelWithControlBar which
- * will instantiate, by default, an ControlBar.
- * The Panel uses the following bead types:
- *
- * org.apache.flex.core.IBeadModel: the data model for the Panel that includes the title and whether
- * or not to display the close button.
- * org.apache.flex.core.IBeadView: creates the parts of the Panel.
- * org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
- * org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
- *
- * @toplevel
- * @see PanelWithControlBar
- * @see ControlBar
- * @see TitleBar
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Panel extends Group
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Panel()
- {
- super();
-
- className = "Panel";
- }
-
- public function $addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- super.addElement(c, dispatchEvent);
- }
-
- public function get $numElements():Number
- {
- return super.numElements;
- }
-
- public function $getElementAt(index:Number):IChild
- {
- return super.getElementAt(index);
- }
-
- /**
- * The string to display in the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return IPanelModel(model).title;
- }
- public function set title(value:String):void
- {
- IPanelModel(model).title = value;
- }
-
- /**
- * The HTML string to display in the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return IPanelModel(model).htmlTitle;
- }
- public function set htmlTitle(value:String):void
- {
- IPanelModel(model).htmlTitle = value;
- }
-
- /**
- * Whether or not to show a Close button in the org.apache.flex.html.TitleBar.
- */
- public function get showCloseButton():Boolean
- {
- return IPanelModel(model).showCloseButton;
- }
- public function set showCloseButton(value:Boolean):void
- {
- IPanelModel(model).showCloseButton = value;
- }
-
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var panelView:PanelView = view as PanelView;
- panelView.contentArea.addElement(c, dispatchEvent);
- panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- var panelView:PanelView = view as PanelView;
- panelView.contentArea.addElementAt(c, index, dispatchEvent);
- panelView.contentArea.dispatchEvent(new Event("layoutNeeded"));
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function getElementIndex(c:IChild):int
- {
- var panelView:PanelView = view as PanelView;
- return panelView.contentArea.getElementIndex(c);
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- var panelView:PanelView = view as PanelView;
- panelView.contentArea.removeElement(c, dispatchEvent);
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function get numElements():int
- {
- var panelView:PanelView = view as PanelView;
- return panelView.contentArea.numElements;
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.html.beads.PanelView
- */
- override public function getElementAt(index:int):IChild
- {
- var panelView:PanelView = view as PanelView;
- return panelView.contentArea.getElementAt(index);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
deleted file mode 100644
index d5ff4b1..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/PanelWithControlBar.as
+++ /dev/null
@@ -1,76 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IPanelModel;
-
- [Event(name="close", type="org.apache.flex.events.Event")]
-
- /**
- * The Panel class is a Container component capable of parenting other
- * components. The Panel has a TitleBar and an optional org.apache.flex.html.ControlBar.
- * The Panel uses the following bead types:
- *
- * org.apache.flex.core.IBeadModel: the data model for the Panel that includes the title and whether
- * or not to display the close button.
- * org.apache.flex.core.IBeadView: creates the parts of the Panel.
- * org.apache.flex.core.IBorderBead: if present, draws a border around the Panel.
- * org.apache.flex.core.IBackgroundBead: if present, provides a colored background for the Panel.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class PanelWithControlBar extends Panel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function PanelWithControlBar()
- {
- super();
- }
-
- /**
- * The items in the org.apache.flex.html.ControlBar. Setting this property automatically
- * causes the ControlBar to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get controlBar():Array
- {
- return IPanelModel(model).controlBar;
- }
- public function set controlBar(value:Array):void
- {
- IPanelModel(model).controlBar = value;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as
deleted file mode 100644
index d50b7d3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RadioButton.as
+++ /dev/null
@@ -1,351 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- COMPILE::SWF
- {
- import flash.display.DisplayObject;
- import flash.events.MouseEvent;
- import flash.utils.Dictionary;
- }
-
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IValueToggleButtonModel;
- 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.RadioButtonIcon;
- }
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.core.IUIBase;
-
- [Event(name="change", type="org.apache.flex.events.Event")]
-
- /**
- * The RadioButton class is a component that displays a selectable Button. RadioButtons
- * are typically used in groups, identified by the groupName property. RadioButton use
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the RadioButton..
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class RadioButton extends UIButtonBase implements IStrand
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RadioButton()
- {
- super();
-
- addEventListener(org.apache.flex.events.MouseEvent.CLICK, internalMouseHandler);
- }
-
- protected static var dict:Dictionary = new Dictionary(true);
-
- private var _groupName:String;
-
- /**
- * The name of the group. Only one RadioButton in a group is selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get groupName() : String
- {
- return IValueToggleButtonModel(model).groupName;
- }
- public function set groupName(value:String) : void
- {
- IValueToggleButtonModel(model).groupName = value;
- }
-
- /**
- * The string used as a label for the RadioButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return IValueToggleButtonModel(model).text;
- }
- public function set text(value:String):void
- {
- IValueToggleButtonModel(model).text = value;
- }
-
- /**
- * Whether or not the RadioButton instance is selected. Setting this property
- * causes the currently selected RadioButton in the same group to lose the
- * selection.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return IValueToggleButtonModel(model).selected;
- }
- public function set selected(selValue:Boolean):void
- {
- IValueToggleButtonModel(model).selected = selValue;
-
- // if this button is being selected, its value should become
- // its group's selectedValue
- if( selValue ) {
- for each(var rb:RadioButton in dict)
- {
- if( rb.groupName == groupName )
- {
- rb.selectedValue = value;
- }
- }
- }
- }
-
- /**
- * The value associated with the RadioButton. For example, RadioButtons with labels,
- * "Red", "Green", and "Blue" might have the values 0, 1, and 2 respectively.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Object
- {
- return IValueToggleButtonModel(model).value;
- }
- public function set value(newValue:Object):void
- {
- IValueToggleButtonModel(model).value = newValue;
- }
-
- /**
- * The group's currently selected value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedValue():Object
- {
- return IValueToggleButtonModel(model).selectedValue;
- }
- public function set selectedValue(newValue:Object):void
- {
- // a radio button is really selected when its value matches that of the group's value
- IValueToggleButtonModel(model).selected = (newValue == value);
- IValueToggleButtonModel(model).selectedValue = newValue;
- }
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- super.addedToParent();
-
- // if this instance is selected, set the local selectedValue to
- // this instance's value
- if( selected ) selectedValue = value;
-
- else {
-
- // make sure this button's selectedValue is set from its group's selectedValue
- // to keep it in sync with the rest of the buttons in its group.
- for each(var rb:RadioButton in dict)
- {
- if( rb.groupName == groupName )
- {
- selectedValue = rb.selectedValue;
- break;
- }
- }
- }
-
- dict[this] = this;
- }
-
- /**
- * @private
- */
- private function internalMouseHandler(event:org.apache.flex.events.MouseEvent) : void
- {
- // prevent radiobutton from being turned off by a click
- if( !selected ) {
- selected = !selected;
- dispatchEvent(new Event("change"));
- }
- }
- }
-
- COMPILE::JS
- public class RadioButton extends UIBase
- {
- public static var radioCounter:int = 0;
-
- private var labelFor:HTMLLabelElement;
- private var textNode:Text;
- private var icon:RadioButtonIcon;
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion HTMLInputElement
- * @flexjsignorecoercion HTMLLabelElement
- * @flexjsignorecoercion Text
- */
- override protected function createElement():WrappedHTMLElement
- {
- icon = new RadioButtonIcon()
- icon.id = '_radio_' + RadioButton.radioCounter++;
-
- textNode = document.createTextNode('radio button') as Text;
-
- labelFor = document.createElement('label') as HTMLLabelElement;
- labelFor.appendChild(icon.element);
- labelFor.appendChild(textNode);
-
- element = labelFor as WrappedHTMLElement;
-
- positioner = element;
- //positioner.style.position = 'relative';
-
- (element as WrappedHTMLElement).flexjs_wrapper = this;
- (textNode as WrappedHTMLElement).flexjs_wrapper = this;
- (icon.element as WrappedHTMLElement).flexjs_wrapper = this;
-
- className = 'RadioButton';
- typeNames = 'RadioButton, RadioButtonIcon';
-
- return element;
- }
-
- override public function set id(value:String):void
- {
- super.id = value;
- labelFor.id = value;
- icon.element.id = value;
- }
-
- public function get groupName():String
- {
- return (icon.element as HTMLInputElement).name as String;
- }
- public function set groupName(value:String):void
- {
- (icon.element as HTMLInputElement).name = value;
- }
-
- public function get text():String
- {
- return textNode.nodeValue as String;
- }
- public function set text(value:String):void
- {
- textNode.nodeValue = value;
- }
-
- /** @export */
- public function get selected():Boolean
- {
- return (icon.element as HTMLInputElement).checked;
- }
- public function set selected(value:Boolean):void
- {
- (icon.element as HTMLInputElement).checked = value;
- }
-
- public function get value():Object
- {
- return (icon.element as HTMLInputElement).value;
- }
- public function set value(v:Object):void
- {
- (icon.element as HTMLInputElement).value = v as String;
- }
-
- public function get selectedValue():Object
- {
- var buttons:NodeList;
- var groupName:String;
- var i:int;
- var n:int;
-
- groupName = (icon.element as HTMLInputElement).name as String;
- buttons = document.getElementsByName(groupName);
- n = buttons.length;
-
- for (i = 0; i < n; i++) {
- if (buttons[i].checked) {
- return buttons[i].value;
- }
- }
- return null;
- }
-
- /**
- * @flexjsignorecoercion Array
- */
- public function set selectedValue(value:Object):void
- {
- var buttons:NodeList;
- var groupName:String;
- var i:int;
- var n:int;
-
- groupName = (icon.element as HTMLInputElement).name as String;
- buttons = document.getElementsByName(groupName);
- n = buttons.length;
- for (i = 0; i < n; i++) {
- if (buttons[i].value === value) {
- buttons[i].checked = true;
- break;
- }
- }
- }
- }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as
deleted file mode 100644
index aeedb5d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/RangeStepper.as
+++ /dev/null
@@ -1,70 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.UIBase;
-
- /**
- * The RangeStepper control allows for the selection of a single value
- * from multiple choices.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RangeStepper extends UIBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RangeStepper()
- {
- super();
-
- className = "RangeStepper";
-
- setWidthAndHeight(40, 60, true);
- }
-
- /**
- * The value selected or set.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set value(newValue:Number):void
- {
- IRangeModel(model).value = newValue;
- }
- public function get value():Number
- {
- return IRangeModel(model).value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as
deleted file mode 100644
index e04b459..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleAlert.as
+++ /dev/null
@@ -1,141 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IAlertModel;
- import org.apache.flex.core.IPopUp;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
-
- [Event(name="close", type="org.apache.flex.events.Event")]
-
- /**
- * The SimpleAlert class is a component that displays a message and an OK button. The
- * SimpleAlert converts directly to window.alert() for HTML. SimpleAlert uses
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model, which includes the message.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the Alert.
- * org.apache.flex.core.IBeadController: the bead responsible for handling input events.
- * org.apache.flex.core.IBorderBead: a bead, if present, that draws a border around the control.
- * org.apache.flex.core.IBackgroundBead: a bead, if present, that creates a solid-color background.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SimpleAlert extends UIBase implements IPopUp
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SimpleAlert()
- {
- super();
-
- className = "SimpleAlert";
- }
-
- /**
- * The message to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function get message():String
- {
- return IAlertModel(model).message;
- }
- private function set message(value:String):void
- {
- IAlertModel(model).message = value;
- }
-
- /**
- * The HTML message to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function get htmlMessage():String
- {
- return IAlertModel(model).htmlMessage;
- }
- private function set htmlMessage(value:String):void
- {
- IAlertModel(model).htmlMessage = value;
- }
-
- /**
- * This function causes the SimpleAlert to appear. The parent is used for ActionScript and
- * identifies the IPopUpParent that manages the alert.
- *
- * @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 showAlert(parent:Object) : void
- {
- parent.addElement(this);
- }
-
- /**
- * A convenience function to compose and display the alert.
- *
- * @param String message The content to display in the SimpleAlert.
- * @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
- */
- static public function show(message:String, parent:Object):SimpleAlert
- {
- COMPILE::SWF
- {
- var alert:SimpleAlert = new SimpleAlert();
- alert.message = message;
- alert.showAlert(parent);
-
- return alert;
- }
- COMPILE::JS
- {
- alert(message);
- return null;
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as
deleted file mode 100644
index 0d254e5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/SimpleList.as
+++ /dev/null
@@ -1,80 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- COMPILE::JS
- {
- import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The SimpleList class is a component that displays data in a vertical column. This
- * component differs from org.apache.flex.html.List in that it displays
- * only string values and maps to the <select> HTML element.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SimpleList extends List
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SimpleList()
- {
- super();
- }
-
- /**
- * @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 = 5;
- goog.events.listen(element, 'change',
- changeHandler);
- positioner = element;
- //positioner.style.position = 'relative';
- className = 'SimpleList';
-
- return element;
- }
-
- /**
- * @flexjsignorecoercion HTMLSelectElement
- */
- COMPILE::JS
- protected function changeHandler(event:Event):void
- {
- model.selectedIndex = (element as HTMLSelectElement).selectedIndex;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as
deleted file mode 100644
index fc2889b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Slider.as
+++ /dev/null
@@ -1,199 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.UIBase;
-
- COMPILE::JS
- {
- import org.apache.flex.html.beads.controllers.SliderMouseController;
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [Event(name="valueChange", type="org.apache.flex.events.Event")]
-
- /**
- * The Slider class is a component that displays a range of values using a
- * track and a thumb control. The Slider uses the following bead types:
- *
- * org.apache.flex.core.IBeadModel: the data model, typically an IRangeModel, that holds the Slider values.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the Slider.
- * org.apache.flex.core.IBeadController: the bead that handles input.
- * org.apache.flex.core.IThumbValue: the bead responsible for the display of the thumb control.
- * org.apache.flex.core.ITrackView: the bead responsible for the display of the track.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Slider extends UIBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Slider()
- {
- super();
-
- className = "Slider";
-
- IRangeModel(model).value = 0;
- IRangeModel(model).minimum = 0;
- IRangeModel(model).maximum = 100;
- IRangeModel(model).stepSize = 1;
- IRangeModel(model).snapInterval = 1;
- }
-
- /**
- * The current value of the Slider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Number
- {
- return IRangeModel(model).value;
- }
- public function set value(newValue:Number):void
- {
- IRangeModel(model).value = newValue;
- }
-
- /**
- * The minimum value of the Slider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get minimum():Number
- {
- return IRangeModel(model).minimum;
- }
- public function set minimum(value:Number):void
- {
- IRangeModel(model).minimum = value;
- }
-
- /**
- * The maximum value of the Slider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maximum():Number
- {
- return IRangeModel(model).maximum;
- }
- public function set maximum(value:Number):void
- {
- IRangeModel(model).maximum = value;
- }
-
- /**
- * The modulus of the Slider value. The thumb will be positioned
- * at the nearest multiple of this value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get snapInterval():Number
- {
- return IRangeModel(model).snapInterval;
- }
- public function set snapInterval(value:Number):void
- {
- IRangeModel(model).snapInterval = value;
- }
-
- /**
- * The amount to move the thumb when the track is selected. This value is
- * adjusted to fit the nearest snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get stepSize():Number
- {
- return IRangeModel(model).stepSize;
- }
- public function set stepSize(value:Number):void
- {
- IRangeModel(model).stepSize = value;
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
-
- // just to give it some default values
- element.style.width = '100px';
- element.style.height = '30px';
-
- positioner = element;
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
-
- className = 'Slider';
-
- return element;
- }
-
- /**
- * @private
- */
- COMPILE::JS
- public function snap(value:Number):Number
- {
- var si:Number = snapInterval;
- var n:Number = Math.round((value - minimum) / si) *
- si + minimum;
- if (value > 0)
- {
- if (value - n < n + si - value)
- return n;
- return n + si;
- }
- if (value - n > n + si - value)
- return n + si;
- return n;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as
deleted file mode 100644
index cc65cd8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spacer.as
+++ /dev/null
@@ -1,65 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.UIBase;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The Spacer class takes up space in the UI layout.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Spacer extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Spacer()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- this.element = document.createElement('div') as WrappedHTMLElement;
- this.positioner = this.element;
- this.element.flexjs_wrapper = this;
-
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as
deleted file mode 100644
index 2cc160e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Spinner.as
+++ /dev/null
@@ -1,167 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.UIBase;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [Event(name="valueChange", type="org.apache.flex.events.Event")]
-
- /**
- * The Spinner class is a component that displays a control for incrementing a value
- * and a control for decrementing a value. The org.apache.flex.html.NumericStepper
- * uses a Spinner as part of the component. Spinner uses the following beads:
- *
- * org.apache.flex.core.IBeadModel: an IRangeModel to hold the properties.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the Spinner.
- * org.apache.flex.core.IBeadController: a bead that handles the input events.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Spinner extends UIBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Spinner()
- {
- super();
-
- className = "Spinner";
- }
-
- /**
- * The current value of the Spinner.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Number
- {
- return IRangeModel(model).value;
- }
- public function set value(newValue:Number):void
- {
- IRangeModel(model).value = newValue;
- }
-
- /**
- * The minimum value of the Spinner.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get minimum():Number
- {
- return IRangeModel(model).minimum;
- }
- public function set minimum(value:Number):void
- {
- IRangeModel(model).minimum = value;
- }
-
- /**
- * The maximum value of the Spinner.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maximum():Number
- {
- return IRangeModel(model).maximum;
- }
- public function set maximum(value:Number):void
- {
- IRangeModel(model).maximum = value;
- }
-
- /**
- * The modulus for the value. If this property is set,
- * the value displayed with a muliple of the snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get snapInterval():Number
- {
- return IRangeModel(model).snapInterval;
- }
- public function set snapInterval(value:Number):void
- {
- IRangeModel(model).snapInterval = value;
- }
-
- /**
- * The amount to increase or descrease the value. The value
- * will not exceed the minimum or maximum value. The final
- * value is affected by the snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get stepSize():Number
- {
- return IRangeModel(model).stepSize;
- }
- public function set stepSize(value:Number):void
- {
- IRangeModel(model).stepSize = value;
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
-
- element.style.verticalAlign = 'middle';
- element.flexjs_wrapper = this;
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as
deleted file mode 100644
index 2eb9c72..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextArea.as
+++ /dev/null
@@ -1,186 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
-
- COMPILE::JS
- {
- import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Dispatched when the user changes the text.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8.0
- */
- [Event(name="change", type="org.apache.flex.events.Event")]
-
- /**
- * The TextArea class implements the basic control for
- * multi-line text input.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextArea extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextArea()
- {
- super();
-
- COMPILE::SWF
- {
- model.addEventListener("textChange", textChangeHandler);
- }
- }
-
- /**
- * @copy org.apache.flex.html.Label#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLInputElement
- */
- [Bindable(event="change")]
- public function get text():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).text;
- }
- COMPILE::JS
- {
- return (element as HTMLInputElement).value;
- }
- }
-
- /**
- * @private
- * @flexjsignorecoercion HTMLInputElement
- */
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- inSetter = true;
- ITextModel(model).text = value;
- inSetter = false;
- }
- COMPILE::JS
- {
- (element as HTMLInputElement).value = value;
- dispatchEvent(new Event('textChange'));
- }
- }
-
- /**
- * @copy org.apache.flex.html.Label#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Bindable(event="change")]
- public function get html():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).html;
- }
- COMPILE::JS
- {
- return (element as HTMLInputElement).value;
- }
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).html = value;
- }
- COMPILE::JS
- {
- (element as HTMLInputElement).value = value;
- dispatchEvent(new Event('textChange'));
- }
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('textarea') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
-
- goog.events.listen(element, 'input', textChangeHandler);
-
- element.flexjs_wrapper = this;
- element.className = 'TextArea';
- typeNames = 'TextArea';
-
- return element;
- }
-
- private var inSetter:Boolean;
-
- /**
- * dispatch change event in response to a textChange event
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8.0
- */
- public function textChangeHandler(event:Event):void
- {
- if (!inSetter)
- {
- dispatchEvent(new Event(Event.CHANGE));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as
deleted file mode 100644
index ce2a454..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextButton.as
+++ /dev/null
@@ -1,140 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
-
- COMPILE::JS {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- [DefaultProperty("text")]
-
- /**
- * The TextButton class implements a basic button that
- * displays text.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextButton extends Button
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextButton()
- {
- super();
- }
-
- /**
- * @copy org.apache.flex.html.Label#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).text;
- }
- COMPILE::JS
- {
- return element.innerHTML;
- }
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).text = value;
- }
- COMPILE::JS
- {
- this.element.innerHTML = value;
- this.dispatchEvent('textChange');
- }
- }
-
- /**
- * @copy org.apache.flex.html.Label#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).html;
- }
- COMPILE::JS
- {
- return element.innerHTML;
- }
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).html = value;
- }
- COMPILE::JS
- {
- this.element.innerHTML = value;
- this.dispatchEvent('textChange');
- }
- }
-
- /**
- * @private
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- var element:WrappedHTMLElement = super.createElement();
- className = "TextButton";
- typeNames = "TextButton";
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as
deleted file mode 100644
index 0a63c95..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TextInput.as
+++ /dev/null
@@ -1,188 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- COMPILE::JS
- {
- import goog.events;
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Dispatched when the user changes the text.
- *
- * @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 TextInput class implements the basic control for
- * single-line text input.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextInput extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextInput()
- {
- super();
-
- COMPILE::SWF
- {
- model.addEventListener("textChange", textChangeHandler);
- }
- }
-
- /**
- * @copy org.apache.flex.html.Label#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLInputElement
- */
- [Bindable(event="change")]
- public function get text():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).text;
- }
- COMPILE::JS
- {
- return (element as HTMLInputElement).value;
- }
- }
-
- /**
- * @private
- * @flexjsignorecoercion HTMLInputElement
- */
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- inSetter = true;
- ITextModel(model).text = value;
- inSetter = false;
- }
- COMPILE::JS
- {
- (element as HTMLInputElement).value = value;
- dispatchEvent(new Event('textChange'));
- }
- }
-
- /**
- * @copy org.apache.flex.html.Label#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLInputElement
- */
- [Bindable(event="change")]
- public function get html():String
- {
- COMPILE::SWF
- {
- return ITextModel(model).html;
- }
- COMPILE::JS
- {
- return (element as HTMLInputElement).value;
- }
- }
-
- /**
- * @private
- * @flexjsignorecoercion HTMLInputElement
- */
- public function set html(value:String):void
- {
- COMPILE::SWF
- {
- ITextModel(model).html = value;
- }
- COMPILE::JS
- {
- (element as HTMLInputElement).value = value;
- dispatchEvent(new Event('textChange'));
- }
- }
-
- private var inSetter:Boolean;
-
- /**
- * dispatch change event in response to a textChange event
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function textChangeHandler(event:Event):void
- {
- if (!inSetter)
- dispatchEvent(new Event(Event.CHANGE));
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('input') as WrappedHTMLElement;
- element.setAttribute('type', 'text');
- element.className = 'TextInput';
- typeNames = 'TextInput';
-
- //attach input handler to dispatch flexjs change event when user write in textinput
- //goog.events.listen(element, 'change', killChangeHandler);
- goog.events.listen(element, 'input', textChangeHandler);
-
- positioner = element;
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
-
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as
deleted file mode 100644
index 2764731..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/TitleBar.as
+++ /dev/null
@@ -1,144 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IChrome;
- import org.apache.flex.core.ITitleBarModel;
- import org.apache.flex.core.ValuesManager;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
- import org.apache.flex.events.Event;
- import org.apache.flex.html.Label;
-
- /**
- * The TitleBar class is a Container component that displays a title and an
- * optional close button. The TitleBar uses the following bead types:
- *
- * org.apache.flex.core.IBeadModel: the data model, which includes the title and showCloseButton values.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the component.
- * org.apache.flex.core.IBeadLayout: the bead that handles size and position of the component parts
- * (org.apache.flex.html.Label and org.apache.flex.html.Button).
- * org.apache.flex.core.IMeasurementBead: a bead that helps determine the size of the
- * org.apache.flex.html.TitleBar for layout.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TitleBar extends Group implements IChrome
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TitleBar()
- {
- super();
-
- className = "TitleBar";
- }
-
- /**
- * The title string to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return ITitleBarModel(model).title;
- }
- public function set title(value:String):void
- {
- ITitleBarModel(model).title = value;
- }
-
- /**
- * The HTML title to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return ITitleBarModel(model).htmlTitle;
- }
- public function set htmlTitle(value:String):void
- {
- ITitleBarModel(model).htmlTitle = value;
- }
-
- /**
- * Whether or not to show a org.apache.flex.html.Button that indicates the component
- * may be closed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get showCloseButton():Boolean
- {
- return ITitleBarModel(model).showCloseButton;
- }
- public function set showCloseButton(value:Boolean):void
- {
- ITitleBarModel(model).showCloseButton = value;
- }
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- super.addedToParent();
-
- if( getBeadByType(IBeadLayout) == null )
- addBead(new (ValuesManager.valuesImpl.getValue(this, "iBeadLayout")) as IBead);
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
-
- positioner = element;
- element.flexjs_wrapper = this;
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as
deleted file mode 100644
index fb5ff4e..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as
+++ /dev/null
@@ -1,209 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IToggleButtonModel;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
-
- COMPILE::SWF
- {
- import flash.events.MouseEvent;
- }
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.events.MouseEvent;
- }
-
- //--------------------------------------
- // 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")]
-
- /**
- * Dispatched when ToggleTextButton is being selected/unselected.
- *
- * @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 ToggleButton class is a TextButton that supports
- * a selected property.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ToggleTextButton extends TextButton implements IStrand, IEventDispatcher, IUIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ToggleTextButton()
- {
- super();
- COMPILE::SWF
- {
- addEventListener(MouseEvent.CLICK, internalMouseHandler);
- }
- COMPILE::JS
- {
- this.typeNames = 'toggleTextButton';
- }
- }
-
- COMPILE::JS
- private var _selected:Boolean = false;
-
- [Bindable("change")]
- /**
- * <code>true</code> if the Button is selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- COMPILE::SWF
- {
- return IToggleButtonModel(model).selected;
- }
- COMPILE::JS
- {
- return _selected;
- }
- }
-
- /**
- * @private
- */
- public function set selected(value:Boolean):void
- {
- COMPILE::SWF
- {
- IToggleButtonModel(model).selected = value;
-
- internalSelected();
-
- dispatchEvent(new Event("change"));
- }
- COMPILE::JS
- {
- if (_selected != value)
- {
- _selected = value;
-
- internalSelected();
-
- dispatchEvent(new Event("change"));
- }
- }
- }
-
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- super.createElement();
- element.addEventListener("click", clickHandler, false);
- internalSelected();
-
- return element;
- }
-
- COMPILE::JS
- private function clickHandler(event:Event):void
- {
- selected = !selected;
- }
-
- COMPILE::SWF
- private function internalMouseHandler(event:MouseEvent) : void
- {
- selected = !selected;
- }
-
- private function internalSelected():void
- {
- COMPILE::SWF
- {
- var name:String = super.className;
- if (selected)
- {
- className = "toggleTextButton_Selected" + (name ? " " + name : "");
- }
- else
- {
- className = "toggleTextButton" + (name ? " " + name : "");
- }
- }
-
- COMPILE::JS
- {
- var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected");
- if (!isToggleTextButtonSelected && _selected == true)
- {
- element.classList.add("toggleTextButton_Selected");
- }
- else if (isToggleTextButtonSelected && _selected == false)
- {
- element.classList.toggle("toggleTextButton_Selected");
- }
-
- var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton");
- if (!isToggleTextButton && _selected == false)
- {
- element.classList.add("toggleTextButton");
- }
- else if (isToggleTextButton && _selected == true)
- {
- element.classList.toggle("toggleTextButton");
- }
-
- typeNames = element.className;
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as
deleted file mode 100644
index c7e3cb8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToolTip.as
+++ /dev/null
@@ -1,61 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /*
- * Label probably should extend TextField directly,
- * but the player's APIs for TextLine do not allow
- * direct instantiation, and we might want to allow
- * Labels to be declared and have their actual
- * view be swapped out.
- */
-
- /**
- * The Label class implements the basic control for labeling
- * other controls.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ToolTip extends Label
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ToolTip()
- {
- super();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as
deleted file mode 100644
index 92ad0ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Tree.as
+++ /dev/null
@@ -1,74 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.collections.FlattenedList;
- import org.apache.flex.collections.HierarchicalData;
-
- /**
- * The Tree component displays structured data. The Tree uses a HierarchicalData
- * object as its data provider.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Tree extends List
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Tree()
- {
- super();
- }
-
- private var _hierarchicalData:HierarchicalData;
- private var _flatList:FlattenedList;
-
- /**
- * The dataProvider should be of type HierarchicalData.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @see org.apache.flex.collections.HierarchicalData.
- */
- override public function get dataProvider():Object
- {
- return _hierarchicalData;
- }
- override public function set dataProvider(value:Object):void
- {
- _hierarchicalData = value as HierarchicalData;
-
- _flatList = new FlattenedList(_hierarchicalData);
-
- super.dataProvider = _flatList;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as
deleted file mode 100644
index 13df0e8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VContainer.as
+++ /dev/null
@@ -1,63 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-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 VerticalLayout.
- *
- * This is effectively the same as the pattern
- * <code>
- * <basic:Container xmlns:basic="library://ns.apache.org/flexjs/basic">
- * <basic:layout>
- * <basic:VerticalLayout />
- * </basic:layout>
- * </basic:Container>
- * </code>
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VContainer extends Container
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VContainer()
- {
- super();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as
deleted file mode 100644
index bdf05eb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/VRule.as
+++ /dev/null
@@ -1,69 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- import org.apache.flex.core.UIBase;
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The VRule class displays a vertical line
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VRule extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VRule()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- element.style.borderLeftStyle = 'solid';
- element.style.borderLeftWidth = '1px';
- element.style.borderTop = 'none';
- element.style.borderBottom = 'none';
- element.style.borderRight = 'none';
- positioner = element;
- //positioner.style.position = 'relative';
- element.flexjs_wrapper = this;
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as
deleted file mode 100644
index 326652b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/WebBrowser.as
+++ /dev/null
@@ -1,146 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html
-{
- COMPILE::SWF {
- import flash.events.Event;
- import flash.html.HTMLLoader;
- import flash.net.URLRequest;
-
- import org.apache.flex.events.utils.IHandlesOriginalEvent;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- import org.apache.flex.core.UIBase
- import org.apache.flex.html.beads.models.WebBrowserModel;
-
- /**
- * Dispatched whenever the WebBrowser's location has been changed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="locationChanged", type="org.apache.flex.events.Event")]
-
- /**
- * The WebBrowser provides a space in which to display a web page within
- * a FlexJS application. Use the url property to change the location of
- * the web page being displayed.
- *
- * @toplevel
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class WebBrowser extends UIBase implements IHandlesOriginalEvent
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function WebBrowser()
- {
- super();
- }
-
- /**
- * The location of the web page to display. Security restrictions may
- * apply.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get url():String
- {
- return (model as WebBrowserModel).url;
- }
-
- public function set url(value:String):void
- {
- (model as WebBrowserModel).url = value;
- }
- }
-
- COMPILE::JS
- public class WebBrowser extends UIBase
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function WebBrowser()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('iframe') as WrappedHTMLElement;
- element.flexjs_wrapper = this;
-
- var iframe:HTMLIFrameElement = element as HTMLIFrameElement;
- iframe.frameBorder = "0";
- iframe.src = "JavaScript:''";
- iframe.sandbox = "allow-top-navigation allow-forms allow-scripts";
-
- positioner = element;
-
- return element;
- }
-
- /**
- * The location of the web page to display. Security restrictions may
- * apply.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get url():String
- {
- return (model as WebBrowserModel).url;
- }
-
- public function set url(value:String):void
- {
- (model as WebBrowserModel).url = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
deleted file mode 100644
index 1a1e019..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/NumericOnlyTextInputBead.as
+++ /dev/null
@@ -1,202 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
- COMPILE::JS
- {
- import goog.events.BrowserEvent;
- }
- COMPILE::SWF
- {
- import flash.events.TextEvent;
- import flash.text.TextField;
-
- import org.apache.flex.core.CSSTextField;
- }
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- COMPILE::SWF
- {
- import org.apache.flex.html.beads.ITextFieldView;
- }
-
- /**
- * The NumericOnlyTextInputBead class is a specialty bead that can be used with
- * any TextInput control. The bead prevents non-numeric entry into the text input
- * area.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class NumericOnlyTextInputBead implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function NumericOnlyTextInputBead()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- COMPILE::SWF
- {
- IEventDispatcher(value).addEventListener("beadsAdded",beadsAddedHandler);
- }
- COMPILE::JS
- {
- var host:UIBase = _strand as UIBase;
- host.element.addEventListener("keypress", validateInput, false);
- }
- }
-
- private var _decimalSeparator:String = ".";
-
- /**
- * The character used to separate the integer and fraction parts of numbers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get decimalSeparator():String
- {
- return _decimalSeparator;
- }
- public function set decimalSeparator(value:String):void
- {
- if (_decimalSeparator != value) {
- _decimalSeparator = value;
- }
- }
-
- private var _maxChars:int = 0;
-
- /**
- * The character used to separate the integer and fraction parts of numbers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxChars():int
- {
- return _maxChars;
- }
- public function set maxChars(value:int):void
- {
- if (_maxChars != value) {
- _maxChars = value;
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function beadsAddedHandler(event:Event):void
- {
- // get the ITextFieldView bead, which is required for this bead to work
- var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
- if (textView) {
- var textField:CSSTextField = textView.textField;
- textField.restrict = "0-9" + decimalSeparator;
- textField.maxChars = maxChars;
- // listen for changes to this textField and prevent non-numeric values, such
- // as 34.09.94
- textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput);
- }
- else {
- throw new Error("NumericOnlyTextInputBead requires strand to have an ITextFieldView bead");
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function handleTextInput(event:TextEvent):void
- {
- var insert:String = event.text;
- var caretIndex:int = (event.target as TextField).caretIndex;
- var current:String = (event.target as TextField).text;
- var value:String = current.substring(0,caretIndex) + insert + current.substr(caretIndex);
- var n:Number = Number(value);
- if (isNaN(n)) event.preventDefault();
- }
-
- COMPILE::JS
- private function validateInput(event:BrowserEvent):void
- {
- var code:int = event.charCode;
-
- // backspace or delete
- if (event.keyCode == 8 || event.keyCode == 46) return;
-
- // tab or return/enter
- if (event.keyCode == 9 || event.keyCode == 13) return;
-
- // left or right cursor arrow
- if (event.keyCode == 37 || event.keyCode == 39) return;
-
- var key:String = String.fromCharCode(code);
-
- var regex:RegExp = /[0-9]|\./;
- if (!regex.test(key)) {
- event["returnValue"] = false;
- if (event.preventDefault) event.preventDefault();
- return;
- }
- var cursorStart:int = event.target.selectionStart;
- var cursorEnd:int = event.target.selectionEnd;
- var left:String = event.target.value.substring(0, cursorStart);
- var right:String = event.target.value.substr(cursorEnd);
- var complete:String = left + key + right;
- if (isNaN(parseFloat(complete))) {
- event["returnValue"] = false;
- if (event.preventDefault) event.preventDefault();
- }
-
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as
deleted file mode 100644
index b0c835c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/PasswordInputBead.as
+++ /dev/null
@@ -1,102 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
- COMPILE::SWF
- {
- import org.apache.flex.core.CSSTextField;
- }
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- COMPILE::SWF
- {
- import org.apache.flex.html.beads.ITextFieldView;
- }
-
- /**
- * The PasswordInput class is a specialty bead that can be used with
- * any TextInput control. The bead secures the text input area by masking
- * the input as it is typed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class PasswordInputBead implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function PasswordInputBead()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- COMPILE::SWF
- {
- IEventDispatcher(value).addEventListener("beadsAdded",beadsAddedHandler);
- }
- COMPILE::JS
- {
- var host:UIBase = value as UIBase;
- var e:HTMLInputElement = host.element as HTMLInputElement;
- e.type = 'password';
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function beadsAddedHandler(event:Event):void
- {
- // get the ITextFieldView bead, which is required for this bead to work
- var textView:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
- if (textView) {
- var textField:CSSTextField = textView.textField;
- textField.displayAsPassword = true;
- }
- else {
- throw new Error("PasswordInputBead requires strand to have a TextInputView bead");
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
deleted file mode 100644
index d22cc9a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/TextPromptBead.as
+++ /dev/null
@@ -1,153 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
- COMPILE::SWF
- {
- import flash.text.TextFieldType;
- import flash.text.TextField;
-
- import org.apache.flex.core.CSSTextField;
- }
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The TextPromptBead class is a specialty bead that can be used with
- * any TextInput control. The bead places a string into the input field
- * when there is no value associated with the text property.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextPromptBead implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextPromptBead()
- {
- }
-
- private var _prompt:String;
-
- /**
- * The string to use as the placeholder prompt.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get prompt():String
- {
- return _prompt;
- }
- public function set prompt(value:String):void
- {
- _prompt = value;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion HTMLInputElement
- * @flexjsignorecoercion org.apache.flex.core.UIBase;
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- COMPILE::SWF
- {
- // listen for changes in text to hide or show the prompt
- var model:Object = UIBase(_strand).model;
- if (!model.hasOwnProperty("text")) {
- throw new Error("Model requires a text property when used with TextPromptBead");
- }
- IEventDispatcher(model).addEventListener("textChange", handleTextChange);
-
- // create a TextField that displays the prompt - it shows
- // and hides based on the model's content
- promptField = new TextField();
- promptField.selectable = false;
- promptField.type = TextFieldType.DYNAMIC;
- promptField.mouseEnabled = false;
- promptField.multiline = false;
- promptField.wordWrap = false;
- promptField.textColor = 0xBBBBBB;
-
- // trigger the event handler to display if needed
- handleTextChange(null);
- }
- COMPILE::JS
- {
- var host:UIBase = value as UIBase;
- var e:HTMLInputElement = host.element as HTMLInputElement;
- e.placeholder = prompt;
- }
- }
-
- COMPILE::SWF
- private var promptField:TextField;
- private var promptAdded:Boolean;
-
- /**
- * @private
- */
- COMPILE::SWF
- private function handleTextChange( event:Event ):void
- {
- // see what the model currently has to determine if the prompt should be
- // displayed or not.
- var model:Object = UIBase(_strand).model;
-
- if (model.text != null && model.text.length > 0 ) {
- if (promptAdded) UIBase(_strand).$displayObjectContainer.removeChild(promptField);
- promptAdded = false;
- }
- else {
- if (!promptAdded) UIBase(_strand).$displayObjectContainer.addChild(promptField);
- promptField.text = prompt;
- promptAdded = true;
- promptField.x = 2;
- promptField.y = 2;
- promptField.width = UIBase(_strand).width-5;
- promptField.height = UIBase(_strand).height-4;
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as
deleted file mode 100644
index 64d04bf..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/accessories/ToolTipBead.as
+++ /dev/null
@@ -1,141 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.accessories
-{
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IPopUpHost;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.utils.MouseUtils;
- import org.apache.flex.geom.Point;
- import org.apache.flex.html.ToolTip;
- import org.apache.flex.utils.PointUtils;
- import org.apache.flex.utils.UIUtils;
-
- /**
- * The ToolTipBead class is a specialty bead that can be used with
- * any control. The bead floats a string over a control if
- * the user hovers over the control with a mouse.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ToolTipBead implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ToolTipBead()
- {
- }
-
- private var _toolTip:String;
-
- /**
- * The string to use as the toolTip.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get toolTip():String
- {
- return _toolTip;
- }
- public function set toolTip(value:String):void
- {
- _toolTip = value;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- IEventDispatcher(_strand).addEventListener(MouseEvent.MOUSE_OVER, rollOverHandler, false);
- }
-
- private var tt:ToolTip;
- private var host:IPopUpHost;
-
- /**
- * @private
- */
- protected function rollOverHandler( event:MouseEvent ):void
- {
- IEventDispatcher(_strand).addEventListener(MouseEvent.MOUSE_OUT, rollOutHandler, false);
-
- var comp:IUIBase = _strand as IUIBase
- host = UIUtils.findPopUpHost(comp);
- if (tt) host.removeElement(tt);
-
- tt = new ToolTip();
- tt.text = toolTip;
- var pt:Point = determinePosition(event, event.target);
- tt.x = pt.x;
- tt.y = pt.y;
- host.addElement(tt, false); // don't trigger a layout
- }
-
- /**
- * @private
- * Determines the position of the toolTip.
- */
- protected function determinePosition(event:MouseEvent, base:Object):Point
- {
- var comp:IUIBase = _strand as IUIBase;
- var pt:Point = new Point(comp.width, comp.height);
- pt = PointUtils.localToGlobal(pt, comp);
- return pt;
- }
-
- /**
- * @private
- */
- private function rollOutHandler( event:MouseEvent ):void
- {
- if (tt) {
- host.removeElement(tt);
- }
- tt = null;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as
deleted file mode 100644
index dbe6c05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertMeasurementBead.as
+++ /dev/null
@@ -1,88 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
-
- /**
- * The AlertMeasureBead class provides boundary measurements for an
- * org.apache.flex.html.Alert component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class AlertMeasurementBead implements IMeasurementBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function AlertMeasurementBead()
- {
- }
-
- /**
- * Returns the overall width of the org.apache.flex.html.Alert component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredWidth():Number
- {
- return 0;
- }
-
- /**
- * Returns the overall height of the org.apache.flex.html.Alert component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredHeight():Number
- {
- return 0;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as
deleted file mode 100644
index ed81898..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/AlertView.as
+++ /dev/null
@@ -1,228 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IAlertModel;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.Alert;
- import org.apache.flex.html.ControlBar;
- import org.apache.flex.html.Label;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.TitleBar;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The AlertView class creates the visual elements of the org.apache.flex.html.Alert
- * component. The job of the view bead is to put together the parts of the Alert, such as the
- * title bar, message, and various buttons, within the space of the Alert component strand.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class AlertView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function AlertView()
- {
- }
-
- private var _titleBar:TitleBar;
- private var _controlBar:ControlBar;
- private var _label:Label;
- private var _okButton:TextButton;
- private var _cancelButton:TextButton;
- private var _yesButton:TextButton;
- private var _noButton:TextButton;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
- if (backgroundColor != null || backgroundImage != null)
- {
- if (value.getBeadByType(IBackgroundBead) == null)
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
- }
-
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
- if (borderStyles is Array)
- {
- borderStyle = borderStyles[1];
- }
- if (borderStyle == null)
- {
- borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
- }
- if (borderStyle != null && borderStyle != "none")
- {
- if (value.getBeadByType(IBorderBead) == null)
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
- }
-
- var flags:uint = IAlertModel(UIBase(_strand).model).flags;
- if( flags & Alert.OK ) {
- _okButton = new TextButton();
- _okButton.text = IAlertModel(UIBase(_strand).model).okLabel;
- _okButton.addEventListener("click",handleOK);
- }
- if( flags & Alert.CANCEL ) {
- _cancelButton = new TextButton();
- _cancelButton.text = IAlertModel(UIBase(_strand).model).cancelLabel;
- _cancelButton.addEventListener("click",handleCancel);
- }
- if( flags & Alert.YES ) {
- _yesButton = new TextButton();
- _yesButton.text = IAlertModel(UIBase(_strand).model).yesLabel;
- _yesButton.addEventListener("click",handleYes);
- }
- if( flags & Alert.NO ) {
- _noButton = new TextButton();
- _noButton.text = IAlertModel(UIBase(_strand).model).noLabel;
- _noButton.addEventListener("click",handleNo);
- }
-
- _titleBar = new TitleBar();
- _titleBar.title = IAlertModel(UIBase(_strand).model).title;
-
- _label = new Label();
- _label.text = IAlertModel(UIBase(_strand).model).message;
-
- _controlBar = new ControlBar();
- if( _okButton ) _controlBar.addElement(_okButton);
- if( _cancelButton ) _controlBar.addElement(_cancelButton);
- if( _yesButton ) _controlBar.addElement(_yesButton);
- if( _noButton ) _controlBar.addElement(_noButton);
-
- IParent(_strand).addElement(_titleBar);
- IParent(_strand).addElement(_controlBar);
- IParent(_strand).addElement(_label);
-
- sizeHandler(null);
- }
-
- /**
- * @private
- */
- private function sizeHandler(event:Event):void
- {
- var labelMeasure:IMeasurementBead = _label.measurementBead;
- var titleMeasure:IMeasurementBead = _titleBar.measurementBead;
- var ctrlMeasure:IMeasurementBead = _controlBar.measurementBead;
- var maxWidth:Number = Math.max(titleMeasure.measuredWidth, ctrlMeasure.measuredWidth, labelMeasure.measuredWidth);
-
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
- _titleBar.x = 0;
- _titleBar.y = 0;
- _titleBar.width = maxWidth;
- _titleBar.height = 25;
- _titleBar.dispatchEvent(new Event("layoutNeeded"));
-
- // content placement here
- _label.x = metrics.left;
- _label.y = _titleBar.y + _titleBar.height + metrics.top;
- _label.width = maxWidth - metrics.left - metrics.right;
-
- _controlBar.x = 0;
- _controlBar.y = _titleBar.height + _label.y + _label.height + metrics.bottom;
- _controlBar.width = maxWidth;
- _controlBar.height = 25;
- _controlBar.dispatchEvent(new Event("layoutNeeded"));
-
- UIBase(_strand).width = maxWidth;
- UIBase(_strand).height = _titleBar.height + _label.height + _controlBar.height + metrics.top + metrics.bottom;
- }
-
- /**
- * @private
- */
- private function handleOK(event:MouseEvent):void
- {
- // create some custom event where the detail value
- // is the OK button flag. Do same for other event handlers
- dispatchCloseEvent(Alert.OK);
- }
-
- /**
- * @private
- */
- private function handleCancel(event:MouseEvent):void
- {
- dispatchCloseEvent(Alert.CANCEL);
- }
-
- /**
- * @private
- */
- private function handleYes(event:MouseEvent):void
- {
- dispatchCloseEvent(Alert.YES);
- }
-
- /**
- * @private
- */
- private function handleNo(event:MouseEvent):void
- {
- dispatchCloseEvent(Alert.NO);
- }
-
- /**
- * @private
- */
- public function dispatchCloseEvent(buttonFlag:uint):void
- {
- // TO DO: buttonFlag should be part of the event
- var newEvent:Event = new Event("close",true);
- IEventDispatcher(_strand).dispatchEvent(newEvent);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as
deleted file mode 100644
index e25628a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BackgroundImageBead.as
+++ /dev/null
@@ -1,112 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Bitmap;
- import flash.display.Loader;
- import flash.display.LoaderInfo;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.IOErrorEvent;
- import flash.net.URLRequest;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
-
- /**
- * The BackgroundImageBead is used to render an image as the background to any component
- * that supports it, such as Container.
- *
- * Note that this bead is for ActionScript only since CSS/HTML allows this just by specifying
- * a background image in the style selector. To use this bead, place a ClassReference to it
- * within @media -flex-flash { } group in the CSS declarations.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class BackgroundImageBead implements IBead, IBackgroundBead
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function BackgroundImageBead()
- {
- backgroundSprite = new Sprite();
- }
-
- private var _strand:IStrand;
- private var backgroundSprite:Sprite;
- private var bitmap:Bitmap;
- private var loader:Loader;
-
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- setupBackground(backgroundSprite);
- }
-
- /**
- * @private
- */
- private function setupBackground(sprite:Sprite, state:String = null):void
- {
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
- if (backgroundImage)
- {
- loader = new Loader();
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
- trace(e);
- e.preventDefault();
- });
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- var host:UIBase = UIBase(_strand);
- if (bitmap) {
- host.$displayObjectContainer.removeChild(bitmap);
- }
-
- bitmap = Bitmap(LoaderInfo(e.target).content);
-
- host.$displayObjectContainer.addChildAt(bitmap,0);
-
- if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
- host.setWidth(loader.content.width);
- else
- bitmap.width = UIBase(_strand).width;
-
- if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
- host.setHeight(loader.content.height);
- else
- bitmap.height = UIBase(_strand).height;
- });
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as
deleted file mode 100644
index 712bac8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ButtonBarView.as
+++ /dev/null
@@ -1,70 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.supportClasses.Border;
-
- /**
- * The ButtonBarView class creates the visual elements of the org.apache.flex.html.ButtonBar
- * component. A ButtonBar is a type of List and ButtonBarView extends the ListView bead, adding a border.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ButtonBarView extends ListView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ButtonBarView()
- {
- super();
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- super.strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
deleted file mode 100644
index cc864e4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSButtonView.as
+++ /dev/null
@@ -1,171 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Loader;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.net.URLRequest;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.CSSBorderUtils;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.StringTrimmer;
-
- /**
- * The CSSButtonView class is the default view for
- * the org.apache.flex.html.Button class.
- * It allows the look of the button to be expressed
- * in CSS via the background-image style. This view
- * does not display text. Use CSSTextButtonView and
- * TextButton instead.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CSSButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CSSButtonView()
- {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- }
-
- private var textModel:ITextModel;
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = shape;
-
- setupBackground(overSprite, "hover");
- setupBackground(downSprite, "active");
- setupBackground(upSprite);
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private function sizeChangeHandler(event:org.apache.flex.events.Event):void
- {
- setupSkins();
- }
-
- protected function setupSkins():void
- {
- setupSkin(overSprite, "hover");
- setupSkin(downSprite, "active");
- setupSkin(upSprite);
- updateHitArea();
- }
-
- private function setupSkin(sprite:Sprite, state:String = null):void
- {
- var host:IUIBase = IUIBase(_strand);
- var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
- var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
- var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
- var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
- var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
- var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.width);
- var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.width);
- var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.height);
- var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.height);
-
- CSSBorderUtils.draw(sprite.graphics,
- host.width + pl + pr,
- host.height + pt + pb,
- _strand,
- state, true);
- }
-
- private function setupBackground(sprite:Sprite, state:String = null):void
- {
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
- if (backgroundImage)
- {
- var loader:Loader = new Loader();
- sprite.addChildAt(loader, 0);
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- setupSkin(sprite, state);
- updateHitArea();
- });
- }
- else {
- setupSkin(sprite, state);
- updateHitArea();
- }
- }
-
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
-
- private function updateHitArea():void
- {
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
- shape.graphics.endFill();
-
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
deleted file mode 100644
index 6b4a844..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSImageAndTextButtonView.as
+++ /dev/null
@@ -1,373 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Loader;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.net.URLRequest;
- import flash.text.TextField;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.beads.models.ImageAndTextModel;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.SolidBorderUtil;
- import org.apache.flex.utils.StringTrimmer;
-
- /**
- * The CSSTextButtonView class is the default view for
- * the org.apache.flex.html.TextButton class.
- * It allows the look of the button to be expressed
- * in CSS via the background-image style and displays
- * a text label. This view does not support right-to-left
- * text.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CSSImageAndTextButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CSSImageAndTextButtonView()
- {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- upTextField = new CSSTextField();
- downTextField = new CSSTextField();
- overTextField = new CSSTextField();
- upTextField.selectable = false;
- upTextField.type = TextFieldType.DYNAMIC;
- downTextField.selectable = false;
- downTextField.type = TextFieldType.DYNAMIC;
- overTextField.selectable = false;
- overTextField.type = TextFieldType.DYNAMIC;
- upTextField.autoSize = "left";
- downTextField.autoSize = "left";
- overTextField.autoSize = "left";
- upSprite.addChild(upTextField);
- downSprite.addChild(downTextField);
- overSprite.addChild(overTextField);
- }
-
- private var textModel:ImageAndTextModel;
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- textModel = value.getBeadByType(ImageAndTextModel) as ImageAndTextModel;
- textModel.addEventListener("textChange", textChangeHandler);
- textModel.addEventListener("htmlChange", htmlChangeHandler);
- textModel.addEventListener("imageChange", imageChangeHandler);
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- upTextField.styleParent = _strand;
- downTextField.styleParent = _strand;
- overTextField.styleParent = _strand;
- upTextField.parentDrawsBackground = true;
- downTextField.parentDrawsBackground = true;
- overTextField.parentDrawsBackground = true;
- upTextField.parentHandlesPadding = true;
- downTextField.parentHandlesPadding = true;
- overTextField.parentHandlesPadding = true;
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = shape;
- if (textModel.text !== null)
- text = textModel.text;
- if (textModel.html !== null)
- html = textModel.html;
-
- setupSkins();
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("sizeChanged",sizeChangeHandler);
- }
-
- protected function setupSkins():void
- {
- setupSkin(overSprite, overTextField, "hover");
- setupSkin(downSprite, downTextField, "active");
- setupSkin(upSprite, upTextField);
- updateHitArea();
- }
-
- private function setupSkin(sprite:Sprite, textField:CSSTextField, state:String = null):void
- {
- var host:IUIBase = IUIBase(_strand);
- var sw:uint = host.width;
- var sh:uint = host.height;
-
- textField.defaultTextFormat.leftMargin = 0;
- textField.defaultTextFormat.rightMargin = 0;
- // set it again so it gets noticed
- textField.defaultTextFormat = textField.defaultTextFormat;
-
- var borderColor:uint;
- var borderThickness:uint;
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
- if (borderStyles is Array)
- {
- borderColor = CSSUtils.toColor(borderStyles[2]);
- borderStyle = borderStyles[1];
- borderThickness = borderStyles[0];
- }
- else if (borderStyles is String)
- borderStyle = borderStyles as String;
- var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
- if (value != null)
- borderStyle = value as String;
- value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
- if (value != null)
- borderColor = CSSUtils.toColor(value);
- value = ValuesManager.valuesImpl.getValue(_strand, "border-width", state);
- if (value != null)
- borderThickness = value as uint;
- if (borderStyle == "none")
- {
- borderStyle = "solid";
- borderThickness = 0;
- }
-
- var borderRadius:String;
- var borderEllipseWidth:Number = NaN;
- var borderEllipseHeight:Number = NaN;
- value = ValuesManager.valuesImpl.getValue(_strand, "border-radius", state);
- if (value != null)
- {
- if (value is Number)
- borderEllipseWidth = 2 * (value as Number);
- else
- {
- borderRadius = value as String;
- var arr:Array = StringTrimmer.splitAndTrim(borderRadius, "/");
- borderEllipseWidth = 2 * CSSUtils.toNumber(arr[0]);
- if (arr.length > 1)
- borderEllipseHeight = 2 * CSSUtils.toNumber(arr[1]);
- }
- }
-
- var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
- var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
- var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
- var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
- var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
- var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.width);
- var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.width);
- var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.height);
- var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.height);
-
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
- var bgColor:uint;
- var bgAlpha:Number = 1;
- if (backgroundColor != null)
- {
- bgColor = CSSUtils.toColorWithAlpha(backgroundColor);
- if (bgColor & 0xFF000000)
- {
- bgAlpha = bgColor >>> 24 / 255;
- bgColor = bgColor & 0xFFFFFF;
- }
- }
- if (borderStyle == "solid")
- {
- var useWidth:Number = Math.max(sw,textField.textWidth);
- var useHeight:Number = Math.max(sh,textField.textHeight);
-
- if ((useWidth-pl-pr-2*borderThickness) < textField.textWidth)
- useWidth = textField.textWidth+pl+pr+2*borderThickness;
- if ((useHeight-pt-pb-2*borderThickness) < textField.textHeight)
- useHeight = textField.textHeight+pt+pb+2*borderThickness;
-
- sprite.graphics.clear();
- SolidBorderUtil.drawBorder(sprite.graphics,
- 0, 0, useWidth, useHeight,
- borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
- borderEllipseWidth, borderEllipseHeight);
- textField.y = ((useHeight - textField.textHeight) / 2) - 2;
- textField.x = ((useWidth - textField.textWidth) / 2) - 2;
- }
- var backgroundImage:Object = image;
- if (backgroundImage)
- {
- var loader:Loader = new Loader();
- sprite.addChildAt(loader, 0);
- sprite.addChild(textField);
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- updateHitArea();
- loader.x = pl;
- textField.x = loader.width + pl;
- textField.y = pt;
- loader.y = (textField.height + pt + pb - loader.height) / 2;
- sprite.graphics.clear();
- SolidBorderUtil.drawBorder(sprite.graphics,
- 0, 0, textField.x + textField.width + pr + borderThickness,
- textField.y + textField.height + pb + borderThickness,
- borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
- borderEllipseWidth, borderEllipseHeight);
- });
- }
- var textColor:Object = ValuesManager.valuesImpl.getValue(_strand, "color", state);
- if (textColor) {
- textField.textColor = Number(textColor);
- }
- }
-
- private function textChangeHandler(event:org.apache.flex.events.Event):void
- {
- text = textModel.text;
- }
-
- private function htmlChangeHandler(event:org.apache.flex.events.Event):void
- {
- html = textModel.html;
- }
-
- private function sizeChangeHandler(event:org.apache.flex.events.Event):void
- {
- setupSkins();
- }
-
- private var upTextField:CSSTextField;
- private var downTextField:CSSTextField;
- private var overTextField:CSSTextField;
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
-
- /**
- * The URL of an icon to use in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get image():String
- {
- return textModel.image;
- }
-
- private function imageChangeHandler(event:org.apache.flex.events.Event):void
- {
- setupSkins();
- }
-
- /**
- * The text to be displayed in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return upTextField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- upTextField.text = value;
- downTextField.text = value;
- overTextField.text = value;
- updateHitArea();
- }
-
- private function updateHitArea():void
- {
- var host:IUIBase = IUIBase(_strand);
- var useWidth:uint = Math.max(host.width, upTextField.textWidth);
- var useHeight:uint = Math.max(host.height, upTextField.textHeight);
-
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, useWidth, useHeight);
- shape.graphics.endFill();
-
- }
-
- /**
- * The html-formatted text to be displayed in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return upTextField.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- upTextField.htmlText = value;
- downTextField.htmlText = value;
- overTextField.htmlText = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as
deleted file mode 100644
index 33ad6aa..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextButtonView.as
+++ /dev/null
@@ -1,351 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Loader;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.net.URLRequest;
- import flash.text.TextField;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIButtonBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.SolidBorderUtil;
- import org.apache.flex.utils.StringTrimmer;
-
- /**
- * The CSSTextButtonView class is the default view for
- * the org.apache.flex.html.TextButton class.
- * It allows the look of the button to be expressed
- * in CSS via the background-image style and displays
- * a text label. This view does not support right-to-left
- * text.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CSSTextButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CSSTextButtonView()
- {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- upTextField = new CSSTextField();
- downTextField = new CSSTextField();
- overTextField = new CSSTextField();
- upTextField.selectable = false;
- upTextField.type = TextFieldType.DYNAMIC;
- downTextField.selectable = false;
- downTextField.type = TextFieldType.DYNAMIC;
- overTextField.selectable = false;
- overTextField.type = TextFieldType.DYNAMIC;
- upTextField.autoSize = "left";
- downTextField.autoSize = "left";
- overTextField.autoSize = "left";
- upSprite.addChild(upTextField);
- downSprite.addChild(downTextField);
- overSprite.addChild(overTextField);
- }
-
- private var textModel:ITextModel;
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- textModel = value.getBeadByType(ITextModel) as ITextModel;
- textModel.addEventListener("textChange", textChangeHandler);
- textModel.addEventListener("htmlChange", htmlChangeHandler);
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- upTextField.styleParent = _strand;
- downTextField.styleParent = _strand;
- overTextField.styleParent = _strand;
- upTextField.parentDrawsBackground = true;
- downTextField.parentDrawsBackground = true;
- overTextField.parentDrawsBackground = true;
- upTextField.parentHandlesPadding = true;
- downTextField.parentHandlesPadding = true;
- overTextField.parentHandlesPadding = true;
- (value as UIButtonBase).$button.upState = upSprite;
- (value as UIButtonBase).$button.downState = downSprite;
- (value as UIButtonBase).$button.overState = overSprite;
- (value as UIButtonBase).$button.hitTestState = shape;
- if (textModel.text !== null)
- text = textModel.text;
- if (textModel.html !== null)
- html = textModel.html;
-
- setupSkins();
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("sizeChanged",sizeChangeHandler);
- }
-
- protected function setupSkins():void
- {
- setupSkin(overSprite, overTextField, "hover");
- setupSkin(downSprite, downTextField, "active");
- setupSkin(upSprite, upTextField);
- updateHitArea();
- }
-
- private function setupSkin(sprite:Sprite, textField:CSSTextField, state:String = null):void
- {
- var sw:uint = IUIBase(_strand).width;
- var sh:uint = IUIBase(_strand).height;
-
- textField.defaultTextFormat.leftMargin = 0;
- textField.defaultTextFormat.rightMargin = 0;
- // set it again so it gets noticed
- textField.defaultTextFormat = textField.defaultTextFormat;
-
- var borderColor:uint;
- var borderThickness:uint;
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(_strand, "border", state);
- if (borderStyles is Array)
- {
- borderColor = CSSUtils.toColor(borderStyles[2]);
- borderStyle = borderStyles[1];
- borderThickness = borderStyles[0];
- }
- else if (borderStyles is String)
- borderStyle = borderStyles as String;
- var value:Object = ValuesManager.valuesImpl.getValue(_strand, "border-style", state);
- if (value != null)
- borderStyle = value as String;
- value = ValuesManager.valuesImpl.getValue(_strand, "border-color", state);
- if (value != null)
- borderColor = CSSUtils.toColor(value);
- value = ValuesManager.valuesImpl.getValue(_strand, "border-width", state);
- if (value != null)
- borderThickness = value as uint;
- if (borderStyle == "none")
- {
- borderStyle = "solid";
- borderThickness = 0;
- }
-
- var borderRadius:String;
- var borderEllipseWidth:Number = NaN;
- var borderEllipseHeight:Number = NaN;
- value = ValuesManager.valuesImpl.getValue(_strand, "border-radius", state);
- if (value != null)
- {
- if (value is Number)
- borderEllipseWidth = 2 * (value as Number);
- else
- {
- borderRadius = value as String;
- var arr:Array = StringTrimmer.splitAndTrim(borderRadius, "/");
- borderEllipseWidth = 2 * CSSUtils.toNumber(arr[0]);
- if (arr.length > 1)
- borderEllipseHeight = 2 * CSSUtils.toNumber(arr[1]);
- }
- }
-
- var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding", state);
- var paddingLeft:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-left", state);
- var paddingRight:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-right", state);
- var paddingTop:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-top", state);
- var paddingBottom:Object = ValuesManager.valuesImpl.getValue(_strand, "padding-bottom", state);
- var pl:Number = CSSUtils.getLeftValue(paddingLeft, padding, host.$displayObject.width);
- var pr:Number = CSSUtils.getRightValue(paddingRight, padding, host.$displayObject.width);
- var pt:Number = CSSUtils.getTopValue(paddingTop, padding, host.$displayObject.height);
- var pb:Number = CSSUtils.getBottomValue(paddingBottom, padding, host.$displayObject.height);
-
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(_strand, "background-color", state);
- var bgColor:uint;
- var bgAlpha:Number = 1;
- if (backgroundColor != null)
- {
- bgColor = CSSUtils.toColorWithAlpha(backgroundColor);
- if (bgColor == uint.MAX_VALUE) {
- bgAlpha = 0
- }
- else if (bgColor & 0xFF000000)
- {
- bgAlpha = bgColor >>> 24 / 255;
- bgColor = bgColor & 0xFFFFFF;
- }
- }
- if (borderStyle == "solid")
- {
- var useWidth:Number = Math.max(sw,textField.textWidth);
- var useHeight:Number = Math.max(sh,textField.textHeight);
-
- if ((useWidth-pl-pr-2*borderThickness) < textField.textWidth)
- useWidth = textField.textWidth+pl+pr+2*borderThickness;
- if ((useHeight-pt-pb-2*borderThickness) < textField.textHeight)
- useHeight = textField.textHeight+pt+pb+2*borderThickness;
-
- sprite.graphics.clear();
- SolidBorderUtil.drawBorder(sprite.graphics,
- 0, 0, useWidth, useHeight,
- borderColor, backgroundColor == null ? null : bgColor, borderThickness, bgAlpha,
- borderEllipseWidth, borderEllipseHeight);
- textField.y = ((useHeight - textField.textHeight) / 2) - 2;
- textField.x = ((useWidth - textField.textWidth) / 2) - 2;
- }
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
- if (backgroundImage)
- {
- var loader:Loader = new Loader();
- sprite.addChildAt(loader, 0);
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- var useWidth:Number = Math.max(sw,textField.textWidth);
- var useHeight:Number = Math.max(sh,textField.textHeight);
-
- if ((useWidth-2*Number(padding)-2*borderThickness) < textField.textWidth)
- useWidth = textField.textWidth+2*Number(padding)+2*borderThickness;
- if ((useHeight-2*Number(padding)-2*borderThickness) < textField.textHeight)
- useHeight = textField.textHeight+2*Number(padding)+2*borderThickness;
-
- textField.y = (useHeight - textField.height) / 2;
- textField.x = (useWidth - textField.width) / 2;
- updateHitArea();
- });
- }
- var textColor:Object = ValuesManager.valuesImpl.getValue(_strand, "color", state);
- if (textColor) {
- textField.textColor = Number(textColor);
- }
- }
-
- private function textChangeHandler(event:org.apache.flex.events.Event):void
- {
- text = textModel.text;
- }
-
- private function htmlChangeHandler(event:org.apache.flex.events.Event):void
- {
- html = textModel.html;
- }
-
- private function sizeChangeHandler(event:org.apache.flex.events.Event):void
- {
- setupSkins();
- }
-
- private var upTextField:CSSTextField;
- private var downTextField:CSSTextField;
- private var overTextField:CSSTextField;
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
-
- /**
- * The text to be displayed in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return upTextField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- upTextField.text = value;
- downTextField.text = value;
- overTextField.text = value;
- updateHitArea();
- }
-
- private function updateHitArea():void
- {
- var useWidth:uint = Math.max(host.$displayObject.width, upTextField.textWidth);
- var useHeight:uint = Math.max(host.$displayObject.height, upTextField.textHeight);
-
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, useWidth, useHeight);
- shape.graphics.endFill();
-
- }
-
- /**
- * The html-formatted text to be displayed in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return upTextField.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- upTextField.htmlText = value;
- downTextField.htmlText = value;
- overTextField.htmlText = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
deleted file mode 100644
index 77c90f8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CSSTextToggleButtonView.as
+++ /dev/null
@@ -1,106 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IStyleableObject;
- import org.apache.flex.core.IToggleButtonModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The CSSTextToggleButtonView class is the default view for
- * the org.apache.flex.html.TextToggleButton class.
- * It allows the look of the button to be expressed
- * in CSS via the background-image style and displays
- * a text label. This view does not support right-to-left
- * text.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CSSTextToggleButtonView extends CSSTextButtonView
- {
- /**
- * The suffix appended to the className when selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static const SELECTED:String = "_Selected";
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CSSTextToggleButtonView()
- {
- }
-
- private var toggleButtonModel:IToggleButtonModel;
-
- private var _selected:Boolean;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
- toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
- }
-
- private function selectedChangeHandler(event:org.apache.flex.events.Event):void
- {
- var className:String = IStyleableObject(_strand).className;
- if (toggleButtonModel.selected)
- {
- if (className && className.indexOf(SELECTED) == className.length - SELECTED.length)
- IStyleableObject(_strand).className = className.substring(0, className.length - SELECTED.length);
- setupSkins();
- }
- else
- {
- if (className && className.indexOf(SELECTED) == -1)
- IStyleableObject(_strand).className += SELECTED;
- setupSkins();
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
deleted file mode 100644
index 923f21a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CheckBoxView.as
+++ /dev/null
@@ -1,300 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IToggleButtonModel;
- import org.apache.flex.events.Event;
-
- /**
- * The CheckBoxView class is the default view for
- * the org.apache.flex.html.CheckBox class.
- * It displays a simple checkbox with an 'x' if checked,
- * and a label on the right. There are no styles or
- * properties to configure the look of the 'x' or the
- * position of the label relative to the checkbox as
- * there are no equivalents in the standard HTML checkbox.
- *
- * A more complex CheckBox could implement more view
- * configuration.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CheckBoxView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CheckBoxView()
- {
- sprites = [ upSprite = new Sprite(),
- downSprite = new Sprite(),
- overSprite = new Sprite(),
- upAndSelectedSprite = new Sprite(),
- downAndSelectedSprite = new Sprite(),
- overAndSelectedSprite = new Sprite() ];
-
- for each( var s:Sprite in sprites )
- {
- var tf:CSSTextField = new CSSTextField();
- tf.type = TextFieldType.DYNAMIC;
- tf.autoSize = TextFieldAutoSize.LEFT;
- tf.name = "textField";
- var icon:Shape = new Shape();
- icon.name = "icon";
- s.addChild(icon);
- s.addChild(tf);
- }
- }
-
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
- private var upAndSelectedSprite:Sprite;
- private var downAndSelectedSprite:Sprite;
- private var overAndSelectedSprite:Sprite;
-
- private var sprites:Array;
-
- private var _toggleButtonModel:IToggleButtonModel;
-
- // TODO: Can we remove this?
- private function get toggleButtonModel() : IToggleButtonModel
- {
- return _toggleButtonModel;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- _toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
- _toggleButtonModel.addEventListener("textChange", textChangeHandler);
- _toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
- _toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
- if (_toggleButtonModel.text !== null)
- text = _toggleButtonModel.text;
-
- layoutControl();
-
- var hitArea:Shape = new Shape();
- hitArea.graphics.beginFill(0x000000);
- hitArea.graphics.drawRect(0,0,upSprite.width, upSprite.height);
- hitArea.graphics.endFill();
-
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = hitArea;
-
- if (toggleButtonModel.text !== null)
- text = toggleButtonModel.text;
- if (toggleButtonModel.html !== null)
- html = toggleButtonModel.html;
- }
-
- /**
- * @copy org.apache.flex.html.Label#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
- return tf.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- for each( var s:Sprite in sprites )
- {
- var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
- tf.text = value;
- }
-
- layoutControl();
- }
-
- /**
- * @copy org.apache.flex.html.Label#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
- return tf.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- for each(var s:Sprite in sprites)
- {
- var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
- tf.htmlText = value;
- }
-
- layoutControl();
- }
-
- private function textChangeHandler(event:Event):void
- {
- text = toggleButtonModel.text;
- }
-
- private function htmlChangeHandler(event:Event):void
- {
- html = toggleButtonModel.html;
- }
-
- private var _selected:Boolean;
-
- /**
- * @copy org.apache.flex.core.IToggleButtonModel#selected
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return _selected;
- }
-
- /**
- * @private
- */
- public function set selected(value:Boolean):void
- {
- _selected = value;
-
- layoutControl();
-
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- if( value ) {
- button.upState = upAndSelectedSprite;
- button.downState = downAndSelectedSprite;
- button.overState = overAndSelectedSprite;
-
- } else {
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- }
- }
-
- private function selectedChangeHandler(event:Event):void
- {
- selected = toggleButtonModel.selected;
- }
-
- /**
- * Display the icon and text label
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function layoutControl() : void
- {
- for each(var s:Sprite in sprites)
- {
- var icon:Shape = s.getChildByName("icon") as Shape;
- var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-
- drawCheckBox(icon);
-
- var mh:Number = Math.max(icon.height,tf.height);
-
- icon.x = 0;
- icon.y = (mh - icon.height)/2;
-
- tf.x = icon.x + icon.width + 1;
- tf.y = (mh - tf.height)/2;
- }
-
- }
-
- /**
- * Draw the checkbox
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function drawCheckBox(icon:Shape) : void
- {
- icon.graphics.clear();
- icon.graphics.beginFill(0xf8f8f8);
- icon.graphics.lineStyle(1,0x808080);
- icon.graphics.drawRect(0,0,10,10);
- icon.graphics.endFill();
-
- if( _toggleButtonModel.selected ) {
- icon.graphics.lineStyle(2,0);
- icon.graphics.moveTo(3,4);
- icon.graphics.lineTo(5,7);
- icon.graphics.lineTo(9,0);
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
deleted file mode 100644
index cdc5fe4..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/CloseButtonView.as
+++ /dev/null
@@ -1,104 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.TitleBar;
-
- /**
- * The CloseButtonView class is the view for
- * the down arrow button in a ScrollBar and other controls.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class CloseButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function CloseButtonView()
- {
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xCCCCCC);
- drawView(downView.graphics, 0x666666);
- drawView(overView.graphics, 0x999999);
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- g.beginFill(bgColor);
- g.drawRect(0, 0, 11, 11);
- g.endFill();
- g.lineStyle(2);
- g.moveTo(3,3);
- g.lineTo(8,8);
- g.moveTo(3,8);
- g.lineTo(8,3);
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 11, 11);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
deleted file mode 100644
index 3adb9de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ComboBoxView.as
+++ /dev/null
@@ -1,227 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.TextInput;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.List;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.core.IComboBoxModel;
- import org.apache.flex.utils.UIUtils;
- import org.apache.flex.utils.PointUtils;
- import org.apache.flex.core.IPopUpHost;
- import org.apache.flex.geom.Point;
- import org.apache.flex.html.beads.IComboBoxView;
-
- /**
- * The ComboBoxView class creates the visual elements of the org.apache.flex.html.ComboBox
- * component. The job of the view bead is to put together the parts of the ComboBox such as the TextInput
- * control and org.apache.flex.html.Button to trigger the pop-up.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ComboBoxView extends BeadViewBase implements IComboBoxView
- {
- public function ComboBoxView()
- {
- super();
- }
-
- private var input:TextInput;
-
- /**
- * The TextInput component of the ComboBox.
- *
- * @copy org.apache.flex.html.beads.IComboBoxView#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get textInputField():Object
- {
- return input;
- }
-
- private var button:TextButton;
-
- /**
- * The Button component of the ComboBox.
- *
- * @copy org.apache.flex.html.beads.IComboBoxView#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popupButton():Object
- {
- return button;
- }
-
- private var list:UIBase;
-
- /**
- * The pop-up list component of the ComboBox.
- *
- * @copy org.apache.flex.html.beads.IComboBoxView#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUp():Object
- {
- return list;
- }
-
- /**
- * @private
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var host:UIBase = value as UIBase;
-
- input = new TextInput();
- input.className = "ComboBoxTextInput";
-
- button = new TextButton();
- button.className = "ComboBoxButton";
- button.text = '\u25BC';
-
- if (isNaN(host.width)) input.width = 100;
-
- host.addElement(input);
- host.addElement(button);
-
- var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
- list = new popUpClass() as UIBase;
- list.visible = false;
-
- var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
- model.addEventListener("selectedIndexChanged", handleItemChange);
- model.addEventListener("selectedItemChanged", handleItemChange);
-
- IEventDispatcher(_strand).addEventListener("sizeChanged", handleSizeChange);
-
- // set initial value and positions using default sizes
- handleItemChange(null);
- handleSizeChange(null);
- }
-
- /**
- * Returns whether or not the pop-up is visible.
- *
- * @copy org.apache.flex.html.beads.IComboBoxView#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUpVisible():Boolean
- {
- if (list) return list.visible;
- else return false;
- }
- public function set popUpVisible(value:Boolean):void
- {
- if (value && !list.visible) {
- var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
- list.model = model;
- list.width = input.width;
- list.height = 200;
- list.visible = true;
-
- var origin:Point = new Point(0, button.y+button.height);
- var relocated:Point = PointUtils.localToGlobal(origin,_strand);
- list.x = relocated.x
- list.y = relocated.y;
- COMPILE::JS {
- list.element.style.position = "absolute";
- }
-
- var popupHost:IPopUpHost = UIUtils.findPopUpHost(_strand as IUIBase);
- popupHost.addElement(list);
- }
- else if (list.visible) {
- UIUtils.removePopUp(list);
- list.visible = false;
- }
- }
-
- /**
- * @private
- */
- private function handleSizeChange(event:Event):void
- {
- var host:UIBase = UIBase(_strand);
-
- input.x = 0;
- input.y = 0;
- if (host.isWidthSizedToContent()) {
- input.width = 100;
- } else {
- input.width = host.width - 20;
- }
-
- button.x = input.width;
- button.y = 0;
- button.width = 20;
- button.height = input.height;
-
- COMPILE::JS {
- input.element.style.position = "absolute";
- button.element.style.position = "absolute";
- }
-
- if (host.isHeightSizedToContent()) {
- host.height = input.height;
- }
- if (host.isWidthSizedToContent()) {
- host.width = input.width + button.width;
- }
- }
-
- /**
- * @private
- */
- private function handleItemChange(event:Event):void
- {
- var model:IComboBoxModel = _strand.getBeadByType(IComboBoxModel) as IComboBoxModel;
- input.text = model.selectedItem as String;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
deleted file mode 100644
index ac723a9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ /dev/null
@@ -1,391 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.ContainerBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IContainer;
- import org.apache.flex.core.IContainerView;
- import org.apache.flex.core.IContentViewHost;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewport;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.geom.Size;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.beads.models.ViewportModel;
- import org.apache.flex.html.supportClasses.Border;
- import org.apache.flex.html.supportClasses.ContainerContentArea;
- import org.apache.flex.html.supportClasses.Viewport;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * This class creates and manages the contents of a Container. On the ActionScript
- * side, a Container has a contentView into which the offical children can be
- * placed. When adding an element that implements IChrome, that element is not
- * placed into the contentView, but is made a child of the Container directly.
- *
- * Containers also have a layout associated with them which controls the size and
- * placement of the elements in the contentView. When a Container does not have an
- * explicit size (including a percent size), the content dictates the size of the
- * Container.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class ContainerView extends GroupView
- {
- /**
- * The ContainerView class is the default view for
- * the org.apache.flex.core.ContainerBase classes.
- * It lets you use some CSS styles to manage the border, background
- * and padding around the content area.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ContainerView()
- {
- super();
- }
-
- /**
- * The sub-element used as the parent of the container's elements. This does not
- * include the chrome elements.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function get contentView():ILayoutView
- {
- return viewport.contentView as ILayoutView;
- }
-
- /**
- * The viewport used to present the content and may display
- * scroll bars (depending on the actual type of viewport).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function get viewport():IViewport
- {
- return _viewport;
- }
-
- /**
- * The data model used by the viewport to determine how it should
- * present the content area.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get viewportModel():IViewportModel
- {
- return _viewportModel;
- }
-
- private var _viewportModel:IViewportModel;
- private var _viewport:IViewport;
- private var layoutRunning:Boolean;
-
- /**
- * Strand setter.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
-
- createViewport();
-
- var chost:IContainer = host as IContainer;
- chost.strandChildren.addElement(viewport.contentView);
-
- super.strand = value;
- }
-
- /**
- * Called when the host is ready to complete its setup (usually after its size has been
- * determined).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function completeSetup():void
- {
- super.completeSetup();
-
- // when the first layout is complete, set up listeners for changes
- // to the childrens' sizes.
-// host.addEventListener("layoutComplete", childrenChangedHandler);
- }
-
- /**
- * Creates the Viewport (or ScrollableViewport) through which the content
- * area is presented.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function createViewport():void
- {
- var c:Class;
- if (viewportModel == null) {
- _viewportModel = _strand.getBeadByType(IViewportModel) as IViewportModel;
- if (viewportModel == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iViewportModel");
- if (c)
- {
- _viewportModel = new c() as IViewportModel;
- _strand.addBead(_viewportModel);
- }
- }
- }
-
- if (viewport == null) {
- _viewport = _strand.getBeadByType(IViewport) as IViewport;
- if (viewport == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iViewport");
- if (c)
- {
- _viewport = new c() as IViewport;
- _strand.addBead(viewport);
- }
- }
- }
- }
-
- /**
- * Calculate the space taken up by non-content children like a TitleBar in a Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function getChromeMetrics():Rectangle
- {
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- return paddingMetrics;
- }
-
- /**
- * Positions the viewport, then sets any known sizes of the Viewport prior
- * to laying out its content.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function beforeLayout():void
- {
- var host:ILayoutChild = this.host as ILayoutChild;
- var vm:IViewportModel = viewportModel;
- var hostWidth:Number = host.width;
- var hostHeight:Number = host.height;
-
- vm.borderMetrics = CSSContainerUtils.getBorderMetrics(host);
-
- viewport.setPosition(vm.borderMetrics.left, vm.borderMetrics.top);
-
- viewport.layoutViewportBeforeContentLayout(
- host.isWidthSizedToContent() ? NaN : hostWidth - vm.borderMetrics.left - vm.borderMetrics.right,
- host.isHeightSizedToContent() ? NaN : hostHeight - vm.borderMetrics.top - vm.borderMetrics.bottom);
- }
-
- /**
- * @private
- */
- private var adjusting:Boolean = false;
-
- /**
- * Adjusts the size of the host, or adds scrollbars to the viewport, after
- * the layout has been run.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function afterLayout():void
- {
- if (adjusting) return;
-
- adjusting = true;
-
- super.afterLayout();
-
- var contentSize:Size = calculateContentSize();
- viewport.layoutViewportAfterContentLayout(contentSize);
-
- adjusting = false;
- }
-
- /**
- * Handles dynamic changes to the host's size by running the layout once
- * the viewport has been adjusted.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-// override protected function resizeHandler(event:Event):void
-// {
-// if (!adjusting) {
-// performLayout(event);
-// }
-// }
-
- /**
- * Whenever children are added, listeners are added to detect changes
- * in their size.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-// protected function childrenChangedHandler(event:Event):void
-// {
-// var host:UIBase = _strand as UIBase;
-// host.removeEventListener(event.type, childrenChangedHandler);
-//
-// var n:Number = contentView.numElements;
-// for (var i:int=0; i < n; i++) {
-// var child:IUIBase = contentView.getElementAt(i) as IUIBase;
-// child.addEventListener("widthChanged", childResizeHandler);
-// child.addEventListener("heightChanged", childResizeHandler);
-// child.addEventListener("sizeChanged", childResizeHandler);
-// }
-// }
- }
-
- COMPILE::JS
- public class ContainerView extends GroupView //??implements IParent
- {
- private var _viewport:IViewport;
-
- /**
- * The viewport used to present the content and may display
- * scroll bars (depending on the actual type of viewport).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function get viewport():IViewport
- {
- return _viewport;
- }
-
- /**
- * The sub-element used as the parent of the container's elements. This does not
- * include the chrome elements.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function get contentView():ILayoutView
- {
- if (viewport != null) {
- return viewport.contentView as ILayoutView;
- } else {
- return host as ILayoutView;
- }
- }
-
- /**
- * Strand setter.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- super.strand = value;
-
- var c:Class;
-
- if (viewport == null) {
- _viewport = _strand.getBeadByType(IViewport) as IViewport;
- if (viewport == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iViewport");
- if (c)
- {
- _viewport = new c() as IViewport;
- _strand.addBead(viewport);
- }
- }
- }
-
- if (viewport != null) {
- var chost:IContainer = host as IContainer;
- // add the viewport's contentView to this host ONLY if
- // the contentView is not the host itself, which is likely
- // most situations.
- if (chost != viewport.contentView) {
- chost.addElement(viewport.contentView);
- }
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as
deleted file mode 100644
index 18d19dd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ControlBarMeasurementBead.as
+++ /dev/null
@@ -1,116 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObjectContainer;
-
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.html.Container;
-
- /**
- * The ControlBarMeasurementBead class measures the size of a org.apache.flex.html.ControlBar
- * component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ControlBarMeasurementBead implements IMeasurementBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ControlBarMeasurementBead()
- {
- }
-
- /**
- * Returns the overall width of the ControlBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredWidth():Number
- {
- // Note: the measurement should problably be done by the ControlBar's layout manager bead
- // since it would know the arrangement of the items and how far apart they are and if
- // there are margins and paddings and gaps involved.
- var mwidth:Number = 0;
- var container:Container = Container(_strand);
- var n:int = container.numElements;
- for(var i:int=0; i < n; i++) {
- var child:IUIBase = container.getElementAt(i) as IUIBase;
- if( child == null ) continue;
- var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
- if (childMeasure)
- mwidth += childMeasure.measuredWidth;
- }
- return mwidth;
- }
-
- /**
- * Returns the overall height of the ControlBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredHeight():Number
- {
- // Note: the measurement should problably be done by the ControlBar's layout manager bead
- // since it would know the arrangement of the items and how far apart they are and if
- // there are margins and paddings and gaps involved.
- var mheight:Number = 0;
- var n:int = DisplayObjectContainer(_strand).numChildren;
- for(var i:int=0; i < n; i++) {
- var child:IUIBase = DisplayObjectContainer(_strand).getChildAt(i) as IUIBase;
- if( child == null ) continue;
- var childMeasure:IMeasurementBead = child.getBeadByType(IMeasurementBead) as IMeasurementBead;
- mheight += childMeasure.measuredHeight;
- }
- return mheight;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as
deleted file mode 100644
index 1c8cd42..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridColumnView.as
+++ /dev/null
@@ -1,102 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IStrand;
- import org.apache.flex.html.supportClasses.DataGridColumn;
-
- /**
- * The DataGridColumnView class extends org.apache.flex.html.beads.ListView and
- * provides properties to the org.apache.flex.html.List that makes a column in
- * the org.apache.flex.html.DataGrid.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridColumnView extends ListView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridColumnView()
- {
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- }
-
- private var _columnIndex:uint;
-
- /**
- * The zero-based index for the column.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columnIndex():uint
- {
- return _columnIndex;
- }
- public function set columnIndex(value:uint):void
- {
- _columnIndex = value;
- }
-
- private var _column:DataGridColumn;
-
- /**
- * The org.apache.flex.html.support.DataGridColumn containing information used to
- * present the org.apache.flex.html.List as a column in the
- * org.apache.flex.html.DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get column():DataGridColumn
- {
- return _column;
- }
- public function set column(value:DataGridColumn):void
- {
- _column = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as
deleted file mode 100644
index 951f5f7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridLinesBead.as
+++ /dev/null
@@ -1,199 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.collections.ArrayList;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.svg.CompoundGraphic;
- import org.apache.flex.graphics.IStroke;
- import org.apache.flex.graphics.SolidColor;
- import org.apache.flex.graphics.SolidColorStroke;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.beads.models.DataGridPresentationModel;
- import org.apache.flex.html.supportClasses.DataGridColumn;
-
- /**
- * The DataGridLinesBead is an add on bead for the DataGrid. This bead
- * adds horizontal and vertical grid lines to a DataGrid. The size and
- * color of the lines is specified by the stroke property (defaults to
- * a thin dark line).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridLinesBead implements IBead
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridLinesBead()
- {
- // Set default separator line stroke.
- var lineStroke:SolidColorStroke = new SolidColorStroke();
- lineStroke.color = 0x333333;
- lineStroke.alpha = 1.0;
- lineStroke.weight = 1;
- stroke = lineStroke;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.UIBase#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- _overlay = new CompoundGraphic();
-
- IEventDispatcher(_strand).addEventListener("beadsAdded", handleBeadsAdded);
- }
-
- private var _stroke:IStroke;
-
- /**
- * Describes the line style used to separate the rows and columns.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get stroke():IStroke
- {
- return _stroke;
- }
- public function set stroke(value:IStroke):void
- {
- _stroke = value;
- }
-
- private var _overlay:CompoundGraphic;
- private var _area:UIBase;
-
- /**
- * Invoked when all of the beads have been added to the DataGrid. This
- * function seeks the Container that parents the lists that are the DataGrid's
- * columns. An overlay GraphicContainer is added to this Container so that the
- * grid lines will scroll with the rows.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function handleBeadsAdded(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
- var n:int = host.numElements;
- for (var i:int=0; i < n; i++) {
- var child:UIBase = host.getElementAt(i) as UIBase;
- if (child.id == "dataGridListArea") {
- _area = child;
- _area.addElement(_overlay);
- break;
- }
- }
-
- // Now set up listeners to handle changes in the size of the DataGrid.
- IEventDispatcher(_strand).addEventListener("sizeChanged", drawLines);
- IEventDispatcher(_strand).addEventListener("widthChanged", drawLines);
- IEventDispatcher(_strand).addEventListener("heightChanged", drawLines);
-
- // Also set up a listener on the model to know when the dataProvider has
- // changed which might affect the number of rows/columns and thus the
- // grid lines.
- var model:IBeadModel = _strand.getBeadByType(IBeadModel) as IBeadModel;
- IEventDispatcher(model).addEventListener("dataProviderChanged", drawLines);
- }
-
- /**
- * This event handler is invoked whenever something happens to the DataGrid. This
- * function draws the lines either using a default stroke or the one specified by
- * the stroke property.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function drawLines(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- var presentationModel:DataGridPresentationModel = _strand.getBeadByType(DataGridPresentationModel) as DataGridPresentationModel;
- var layoutParent:ILayoutHost = _area.getBeadByType(ILayoutHost) as ILayoutHost;
- var contentView:IParentIUIBase = layoutParent.contentView as IParentIUIBase;
-
- var columns:Array = sharedModel.columns;
- var arrayList:ArrayList = sharedModel.dataProvider as ArrayList;
- var rowHeight:Number = presentationModel.rowHeight;
-
- var totalHeight:Number = arrayList.length * rowHeight;
- var columnWidth:Number = _area.width / columns.length;
-
- // translate the stroke to a fill since rectangles are used for the grid
- // lines and not lines.
- var lineFill:SolidColor = new SolidColor();
- var weight:Number = 1;
- lineFill.color = (stroke as SolidColorStroke).color;
- lineFill.alpha = (stroke as SolidColorStroke).alpha;
- weight = (stroke as SolidColorStroke).weight;
- _overlay.fill = lineFill;
-
- columnWidth = (columns[0] as DataGridColumn).columnWidth;
- var xpos:Number = isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
-
- _overlay.clear();
-
- // draw the verticals
- for (var i:int=1; i < columns.length; i++) {
- _overlay.drawRect(xpos, 0, weight, totalHeight);
- columnWidth = (columns[i] as DataGridColumn).columnWidth;
- xpos += isNaN(columnWidth) ? _area.width / columns.length : columnWidth;
- }
-
- var n:int = arrayList.length;
-
- // draw the horizontals
- for (i=1; i < n+1; i++) {
- _overlay.drawRect(0, i*rowHeight, _area.width, weight);
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
deleted file mode 100644
index 3b387d9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
+++ /dev/null
@@ -1,300 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.core.IDataGridPresentationModel;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.DataGrid;
- import org.apache.flex.html.DataGridButtonBar;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.beads.layouts.ButtonBarLayout;
- import org.apache.flex.html.beads.models.ButtonBarModel;
- import org.apache.flex.html.supportClasses.DataGridColumn;
- import org.apache.flex.html.supportClasses.DataGridColumnList;
- import org.apache.flex.html.supportClasses.Viewport;
-
- COMPILE::SWF {
- import org.apache.flex.core.SimpleCSSStyles;
- }
-
- /**
- * The DataGridView class is the visual bead for the org.apache.flex.html.DataGrid.
- * This class constructs the items that make the DataGrid: Lists for each column and a
- * org.apache.flex.html.ButtonBar for the column headers.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridView extends GroupView implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridView()
- {
- super();
- }
-
- private var _strand:IStrand;
- private var _header:DataGridButtonBar;
- private var _listArea:Container;
-
- private var _lists:Array;
-
- /**
- * An array of List objects the comprise the columns of the DataGrid.
- */
- public function get columnLists():Array
- {
- return _lists;
- }
-
- /**
- * The area used to hold the columns
- *
- */
- public function get listArea():Container
- {
- return _listArea;
- }
-
- /**
- * Returns the component used as the header for the DataGrid.
- */
- public function get header():IUIBase
- {
- return _header;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- _strand = value;
-
- var host:DataGrid = value as DataGrid;
-
- _header = new DataGridButtonBar();
- _header.height = 30;
- _header.percentWidth = 100;
-
- _listArea = new Container();
- _listArea.percentWidth = 100;
- _listArea.className = "DataGridListArea";
-
- COMPILE::SWF {
- _header.style = new SimpleCSSStyles();
- _header.style.flexGrow = 0;
-
- _listArea.style = new SimpleCSSStyles();
- _listArea.style.flexGrow = 1;
- }
- COMPILE::JS {
- _header.element.style["flex-grow"] = "0";
- _header.element.style["min-height"] = "30px";
- _listArea.element.style["flex-grow"] = "1";
- }
-
- IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
- }
-
- /**
- * @private
- */
- private function finishSetup(event:Event):void
- {
- var host:DataGrid = _strand as DataGrid;
-
- if (_lists == null || _lists.length == 0) {
- createLists();
- }
-
- // see if there is a presentation model already in place. if not, add one.
- var presentationModel:IDataGridPresentationModel = host.presentationModel;
- var sharedModel:IDataGridModel = host.model as IDataGridModel;
- IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
- IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", handleSelectedIndexChanged);
-
- var columnLabels:Array = new Array();
- var buttonWidths:Array = new Array();
-
- var marginBorderOffset:int = 0;
- COMPILE::SWF {
- marginBorderOffset = 1;
- }
-
- for(var i:int=0; i < sharedModel.columns.length; i++) {
- var dgc:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
- columnLabels.push(dgc.label);
- var colWidth:Number = dgc.columnWidth - marginBorderOffset;
- buttonWidths.push(colWidth);
-
- var list:DataGridColumnList = _lists[i] as DataGridColumnList;
- if (!isNaN(colWidth)) {
- list.width = Number(colWidth - marginBorderOffset);
- } else {
- COMPILE::SWF {
- list.style = new SimpleCSSStyles();
- list.style.flexGrow = 1;
- }
- COMPILE::JS {
- list.element.style["flex-grow"] = "1";
- }
- }
- }
-
- var bblayout:ButtonBarLayout = new ButtonBarLayout();
- _header.buttonWidths = buttonWidths
- _header.widthType = ButtonBarModel.PIXEL_WIDTHS;
- _header.dataProvider = columnLabels;
- _header.addBead(bblayout);
- _header.addBead(new Viewport());
- host.addElement(_header);
-
- host.addElement(_listArea);
-
- handleDataProviderChanged(event);
-
- host.addEventListener("widthChanged", handleSizeChanges);
- host.addEventListener("heightChanged", handleSizeChanges);
- }
-
- /**
- * @private
- */
- private function handleSizeChanges(event:Event):void
- {
- _header.dispatchEvent(new Event("layoutChanged"));
- _listArea.dispatchEvent(new Event("layoutChanged"));
- }
-
- /**
- * @private
- */
- private function handleDataProviderChanged(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
-
- for (var i:int=0; i < _lists.length; i++)
- {
- var list:DataGridColumnList = _lists[i] as DataGridColumnList;
- var listModel:ISelectionModel = list.getBeadByType(IBeadModel) as ISelectionModel;
- listModel.dataProvider = sharedModel.dataProvider;
- }
-
- host.dispatchEvent(new Event("layoutNeeded"));
- }
-
- /**
- * @private
- */
- private function handleSelectedIndexChanged(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- var newIndex:int = sharedModel.selectedIndex;
-
- for (var i:int=0; i < _lists.length; i++)
- {
- var list:DataGridColumnList = _lists[i] as DataGridColumnList;
- list.selectedIndex = newIndex;
- }
- }
-
- /**
- * @private
- */
- private function handleColumnListChange(event:Event):void
- {
- var sharedModel:IDataGridModel = _strand.getBeadByType(IBeadModel) as IDataGridModel;
- var list:DataGridColumnList = event.target as DataGridColumnList;
- sharedModel.selectedIndex = list.selectedIndex;
-
- for(var i:int=0; i < _lists.length; i++) {
- if (list != _lists[i]) {
- var otherList:DataGridColumnList = _lists[i] as DataGridColumnList;
- otherList.selectedIndex = list.selectedIndex;
- }
- }
-
- host.dispatchEvent(new Event('change'));
- }
-
- /**
- * @private
- */
- private function createLists():void
- {
- var host:DataGrid = _strand as DataGrid;
-
- var sharedModel:IDataGridModel = host.model as IDataGridModel;
- var presentationModel:IDataGridPresentationModel = host.presentationModel;
-
- _lists = new Array();
-
- for (var i:int=0; i < sharedModel.columns.length; i++) {
- var dataGridColumn:DataGridColumn = sharedModel.columns[i] as DataGridColumn;
-
- var list:DataGridColumnList = new DataGridColumnList();
- list.id = "dataGridColumn"+String(i);
- list.addBead(sharedModel);
- list.itemRenderer = dataGridColumn.itemRenderer;
- list.labelField = dataGridColumn.dataField;
- list.addEventListener('change',handleColumnListChange);
- list.addBead(presentationModel);
-
- if (i == 0) {
- list.className = "first";
- } else if (i == sharedModel.columns.length-1) {
- list.className = "last";
- } else {
- list.className = "middle";
- }
-
- _listArea.addElement(list);
- _lists.push(list);
- }
-
- host.dispatchEvent(new Event("layoutNeeded"));
- }
- }
-}
-
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
deleted file mode 100644
index bcd837b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,183 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IListPresentationModel;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.IDataProviderModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.SimpleCSSStyles;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.ItemRendererEvent;
- import org.apache.flex.html.List;
-
- import org.apache.flex.core.IList;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.IParentIUIBase;
-
- [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
- /**
- * The DataItemRendererFactoryForArrayData class reads an
- * array of data and creates an item renderer for every
- * item in the array. Other implementations of
- * IDataProviderItemRendererMapper map different data
- * structures or manage a virtual set of renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataItemRendererFactoryForArrayData(target:Object=null)
- {
- super(target);
- }
-
- protected var dataProviderModel:IDataProviderModel;
-
- protected var labelField:String;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete",finishSetup);
- }
-
- /**
- * @private
- */
- private function finishSetup(event:Event):void
- {
- dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
- dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
- labelField = dataProviderModel.labelField;
-
- // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
- // already have been loaded by DataContainerBase.addedToParent function.
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (itemRendererFactory == null) {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
-
- dataProviderChangeHandler(null);
- }
-
- private var _itemRendererFactory:IItemRendererClassFactory;
-
- /**
- * The org.apache.flex.core.IItemRendererClassFactory used
- * to generate instances of item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererFactory():IItemRendererClassFactory
- {
- return _itemRendererFactory;
- }
-
- /**
- * @private
- */
- public function set itemRendererFactory(value:IItemRendererClassFactory):void
- {
- _itemRendererFactory = value;
- }
-
- /**
- * The org.apache.flex.core.IItemRendererParent that will
- * parent the item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function dataProviderChangeHandler(event:Event):void
- {
- var dp:Array = dataProviderModel.dataProvider as Array;
- if (!dp)
- return;
-
- var list:IList = _strand as IList;
- var dataGroup:IItemRendererParent = list.dataGroup;
-
- dataGroup.removeAllItemRenderers();
-
- var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-
- var n:int = dp.length;
- for (var i:int = 0; i < n; i++)
- {
- var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
- dataGroup.addItemRenderer(ir);
- ir.index = i;
- ir.labelField = labelField;
- if (presentationModel) {
- var style:SimpleCSSStyles = new SimpleCSSStyles();
- style.marginBottom = presentationModel.separatorThickness;
- UIBase(ir).style = style;
- UIBase(ir).height = presentationModel.rowHeight;
- UIBase(ir).percentWidth = 100;
- }
- ir.data = dp[i];
-
- var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
- newEvent.itemRenderer = ir;
- dispatchEvent(newEvent);
- }
-
- IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
deleted file mode 100644
index c35f07f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ /dev/null
@@ -1,179 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.collections.IArrayList;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IListPresentationModel;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.IDataProviderModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.SimpleCSSStyles;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.ItemRendererEvent;
- //import org.apache.flex.html.List;
- import org.apache.flex.core.IList;
-
- [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
- /**
- * The DataItemRendererFactoryForArrayList class uses an ArrayList
- * and creates an item renderer for every
- * item in the collection. Other implementations of
- * IDataProviderItemRendererMapper map different data
- * structures or manage a virtual set of renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataItemRendererFactoryForArrayList extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataItemRendererFactoryForArrayList(target:Object=null)
- {
- super(target);
- }
-
- protected var dataProviderModel:IDataProviderModel;
-
- protected var labelField:String;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
- }
-
- private function finishSetup(event:Event):void
- {
- dataProviderModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
- dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
- labelField = dataProviderModel.labelField;
-
- // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
- // already have been loaded by DataContainerBase.addedToParent function.
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (itemRendererFactory == null) {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
-
- dataProviderChangeHandler(null);
- }
-
- private var _itemRendererFactory:IItemRendererClassFactory;
-
- /**
- * The org.apache.flex.core.IItemRendererClassFactory used
- * to generate instances of item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererFactory():IItemRendererClassFactory
- {
- return _itemRendererFactory;
- }
-
- /**
- * @private
- */
- public function set itemRendererFactory(value:IItemRendererClassFactory):void
- {
- _itemRendererFactory = value;
- }
-
- /**
- * @private
- */
- protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
- {
- ir.index = index;
- ir.labelField = labelField;
- ir.data = data;
- }
-
- /**
- * @private
- */
- protected function dataProviderChangeHandler(event:Event):void
- {
- var dp:IArrayList = dataProviderModel.dataProvider as IArrayList;
- if (!dp)
- return;
-
- var list:IList = _strand as IList;
- var dataGroup:IItemRendererParent = list.dataGroup;
-
- dataGroup.removeAllItemRenderers();
-
- var presentationModel:IListPresentationModel = _strand.getBeadByType(IListPresentationModel) as IListPresentationModel;
-
- var n:int = dp.length;
- for (var i:int = 0; i < n; i++)
- {
- var ir:ISelectableItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ISelectableItemRenderer;
- dataGroup.addItemRenderer(ir);
- if (presentationModel) {
- var style:SimpleCSSStyles = new SimpleCSSStyles();
- style.marginBottom = presentationModel.separatorThickness;
- UIBase(ir).style = style;
- UIBase(ir).height = presentationModel.rowHeight;
- UIBase(ir).percentWidth = 100;
- }
- setData(ir, dp.getItemAt(i), i);
-
- var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
- newEvent.itemRenderer = ir;
- dispatchEvent(newEvent);
- }
-
- IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
deleted file mode 100644
index 554a9c9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
+++ /dev/null
@@ -1,154 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IList;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.supportClasses.DataItemRenderer;
-
- /**
- * The DataItemRendererFactoryForColumnData class implents the
- * org.apache.flex.core.IDataProviderItemRendererMapper interface and creates the itemRenderers
- * for each cell in the org.apache.flex.html.DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataItemRendererFactoryForColumnData implements IBead, IDataProviderItemRendererMapper
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataItemRendererFactoryForColumnData()
- {
- }
-
- private var selectionModel:IDataGridModel;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete",finishSetup);
- }
-
- /**
- * @private
- */
- private function finishSetup(event:Event):void
- {
- selectionModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
- selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
- // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
- // already have been loaded by DataContainerBase.addedToParent function.
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (itemRendererFactory == null) {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
-
- dataProviderChangeHandler(null);
- }
-
- private var _itemRendererFactory:IItemRendererClassFactory;
-
- /**
- * The factory used to create the itemRenderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererFactory():IItemRendererClassFactory
- {
- return _itemRendererFactory
- }
- public function set itemRendererFactory(value:IItemRendererClassFactory):void
- {
- _itemRendererFactory = value;
- }
-
- /**
- * The dataGroup that is the pareent for the itemRenderers
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
-// protected var dataGroup:IItemRendererParent;
-
- /**
- * @private
- */
- private function dataProviderChangeHandler(event:Event):void
- {
- var dp:Array = selectionModel.dataProvider as Array;
- if (!dp)
- return;
-
- var list:IList = _strand as IList;
- var dataGroup:IItemRendererParent = list.dataGroup;
-
- dataGroup.removeAllItemRenderers();
-
- var view:DataGridColumnView = _strand.getBeadByType(IBeadView) as DataGridColumnView;
- if (view == null) return;
-
- var n:int = dp.length;
- for (var i:int = 0; i < n; i++)
- {
- var tf:DataItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as DataItemRenderer;
- dataGroup.addItemRenderer(tf);
- tf.index = i;
- tf.labelField = view.column.dataField;
- tf.data = dp[i];
- }
-
- IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
deleted file mode 100644
index 1cf4f57..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForHierarchicalData.as
+++ /dev/null
@@ -1,113 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IListPresentationModel;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.IDataProviderModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.SimpleCSSStyles;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.ItemRendererEvent;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.List;
- import org.apache.flex.html.supportClasses.TreeListData;
- import org.apache.flex.collections.FlattenedList;
-
- [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
- /**
- * The DataItemRendererFactoryForHierarchicalData class reads a
- * HierarchicalData object and creates an item renderer for every
- * item in the array. Other implementations of
- * IDataProviderItemRendererMapper map different data
- * structures or manage a virtual set of renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataItemRendererFactoryForHierarchicalData extends DataItemRendererFactoryForArrayList
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataItemRendererFactoryForHierarchicalData()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
-
- super.strand = value;
- }
-
- /**
- * Sets the itemRenderer's data with additional tree-related data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function setData(ir:ISelectableItemRenderer, data:Object, index:int):void
- {
- // Set the listData with the depth of this item
- var flatList:FlattenedList = dataProviderModel.dataProvider as FlattenedList;
- var depth:int = flatList.getDepth(data);
- var isOpen:Boolean = flatList.isOpen(data);
- var hasChildren:Boolean = flatList.hasChildren(data);
-
- var treeData:TreeListData = new TreeListData();
- treeData.depth = depth;
- treeData.isOpen = isOpen;
- treeData.hasChildren = hasChildren;
-
- ir.listData = treeData;
-
- super.setData(ir, data, index);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
deleted file mode 100644
index e8c28bd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataProviderChangeNotifier.as
+++ /dev/null
@@ -1,77 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.collections.ArrayList;
- import org.apache.flex.html.supportClasses.DataProviderNotifierBase;
-
- /**
- * The DataProviderChangeNotifier notifies listeners when a selection model's
- * ArrayList dataProvider has changed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataProviderChangeNotifier extends DataProviderNotifierBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataProviderChangeNotifier()
- {
- }
-
- override protected function destinationChangedHandler(event:Event):void
- {
- if (dataProvider == null)
- {
- var object:Object = document[sourceID];
- dataProvider = object[propertyName] as ArrayList;
- }
- else
- {
- dataProvider.removeEventListener("itemAdded", handleDataProviderChanges);
- dataProvider.removeEventListener("itemRemoved", handleDataProviderChanges);
- dataProvider.removeEventListener("itemUpdated", handleDataProviderChanges);
- dataProvider.removeEventListener("collectionChanged", handleDataProviderChanges);
- }
-
- dataProvider.addEventListener("itemAdded", handleDataProviderChanges);
- dataProvider.addEventListener("itemRemoved", handleDataProviderChanges);
- dataProvider.addEventListener("itemUpdated", handleDataProviderChanges);
- dataProvider.addEventListener("collectionChanged", handleDataProviderChanges);
- }
-
- private function handleDataProviderChanges(event:Event):void
- {
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.dispatchEvent(new Event("dataProviderChanged"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
deleted file mode 100644
index ca1a0ee..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ /dev/null
@@ -1,246 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.SimpleCSSStyles;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.Group;
- import org.apache.flex.html.List;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.beads.GroupView;
- import org.apache.flex.html.beads.layouts.HorizontalLayout;
- import org.apache.flex.html.beads.layouts.TileLayout;
- import org.apache.flex.html.beads.models.DateChooserModel;
- import org.apache.flex.html.supportClasses.DateHeaderButton;
- import org.apache.flex.html.supportClasses.DateChooserHeader;
- import org.apache.flex.html.supportClasses.DateChooserList;
-
- /**
- * The DateChooserView class is a view bead for the DateChooser. This class
- * creates the elements for the DateChooser: the buttons to move between
- * months, the labels for the days of the week, and the buttons for each day
- * of the month.
- * @viewbead
- */
- public class DateChooserView extends GroupView implements IBeadView
- {
- /**
- * constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateChooserView()
- {
- super();
- }
-
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- model = _strand.getBeadByType(IBeadModel) as DateChooserModel;
- if (model == null) {
- model = new (ValuesManager.valuesImpl.getValue(_strand,"iBeadModel")) as DateChooserModel;
- }
- model.addEventListener("displayedMonthChanged",handleModelChange);
- model.addEventListener("displayedYearChanged",handleModelChange);
-
- createChildren();
- updateDisplay();
- }
-
- private var model:DateChooserModel;
-
- private var _prevMonthButton:DateHeaderButton;
- private var _nextMonthButton:DateHeaderButton;
- private var monthLabel:DateHeaderButton;
- private var monthButtonsContainer:Group;
- private var dayNamesContainer:DateChooserHeader;
- private var daysContainer:DateChooserList;
-
- /**
- * The button that causes the previous month to be displayed by the DateChooser.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get prevMonthButton():DateHeaderButton
- {
- return _prevMonthButton;
- }
-
- /**
- * The button that causes the next month to be displayed by the DateChooser.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get nextMonthButton():DateHeaderButton
- {
- return _nextMonthButton;
- }
-
- public function get dayList():List
- {
- return daysContainer;
- }
-
- private const controlHeight:int = 26;
- private const commonButtonWidth:int = 40;
-
- /**
- * @private
- */
- private function createChildren():void
- {
- // HEADER BUTTONS
-
- monthButtonsContainer = new Group();
- monthButtonsContainer.height = controlHeight;
- monthButtonsContainer.id = "dateChooserMonthButtons";
- monthButtonsContainer.className = "DateChooserMonthButtons";
- monthButtonsContainer.style = new SimpleCSSStyles();
- monthButtonsContainer.style.flexGrow = 0;
- COMPILE::JS {
- monthButtonsContainer.element.style["flex-grow"] = "0";
- }
-
- _prevMonthButton = new DateHeaderButton();
- _prevMonthButton.width = commonButtonWidth;
- _prevMonthButton.text = "<";
- if (_prevMonthButton.style == null) {
- _prevMonthButton.style = new SimpleCSSStyles();
- }
- _prevMonthButton.style.flexGrow = 0;
- COMPILE::JS {
- _prevMonthButton.element.style["flex-grow"] = "0";
- }
- monthButtonsContainer.addElement(_prevMonthButton);
-
- monthLabel = new DateHeaderButton();
- monthLabel.text = "Month Here";
- if (monthLabel.style == null) {
- monthLabel.style = new SimpleCSSStyles();
- }
- monthLabel.style.flexGrow = 1;
- COMPILE::JS {
- monthLabel.element.style["flex-grow"] = "1";
- }
- monthButtonsContainer.addElement(monthLabel);
-
- _nextMonthButton = new DateHeaderButton();
- _nextMonthButton.width = commonButtonWidth;
- _nextMonthButton.text = ">";
- if (_nextMonthButton.style == null) {
- _nextMonthButton.style = new SimpleCSSStyles();
- }
- COMPILE::JS {
- _nextMonthButton.element.style["flex-grow"] = "0";
- }
- _nextMonthButton.style.flexGrow = 0;
- monthButtonsContainer.addElement(_nextMonthButton);
-
- UIBase(_strand).addElement(monthButtonsContainer, false);
-
- // DAY NAMES
-
- dayNamesContainer = new DateChooserHeader();
- dayNamesContainer.id = "dateChooserDayNames";
- dayNamesContainer.className = "DateChooserHeader";
- dayNamesContainer.height = controlHeight;
- dayNamesContainer.style = new SimpleCSSStyles();
- dayNamesContainer.style.flexGrow = 0;
- COMPILE::JS {
- dayNamesContainer.element.style["flex-grow"] = "0";
- dayNamesContainer.element.style["align-items"] = "center";
- }
- COMPILE::SWF {
- dayNamesContainer.percentWidth = 100;
- }
- UIBase(_strand).addElement(dayNamesContainer, false);
-
- // DAYS
-
- daysContainer = new DateChooserList();
- daysContainer.className = "DateChooserList";
- daysContainer.id = "dateChooserList";
- daysContainer.style = new SimpleCSSStyles();
- daysContainer.style.flexGrow = 1;
- COMPILE::JS {
- daysContainer.element.style["flex-grow"] = "1";
- }
- COMPILE::SWF {
- daysContainer.percentWidth = 100;
- }
- UIBase(_strand).addElement(daysContainer, false);
-
-
- IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
- model.addEventListener("selectedDateChanged", selectionChangeHandler);
- }
-
- /**
- * @private
- */
- private function updateDisplay():void
- {
- monthLabel.text = model.monthNames[model.displayedMonth] + " " +
- String(model.displayedYear);
-
- dayNamesContainer.dataProvider = model.dayNames;
-
- daysContainer.dataProvider = model.days;
- }
-
- /**
- * @private
- */
- private function selectionChangeHandler(event:Event):void
- {
- updateDisplay();
-
- var index:Number = model.getIndexForSelectedDate();
- daysContainer.selectedIndex = index;
- }
-
- /**
- * @private
- */
- private function handleModelChange(event:Event):void
- {
- updateDisplay();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
deleted file mode 100644
index 33bdfbb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateFieldView.as
+++ /dev/null
@@ -1,199 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.core.IFormatBead;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IPopUpHost;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.UIUtils;
- import org.apache.flex.utils.PointUtils;
- import org.apache.flex.geom.Point;
- import org.apache.flex.html.DateChooser;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.TextInput;
-
- /**
- * The DateFieldView class is a bead for DateField that creates the
- * input and button controls. This class also handles the pop-up
- * mechanics.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateFieldView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateFieldView()
- {
- }
-
- private var _textInput:TextInput;
- private var _button:TextButton;
-
- /**
- * The TextButton that triggers the display of the DateChooser pop-up.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get menuButton():TextButton
- {
- return _button;
- }
-
- /**
- * The TextInput that displays the date selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get textInput():TextInput
- {
- return _textInput;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- _textInput = new TextInput();
- UIBase(_strand).addElement(_textInput);
- _textInput.width = 100;
- _textInput.height = 18;
-
- _button = new TextButton();
- _button.text = "M";
- UIBase(_strand).addElement(_button);
-
- COMPILE::SWF {
- _button.x = _textInput.width;
- _button.y = _textInput.y;
- }
-
- IEventDispatcher(_strand).addEventListener("beadsAdded",handleBeadsAdded);
- }
-
- private function handleBeadsAdded(event:Event):void
- {
- var formatter:IFormatBead = _strand.getBeadByType(IFormatBead) as IFormatBead;
- formatter.addEventListener("formatChanged",handleFormatChanged);
- }
-
- private function handleFormatChanged(event:Event):void
- {
- var formatter:IFormatBead = event.target as IFormatBead;
- _textInput.text = formatter.formattedString;
- }
-
- private var _popUp:DateChooser;
-
- /**
- * The pop-up component that holds the selection list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUp():DateChooser
- {
- return _popUp;
- }
-
- private var _popUpVisible:Boolean;
-
- /**
- * This property is true if the pop-up selection list is currently visible.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUpVisible():Boolean
- {
- return _popUpVisible;
- }
- public function set popUpVisible(value:Boolean):void
- {
- if (value != _popUpVisible)
- {
- _popUpVisible = value;
- if (value)
- {
- if (!_popUp)
- {
- _popUp = new DateChooser();
- _popUp.width = 210;
- _popUp.height = 230;
- }
-
- var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
- _popUp.selectedDate = model.selectedDate;
-
- var host:IPopUpHost = UIUtils.findPopUpHost(UIBase(_strand));
- var point:Point = new Point(_textInput.width, _button.height);
- var p2:Point = PointUtils.localToGlobal(point, _strand);
- var p3:Point = PointUtils.globalToLocal(p2, host);
- _popUp.x = p3.x;
- _popUp.y = p3.y;
- COMPILE::JS {
- _popUp.element.style.position = "absolute";
- }
-
- host.addElement(_popUp);
- }
- else
- {
- UIUtils.removePopUp(_popUp);
- }
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as
deleted file mode 100644
index 19026ce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DecrementButtonView.as
+++ /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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.svg.Path;
- import org.apache.flex.svg.Rect;
- import org.apache.flex.graphics.SolidColor;
- import org.apache.flex.graphics.SolidColorStroke;
- import org.apache.flex.events.Event;
-
- public class DecrementButtonView extends BeadViewBase implements IBeadView
- {
- public function DecrementButtonView()
- {
- super();
- }
-
- private var _backRect:Rect;
- private var _arrow:Path;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- _strand = value;
-
- var host:UIBase = _strand as UIBase;
-
- _backRect = new Rect();
- _backRect.fill = new SolidColor();
- (_backRect.fill as SolidColor).color = 0xFFFFFF;
- _backRect.stroke = new SolidColorStroke();
- (_backRect.stroke as SolidColorStroke).color = 0x000000;
- (_backRect.stroke as SolidColorStroke).weight = 1.0;
- host.addElement(_backRect);
-
- // arrow
- _arrow = new Path();
- _arrow.fill = new SolidColor();
- (_arrow.fill as SolidColor).color = 0x000000;
- host.addElement(_arrow);
-
- host.addEventListener("widthChanged", sizeHandler);
- host.addEventListener("heightChanged", sizeHandler);
-
- sizeHandler(null);
- }
-
- private function sizeHandler(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
-
- _backRect.x = 0;
- _backRect.y = 0;
- _backRect.setWidthAndHeight(host.width, host.height, true);
- _backRect.drawRect(0, 0, host.width, host.height);
-
- var xm:Number = host.width/2;
- var ym:Number = host.height - 4;
-
- _arrow.setWidthAndHeight(xm, ym, true);
- _arrow.y = 2;
- _arrow.x = 0;
- _arrow.drawStringPath(0, 0, "M "+xm+" "+ym+" L "+(xm-8)+" 2 "+(xm+8)+" 2 "+xm+" "+ym+" Z");
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
deleted file mode 100644
index b49e7a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DownArrowButtonView.as
+++ /dev/null
@@ -1,116 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
-
- /**
- * The DownArrowButtonView class is the view for
- * the down arrow button in a ScrollBar and other controls.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DownArrowButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DownArrowButtonView()
- {
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- g.lineStyle(1);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
- g.endFill();
- g.lineStyle(0);
- g.beginFill(0);
- g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
- g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.QuarterSize);
- g.lineTo(ScrollBarView.HalfSize, ScrollBarView.ThreeQuarterSize);
- g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- private function sizeChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleX = button.width / ScrollBarView.FullSize;
- button.scaleY = button.height / ScrollBarView.FullSize;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
deleted file mode 100644
index 459d718..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DropDownListView.as
+++ /dev/null
@@ -1,301 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObjectContainer;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IPopUpHost;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.SolidBorderUtil;
- import org.apache.flex.utils.UIUtils;
-
- /**
- * The DropDownListView class is the default view for
- * the org.apache.flex.html.DropDownList class.
- * It displays a simple text label with what appears to be a
- * down arrow button on the right, but really, the entire
- * view is the button that will display or dismiss the dropdown.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DropDownListView extends BeadViewBase implements IDropDownListView, IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DropDownListView()
- {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- upTextField = new CSSTextField();
- downTextField = new CSSTextField();
- overTextField = new CSSTextField();
- upSprite.addChild(upTextField);
- overSprite.addChild(overTextField);
- downSprite.addChild(downTextField);
- upTextField.parentDrawsBackground = true;
- downTextField.parentDrawsBackground = true;
- overTextField.parentDrawsBackground = true;
- upTextField.selectable = false;
- upTextField.type = TextFieldType.DYNAMIC;
- downTextField.selectable = false;
- downTextField.type = TextFieldType.DYNAMIC;
- overTextField.selectable = false;
- overTextField.type = TextFieldType.DYNAMIC;
- // auto-size collapses if no text
- //upTextField.autoSize = "left";
- //downTextField.autoSize = "left";
- //overTextField.autoSize = "left";
-
- upArrows = new Shape();
- overArrows = new Shape();
- downArrows = new Shape();
- upSprite.addChild(upArrows);
- overSprite.addChild(overArrows);
- downSprite.addChild(downArrows);
- drawArrows(upArrows);
- drawArrows(overArrows);
- drawArrows(downArrows);
-
- }
-
-
- private var selectionModel:ISelectionModel;
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- selectionModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
- selectionModel.addEventListener("dataProviderChanged", selectionChangeHandler);
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = shape;
- if (selectionModel.selectedIndex !== -1)
- text = selectionModel.selectedItem.toString();
- else
- text = "^W_";
- upTextField.height = upTextField.textHeight + 4;
- downTextField.height = downTextField.textHeight + 4;
- overTextField.height = overTextField.textHeight + 4;
- if (selectionModel.selectedIndex == -1)
- text = "";
-
- IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
- IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
- changeHandler(null);
- }
-
- private function selectionChangeHandler(event:Event):void
- {
- if (selectionModel.selectedItem == null)
- text = "";
- else if (selectionModel.labelField != null)
- text = selectionModel.selectedItem[selectionModel.labelField].toString();
- else
- text = selectionModel.selectedItem.toString();
- }
-
- private function changeHandler(event:Event):void
- {
- var ww:Number = IUIBase(_strand).width;
- var hh:Number = IUIBase(_strand).height;
-
- upArrows.x = ww - upArrows.width - 6;
- overArrows.x = ww - overArrows.width - 6;
- downArrows.x = ww - downArrows.width - 6;
- upArrows.y = (hh - upArrows.height) / 2;
- overArrows.y = (hh - overArrows.height) / 2;
- downArrows.y = (hh - downArrows.height) / 2;
-
- upTextField.width = upArrows.x;
- downTextField.width = downArrows.x;
- overTextField.width = overArrows.x;
- upTextField.height = hh;
- downTextField.height = hh;
- overTextField.height = hh;
-
- drawBorder(upSprite, 0xf8f8f8, ww, hh);
- drawBorder(overSprite, 0xe8e8e8, ww, hh);
- drawBorder(downSprite, 0xd8d8d8, ww, hh);
-
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ww, hh);
- shape.graphics.endFill();
- }
-
- private var upTextField:CSSTextField;
- private var downTextField:CSSTextField;
- private var overTextField:CSSTextField;
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
- private var upArrows:Shape;
- private var downArrows:Shape;
- private var overArrows:Shape;
-
- private function drawBorder(sprite:Sprite, color:uint, ww:Number, hh:Number):void
- {
- sprite.graphics.clear();
- SolidBorderUtil.drawBorder(sprite.graphics, 0, 0,
- ww, hh,
- 0x808080, color, 1, 1, 4);
- }
-
- private function drawArrows(shape:Shape):void
- {
- var g:Graphics = shape.graphics;
- g.beginFill(0);
- g.moveTo(8, 0);
- g.lineTo(12, 4);
- g.lineTo(4, 4);
- g.lineTo(8, 0);
- g.endFill();
- g.beginFill(0);
- g.moveTo(8, 10);
- g.lineTo(12, 6);
- g.lineTo(4, 6);
- g.lineTo(8, 10);
- g.endFill();
- }
-
- /**
- * The text that is displayed in the view.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return upTextField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- upTextField.text = value;
- downTextField.text = value;
- overTextField.text = value;
- }
-
- private var _popUp:IStrand;
-
- /**
- * The dropdown/popup that displays the set of choices.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUp():IStrand
- {
- if (!_popUp)
- {
- var popUpClass:Class = ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
- _popUp = new popUpClass() as IStrand;
- }
- return _popUp;
- }
-
- private var _popUpVisible:Boolean;
-
- /**
- * A flag that indicates whether the dropdown/popup is
- * visible.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get popUpVisible():Boolean
- {
- return _popUpVisible;
- }
-
- /**
- * @private
- */
- public function set popUpVisible(value:Boolean):void
- {
- var host:IPopUpHost;
- if (value != _popUpVisible)
- {
- _popUpVisible = value;
- if (value)
- {
- host = UIUtils.findPopUpHost(_strand as IUIBase);
- IPopUpHost(host).addElement(popUp as IChild);
- }
- else
- {
- host = UIUtils.findPopUpHost(_strand as IUIBase);
- IPopUpHost(host).removeElement(popUp as IChild);
- }
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as
deleted file mode 100644
index e72c4ee..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HRuleView.as
+++ /dev/null
@@ -1,88 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Bitmap;
- import flash.display.Loader;
- import flash.display.LoaderInfo;
- import flash.net.URLRequest;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IImageModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HRuleView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HRuleView()
- {
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
- IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
- IEventDispatcher(_strand).addEventListener("sizeChanged",handleSizeChange);
-
- handleSizeChange(null);
- }
-
- /**
- * @private
- */
- private function handleSizeChange(event:Object):void
- {
- var ui:UIBase = _strand as UIBase;
- ui.$sprite.graphics.clear();
- ui.$sprite.graphics.beginFill(0);
- ui.$sprite.graphics.drawRect(0, 0, ui.width, 1);
- ui.$sprite.graphics.endFill();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
deleted file mode 100644
index 2a0806c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarThumbView.as
+++ /dev/null
@@ -1,125 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.supportClasses.ScrollBar;
-
- /**
- * The HScrollBarThumbView class is the view for
- * the thumb button in a Horizontal ScrollBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBarThumbView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBarThumbView()
- {
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var ww:Number = IUIBase(_strand).width;
- g.clear();
- g.lineStyle(1);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ww, ScrollBarView.FullSize, ScrollBarView.HalfSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xc8c8c8);
- drawView(downView.graphics, 0xc8c8c8);
- drawView(overView.graphics, 0xb8b8b8);
-
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
- IEventDispatcher(_strand).addEventListener("widthChanged", widthChangedHandler);
- }
-
- private function widthChangedHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleY = 1.0;
- button.scaleX = 1.0;
-
- var ww:Number = button.width;
- drawView(upView.graphics, 0xc8c8c8);
- drawView(downView.graphics, 0xc8c8c8);
- drawView(overView.graphics, 0xb8b8b8);
-
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ww, ScrollBarView.FullSize);
- shape.graphics.endFill();
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
deleted file mode 100644
index 8745bef..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarTrackView.as
+++ /dev/null
@@ -1,125 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.html.Button;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The HScrollBarTrackView class is the view for
- * the track in a Horizontal ScrollBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBarTrackView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBarTrackView()
- {
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- var w:Number = Button(_strand).width;
-
- g.clear();
- g.lineStyle(1, 0x808080);
- g.beginFill(bgColor);
- g.drawRect(0, 0, w, ScrollBarView.FullSize);
- g.endFill();
- g.lineStyle(0);
- }
-
- private function widthChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleY = 1.0;
- button.scaleX = 1.0;
-
- var w:Number = Button(_strand).width;
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, w);
- shape.graphics.endFill();
-
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
-
- IEventDispatcher(value).addEventListener("widthChanged", widthChangeHandler);
- shape = new Shape();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as
deleted file mode 100644
index ed80be7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/HScrollBarView.as
+++ /dev/null
@@ -1,105 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.Strand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
- /**
- * The HScrollBarView class is the default view for
- * the org.apache.flex.html.supportClasses.HScrollBar class.
- * It implements the classic desktop-like HScrollBar.
- * A different view would implement more modern scrollbars that hide themselves
- * until hovered over with the mouse.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBarView extends ScrollBarView implements IBeadView, IStrand, IScrollBarView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBarView()
- {
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var v:UIBase = UIBase(value);
- v.setHeight(ScrollBarView.FullSize, true);
-
- // TODO: (aharui) put in values impl
- _increment = new Button();
- var i:Button = _increment;
- i.addBead(new RightArrowButtonView());
- i.addBead(new ButtonAutoRepeatController());
- _decrement = new Button();
- var d:Button = _decrement;
- d.addBead(new LeftArrowButtonView());
- d.addBead(new ButtonAutoRepeatController());
- _track = new Button();
- var tr:Button = _track;
- tr.addBead(new HScrollBarTrackView());
- _thumb = new Button();
- var th:Button = _thumb;
- th.addBead(new HScrollBarThumbView());
-
- v.$sprite.addChild(d.$button);
- v.$sprite.addChild(i.$button);
- v.$sprite.addChild(tr.$button);
- v.$sprite.addChild(th.$button);
-
- IEventDispatcher(_strand).addEventListener("widthChanged", changeHandler);
-
- layout.layout();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as
deleted file mode 100644
index 2590a9a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBackgroundBead.as
+++ /dev/null
@@ -1,35 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
-
- /**
- * The IBackgroundBead interface is a marker interface for beads
- * that draw backgrounds.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IBackgroundBead extends IBead
- {
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as
deleted file mode 100644
index 3e4fc39..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IBorderBead.as
+++ /dev/null
@@ -1,35 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
-
- /**
- * The IBackgroundBead interface is a marker interface for beads
- * that draw backgrounds.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IBorderBead extends IBead
- {
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
deleted file mode 100644
index e58d868..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IComboBoxView.as
+++ /dev/null
@@ -1,76 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
-
- /**
- * The IComboBoxView interface provides the protocol for any bead that
- * creates the visual parts for a org.apache.flex.html.ComboBox control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IComboBoxView extends IBeadView
- {
- /**
- * The sub-component used for the input area of the ComboBox.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get textInputField():Object;
-
- /**
- * The sub-component used for the button to activate the pop-up.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get popupButton():Object;
-
- /**
- * The component housing the selection list.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get popUp():Object;
-
- /**
- * Determines whether or not the pop-up with the selection list is visible or not.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get popUpVisible():Boolean;
- function set popUpVisible(value:Boolean):void;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as
deleted file mode 100644
index 688bcc5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IDropDownListView.as
+++ /dev/null
@@ -1,57 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
-
- /**
- * The IDropDownListView interface is the interface for views for
- * the org.apache.flex.html.DropDownList.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IDropDownListView extends IBeadView
- {
-
- /**
- * @copy org.apache.flex.html.beads.DropDownListView#popup
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get popUp():IStrand;
-
- /**
- * @copy org.apache.flex.html.beads.DropDownListView#popupVisible
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get popUpVisible():Boolean;
- function set popUpVisible(value:Boolean):void;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as
deleted file mode 100644
index 91d1838..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IGraphicsDrawing.as
+++ /dev/null
@@ -1,36 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- /**
- * The IGraphicsDrawing interface is a marker interface for beads
- * that draw into the graphics layer. This helps a bead determine
- * if it is the first of many graphics drawing beads so it can
- * know whether or not to clear the graphics layer before drawing.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IGraphicsDrawing
- {
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as
deleted file mode 100644
index f9159ce..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IListView.as
+++ /dev/null
@@ -1,48 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IStrand;
-
- /**
- * The IListView interface provides the protocol for any bead that
- * creates the visual parts for a org.apache.flex.html.List control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IListView extends IBeadView
- {
- /**
- * The component which parents all of the itemRenderers for each
- * datum being displayed by the List component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get dataGroup():IItemRendererParent;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
deleted file mode 100644
index a2b8494..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IScrollBarView.as
+++ /dev/null
@@ -1,80 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.html.Button;
-
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
-
- /**
- * The IScrollBarView interface is the interface for views for
- * the org.apache.flex.html.supportClasses.ScrollBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface IScrollBarView
- {
- /**
- * The down arrow button in a vertical ScrollBar or right arrow
- * button in a horizontal ScrollBar
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get increment():Button;
-
- /**
- * The up arrow button in a vertical ScrollBar or left arrow
- * button in a horizontal ScrollBar
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get decrement():Button;
-
- /**
- * The track in a ScrollBar
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get track():Button;
-
- /**
- * The thumb in a ScrollBar
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get thumb():Button;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as
deleted file mode 100644
index 31ff9e9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISliderView.as
+++ /dev/null
@@ -1,55 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IUIBase;
-
- /**
- * The ISliderView interface provides the protocol for any bead that
- * creates the visual parts for a org.apache.flex.html.Slider control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface ISliderView extends IBead
- {
- /**
- * The component used for the track area of the org.apache.flex.html.Slider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get track():IUIBase;
-
- /**
- * The component used for the thumb button of the org.apache.flex.html.Slider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get thumb():IUIBase;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as
deleted file mode 100644
index e3b13a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ISpinnerView.as
+++ /dev/null
@@ -1,69 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- COMPILE::SWF
- {
- import org.apache.flex.html.Button;
- }
- COMPILE::JS
- {
- import org.apache.flex.html.supportClasses.SpinnerButton;
- }
-
- import org.apache.flex.core.IBead;
-
- /**
- * The ISpinnerView interface provides the protocol for any bead that
- * creates the visual parts for a org.apache.flex.html.Spinner control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface ISpinnerView extends IBead
- {
- /**
- * The component used to increment the org.apache.flex.html.Spinner value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- function get increment():Button;
- COMPILE::JS
- function get increment():SpinnerButton;
-
- /**
- * The component used to decrement the org.apache.flex.html.Spinner value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- function get decrement():Button;
- COMPILE::JS
- function get decrement():SpinnerButton;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as
deleted file mode 100644
index e94ee34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextFieldView.as
+++ /dev/null
@@ -1,44 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.CSSTextField;
-
- /**
- * The ITextFieldView interface is the interface for views for
- * the use a CSSTextField to display text.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface ITextFieldView
- {
- /**
- * The org.apache.flex.core.CSSTextField used to display text.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get textField():CSSTextField;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as
deleted file mode 100644
index 0877b05..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ITextItemRenderer.as
+++ /dev/null
@@ -1,45 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.ISelectableItemRenderer;
-
- /**
- * The ITextItemRenderer interface is the interface for
- * for org.apache.flex.core.IItemRenderer that display text.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public interface ITextItemRenderer extends ISelectableItemRenderer
- {
- /**
- * The text to be displayed in the item renderer.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- function get text():String;
- function set text(value:String):void;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
deleted file mode 100644
index 1c1d1ba..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageAndTextButtonView.as
+++ /dev/null
@@ -1,279 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Loader;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.net.URLRequest;
- import flash.text.TextField;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IStrandWithModel;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.beads.models.ImageAndTextModel;
- import org.apache.flex.utils.SolidBorderUtil;
-
- /**
- * The ImageButtonView class provides an image-only view
- * for the standard Button. Unlike the CSSButtonView, this
- * class does not support background and border; only images
- * for the up, over, and active states.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageAndTextButtonView extends BeadViewBase implements IBeadView, IBead
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageAndTextButtonView()
- {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- upTextField = new CSSTextField();
- downTextField = new CSSTextField();
- overTextField = new CSSTextField();
- upTextField.selectable = false;
- upTextField.type = TextFieldType.DYNAMIC;
- downTextField.selectable = false;
- downTextField.type = TextFieldType.DYNAMIC;
- overTextField.selectable = false;
- overTextField.type = TextFieldType.DYNAMIC;
- upTextField.autoSize = "left";
- downTextField.autoSize = "left";
- overTextField.autoSize = "left";
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- textModel = IStrandWithModel(value).model as ImageAndTextModel;
- textModel.addEventListener("textChange", textChangeHandler);
- textModel.addEventListener("htmlChange", htmlChangeHandler);
- textModel.addEventListener("imageChange", imageChangeHandler);
-
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = shape;
-
- setupBackground(upSprite, upTextField, 0xCCCCCC);
- setupBackground(overSprite, overTextField, 0xFFCCCC, "hover");
- setupBackground(downSprite, downTextField, 0x808080, "active");
- upTextField.styleParent = value;
- downTextField.styleParent = value;
- overTextField.styleParent = value;
-
- }
-
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
- private var shape:Shape;
-
- private var textModel:ImageAndTextModel;
-
- /**
- * The URL of an icon to use in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get image():String
- {
- return textModel.image;
- }
-
- /**
- * @private
- */
- private function setupBackground(sprite:Sprite, textField:CSSTextField, color:uint, state:String = null):void
- {
- var backgroundImage:Object = image;
- if (backgroundImage)
- {
- var loader:Loader = new Loader();
- sprite.addChildAt(loader, 0);
- sprite.addChild(textField);
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- var padding:int = 2;
- var borderWidth:int = 1;
- updateHitArea();
- loader.x = padding;
- textField.x = loader.width + padding;
- textField.y = padding;
- loader.y = (textField.height + padding + padding - loader.height) / 2;
- sprite.graphics.clear();
- sprite.graphics.beginFill(color);
- sprite.graphics.drawRect(0, 0, sprite.width, sprite.height);
- sprite.graphics.endFill();
- SolidBorderUtil.drawBorder(sprite.graphics,
- 0, 0, textField.x + textField.width + padding, textField.height + padding + padding,
- 0x000000, color, borderWidth);
- });
- }
- }
-
- private function textChangeHandler(event:Event):void
- {
- text = textModel.text;
- }
-
- private function htmlChangeHandler(event:Event):void
- {
- html = textModel.html;
- }
-
- private function imageChangeHandler(event:Event):void
- {
- setupBackground(upSprite, upTextField, 0xCCCCCC);
- setupBackground(overSprite, overTextField, 0xFFCCCC, "hover");
- setupBackground(downSprite, downTextField, 0x808080, "active");
- }
-
- /**
- * The CSSTextField in the up state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var upTextField:CSSTextField;
-
- /**
- * The CSSTextField in the down state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var downTextField:CSSTextField;
-
- /**
- * The CSSTextField in the over state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var overTextField:CSSTextField;
-
- /**
- * @copy org.apache.flex.html.core.ITextModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return upTextField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- upTextField.text = value;
- downTextField.text = value;
- overTextField.text = value;
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
- shape.graphics.endFill();
-
- }
-
- /**
- * @copy org.apache.flex.html.core.ITextModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return upTextField.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- upTextField.htmlText = value;
- downTextField.htmlText = value;
- overTextField.htmlText = value;
- }
-
- /**
- * @private
- */
- private function updateHitArea():void
- {
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
- shape.graphics.endFill();
-
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
deleted file mode 100644
index 92b5aec..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ /dev/null
@@ -1,175 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-COMPILE::SWF {
- import flash.display.Loader;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.IOErrorEvent;
- import flash.net.URLRequest;
-
- import org.apache.flex.core.UIButtonBase;
-}
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The ImageButtonView class provides an image-only view
- * for the standard Button. Unlike the CSSButtonView, this
- * class does not support background and border; only images
- * for the up, over, and active states.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageButtonView extends BeadViewBase implements IBeadView, IBead
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageButtonView()
- {
- COMPILE::SWF {
- upSprite = new Sprite();
- downSprite = new Sprite();
- overSprite = new Sprite();
- }
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- COMPILE::SWF {
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = shape;
-
- setupBackground(upSprite);
- setupBackground(overSprite, "hover");
- setupBackground(downSprite, "active");
-
- IEventDispatcher(value).addEventListener("sourceChanged", handleSourceChange);
- }
- }
-
- COMPILE::SWF {
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
- private var shape:Shape;
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function setupBackground(sprite:Sprite, state:String = null):void
- {
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(_strand, "background-image", state);
- if (backgroundImage)
- {
- var loader:Loader = new Loader();
- sprite.addChildAt(loader, 0);
- var url:String = backgroundImage as String;
- loader.load(new URLRequest(url));
- loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
- trace(e);
- e.preventDefault();
- });
- loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, function (e:flash.events.Event):void {
- var host:UIButtonBase = UIButtonBase(_strand);
- if (isNaN(host.explicitWidth) && isNaN(host.percentWidth))
- {
- host.setWidth(loader.content.width);
- if (host.parent is IEventDispatcher)
- IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
- }
- else
- loader.content.width = host.width;
-
- if (isNaN(host.explicitHeight) && isNaN(host.percentHeight))
- {
- host.setHeight(loader.content.height);
- if (host.parent is IEventDispatcher)
- IEventDispatcher(host.parent).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
- }
- else
- loader.content.height = host.height;
- updateHitArea();
- });
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function handleSourceChange(event:org.apache.flex.events.Event):void
- {
- setupBackground(upSprite);
- setupBackground(overSprite, "hover");
- setupBackground(downSprite, "active");
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function updateHitArea():void
- {
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, upSprite.width, upSprite.height);
- shape.graphics.endFill();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as
deleted file mode 100644
index c3a0c39..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ImageView.as
+++ /dev/null
@@ -1,47 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.ImageViewBase;
-
- /**
- * The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageView extends ImageViewBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageView()
- {
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as
deleted file mode 100644
index de1296b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/IncrementButtonView.as
+++ /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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.svg.Path;
- import org.apache.flex.svg.Rect;
- import org.apache.flex.graphics.SolidColor;
- import org.apache.flex.graphics.SolidColorStroke;
- import org.apache.flex.events.Event;
-
- public class IncrementButtonView extends BeadViewBase implements IBeadView
- {
- public function IncrementButtonView()
- {
- super();
- }
-
- private var _backRect:Rect;
- private var _arrow:Path;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- _strand = value;
-
- var host:UIBase = _strand as UIBase;
-
- _backRect = new Rect();
- _backRect.fill = new SolidColor();
- (_backRect.fill as SolidColor).color = 0xFFFFFF;
- _backRect.stroke = new SolidColorStroke();
- (_backRect.stroke as SolidColorStroke).color = 0x000000;
- (_backRect.stroke as SolidColorStroke).weight = 1.0;
- host.addElement(_backRect);
-
- // arrow
- _arrow = new Path();
- _arrow.fill = new SolidColor();
- (_arrow.fill as SolidColor).color = 0x000000;
- host.addElement(_arrow);
-
- host.addEventListener("widthChanged", sizeHandler);
- host.addEventListener("heightChanged", sizeHandler);
-
- sizeHandler(null);
- }
-
- private function sizeHandler(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
-
- _backRect.x = 0;
- _backRect.y = 0;
- _backRect.setWidthAndHeight(host.width, host.height, true);
- _backRect.drawRect(0, 0, host.width, host.height);
-
- var xm:Number = host.width/2;
- var ym:Number = host.height - 4;
-
- _arrow.setWidthAndHeight(xm, ym, true);
- _arrow.y = 2;
- _arrow.x = 0;
- _arrow.drawStringPath(0, 0, "M "+xm+" 2 L "+(xm-8)+" "+ym+" L "+(xm+8)+" "+ym+" Z");
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
deleted file mode 100644
index 243c08d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/LeftArrowButtonView.as
+++ /dev/null
@@ -1,117 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The LeftArrowButtonView class is the view for
- * the left arrow button in a ScrollBar and other controls.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class LeftArrowButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function LeftArrowButtonView()
- {
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- g.lineStyle(1, 0x808080);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
- g.endFill();
- g.lineStyle(0);
- g.beginFill(0);
- g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.HalfSize);
- g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.ThreeQuarterSize);
- g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.QuarterSize);
- g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.HalfSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- private function sizeChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleX = button.width / ScrollBarView.FullSize;
- button.scaleY = button.height / ScrollBarView.FullSize;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
deleted file mode 100644
index 0f73421..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ /dev/null
@@ -1,196 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.ContainerBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IList;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.IItemRenderer;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.Strand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.beads.models.ArraySelectionModel;
- import org.apache.flex.html.beads.models.ScrollBarModel;
- import org.apache.flex.html.beads.models.SingleLineBorderModel;
- import org.apache.flex.html.supportClasses.Border;
- import org.apache.flex.html.supportClasses.DataGroup;
- import org.apache.flex.html.supportClasses.ScrollBar;
-
- /**
- * The List class creates the visual elements of the org.apache.flex.html.List
- * component. A List consists of the area to display the data (in the dataGroup), any
- * scrollbars, and so forth.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::JS
- public class ListView extends DataContainerView
- {
- public function ListView()
- {
- super();
- }
-
- protected var listModel:ISelectionModel;
-
- protected var lastSelectedIndex:int = -1;
-
- /**
- * @private
- */
- override protected function handleInitComplete(event:Event):void
- {
- listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
- listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-
- super.handleInitComplete(event);
- }
-
- protected function selectionChangeHandler(event:Event):void
- {
- if (lastSelectedIndex != -1)
- {
- var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
- if (ir != null) ir.selected = false;
- }
- if (listModel.selectedIndex != -1)
- {
- ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
- if (ir != null) ir.selected = true;
- }
- lastSelectedIndex = listModel.selectedIndex;
- }
-
- protected var lastRollOverIndex:int = -1;
-
- /**
- * @private
- */
- protected function rollOverIndexChangeHandler(event:Event):void
- {
- if (lastRollOverIndex != -1)
- {
- var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
- ir.hovered = false;
- }
- if (IRollOverModel(listModel).rollOverIndex != -1)
- {
- ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
- ir.hovered = true;
- }
- lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
- }
- }
-
- COMPILE::SWF
- public class ListView extends DataContainerView
- {
- public function ListView()
- {
- super();
- }
-
- protected var listModel:ISelectionModel;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- super.strand = value;
- }
-
- /**
- * @private
- */
- override protected function handleInitComplete(event:Event):void
- {
- super.handleInitComplete(event);
-
- listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
- listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
- }
-
- protected var lastSelectedIndex:int = -1;
-
- /**
- * @private
- */
- protected function selectionChangeHandler(event:Event):void
- {
- if (lastSelectedIndex != -1)
- {
- var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastSelectedIndex) as ISelectableItemRenderer;
- if (ir != null) ir.selected = false;
- }
- if (listModel.selectedIndex != -1)
- {
- ir = dataGroup.getItemRendererForIndex(listModel.selectedIndex) as ISelectableItemRenderer;
- if (ir != null) ir.selected = true;
- }
- lastSelectedIndex = listModel.selectedIndex;
- }
-
- protected var lastRollOverIndex:int = -1;
-
- /**
- * @private
- */
- protected function rollOverIndexChangeHandler(event:Event):void
- {
- if (lastRollOverIndex != -1)
- {
- var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
- ir.hovered = false;
- }
- if (IRollOverModel(listModel).rollOverIndex != -1)
- {
- ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
- ir.hovered = true;
- }
- lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as
deleted file mode 100644
index e4f87de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/MultilineTextFieldView.as
+++ /dev/null
@@ -1,57 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.text.TextFieldType;
-
- /**
- * The TextFieldView class is the default view for
- * the org.apache.flex.html.Label class.
- * It displays text using a TextField, so there is no
- * right-to-left text support in this view.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class MultilineTextFieldView extends TextFieldViewBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function MultilineTextFieldView()
- {
- super();
-
- textField.selectable = false;
- textField.type = TextFieldType.DYNAMIC;
- textField.mouseEnabled = false;
- textField.autoSize = "left";
- textField.multiline = true;
- textField.wordWrap = true;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as
deleted file mode 100644
index fa56463..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/NumericStepperView.as
+++ /dev/null
@@ -1,187 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Label;
- import org.apache.flex.html.Spinner;
- import org.apache.flex.html.TextInput;
- import org.apache.flex.html.supportClasses.Border;
- import org.apache.flex.html.supportClasses.ScrollBar;
-
- /**
- * The NumericStepperView class creates the visual elements of the
- * org.apache.flex.html.NumericStepper component. A NumberStepper consists of a
- * org.apache.flex.html.TextInput component to display the value and a
- * org.apache.flex.html.Spinner to change the value.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class NumericStepperView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function NumericStepperView()
- {
- }
-
- private var label:Label;
- private var input:TextInput;
- private var spinner:Spinner;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- // add an input field
- input = new TextInput();
- IParent(value).addElement(input);
-
- // add a spinner
- spinner = new Spinner();
- spinner.addBead( UIBase(value).model as IBead );
- IParent(value).addElement(spinner);
- spinner.height = input.height;
-
- // listen for changes to the text input field which will reset the
- // value. ideally, we should either set the input to accept only
- // numeric values or, barring that, reject non-numeric entries. we
- // cannot do that right now however.
- input.model.addEventListener("textChange",inputChangeHandler);
-
- // listen for change events on the spinner so the value can be updated as
- // as resizing the component
- spinner.addEventListener("valueChange",spinnerValueChanged);
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("sizeChanged",sizeChangeHandler);
-
- // listen for changes to the model itself and update the UI accordingly
- IEventDispatcher(UIBase(value).model).addEventListener("valueChange",modelChangeHandler);
- IEventDispatcher(UIBase(value).model).addEventListener("minimumChange",modelChangeHandler);
- IEventDispatcher(UIBase(value).model).addEventListener("maximumChange",modelChangeHandler);
- IEventDispatcher(UIBase(value).model).addEventListener("stepSizeChange",modelChangeHandler);
- IEventDispatcher(UIBase(value).model).addEventListener("snapIntervalChange",modelChangeHandler);
-
- input.text = String(spinner.value);
-
- var host:ILayoutChild = ILayoutChild(value);
- if ((host.isWidthSizedToContent() || isNaN(host.explicitWidth)) &&
- (host.isHeightSizedToContent() || isNaN(host.explicitHeight)))
- sizeChangeHandler(null);
- }
-
- /**
- * @private
- */
- private function sizeChangeHandler(event:Event) : void
- {
- input.x = 2;
- input.y = (UIBase(_strand).height - input.height)/2;
- input.width = UIBase(_strand).width-spinner.width-2;
- spinner.x = input.width+2;
- spinner.y = 0;
- }
-
- /**
- * @private
- */
- private function spinnerValueChanged(event:Event) : void
- {
- input.text = String(spinner.value);
-
- var newEvent:Event = new Event(event.type,event.bubbles);
- IEventDispatcher(_strand).dispatchEvent(newEvent);
- }
-
- /**
- * @private
- */
- private function inputChangeHandler(event:Event) : void
- {
- var newValue:Number = Number(input.text);
-
- if( !isNaN(newValue) ) {
- spinner.value = newValue;
- }
- else {
- input.text = String(spinner.value);
- }
- }
-
- /**
- * @private
- */
- private function modelChangeHandler( event:Event ) : void
- {
- var n:Number = IRangeModel(UIBase(_strand).model).value;
- input.text = String(IRangeModel(UIBase(_strand).model).value);
- }
-
- /**
- * The area containing the TextInput and Spinner controls.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get contentView():IParentIUIBase
- {
- return _strand as IParentIUIBase;
- }
-
- /**
- * @private
- */
- public function get resizableView():IUIBase
- {
- return _strand as IUIBase;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
deleted file mode 100644
index 43af3f8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
+++ /dev/null
@@ -1,266 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IContainer;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewport;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.geom.Size;
- import org.apache.flex.html.Group;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.Panel;
- import org.apache.flex.html.TitleBar;
- import org.apache.flex.utils.CSSContainerUtils;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.html.beads.layouts.VerticalFlexLayout;
- import org.apache.flex.html.supportClasses.PanelLayoutProxy;
-
- COMPILE::SWF {
- import org.apache.flex.core.SimpleCSSStyles;
- }
-
- /**
- * The Panel class creates the visual elements of the org.apache.flex.html.Panel
- * component. A Panel has a org.apache.flex.html.TitleBar, and content. A
- * different View, PanelWithControlBarView, can display a ControlBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class PanelView extends GroupView implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function PanelView()
- {
- super();
- }
-
- private var _titleBar:TitleBar;
-
- /**
- * The org.apache.flex.html.TitleBar component of the
- * org.apache.flex.html.Panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get titleBar():TitleBar
- {
- return _titleBar;
- }
-
- /**
- * @private
- */
- public function set titleBar(value:TitleBar):void
- {
- _titleBar = value;
- }
-
- private var _contentArea:Container;
-
- /**
- * The content area of the panel.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function get contentArea():Container
- {
- return _contentArea;
- }
- public function set contentArea(value:Container):void
- {
- _contentArea = value;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var host:UIBase = UIBase(value);
-
- if (!_titleBar) {
- _titleBar = new TitleBar();
- _titleBar.id = "panelTitleBar";
-
- COMPILE::SWF {
- _titleBar.percentWidth = 100;
-
- if (_titleBar.style == null) {
- _titleBar.style = new SimpleCSSStyles();
- }
- _titleBar.style.flexGrow = 0;
- _titleBar.style.order = 1;
- }
-
- COMPILE::JS {
- _titleBar.element.style["flex-grow"] = "0";
- _titleBar.element.style["order"] = "1";
- }
- }
- // replace the TitleBar's model with the Panel's model (it implements ITitleBarModel) so that
- // any changes to values in the Panel's model that correspond values in the TitleBar will
- // be picked up automatically by the TitleBar.
- titleBar.model = host.model;
-
- if (!_contentArea) {
- _contentArea = new Container();
- _contentArea.id = "panelContent";
- _contentArea.className = "PanelContent";
-
- COMPILE::SWF {
- _contentArea.percentWidth = 100;
-
- if (_contentArea.style == null) {
- _contentArea.style = new SimpleCSSStyles();
- }
- _contentArea.style.flexGrow = 1;
- _contentArea.style.order = 2;
- }
-
- COMPILE::JS {
- _contentArea.element.style["flex-grow"] = "1";
- _contentArea.element.style["order"] = "2";
- _contentArea.element.style["overflow"] = "auto"; // temporary
- }
- }
-
- COMPILE::SWF {
- IEventDispatcher(value).addEventListener("widthChanged", handleSizeChange);
- IEventDispatcher(value).addEventListener("heightChanged", handleSizeChange);
- IEventDispatcher(value).addEventListener("sizeChanged", handleSizeChange);
- IEventDispatcher(value).addEventListener("childrenAdded", handleChildrenAdded);
- }
-
- super.strand = value;
-
- // If the Panel was given a layout, transfer it to the content area.
- var layoutBead:IBeadLayout = value.getBeadByType(IBeadLayout) as IBeadLayout;
- if (layoutBead) {
- value.removeBead(layoutBead);
-
- var contentLayout:IBeadLayout = _contentArea.getBeadByType(IBeadLayout) as IBeadLayout;
- if (contentLayout) {
- _contentArea.removeBead(contentLayout);
- }
- _contentArea.addBead(layoutBead);
- }
-
- // If the Panel was given a viewport, transfer it to the content area.
- var viewportBead:IViewport = value.getBeadByType(IViewport) as IViewport;
- if (viewportBead) {
- value.removeBead(viewportBead);
- _contentArea.addBead(viewportBead);
- }
-
- // Now give the Panel its own layout
- layoutBead = new VerticalFlexLayout();
- value.addBead(layoutBead);
- }
-
- private var _panelLayoutProxy:PanelLayoutProxy;
-
- /**
- * The sub-element used as the parent of the container's elements. This does not
- * include the chrome elements.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- override public function get contentView():ILayoutView
- {
- // we want to return a proxy for the host which will have numElements, getElementAt, etc.
- // functions that will use the host.$numElements, host.$getElementAt, etc. functions
- if (_panelLayoutProxy == null) {
- _panelLayoutProxy = new PanelLayoutProxy(_strand);
- }
- return _panelLayoutProxy;
- }
-
- override protected function completeSetup():void
- {
- if (titleBar.parent == null) {
- (_strand as Panel).$addElement(titleBar);
- }
- if (contentArea.parent == null) {
- (_strand as Panel).$addElement(contentArea as IChild);
- }
-
- super.completeSetup();
-
- performLayout(null);
- }
-
- protected function handleSizeChange(event:Event):void
- {
- COMPILE::JS {
- _titleBar.percentWidth = 100;
- _contentArea.percentWidth = 100;
- }
-
- performLayout(event);
- }
-
- private function handleChildrenAdded(event:Event):void
- {
- _contentArea.dispatchEvent(new Event("layoutNeeded"));
- performLayout(event);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
deleted file mode 100644
index 3312b85..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ /dev/null
@@ -1,157 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IContentViewHost;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IPanelModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITitleBarModel;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.geom.Size;
- import org.apache.flex.html.Container;
- import org.apache.flex.html.Panel;
- import org.apache.flex.html.ControlBar;
- import org.apache.flex.html.TitleBar;
- import org.apache.flex.utils.CSSContainerUtils;
-
- COMPILE::SWF {
- import org.apache.flex.core.SimpleCSSStyles;
- }
-
- /**
- * The Panel class creates the visual elements of the org.apache.flex.html.Panel
- * component. A Panel has a org.apache.flex.html.TitleBar, content, and an
- * optional org.apache.flex.html.ControlBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class PanelWithControlBarView extends PanelView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function PanelWithControlBarView()
- {
- super();
- }
-
- private var _controlBar:ControlBar;
-
- /**
- * The org.apache.flex.html.ControlBar for the Panel; may be null.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get controlBar():ControlBar
- {
- return _controlBar;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var host:UIBase = UIBase(_strand);
-
- _controlBar = new ControlBar();
- _controlBar.id = "panelControlBar";
-
- COMPILE::SWF {
- _controlBar.percentWidth = 100;
-
- if (_controlBar.style == null) {
- _controlBar.style = new SimpleCSSStyles();
- }
- _controlBar.style.flexGrow = 0;
- _controlBar.style.order = 3;
- }
-
- COMPILE::JS {
- _controlBar.element.style["flex-grow"] = "0";
- _controlBar.element.style["order"] = "3";
- }
- }
-
- override protected function completeSetup():void
- {
- if (titleBar.parent == null) {
- (_strand as Panel).$addElement(titleBar);
- }
- if (contentArea.parent == null) {
- (_strand as Panel).$addElement(contentArea as IChild);
- }
- if (controlBar.parent == null) {
- (_strand as Panel).$addElement(controlBar);
- }
-
- var host:UIBase = UIBase(_strand);
-
- var controlBarItems:Array = (host.model as IPanelModel).controlBar;
- if( controlBarItems && controlBarItems.length > 0 ) {
- for each(var comp:IUIBase in controlBarItems) {
- controlBar.addElement(comp, false);
- }
- controlBar.childrenAdded();
- }
-
- super.completeSetup();
-
- performLayout(null);
- }
-
- override protected function handleSizeChange(event:Event):void
- {
- COMPILE::JS {
- titleBar.percentWidth = 100;
- contentArea.percentWidth = 100;
- controlBar.percentWidth = 100;
- }
-
- performLayout(event);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as
deleted file mode 100644
index 310364c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RadioButtonView.as
+++ /dev/null
@@ -1,285 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IValueToggleButtonModel;
- import org.apache.flex.events.Event;
-
- /**
- * The RadioButtonView class creates the visual elements of the org.apache.flex.html.RadioButton
- * component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RadioButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RadioButtonView()
- {
- sprites = [ upSprite = new Sprite(),
- downSprite = new Sprite(),
- overSprite = new Sprite(),
- upAndSelectedSprite = new Sprite(),
- downAndSelectedSprite = new Sprite(),
- overAndSelectedSprite = new Sprite() ];
-
- for each( var s:Sprite in sprites )
- {
- var tf:CSSTextField = new CSSTextField();
- tf.type = TextFieldType.DYNAMIC;
- tf.autoSize = TextFieldAutoSize.LEFT;
- tf.name = "textField";
- var icon:Shape = new Shape();
- icon.name = "icon";
- s.addChild(icon);
- s.addChild(tf);
- }
- }
-
- private var upSprite:Sprite;
- private var downSprite:Sprite;
- private var overSprite:Sprite;
- private var upAndSelectedSprite:Sprite;
- private var downAndSelectedSprite:Sprite;
- private var overAndSelectedSprite:Sprite;
-
- private var sprites:Array;
-
- private var _toggleButtonModel:IValueToggleButtonModel;
-
- /**
- * The model used for the RadioButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get toggleButtonModel() : IValueToggleButtonModel
- {
- return _toggleButtonModel;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- _toggleButtonModel = value.getBeadByType(IValueToggleButtonModel) as IValueToggleButtonModel;
- _toggleButtonModel.addEventListener("textChange", textChangeHandler);
- _toggleButtonModel.addEventListener("htmlChange", htmlChangeHandler);
- _toggleButtonModel.addEventListener("selectedValueChange", selectedValueChangeHandler);
- if (_toggleButtonModel.text != null)
- text = _toggleButtonModel.text;
- if (_toggleButtonModel.html != null)
- html = _toggleButtonModel.html;
-
- layoutControl();
-
- var hitArea:Shape = new Shape();
- hitArea.graphics.beginFill(0x000000);
- hitArea.graphics.drawRect(0,0,upSprite.width, upSprite.height);
- hitArea.graphics.endFill();
-
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- button.hitTestState = hitArea;
-
- if (toggleButtonModel.text !== null)
- text = toggleButtonModel.text;
- if (toggleButtonModel.html !== null)
- html = toggleButtonModel.html;
-
- if (toggleButtonModel.selected && toggleButtonModel.value == value) {
- selected = true;
- }
- }
-
- /**
- * The string label for the org.apache.flex.html.RadioButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
- return tf.text;
- }
- public function set text(value:String):void
- {
- for each( var s:Sprite in sprites )
- {
- var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
- tf.text = value;
- }
-
- layoutControl();
- }
-
- /**
- * The HTML string for the org.apache.flex.html.RadioButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- var tf:CSSTextField = upSprite.getChildByName('textField') as CSSTextField;
- return tf.htmlText;
- }
- public function set html(value:String):void
- {
- for each(var s:Sprite in sprites)
- {
- var tf:CSSTextField = s.getChildByName('textField') as CSSTextField;
- tf.htmlText = value;
- }
-
- layoutControl();
- }
-
- /**
- * @private
- */
- private function textChangeHandler(event:Event):void
- {
- text = toggleButtonModel.text;
- }
-
- /**
- * @private
- */
- private function htmlChangeHandler(event:Event):void
- {
- html = toggleButtonModel.html;
- }
-
- private var _selected:Boolean;
-
- /**
- * The selection state of the RadioButton
- */
- public function get selected():Boolean
- {
- return _selected;
- }
- public function set selected(value:Boolean):void
- {
- _selected = value;
-
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- if( value ) {
- button.upState = upAndSelectedSprite;
- button.downState = downAndSelectedSprite;
- button.overState = overAndSelectedSprite;
-
- } else {
- button.upState = upSprite;
- button.downState = downSprite;
- button.overState = overSprite;
- }
-
- layoutControl();
- }
-
- /**
- * @private
- */
- private function selectedValueChangeHandler(event:Event):void
- {
- selected = _toggleButtonModel.value == _toggleButtonModel.selectedValue;
- }
-
- /**
- * @private
- */
- protected function layoutControl() : void
- {
- for each(var s:Sprite in sprites)
- {
- var icon:Shape = s.getChildByName("icon") as Shape;
- var tf:CSSTextField = s.getChildByName("textField") as CSSTextField;
-
- drawRadioButton(icon);
-
- var mh:Number = Math.max(icon.height,tf.height);
-
- icon.x = 0;
- icon.y = (mh - icon.height)/2;
-
- tf.x = icon.x + icon.width + 1;
- tf.y = (mh - tf.height)/2;
- }
-
- }
-
- /**
- * @private
- */
- protected function drawRadioButton(icon:Shape) : void
- {
- icon.graphics.clear();
- icon.graphics.beginFill(0xf8f8f8);
- icon.graphics.lineStyle(1,0x808080);
- icon.graphics.drawEllipse(0,0,10,10);
- icon.graphics.endFill();
-
- if( selected ) {
- icon.graphics.beginFill(0);
- icon.graphics.drawEllipse(3,3,4,4);
- icon.graphics.endFill();
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
deleted file mode 100644
index 62506f7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RangeStepperView.as
+++ /dev/null
@@ -1,158 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.svg.Rect;
- import org.apache.flex.graphics.SolidColorStroke;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.ImageButton;
- import org.apache.flex.html.Label;
- import org.apache.flex.html.beads.models.RangeModelExtended;
-
- /**
- * The RangeStepperView bead creates the visual elements of the RangeStepper. This
- * includes an increment button, a decrement button, and label to display the value.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RangeStepperView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RangeStepperView()
- {
- super();
- }
-
- private var _label:Label;
- private var _incrementButton:ImageButton;
- private var _decrementButton:ImageButton;
- private var _labelBox:Rect;
-
- /**
- * Increment control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get incrementButton():ImageButton
- {
- return _incrementButton;
- }
-
- /**
- * Decrement control.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get decrementButton():ImageButton
- {
- return _decrementButton;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- _strand = value;
-
- var host:UIBase = _strand as UIBase;
-
- _labelBox = new Rect();
- _labelBox.stroke = new SolidColorStroke();
- (_labelBox.stroke as SolidColorStroke).color = 0x000000;
- (_labelBox.stroke as SolidColorStroke).weight = 1.0;
-
- _incrementButton = new ImageButton();
- _incrementButton.src = "assets/up-arrow.png";
-
- _decrementButton = new ImageButton();
- _decrementButton.src = "assets/down-arrow.png";
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-
- _label = new Label();
-
- host.addElement(_labelBox);
- host.addElement(_incrementButton);
- host.addElement(_decrementButton);
- host.addElement(_label);
-
- var model:RangeModelExtended = host.model as RangeModelExtended;
- model.addEventListener("valueChange", handleValueChange);
-
- sizeChangeHandler(null);
- }
-
- private function sizeChangeHandler(event:Event):void
- {
- var host:UIBase = _strand as UIBase;
-
- _incrementButton.x = 0;
- _incrementButton.y = 0;
- _incrementButton.setWidthAndHeight(host.width, 20);
-
- _label.x = 0;
- _label.y = _incrementButton.height + 2;
- _label.setWidthAndHeight(host.width, host.height-40, true);
-
- _labelBox.x = _label.x;
- _labelBox.y = _label.y - 2;
- _labelBox.drawRect(0, 0, _label.width - 1, _label.height);
-
- _decrementButton.x = 0;
- _decrementButton.y = host.height - 20;
- _decrementButton.setWidthAndHeight(host.width, 20);
- }
-
- private function handleValueChange(event:Event):void
- {
- var model:RangeModelExtended = (_strand as UIBase).model as RangeModelExtended;
- _label.text = model.getLabelForIndex(model.value);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
deleted file mode 100644
index 47378b7..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/RightArrowButtonView.as
+++ /dev/null
@@ -1,117 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The RightArrowButtonView class is the view for
- * the right arrow button in a ScrollBar and other controls.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RightArrowButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RightArrowButtonView()
- {
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- g.lineStyle(1, 0x808080);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
- g.endFill();
- g.lineStyle(0);
- g.beginFill(0);
- g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
- g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.HalfSize);
- g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
- g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.QuarterSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- private function sizeChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleX = button.width / ScrollBarView.FullSize;
- button.scaleY = button.height / ScrollBarView.FullSize;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
deleted file mode 100644
index 6928457..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ScrollBarView.as
+++ /dev/null
@@ -1,217 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.Strand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
- /**
- * The ScrollBarView class is the default view for
- * the org.apache.flex.html.supportClasses.ScrollBar class.
- * It implements the classic desktop-like ScrollBar.
- * A different view would implement more modern scrollbars that hide themselves
- * until hovered over with the mouse.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ScrollBarView extends Strand implements IBeadView, IStrand, IScrollBarView
- {
- public static const FullSize:int = 12;
- public static const ThreeQuarterSize:int = 9;
- public static const HalfSize:int = 6;
- public static const ThirdSize:int = 4;
- public static const QuarterSize:int = 3;
-
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollBarView()
- {
- }
-
- protected var sbModel:IScrollBarModel;
-
- protected var _strand:IStrand;
-
- /**
- * The layout.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var layout:IBeadLayout;
-
- /**
- * The host component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get host():IUIBase
- {
- return _strand as IUIBase;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
- sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel;
- sbModel.addEventListener("maximumChange", changeHandler);
- sbModel.addEventListener("minimumChange", changeHandler);
- sbModel.addEventListener("snapIntervalChange", changeHandler);
- sbModel.addEventListener("stepSizeChange", changeHandler);
- sbModel.addEventListener("pageSizeChange", changeHandler);
- sbModel.addEventListener("valueChange", changeHandler);
-
- if( _strand.getBeadByType(IBeadLayout) == null ) {
- layout = new (ValuesManager.valuesImpl.getValue(_strand, "iBeadLayout")) as IBeadLayout;
- _strand.addBead(layout);
- }
- }
-
- protected function changeHandler(event:Event):void
- {
- layout.layout();
- }
-
- protected var _decrement:Button;
- protected var _increment:Button;
- protected var _track:Button;
- protected var _thumb:Button;
-
- /**
- * @copy org.apache.flex.html.beads.IScrollBarView#decrement
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get decrement():Button
- {
- return _decrement;
- }
-
- /**
- * @copy org.apache.flex.html.beads.IScrollBarView#increment
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get increment():Button
- {
- return _increment;
- }
-
- /**
- * @copy org.apache.flex.html.beads.IScrollBarView#track
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get track():Button
- {
- return _track;
- }
-
- /**
- * @copy org.apache.flex.html.beads.IScrollBarView#thumb
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get thumb():Button
- {
- return _thumb;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadView#viewHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get viewHeight():Number
- {
- // don't want to put $height in an interface
- return _strand["$height"];
- }
-
- /**
- * @copy org.apache.flex.core.IBeadView#viewWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get viewWidth():Number
- {
- // don't want to put $width in an interface
- return _strand["$width"];
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as
deleted file mode 100644
index 814e772..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SimpleAlertView.as
+++ /dev/null
@@ -1,151 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IAlertModel;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.Label;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The SimpleAlertView class creates the visual elements of the
- * org.apache.flex.html.SimpleAlert component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SimpleAlertView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SimpleAlertView()
- {
- }
-
- private var messageLabel:Label;
- private var okButton:TextButton;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
- if (backgroundColor != null || backgroundImage != null)
- {
- if (value.getBeadByType(IBackgroundBead) == null)
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
- }
-
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
- if (borderStyles is Array)
- {
- borderStyle = borderStyles[1];
- }
- if (borderStyle == null)
- {
- borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
- }
- if (borderStyle != null && borderStyle != "none")
- {
- if (value.getBeadByType(IBorderBead) == null)
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
- }
-
- var model:IAlertModel = _strand.getBeadByType(IAlertModel) as IAlertModel;
- model.addEventListener("messageChange",handleMessageChange);
- model.addEventListener("htmlMessageChange",handleMessageChange);
-
- messageLabel = new Label();
- messageLabel.text = model.message;
- messageLabel.html = model.htmlMessage;
- IParent(_strand).addElement(messageLabel);
-
- okButton = new TextButton();
- okButton.text = model.okLabel;
- IParent(_strand).addElement(okButton);
- okButton.addEventListener("click",handleOK);
-
- handleMessageChange(null);
- }
-
- /**
- * @private
- */
- private function handleMessageChange(event:Event):void
- {
- var ruler:IMeasurementBead = messageLabel.getBeadByType(IMeasurementBead) as IMeasurementBead;
- if( ruler == null ) {
- messageLabel.addBead(ruler = new (ValuesManager.valuesImpl.getValue(messageLabel, "iMeasurementBead")) as IMeasurementBead);
- }
- var maxWidth:Number = Math.max(UIBase(_strand).width,ruler.measuredWidth);
-
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
- messageLabel.x = metrics.left;
- messageLabel.y = metrics.top;
- messageLabel.width = maxWidth;
-
- okButton.x = (maxWidth - okButton.width)/2;
- okButton.y = messageLabel.y + messageLabel.height + 20;
-
- UIBase(_strand).width = maxWidth + metrics.left + metrics.right;
- UIBase(_strand).height = okButton.y + okButton.height + metrics.bottom;
- }
-
- /**
- * @private
- */
- private function handleOK(event:MouseEvent):void
- {
- var newEvent:Event = new Event("close");
- IEventDispatcher(_strand).dispatchEvent(newEvent);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
deleted file mode 100644
index 8940893..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ /dev/null
@@ -1,91 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStatesObject;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.CSSBorderUtils;
-
- /**
- * The SingleLineBorderBead class draws a single line solid border.
- * The color and thickness can be specified in CSS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SingleLineBorderBead implements IBead, IBorderBead, IGraphicsDrawing
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SingleLineBorderBead()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
- IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
- IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
- IEventDispatcher(value).addEventListener("initComplete", changeHandler);
- IEventDispatcher(value).addEventListener("layoutComplete", changeHandler);
- }
-
- protected function changeHandler(event:Event):void
- {
- var host:UIBase = UIBase(_strand);
- var g:Graphics = (host.$displayObject as Object).graphics as Graphics;
- var w:Number = host.width;
- var h:Number = host.height;
- var state:String;
- if (host is IStatesObject)
- state = IStatesObject(host).currentState;
-
- var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
- if( this == gd ) g.clear();
-
- CSSBorderUtils.draw(g, w, h, host, state, false, false);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
deleted file mode 100644
index debfff3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderThumbView.as
+++ /dev/null
@@ -1,121 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.html.Button;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.core.IChild;
-
- /**
- * The SliderThumbView class creates the draggable input element for the
- * org.apache.flex.html.Slider component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SliderThumbView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SliderThumbView()
- {
- hitArea = new Shape();
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
- }
-
- /**
- * @private
- */
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var host:Button = Button(_strand);
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- g.clear();
- g.lineStyle(1,0x000000);
- g.beginFill(bgColor,1.0);
- g.drawCircle(host.width/2, host.height/2, 10);
- g.endFill();
- }
-
- private var hitArea:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignoreimport org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xFFFFFF);
- drawView(downView.graphics, 0x999999);
- drawView(overView.graphics, 0xDDDDDD);
-
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = hitArea;
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- /**
- * @private
- */
- private function sizeChangeHandler( event:Event ) : void
- {
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xFFFFFF);
- drawView(downView.graphics, 0x999999);
- drawView(overView.graphics, 0xDDDDDD);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
deleted file mode 100644
index c413c54..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderTrackView.as
+++ /dev/null
@@ -1,121 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.html.Button;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.core.IChild;
-
- /**
- * The SliderTrackView class creates the track area for the org.apache.flex.html.Slider
- * component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SliderTrackView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SliderTrackView()
- {
- hitArea = new Shape();
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
- }
-
- /**
- * @private
- */
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var host:Button = Button(_strand);
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- g.clear();
- g.lineStyle(1,0x000000);
- g.beginFill(bgColor);
- g.drawRect(0, 0, host.width, host.height);
- g.endFill();
- }
-
- private var hitArea:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xCCCCCC);
- drawView(downView.graphics, 0x808080);
- drawView(overView.graphics, 0xEEEEEE);
-
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = hitArea;
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- /**
- * @private
- */
- private function sizeChangeHandler( event:Event ) : void
- {
- drawView(hitArea.graphics, 0xDD0000);
- drawView(upView.graphics, 0xCCCCCC);
- drawView(downView.graphics, 0x808080);
- drawView(overView.graphics, 0xEEEEEE);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
deleted file mode 100644
index 009fb8c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SliderView.as
+++ /dev/null
@@ -1,194 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- COMPILE::SWF {
- import flash.display.DisplayObject;
- import flash.display.Sprite;
- }
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.TextButton;
-
- /**
- * The SliderView class creates the visual elements of the org.apache.flex.html.Slider
- * component. The Slider has a track and a thumb control which are also created with view beads.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SliderView extends BeadViewBase implements ISliderView, IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SliderView()
- {
- }
-
- private var rangeModel:IRangeModel;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- COMPILE::SWF {
- var s:UIBase = UIBase(_strand);
-
- _track = new Button();
- _track.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iTrackView")) as IBead);
- _track.className = "SliderTrack";
- s.addElement(_track);
-
- _thumb = new TextButton();
- _thumb.text = '\u2B0C';
- _thumb.addBead(new (ValuesManager.valuesImpl.getValue(_strand, "iThumbView")) as IBead);
- _thumb.className = "SliderThumb";
- s.addElement(_thumb);
-
- }
- COMPILE::JS {
- _track = new Button();
- _track.className = "SliderTrack";
- UIBase(_strand).addElement(_track);
-
- _thumb = new TextButton();
- _thumb.className = "SliderThumb";
- _thumb.text = '\u2B0C';
- UIBase(_strand).addElement(_thumb);
- }
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
-
- rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-
- // listen for changes to the model and adjust the UI accordingly.
- IEventDispatcher(rangeModel).addEventListener("valueChange",modelChangeHandler);
- IEventDispatcher(rangeModel).addEventListener("minimumChange",modelChangeHandler);
- IEventDispatcher(rangeModel).addEventListener("maximumChange",modelChangeHandler);
- IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
- IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
-
- sizeChangeHandler(null);
- }
-
- private var _track:Button;
- private var _thumb:TextButton;
-
-
- /**
- * The track component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get track():IUIBase
- {
- return _track;
- }
-
- /**
- * The thumb component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get thumb():IUIBase
- {
- return _thumb;
- }
-
- /**
- * @private
- */
- private function sizeChangeHandler( event:Event ) : void
- {
- var host:UIBase = UIBase(_strand);
- var w:Number = host.width;
- var h:Number = host.height;
-
- _thumb.width = 20;
- _thumb.height = host.height;
-
- // the track is inset 1/2 of the thumbwidth so the thumb can
- // overlay the track on either end with the thumb center being
- // on the track's edge
- _track.width = host.width - _thumb.width;
- _track.height = 5;
- _track.x = _thumb.width/2;
- _track.y = (host.height - _track.height)/2;
-
- setThumbPositionFromValue(rangeModel.value);
- }
-
- /**
- * @private
- */
- private function modelChangeHandler( event:Event ) : void
- {
- setThumbPositionFromValue(rangeModel.value);
- }
-
- /**
- * @private
- */
- private function setThumbPositionFromValue( value:Number ) : void
- {
- var p:Number = (value-rangeModel.minimum)/(rangeModel.maximum-rangeModel.minimum);
- var xloc:Number = (p*_track.width);
- COMPILE::JS
- {
- _thumb.element.style.position = 'absolute';
- }
- _thumb.x = xloc;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
deleted file mode 100644
index 331003a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ /dev/null
@@ -1,199 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Graphics;
- import flash.display.Sprite;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The SolidBackgroundBead class draws a solid filled background.
- * The color and opacity can be specified in CSS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SolidBackgroundBead implements IBead, IBackgroundBead, IGraphicsDrawing
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SolidBackgroundBead()
- {
- }
-
- private var _strand:IStrand;
-
- private var host:IUIBase;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- if (value is IUIBase)
- host = IUIBase(value);
- else if (value is IBeadView)
- host = IUIBase(IBeadView(value).host);
-
- IEventDispatcher(host).addEventListener("heightChanged", changeHandler);
- IEventDispatcher(host).addEventListener("widthChanged", changeHandler);
- IEventDispatcher(host).addEventListener("sizeChanged", changeHandler);
- IEventDispatcher(host).addEventListener("initComplete", changeHandler);
- IEventDispatcher(host).addEventListener("layoutComplete", changeHandler);
-
- setupStyle();
- }
-
- protected function setupStyle():void
- {
- var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
- if ((bgColor is String) && (bgColor == "transparent")) {
- bgColor = null;
- opacity = 0;
- }
- else if( bgColor != null ) {
- _backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
- }
-
- var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
- if( bgAlpha != null ) {
- _opacity = Number(bgAlpha);
- }
-
- var corner:Object = ValuesManager.valuesImpl.getValue(host, "border-radius");
- if( corner != null ) {
- _borderRadius = Number(corner);
- }
- }
-
- private var _backgroundColor:uint;
-
- /**
- * The background color
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get backgroundColor():uint
- {
- return _backgroundColor;
- }
-
- /**
- * @private
- */
- public function set backgroundColor(value:uint):void
- {
- _backgroundColor = value;
- if (_strand)
- changeHandler(null);
- }
-
- private var _opacity:Number = 1.0;
-
- /**
- * The opacity (alpha).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get opacity():Number
- {
- return _opacity;
- }
-
- /**
- * @private
- */
- public function set opacity(value:Number):void
- {
- _opacity = value;
- if( _strand )
- changeHandler(null);
- }
-
- private var _borderRadius:Number;
-
- /**
- * The opacity (alpha).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get borderRadius():Number
- {
- return _borderRadius;
- }
-
- /**
- * @private
- */
- public function set borderRadius(value:Number):void
- {
- _borderRadius = value;
- if( _strand )
- changeHandler(null);
- }
-
- protected function changeHandler(event:Event):void
- {
- var g:Graphics = (host.$displayObject as Object).graphics as Graphics;
- var w:Number = host.width;
- var h:Number = host.height;
-
- var gd:IGraphicsDrawing = _strand.getBeadByType(IGraphicsDrawing) as IGraphicsDrawing;
- if( this == gd ) g.clear();
-
- g.beginFill(backgroundColor,opacity);
- if (isNaN(borderRadius))
- g.drawRect(0, 0, w, h);
- else
- g.drawRoundRect(0, 0, w, h, borderRadius * 2);
- g.endFill();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as
deleted file mode 100644
index 5658706..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/SpinnerView.as
+++ /dev/null
@@ -1,183 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-COMPILE::SWF {
- import flash.display.DisplayObject;
-}
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
-COMPILE::JS {
- import org.apache.flex.html.beads.controllers.SpinnerMouseController;
- import org.apache.flex.html.supportClasses.SpinnerButton;
-}
-
- /**
- * The SpinnerView class creates the visual elements of the org.apache.flex.html.Spinner
- * component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SpinnerView extends BeadViewBase implements ISpinnerView, IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SpinnerView()
- {
- }
-
- private var rangeModel:IRangeModel;
-
- COMPILE::JS {
- public var _increment:SpinnerButton;
- public var _decrement:SpinnerButton;
- private var controller:SpinnerMouseController;
- }
-
- COMPILE::SWF {
- private var _decrement:Button;
- private var _increment:Button;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- COMPILE::SWF {
- _increment = new Button();
- var i:Button = _increment
- i.addBead(new UpArrowButtonView());
- i.addBead(new ButtonAutoRepeatController());
- _decrement = new Button();
- var d:Button = _decrement
- d.addBead(new DownArrowButtonView());
- d.addBead(new ButtonAutoRepeatController());
-
- i.x = 0;
- i.y = 0;
- d.x = 0;
- d.y = i.height;
-
- UIBase(_strand).$sprite.addChild(d.$button);
- UIBase(_strand).$sprite.addChild(i.$button);
- rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
-
- IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
- }
- COMPILE::JS {
- var host:UIBase = value as UIBase;
-
- _increment = new SpinnerButton();
- _increment.text = '\u25B2';
- host.addElement(_increment);
-
- _decrement = new SpinnerButton();
- _decrement.text = '\u25BC';
- host.addElement(_decrement);
-
-// add this in CSS!
- controller = new SpinnerMouseController();
- host.addBead(controller);
- }
- }
-
- /**
- * The component for decrementing the org.apache.flex.html.Spinner value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function get decrement():Button
- {
- return _decrement;
- }
- COMPILE::JS
- public function get decrement():SpinnerButton
- {
- return _decrement;
- }
-
- /**
- * The component for incrementing the org.apache.flex.html.Spinner value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function get increment():Button
- {
- return _increment;
- }
- COMPILE::JS
- public function get increment():SpinnerButton
- {
- return _increment;
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function sizeChangeHandler( event:Event ) : void
- {
- var w:Number = UIBase(_strand).width;
- var h:Number = UIBase(_strand).height / 2;
- _increment.width = w;
- _increment.height = h;
- _increment.y = 0;
- _decrement.width = w;
- _decrement.height = h;
- _decrement.y = h;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
deleted file mode 100644
index 93aa865..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextAreaView.as
+++ /dev/null
@@ -1,265 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.events.Event;
- import flash.events.IEventDispatcher;
- import flash.text.TextField;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.beads.models.ScrollBarModel;
- import org.apache.flex.html.supportClasses.Border;
- import org.apache.flex.html.supportClasses.VScrollBar;
-
- /**
- * The TextAreaView class is the default view for
- * the org.apache.flex.html.TextArea class.
- * It implements the classic desktop-like TextArea with
- * a border and scrollbars. It does not support right-to-left text.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextAreaView extends TextFieldViewBase implements IStrand
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextAreaView()
- {
- super();
-
- textField.selectable = true;
- textField.type = TextFieldType.INPUT;
- textField.mouseEnabled = true;
- textField.multiline = true;
- textField.wordWrap = true;
- }
-
- private var _border:Border;
-
- /**
- * The border.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get border():Border
- {
- return _border;
- }
-
- private var _vScrollBar:VScrollBar;
-
- /**
- * The vertical ScrollBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get vScrollBar():VScrollBar
- {
- if (!_vScrollBar)
- _vScrollBar = createScrollBar();
- return _vScrollBar;
- }
-
- /**
- * @private
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- // add a border to this
- _border = new Border();
- _border.model = new (ValuesManager.valuesImpl.getValue(value, "iBorderModel")) as IBeadModel;
- _border.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
- IParent(host).addElement(border);
-
- var vb:VScrollBar = vScrollBar;
-
- // Default size
- var ww:Number = host.width;
- if( isNaN(ww) || ww == 0 ) host.width = 100;
- var hh:Number = host.height;
- if( isNaN(hh) || hh == 0 ) host.height = 42;
-
- // for input, listen for changes to the _textField and update
- // the model
- textField.addEventListener(Event.SCROLL, textScrollHandler);
-
- IEventDispatcher(host).addEventListener("widthChanged", sizeChangedHandler);
- IEventDispatcher(host).addEventListener("heightChanged", sizeChangedHandler);
- sizeChangedHandler(null);
- }
-
- private function createScrollBar():VScrollBar
- {
- var vsb:VScrollBar;
- vsb = new VScrollBar();
- var vsbm:ScrollBarModel = new ScrollBarModel();
- vsbm.maximum = 100;
- vsbm.minimum = 0;
- vsbm.pageSize = 10;
- vsbm.pageStepSize = 10;
- vsbm.snapInterval = 1;
- vsbm.stepSize = 1;
- vsbm.value = 0;
- vsb.model = vsbm;
- IParent(host).addElement(vsb);
-
- vsb.addEventListener("scroll", scrollHandler);
-
- return vsb;
- }
-
- private function textScrollHandler(event:Event):void
- {
- var tf:TextField = textField;
- var visibleLines:int = tf.bottomScrollV - tf.scrollV + 1;
- var scrollableLines:int = textField.numLines - visibleLines + 1;
- var vsbm:ScrollBarModel = ScrollBarModel(vScrollBar.model);
- vsbm.minimum = 0;
- vsbm.maximum = textField.numLines+1;
- vsbm.value = tf.scrollV;
- vsbm.pageSize = visibleLines;
- vsbm.pageStepSize = visibleLines;
- }
-
- private function sizeChangedHandler(event:Event):void
- {
- var ww:Number = host.width;
- if( !isNaN(ww) && ww > 0 )
- _border.width = ww;
-
- ww -= vScrollBar.width;
- if( !isNaN(ww) && ww > 0 )
- textField.width = ww;
-
- var hh:Number = host.height;
- if( !isNaN(hh) && hh > 0 )
- {
- textField.height = hh;
- _border.height = hh;
- }
-
- var sb:VScrollBar = vScrollBar;
- sb.y = 1;
- sb.x = textField.width - 1;
- sb.height = textField.height;
- }
-
- private function scrollHandler(event:Event):void
- {
- var vpos:Number = IScrollBarModel(vScrollBar.model).value;
- textField.scrollV = vpos;
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#beads
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var beads:Array;
-
- private var _beads:Vector.<IBead>;
-
- /**
- * @copy org.apache.flex.core.UIBase#addBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function addBead(bead:IBead):void
- {
- if (!_beads)
- _beads = new Vector.<IBead>;
- _beads.push(bead);
- bead.strand = this;
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#getBeadByType()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getBeadByType(classOrInterface:Class):IBead
- {
- for each (var bead:IBead in _beads)
- {
- if (bead is classOrInterface)
- return bead;
- }
- return null;
- }
-
- /**
- * @copy org.apache.flex.core.UIBase#removeBead()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function removeBead(value:IBead):IBead
- {
- var n:int = _beads.length;
- for (var i:int = 0; i < n; i++)
- {
- var bead:IBead = _beads[i];
- if (bead == value)
- {
- _beads.splice(i, 1);
- return bead;
- }
- }
- return null;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as
deleted file mode 100644
index 1341389..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonMeasurementBead.as
+++ /dev/null
@@ -1,86 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
-
- /**
- * The TextButtonMeasurementBead class helps measure a org.apache.flex.html.TextButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextButtonMeasurementBead implements IMeasurementBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextButtonMeasurementBead()
- {
- }
-
- /**
- * The overall width of the org.apache.flex.html.TextButton.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredWidth():Number
- {
- var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
- if( view ) return Math.max(view.upTextField.textWidth,view.downTextField.textWidth,view.overTextField.textWidth);
- else return 0;
- }
-
- /**
- * The overall height of the org.apache.flex.html.TextButton
- */
- public function get measuredHeight():Number
- {
- var view:TextButtonView = _strand.getBeadByType(TextButtonView) as TextButtonView;
- if( view ) return Math.max(view.upTextField.textHeight,view.downTextField.textHeight,view.overTextField.textHeight);
- else return 0;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
deleted file mode 100644
index d499c78..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextButtonView.as
+++ /dev/null
@@ -1,222 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
-
- /**
- * The TextButtonView class is the default view for
- * the org.apache.flex.html.TextButton class.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextButtonView()
- {
- upTextField = new CSSTextField();
- downTextField = new CSSTextField();
- overTextField = new CSSTextField();
- upTextField.border = true;
- downTextField.border = true;
- overTextField.border = true;
- upTextField.background = true;
- downTextField.background = true;
- overTextField.background = true;
- upTextField.borderColor = 0;
- downTextField.borderColor = 0;
- overTextField.borderColor = 0;
- upTextField.backgroundColor = 0xCCCCCC;
- downTextField.backgroundColor = 0x808080;
- overTextField.backgroundColor = 0xFFCCCC;
- upTextField.selectable = false;
- upTextField.type = TextFieldType.DYNAMIC;
- downTextField.selectable = false;
- downTextField.type = TextFieldType.DYNAMIC;
- overTextField.selectable = false;
- overTextField.type = TextFieldType.DYNAMIC;
- upTextField.autoSize = "left";
- downTextField.autoSize = "left";
- overTextField.autoSize = "left";
-
- }
-
- private var textModel:ITextModel;
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- var button:SimpleButton = Button(value).$button;
- textModel = value.getBeadByType(ITextModel) as ITextModel;
- textModel.addEventListener("textChange", textChangeHandler);
- textModel.addEventListener("htmlChange", htmlChangeHandler);
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, 10, 10);
- shape.graphics.endFill();
- button.upState = upTextField;
- button.downState = downTextField;
- button.overState = overTextField;
- button.hitTestState = shape;
- upTextField.styleParent = value;
- downTextField.styleParent = value;
- overTextField.styleParent = value;
- if (textModel.text !== null)
- text = textModel.text;
- if (textModel.html !== null)
- html = textModel.html;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private function textChangeHandler(event:Event):void
- {
- text = textModel.text;
- }
-
- private function htmlChangeHandler(event:Event):void
- {
- html = textModel.html;
- }
-
- private function sizeChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- upTextField.width = downTextField.width = overTextField.width = button.width;
- upTextField.height= downTextField.height= overTextField.height= button.height;
- }
-
- /**
- * The CSSTextField in the up state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var upTextField:CSSTextField;
-
- /**
- * The CSSTextField in the down state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var downTextField:CSSTextField;
-
- /**
- * The CSSTextField in the over state
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var overTextField:CSSTextField;
-
- /**
- * @copy org.apache.flex.html.core.ITextModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return upTextField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- upTextField.text = value;
- downTextField.text = value;
- overTextField.text = value;
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, upTextField.textWidth, upTextField.textHeight);
- shape.graphics.endFill();
-
- }
-
- /**
- * @copy org.apache.flex.html.core.ITextModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return upTextField.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- upTextField.htmlText = value;
- downTextField.htmlText = value;
- overTextField.htmlText = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as
deleted file mode 100644
index ca38a0b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldLabelMeasurementBead.as
+++ /dev/null
@@ -1,92 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
-
- /**
- * The TextFieldLabelMeasurementBead class helps to measure org.apache.flex.html.Label
- * components.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextFieldLabelMeasurementBead implements IMeasurementBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextFieldLabelMeasurementBead()
- {
- }
-
- /**
- * The overall width of the org.apache.flex.html.Label.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredWidth():Number
- {
- var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
- if( view ) return view.textField.textWidth;
- else return 0;
- }
-
- /**
- * The overall height of the org.apache.flex.html.Label.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredHeight():Number
- {
- var view:TextFieldView = _strand.getBeadByType(TextFieldView) as TextFieldView;
- if( view ) return view.textField.textHeight;
- else return 0;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as
deleted file mode 100644
index b086726..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldView.as
+++ /dev/null
@@ -1,55 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.text.TextFieldType;
-
- /**
- * The TextFieldView class is the default view for
- * the org.apache.flex.html.Label class.
- * It displays text using a TextField, so there is no
- * right-to-left text support in this view.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextFieldView extends TextFieldViewBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextFieldView()
- {
- super();
-
- textField.selectable = false;
- textField.type = TextFieldType.DYNAMIC;
- textField.mouseEnabled = false;
- textField.autoSize = "left";
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
deleted file mode 100644
index 769ddb0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextFieldViewBase.as
+++ /dev/null
@@ -1,412 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.DisplayObjectContainer;
- import flash.text.StyleSheet;
-
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The TextFieldViewBase class is the base class for
- * the components that display text.
- * It displays text using a TextField, so there is no
- * right-to-left text support in this view.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextFieldViewBase implements IBeadView, ITextFieldView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextFieldViewBase()
- {
- _textField = new CSSTextField();
- }
-
- private var _textField:CSSTextField;
-
- /**
- * @copy org.apache.flex.core.ITextModel#textField
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get textField() : CSSTextField
- {
- return _textField;
- }
-
- private var _textModel:ITextModel;
-
- protected var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- _textModel = value.getBeadByType(ITextModel) as ITextModel;
- _textModel.addEventListener("textChange", textChangeHandler);
- _textModel.addEventListener("htmlChange", htmlChangeHandler);
- IEventDispatcher(_strand).addEventListener("widthChanged", widthChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged", heightChangeHandler);
- IEventDispatcher(_strand).addEventListener("sizeChanged", sizeChangeHandler);
- UIBase(value).$displayObjectContainer.addChild(_textField);
- if (_textModel.text !== null)
- text = _textModel.text;
- if (_textModel.html !== null)
- html = _textModel.html;
-
- var ilc:ILayoutChild = host as ILayoutChild;
- autoHeight = ilc.isHeightSizedToContent();
- autoWidth = ilc.isWidthSizedToContent();
- if (!autoWidth && !isNaN(ilc.explicitWidth))
- {
- widthChangeHandler(null);
- }
- if (!autoHeight && !isNaN(ilc.explicitHeight))
- {
- heightChangeHandler(null);
- }
-
- // textfield's collapse to height==4 if no text
- if (autoHeight && _textModel.text === null)
- {
- var fontHeight:Number = ValuesManager.valuesImpl.getValue(_strand, "fontSize") + 4;
- if (textField.height != fontHeight)
- {
- textField.autoSize = "none";
- textField.height = fontHeight;
- }
- }
- }
-
- /**
- * @private
- */
- public function get host() : IUIBase
- {
- return _strand as IUIBase;
- }
-
- /**
- * @copy org.apache.flex.core.ITextModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return _textField.text;
- }
-
- /**
- * @private
- */
- public function set text(value:String):void
- {
- if (value == null)
- value = "";
- _textField.text = value;
- autoSizeIfNeeded();
- }
-
- /**
- * Handle autosizing. The built-in player algorithm
- * doesn't work the way we would like, especially
- * when it collapses Textfields with empty strings.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function autoSizeIfNeeded():void
- {
- var host:UIBase = UIBase(_strand);
- if (autoHeight)
- {
- if (textField.text != "")
- {
- if (textField.height != textField.textHeight + 4)
- {
- textField.height = textField.textHeight + 4;
- inHeightChange = true;
- host.dispatchEvent(new Event("heightChanged"));
- inHeightChange = false;
- }
- }
- else
- {
- var fontHeight:Number = ValuesManager.valuesImpl.getValue(_strand, "fontSize") + 4;
- if (textField.height != fontHeight)
- {
- textField.height = fontHeight;
- inHeightChange = true;
- host.dispatchEvent(new Event("heightChanged"));
- inHeightChange = false;
- }
- }
- }
- if (autoWidth)
- {
- if (textField.width != textField.textWidth + 4)
- {
- textField.width = textField.textWidth + 4;
- inWidthChange = true;
- host.dispatchEvent(new Event("widthChanged"));
- inWidthChange = false;
- }
- }
- }
-
- /**
- * @copy org.apache.flex.core.ITextModel#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return _textField.htmlText;
- }
-
- /**
- * @private
- */
- public function set html(value:String):void
- {
- convertToTextFieldHTML(value);
- autoSizeIfNeeded();
- }
-
- private function convertToTextFieldHTML(input:String):void
- {
- var classCount:int = 0;
- var ss:StyleSheet;
- var c:int = input.indexOf("<span");
- while (c != -1)
- {
- var c1:int = input.indexOf(">", c);
- if (c1 == -1)
- {
- trace("did not parse span correctly");
- return;
- }
- var tag:String = input.substring(c, c1 + 1);
- var c2:int = tag.indexOf("style=");
- if (c2 != -1)
- {
- var quote:String = tag.charAt(c2 + 6);
- var c3:int = tag.indexOf(quote, c2 + 7);
- if (c3 != -1)
- {
- var styles:String = tag.substring(c2 + 7, c3);
- if (!ss)
- ss = new StyleSheet();
- var styleObject:Object = {};
- var list:Array = styles.split(";");
- for each (var pair:String in list)
- {
- var parts:Array = pair.split(":");
- var name:String = parts[0];
- var c4:int = name.indexOf("-");
- if (c4 != -1)
- {
- var firstChar:String = name.charAt(c4 + 1);
- firstChar = firstChar.toUpperCase();
- var tail:String = name.substring(c4 + 2);
- name = name.substring(0, c4) + firstChar + tail;
- }
- styleObject[name] = parts[1];
- }
- var className:String = "css" + classCount++;
- ss.setStyle("." + className, styleObject);
- var newTag:String = "<span class='" + className + "'>";
- input = input.replace(tag, newTag);
- c1 += newTag.length - tag.length;
- }
- }
- c = input.indexOf("<span", c1);
- }
- _textField.styleSheet = ss;
- _textField.htmlText = input;
- }
-
- private function textChangeHandler(event:Event):void
- {
- text = _textModel.text;
- }
-
- private function htmlChangeHandler(event:Event):void
- {
- html = _textModel.html;
- }
-
- /**
- * Whether we are autosizing the height.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var autoHeight:Boolean;
-
- /**
- * Whether we are autosizing the width.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var autoWidth:Boolean;
-
- /**
- * A flag to prevent looping.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var inHeightChange:Boolean = false;
-
- /**
- * A flag to prevent looping.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var inWidthChange:Boolean = false;
-
- /**
- * Determine the width of the TextField.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function widthChangeHandler(event:Event):void
- {
- if (!inWidthChange)
- {
- textField.autoSize = "none";
- autoWidth = false;
- textField.width = host.width;
- if (autoHeight)
- autoSizeIfNeeded()
- else
- textField.height = host.height;
- }
- }
-
- /**
- * Determine the height of the TextField.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function heightChangeHandler(event:Event):void
- {
- if (!inHeightChange)
- {
- textField.autoSize = "none";
- autoHeight = false;
- textField.height = host.height;
- if (autoWidth)
- autoSizeIfNeeded();
- else
- textField.width = host.width;
- }
- }
-
- /**
- * Determine the size of the TextField.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function sizeChangeHandler(event:Event):void
- {
- var ilc:ILayoutChild = host as ILayoutChild;
- autoHeight = ilc.isHeightSizedToContent();
- if (!autoHeight)
- {
- textField.autoSize = "none";
- textField.height = host.height;
- }
-
- autoWidth = ilc.isWidthSizedToContent();
- if (!autoWidth)
- {
- textField.autoSize = "none";
- textField.width = host.width;
- }
-
- if (autoWidth) {
- (host as UIBase).setWidth(textField.textWidth, true);
- }
- if (autoHeight) {
- (host as UIBase).setHeight(textField.textHeight, true);
- }
-
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as
deleted file mode 100644
index f39cfd3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputView.as
+++ /dev/null
@@ -1,136 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The TextInputView class is the view for
- * the org.apache.flex.html.TextInput in
- * a ComboBox and other controls
- * because it does not display a border.
- * It displays text using a TextField, so there is no
- * right-to-left text support in this view.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextInputView extends TextFieldViewBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextInputView()
- {
- super();
-
- textField.selectable = true;
- textField.type = TextFieldType.INPUT;
- textField.mouseEnabled = true;
- textField.multiline = false;
- textField.wordWrap = false;
- }
-
- /**
- * @private
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- autoWidth = autoHeight = false;
-
- var w:Number;
- var h:Number;
- var uiMetrics:Rectangle;
- var ilc:ILayoutChild = host as ILayoutChild;
- if (ilc.isWidthSizedToContent())
- {
- uiMetrics = CSSContainerUtils.getBorderAndPaddingMetrics(host);
- // use default width of 20
- var s:String = textField.text;
- textField.text = "0";
- w = textField.textWidth * 20;
- h = textField.textHeight;
- textField.text = s;
- ilc.setWidth(w + uiMetrics.left + uiMetrics.right, true);
- }
- if (ilc.isHeightSizedToContent())
- {
- if (!uiMetrics)
- uiMetrics = CSSContainerUtils.getBorderAndPaddingMetrics(host);
- if (isNaN(h))
- {
- s = textField.text;
- textField.text = "0";
- h = textField.textHeight;
- textField.text = s;
- }
- ilc.setHeight(h + uiMetrics.top + uiMetrics.bottom, true);
- }
-
- heightChangeHandler(null);
- }
-
- /**
- * @private
- */
- override protected function heightChangeHandler(event:Event):void
- {
- var hh:Number = host.height;
- if( !isNaN(hh) && hh > 0 )
- {
- textField.height = textField.textHeight + 5;
- }
-
- textField.y = ((hh - textField.height) / 2);
- }
-
- /**
- * @private
- */
- override protected function sizeChangeHandler(event:Event):void
- {
- var ww:Number = host.width;
- if( !isNaN(ww) && ww > 0 ) textField.width = ww;
-
- var hh:Number = host.height;
- if( !isNaN(hh) && hh > 0 )
- {
- textField.height = textField.textHeight + 5;
- textField.y = ((hh - textField.height) / 2);
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
deleted file mode 100644
index 44f297c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextInputWithBorderView.as
+++ /dev/null
@@ -1,101 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.supportClasses.Border;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The TextInputWithBorderView class is the default view for
- * the org.apache.flex.html.TextInput.
- * It displays text using a TextField, so there is no
- * right-to-left text support in this view.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextInputWithBorderView extends TextInputView
- {
- public function TextInputWithBorderView()
- {
- super();
- textField.parentDrawsBackground = true;
- textField.parentHandlesPadding = true;
- }
-
- /**
- * @private
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
- value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
- }
-
- /**
- * Determine the width of the TextField.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function widthChangeHandler(event:Event):void
- {
- if (!inWidthChange)
- {
- textField.autoSize = "none";
- autoWidth = false;
- var uiMetrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(host);
- textField.width = host.width - uiMetrics.left - uiMetrics.right;
- textField.x = uiMetrics.left;
- }
- }
-
- /**
- * Determine the size of the TextField.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override protected function sizeChangeHandler(event:Event):void
- {
- super.sizeChangeHandler(event);
- widthChangeHandler(event);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
deleted file mode 100644
index 7752e90..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
+++ /dev/null
@@ -1,164 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IList;
- import org.apache.flex.core.IDataProviderItemRendererMapper;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.ItemRendererEvent;
- import org.apache.flex.events.IEventDispatcher;
-
- [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
- /**
- * The TextItemRendererFactoryForArrayData class is the
- * IDataProviderItemRendererMapper for creating
- * ITextItemRenderers and assigning them data from an array.
- * Other IDataProviderItemRendererMapper implementations
- * assign specific array or vector types to item
- * renderers expecting those types.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextItemRendererFactoryForArrayData extends EventDispatcher implements IBead, IDataProviderItemRendererMapper
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextItemRendererFactoryForArrayData(target:Object=null)
- {
- super(target);
- }
-
- private var selectionModel:ISelectionModel;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete",finishSetup);
- }
-
- private function finishSetup(event:Event):void
- {
- selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
- // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
- // already have been loaded by DataContainerBase.addedToParent function.
- if (!itemRendererFactory)
- {
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (!_itemRendererFactory)
- {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
- }
-
- dataProviderChangeHandler(null);
- }
-
- private var _itemRendererFactory:IItemRendererClassFactory;
-
- /**
- * An IItemRendererClassFactory that should generate ITextItemRenderers
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererFactory():IItemRendererClassFactory
- {
- return _itemRendererFactory
- }
-
- /**
- * @private
- */
- public function set itemRendererFactory(value:IItemRendererClassFactory):void
- {
- _itemRendererFactory = value;
- }
-
- /**
- * The IItemRendererParent that should parent the ITextItemRenderers
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- private function dataProviderChangeHandler(event:Event):void
- {
- var dp:Array = selectionModel.dataProvider as Array;
- if (!dp)
- return;
-
- var list:IList = _strand as IList;
- var dataGroup:IItemRendererParent = list.dataGroup;
-
- dataGroup.removeAllItemRenderers();
-
- var n:int = dp.length;
- for (var i:int = 0; i < n; i++)
- {
- var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
- tf.index = i;
- dataGroup.addItemRenderer(tf);
- if (selectionModel.labelField)
- tf.text = dp[i][selectionModel.labelField];
- else
- tf.text = dp[i];
-
- var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
- newEvent.itemRenderer = tf;
- dispatchEvent(newEvent);
- }
-
- IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
deleted file mode 100644
index d0d49a2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ /dev/null
@@ -1,159 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IItemRendererClassFactory;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IList;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.ItemRendererEvent;
-
- [Event(name="itemRendererCreated",type="org.apache.flex.events.ItemRendererEvent")]
-
- /**
- * The TextItemRendererFactoryForStringVectorData class is the
- * IDataProviderItemRendererMapper for creating
- * ITextItemRenderers and assigning them data from an vector
- * of Strings. Other IDataProviderItemRendererMapper implementations
- * assign specific array or vector types to item
- * renderers expecting those types.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextItemRendererFactoryForStringVectorData extends EventDispatcher implements IBead
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextItemRendererFactoryForStringVectorData(target:Object=null)
- {
- super(target);
- }
-
- private var selectionModel:ISelectionModel;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("initComplete",finishSetup);
- }
-
- private function finishSetup(event:Event):void
- {
- selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
- // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
- // already have been loaded by DataContainerBase.addedToParent function.
- if (!itemRendererFactory)
- {
- _itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
- if (!_itemRendererFactory)
- {
- _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
- _strand.addBead(_itemRendererFactory);
- }
- }
-
- dataProviderChangeHandler(null);
- }
-
- private var _itemRendererFactory:IItemRendererClassFactory;
-
- /**
- * An IItemRendererClassFactory that should generate ITextItemRenderers
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererFactory():IItemRendererClassFactory
- {
- return _itemRendererFactory
- }
-
- /**
- * @private
- */
- public function set itemRendererFactory(value:IItemRendererClassFactory):void
- {
- _itemRendererFactory = value;
- }
-
- /**
- * The IItemRendererParent that should parent the ITextItemRenderers
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var dataGroup:IItemRendererParent;
-
- private function dataProviderChangeHandler(event:Event):void
- {
- var dp:Vector.<String> = selectionModel.dataProvider as Vector.<String>;
-
- var list:IList = _strand as IList;
- var dataGroup:IItemRendererParent = list.dataGroup;
-
- dataGroup.removeAllItemRenderers();
-
- var n:int = dp.length;
- for (var i:int = 0; i < n; i++)
- {
- var tf:ITextItemRenderer = itemRendererFactory.createItemRenderer(dataGroup) as ITextItemRenderer;
- tf.index = i;
- dataGroup.addItemRenderer(tf);
- tf.text = dp[i];
-
- var newEvent:ItemRendererEvent = new ItemRendererEvent(ItemRendererEvent.CREATED);
- newEvent.itemRenderer = tf;
- dispatchEvent(newEvent);
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as
deleted file mode 100644
index 8195f70..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarMeasurementBead.as
+++ /dev/null
@@ -1,108 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.html.TitleBar;
-
- /**
- * The TitleBarMeasurementBead class measures the overall size of a
- * org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TitleBarMeasurementBead implements IMeasurementBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TitleBarMeasurementBead()
- {
- }
-
- /**
- * The overall width of the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredWidth():Number
- {
- var mwidth:Number = 0;
- var titleBar:TitleBar = _strand as TitleBar;
- var titleView:TitleBarView = _strand.getBeadByType(TitleBarView) as TitleBarView;
- var labelMeasure:IMeasurementBead = titleView.titleLabel.measurementBead;
- mwidth = labelMeasure.measuredWidth;
- if( titleBar.showCloseButton ) {
- var buttonMeasure:IMeasurementBead = titleView.closeButton.measurementBead;
- mwidth += buttonMeasure.measuredWidth;
- }
- return mwidth;
- }
-
- /**
- * The overall height of the org.apache.flex.html.TitleBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get measuredHeight():Number
- {
- var mheight:Number = 0;
- var titleBar:TitleBar = _strand as TitleBar;
- var titleView:TitleBarView = _strand.getBeadByType(TitleBarView) as TitleBarView;
- var labelMeasure:IMeasurementBead = titleView.titleLabel.measurementBead;
- mheight = labelMeasure.measuredHeight;
- if( titleBar.showCloseButton ) {
- var buttonMeasure:IMeasurementBead = titleView.closeButton.measurementBead;
- mheight = Math.max(mheight,buttonMeasure.measuredHeight);
- }
- return mheight;
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
deleted file mode 100644
index 0f27523..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TitleBarView.mxml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?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.
-
--->
-<!---
- The TitleBarView is the view for a Panel's TitleBar written in MXML
-
- @langversion 3.0
- @playerversion Flash 10.2
- @playerversion AIR 2.6
- @productversion FlexJS 0.0
--->
-<js:MXMLBeadView xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:js="library://ns.apache.org/flexjs/basic">
-
- <fx:Script>
- <![CDATA[
- import org.apache.flex.html.TitleBar;
- import org.apache.flex.core.ITitleBarModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
-
- private function clickHandler():void
- {
- var newEvent:org.apache.flex.events.Event = new org.apache.flex.events.Event('close',true);
- UIBase(_strand).dispatchEvent(newEvent)
- }
- ]]>
- </fx:Script>
- <js:beads>
- <js:MXMLBeadViewDataBinding />
- <js:LayoutChangeNotifier watchedProperty="{titleLabel.text}" />
- </js:beads>
-
- <js:Label id="titleLabel" text="{ITitleBarModel(model).title}" className="TitleBarTitle" >
- <js:style>
- <js:SimpleCSSStyles fontWeight="inherit" marginRight="5" marginLeft="5" />
- </js:style>
- </js:Label>
- <js:CloseButton id="closeButton" click="clickHandler()" className="TitleBarCloseButton"
- visible="{ITitleBarModel(model).showCloseButton}"/>
-
-</js:MXMLBeadView>
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as
deleted file mode 100644
index dd9838a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UnselectableElementBead.as
+++ /dev/null
@@ -1,69 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IStrand;
-
- /**
- * UnselectableElement bead prevents from text selection of html element
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public class UnselectableElementBead implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function UnselectableElementBead()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- COMPILE::JS
- {
- var host:IUIBase = value as IUIBase;
- host.element.classList.add("unselectable");
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
deleted file mode 100644
index 922c422..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/UpArrowButtonView.as
+++ /dev/null
@@ -1,117 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The UpArrowButtonView class is the view for
- * the up arrow button in a ScrollBar and other controls.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class UpArrowButtonView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function UpArrowButtonView()
- {
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- g.lineStyle(1);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize, ScrollBarView.ThirdSize);
- g.endFill();
- g.lineStyle(0);
- g.beginFill(0);
- g.moveTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
- g.lineTo(ScrollBarView.ThreeQuarterSize, ScrollBarView.ThreeQuarterSize);
- g.lineTo(ScrollBarView.HalfSize, ScrollBarView.QuarterSize);
- g.lineTo(ScrollBarView.QuarterSize, ScrollBarView.ThreeQuarterSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",sizeChangeHandler);
- IEventDispatcher(_strand).addEventListener("heightChanged",sizeChangeHandler);
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- private function sizeChangeHandler(event:Event):void
- {
- var button:SimpleButton = IChild(_strand).$displayObject as SimpleButton;
- button.scaleX = button.width / ScrollBarView.FullSize;
- button.scaleY = button.height / ScrollBarView.FullSize;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as
deleted file mode 100644
index 7ea5e2c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VRuleView.as
+++ /dev/null
@@ -1,88 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.Bitmap;
- import flash.display.Loader;
- import flash.display.LoaderInfo;
- import flash.net.URLRequest;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IImageModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The ImageView class creates the visual elements of the org.apache.flex.html.Image component.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VRuleView extends BeadViewBase implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VRuleView()
- {
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- IEventDispatcher(_strand).addEventListener("widthChanged",handleSizeChange);
- IEventDispatcher(_strand).addEventListener("heightChanged",handleSizeChange);
- IEventDispatcher(_strand).addEventListener("sizeChanged",handleSizeChange);
-
- handleSizeChange(null);
- }
-
- /**
- * @private
- */
- private function handleSizeChange(event:Object):void
- {
- var ui:UIBase = _strand as UIBase;
- ui.$sprite.graphics.clear();
- ui.$sprite.graphics.beginFill(0);
- ui.$sprite.graphics.drawRect(0, 0, 1, ui.height);
- ui.$sprite.graphics.endFill();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
deleted file mode 100644
index f7b229f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarThumbView.as
+++ /dev/null
@@ -1,120 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The VScrollBarThumbView class is the view for
- * the thumb button in a Vertical ScrollBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBarThumbView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBarThumbView()
- {
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var hh:Number = IUIBase(_strand).height;
- g.clear();
- g.lineStyle(1);
- g.beginFill(bgColor);
- g.drawRoundRect(0, 0, ScrollBarView.FullSize, hh, ScrollBarView.HalfSize);
- g.endFill();
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xc8c8c8);
- drawView(downView.graphics, 0xc8c8c8);
- drawView(overView.graphics, 0xb8b8b8);
-
- shape = new Shape();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, ScrollBarView.FullSize);
- shape.graphics.endFill();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
- IEventDispatcher(_strand).addEventListener("heightChanged", heightChangedHandler);
- }
-
- private function heightChangedHandler(event:Event):void
- {
- var hh:Number = IUIBase(_strand).height;
- drawView(upView.graphics, 0xc8c8c8);
- drawView(downView.graphics, 0xc8c8c8);
- drawView(overView.graphics, 0xb8b8b8);
-
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, hh);
- shape.graphics.endFill();
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
deleted file mode 100644
index ef1d292..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarTrackView.as
+++ /dev/null
@@ -1,123 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.Shape;
- import flash.display.SimpleButton;
-
- import org.apache.flex.core.BeadViewBase;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The VScrollBarTrackView class is the view for
- * the track in a Vertical ScrollBar.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBarTrackView extends BeadViewBase implements IBeadView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBarTrackView()
- {
- }
-
- private function drawView(g:Graphics, bgColor:uint):void
- {
- var button:IUIBase = _strand as IUIBase;
- var h:Number = button.height;
-
- g.clear();
- g.lineStyle(1, 0x808080);
- g.beginFill(bgColor);
- g.drawRect(0, 0, ScrollBarView.FullSize, h);
- g.endFill();
- g.lineStyle(0);
- }
-
- private function heightChangeHandler(event:Event):void
- {
- var button:IUIBase = _strand as IUIBase;
-
- var h:Number = button.height;
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
- shape.graphics.clear();
- shape.graphics.beginFill(0xCCCCCC);
- shape.graphics.drawRect(0, 0, ScrollBarView.FullSize, h);
- shape.graphics.endFill();
-
- }
-
- private var shape:Shape;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- upView = new Shape();
- downView = new Shape();
- overView = new Shape();
-
- drawView(upView.graphics, 0xf8f8f8);
- drawView(downView.graphics, 0xd8d8d8);
- drawView(overView.graphics, 0xe8e8e8);
-
- IEventDispatcher(value).addEventListener("heightChanged", heightChangeHandler);
- shape = new Shape();
- var button:SimpleButton = IChild(value).$displayObject as SimpleButton;
- button.upState = upView;
- button.downState = downView;
- button.overState = overView;
- button.hitTestState = shape;
- }
-
- private var upView:Shape;
- private var downView:Shape;
- private var overView:Shape;
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
deleted file mode 100644
index 5431604..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/VScrollBarView.as
+++ /dev/null
@@ -1,123 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.Strand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.html.Button;
- import org.apache.flex.html.beads.controllers.ButtonAutoRepeatController;
-
- /**
- * The ScrollBarView class is the default view for
- * the org.apache.flex.html.supportClasses.VScrollBar class.
- * It implements the classic desktop-like VScrollBar.
- * A different view would implement more modern scrollbars that hide themselves
- * until hovered over with the mouse.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBarView extends ScrollBarView implements IBeadView, IStrand, IScrollBarView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBarView()
- {
- }
-
- /**
- * The default step size for up and down arrows as a divisor
- * to the height of the scroll bar. In other words, if
- * STEP_RATE is set to 20, then it will take 20 clicks on
- * the thumb to move the bottom of the screen to the top.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var STEP_RATE:int = 20;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- var v:UIBase = UIBase(value);
- v.setWidth(ScrollBarView.FullSize, true);
-
- // TODO: (aharui) put in values impl
- _increment = new Button();
-
- _increment.addBead(new DownArrowButtonView());
- _increment.addBead(new ButtonAutoRepeatController());
- _decrement = new Button();
- _decrement.addBead(new UpArrowButtonView());
- _decrement.addBead(new ButtonAutoRepeatController());
- _track = new Button();
- _track.addBead(new VScrollBarTrackView());
- _thumb = new Button();
- _thumb.addBead(new VScrollBarThumbView());
-
- v.$sprite.addChild(_decrement.$button);
- v.$sprite.addChild(_increment.$button);
- v.$sprite.addChild(_track.$button);
- v.$sprite.addChild(_thumb.$button);
-
- IEventDispatcher(_strand).addEventListener("heightChanged", changeHandler);
-
- layout.layout();
- }
-
- override protected function changeHandler(event:Event):void
- {
- layout.layout();
- sbModel = host.getBeadByType(IScrollBarModel) as IScrollBarModel;
- sbModel.stepSize = Math.max(Math.round(host.height / STEP_RATE), 1);
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
deleted file mode 100644
index b0ea9e0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/WebBrowserView.as
+++ /dev/null
@@ -1,199 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads
-{
- COMPILE::SWF {
- import flash.events.Event;
- import flash.html.HTMLLoader;
- import flash.net.URLRequest;
- }
-
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.beads.models.WebBrowserModel;
-
- /**
- * The WebBrowserView creates an instance of HTMLLoader to load
- * web pages into AIR application.
- *
- * @viewbead
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public class WebBrowserView implements IBeadView
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function WebBrowserView()
- {
- loader = new HTMLLoader();
- loader.placeLoadStringContentInApplicationSandbox = false;
-
- loader.addEventListener(flash.events.LocationChangeEvent.LOCATION_CHANGE, handleLocationChange);
- }
-
- private var _strand:IStrand;
-
- private var loader:HTMLLoader;
-
- /**
- * @private
- */
- public function get host():IUIBase
- {
- return _strand as IUIBase;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- (host as UIBase).addEventListener("widthChanged", handleSizeChange);
- (host as UIBase).addEventListener("heightChanged", handleSizeChange);
-
- var model:IEventDispatcher = (host as UIBase).model as IEventDispatcher;
- model.addEventListener("urlChanged", loadPage);
-
- loader.x = 0;
- loader.y = 0;
- loader.width = host.width;
- loader.height = host.height;
- (host as UIBase).$displayObjectContainer.addChild(loader);
- }
-
- /**
- * @private
- */
- private function loadPage(event:org.apache.flex.events.Event):void
- {
- var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
- loader.load(new URLRequest(model.url));
- }
-
- /**
- * @private
- */
- private function handleSizeChange(event:org.apache.flex.events.Event):void
- {
- loader.width = host.width;
- loader.height = host.height;
- }
-
- /**
- * @private
- */
- private function handleLocationChange(event:flash.events.LocationChangeEvent):void
- {
- var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
- model.setURL(loader.location);
- host.dispatchEvent(new org.apache.flex.events.Event("locationChanged"));
- }
- }
-
- COMPILE::JS
- public class WebBrowserView implements IBeadView
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function WebBrowserView()
- {
-
- }
-
- private var _strand:IStrand;
-
- /**
- * @private
- */
- public function get host():IUIBase
- {
- return _strand as IUIBase;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var model:IEventDispatcher = (host as UIBase).model as IEventDispatcher;
- model.addEventListener("urlChanged", loadPage);
-
- var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
- iframe.addEventListener("load", handlePageShow, false);
- }
-
- /**
- * @private
- */
- private function loadPage(event:Event):void
- {
- var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
-
- var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
- iframe.src = model.url;
- }
-
- /**
- * @private
- */
- private function handlePageShow(event:Event):void
- {
- var model:WebBrowserModel = (host as UIBase).model as WebBrowserModel;
- var iframe:HTMLIFrameElement = (host as UIBase).element as HTMLIFrameElement;
-
- model.setURL(iframe.src);
- host.dispatchEvent(new org.apache.flex.events.Event("locationChanged"));
- }
- }
-}
-
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
deleted file mode 100644
index 44fda3a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/AlertController.as
+++ /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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.UIUtils;
-
- /**
- * The AlertControler class bead handles the close event on the org.apache.flex.html.Alert
- * by removing the org.apache.flex.html.Alert from the display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class AlertController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function AlertController()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get strand():IStrand
- {
- return _strand;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener("close",handleAlertClose);
- }
-
- /**
- * @private
- */
- private function handleAlertClose(event:Event):void
- {
- UIUtils.removePopUp(IChild(_strand));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as
deleted file mode 100644
index 4100a28..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ButtonAutoRepeatController.as
+++ /dev/null
@@ -1,147 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import flash.utils.clearInterval;
- import flash.utils.clearTimeout;
- import flash.utils.setInterval;
- import flash.utils.setTimeout;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The ButtonAutoRepeatController class adds autorepeat
- * functionality to a button. This version is simply waits
- * a specified amount of time (default is 250ms), then repeats the button
- * event at a specified interval, which defaults to
- * 125 milliseconds. Alternate implementations could
- * have non-linear repeat timing, look for keyboard modifiers to choose
- * different rates, etc.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ButtonAutoRepeatController implements IBead, IBeadController
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ButtonAutoRepeatController()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- }
-
- /**
- * The number of milliseconds to wait before repeating the event
- * for the first time.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var delay:int = 250;
-
- /**
- * The number of milliseconds to wait before repeating the event
- * after the first time. This value is not checked for
- * changes after the events start repeating.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var interval:int = 100;
-
- private var timeout:uint;
- private var repeater:uint;
-
- private function mouseDownHandler(event:MouseEvent):void
- {
- event.target.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
- event.target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- timeout = setTimeout(sendFirstRepeat, delay);
- }
-
- private function mouseOutHandler(event:MouseEvent):void
- {
- event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
- event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- if (repeater > 0)
- clearInterval(repeater);
- repeater = 0;
- if (timeout > 0)
- clearTimeout(timeout);
- timeout = 0;
- }
-
- private function mouseUpHandler(event:MouseEvent):void
- {
- event.target.removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
- event.target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- if (repeater > 0)
- clearInterval(repeater);
- repeater = 0;
- if (timeout > 0)
- clearTimeout(timeout);
- timeout = 0;
- }
-
- private function sendFirstRepeat():void
- {
- clearTimeout(timeout);
- timeout = 0;
- repeater = setInterval(sendRepeats, interval);
- IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
- }
-
- private function sendRepeats():void
- {
- IEventDispatcher(_strand).dispatchEvent(new Event("buttonRepeat"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
deleted file mode 100644
index a3d3dc2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ComboBoxController.as
+++ /dev/null
@@ -1,80 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IComboBoxModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.TextInput;
- import org.apache.flex.html.List;
- import org.apache.flex.html.beads.IComboBoxView;
-
- public class ComboBoxController implements IBeadController
- {
- public function ComboBoxController()
- {
- }
-
- private var _strand:IStrand;
-
- private var viewBead:IComboBoxView;
-
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
- if (viewBead) {
- finishSetup(null);
- } else {
- IEventDispatcher(_strand).addEventListener("viewChanged", finishSetup);
- }
- }
-
- private function finishSetup(event:Event):void
- {
- if (viewBead == null) {
- viewBead = _strand.getBeadByType(IComboBoxView) as IComboBoxView;
- }
-
- IEventDispatcher(viewBead.popupButton).addEventListener("click", handleButtonClick);
- }
-
- private function handleButtonClick(event:MouseEvent):void
- {
- viewBead.popUpVisible = !viewBead.popUpVisible;
- IEventDispatcher(viewBead.popUp).addEventListener("change", handleListChange);
- }
-
- private function handleListChange(event:Event):void
- {
- var list:List = viewBead.popUp as List;
- var input:TextInput = viewBead.textInputField as TextInput;
- input.text = list.selectedItem as String;
-
- viewBead.popUpVisible = false;
-
- IEventDispatcher(_strand).dispatchEvent(new Event("change"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
deleted file mode 100644
index f5d7e34..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ /dev/null
@@ -1,125 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.html.beads.DateChooserView;
- import org.apache.flex.html.beads.models.DateChooserModel;
- import org.apache.flex.html.supportClasses.DateChooserButton;
- import org.apache.flex.html.supportClasses.DateChooserList;
-
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The DateChooserMouseController class is responsible for listening to
- * mouse event related to the DateChooser. Events such as selecting a date
- * or changing the calendar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateChooserMouseController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateChooserMouseController()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var view:DateChooserView = value.getBeadByType(IBeadView) as DateChooserView;
- view.prevMonthButton.addEventListener("click", prevMonthClickHandler);
- view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
-
- IEventDispatcher(view.dayList).addEventListener("change", listHandler);
- }
-
- /**
- * @private
- */
- private function prevMonthClickHandler(event:MouseEvent):void
- {
- event.preventDefault();
-
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-
- var month:Number = model.displayedMonth - 1;
- var year:Number = model.displayedYear;
- if (month < 0) {
- month = 11;
- year--;
- }
- model.displayedMonth = month;
- model.displayedYear = year;
- }
-
- /**
- * @private
- */
- private function nextMonthClickHandler(event:MouseEvent):void
- {
- event.preventDefault();
-
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
-
- var month:Number = model.displayedMonth + 1;
- var year:Number = model.displayedYear;
- if (month >= 12) {
- month = 0;
- year++;
- }
- model.displayedMonth = month;
- model.displayedYear = year;
- }
-
- private function listHandler(event:Event):void
- {
- var list:DateChooserList = event.target as DateChooserList;
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
- model.selectedDate = list.selectedItem as Date;
- IEventDispatcher(_strand).dispatchEvent( new Event("change") );
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
deleted file mode 100644
index 2b8ea51..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateFieldMouseController.as
+++ /dev/null
@@ -1,166 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.beads.DateFieldView;
- import org.apache.flex.utils.Timer;
- import org.apache.flex.utils.UIUtils;
-
- /**
- * The DateFieldMouseController class is responsible for monitoring
- * the mouse events on the elements of the DateField. A click on the
- * DateField's menu button triggers the pop-up, for example.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateFieldMouseController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateFieldMouseController()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
- IEventDispatcher(viewBead.menuButton).addEventListener("click", clickHandler);
- }
-
- /**
- * @private
- */
- private function clickHandler(event:MouseEvent):void
- {
- event.stopImmediatePropagation();
-
- var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
- viewBead.popUpVisible = true;
- IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
-
- removeDismissHandler();
-
- // use a timer to delay the installation of the event handler, otherwise
- // the event handler is called immediately and will dismiss the popup.
- var t:Timer = new Timer(0.25,1);
- t.addEventListener("timer",addDismissHandler);
- t.start();
- }
-
- /**
- * @private
- */
- private function addDismissHandler(event:Event):void
- {
- var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
- if (host) {
- host.addEventListener("click", dismissHandler);
- }
- }
-
- /**
- * @private
- */
- private function removeDismissHandler():void
- {
- var host:UIBase = UIUtils.findPopUpHost(_strand as UIBase) as UIBase;
- if (host) {
- host.removeEventListener("click", dismissHandler);
- }
- }
-
- /**
- * @private
- */
- private function changeHandler(event:Event):void
- {
- event.stopImmediatePropagation();
-
- var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
-
- var model:IDateChooserModel = _strand.getBeadByType(IDateChooserModel) as IDateChooserModel;
- model.selectedDate = IDateChooserModel(viewBead.popUp.getBeadByType(IDateChooserModel)).selectedDate;
-
- viewBead.popUpVisible = false;
- IEventDispatcher(_strand).dispatchEvent(new Event("change"));
-
- removeDismissHandler();
- }
-
- /**
- * @private
- */
- private function dismissHandler(event:MouseEvent):void
- {
- var viewBead:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
- var popup:IUIBase = IUIBase(viewBead.popUp);
-
- COMPILE::SWF {
- var before:IUIBase = event.targetBeforeBubbling["flexjs_wrapper"] as IUIBase;
- if (before) {
- while (before != null) {
- if (before == popup) return;
- before = before.parent as IUIBase;
- }
- }
- }
- COMPILE::JS {
- var before:IUIBase = event.target as IUIBase;
- if (before) {
- while (before != null) {
- if (before == popup) return;
- before = before.parent as IUIBase;
- }
- }
- }
-
- viewBead.popUpVisible = false;
- removeDismissHandler();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as
deleted file mode 100644
index c84d9d0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DropDownListController.as
+++ /dev/null
@@ -1,116 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.geom.Point;
- import org.apache.flex.html.beads.IDropDownListView;
- import org.apache.flex.utils.PointUtils;
-
- /**
- * The DropDownListController class is the controller for
- * org.apache.flex.html.DropDownList. Controllers
- * watch for events from the interactive portions of a View and
- * update the data model or dispatch a semantic event.
- * This controller watches for the click event and displays the
- * dropdown/popup, and watches the dropdown/popup for change events
- * and updates the selection model accordingly.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DropDownListController implements IBead, IBeadController
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DropDownListController()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- IEventDispatcher(value).addEventListener(org.apache.flex.events.MouseEvent.CLICK, clickHandler);
- }
-
- private function clickHandler(event:org.apache.flex.events.MouseEvent):void
- {
- var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var popUpModel:ISelectionModel = UIBase(viewBead.popUp).model as ISelectionModel;
- IUIBase(viewBead.popUp).width = IUIBase(_strand).width;
- popUpModel.dataProvider = selectionModel.dataProvider;
- popUpModel.labelField = selectionModel.labelField;
- viewBead.popUpVisible = true; // adds to display list as well
- popUpModel.selectedIndex = selectionModel.selectedIndex;
- var pt:Point = new Point(IUIBase(_strand).x, IUIBase(_strand).y + IUIBase(_strand).height);
- pt = PointUtils.localToGlobal(pt, IUIBase(_strand).parent);
- IUIBase(viewBead.popUp).x = pt.x;
- IUIBase(viewBead.popUp).y = pt.y;
- IEventDispatcher(viewBead.popUp).addEventListener("change", changeHandler);
- IUIBase(_strand).topMostEventDispatcher.addEventListener(org.apache.flex.events.MouseEvent.CLICK, dismissHandler);
- }
-
- private function dismissHandler(event:org.apache.flex.events.MouseEvent):void
- {
- if (event.isSameTarget(_strand as IEventDispatcher)) return;
-
- IUIBase(_strand).topMostEventDispatcher.removeEventListener(org.apache.flex.events.MouseEvent.CLICK, dismissHandler);
- var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
- viewBead.popUpVisible = false;
- }
-
- private function changeHandler(event:Event):void
- {
- var viewBead:IDropDownListView = _strand.getBeadByType(IDropDownListView) as IDropDownListView;
- viewBead.popUpVisible = false;
- var selectionModel:ISelectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
- var popUpModel:ISelectionModel = UIBase(viewBead.popUp).model as ISelectionModel;
- selectionModel.selectedIndex = popUpModel.selectedIndex;
- IEventDispatcher(_strand).dispatchEvent(new Event("change"));
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as
deleted file mode 100644
index 4a8115f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/EditableTextKeyboardController.as
+++ /dev/null
@@ -1,86 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.html.beads.ITextFieldView;
-
- /**
- * The EditableTextKeyboardController class bead intercepts keyboard events on the
- * component's text field and emits change events.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class EditableTextKeyboardController implements IBead, IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function EditableTextKeyboardController()
- {
- }
-
- private var model:ITextModel;
- private var textField:CSSTextField;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- model = UIBase(_strand).model as ITextModel;
-
- var viewBead:ITextFieldView = _strand.getBeadByType(ITextFieldView) as ITextFieldView;
- textField = viewBead.textField;
- textField.addEventListener("change", inputChangeHandler);
- }
-
- /**
- * @private
- */
- private function inputChangeHandler( event:Object ) : void
- {
- // this will otherwise bubble an event of flash.events.Event
- event.stopImmediatePropagation();
- model.text = textField.text;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as
deleted file mode 100644
index 236b077..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/HScrollBarMouseController.as
+++ /dev/null
@@ -1,101 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
-
- /**
- * The HScrollBarMouseController class is the controller for
- * org.apache.flex.html.supportClasses.HScrollBar
- * that acts as the Horizontal ScrollBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBarMouseController extends ScrollBarMouseControllerBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBarMouseController()
- {
- }
-
- /**
- * @private
- */
- override protected function trackClickHandler(event:MouseEvent):void
- {
- if (sbView.thumb.visible)
- {
- if (event.localX < sbView.thumb.x)
- {
- sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
- else
- {
- sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
- }
- }
-
- private var thumbDownX:Number;
- private var lastThumbX:Number;
-
- /**
- * @private
- */
- override protected function thumbMouseDownHandler(event:MouseEvent):void
- {
- sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
- sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
- thumbDownX = event.screenX;
- lastThumbX = sbView.thumb.x;
- }
-
- private function thumbMouseMoveHandler(event:MouseEvent):void
- {
- var thumb:Button = sbView.thumb;
- var track:Button = sbView.track;
- thumb.x = Math.max(track.x, Math.min(lastThumbX + (event.screenX - thumbDownX), track.x + track.width - thumb.width));
- var newValue:Number = snap((thumb.x - track.x) / (track.width - thumb.width) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
- sbModel.value = newValue;
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
-
- private function thumbMouseUpHandler(event:MouseEvent):void
- {
- sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
- sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
deleted file mode 100644
index 33c6aa2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ItemRendererMouseController.as
+++ /dev/null
@@ -1,209 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.IStrand;
-COMPILE::SWF {
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
-}
-COMPILE::JS {
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.events.BrowserEvent;
- import goog.events.Event;
- import goog.events.EventType;
- import goog.events;
-}
- import org.apache.flex.events.ItemClickedEvent;
-
- /**
- * The ItemRendererMouseController class can mouse events in itemRenderers. This
- * includes roll-overs, mouse down, and mouse up. These platform-specific events are then
- * re-dispatched as FlexJS events.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignoreimport goog.events.Event
- */
- public class ItemRendererMouseController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ItemRendererMouseController()
- {
- }
-
- private var renderer:ISelectableItemRenderer;
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- renderer = value as ISelectableItemRenderer;
-
- COMPILE::SWF {
- renderer.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
- renderer.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
- renderer.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
- renderer.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- }
-
- COMPILE::JS {
- var element:WrappedHTMLElement = (_strand as UIBase).element;
-
- goog.events.listen(element, goog.events.EventType.MOUSEOVER, this.handleMouseOver);
- goog.events.listen(element, goog.events.EventType.MOUSEOUT, this.handleMouseOut);
- goog.events.listen(element, goog.events.EventType.MOUSEDOWN, this.handleMouseDown);
- goog.events.listen(element, goog.events.EventType.MOUSEUP, this.handleMouseUp);
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- protected function rollOverHandler(event:MouseEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- target.dispatchEvent(new Event("itemRollOver",true));
- }
- }
-
- COMPILE::JS
- protected function handleMouseOver(event:BrowserEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target) {
- target.dispatchEvent(new Event("itemRollOver",true));
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- protected function rollOutHandler(event:MouseEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- target.dispatchEvent(new Event("itemRollOut",true));
- }
- }
-
- COMPILE::JS
- protected function handleMouseOut(event:BrowserEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- target.dispatchEvent(new Event("itemRollOut",true));
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- protected function mouseDownHandler(event:MouseEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- target.down = true;
- target.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- }
- }
-
- /**
- * @private
- */
- COMPILE::JS
- protected function handleMouseDown(event:BrowserEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- target.down = true;
- target.hovered = false;
- }
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- protected function mouseUpHandler(event:MouseEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- event.stopImmediatePropagation();
-
- var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
- newEvent.data = target.data;
- newEvent.multipleSelection = event.shiftKey;
- newEvent.index = target.index;
-
- target.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
- target.dispatchEvent(newEvent);
- }
- }
-
- /**
- * @private
- */
- COMPILE::JS
- protected function handleMouseUp(event:BrowserEvent):void
- {
- var target:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (target)
- {
- var newEvent:ItemClickedEvent = new ItemClickedEvent("itemClicked");
- newEvent.data = target.data;
- newEvent.multipleSelection = event.shiftKey;
- newEvent.index = target.index;
-
- target.dispatchEvent(newEvent);
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
deleted file mode 100644
index d794135..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ListSingleSelectionMouseController.as
+++ /dev/null
@@ -1,153 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.ItemAddedEvent;
- import org.apache.flex.events.ItemRemovedEvent;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.beads.IListView;
-
- import org.apache.flex.events.ItemClickedEvent;
-
- /**
- * The ListSingleSelectionMouseController class is a controller for
- * org.apache.flex.html.List. Controllers
- * watch for events from the interactive portions of a View and
- * update the data model or dispatch a semantic event.
- * This controller watches for events from the item renderers
- * and updates an ISelectionModel (which only supports single
- * selection). Other controller/model pairs would support
- * various kinds of multiple selection.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ListSingleSelectionMouseController implements IBeadController
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ListSingleSelectionMouseController()
- {
- }
-
- /**
- * The model.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var listModel:ISelectionModel;
-
- /**
- * The view.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var listView:IListView;
-
- /**
- * The parent of the item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var dataGroup:IItemRendererParent;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- listModel = value.getBeadByType(ISelectionModel) as ISelectionModel;
- listView = value.getBeadByType(IListView) as IListView;
- IEventDispatcher(_strand).addEventListener("itemAdded", handleItemAdded);
- IEventDispatcher(_strand).addEventListener("itemRemoved", handleItemRemoved);
- }
-
- protected function handleItemAdded(event:ItemAddedEvent):void
- {
- IEventDispatcher(event.item).addEventListener("itemClicked", selectedHandler);
- IEventDispatcher(event.item).addEventListener("itemRollOver", rolloverHandler);
- IEventDispatcher(event.item).addEventListener("itemRollOut", rolloutHandler);
- }
-
- protected function handleItemRemoved(event:ItemRemovedEvent):void
- {
- IEventDispatcher(event.item).removeEventListener("itemClicked", selectedHandler);
- IEventDispatcher(event.item).removeEventListener("itemRollOver", rolloverHandler);
- IEventDispatcher(event.item).removeEventListener("itemRollOut", rolloutHandler);
- }
-
- protected function selectedHandler(event:ItemClickedEvent):void
- {
- listModel.selectedIndex = event.index;
- listView.host.dispatchEvent(new Event("change"));
- }
-
- protected function rolloverHandler(event:Event):void
- {
- var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (renderer) {
- IRollOverModel(listModel).rollOverIndex = renderer.index;
- }
- }
-
- protected function rolloutHandler(event:Event):void
- {
- var renderer:ISelectableItemRenderer = event.currentTarget as ISelectableItemRenderer;
- if (renderer) {
- renderer.hovered = false;
- renderer.down = false;
- IRollOverModel(listModel).rollOverIndex = -1;
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as
deleted file mode 100644
index b566d55..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/RangeStepperMouseController.as
+++ /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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.ImageButton;
- import org.apache.flex.html.beads.RangeStepperView;
- import org.apache.flex.html.beads.models.RangeModel;
-
- /**
- * The RangeStepperMouseController bead feeds mouse events to the RangeStepper and its
- * components.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RangeStepperMouseController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RangeStepperMouseController()
- {
- }
-
- private var _strand:IStrand;
-
- private var _incrButton:ImageButton;
- private var _decrButton:ImageButton;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- var stepperView:RangeStepperView = _strand.getBeadByType(RangeStepperView) as RangeStepperView;
-
- _incrButton = stepperView.incrementButton;
- _incrButton.addEventListener(MouseEvent.CLICK, handleIncrClick);
-
- _decrButton = stepperView.decrementButton;
- _decrButton.addEventListener(MouseEvent.CLICK, handleDecrClick);
- }
-
- private function handleIncrClick(event:MouseEvent):void
- {
- var model:RangeModel = (_strand as UIBase).model as RangeModel;
- var nextValue:Number = model.value + 1;
- if (nextValue >= model.maximum) nextValue = model.maximum;
- model.value = nextValue;
- }
-
- private function handleDecrClick(event:MouseEvent):void
- {
- var model:RangeModel = (_strand as UIBase).model as RangeModel;
- var nextValue:Number = model.value - 1;
- if (nextValue < model.minimum) nextValue = model.minimum;
- model.value = nextValue;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as
deleted file mode 100644
index eea9234..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/ScrollBarMouseControllerBase.as
+++ /dev/null
@@ -1,184 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.beads.IScrollBarView;
-
- /**
- * The ScrollBarMouseControllerBase class is the base class
- * for ScrollBarMouseControllers such as VScrollBarMouseController.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ScrollBarMouseControllerBase implements IBeadController
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollBarMouseControllerBase()
- {
- }
-
- /**
- * The data model
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var sbModel:IScrollBarModel;
-
- /**
- * The view
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected var sbView:IScrollBarView;
-
- private var _strand:IStrand;
-
- /**
- * @private
- */
- public function get strand():IStrand
- {
- return _strand;
- }
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- sbModel = value.getBeadByType(IScrollBarModel) as IScrollBarModel;
- sbView = value.getBeadByType(IScrollBarView) as IScrollBarView;
- sbView.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
- sbView.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
- sbView.decrement.addEventListener("buttonRepeat", decrementClickHandler);
- sbView.increment.addEventListener("buttonRepeat", incrementClickHandler);
- sbView.track.addEventListener(MouseEvent.CLICK, trackClickHandler);
- sbView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbMouseDownHandler);
- }
-
- /**
- * Force the input number to be "snapped" to the snapInterval.
- *
- * @param value The input number.
- * @return The input number "snapped" to the snapInterval.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function snap(value:Number):Number
- {
- var si:Number = sbModel.snapInterval;
- var n:Number = Math.round((value - sbModel.minimum) / si) * si + sbModel.minimum;
- if (value > 0)
- {
- if (value - n < n + si - value)
- return n;
- return n + si;
-
- }
- if (value - n > n + si - value)
- return n + si;
- return n;
- }
-
- /**
- * Updates the model when the decrement button is clicked.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function decrementClickHandler(event:Object):void
- {
- sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.stepSize));
- IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
- }
-
- /**
- * Updates the model when the increment button is clicked.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function incrementClickHandler(event:Object):void
- {
- sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.stepSize));
- IEventDispatcher(_strand).dispatchEvent(new Event("scroll"));
- }
-
- /**
- * Handles a click in the track. Must be overridden.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function trackClickHandler(event:MouseEvent):void
- {
- }
-
- /**
- * Handles a mouse down on the thumb. Must be overridden.
- * Subclasses process the mouseMove and mouseUp events.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function thumbMouseDownHandler(event:MouseEvent):void
- {
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
deleted file mode 100644
index 91589b5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SliderMouseController.as
+++ /dev/null
@@ -1,285 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.geom.Point;
- import org.apache.flex.html.beads.ISliderView;
- import org.apache.flex.html.beads.SliderTrackView;
-
- COMPILE::JS
- {
- import goog.events;
- import goog.events.EventType;
- import org.apache.flex.events.BrowserEvent;
- import org.apache.flex.html.Slider;
- import org.apache.flex.html.beads.SliderThumbView;
- import org.apache.flex.html.beads.SliderTrackView;
- }
-
- /**
- * The SliderMouseController class bead handles mouse events on the
- * org.apache.flex.html.Slider's component parts (thumb and track) and
- * dispatches change events on behalf of the Slider (as well as co-ordinating visual
- * changes (such as moving the thumb when the track has been tapped or clicked).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SliderMouseController implements IBead, IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SliderMouseController()
- {
- }
-
- private var rangeModel:IRangeModel;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- rangeModel = UIBase(value).model as IRangeModel;
-
- COMPILE::SWF
- {
- var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
- sliderView.thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbDownHandler);
-
- // add handler to detect click on track
- sliderView.track.addEventListener(MouseEvent.CLICK, trackClickHandler, false, 99999);
-
- }
- COMPILE::JS
- {
- var sliderView:ISliderView = value.getBeadByType(ISliderView) as ISliderView;
- track = sliderView.track as UIBase;
- thumb = sliderView.thumb as UIBase;
-
- goog.events.listen(track.element, goog.events.EventType.CLICK,
- handleTrackClick, false, this);
-
- goog.events.listen(thumb.element, goog.events.EventType.MOUSEDOWN,
- handleThumbDown, false, this);
-
- }
- }
-
- COMPILE::JS
- private var track:UIBase;
-
- COMPILE::JS
- private var thumb:UIBase;
-
- /**
- * @private
- */
- COMPILE::SWF
- private function thumbDownHandler( event:MouseEvent ) : void
- {
- UIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
- UIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-
- var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-
- origin = new Point(event.screenX, event.screenY);
- thumb = new Point(sliderView.thumb.x,sliderView.thumb.y);
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function thumbUpHandler( event:MouseEvent ) : void
- {
- UIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
- UIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
-
- IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
- }
-
- COMPILE::SWF
- private var origin:Point;
- COMPILE::SWF
- private var thumb:Point;
-
- /**
- * @private
- */
- COMPILE::SWF
- private function thumbMoveHandler( event:MouseEvent ) : void
- {
- var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-
- var deltaX:Number = event.screenX - origin.x;
- var thumbW:Number = sliderView.thumb.width/2;
- var newX:Number = thumb.x + deltaX;
-
- var p:Number = newX/sliderView.track.width;
- var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-
- rangeModel.value = n;
-
- IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- private function trackClickHandler( event:MouseEvent ) : void
- {
- event.stopImmediatePropagation();
-
- var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
-
- var xloc:Number = event.localX;
- var p:Number = xloc/sliderView.track.width;
- var n:Number = p*(rangeModel.maximum - rangeModel.minimum) + rangeModel.minimum;
-
- rangeModel.value = n;
-
- IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
- }
-
- /**
- */
- COMPILE::JS
- private function handleTrackClick(event:BrowserEvent):void
- {
- var host:Slider = _strand as Slider;
- var xloc:Number = event.clientX;
- var p:Number = Math.min(1, xloc / parseInt(track.element.style.width, 10));
- var n:Number = p * (host.maximum - host.minimum) +
- host.minimum;
-
- host.value = n;
-
- origin = parseInt(thumb.element.style.left, 10);
- position = parseInt(thumb.element.style.left, 10);
-
- calcValFromMousePosition(event, true);
-
- host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
- }
-
-
- /**
- */
- COMPILE::JS
- private function handleThumbDown(event:BrowserEvent):void
- {
- var host:Slider = _strand as Slider;
- goog.events.listen(host.element, goog.events.EventType.MOUSEUP,
- handleThumbUp, false, this);
- goog.events.listen(host.element, goog.events.EventType.MOUSEMOVE,
- handleThumbMove, false, this);
-
- origin = event.clientX;
- position = parseInt(thumb.element.style.left, 10);
- }
-
- COMPILE::JS
- private var origin:Number;
- COMPILE::JS
- private var position:int;
-
- /**
- */
- COMPILE::JS
- private function handleThumbUp(event:BrowserEvent):void
- {
- var host:Slider = _strand as Slider;
- goog.events.unlisten(host.element, goog.events.EventType.MOUSEUP,
- handleThumbUp, false, this);
- goog.events.unlisten(host.element, goog.events.EventType.MOUSEMOVE,
- handleThumbMove, false, this);
-
- calcValFromMousePosition(event, false);
-
- host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
- }
-
-
- /**
- */
- COMPILE::JS
- private function handleThumbMove(event:BrowserEvent):void
- {
- var host:Slider = _strand as Slider;
- calcValFromMousePosition(event, false);
-
- host.dispatchEvent(new org.apache.flex.events.Event('valueChange'));
- }
-
-
- /**
- */
- COMPILE::JS
- private function calcValFromMousePosition(event:BrowserEvent, useOffset:Boolean):void
- {
- var host:Slider = _strand as Slider;
- var deltaX:Number = (useOffset ? event.offsetX : event.clientX) - origin;
- var thumbW:int = parseInt(thumb.element.style.width, 10) / 2;
- var newX:Number = position + deltaX;
-
- var p:Number = newX / parseInt(track.element.style.width, 10);
- var n:Number = p * (host.maximum - host.minimum) +
- host.minimum;
- n = host.snap(n);
- if (n < host.minimum) n = host.minimum;
- else if (n > host.maximum) n = host.maximum;
-
- p = (n - host.minimum) / (host.maximum -
- host.minimum);
- newX = p * parseInt(track.element.style.width, 10);
-
- thumb.element.style.left = String(newX -
- parseInt(thumb.element.style.width, 10) / 2) + 'px';
-
- host.value = n;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as
deleted file mode 100644
index 2a898d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/SpinnerMouseController.as
+++ /dev/null
@@ -1,124 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.html.TextButton;
- import org.apache.flex.html.beads.ISpinnerView;
- COMPILE::JS
- {
- import org.apache.flex.html.Spinner;
- import org.apache.flex.html.supportClasses.SpinnerButton;
- import goog.events;
- import goog.events.EventType;
- }
-
- /**
- * The SpinnerMouseController class bead handles mouse events on the
- * org.apache.flex.html.Spinner's component buttons, changing the
- * value of the Spinner.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SpinnerMouseController implements IBeadController
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SpinnerMouseController()
- {
- }
-
- private var rangeModel:IRangeModel;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @flexjsignorecoercion org.apache.flex.html.Spinner
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- rangeModel = UIBase(value).model as IRangeModel;
-
- COMPILE::SWF
- {
- var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
- spinnerBead.decrement.addEventListener(MouseEvent.CLICK, decrementClickHandler);
- spinnerBead.decrement.addEventListener("buttonRepeat", decrementClickHandler);
- spinnerBead.increment.addEventListener(MouseEvent.CLICK, incrementClickHandler);
- spinnerBead.increment.addEventListener("buttonRepeat", incrementClickHandler);
- }
-
- COMPILE::JS
- {
- var spinnerBead:ISpinnerView = value.getBeadByType(ISpinnerView) as ISpinnerView;
-
- var incrementButton:SpinnerButton = spinnerBead.increment;
- var decrementButton:SpinnerButton = spinnerBead.decrement;
-
- goog.events.listen(incrementButton.element, goog.events.EventType.CLICK,
- incrementClickHandler);
-
- goog.events.listen(decrementButton.element, goog.events.EventType.CLICK,
- decrementClickHandler);
-
- }
- }
-
- /**
- * @private
- */
- private function decrementClickHandler( event:org.apache.flex.events.MouseEvent ) : void
- {
- rangeModel.value = Math.max(rangeModel.minimum, rangeModel.value - rangeModel.stepSize);
- IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
- }
-
- /**
- * @private
- */
- private function incrementClickHandler( event:org.apache.flex.events.MouseEvent ) : void
- {
- rangeModel.value = Math.min(rangeModel.maximum, rangeModel.value + rangeModel.stepSize);
- IEventDispatcher(_strand).dispatchEvent(new Event("valueChange"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
deleted file mode 100644
index db8f7fc..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/TreeSingleSelectionMouseController.as
+++ /dev/null
@@ -1,86 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
- import org.apache.flex.collections.FlattenedList;
- import org.apache.flex.html.Tree
- import org.apache.flex.events.ItemClickedEvent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The TreeSingleSelectionMouseController class is a controller for
- * org.apache.flex.html.Tree. This controller watches for selection
- * events on the tree item renderers and uses those events to open
- * or close nodes of the tree.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TreeSingleSelectionMouseController extends ListSingleSelectionMouseController
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TreeSingleSelectionMouseController()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @private
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- super.strand = value;
- }
-
- /**
- * @private
- */
- override protected function selectedHandler(event:ItemClickedEvent):void
- {
- var tree:Tree = _strand as Tree;
- var flatList:FlattenedList = listModel.dataProvider as FlattenedList;
- var node:Object = event.data;
-
- if (flatList.isOpen(node)) {
- flatList.closeNode(node);
- } else {
- flatList.openNode(node);
- }
-
- listModel.selectedItem = node;
- listModel.dispatchEvent(new Event("dataProviderChanged"));
-
- IEventDispatcher(_strand).dispatchEvent(new Event("change"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
deleted file mode 100644
index 451a1a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
+++ /dev/null
@@ -1,101 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.controllers
-{
-
- import org.apache.flex.events.Event;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.html.Button;
-
- /**
- * The VScrollBarMouseController class is the controller for
- * org.apache.flex.html.supportClasses.ScrollBar
- * that acts as the Vertical ScrollBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBarMouseController extends ScrollBarMouseControllerBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBarMouseController()
- {
- }
-
- /**
- * @private
- */
- override protected function trackClickHandler(event:MouseEvent):void
- {
- if (sbView.thumb.visible)
- {
- if (event.localY < sbView.thumb.y)
- {
- sbModel.value = snap(Math.max(sbModel.minimum, sbModel.value - sbModel.pageStepSize));
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
- else
- {
- sbModel.value = snap(Math.min(sbModel.maximum - sbModel.pageSize, sbModel.value + sbModel.pageStepSize));
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
- }
- }
-
- private var thumbDownY:Number;
- private var lastThumbY:Number;
-
- /**
- * @private
- */
- override protected function thumbMouseDownHandler(event:MouseEvent):void
- {
- sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
- sbView.thumb.$button.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
- thumbDownY = event.screenY;
- lastThumbY = sbView.thumb.y;
- }
-
- private function thumbMouseMoveHandler(event:MouseEvent):void
- {
- var thumb:Button = sbView.thumb;
- var track:Button = sbView.track;
- thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.screenY - thumbDownY), track.y + track.height - thumb.height));
- var newValue:Number = snap((thumb.y - track.y) / (track.height - thumb.height) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
- sbModel.value = newValue;
- IEventDispatcher(strand).dispatchEvent(new Event("scroll"));
- }
-
- private function thumbMouseUpHandler(event:MouseEvent):void
- {
- sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
- sbView.thumb.$button.stage.removeEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
deleted file mode 100644
index 72c42d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/BasicLayout.as
+++ /dev/null
@@ -1,194 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
-
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.utils.CSSUtils;
-
- /**
- * The BasicLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * as specified by CSS properties like left, right, top
- * and bottom.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class BasicLayout extends LayoutBase implements IBeadLayout
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function BasicLayout()
- {
- super();
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- * @flexjsignorecoercion org.apache.flex.core.ILayoutHost
- * @flexjsignorecoercion org.apache.flex.core.UIBase
- */
- override public function layout():Boolean
- {
- COMPILE::SWF
- {
- var contentView:ILayoutView = layoutView;
-
- var hostWidthSizedToContent:Boolean = host.isWidthSizedToContent();
- var hostHeightSizedToContent:Boolean = host.isHeightSizedToContent();
-
- var w:Number = hostWidthSizedToContent ? 0 : contentView.width;
- var h:Number = hostHeightSizedToContent ? 0 : contentView.height;
-
- var n:int = contentView.numElements;
-
- for (var i:int = 0; i < n; i++)
- {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
-
- var positions:Object = childPositions(child);
- var margins:Object = childMargins(child, contentView.width, contentView.height);
- var ww:Number = w;
- var hh:Number = h;
-
- var ilc:ILayoutChild = child as ILayoutChild;
-
- // set the top edge of the child
- if (!isNaN(positions.left))
- {
- if (ilc)
- ilc.setX(positions.left+margins.left);
- else
- child.x = positions.left+margins.left;
- ww -= positions.left + margins.left;
- }
-
- // set the left edge of the child
- if (!isNaN(positions.top))
- {
- if (ilc)
- ilc.setY(positions.top+margins.top);
- else
- child.y = positions.top+margins.top;
- hh -= positions.top + margins.top;
- }
-
- // set the right edge of the child
- if (!isNaN(positions.right))
- {
- if (!hostWidthSizedToContent)
- {
- if (!isNaN(positions.left))
- {
- if (ilc)
- ilc.setWidth(ww - positions.right - margins.right, false);
- else
- child.width = ww - positions.right - margins.right;
- }
- else
- {
- if (ilc)
- ilc.setX( w - positions.right - margins.left - child.width - margins.right);
- else
- child.x = w - positions.right - margins.left - child.width - margins.right;
- }
- }
- }
- else if (ilc != null && !isNaN(ilc.percentWidth) && !hostWidthSizedToContent)
- {
- ilc.setWidth((ww - margins.right - margins.left) * ilc.percentWidth/100, false);
- }
-
- // set the bottm edge of the child
- if (!isNaN(positions.bottom))
- {
- if (!hostHeightSizedToContent)
- {
- if (!isNaN(positions.top))
- {
- if (ilc)
- ilc.setHeight(hh - positions.bottom - margins.bottom, false);
- else
- child.height = hh - positions.bottom - margins.bottom;
- }
- else
- {
- if (ilc)
- ilc.setY( h - positions.bottom - child.height - margins.bottom);
- else
- child.y = h - positions.bottom - child.height - margins.bottom;
- }
- }
- }
- else if (ilc != null && !isNaN(ilc.percentHeight) && !hostHeightSizedToContent)
- {
- ilc.setHeight((hh - margins.top - margins.bottom) * ilc.percentHeight/100, false);
- }
- }
-
- return true;
-
- }
-
- COMPILE::JS
- {
- var i:int
- var n:int;
- var contentView:ILayoutView = layoutView;
-
- n = contentView.numElements;
-
- // host must have either have position:absolute or position:relative
- if (contentView.element.style.position != "absolute" && contentView.element.style.position != "relative") {
- contentView.element.style.position = "relative";
- }
-
- // each child must have position:absolute for BasicLayout to work
- for (i=0; i < n; i++) {
- var child:UIBase = contentView.getElementAt(i) as UIBase;
- child.positioner.style.position = "absolute";
- }
-
- return true;
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
deleted file mode 100644
index 51d0c4c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/ButtonBarLayout.as
+++ /dev/null
@@ -1,146 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.IStyleableObject;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.html.beads.models.ButtonBarModel;
- import org.apache.flex.html.supportClasses.UIItemRendererBase;
-
- /**
- * The ButtonBarLayout class bead sizes and positions the button
- * elements that make up a org.apache.flex.html.ButtonBar. This bead arranges the Buttons
- * horizontally and makes them all the same width unless the buttonWidths property has been set in which case
- * the values stored in that array are used.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ButtonBarLayout extends HorizontalFlexLayout implements IBeadLayout
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ButtonBarLayout()
- {
- super();
- }
-
- private var _widthType:Number = ButtonBarModel.PIXEL_WIDTHS;
- private var _buttonWidths:Array = null;
-
- /**
- * An array of widths (Number), one per button. These values supersede the
- * default of equally-sized buttons.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get buttonWidths():Array
- {
- return _buttonWidths;
- }
- public function set buttonWidths(value:Array):void
- {
- _buttonWidths = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- var model:ButtonBarModel = (host as IStrand).getBeadByType(ButtonBarModel) as ButtonBarModel;
- if (model) {
- buttonWidths = model.buttonWidths;
- _widthType = model.widthType;
- }
-
- var n:int = contentView.numElements;
- if (n <= 0) return false;
-
- for (var i:int=0; i < n; i++)
- {
- var ilc:ILayoutChild = contentView.getElementAt(i) as ILayoutChild;
- if (ilc == null || !ilc.visible) continue;
- if (!(ilc is IStyleableObject)) continue;
-
- COMPILE::SWF {
- if (buttonWidths) {
- var widthValue:* = buttonWidths[i];
-
- if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
- if (widthValue != null) ilc.width = Number(widthValue);
- IStyleableObject(ilc).style.flexGrow = 0;
- }
- else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
- if (widthValue != null) {
- IStyleableObject(ilc).style.flexGrow = Number(widthValue);
- }
- }
- else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
- if (widthValue != null) ilc.percentWidth = Number(widthValue);
- IStyleableObject(ilc).style.flexGrow = 0;
- }
- } else {
- IStyleableObject(ilc).style.flexGrow = 1;
- }
- }
-
- COMPILE::JS {
- // otherwise let the flexbox layout handle matters on its own.
- if (buttonWidths) {
- var widthValue:* = buttonWidths[i];
-
- if (_widthType == ButtonBarModel.PIXEL_WIDTHS) {
- if (widthValue != null) ilc.width = Number(widthValue);
- }
- else if (_widthType == ButtonBarModel.PROPORTIONAL_WIDTHS) {
- if (widthValue != null) ilc.element.style["flex-grow"] = String(widthValue);
- }
- else if (_widthType == ButtonBarModel.PERCENT_WIDTHS) {
- if (widthValue != null) ilc.percentWidth = Number(widthValue);
- }
- } else {
- ilc.element.style["flex-grow"] = "1";
- }
-
- ilc.height = contentView.height;
- }
- }
-
- // now let the horizontal layout take care of things.
- return super.layout();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
deleted file mode 100644
index f276074..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/FlexibleFirstChildHorizontalLayout.as
+++ /dev/null
@@ -1,230 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewport;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.supportClasses.Viewport;
- import org.apache.flex.utils.CSSContainerUtils;
- import org.apache.flex.utils.CSSUtils;
-
- /**
- * The FlexibleFirstChildHorizontalLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * horizontally in one row, separating them according to
- * CSS layout rules for margin and padding styles. But it
- * will size the first child to take up as much or little
- * room as possible.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class FlexibleFirstChildHorizontalLayout extends HorizontalLayout
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function FlexibleFirstChildHorizontalLayout()
- {
- super();
- }
-
- private var _maxWidth:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxWidth():Number
- {
- return _maxWidth;
- }
-
- /**
- * @private
- */
- public function set maxWidth(value:Number):void
- {
- _maxWidth = value;
- }
-
- private var _maxHeight:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxHeight():Number
- {
- return _maxHeight;
- }
-
- /**
- * @private
- */
- public function set maxHeight(value:Number):void
- {
- _maxHeight = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- COMPILE::SWF
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- var n:Number = contentView.numElements;
- if (n == 0) return false;
-
- // if the layoutView has no width yet, this layout cannot
- // be run successfully, so default to HorizontalLayout.
- if (host.isWidthSizedToContent()) {
- return super.layout();
- }
-
- var maxWidth:Number = 0;
- var maxHeight:Number = 0;
- var hostSizedToContent:Boolean = host.isHeightSizedToContent();
- var hostWidth:Number = contentView.width;
- var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
-
- var ilc:ILayoutChild;
- var data:Object;
- var canAdjust:Boolean = false;
-
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-
- // adjust the host's usable size by the metrics. If hostSizedToContent, then the
- // resulting adjusted value may be less than zero.
- hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
- hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
- var xpos:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
- var ypos:Number = borderMetrics.top + paddingMetrics.left;
- var adjustedWidth:Number = 0;
-
- for(var i:int=(n-1); i >= 0; i--)
- {
- var child:IUIBase = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- var positions:Object = childPositions(child);
- var margins:Object = childMargins(child, hostWidth, hostHeight);
-
- ilc = child as ILayoutChild;
-
- var childYpos:Number = ypos + margins.top; // default y position
-
- if (!hostSizedToContent) {
- var childHeight:Number = child.height;
- if (ilc != null && !isNaN(ilc.percentHeight)) {
- childHeight = hostHeight * ilc.percentHeight/100.0;
- ilc.setHeight(childHeight);
- }
- // the following code middle-aligns the child
- childYpos = hostHeight/2 - childHeight/2;
- }
-
- if (ilc) {
- if (!isNaN(ilc.percentWidth)) {
- ilc.setWidth(hostWidth * ilc.percentWidth / 100);
- }
- }
-
- if (i > 0) {
- xpos -= child.width + margins.right;
- adjustedWidth = child.width;
- } else {
- adjustedWidth = xpos - (borderMetrics.left + paddingMetrics.left + margins.left + margins.right);
- xpos = borderMetrics.left + paddingMetrics.left + margins.left;
- }
-
- if (ilc) {
- ilc.setX(xpos);
- ilc.setY(childYpos);
- ilc.setWidth(adjustedWidth);
-
- } else {
- child.x = xpos;
- child.y = childYpos;
- child.width = adjustedWidth;
- }
-
- xpos -= margins.left;
- }
-
- return true;
- }
-
- COMPILE::JS
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- // set the display on the contentView
- contentView.element.style["display"] = "flex";
- contentView.element.style["flex-flow"] = "row";
- contentView.element.style["align-items"] = "center";
-
- var n:int = contentView.numElements;
- if (n == 0) return false;
-
- for(var i:int=0; i < n; i++) {
- var child:UIBase = contentView.getElementAt(i) as UIBase;
- child.element.style["flex-grow"] = (i == 0) ? "1" : "0";
- child.element.style["flex-shrink"] = "0";
- }
-
- return true;
- }
-
- }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
deleted file mode 100644
index f8b5ddd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/HScrollBarLayout.as
+++ /dev/null
@@ -1,123 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.beads.IScrollBarView;
- import org.apache.flex.html.Button;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The HScrollBarLayout class is a layout
- * bead that displays lays out the pieces of a
- * horizontal ScrollBar like the thumb, track
- * and arrow buttons.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBarLayout implements IBeadLayout
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBarLayout()
- {
- }
-
- private var sbModel:IScrollBarModel;
- private var sbView:IScrollBarView;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- sbView = _strand.getBeadByType(IScrollBarView) as IScrollBarView;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- public function layout():Boolean
- {
- if (!sbModel)
- sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
-
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
- var host:UIBase = UIBase(_strand);
- var w:Number = host.width + metrics.left + metrics.right;
- var increment:Button = sbView.increment;
- var decrement:Button = sbView.decrement;
- var track:Button = sbView.track;
- var thumb:Button = sbView.thumb;
-
- decrement.x = 1;
- decrement.y = 0;
- decrement.height = host.height - 2;
- decrement.width = host.height;
-
- increment.height = host.height - 2;
- increment.width = host.height;
- increment.x = w - increment.width - 2;
- increment.y = 0;
-
- track.x = decrement.width + 4;
- track.y = 0;
- track.height = host.height;
- track.width = increment.x - decrement.width - 5;
- thumb.width = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.width;
- if (track.width > thumb.width)
- {
- thumb.visible = true;
- thumb.x = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.width - thumb.width)) + track.x;
- }
- else
- {
- thumb.visible = false;
- }
-
- return true;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
deleted file mode 100644
index 00d328b..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
+++ /dev/null
@@ -1,103 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadView;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The LayoutChangeNotifier notifies layouts when a property
- * it is watching changes.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class LayoutChangeNotifier implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function LayoutChangeNotifier()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _value:* = undefined;
-
- /**
- * The value of the property being watched. This is usually
- * a data binding expression.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set initialValue(value:Object):void
- {
- _value = value;
- }
-
- /**
- * The value of the property being watched. This is usually
- * a data binding expression.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set watchedProperty(value:Object):void
- {
- if (_value !== value)
- {
- _value = value;
- if (_strand is IBeadView)
- IBeadView(_strand).host.dispatchEvent(new Event("layoutNeeded"));
- else
- IEventDispatcher(_strand).dispatchEvent(new Event("layoutNeeded"));
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
deleted file mode 100644
index c90f223..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildHorizontalLayout.as
+++ /dev/null
@@ -1,331 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
- import org.apache.flex.core.IDocument;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSContainerUtils;
- import org.apache.flex.utils.CSSUtils;
-
- /**
- * The OneFlexibleChildHorizontalLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * horizontally in one row, separating them according to
- * CSS layout rules for margin and padding styles. But it
- * will size the one child to take up as much or little
- * room as possible.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class OneFlexibleChildHorizontalLayout extends HorizontalLayout implements IOneFlexibleChildLayout, IDocument
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function OneFlexibleChildHorizontalLayout()
- {
- super();
- }
-
-
- private var _flexibleChild:String;
-
- private var actualChild:ILayoutChild;
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * The id of the flexible child
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get flexibleChild():String
- {
- return _flexibleChild;
- }
-
- /**
- * @private
- */
- public function set flexibleChild(value:String):void
- {
- _flexibleChild = value;
- }
-
- private var _maxWidth:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxWidth():Number
- {
- return _maxWidth;
- }
-
- /**
- * @private
- */
- public function set maxWidth(value:Number):void
- {
- _maxWidth = value;
- }
-
- private var _maxHeight:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxHeight():Number
- {
- return _maxHeight;
- }
-
- /**
- * @private
- */
- public function set maxHeight(value:Number):void
- {
- _maxHeight = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- COMPILE::JS
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- actualChild = document[flexibleChild];
-
- // set the display on the contentView
- contentView.element.style["display"] = "flex";
- contentView.element.style["flex-flow"] = "row";
- contentView.element.style["align-items"] = "center";
-
- var n:int = contentView.numElements;
- if (n == 0) return false;
-
- for(var i:int=0; i < n; i++) {
- var child:UIBase = contentView.getElementAt(i) as UIBase;
- child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
- child.element.style["flex-shrink"] = "0";
- }
-
- return true;
- }
-
- COMPILE::SWF
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
- var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
-
- var n:Number = contentView.numElements;
- if (n == 0) return false;
-
- // if the layoutView's width cannot be determined then this layout
- // will not work, so default to HorizontalLayout
- if (host.isWidthSizedToContent()) {
- return super.layout();
- }
-
- var maxWidth:Number = 0;
- var maxHeight:Number = 0;
- var hostSizedToContent:Boolean = host.isHeightSizedToContent();
- var hostWidth:Number = contentView.width;
- var hostHeight:Number = hostSizedToContent ? 0 : contentView.height;
-
- var ilc:ILayoutChild;
- var data:Object;
- var canAdjust:Boolean = false;
- var margins:Object;
-
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-
- // adjust the host's usable size by the metrics. If hostSizedToContent, then the
- // resulting adjusted value may be less than zero.
- hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
- hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
- var xpos:Number = borderMetrics.left + paddingMetrics.left;
- var ypos:Number = borderMetrics.top + paddingMetrics.left;
- var child:IUIBase;
- var childHeight:Number;
- var i:int;
- var childYpos:Number;
- var adjustLeft:Number = 0;
- var adjustRight:Number = hostWidth + borderMetrics.left + paddingMetrics.left;
-
- // first work from left to right
- for(i=0; i < n; i++)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- if (child == actualChild) break;
-
- margins = childMargins(child, hostWidth, hostHeight);
- ilc = child as ILayoutChild;
-
- xpos += margins.left;
-
- childYpos = ypos + margins.top; // default y position
-
- if (!hostSizedToContent) {
- childHeight = child.height;
- if (ilc != null && !isNaN(ilc.percentHeight)) {
- childHeight = host.height * ilc.percentHeight/100.0;
- ilc.setHeight(childHeight);
- }
- // the following code middle-aligns the child
- childYpos = hostHeight/2 - childHeight/2 + ypos;
- }
-
- if (ilc) {
- ilc.setX(xpos);
- ilc.setY(childYpos);
-
- if (!isNaN(ilc.percentWidth)) {
- ilc.setWidth(hostWidth * ilc.percentWidth / 100);
- }
-
- } else {
- child.x = xpos;
- child.y = childYpos;
- }
-
- xpos += child.width + margins.right;
- adjustLeft = xpos;
- }
-
- // then work from right to left
- xpos = hostWidth + borderMetrics.left + paddingMetrics.left;
-
- for(i=(n-1); actualChild != null && i >= 0; i--)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- if (child == actualChild) break;
-
- margins = childMargins(child, hostWidth, hostHeight);
- ilc = child as ILayoutChild;
-
- childYpos = ypos + margins.top; // default y position
-
- if (!hostSizedToContent) {
- childHeight = child.height;
- if (ilc != null && !isNaN(ilc.percentHeight)) {
- childHeight = hostHeight * ilc.percentHeight/100.0;
- ilc.setHeight(childHeight);
- }
- // the following code middle-aligns the child
- childYpos = hostHeight/2 - childHeight/2 + ypos;
- }
-
- if (ilc) {
- if (!isNaN(ilc.percentWidth)) {
- ilc.setWidth(hostWidth * ilc.percentWidth / 100);
- }
- }
-
- xpos -= child.width + margins.right;
-
- if (ilc) {
- ilc.setX(xpos);
- ilc.setY(childYpos);
- } else {
- child.x = xpos;
- child.y = childYpos;
- }
-
- xpos -= margins.left;
- adjustRight = xpos;
- }
-
- // now adjust the actualChild to fill the space.
- if (actualChild != null) {
- margins = childMargins(actualChild, hostWidth, hostHeight);
- ilc = actualChild as ILayoutChild;
- if (!hostSizedToContent) {
- childHeight = actualChild.height;
- if (ilc != null && !isNaN(ilc.percentHeight)) {
- childHeight = hostHeight * ilc.percentHeight/100.0;
- ilc.setHeight(childHeight);
- }
- }
- childYpos = ypos + margins.top;
- if (!hostSizedToContent) {
- childYpos = hostHeight/2 - childHeight/2 + ypos;
- }
- actualChild.x = adjustLeft + margins.left;
- actualChild.y = childYpos;
- if (ilc) {
- ilc.setWidth((adjustRight-margins.right) - (adjustLeft+margins.left));
- } else {
- actualChild.width = (adjustRight-margins.right) - (adjustLeft+margins.left);
- }
- }
-
- return true;
- }
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
- }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
deleted file mode 100644
index 9242d91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/OneFlexibleChildVerticalLayout.as
+++ /dev/null
@@ -1,333 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
- import org.apache.flex.core.IDocument;
- import org.apache.flex.core.ILayoutChild;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IStyleableObject;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSContainerUtils;
- import org.apache.flex.utils.CSSUtils;
-
- /**
- * The OneFlexibleChildVerticalLayout class is a simple layout
- * bead. It takes the set of children and lays them out
- * vertically in one column, separating them according to
- * CSS layout rules for margin and padding styles. But it
- * will size the one child to take up as much or little
- * room as possible.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class OneFlexibleChildVerticalLayout extends VerticalLayout implements IOneFlexibleChildLayout, IDocument
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function OneFlexibleChildVerticalLayout()
- {
- super();
- }
-
-
- private var _flexibleChild:String;
-
- private var actualChild:ILayoutChild;
-
- /**
- * @private
- * The document.
- */
- private var document:Object;
-
- /**
- * The id of the flexible child
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get flexibleChild():String
- {
- return _flexibleChild;
- }
-
- /**
- * @private
- */
- public function set flexibleChild(value:String):void
- {
- _flexibleChild = value;
- }
-
- private var _maxWidth:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxWidth
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxWidth():Number
- {
- return _maxWidth;
- }
-
- /**
- * @private
- */
- public function set maxWidth(value:Number):void
- {
- _maxWidth = value;
- }
-
- private var _maxHeight:Number;
-
- /**
- * @copy org.apache.flex.core.IBead#maxHeight
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maxHeight():Number
- {
- return _maxHeight;
- }
-
- /**
- * @private
- */
- public function set maxHeight(value:Number):void
- {
- _maxHeight = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- COMPILE::JS
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- actualChild = document[flexibleChild];
-
- // set the display on the contentView
- contentView.element.style["display"] = "flex";
- contentView.element.style["flex-flow"] = "column";
- contentView.element.style["align-items"] = "center";
-
- var n:int = contentView.numElements;
- if (n == 0) return false;
-
- for(var i:int=0; i < n; i++) {
- var child:UIBase = contentView.getElementAt(i) as UIBase;
- child.element.style["flex-grow"] = (child == actualChild) ? "1" : "0";
- child.element.style["flex-shrink"] = "0";
- }
-
- return true;
- }
-
- COMPILE::SWF
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
- var actualChild:IUIBase = document.hasOwnProperty(flexibleChild) ? document[flexibleChild] : null;
-
- var n:Number = contentView.numElements;
- if (n == 0) return false;
-
- // if the layoutView has no determined height, this layout cannot run
- // so fall back to VerticalLayout
- if (host.isHeightSizedToContent()) {
- return super.layout();
- }
-
- var maxWidth:Number = 0;
- var maxHeight:Number = 0;
- var hostSizedToContent:Boolean = host.isWidthSizedToContent();
- var hostWidth:Number = hostSizedToContent ? 0 : contentView.width;
- var hostHeight:Number = contentView.height;
-
- var ilc:ILayoutChild;
- var data:Object;
- var canAdjust:Boolean = false;
- var margins:Object;
-
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-
- // adjust the host's usable size by the metrics. If hostSizedToContent, then the
- // resulting adjusted value may be less than zero.
- hostWidth -= paddingMetrics.left + paddingMetrics.right + borderMetrics.left + borderMetrics.right;
- hostHeight -= paddingMetrics.top + paddingMetrics.bottom + borderMetrics.top + borderMetrics.bottom;
-
- var xpos:Number = borderMetrics.left + paddingMetrics.left;
- var ypos:Number = borderMetrics.top + paddingMetrics.left;
- var child:IUIBase;
- var childWidth:Number;
- var i:int;
- var childXpos:Number;
- var adjustTop:Number = 0;
- var adjustBottom:Number = hostHeight + borderMetrics.top + paddingMetrics.top;
-
- // first work from top to bottom
- for(i=0; i < n; i++)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- if (child == actualChild) break;
-
- margins = childMargins(child, hostWidth, hostHeight);
- ilc = child as ILayoutChild;
-
- ypos += margins.top;
-
- childXpos = xpos + margins.left; // default x position
-
- if (!hostSizedToContent) {
- childWidth = child.width;
- if (ilc != null && !isNaN(ilc.percentWidth)) {
- childWidth = hostWidth * ilc.percentWidth/100.0;
- ilc.setWidth(childWidth);
- }
- // the following code middle-aligns the child
- childXpos = hostWidth/2 - childWidth/2 + xpos;
- }
-
- if (ilc) {
- ilc.setX(childXpos);
- ilc.setY(ypos);
-
- if (!isNaN(ilc.percentHeight)) {
- ilc.setHeight(hostHeight * ilc.percentHeight / 100);
- }
-
- } else {
- child.x = childXpos;
- child.y = ypos;
- }
-
- ypos += child.height + margins.bottom;
- adjustTop = ypos;
- }
-
- // then work from bottom to top
- ypos = hostHeight + borderMetrics.top + paddingMetrics.top;
-
- for(i=(n-1); actualChild != null && i >= 0; i--)
- {
- child = contentView.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- if (child == actualChild) break;
-
- margins = childMargins(child, hostWidth, hostHeight);
- ilc = child as ILayoutChild;
-
- childXpos = xpos + margins.left; // default x position
-
- if (!hostSizedToContent) {
- childWidth = child.width;
- if (ilc != null && !isNaN(ilc.percentWidth)) {
- childWidth = hostWidth * ilc.percentWidth/100.0;
- ilc.setWidth(childWidth);
- }
- // the following code middle-aligns the child
- childXpos = hostWidth/2 - childWidth/2 + xpos;
- }
-
- if (ilc) {
- if (!isNaN(ilc.percentHeight)) {
- ilc.setHeight(hostHeight * ilc.percentHeight / 100);
- }
- }
-
- ypos -= child.height + margins.bottom;
-
- if (ilc) {
- ilc.setX(childXpos);
- ilc.setY(ypos);
- } else {
- child.x = childXpos;
- child.y = ypos;
- }
-
- ypos -= margins.top;
- adjustBottom = ypos;
- }
-
- // now adjust the actualChild to fill the space.
- if (actualChild != null) {
- margins = childMargins(actualChild, hostWidth, hostHeight);
- ilc = actualChild as ILayoutChild;
- if (!hostSizedToContent) {
- childWidth = actualChild.width;
- if (ilc != null && !isNaN(ilc.percentWidth)) {
- childWidth = hostWidth * ilc.percentWidth/100.0;
- ilc.setWidth(childWidth);
- }
- }
- childXpos = xpos + margins.left;
- if (!hostSizedToContent) {
- childXpos = hostWidth/2 - childWidth/2 + xpos;
- }
- actualChild.x = childXpos
- actualChild.y = adjustTop + margins.top;
- if (ilc) {
- ilc.setHeight((adjustBottom-margins.bottom) - (adjustTop+margins.top));
- } else {
- actualChild.height = (adjustBottom-margins.bottom) - (adjustTop+margins.top);
- }
- }
-
- return true;
- }
-
- public function setDocument(document:Object, id:String = null):void
- {
- this.document = document;
- }
-
- }
-
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
deleted file mode 100644
index 4ff6565..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/TileLayout.as
+++ /dev/null
@@ -1,248 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The TileLayout class bead sizes and positions the elements it manages into rows and columns.
- * The size of each element is determined either by setting TileLayout's columnWidth and rowHeight
- * properties, or having the tile size determined by factoring the numColumns into the area assigned
- * for the layout.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TileLayout extends LayoutBase implements IBeadLayout
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TileLayout()
- {
- super();
- }
-
- private var _numColumns:Number = 4;
- private var _columnWidth:Number = Number.NaN;
- private var _rowHeight:Number = Number.NaN;
-
- /**
- * The number of tiles to fit horizontally into the layout.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get numColumns():Number
- {
- return _numColumns;
- }
- public function set numColumns(value:Number):void
- {
- _numColumns = value;
- }
-
- /**
- * The width of each column, in pixels. If left unspecified, the
- * columnWidth is determined by dividing the numColumns into the
- * strand's bounding box width.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columnWidth():Number
- {
- return _columnWidth;
- }
- public function set columnWidth(value:Number):void
- {
- _columnWidth = value;
- }
-
- /**
- * The height of each row, in pixels. If left unspecified, the
- * rowHeight is determine by dividing the possible number of rows
- * into the strand's bounding box height.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rowHeight():Number
- {
- return _rowHeight;
- }
- public function set rowHeight(value:Number):void
- {
- _rowHeight = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- override public function layout():Boolean
- {
- var paddingMetrics:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var borderMetrics:Rectangle = CSSContainerUtils.getBorderMetrics(host);
-
- COMPILE::SWF
- {
- var area:UIBase = layoutView as UIBase;
-
- var xpos:Number = 0;
- var ypos:Number = 0;
- var useWidth:Number = columnWidth;
- var useHeight:Number = rowHeight;
- var n:Number = area.numElements;
- if (n == 0) return false;
-
- var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
- var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
-
- var realN:Number = n;
- for(var j:int=0; j < n; j++)
- {
- var testChild:IUIBase = area.getElementAt(i) as IUIBase;
- if (testChild == null || !testChild.visible) realN--;
- }
-
- if (isNaN(useWidth)) useWidth = Math.floor(adjustedWidth / numColumns); // + gap
- if (isNaN(useHeight)) {
- // given the width and total number of items, how many rows?
- var numRows:Number = Math.floor(realN/numColumns);
- if (host.isHeightSizedToContent) useHeight = 30; // default height
- else useHeight = Math.floor(adjustedHeight / numRows);
- }
-
- var maxWidth:Number = useWidth;
- var maxHeight:Number = useHeight;
-
- for(var i:int=0; i < n; i++)
- {
- var child:IUIBase = area.getElementAt(i) as IUIBase;
- if (child == null || !child.visible) continue;
- child.width = useWidth;
- child.height = useHeight;
- child.x = xpos;
- child.y = ypos;
-
- xpos += useWidth;
- maxWidth = Math.max(maxWidth,xpos);
-
- var test:Number = (i+1)%numColumns;
-
- if (test == 0) {
- xpos = 0;
- ypos += useHeight;
- maxHeight = Math.max(maxHeight,ypos);
- }
- }
-
- maxWidth = Math.max(maxWidth, numColumns*useWidth);
- maxHeight = Math.max(maxHeight, numRows*useHeight);
-
- // Only return true if the contentView needs to be larger; that new
- // size is stored in the model.
- var sizeChanged:Boolean = true;
-
- return sizeChanged;
- }
- COMPILE::JS
- {
- var children:Array;
- var i:int;
- var n:int;
- var child:UIBase;
- var xpos:Number;
- var ypos:Number;
- var useWidth:Number;
- var useHeight:Number;
- var adjustedWidth:Number = Math.floor(host.width - borderMetrics.left - borderMetrics.right);
- var adjustedHeight:Number = Math.floor(host.height - borderMetrics.top - borderMetrics.bottom);
-
- var contentView:IParentIUIBase = layoutView as IParentIUIBase;
-
- children = contentView.internalChildren();
- n = children.length;
- if (n === 0) return false;
-
- contentView.element.style["display"] = "flex";
- contentView.element.style["flex-flow"] = "row wrap";
-
- var realN:int = n;
- for (i = 0; i < n; i++)
- {
- child = children[i].flexjs_wrapper;
- if (!child.visible) realN--;
- }
-
- xpos = 0;
- ypos = 0;
- useWidth = columnWidth;
- useHeight = rowHeight;
-
- if (isNaN(useWidth)) {
- useWidth = Math.floor(adjustedWidth / numColumns); // + gap
- }
- if (isNaN(useHeight)) {
- // given the width and total number of items, how many rows?
- var numRows:Number = Math.floor(realN / numColumns);
- if (host.isHeightSizedToContent) useHeight = 30; // default height
- else useHeight = Math.floor(adjustedHeight / numRows);
- }
-
- for (i = 0; i < n; i++)
- {
- child = children[i].flexjs_wrapper;
- if (!child.visible) continue;
- child.setDisplayStyleForLayout('inline-block');
- child.width = useWidth;
- child.height = useHeight;
- }
- return true;
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as
deleted file mode 100644
index 32ef56f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VScrollBarLayout.as
+++ /dev/null
@@ -1,124 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
-
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.beads.IScrollBarView;
- import org.apache.flex.html.beads.ScrollBarView;
- import org.apache.flex.html.Button;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The VScrollBarLayout class is a layout
- * bead that displays lays out the pieces of a
- * vertical ScrollBar like the thumb, track
- * and arrow buttons.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBarLayout implements IBeadLayout
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBarLayout()
- {
- }
-
- private var sbModel:IScrollBarModel;
- private var sbView:IScrollBarView;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- sbView = _strand.getBeadByType(IScrollBarView) as IScrollBarView;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- public function layout():Boolean
- {
- if (!sbModel)
- sbModel = _strand.getBeadByType(IScrollBarModel) as IScrollBarModel
-
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(_strand);
-
- var host:UIBase = UIBase(_strand);
- var h:Number = host.height + metrics.top + metrics.bottom;
- var increment:Button = sbView.increment;
- var decrement:Button = sbView.decrement;
- var track:Button = sbView.track;
- var thumb:Button = sbView.thumb;
-
- decrement.x = 0;
- decrement.y = 0;
-
- increment.x = 0;
- increment.y = h - increment.height - 1;
-
- if (track.width < thumb.width)
- track.x = (thumb.width - track.width) / 2;
- else if (track.width > thumb.width)
- thumb.x = (track.width - thumb.width) / 2;
- else
- track.x = 0;
- track.y = decrement.height;
- track.height = increment.y - decrement.height;
- thumb.height = sbModel.pageSize / (sbModel.maximum - sbModel.minimum) * track.height;
- if (track.height > thumb.height)
- {
- thumb.visible = true;
- thumb.y = (sbModel.value / (sbModel.maximum - sbModel.minimum - sbModel.pageSize) * (track.height - thumb.height)) + track.y;
- }
- else
- {
- thumb.visible = false;
- }
-
- return true;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
deleted file mode 100644
index e489d85..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/layouts/VerticalColumnLayout.as
+++ /dev/null
@@ -1,165 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.layouts
-{
- import org.apache.flex.core.LayoutBase;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IContainer;
- import org.apache.flex.core.ILayoutHost;
- import org.apache.flex.core.ILayoutView;
- import org.apache.flex.core.ILayoutParent;
- import org.apache.flex.core.IMeasurementBead;
- import org.apache.flex.core.IParent;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.utils.CSSUtils;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * ColumnLayout is a class that organizes the positioning of children
- * of a container into a set of columns where each column's width is set to
- * the maximum size of all of the children in that column.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VerticalColumnLayout extends LayoutBase implements IBeadLayout
- {
- /**
- * constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VerticalColumnLayout()
- {
- super();
- }
-
-
- private var _numColumns:int;
-
- /**
- * The number of columns.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get numColumns():int
- {
- return _numColumns;
- }
- public function set numColumns(value:int):void
- {
- _numColumns = value;
- }
-
- /**
- * @copy org.apache.flex.core.IBeadLayout#layout
- */
- override public function layout():Boolean
- {
- var contentView:ILayoutView = layoutView;
-
- var padding:Rectangle = CSSContainerUtils.getPaddingMetrics(host);
- var sw:Number = host.width;
- var sh:Number = host.height;
-
- var hasWidth:Boolean = !host.isWidthSizedToContent();
- var hasHeight:Boolean = !host.isHeightSizedToContent();
- var e:IUIBase;
- var i:int;
- var col:int = 0;
- var columns:Array = [];
- var rows:Array = [];
- var data:Array = [];
- for (i = 0; i < numColumns; i++)
- columns[i] = 0;
-
- var n:int = contentView.numElements;
- var rowData:Object = { rowHeight: 0 };
-
- // determine max widths of columns
- for (i = 0; i < n; i++) {
- e = contentView.getElementAt(i) as IUIBase;
- if (e == null || !e.visible) continue;
- var margins:Object = childMargins(e, sw, sh);
-
- data.push({ mt: margins.top, mb: margins.bottom, mr: margins.right, ml: margins.left});
- var thisPrefWidth:int = 0;
- if (e is IStrand)
- {
- var measure:IMeasurementBead = e.getBeadByType(IMeasurementBead) as IMeasurementBead;
- if (measure)
- thisPrefWidth = measure.measuredWidth + margins.left + margins.right;
- else
- thisPrefWidth = e.width + margins.left + margins.right;
- }
- else
- thisPrefWidth = e.width + margins.left + margins.right;
-
- rowData.rowHeight = Math.max(rowData.rowHeight, e.height + margins.top + margins.bottom);
- columns[col] = Math.max(columns[col], thisPrefWidth);
- col = col + 1;
- if (col == numColumns)
- {
- rows.push(rowData);
- rowData = {rowHeight: 0};
- col = 0;
- }
- }
-
- var lastmb:Number = 0;
- var curx:int = padding.left;
- var cury:int = padding.top;
- var maxHeight:int = 0;
- var maxWidth:int = 0;
- col = 0;
- for (i = 0; i < n; i++)
- {
- e = contentView.getElementAt(i) as IUIBase;
- if (e == null || !e.visible) continue;
- e.x = curx + data[i].ml;
- e.y = cury + data[i].mt;
- curx += columns[col++];
- maxHeight = Math.max(maxHeight, e.y + e.height + data[i].mb);
- maxWidth = Math.max(maxWidth, e.x + e.width + data[i].mr);
- if (col == numColumns)
- {
- cury += rows[0].rowHeight;
- rows.shift();
- col = 0;
- curx = padding.left;
- }
- }
- return true;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as
deleted file mode 100644
index caa6215..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/AlertModel.as
+++ /dev/null
@@ -1,288 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IAlertModel;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The AlertModel class bead implements the org.apache.flex.core.IAlertModel and holds the properties
- * for an org.apache.flex.html.Alert such the buttons to use and message to display.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class AlertModel extends EventDispatcher implements IAlertModel, IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function AlertModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _title:String;
-
- /**
- * The title for the Alert.
- *
- * @copy org.apache.flex.core.IAlertModel#title
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return _title;
- }
- public function set title(value:String):void
- {
- if( value != _title ) {
- _title = value;
- dispatchEvent( new Event("titleChange") );
- }
- }
-
- private var _htmlTitle:String;
-
- /**
- * The HTML title for the Alert.
- *
- * @copy org.apache.flex.core.IAlertModel#htmlTitle
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return _htmlTitle;
- }
- public function set htmlTitle(value:String):void
- {
- if( value != _htmlTitle ) {
- _htmlTitle = value;
- dispatchEvent( new Event("htmlTitleChange") );
- }
- }
-
- private var _message:String;
-
- /**
- * The message to display.
- *
- * @copy org.apache.flex.core.IAlertModel#message
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get message():String
- {
- return _message;
- }
- public function set message(value:String):void
- {
- if( value != _message ) {
- _message = value;
- dispatchEvent( new Event("messageChange") );
- }
- }
-
- private var _htmlMessage:String;
-
- /**
- * The HTML message to display.
- *
- * @copy org.apache.flex.core.IAlertModel#htmlMessage
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlMessage():String
- {
- return _htmlMessage;
- }
- public function set htmlMessage(value:String):void
- {
- if( value != _htmlMessage )
- {
- _htmlMessage = value;
- dispatchEvent( new Event("htmlMessageChange") );
- }
- }
-
- private var _flags:uint;
-
- /**
- * Which buttons to display (see Alert for details).
- *
- * @copy org.apache.flex.core.IAlertModel#flags
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get flags():uint
- {
- return _flags;
- }
- public function set flags(value:uint):void
- {
- if( value != _flags )
- {
- _flags = value;
- dispatchEvent( new Event("flagsChange") );
- }
- }
-
- private var _okLabel:String = "OK";
-
- /**
- * The label to use for the OK button.
- *
- * @copy org.apache.flex.core.IAlertModel#okLabel
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get okLabel():String
- {
- return _okLabel;
- }
- public function set okLabel(value:String):void
- {
- if( value != _okLabel )
- {
- _okLabel = value;
- dispatchEvent( new Event("okLabelChange") );
- }
- }
-
- private var _cancelLabel:String = "Cancel";
-
- /**
- * The label to use for the Cancel button.
- *
- * @copy org.apache.flex.core.IAlertModel#cancelLabel
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get cancelLabel():String
- {
- return _cancelLabel;
- }
- public function set cancelLabel(value:String):void
- {
- if( value != _cancelLabel )
- {
- _cancelLabel = value;
- dispatchEvent( new Event("cancelLabelChange") );
- }
- }
-
- private var _yesLabel:String = "YES";
-
- /**
- * The label to use for the Yes button.
- *
- * @copy org.apache.flex.core.IAlertModel#yesLabel
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get yesLabel():String
- {
- return _yesLabel;
- }
- public function set yesLabel(value:String):void
- {
- if( value != _yesLabel )
- {
- _yesLabel = value;
- dispatchEvent( new Event("yesLabelChange") );
- }
- }
-
- private var _noLabel:String = "NO";
-
- /**
- * The label to use for the NO button.
- *
- * @copy org.apache.flex.core.IAlertModel#noLabel
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get noLabel():String
- {
- return _noLabel;
- }
- public function set noLabel(value:String):void
- {
- if( value != _noLabel )
- {
- _noLabel = value;
- dispatchEvent( new Event("noLabelChange") );
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
deleted file mode 100644
index 5c8a188..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArrayListSelectionModel.as
+++ /dev/null
@@ -1,244 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.collections.IArrayList;
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The ArrayListSelectionModel class is a selection model for
- * a dataProvider that is an ArrayList. It assumes that items
- * can be fetched from the dataProvider using dataProvider.getItemAt(index).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ArrayListSelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ArrayListSelectionModel()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _dataProvider:IArrayList;
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#dataProvider
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataProvider():Object
- {
- return _dataProvider;
- }
-
- /**
- * @private
- */
- public function set dataProvider(value:Object):void
- {
- if (value === _dataProvider) return;
-
- _dataProvider = value as IArrayList;
- if (_selectedIndex != -1)
- _selectedItem = (_dataProvider == null || _selectedIndex >= _dataProvider.length) ? null :
- _dataProvider.getItemAt(_selectedIndex);
- dispatchEvent(new Event("dataProviderChanged"));
- }
-
- private var _selectedIndex:int = -1;
- private var _rollOverIndex:int = -1;
- private var _labelField:String = null;
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#labelField
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get labelField():String
- {
- return _labelField;
- }
-
- /**
- * @private
- */
- public function set labelField(value:String):void
- {
- if (value != _labelField) {
- _labelField = value;
- dispatchEvent(new Event("labelFieldChanged"));
- }
- }
-
- /**
- * @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 _selectedIndex;
- }
-
- /**
- * @private
- */
- public function set selectedIndex(value:int):void
- {
- if (value === _selectedIndex) return;
-
- _selectedIndex = value;
- _selectedItem = (value == -1 || _dataProvider == null) ? null : (value < _dataProvider.length) ? _dataProvider.getItemAt(value) : null;
- dispatchEvent(new Event("selectedIndexChanged"));
- }
-
- /**
- * @copy org.apache.flex.core.IRollOverModel#rollOverIndex
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rollOverIndex():int
- {
- return _rollOverIndex;
- }
-
- /**
- * @private
- */
- public function set rollOverIndex(value:int):void
- {
- if (value != _rollOverIndex) {
- _rollOverIndex = value;
- dispatchEvent(new Event("rollOverIndexChanged"));
- }
- }
-
- private var _selectedItem:Object;
-
- /**
- * @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 _selectedItem;
- }
-
- /**
- * @private
- */
- public function set selectedItem(value:Object):void
- {
- if (value === _selectedItem) return;
-
- _selectedItem = value;
- var n:int = _dataProvider.length;
- for (var i:int = 0; i < n; i++)
- {
- if (_dataProvider.getItemAt(i) == value)
- {
- _selectedIndex = i;
- break;
- }
- }
- dispatchEvent(new Event("selectedItemChanged"));
- dispatchEvent(new Event("selectedIndexChanged"));
- }
-
- private var _selectedString:String;
-
- /**
- * An alternative to selectedItem for strongly typing the
- * the selectedItem if the Array is an Array of Strings.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedString():String
- {
- return String(_selectedItem);
- }
-
- /**
- * @private
- */
- public function set selectedString(value:String):void
- {
- _selectedString = value;
- var n:int = _dataProvider.length;
- for (var i:int = 0; i < n; i++)
- {
- if (String(_dataProvider.getItemAt(i)) == value)
- {
- _selectedIndex = i;
- break;
- }
- }
- dispatchEvent(new Event("selectedItemChanged"));
- dispatchEvent(new Event("selectedIndexChanged"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
deleted file mode 100644
index a6c0a31..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ArraySelectionModel.as
+++ /dev/null
@@ -1,243 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The ArraySelectionModel class is a selection model for
- * a dataProvider that is an array. It assumes that items
- * can be fetched from the dataProvider
- * dataProvider[index]. Other selection models
- * would support other kinds of data providers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ArraySelectionModel extends EventDispatcher implements ISelectionModel, IRollOverModel
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ArraySelectionModel()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _dataProvider:Object;
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#dataProvider
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataProvider():Object
- {
- return _dataProvider;
- }
-
- /**
- * @private
- */
- public function set dataProvider(value:Object):void
- {
- if (value === _dataProvider) return;
-
- _dataProvider = value;
- if (_selectedIndex != -1)
- _selectedItem = (_dataProvider == null || _selectedIndex >= _dataProvider.length) ? null :
- _dataProvider[_selectedIndex];
- dispatchEvent(new Event("dataProviderChanged"));
- }
-
- private var _selectedIndex:int = -1;
- private var _rollOverIndex:int = -1;
- private var _labelField:String = null;
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#labelField
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get labelField():String
- {
- return _labelField;
- }
-
- /**
- * @private
- */
- public function set labelField(value:String):void
- {
- if (value != _labelField) {
- _labelField = value;
- dispatchEvent(new Event("labelFieldChanged"));
- }
- }
-
- /**
- * @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 _selectedIndex;
- }
-
- /**
- * @private
- */
- public function set selectedIndex(value:int):void
- {
- if (value === _selectedIndex) return;
-
- _selectedIndex = value;
- _selectedItem = (value == -1 || _dataProvider == null) ? null : (value < _dataProvider.length) ? _dataProvider[value] : null;
- dispatchEvent(new Event("selectedIndexChanged"));
- }
-
- /**
- * @copy org.apache.flex.core.IRollOverModel#rollOverIndex
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rollOverIndex():int
- {
- return _rollOverIndex;
- }
-
- /**
- * @private
- */
- public function set rollOverIndex(value:int):void
- {
- _rollOverIndex = value;
- dispatchEvent(new Event("rollOverIndexChanged"));
- }
-
- private var _selectedItem:Object;
-
- /**
- * @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 _selectedItem;
- }
-
- /**
- * @private
- */
- public function set selectedItem(value:Object):void
- {
- if (value === _selectedItem) return;
-
- _selectedItem = value;
- var n:int = _dataProvider.length;
- for (var i:int = 0; i < n; i++)
- {
- if (_dataProvider[i] == value)
- {
- _selectedIndex = i;
- break;
- }
- }
- dispatchEvent(new Event("selectedItemChanged"));
- dispatchEvent(new Event("selectedIndexChanged"));
- }
-
- private var _selectedString:String;
-
- /**
- * An alternative to selectedItem for strongly typing the
- * the selectedItem if the Array is an Array of Strings.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedString():String
- {
- return String(_selectedItem);
- }
-
- /**
- * @private
- */
- public function set selectedString(value:String):void
- {
- _selectedString = value;
- var n:int = _dataProvider.length;
- for (var i:int = 0; i < n; i++)
- {
- if (String(_dataProvider[i]) == value)
- {
- _selectedIndex = i;
- break;
- }
- }
- dispatchEvent(new Event("selectedItemChanged"));
- dispatchEvent(new Event("selectedIndexChanged"));
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
deleted file mode 100644
index 35a60a8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ComboBoxModel.as
+++ /dev/null
@@ -1,100 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IComboBoxModel;
- import org.apache.flex.events.Event;
-
- /**
- * The ComboBoxModel class bead extends org.apache.flex.html.beads.models.ArraySelectionModel
- * and adds the text being displayed by the org.apache.flex.html.ComboBox's input field.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ComboBoxModel extends ArraySelectionModel implements IBead, IComboBoxModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ComboBoxModel()
- {
- }
-
- private var _text:String;
-
- /**
- * The string to display in the org.apache.flex.html.ComboBox input field.
- *
- * @copy org.apache.flex.core.IComboBoxModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return _text;
- }
-
- public function set text(value:String):void
- {
- if (value != _text)
- {
- _text = value;
- dispatchEvent(new Event("textChange"));
- }
- }
-
- private var _html:String;
-
- /**
- * The HTML string to display in the org.apache.flex.html.ComboBox input field.
- *
- * @copy org.apache.flex.core.IComboBoxModel#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return _html;
- }
-
- public function set html(value:String):void
- {
- if (value != _html)
- {
- _html = value;
- dispatchEvent(new Event("htmlChange"));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
deleted file mode 100644
index 531edac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridModel.as
+++ /dev/null
@@ -1,71 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IDataGridModel;
- import org.apache.flex.events.Event;
-
- /**
- * The DataGridModel class bead extends org.apache.flex.html.beads.models.ArrayListSelectionModel
- * to facilitate using an ArrayList as the dataProvider for the DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridModel extends ArrayListSelectionModel implements IDataGridModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridModel()
- {
- super();
- }
-
- private var _columns:Array;
-
- /**
- * The array of org.apache.flex.html.supportClasses.DataGridColumns used to
- * define each column of the org.apache.flex.html.DataGrid.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columns():Array
- {
- return _columns;
- }
- public function set columns(value:Array):void
- {
- if (_columns != value) {
- _columns = value;
- dispatchEvent( new Event("columnsChanged"));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
deleted file mode 100644
index 0a00edb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DataGridPresentationModel.as
+++ /dev/null
@@ -1,88 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IDataGridPresentationModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
-
- /**
- * The DataGridPresentationModel class contains the data to label the columns
- * of the org.apache.flex.html.DataGrid along with the height of the rows.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridPresentationModel extends ListPresentationModel implements IDataGridPresentationModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridPresentationModel()
- {
- super();
-
- separatorThickness = 1;
- }
-
- private var _columnLabels:Array;
-
- /**
- * The labels for each column.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columnLabels():Array
- {
- return _columnLabels;
- }
- public function set columnLabels(value:Array):void
- {
- if (value != _columnLabels) {
- _columnLabels = value;
- dispatchEvent(new Event("columnsChanged"));
- }
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
deleted file mode 100644
index a24ca90..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
+++ /dev/null
@@ -1,289 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IDateChooserModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The DateChooserModel is a bead class that manages the data for a DataChooser.
- * This includes arrays of names for the months and days of the week as well the
- * currently selected date.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateChooserModel extends EventDispatcher implements IDateChooserModel
- {
- public function DateChooserModel()
- {
- // default displayed year and month to "today"
-// var today:Date = new Date();
-// displayedYear = today.getFullYear();
-// displayedMonth = today.getMonth();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _dayNames:Array = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
- private var _monthNames:Array = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
- private var _days:Array;
- private var _displayedYear:Number;
- private var _displayedMonth:Number;
- private var _firstDayOfWeek:Number = 0;
- private var _selectedDate:Date;
-
- /**
- * An array of strings used to name the days of the week with Sunday being the
- * first element of the array.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dayNames():Array
- {
- return _dayNames;
- }
- public function set dayNames(value:Array):void
- {
- _dayNames = value;
- dispatchEvent( new Event("dayNamesChanged") );
- }
-
- /**
- * An array of strings used to name the months of the year with January being
- * the first element of the array.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get monthNames():Array
- {
- return _monthNames;
- }
- public function set monthNames(value:Array):void
- {
- _monthNames = value;
- dispatchEvent( new Event("monthNames") );
- }
-
- /**
- * The year currently displayed by the DateChooser.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get displayedYear():Number
- {
- return _displayedYear;
- }
- public function set displayedYear(value:Number):void
- {
- if (value != _displayedYear) {
- _displayedYear = value;
- updateCalendar();
- dispatchEvent( new Event("displayedYearChanged") );
- }
- }
-
- /**
- * The month currently displayed by the DateChooser.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get displayedMonth():Number
- {
- return _displayedMonth;
- }
- public function set displayedMonth(value:Number):void
- {
- if (_displayedMonth != value) {
- _displayedMonth = value;
- updateCalendar();
- dispatchEvent( new Event("displayedMonthChanged") );
- }
- }
-
- /**
- * The index of the first day of the week, Sunday = 0.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get firstDayOfWeek():Number
- {
- return _firstDayOfWeek;
- }
- public function set firstDayOfWeek(value:Number):void
- {
- if (value != _firstDayOfWeek) {
- _firstDayOfWeek = value;
- dispatchEvent( new Event("firstDayOfWeekChanged") );
- }
- }
-
- public function get days():Array
- {
- return _days;
- }
- public function set days(value:Array):void
- {
- if (value != _days) {
- _days = value;
- dispatchEvent( new Event("daysChanged") );
- }
- }
-
- /**
- * 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 _selectedDate;
- }
- public function set selectedDate(value:Date):void
- {
- if (value != _selectedDate) {
- _selectedDate = value;
-
- if (value != null) {
- var needsUpdate:Boolean = false;
- if (value.getMonth() != _displayedMonth) {
- needsUpdate = true;
- _displayedMonth = value.getMonth();
- }
- if (value.getFullYear() != _displayedYear) {
- needsUpdate = true;
- _displayedYear = value.getFullYear();
- }
- if (needsUpdate) updateCalendar();
- }
-
- dispatchEvent( new Event("selectedDateChanged") );
- }
- }
-
- // Utilities
-
-
- /**
- * @private
- */
- private function updateCalendar():void
- {
- var firstDay:Date = new Date(displayedYear,displayedMonth,1);
-
- _days = new Array(42);
-
- // blank out the labels for the first firstDay.day-1 entries.
- for(var i:int=0; i < firstDay.getDay(); i++) {
- _days[i] = null;
- }
-
- // renumber to the last day of the month
- var dayNumber:int = 1;
- var numDays:Number = numberOfDaysInMonth(displayedMonth, displayedYear);
-
- for(; i < _days.length && dayNumber <= numDays; i++) {
- _days[i] = new Date(displayedYear, displayedMonth, dayNumber++);
- }
-
- // blank out the rest
- for(; i < _days.length; i++) {
- _days[i] = null;
- }
- }
-
- /**
- * @private
- */
- private function numberOfDaysInMonth(month:Number, year:Number):Number
- {
- var n:int;
-
- if (month == 1) // Feb
- {
- if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
- n = 29;
- else
- n = 28;
- }
-
- else if (month == 3 || month == 5 || month == 8 || month == 10)
- n = 30;
-
- else
- n = 31;
-
- return n;
- }
-
- /**
- * @private
- */
- public function getIndexForSelectedDate():Number
- {
- var d:Date = _selectedDate;
- if (d == null) return -1;
-
- for(var i:int=0; i < _days.length; i++) {
- var test:Date = _days[i] as Date;
- if (test != null) {
- if (test.getMonth() == d.getMonth() && test.getDate() == d.getDate() && test.getFullYear() == d.getFullYear()) {
- return i;
- }
- }
- }
- return -1;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
deleted file mode 100644
index 01dd3e9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageAndTextModel.as
+++ /dev/null
@@ -1,77 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
-
- /**
- * The ImageAndTextModel class is associates and image
- * with some text.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageAndTextModel extends TextModel
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageAndTextModel()
- {
- }
-
-
- private var _image:String;
-
- /**
- * The URL of an icon to use in the button
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get image():String
- {
- return _image;
- }
-
- /**
- * @private
- */
- public function set image(value:String):void
- {
- _image = value;
- dispatchEvent(new Event("imageChange"));
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
deleted file mode 100644
index ac6b50c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ImageModel.as
+++ /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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IImageModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.utils.BinaryData;
-
- /**
- * The ImageModel class bead defines the data associated with an org.apache.flex.html.Image
- * component, namely the source of the image.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageModel extends EventDispatcher implements IImageModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- protected var _url:String;
-
- /**
- * The url of the image.
- *
- * @copy org.apache.flex.core.IImageModel#url
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get url():String
- {
- return _url;
- }
- public function set url(value:String):void
- {
- if (value != _url) {
- _url = value;
- dispatchEvent( new Event("urlChanged") );
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
deleted file mode 100644
index 8a372ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ListPresentationModel.as
+++ /dev/null
@@ -1,107 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IListPresentationModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The ListPresentationModel holds values used by list controls for presenting
- * their user interfaces.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ListPresentationModel extends EventDispatcher implements IListPresentationModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ListPresentationModel()
- {
- super();
- }
-
- private var _rowHeight:Number = 30;
-
- /**
- * The height of each row.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rowHeight():Number
- {
- return _rowHeight;
- }
-
- public function set rowHeight(value:Number):void
- {
- _rowHeight = value;
- dispatchEvent(new Event("rowHeightChanged"));
- }
-
- private var _separatorThickness:Number = 0;
-
- /**
- * The distance between rows.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get separatorThickness():Number
- {
- return _separatorThickness;
- }
-
- public function set separatorThickness(value:Number):void
- {
- _separatorThickness = value;
- dispatchEvent(new Event("separatorThicknessChanged"));
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
deleted file mode 100644
index 5741fdd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/PanelModel.as
+++ /dev/null
@@ -1,158 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IPanelModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The PanelModel bead class holds the values for a org.apache.flex.html.Panel, such as its
- * title.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class PanelModel extends EventDispatcher implements IBead, IPanelModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function PanelModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _controlBar:Array;
-
- /**
- * The items in the org.apache.flex.html.ControlBar. Setting this property automatically
- * causes the ControlBar to display if you are using a View bead that supports it.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get controlBar():Array
- {
- return _controlBar;
- }
- public function set controlBar(value:Array):void
- {
- _controlBar = value;
- }
-
- private var _title:String;
-
- /**
- * The title string for the org.apache.flex.html.Panel.
- *
- * @copy org.apache.flex.core.ITitleBarModel#title
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return _title;
- }
- public function set title(value:String):void
- {
- if( value != _title ) {
- _title = value;
- dispatchEvent( new Event('titleChange') );
- }
- }
-
- private var _htmlTitle:String;
-
- /**
- * The HTML string for the title.
- *
- * @copy org.apache.flex.core.ITitleBarModel#htmlTitle
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return _htmlTitle;
- }
- public function set htmlTitle(value:String):void
- {
- if( value != _htmlTitle ) {
- _htmlTitle = value;
- dispatchEvent( new Event('htmlTitleChange') );
- }
- }
-
- private var _showCloseButton:Boolean = false;
-
- /**
- * Indicates whether or not there is a Close button for the org.apache.flex.html.Panel.
- *
- * @copy org.apache.flex.core.ITitleBarModel#showCloseButton
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get showCloseButton():Boolean
- {
- return _showCloseButton;
- }
- public function set showCloseButton(value:Boolean):void
- {
- if( value != _showCloseButton ) {
- _showCloseButton = value;
- dispatchEvent( new Event('showCloseButtonChange') );
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
deleted file mode 100644
index c06d3fe..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModel.as
+++ /dev/null
@@ -1,222 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IRangeModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The RangeModel class bead defines a set of for a numeric range of values
- * which includes a minimum, maximum, and current value.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RangeModel extends EventDispatcher implements IBead, IRangeModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RangeModel()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _maximum:Number = 100;
-
- /**
- * The maximum value for the range (defaults to 100).
- *
- * @copy org.apache.flex.core.IRangeModel#maximum
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get maximum():Number
- {
- return _maximum;
- }
-
- public function set maximum(value:Number):void
- {
- if (value != _maximum)
- {
- _maximum = value;
- dispatchEvent(new Event("maximumChange"));
- }
- }
-
- private var _minimum:Number = 0;
-
- /**
- * The minimum value for the range (defaults to 0).
- *
- * @copy org.apache.flex.core.IRangeModel#minimum
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get minimum():Number
- {
- return _minimum;
- }
-
- public function set minimum(value:Number):void
- {
- if (value != _minimum)
- {
- _minimum = value;
- dispatchEvent(new Event("minimumChange"));
- }
- }
-
- private var _snapInterval:Number = 1;
-
- /**
- * The modulus value for the range.
- *
- * @copy org.apache.flex.core.IRangeModel#snapInterval
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get snapInterval():Number
- {
- return _snapInterval;
- }
-
- public function set snapInterval(value:Number):void
- {
- if (value != _snapInterval)
- {
- _snapInterval = value;
- dispatchEvent(new Event("snapIntervalChange"));
- }
- }
-
- private var _stepSize:Number = 1;
-
- /**
- * The amount to adjust the value either up or down toward the edge of the range.
- *
- * @copy org.apache.flex.core.IRangeModel#stepSize
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get stepSize():Number
- {
- return _stepSize;
- }
-
- public function set stepSize(value:Number):void
- {
- if (value != _stepSize)
- {
- _stepSize = value;
- dispatchEvent(new Event("stepSizeChange"));
- }
- }
-
- private var _value:Number = 0;
-
- /**
- * The current value of the range, between the minimum and maximum values. Attempting
- * to set the value outside of the minimum-maximum range changes the value to still be
- * within the range. Note that the value is adjusted by the stepSize.
- *
- * @copy org.apache.flex.core.IRangeModel#value
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Number
- {
- return _value;
- }
-
- public function set value(newValue:Number):void
- {
- if (newValue != _value)
- {
- // value must lie within the boundaries of minimum & maximum
- // and be on a step interval, so the value is adjusted to
- // what is coming in.
- newValue = Math.max(minimum, newValue);
- newValue = Math.min(maximum, newValue);
- _value = snap(newValue);
- dispatchEvent(new Event("valueChange"));
- }
- }
-
- /**
- * @private
- */
- protected function snap(value:Number):Number
- {
- var si:Number = snapInterval;
- var n:Number = Math.round((value - minimum) / si) * si + minimum;
- if (value > 0)
- {
- if (value - n < n + si - value)
- return n;
- return n + si;
-
- }
- if (value - n > n + si - value)
- return n + si;
- return n;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
deleted file mode 100644
index ebbc4f3..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/RangeModelExtended.as
+++ /dev/null
@@ -1,101 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.events.Event;
- import org.apache.flex.html.beads.models.RangeModel;
-
- /**
- * The RangeModelExtended bead expands on the RangeModel and adds a function to
- * display a value from the model.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RangeModelExtended extends RangeModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function RangeModelExtended()
- {
- super();
- }
-
- private var _value:Number = 0;
-
- /**
- * @private
- */
- override public function get value():Number
- {
- return _value;
- }
- override public function set value(newValue:Number):void
- {
- _value = newValue;
- dispatchEvent(new Event("valueChange"));
- }
-
- private var _labelFunction:Function;
-
- /**
- * A function used to format a value in the model.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get labelFunction():Function
- {
- return _labelFunction;
- }
- public function set labelFunction(value:Function):void
- {
- _labelFunction = value;
- }
-
- /**
- * Returns the label, using the labelFunction (if provided) for the value
- * at the given index.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function getLabelForIndex(index:Number):String
- {
- if (_labelFunction != null) {
- return _labelFunction(this, index);
- }
- else {
- return "";
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
deleted file mode 100644
index 582df91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ScrollBarModel.as
+++ /dev/null
@@ -1,98 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-
- import org.apache.flex.core.IScrollBarModel;
- import org.apache.flex.events.Event;
-
- /**
- * The ScrollBarModel class bead extends the org.apache.flex.html.beads.models.RangeModel
- * and adds page size and page step sizes.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ScrollBarModel extends RangeModel implements IScrollBarModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollBarModel()
- {
- }
-
- private var _pageSize:Number;
-
- /**
- * The amount represented by the thumb control of the org.apache.flex.html.ScrollBar.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get pageSize():Number
- {
- return _pageSize;
- }
-
- public function set pageSize(value:Number):void
- {
- if (value != _pageSize)
- {
- _pageSize = value;
- dispatchEvent(new Event("pageSizeChange"));
- }
- }
-
- private var _pageStepSize:Number;
-
- /**
- * The amount to adjust the org.apache.flex.html.ScrollBar if the scroll bar's
- * track area is selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get pageStepSize():Number
- {
- return _pageStepSize;
- }
-
- public function set pageStepSize(value:Number):void
- {
- if (value != _pageStepSize)
- {
- _pageStepSize = value;
- dispatchEvent(new Event("pageStepSizeChange"));
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
deleted file mode 100644
index 99c3a0d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/SingleLineBorderModel.as
+++ /dev/null
@@ -1,85 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import flash.geom.Rectangle;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBorderModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The SingleLineBorderModel class is a data model for
- * a single line border. This model is very simple,
- * it only stores the offsets from the edges of the
- * component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class SingleLineBorderModel extends EventDispatcher implements IBead, IBorderModel
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function SingleLineBorderModel()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- static private var rect:Rectangle = new Rectangle(1, 1, 1, 1);
-
- /**
- * The offsets of the border from the edges of the
- * component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get offsets():Rectangle
- {
- return rect;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
deleted file mode 100644
index be3d7c8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/StringSelectionModel.as
+++ /dev/null
@@ -1,221 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The StringSelectionModel class is a selection model for
- * selecting a single string from a vector of strings.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class StringSelectionModel extends EventDispatcher implements ISelectionModel
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function StringSelectionModel()
- {
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _strings:Vector.<String>;
-
- /**
- * The vector of strings. This is the same
- * as the dataProvider property but is
- * strongly typed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get strings():Vector.<String>
- {
- return _strings;
- }
-
- /**
- * @private
- */
- public function set strings(value:Vector.<String>):void
- {
- _strings = value;
- dispatchEvent(new Event("dataProviderChanged"));
- }
-
- /**
- * The dataProvider, which is a
- * Vector.<String>.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataProvider():Object
- {
- return _strings;
- }
-
- /**
- * @private
- */
- public function set dataProvider(value:Object):void
- {
- _strings = value as Vector.<String>;
- dispatchEvent(new Event("dataProviderChanged"));
- }
-
- private var _selectedIndex:int = -1;
-
- /**
- * @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 _selectedIndex;
- }
-
- /**
- * @private
- */
- public function set selectedIndex(value:int):void
- {
- _selectedIndex = value;
- _selectedString = (value == -1) ? null : (value < _strings.length) ? _strings[value] : null;
- dispatchEvent(new Event("selectedIndexChanged"));
- }
- private var _selectedString:String;
-
- /**
- * @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 _selectedString;
- }
-
- /**
- * @private
- */
- public function set selectedItem(value:Object):void
- {
- selectedString = String(value);
- }
-
- /**
- * The selected string. This is the same as the
- * selectedItem, but is strongly-typed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedString():String
- {
- return _selectedString;
- }
-
- /**
- * @private
- */
- public function set selectedString(value:String):void
- {
- _selectedString = value;
- var n:int = _strings.length;
- for (var i:int = 0; i < n; i++)
- {
- if (_strings[i] == value)
- {
- _selectedIndex = i;
- break;
- }
- }
- dispatchEvent(new Event("selectedItemChanged"));
- }
-
-
- private var _labelField:String;
-
- /**
- * The labelField, which is not used in this
- * implementation.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get labelField():String
- {
- return _labelField;
- }
-
- /**
- * @private
- */
- public function set labelField(value:String):void
- {
- if (value != _labelField) {
- _labelField = value;
- dispatchEvent(new Event("labelFieldChanged"));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
deleted file mode 100644
index d9f6ff2..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/TitleBarModel.as
+++ /dev/null
@@ -1,136 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITitleBarModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The TitleBarModel class bead holds the values for the org.apache.flex.html.TitleBar's
- * properties.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TitleBarModel extends EventDispatcher implements IBead, ITitleBarModel
- {
- public function TitleBarModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _title:String;
-
- [Bindable("titleChange")]
- /**
- * The string title for the org.apache.flex.html.TitleBar.
- *
- * @copy org.apache.flex.core.ITitleBarModel#title
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get title():String
- {
- return _title;
- }
-
- public function set title(value:String):void
- {
- if( value != _title ) {
- _title = value;
- dispatchEvent( new Event('titleChange') );
- }
- }
-
- private var _htmlTitle:String;
-
- [Bindable("htmlTitleChange")]
- /**
- * The HTML string for the title.
- *
- * @copy org.apache.flex.core.ITitleBarModel#htmlTitle
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get htmlTitle():String
- {
- return _htmlTitle;
- }
-
- public function set htmlTitle(value:String):void
- {
- if( value != _htmlTitle ) {
- _htmlTitle = value;
- dispatchEvent( new Event('htmlTitleChange') );
- }
- }
-
- private var _showCloseButton:Boolean = false;
-
- [Bindable("showCloseButtonChange")]
- /**
- * Whether or not to show a close button.
- *
- * @copy org.apache.flex.core.ITitleBarModel#showCloseButton
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get showCloseButton():Boolean
- {
- return _showCloseButton;
- }
-
- public function set showCloseButton(value:Boolean):void
- {
- if( value != _showCloseButton ) {
- _showCloseButton = value;
- dispatchEvent( new Event('showCloseButtonChange') );
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
deleted file mode 100644
index a4c1a91..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ToggleButtonModel.as
+++ /dev/null
@@ -1,145 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.ITextModel;
- import org.apache.flex.core.IToggleButtonModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The ToggleButtonModel class bead holds values for org.apache.flex.html.Buttons
- * that have a state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ToggleButtonModel extends EventDispatcher implements IBead, IToggleButtonModel, ITextModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ToggleButtonModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _text:String;
-
- /**
- * The text string for the org.apache.flex.html.Button's label.
- *
- * @copy org.apache.flex.core.IToggleButtonModel#text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- return _text;
- }
-
- public function set text(value:String):void
- {
- if (value != _text)
- {
- _text = value;
- dispatchEvent(new Event("textChange"));
- }
- }
-
- private var _html:String;
-
- /**
- * The HTML string for the Button's label.
- *
- * @copy org.apache.flex.core.IToggleButtonModel#html
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get html():String
- {
- return _html;
- }
-
- public function set html(value:String):void
- {
- if( value != html )
- {
- _html = value;
- dispatchEvent(new Event("htmlChange"));
- }
- }
-
- private var _selected:Boolean;
-
- /**
- * Whether or not the org.apache.flex.html.Button is selected.
- *
- * @copy org.apache.flex.core.IToggleButtonModel#selected
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return _selected;
- }
-
- public function set selected(value:Boolean):void
- {
- if( value != _selected )
- {
- _selected = value;
- dispatchEvent(new Event("selectedChange"));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
deleted file mode 100644
index 27b0a95..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ValueToggleButtonModel.as
+++ /dev/null
@@ -1,123 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
-
- import org.apache.flex.core.IValueToggleButtonModel;
- import org.apache.flex.events.Event;
-
- /**
- * The ValueToggleButtonModel class bead extends the
- * org.apache.flex.html.beads.models.ToggleButtonModel and adds
- * value intended to represent a collection of similar org.apache.flex.html.Buttons
- * such as org.apache.flex.html.RadioButtons.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ValueToggleButtonModel extends ToggleButtonModel implements IValueToggleButtonModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ValueToggleButtonModel()
- {
- super();
- }
-
- private var _value:Object;
-
- /**
- * The current value of the button collection.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get value():Object
- {
- return _value;
- }
-
- public function set value(newValue:Object):void
- {
- if( newValue != _value )
- {
- _value = newValue;
- dispatchEvent(new Event("valueChange"));
- }
- }
-
- private var _groupName:String;
-
- /**
- * The name of the collection has shared by all of the buttons in the collection.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get groupName():String
- {
- return _groupName;
- }
-
- public function set groupName(value:String):void
- {
- if( value != _groupName )
- {
- _groupName = value;
- dispatchEvent(new Event("groupNameChange"));
- }
- }
-
- private var _selectedValue:Object;
-
- /**
- * The value that is currently selected.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selectedValue():Object
- {
- return _selectedValue;
- }
-
- public function set selectedValue(newValue:Object):void
- {
- if( _selectedValue != newValue )
- {
- _selectedValue = newValue;
- dispatchEvent(new Event("selectedValueChange"));
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
deleted file mode 100644
index 26752ac..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/ViewportModel.as
+++ /dev/null
@@ -1,72 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.geom.Rectangle;
-
- /**
- * @copy org.apache.flex.core.IViewportModel
- */
- public class ViewportModel extends EventDispatcher implements IViewportModel
- {
- public function ViewportModel()
- {
- super();
- }
-
- private var _borderMetrics:Rectangle;
- private var _chromeMetrics:Rectangle;
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IViewportModel
- */
- public function get borderMetrics():Rectangle
- {
- return _borderMetrics;
- }
- public function set borderMetrics(value:Rectangle):void
- {
- _borderMetrics = value;
- }
-
- /**
- * @copy org.apache.flex.core.IViewportModel
- */
- public function get chromeMetrics():Rectangle
- {
- return _chromeMetrics;
- }
- public function set chromeMetrics(value:Rectangle):void
- {
- _chromeMetrics = value;
- }
-
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
deleted file mode 100644
index fbd823a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/WebBrowserModel.as
+++ /dev/null
@@ -1,100 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.beads.models
-{
- import org.apache.flex.core.IBeadModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.EventDispatcher;
-
- /**
- * The WebBrowserModel class bead defines the data associated with an org.apache.flex.html.WebBrowser
- * component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class WebBrowserModel extends EventDispatcher implements IBeadModel
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function WebBrowserModel()
- {
- super();
- }
-
- private var _strand:IStrand;
-
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function set strand(value:IStrand):void
- {
- _strand = value;
- }
-
- private var _url:String;
-
- /**
- * The URL to load into the WebBrowser.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get url():String
- {
- return _url;
- }
- public function set url(value:String):void
- {
- if (value != _url) {
- _url = value;
- dispatchEvent( new Event("urlChanged") );
- }
- }
-
- /**
- * Sets the URL value without dispatching an event.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setURL(value:String):void
- {
- _url = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
deleted file mode 100644
index f7277d0..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Border.as
+++ /dev/null
@@ -1,49 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.UIBase;
-
- /**
- * The Border class is a class used internally by many
- * controls to draw a border. The border actually drawn
- * is dictated by the IBeadView in the CSS.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Border extends UIBase
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Border()
- {
- super();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
deleted file mode 100644
index c9eeefb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/CheckBoxIcon.as
+++ /dev/null
@@ -1,92 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- COMPILE::JS {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- public class CheckBoxIcon
- {
- public function CheckBoxIcon()
- {
- COMPILE::JS {
- createElement();
- }
-
- className = 'CheckBoxIcon';
- }
-
- COMPILE::JS {
- public var element:WrappedHTMLElement;
- public var positioner:WrappedHTMLElement;
- }
-
- private var _className:String;
-
- public function get className():String
- {
- return _className;
- }
- public function set className(value:String):void
- {
- _className = value;
-
- COMPILE::JS {
- element.className = value;
- }
- }
-
- private var _id:String;
-
- public function get id():String
- {
- return _id;
- }
- public function set id(value:String):void
- {
- _id = value;
-
- COMPILE::JS {
- element.id = value;
- }
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion HTMLInputElement
- * @flexjsignorecoercion Text
- */
- COMPILE::JS
- protected function createElement():WrappedHTMLElement
- {
- var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
- input.type = 'checkbox';
-
- element = input as WrappedHTMLElement;
-
- positioner = element;
- //positioner.style.position = 'relative';
-
- (element as WrappedHTMLElement).flexjs_wrapper = this;
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
deleted file mode 100644
index 53d9bd5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ContainerContentArea.as
+++ /dev/null
@@ -1,67 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.ILayoutView;
-
- /**
- * The ContainerContentArea class implements the contentView for
- * a Container on the SWF platform.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ContainerContentArea extends UIBase implements IBead, ILayoutView
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ContainerContentArea()
- {
- super();
- addEventListener("layoutNeeded", forwardEventHandler);
- }
-
- protected var host:IStrand;
-
- public function set strand(value:IStrand):void
- {
- host = value;
- }
-
- private function forwardEventHandler(event:Event):void
- {
- if (parent is IEventDispatcher)
- (parent as IEventDispatcher).dispatchEvent(event);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
deleted file mode 100644
index 24e16fd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumn.as
+++ /dev/null
@@ -1,127 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IFactory;
-
- /**
- * The DataGridColumn class is the collection of properties that describe
- * a column of the org.apache.flex.html.DataGrid: which renderer
- * to use for each cell in the column, the width of the column, the label for the
- * column, and the name of the field in the data containing the value to display
- * in the column.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridColumn
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridColumn()
- {
- }
-
- private var _itemRenderer:IFactory;
-
- /**
- * The itemRenderer class or factory to use to make instances of itemRenderers for
- * display of data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRenderer():IFactory
- {
- return _itemRenderer;
- }
- public function set itemRenderer(value:IFactory):void
- {
- _itemRenderer = value;
- }
-
- private var _columnWidth:Number = Number.NaN;
-
- /**
- * The width of the column (default is 100 pixels).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columnWidth():Number
- {
- return _columnWidth;
- }
- public function set columnWidth(value:Number):void
- {
- _columnWidth = value;
- }
-
- private var _label:String;
-
- /**
- * The label for the column (appears in the header area).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get label():String
- {
- return _label;
- }
- public function set label(value:String):void
- {
- _label = value;
- }
-
- private var _dataField:String;
-
- /**
- * The name of the field containing the data value presented by the column. This value is used
- * by the itemRenderer is select the property from the data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataField():String
- {
- return _dataField;
- }
- public function set dataField(value:String):void
- {
- _dataField = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
deleted file mode 100644
index e612517..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGridColumnList.as
+++ /dev/null
@@ -1,62 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.html.List;
-
- //--------------------------------------
- // Events
- //--------------------------------------
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#change
- *
- * @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 DataGridColumnList class is the List class used internally
- * by DataGrid for each column.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGridColumnList extends List
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGridColumnList()
- {
- super();
- typeNames = "DataGridColumnList";
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
deleted file mode 100644
index b6ebb71..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataGroup.as
+++ /dev/null
@@ -1,154 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IContentView;
- import org.apache.flex.core.IItemRenderer;
- import org.apache.flex.core.IItemRendererParent;
- import org.apache.flex.core.IRollOverModel;
- import org.apache.flex.core.ISelectionModel;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.ItemAddedEvent;
- import org.apache.flex.events.ItemClickedEvent;
- import org.apache.flex.events.ItemRemovedEvent;
-
- /**
- * The DataGroup class is the IItemRendererParent used internally
- * by org.apache.flex.html.List class.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataGroup extends ContainerContentArea implements IItemRendererParent
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataGroup()
- {
- super();
- }
-
- /*
- * IItemRendererParent
- */
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#addItemRenderer()
- * @private
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function addItemRenderer(renderer:IItemRenderer):void
- {
- addElement(renderer, true);
-
- var newEvent:ItemAddedEvent = new ItemAddedEvent("itemAdded");
- newEvent.item = renderer;
-
- (host as IEventDispatcher).dispatchEvent(newEvent);
- }
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#removeItemRenderer()
- * @private
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function removeItemRenderer(renderer:IItemRenderer):void
- {
- removeElement(renderer, true);
-
- var newEvent:ItemRemovedEvent = new ItemRemovedEvent("itemRemoved");
- newEvent.item = renderer;
-
- (host as IEventDispatcher).dispatchEvent(newEvent);
- }
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#removeAllItemRenderers()
- * @private
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function removeAllItemRenderers():void
- {
- while (numElements > 0) {
- var child:IChild = getElementAt(0);
- removeItemRenderer(child as IItemRenderer);
- }
- }
-
- /**
- * @copy org.apache.flex.core.IItemRendererParent#getItemRendererForIndex()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function getItemRendererForIndex(index:int):IItemRenderer
- {
- if (index < 0 || index >= numElements) return null;
- return getElementAt(index) as IItemRenderer;
- }
-
- /**
- * Refreshes the itemRenderers. Useful after a size change by the data group.
- *
- * @copy org.apache.flex.core.IItemRendererParent#updateAllItemRenderers()
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.8
- */
- public function updateAllItemRenderers():void
- {
- var n:Number = numElements;
- for (var i:Number = 0; i < n; i++)
- {
- var renderer:DataItemRenderer = getItemRendererForIndex(i) as DataItemRenderer;
- if (renderer) {
- renderer.setWidth(this.width,true);
- renderer.adjustSize();
- }
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
deleted file mode 100644
index c526977..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ /dev/null
@@ -1,179 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- COMPILE::SWF
- {
- import flash.display.Sprite;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
- }
- import org.apache.flex.core.ValuesManager;
-
- /**
- * The DataItemRenderer class is the base class for most itemRenderers. This class
- * extends org.apache.flex.html.supportClasses.UIItemRendererBase and
- * includes row and column index values.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DataItemRenderer extends UIItemRendererBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DataItemRenderer()
- {
- super();
- }
-
- private var _columnIndex:int;
-
- /**
- * The index of the column the itemRenderer represents.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get columnIndex():int
- {
- return _columnIndex;
- }
- public function set columnIndex(value:int):void
- {
- _columnIndex = value;
- }
-
- private var _rowIndex:int;
-
- /**
- * The index of the row the itemRenderer represents.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get rowIndex():int
- {
- return _rowIndex;
- }
- public function set rowIndex(value:int):void
- {
- _rowIndex = value;
- }
-
- private var _dataField:String;
-
- /**
- * The name of the field within the data the itemRenderer should use.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataField():String
- {
- return _dataField;
- }
- public function set dataField(value:String):void
- {
- _dataField = value;
- }
-
- COMPILE::SWF
- private var background:Sprite;
-
- COMPILE::JS
- private var controller:ItemRendererMouseController;
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function addedToParent():void
- {
- super.addedToParent();
-
- background = new Sprite();
- $sprite.addChild(background);
- }
-
- /**
- * @private
- */
- override public function updateRenderer():void
- {
- COMPILE::SWF
- {
- super.updateRenderer();
-
- background.graphics.clear();
- background.graphics.beginFill(useColor, (down||selected||hovered)?1:0);
- background.graphics.drawRect(0, 0, width, height);
- background.graphics.endFill();
- }
- COMPILE::JS
- {
- if (selected)
- element.style.backgroundColor = '#9C9C9C';
- else if (hovered)
- element.style.backgroundColor = '#ECECEC';
- else
- element.style.backgroundColor = null;
- }
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- *
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('div') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
-
- element.flexjs_wrapper = this;
- className = 'DataItemRenderer';
-
- controller = new ItemRendererMouseController();
- controller.strand = this;
-
- return element;
- }
-
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as
deleted file mode 100644
index f493a45..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserButton.as
+++ /dev/null
@@ -1,67 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.html.TextButton;
-
- /**
- * The DateChooserButton class is used for each button in the DateChooser. The
- * button holds the day of the month the button is representing.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateChooserButton extends TextButton
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateChooserButton()
- {
- super();
- className = "DateChooserButton";
- }
-
- private var _dayOfMonth:int;
-
- /**
- * The day of the month the button represents.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dayOfMonth():int
- {
- return _dayOfMonth;
- }
- public function set dayOfMonth(value:int):void
- {
- _dayOfMonth = value;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as
deleted file mode 100644
index 4fbe70a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateHeaderButton.as
+++ /dev/null
@@ -1,48 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.html.TextButton;
-
- /**
- * The DateHeaderButton class is used for the buttons in the DateChooser's
- * heading areas.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DateHeaderButton extends TextButton
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DateHeaderButton()
- {
- super();
- className = "DateHeaderButton";
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as
deleted file mode 100644
index 6bc1d43..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DropDownListList.as
+++ /dev/null
@@ -1,63 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IPopUp;
- import org.apache.flex.html.SimpleList;
- import org.apache.flex.html.beads.SolidBackgroundBead;
-
- //--------------------------------------
- // Events
- //--------------------------------------
-
- /**
- * @copy org.apache.flex.core.ISelectionModel#change
- *
- * @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 DropDownListList class is the List class used internally
- * by DropDownList as the dropdown/popup.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DropDownListList extends SimpleList implements IPopUp
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DropDownListList()
- {
- super();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as
deleted file mode 100644
index 73bd8bd..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/GraphicsItemRenderer.as
+++ /dev/null
@@ -1,316 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.svg.CompoundGraphic;
- import org.apache.flex.events.Event;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- /**
- * The GraphicsItemRenderer provides a base class for itemRenderers that use graphics rather than
- * components.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class GraphicsItemRenderer extends CompoundGraphic implements ISelectableItemRenderer
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function GraphicsItemRenderer()
- {
- super();
- }
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- super.addedToParent();
-
- // very common for item renderers to be resized by their containers,
- addEventListener("widthChanged", sizeChangeHandler);
- addEventListener("heightChanged", sizeChangeHandler);
-
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
-
- MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
- MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
-
- }
-
- private var _labelField:String = "label";
-
- /**
- * The name of the field within the data to use as a label. Some itemRenderers use this field to
- * identify the value they should show while other itemRenderers ignore this if they are showing
- * complex information.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get labelField():String
- {
- return _labelField;
- }
- public function set labelField(value:String):void
- {
- _labelField = value;
- }
-
- private var _index:int;
-
- /**
- * The position with the dataProvider being shown by the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get index():int
- {
- return _index;
- }
- public function set index(value:int):void
- {
- _index = value;
- }
-
- private var _selected:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a selected state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return _selected;
- }
- public function set selected(value:Boolean):void
- {
- _selected = value;
- updateRenderer();
- }
-
- private var _hovered:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a hovered state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get hovered():Boolean
- {
- return _hovered;
- }
- public function set hovered(value:Boolean):void
- {
- _hovered = value;
- updateRenderer();
- }
-
- private var _down:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a down (or pre-selected) state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get down():Boolean
- {
- return _down;
- }
- public function set down(value:Boolean):void
- {
- _down = value;
- updateRenderer();
- }
-
- private var _data:Object;
-
- [Bindable("__NoChangeEvent__")]
- /**
- * The data being represented by this itemRenderer. This can be something simple like a String or
- * a Number or something very complex.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get data():Object
- {
- return _data;
- }
- public function set data(value:Object):void
- {
- _data = value;
- }
-
- private var _listData:Object;
-
- [Bindable("__NoChangeEvent__")]
- /**
- * Additional data about the list structure the itemRenderer may
- * find useful.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get listData():Object
- {
- return _listData;
- }
- public function set listData(value:Object):void
- {
- _listData = value;
- }
-
- private var _dataField:String;
-
- /**
- * The name of the field within the data the itemRenderer should use.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataField():String
- {
- return _dataField;
- }
- public function set dataField(value:String):void
- {
- _dataField = value;
- }
-
- private var _itemRendererParent:Object;
-
- /**
- * The parent container for the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererParent():Object
- {
- return _itemRendererParent;
- }
- public function set itemRendererParent(value:Object):void
- {
- _itemRendererParent = value;
- }
-
- /**
- * @private
- */
- public function updateRenderer():void
- {
-// if (down)
-// backgroundColor = downColor;
-// else if (hovered)
-// backgroundColor = highlightColor;
-// else if (selected)
-// backgroundColor = selectedColor;
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var mxmlContent:Array;
-
- /**
- * @private
- */
- public function get MXMLDescriptor():Array
- {
- return null;
- }
-
- private var mxmlProperties:Array ;
-
- /**
- * @private
- */
- public function generateMXMLAttributes(data:Array):void
- {
- mxmlProperties = data;
- }
-
- /**
- * @private
- */
- private function sizeChangeHandler(event:Event):void
- {
- adjustSize();
- }
-
- /**
- * This function is called whenever the itemRenderer changes size. Sub-classes should override
- * this method an handle the size change.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function adjustSize():void
- {
- // handle in subclass
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as
deleted file mode 100644
index 0b56925..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/HScrollBar.as
+++ /dev/null
@@ -1,49 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IChrome;
- import org.apache.flex.core.IViewportScroller;
-
- /**
- * The ScrollBar class represents either a vertical or horizontal control
- * that allows the user to quickly scan through a component that does not
- * wholly fit within its container.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class HScrollBar extends ScrollBar implements IChrome, IViewportScroller
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function HScrollBar()
- {
- super();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
deleted file mode 100644
index 3c29ae5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/RadioButtonIcon.as
+++ /dev/null
@@ -1,111 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- COMPILE::JS {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * The RadioButton class is a component that displays a selectable Button. RadioButtons
- * are typically used in groups, identified by the groupName property. RadioButton use
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model, which includes the groupName.
- * org.apache.flex.core.IBeadView: the bead that constructs the visual parts of the RadioButton..
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class RadioButtonIcon
- {
- public function RadioButtonIcon()
- {
- COMPILE::JS {
- createElement();
- }
-
- className = 'RadioButtonIcon';
- }
-
- COMPILE::JS {
- public var element:WrappedHTMLElement;
- public var positioner:WrappedHTMLElement;
- }
-
- private var _className:String;
-
- /**
- * @private
- */
- public function get className():String
- {
- return _className;
- }
- public function set className(value:String):void
- {
- _className = value;
-
- COMPILE::JS {
- element.className = value;
- }
- }
-
- private var _id:String;
-
- /**
- * @private
- */
- public function get id():String
- {
- return _id;
- }
- public function set id(value:String):void
- {
- _id = value;
-
- COMPILE::JS {
- element.id = value;
- }
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion HTMLInputElement
- * @flexjsignorecoercion Text
- */
- COMPILE::JS
- protected function createElement():WrappedHTMLElement
- {
- var input:HTMLInputElement = document.createElement('input') as HTMLInputElement;
- input.type = 'radio';
-
- element = input as WrappedHTMLElement;
-
- positioner = element;
- //positioner.style.position = 'relative';
-
- (element as WrappedHTMLElement).flexjs_wrapper = this;
-
- return element;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as
deleted file mode 100644
index 0bef2e6..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollBar.as
+++ /dev/null
@@ -1,50 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.IChrome;
- import org.apache.flex.core.IViewportScroller;
-
- /**
- * The ScrollBar class represents either a vertical or horizontal control
- * that allows the user to quickly scan through a component that does not
- * wholly fit within its container.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ScrollBar extends UIBase implements IChrome, IViewportScroller
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollBar()
- {
- super();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
deleted file mode 100644
index 1a2b214..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/ScrollingViewport.as
+++ /dev/null
@@ -1,335 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadLayout;
- import org.apache.flex.core.IContainer;
- import org.apache.flex.core.IContentViewHost;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewport;
- import org.apache.flex.core.IViewportModel;
- COMPILE::SWF
- {
- import org.apache.flex.core.IViewportScroller;
- import org.apache.flex.utils.CSSContainerUtils;
- import flash.geom.Rectangle;
- import org.apache.flex.geom.Rectangle;
- }
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.geom.Size;
- import org.apache.flex.html.beads.ScrollBarView;
- import org.apache.flex.html.beads.models.ScrollBarModel;
- import org.apache.flex.geom.Rectangle;
-
- /**
- * The ScrollingViewport extends the Viewport class by adding horizontal and
- * vertical scroll bars, if needed, to the content area of a Container. In
- * addition, the content of the Container is clipped so that items extending
- * outside the Container are hidden and reachable only by scrolling.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::JS
- public class ScrollingViewport extends Viewport implements IBead, IViewport
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollingViewport()
- {
- super();
- }
-
- public function get verticalScrollPosition():Number
- {
- return this.contentView.positioner.scrollTop;
- }
- public function set verticalScrollPosition(value:Number):void
- {
- this.contentView.positioner.scrollTop = value;
- }
-
- public function get horizontalScrollPosition():Number
- {
- return this.contentView.positioner.scrollLeft;
- }
- public function set horizontalScrollPosition(value:Number):void
- {
- this.contentView.positioner.scrollLeft = value;
- }
-
- /**
- * @flexjsignorecoercion HTMLElement
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
- if (contentView == null) {
- (value as UIBase).element.style.overflow = "auto";
- } else {
- (contentView as UIBase).element.style.overflow = "auto";
- }
- }
-
- /**
- * @copy org.apache.flex.core.IViewport
- */
- override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
- {
- // does nothing for the JS platform
- }
-
- /**
- * @copy org.apache.flex.core.IViewport
- */
- override public function layoutViewportAfterContentLayout(contentSize:Size):void
- {
- // does nothing for the JS platform
- }
- }
-
- COMPILE::SWF
- public class ScrollingViewport extends Viewport implements IBead, IViewport
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ScrollingViewport()
- {
- super();
- }
-
- private var _verticalScroller:ScrollBar;
-
- public function get verticalScroller():IViewportScroller
- {
- return _verticalScroller;
- }
-
- private var _horizontalScroller:ScrollBar
-
- public function get horizontalScroller():IViewportScroller
- {
- return _horizontalScroller;
- }
-
- private var _verticalScrollPosition:Number = 0;
-
- public function get verticalScrollPosition():Number
- {
- return _verticalScrollPosition;
- }
- public function set verticalScrollPosition(value:Number):void
- {
- _verticalScrollPosition = value;
- handleVerticalScrollChange();
- }
-
- private var _horizontalScrollPosition:Number = 0;
-
- public function get horizontalScrollPosition():Number
- {
- return _horizontalScrollPosition;
- }
- public function set horizontalScrollPosition(value:Number):void
- {
- _horizontalScrollPosition = value;
- handleHorizontalScrollChange();
- }
-
- private var viewportWidth:Number;
- private var viewportHeight:Number;
-
- /**
- * @copy org.apache.flex.core.IViewport
- */
- override public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
- {
- super.layoutViewportBeforeContentLayout(width, height);
- viewportWidth = width;
- viewportHeight = height;
- }
-
- /**
- * @copy org.apache.flex.core.IViewport
- */
- override public function layoutViewportAfterContentLayout(contentSize:Size):void
- {
- var hadV:Boolean = _verticalScroller != null && _verticalScroller.visible;
- var hadH:Boolean = _horizontalScroller != null && _horizontalScroller.visible;
-
- var hostWidth:Number = UIBase(_strand).width;
- var hostHeight:Number = UIBase(_strand).height;
-
- var borderMetrics:org.apache.flex.geom.Rectangle = CSSContainerUtils.getBorderMetrics(_strand);
-
- hostWidth -= borderMetrics.left + borderMetrics.right;
- hostHeight -= borderMetrics.top + borderMetrics.bottom;
-
- var needV:Boolean = contentSize.height > viewportHeight;
- var needH:Boolean = contentSize.width > viewportWidth;
-
- if (needV)
- {
- if (_verticalScroller == null) {
- _verticalScroller = createVerticalScrollBar();
- (_strand as IContainer).strandChildren.addElement(_verticalScroller);
- }
- }
- if (needH)
- {
- if (_horizontalScroller == null) {
- _horizontalScroller = createHorizontalScrollBar();
- (_strand as IContainer).strandChildren.addElement(_horizontalScroller);
- }
- }
-
- if (needV)
- {
- _verticalScroller.visible = true;
- _verticalScroller.x = UIBase(_strand).width - borderMetrics.right - _verticalScroller.width;
- _verticalScroller.y = borderMetrics.top;
- _verticalScroller.setHeight(hostHeight - (needH ? _horizontalScroller.height : 0), true);
-
- ScrollBarModel(_verticalScroller.model).maximum = contentSize.height;
- ScrollBarModel(_verticalScroller.model).pageSize = contentArea.height;
- ScrollBarModel(_verticalScroller.model).pageStepSize = contentArea.height;
-
- if (contentSize.height > contentArea.height &&
- (contentSize.height - contentArea.height) < _verticalScrollPosition)
- _verticalScrollPosition = contentSize.height - contentArea.height;
- }
- else if (_verticalScroller) {
- _verticalScroller.visible = false;
- }
-
- if (needH)
- {
- _horizontalScroller.visible = true;
- _horizontalScroller.x = 0;
- _horizontalScroller.y = UIBase(_strand).height - borderMetrics.bottom - _horizontalScroller.height;
- _horizontalScroller.setWidth(hostWidth - (needV ? _verticalScroller.width : 0), true);
-
- ScrollBarModel(_horizontalScroller.model).maximum = contentSize.width;
- ScrollBarModel(_horizontalScroller.model).pageSize = contentArea.width;
- ScrollBarModel(_horizontalScroller.model).pageStepSize = contentArea.width;
-
- if (contentSize.width > contentArea.width &&
- (contentSize.width - contentArea.width) < _horizontalScrollPosition)
- _horizontalScrollPosition = contentSize.width - contentArea.width;
- }
- else if (_horizontalScroller) {
- _horizontalScroller.visible = false;
- }
-
- var rect:flash.geom.Rectangle = new flash.geom.Rectangle(_horizontalScrollPosition, _verticalScrollPosition,
- (_verticalScroller != null && _verticalScroller.visible) ? _verticalScroller.x : hostWidth,
- (_horizontalScroller != null && _horizontalScroller.visible) ? _horizontalScroller.y : hostHeight);
-
- contentArea.$sprite.scrollRect = rect;
- }
-
- private function createVerticalScrollBar():ScrollBar
- {
- var vsbm:ScrollBarModel = new ScrollBarModel();
- vsbm.minimum = 0;
- vsbm.snapInterval = 1;
- vsbm.stepSize = 1;
- vsbm.value = 0;
-
- var vsb:VScrollBar;
- vsb = new VScrollBar();
- vsb.model = vsbm;
- vsb.visible = false;
-
- vsb.addEventListener("scroll",handleVerticalScroll);
- return vsb;
- }
-
- private function createHorizontalScrollBar():ScrollBar
- {
- var hsbm:ScrollBarModel = new ScrollBarModel();
- hsbm.minimum = 0;
- hsbm.snapInterval = 1;
- hsbm.stepSize = 1;
- hsbm.value = 0;
-
- var hsb:HScrollBar;
- hsb = new HScrollBar();
- hsb.model = hsbm;
- hsb.visible = false;
-
- hsb.addEventListener("scroll",handleHorizontalScroll);
- return hsb;
- }
-
- private function handleVerticalScroll(event:Event):void
- {
- var host:UIBase = UIBase(_strand);
- var vpos:Number = ScrollBarModel(_verticalScroller.model).value;
- var rect:flash.geom.Rectangle = contentArea.$sprite.scrollRect;
- rect.y = vpos;
- contentArea.$sprite.scrollRect = rect;
-
- _verticalScrollPosition = vpos;
- }
-
- private function handleHorizontalScroll(event:Event):void
- {
- var host:UIBase = UIBase(_strand);
- var hpos:Number = ScrollBarModel(_horizontalScroller.model).value;
- var rect:flash.geom.Rectangle = contentArea.$sprite.scrollRect;
- rect.x = hpos;
- contentArea.$sprite.scrollRect = rect;
-
- _horizontalScrollPosition = hpos;
- }
-
- private function handleVerticalScrollChange():void
- {
- if (_verticalScroller) {
- ScrollBarModel(_verticalScroller.model).value = verticalScrollPosition;
- }
- }
-
- private function handleHorizontalScrollChange():void
- {
- if (_horizontalScroller) {
- ScrollBarModel(_horizontalScroller.model).value = horizontalScrollPosition;
- }
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as
deleted file mode 100644
index f03b527..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/SpinnerButton.as
+++ /dev/null
@@ -1,31 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.html.TextButton;
-
- public class SpinnerButton extends TextButton
- {
- public function SpinnerButton()
- {
- super();
- className = 'SpinnerButton';
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
deleted file mode 100644
index cea7673..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ /dev/null
@@ -1,180 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- COMPILE::SWF
- {
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.CSSTextField;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
- }
- import org.apache.flex.events.Event;
- import org.apache.flex.html.beads.ITextItemRenderer;
-
- /**
- * The StringItemRenderer class displays data in string form using the data's toString()
- * function.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class StringItemRenderer extends DataItemRenderer implements ITextItemRenderer
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function StringItemRenderer()
- {
- super();
-
- COMPILE::SWF
- {
- textField = new CSSTextField();
- textField.type = TextFieldType.DYNAMIC;
- textField.autoSize = TextFieldAutoSize.LEFT;
- textField.selectable = false;
- textField.parentDrawsBackground = true;
- }
- }
-
- COMPILE::SWF
- public var textField:CSSTextField;
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function addedToParent():void
- {
- super.addedToParent();
-
- $sprite.addChild(textField);
-
- adjustSize();
- }
-
- /**
- * @private
- */
- COMPILE::SWF
- override public function adjustSize():void
- {
- var cy:Number = height/2;
-
- textField.x = 0;
- textField.y = cy - textField.height/2;
- textField.width = width;
-
- updateRenderer();
- }
-
- /**
- * The text currently displayed by the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get text():String
- {
- COMPILE::SWF
- {
- return textField.text;
- }
- COMPILE::JS
- {
- return this.element.innerHTML;
- }
- }
-
- public function set text(value:String):void
- {
- COMPILE::SWF
- {
- textField.text = value;
- }
- COMPILE::JS
- {
- this.element.innerHTML = value;
- }
- }
-
- /**
- * Sets the data value and uses the String version of the data for display.
- *
- * @param Object data The object being displayed by the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set data(value:Object):void
- {
- super.data = value;
- var text:String;
- if (labelField) text = String(value[labelField]);
- else if (dataField) text = String(value[dataField]);
- else text = String(value);
-
- this.text = text;
- }
-
- COMPILE::JS
- private var controller:ItemRendererMouseController;
-
- COMPILE::JS
- private var backgroundView:WrappedHTMLElement;
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElement('span') as WrappedHTMLElement;
- positioner = element;
- //positioner.style.position = 'relative';
-
- element.flexjs_wrapper = this;
- className = 'StringItemRenderer';
-
- // itemRenderers should provide something for the background to handle
- // the selection and highlight
- backgroundView = element;
-
- return element;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
deleted file mode 100644
index 5965a17..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
+++ /dev/null
@@ -1,555 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- COMPILE::SWF
- {
- import flash.display.DisplayObject;
- import flash.text.TextFieldType;
- }
-
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IBeadController;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.utils.MouseEventConverter;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.html.beads.ITextItemRenderer;
- import org.apache.flex.utils.CSSContainerUtils;
-
- /**
- * The TextFieldItemRenderer class provides a org.apache.flex.html.TextField as an itemRenderer.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class TextFieldItemRenderer extends CSSTextField implements /*ITextItemRenderer, */IStrand/*, IUIBase*/
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TextFieldItemRenderer()
- {
- super();
- COMPILE::SWF {
- type = TextFieldType.DYNAMIC;
- }
- selectable = false;
-
- MouseEventConverter.setupInstanceConverters(this);
- }
-
- public var highlightColor:uint = 0xCEDBEF;
- public var selectedColor:uint = 0xA8C6EE;
- public var downColor:uint = 0x808080;
-
- private var _explicitWidth:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitWidth():Number
- {
- if (isNaN(_explicitWidth))
- {
- var value:* = ValuesManager.valuesImpl.getValue(this, "width");
- if (value !== undefined) {
- _explicitWidth = Number(value);
- }
- }
-
- return _explicitWidth;
- }
-
- /**
- * @private
- */
- public function set explicitWidth(value:Number):void
- {
- if (_explicitWidth == value)
- return;
-
- // width can be pixel or percent not both
- if (!isNaN(value))
- _percentWidth = NaN;
-
- _explicitWidth = value;
-
- dispatchEvent(new Event("explicitWidthChanged"));
- }
-
- private var _explicitHeight:Number;
-
- /**
- * The explicitly set width (as opposed to measured width
- * or percentage width).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get explicitHeight():Number
- {
- if (isNaN(_explicitHeight))
- {
- var value:* = ValuesManager.valuesImpl.getValue(this, "height");
- if (value !== undefined) {
- _explicitHeight = Number(value);
- }
- }
-
- return _explicitHeight;
- }
-
- /**
- * @private
- */
- public function set explicitHeight(value:Number):void
- {
- if (_explicitHeight == value)
- return;
-
- // height can be pixel or percent not both
- if (!isNaN(value))
- _percentHeight = NaN;
-
- _explicitHeight = value;
-
- dispatchEvent(new Event("explicitHeightChanged"));
- }
-
- private var _percentWidth:Number;
-
- /**
- * The requested percentage width this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set widths.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentWidth():Number
- {
- return _percentWidth;
- }
-
- /**
- * @private
- */
- public function set percentWidth(value:Number):void
- {
- if (_percentWidth == value)
- return;
-
- if (!isNaN(value))
- _explicitWidth = NaN;
-
- _percentWidth = value;
-
- dispatchEvent(new Event("percentWidthChanged"));
- }
-
- private var _percentHeight:Number;
-
- /**
- * The requested percentage height this component
- * should have in the parent container. Note that
- * the actual percentage may be different if the
- * total is more than 100% or if there are other
- * components with explicitly set heights.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get percentHeight():Number
- {
- return _percentHeight;
- }
-
- /**
- * @private
- */
- public function set percentHeight(value:Number):void
- {
- if (_percentHeight == value)
- return;
-
- if (!isNaN(value))
- _explicitHeight = NaN;
-
- _percentHeight = value;
-
- dispatchEvent(new Event("percentHeightChanged"));
- }
-
- private var _width:Number;
-
- /**
- * @private
- */
- override public function get width():Number
- {
- if (isNaN(explicitWidth))
- {
- var w:Number = _width;
- if (isNaN(w)) w = $width;
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(this);
- return w + metrics.left + metrics.right;
- }
- else
- return explicitWidth;
- }
- override public function set width(value:Number):void
- {
- if (explicitWidth != value)
- {
- explicitWidth = value;
- }
-
- if (value != _width) {
- _width = value;
- dispatchEvent( new Event("widthChanged") );
- }
- }
-
- /**
- * @private
- */
- protected function get $width():Number
- {
- return super.width;
- }
-
- private var _height:Number;
-
- /**
- * @private
- */
- override public function get height():Number
- {
- if (isNaN(explicitHeight))
- {
- var h:Number = _height;
- if (isNaN(h)) h = $height;
- var metrics:Rectangle = CSSContainerUtils.getBorderAndPaddingMetrics(this);
- return h + metrics.top + metrics.bottom;
- }
- else
- return explicitHeight;
- }
-
- override public function set height(value:Number):void
- {
- if (explicitHeight != value)
- {
- explicitHeight = value;
- }
-
- if (_height != value) {
- _height = value;
- dispatchEvent(new Event("heightChanged"));
- }
- }
-
- /**
- * @private
- */
- protected function get $height():Number
- {
- return super.height;
- }
-
- /**
- * The String(data) for the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get data():Object
- {
- return text;
- }
- public function set data(value:Object):void
- {
- text = String(value);
- }
-
- private var _listData:Object;
-
- /**
- * Additional data about the list the itemRenderer may find useful.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get listData():Object
- {
- return _listData;
- }
- public function set listData(value:Object):void
- {
- _listData = value;
- }
-
- /**
- * @private
- */
- public function get labelField():String
- {
- return null;
- }
- public function set labelField(value:String):void
- {
- // nothing to do for this
- }
-
- private var _index:int;
-
- /**
- * An index value for the itemRenderer corresponding the data's position with its dataProvider.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get index():int
- {
- return _index;
- }
- public function set index(value:int):void
- {
- _index = value;
- }
-
- private var _hovered:Boolean;
-
- /**
- * Returns whether or not the itemRenderer is a "hovered" state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get hovered():Boolean
- {
- return _hovered;
- }
- public function set hovered(value:Boolean):void
- {
- _hovered = value;
- updateRenderer();
- }
-
- private var _selected:Boolean;
-
- /**
- * Whether or not the itemRenderer should be represented in a selected state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return _selected;
- }
- public function set selected(value:Boolean):void
- {
- _selected = value;
- updateRenderer();
- }
-
- private var _down:Boolean;
-
- /**
- * Whether or not the itemRenderer should be represented in a down (or pre-selected) state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get down():Boolean
- {
- return _down;
- }
- public function set down(value:Boolean):void
- {
- _down = value;
- updateRenderer();
- }
-
- private var _itemRendererParent:Object;
-
- /**
- * The parent component of the itemRenderer instance. This is the container that houses
- * all of the itemRenderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererParent():Object
- {
- return _itemRendererParent;
- }
- public function set itemRendererParent(value:Object):void
- {
- _itemRendererParent = value;
- }
-
- /**
- * @private
- */
- public function updateRenderer():void
- {
- background = (down || selected || hovered);
- if (down)
- backgroundColor = downColor;
- else if (hovered)
- backgroundColor = highlightColor;
- else if (selected)
- backgroundColor = selectedColor;
- }
-
- // beads declared in MXML are added to the strand.
- // from AS, just call addBead()
- public var beads:Array;
-
- private var _beads:Vector.<IBead>;
-
- /**
- * @private
- */
- public function addBead(bead:IBead):void
- {
- if (!_beads)
- _beads = new Vector.<IBead>;
- _beads.push(bead);
- bead.strand = this;
- }
-
- /**
- * @private
- */
- public function getBeadByType(classOrInterface:Class):IBead
- {
- for each (var bead:IBead in _beads)
- {
- if (bead is classOrInterface)
- return bead;
- }
- return null;
- }
-
- /**
- * @private
- */
- public function removeBead(value:IBead):IBead
- {
- var n:int = _beads.length;
- for (var i:int = 0; i < n; i++)
- {
- var bead:IBead = _beads[i];
- if (bead == value)
- {
- _beads.splice(i, 1);
- return bead;
- }
- }
- return null;
- }
-
- /**
- * @private
- */
- public function addedToParent():void
- {
- var c:Class;
-
- for each (var bead:IBead in beads)
- addBead(bead);
-
- dispatchEvent(new Event("beadsAdded"));
-
- // renderer has a default model (the 'data' property)
- // and it is essentially a view of that model, so it
- // only needs an assignable controller
-
- if (getBeadByType(IBeadController) == null)
- {
- c = ValuesManager.valuesImpl.getValue(this, "iBeadController") as Class;
- if (c)
- {
- var controller:IBeadController = new c as IBeadController;
- if (controller)
- addBead(controller);
- }
- }
- }
-
- /**
- * @copy org.apache.flex.core.IUIBase#topMostEventDispatcher
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get topMostEventDispatcher():IEventDispatcher
- {
- if (!parent)
- return null;
- return IUIBase(parent).topMostEventDispatcher;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as
deleted file mode 100644
index 7250e82..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeItemRenderer.as
+++ /dev/null
@@ -1,64 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- public class TreeItemRenderer extends StringItemRenderer
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TreeItemRenderer()
- {
- super();
- }
-
- /**
- * Sets the data for the itemRenderer instance along with the listData
- * (TreeListData).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function set data(value:Object):void
- {
- super.data = value;
-
- var treeData:TreeListData = listData as TreeListData;
- var indentSpace:String = " ";
-
- COMPILE::JS {
- indentSpace = " "
- }
-
- var indent:String = treeData.hasChildren ? (treeData.isOpen ? "â–¼" : "â–¶") : " ";
- for (var i:int=0; i < treeData.depth; i++) {
- indent += indentSpace;
- }
-
- this.text = indent + this.text;
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as
deleted file mode 100644
index c6da4d5..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/TreeListData.as
+++ /dev/null
@@ -1,76 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- /**
- * The TreeListData class contains information that Tree item renderers may
- * find useful when displaying the data for a node in the tree.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignoreimport goog.events.Event
- */
- public class TreeListData
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function TreeListData()
- {
- }
-
- /**
- * The depth of the data within the tree with the root being zero.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var depth:Number;
-
- /**
- * Whether or not the node for this data is open (and its children
- * visible).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var isOpen:Boolean;
-
- /**
- * Whether or not the node for this data has any children.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var hasChildren:Boolean;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
deleted file mode 100644
index d7826de..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/UIItemRendererBase.as
+++ /dev/null
@@ -1,302 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.ISelectableItemRenderer;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.utils.MXMLDataInterpreter;
-
- [DefaultProperty("mxmlContent")]
-
- /**
- * The UIItemRendererBase class is the base class for all itemRenderers. An itemRenderer is used to
- * display a single datum within a collection of data. Components such as a List use itemRenderers to
- * show their dataProviders.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class UIItemRendererBase extends UIBase implements ISelectableItemRenderer
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function UIItemRendererBase()
- {
- }
-
- /**
- * @private
- */
- override public function addedToParent():void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, mxmlProperties);
- MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
-
- super.addedToParent();
-
- // very common for item renderers to be resized by their containers,
- addEventListener("widthChanged", sizeChangeHandler);
- addEventListener("heightChanged", sizeChangeHandler);
- addEventListener("sizeChanged", sizeChangeHandler);
-
- // each MXML file can also have styles in fx:Style block
- ValuesManager.valuesImpl.init(this);
- dispatchEvent(new Event("initBindings"));
- dispatchEvent(new Event("initComplete"));
-
- }
-
- private var _itemRendererParent:Object;
-
- /**
- * The parent container for the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRendererParent():Object
- {
- return _itemRendererParent;
- }
- public function set itemRendererParent(value:Object):void
- {
- _itemRendererParent = value;
- }
-
- /**
- * @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var mxmlContent:Array;
-
- /**
- * @private
- */
- public function get MXMLDescriptor():Array
- {
- return null;
- }
-
- private var mxmlProperties:Array ;
-
- /**
- * @private
- */
- public function generateMXMLAttributes(data:Array):void
- {
- mxmlProperties = data;
- }
-
- public var backgroundColor:uint = 0xFFFFFF;
- public var highlightColor:uint = 0xCEDBEF;
- public var selectedColor:uint = 0xA8C6EE;
- public var downColor:uint = 0x808080;
- protected var useColor:uint = backgroundColor;
-
- private var _data:Object;
-
- [Bindable("__NoChangeEvent__")]
- /**
- * The data being represented by this itemRenderer. This can be something simple like a String or
- * a Number or something very complex.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get data():Object
- {
- return _data;
- }
- public function set data(value:Object):void
- {
- _data = value;
- }
-
- private var _listData:Object;
-
- [Bindable("__NoChangeEvent__")]
- /**
- * Additional data about the list structure the itemRenderer may
- * find useful.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get listData():Object
- {
- return _listData;
- }
- public function set listData(value:Object):void
- {
- _listData = value;
- }
-
- private var _labelField:String = "label";
-
- /**
- * The name of the field within the data to use as a label. Some itemRenderers use this field to
- * identify the value they should show while other itemRenderers ignore this if they are showing
- * complex information.
- */
- public function get labelField():String
- {
- return _labelField;
- }
- public function set labelField(value:String):void
- {
- _labelField = value;
- }
-
- private var _index:int;
-
- /**
- * The position with the dataProvider being shown by the itemRenderer instance.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get index():int
- {
- return _index;
- }
- public function set index(value:int):void
- {
- _index = value;
- }
-
- private var _hovered:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a hovered state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get hovered():Boolean
- {
- return _hovered;
- }
- public function set hovered(value:Boolean):void
- {
- _hovered = value;
- updateRenderer();
- }
-
- private var _selected:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a selected state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get selected():Boolean
- {
- return _selected;
- }
- public function set selected(value:Boolean):void
- {
- _selected = value;
- updateRenderer();
- }
-
- private var _down:Boolean;
-
- /**
- * Whether or not the itemRenderer is in a down (or pre-selected) state.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get down():Boolean
- {
- return _down;
- }
- public function set down(value:Boolean):void
- {
- _down = value;
- updateRenderer();
- }
-
- /**
- * @private
- */
- public function updateRenderer():void
- {
- if (down)
- useColor = downColor;
- else if (hovered)
- useColor = highlightColor;
- else if (selected)
- useColor = selectedColor;
- else
- useColor = backgroundColor;
- }
-
- /**
- * @private
- */
- private function sizeChangeHandler(event:Event):void
- {
- adjustSize();
- }
-
- /**
- * This function is called whenever the itemRenderer changes size. Sub-classes should override
- * this method an handle the size change.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function adjustSize():void
- {
- // handle in subclass
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as
deleted file mode 100644
index a72c64c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/VScrollBar.as
+++ /dev/null
@@ -1,49 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IChrome;
- import org.apache.flex.core.IViewportScroller;
-
- /**
- * The ScrollBar class represents either a vertical or horizontal control
- * that allows the user to quickly scan through a component that does not
- * wholly fit within its container.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class VScrollBar extends ScrollBar implements IChrome, IViewportScroller
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function VScrollBar()
- {
- super();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
deleted file mode 100644
index 875c4d8..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/Viewport.as
+++ /dev/null
@@ -1,181 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.html.supportClasses
-{
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IContentView;
- import org.apache.flex.core.IParentIUIBase;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IViewport;
- import org.apache.flex.core.IViewportModel;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.events.Event;
- import org.apache.flex.geom.Rectangle;
- import org.apache.flex.geom.Size;
- import org.apache.flex.html.beads.models.ScrollBarModel;
- import org.apache.flex.utils.CSSContainerUtils;
- COMPILE::SWF
- {
- import flash.geom.Rectangle;
- }
-
- /**
- * A Viewport is the area of a Container set aside for displaying
- * content. If the content exceeds the visible area of the viewport
- * it will be clipped or hidden.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class Viewport implements IBead, IViewport
- {
- /**
- * Constructor
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Viewport()
- {
- }
-
- protected var contentArea:UIBase;
-
- /**
- * Get the actual parent of the container's content.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get contentView():IUIBase
- {
- return contentArea;
- }
-
- protected var _strand:IStrand;
-
- /**
- * @flexjsignorecoercion Class
- */
- COMPILE::SWF
- public function set strand(value:IStrand):void
- {
- _strand = value;
- contentArea = _strand.getBeadByType(IContentView) as UIBase;
- if (!contentArea)
- {
- var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
- contentArea = new c() as UIBase;
- _strand.addBead(contentArea as IBead);
- }
- }
-
- /**
- * @flexjsignorecoercion Class
- */
- COMPILE::JS
- public function set strand(value:IStrand):void
- {
- _strand = value;
-
- contentArea = _strand.getBeadByType(IContentView) as UIBase;
- if (!contentArea)
- {
- var c:Class = ValuesManager.valuesImpl.getValue(_strand, 'iContentView') as Class;
- if (c != null) {
- var result:Object = new c();
- if (result != null) {
- contentArea = result as UIBase;
- _strand.addBead(contentArea as IBead);
- }
- }
- }
-
- if (contentArea == null) {
- contentArea = value as UIBase;
- }
-
- contentArea.element.style.overflow = "hidden";
- }
-
- /**
- * @copy org.apache.flex.core.IViewport#setPosition()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function setPosition(x:Number, y:Number):void
- {
- COMPILE::SWF {
- contentArea.x = x;
- contentArea.y = y;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IViewport#layoutViewportBeforeContentLayout()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function layoutViewportBeforeContentLayout(width:Number, height:Number):void
- {
- COMPILE::SWF {
- if (!isNaN(width))
- contentArea.width = width;
- if (!isNaN(height))
- contentArea.height = height;
- }
- }
-
- /**
- * @copy org.apache.flex.core.IViewport#layoutViewportAfterContentLayout()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function layoutViewportAfterContentLayout(contentSize:Size):void
- {
- COMPILE::SWF {
- var hostWidth:Number = UIBase(_strand).width;
- var hostHeight:Number = UIBase(_strand).height;
-
- var rect:flash.geom.Rectangle = new flash.geom.Rectangle(0, 0, hostWidth, hostHeight);
- contentArea.$sprite.scrollRect = rect;
-
- return;
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as
deleted file mode 100644
index c03793c..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/BinaryImage.as
+++ /dev/null
@@ -1,87 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
- import org.apache.flex.core.IBinaryImage;
- import org.apache.flex.core.IBinaryImageModel;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.core.IBinaryImageLoader;
- import org.apache.flex.utils.BinaryData;
-
- /**
- * The Image class is a component that displays a bitmap. The Image uses
- * the following beads:
- *
- * org.apache.flex.core.IBeadModel: the data model for the Image, including the url/binary property.
- * org.apache.flex.core.IBeadView: constructs the visual elements of the component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class BinaryImage extends Image implements IBinaryImage
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function BinaryImage()
- {
- super();
- }
-
- override public function addedToParent():void
- {
- var c:Class = ValuesManager.valuesImpl.getValue(this, "iBinaryImageLoader") as Class;
- if (c)
- {
- if (c)
- {
- var loader:IBinaryImageLoader = (new c()) as IBinaryImageLoader;
- addBead(loader);
- }
- }
- super.addedToParent();
- }
-
- /**
- * The binary bitmap data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.IImageModel
- */
- public function get binary():BinaryData
- {
- return (model as IBinaryImageModel).binary;
- }
- public function set binary(value:BinaryData):void
- {
- (model as IBinaryImageModel).binary = value;
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as
deleted file mode 100644
index 8f8876a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Circle.as
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.graphics.ICircle;
- import org.apache.flex.graphics.IDrawable;
-
- COMPILE::SWF
- {
- import flash.display.Graphics;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- public class Circle extends GraphicShape implements ICircle, IDrawable
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- */
- public function Circle(cx:Number=0, cy:Number=0, r:Number=0)
- {
- x = cx;
- y = cy;
- radius = r;
- }
-
- private var _radius:Number;
-
- public function get radius():Number
- {
- return _radius;
- }
-
- public function set radius(value:Number):void
- {
- _radius = value;
- }
-
- COMPILE::JS
- private var _circle:WrappedHTMLElement;
-
- /**
- * Draw the circle.
- * @param cx The x location of the center of the circle
- * @param cy The y location of the center of the circle.
- * @param radius The radius of the circle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion SVGCircleElement
- */
- public function drawCircle(cx:Number, cy:Number, radius:Number):void
- {
- COMPILE::SWF
- {
- $sprite.graphics.clear();
- applyStroke();
- beginFill(new Rectangle(cx,cy,radius*2, radius*2),new Point(cx-radius,cy-radius));
- $sprite.graphics.drawCircle(cx+radius,cy+radius,radius);
- endFill();
- }
- COMPILE::JS
- {
- var style:String = getStyleStr();
-
- if (_circle == null) {
- _circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle') as WrappedHTMLElement;
- _circle.flexjs_wrapper = this;
- element.appendChild(_circle);
- }
- _circle.setAttribute('style', style);
- if (stroke)
- {
- _circle.setAttribute('cx', radius + stroke.weight);
- _circle.setAttribute('cy', radius + stroke.weight);
- }
- else
- {
- _circle.setAttribute('cx', radius);
- _circle.setAttribute('cy', radius);
- }
-
- _circle.setAttribute('r', radius);
-
- resize(x-radius, y-radius, (_circle as SVGCircleElement).getBBox());
-
- }
- }
-
- override protected function drawImpl():void
- {
- drawCircle(0, 0, radius);
- }
-
- public function draw():void
- {
- drawImpl();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as
deleted file mode 100644
index 0565eae..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/CompoundGraphic.as
+++ /dev/null
@@ -1,584 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.graphics.ICompoundGraphic;
- import org.apache.flex.graphics.IFill;
- import org.apache.flex.graphics.IStroke;
- import org.apache.flex.graphics.PathBuilder;
- import org.apache.flex.graphics.SolidColor;
-
- COMPILE::SWF
- {
- import flash.display.GraphicsPath;
- import flash.display.Shape;
- import flash.display.Sprite;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import flash.text.TextFieldType;
-
- import org.apache.flex.core.CSSTextField;
- import org.apache.flex.graphics.utils.PathHelper;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * CompoundGraphic is a surface on which you can
- * draw various graphic elements such as Rect, Circle,
- * Ellipse, Path etc.
- * Use this class if you want to draw multiple graphic
- * shapes on a single container.
- *
- */
- public class CompoundGraphic extends GraphicShape implements ICompoundGraphic
- {
- private var _textFill:IFill;
-
- public function get textFill():IFill
- {
- return _textFill;
- }
- /**
- * The color of the text.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.0
- */
- public function set textFill(value:IFill):void
- {
- _textFill = value;
- }
-
- private var _textStroke:IStroke;
-
- public function get textStroke():IStroke
- {
- return _textStroke;
- }
- /**
- * The stroke color of the text.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.0
- */
- public function set textStroke(value:IStroke):void
- {
- _textStroke = value;
- }
-
- /**
- * Removes all of the drawn elements of the container.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0.3
- */
- public function removeAllElements():void
- {
- clear();
- }
-
- /**
- * Clears all of the drawn path data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7.0
- */
- public function clear():void
- {
- COMPILE::SWF
- {
- $sprite.graphics.clear();
- $sprite.removeChildren();
- }
- COMPILE::JS
- {
- var svg:HTMLElement = element;
- while (svg.lastChild) {
- svg.removeChild(svg.lastChild);
- }
- }
- }
-
- /**
- * Draw the rectangle.
- * @param x The x position of the top-left corner of the rectangle.
- * @param y The y position of the top-left corner.
- * @param width The width of the rectangle.
- * @param height The height of the rectangle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0.3
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawRect(x:Number, y:Number, width:Number, height:Number):void
- {
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x, y, width, height), new Point(x,y) );
- $sprite.graphics.drawRect(x, y, width, height);
- endFill();
- }
- COMPILE::JS
- {
- drawRoundRect(x, y, width, height, NaN);
- }
- }
-
- /**
- * Draws a rounded rectangle.
- * Note: The radius values are different than the Flash API of the same name. Flash uses diameter instead of radius.
- * @param x The x position of the top-left corner of the rectangle.
- * @param y The y position of the top-left corner.
- * @param width The width of the rectangle.
- * @param height The height of the rectangle.
- * @param radiusX The horizontal radius of the rounded corners (in pixels).
- * @param radiusY The vertical radius of the rounded corners (in pixels). Optional; if no value is specified, the default value matches that provided for the <code>radiusX</code> parameter.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0.3
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawRoundRect(x:Number, y:Number, width:Number, height:Number, radiusX:Number, radiusY:Number = NaN):void
- {
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x,y,width,height), new Point(x,y));
- radiusX *=2;
- radiusY = isNaN(radiusY) ? radiusY : radiusY*2;
- $sprite.graphics.drawRoundRect(x,y,width,height,radiusX,radiusY);
- endFill();
- }
- COMPILE::JS
- {
- if(isNaN(radiusY))
- radiusY = radiusX;
-
- var style:String = getStyleStr();
- var rect:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
- rect.flexjs_wrapper = this;
- rect.style.left = x + "px";
- rect.style.top = y + "px";
- rect.setAttribute('style', style);
- rect.setAttribute('x', x);
- rect.setAttribute('y', y);
- rect.setAttribute('width', width);
- rect.setAttribute('height', height);
- if(!isNaN(radiusX))
- {
- rect.setAttribute('rx', radiusX);
- rect.setAttribute('ry', radiusY);
- }
- element.appendChild(rect);
- }
-
- }
-
- /**
- * Draw the ellipse.
- * @param x The x position of the top-left corner of the bounding box of the ellipse.
- * @param y The y position of the top-left corner of the bounding box of the ellipse.
- * @param width The width of the ellipse.
- * @param height The height of the ellipse.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0.3
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawEllipse(x:Number, y:Number, width:Number, height:Number):void
- {
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x,y,width,height), new Point(x,y));
- $sprite.graphics.drawEllipse(x,y,width,height);
- endFill();
- }
- COMPILE::JS
- {
- var style:String = getStyleStr();
- var ellipse:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
- ellipse.flexjs_wrapper = this;
- ellipse.style.left = x + "px";
- ellipse.style.top = y + "px";
- ellipse.setAttribute('style', style);
- ellipse.setAttribute('cx', x + width / 2);
- ellipse.setAttribute('cy', y + height / 2);
- ellipse.setAttribute('rx', width / 2);
- ellipse.setAttribute('ry', height / 2);
- element.appendChild(ellipse);
- }
- }
-
- /**
- * Draw the circle.
- * @param x The x location of the center of the circle
- * @param y The y location of the center of the circle.
- * @param radius The radius of the circle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawCircle(x:Number, y:Number, radius:Number):void
- {
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x,y,radius*2, radius*2),new Point(x-radius,y-radius));
- $sprite.graphics.drawCircle(x,y,radius);
- endFill();
- }
- COMPILE::JS
- {
- var style:String = getStyleStr();
- var circle:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
- circle.flexjs_wrapper = this;
- circle.style.left = x + "px";
- circle.style.top = y + "px";
- circle.setAttribute('style', style);
- circle.setAttribute('cx', x);
- circle.setAttribute('cy', y);
- circle.setAttribute('rx', radius);
- circle.setAttribute('ry', radius);
- element.appendChild(circle);
-
- }
- }
-
- /**
- * Draw the path.
- * @param data A PathBuilder object containing a vector of drawing commands.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawPathCommands(data:PathBuilder):void
- {
- drawStringPath(data.getPathString());
- }
-
- /**
- * Draw the path.
- * @param data A string containing a compact represention of the path segments.
- * The value is a space-delimited string describing each path segment. Each
- * segment entry has a single character which denotes the segment type and
- * two or more segment parameters.
- *
- * If the segment command is upper-case, the parameters are absolute values.
- * If the segment command is lower-case, the parameters are relative values.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawStringPath(data:String):void
- {
- COMPILE::SWF
- {
- applyStroke();
- var bounds:Rectangle = PathHelper.getBounds(data);
- beginFill(bounds,bounds.topLeft);
- var graphicsPath:GraphicsPath = PathHelper.getSegments(data);
- $sprite.graphics.drawPath(graphicsPath.commands, graphicsPath.data);
- endFill();
- }
- COMPILE::JS
- {
- var style:String = getStyleStr();
- var path:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
- path.flexjs_wrapper = this;
- path.style.left = "0px";
- path.style.top = "0px";
- path.setAttribute('style', style);
- path.setAttribute('d', data);
- element.appendChild(path);
- }
- }
-
- public function drawLine():void
- {
-
- }
-
- public function drawPolygon():void
- {
-
- }
-
-
- /**
- * Draws a rounded rectangle using the size of a radius to draw the rounded corners.
- * You must set the line style, fill, or both
- * on the Graphics object before
- * you call the <code>drawRoundRectComplex()</code> method
- * by calling the <code>linestyle()</code>,
- * <code>lineGradientStyle()</code>, <code>beginFill()</code>,
- * <code>beginGradientFill()</code>, or
- * <code>beginBitmapFill()</code> method.
- *
- * @param x The horizontal position relative to the
- * registration point of the parent display object, in pixels.
- *
- * @param y The vertical position relative to the
- * registration point of the parent display object, in pixels.
- *
- * @param width The width of the round rectangle, in pixels.
- *
- * @param height The height of the round rectangle, in pixels.
- *
- * @param topLeftRadius The radius of the upper-left corner, in pixels.
- *
- * @param topRightRadius The radius of the upper-right corner, in pixels.
- *
- * @param bottomLeftRadius The radius of the bottom-left corner, in pixels.
- *
- * @param bottomRightRadius The radius of the bottom-right corner, in pixels.
- *
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion Flex 3
- */
- public function drawRoundRectComplex(x:Number, y:Number,
- width:Number, height:Number,
- topLeftRadius:Number, topRightRadius:Number,
- bottomLeftRadius:Number, bottomRightRadius:Number):void
- {
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x,y,width,height), new Point(x,y));
- $sprite.graphics.drawRoundRectComplex(x,y,width,height,topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius);
- endFill();
- }
- COMPILE::JS
- {
- var builder:PathBuilder = new PathBuilder();
- builder.drawRoundRectComplex(x, y, width, height, topLeftRadius, topRightRadius, bottomLeftRadius, bottomRightRadius);
- drawStringPath(builder.getPathString());
- }
-
-
- }
-
- /**
- * Draws a rounded rectangle using the size of individual x and y radii to
- * draw the rounded corners.
- * You must set the line style, fill, or both
- * on the Graphics object before
- * you call the <code>drawRoundRectComplex2()</code> method
- * by calling the <code>linestyle()</code>,
- * <code>lineGradientStyle()</code>, <code>beginFill()</code>,
- * <code>beginGradientFill()</code>, or
- * <code>beginBitmapFill()</code> method.
- *
- * @param graphics The Graphics object that draws the rounded rectangle.
- *
- * @param x The horizontal position relative to the
- * registration point of the parent display object, in pixels.
- *
- * @param y The vertical position relative to the
- * registration point of the parent display object, in pixels.
- *
- * @param width The width of the round rectangle, in pixels.
- *
- * @param height The height of the round rectangle, in pixels.
- *
- * @param radiusX The default radiusX to use, if corner-specific values are not specified.
- * This value must be specified.
- *
- * @param radiusY The default radiusY to use, if corner-specific values are not specified.
- * If 0, the value of radiusX is used.
- *
- * @param topLeftRadiusX The x radius of the upper-left corner, in pixels. If NaN,
- * the value of radiusX is used.
- *
- * @param topLeftRadiusY The y radius of the upper-left corner, in pixels. If NaN,
- * the value of topLeftRadiusX is used.
- *
- * @param topRightRadiusX The x radius of the upper-right corner, in pixels. If NaN,
- * the value of radiusX is used.
- *
- * @param topRightRadiusY The y radius of the upper-right corner, in pixels. If NaN,
- * the value of topRightRadiusX is used.
- *
- * @param bottomLeftRadiusX The x radius of the bottom-left corner, in pixels. If NaN,
- * the value of radiusX is used.
- *
- * @param bottomLeftRadiusY The y radius of the bottom-left corner, in pixels. If NaN,
- * the value of bottomLeftRadiusX is used.
- *
- * @param bottomRightRadiusX The x radius of the bottom-right corner, in pixels. If NaN,
- * the value of radiusX is used.
- *
- * @param bottomRightRadiusY The y radius of the bottom-right corner, in pixels. If NaN,
- * the value of bottomRightRadiusX is used.
- *
- *
- * @langversion 3.0
- * @playerversion Flash 10
- * @playerversion AIR 1.5
- * @productversion Flex 4
- */
- public function drawRoundRectComplex2(x:Number, y:Number,
- width:Number, height:Number,
- radiusX:Number, radiusY:Number,
- topLeftRadiusX:Number, topLeftRadiusY:Number,
- topRightRadiusX:Number, topRightRadiusY:Number,
- bottomLeftRadiusX:Number, bottomLeftRadiusY:Number,
- bottomRightRadiusX:Number, bottomRightRadiusY:Number):void
- {
- var builder:PathBuilder = new PathBuilder();
- builder.drawRoundRectComplex2(x, y, width, height, radiusX, radiusY,topLeftRadiusX, topLeftRadiusY,topRightRadiusX, topRightRadiusY,bottomLeftRadiusX, bottomLeftRadiusY,bottomRightRadiusX, bottomRightRadiusY);
-
- COMPILE::SWF
- {
- applyStroke();
- beginFill(new Rectangle(x,y,width,height), new Point(x,y));
- builder.draw($sprite.graphics);
- endFill();
- }
- COMPILE::JS
- {
- drawStringPath(builder.getPathString());
- }
- }
-
- /*
- What about these?
- beginBitmapFill
- beginFill
- beginGradientFill
- beginShaderFill
- drawGraphicsData
- drawRoundRect
- drawTriangles
- */
-
- /**
- * Draw a string of characters.
- * @param value The string to draw.
- * @param x The x location of the center of the circle
- * @param y The y location of the center of the circle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion Text
- * @flexjsignorecoercion Node
- */
- public function drawText(value:String, x:Number, y:Number):Object
- {
- COMPILE::SWF
- {
- var textField:CSSTextField = new CSSTextField();
- $sprite.addChild(textField);
-
- textField.selectable = false;
- textField.type = TextFieldType.DYNAMIC;
- textField.mouseEnabled = false;
- textField.autoSize = "left";
- textField.text = value;
-
- var color:SolidColor = textFill as SolidColor;
- if (color) {
- textField.textColor = color.color;
- textField.alpha = color.alpha;
- }
-
- textField.x = x;
- textField.y = y + textField.textHeight/4;
-
- return textField;
-
- }
- COMPILE::JS
- {
- var style:String = getTxtStyleStr();
- var text:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
- text.flexjs_wrapper = this;
- text.style.left = x + "px";
- text.style.top = y + "px";
- text.setAttribute('style', style);
- text.setAttribute('x', x);
- text.setAttribute('y', y + 15);
- var textNode:Text = document.createTextNode(value) as Text;
- text.appendChild(textNode as Node);
- element.appendChild(text);
- return text;
- }
- }
-
- /**
- * @return {string} The style attribute.
- */
- COMPILE::JS
- public function getTxtStyleStr():String
- {
- var fillStr:String;
- if (textFill)
- {
- fillStr = textFill.addFillAttrib(this);
- }
- else
- {
- fillStr = 'fill:none';
- }
-
- var strokeStr:String;
- if (textStroke)
- {
- strokeStr = textStroke.addStrokeAttrib(this);
- }
- else
- {
- strokeStr = 'stroke:none';
- }
- return fillStr + ';' + strokeStr;
-
-
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as
deleted file mode 100644
index 1b5d09a..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/DOMWrapper.as
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed 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.svg
-{
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- import org.apache.flex.core.ContainerBase;
-
- public class DOMWrapper extends ContainerBase
- {
-
- /**
- * Constructor
- *
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function DOMWrapper()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject') as WrappedHTMLElement;
- element.flexjs_wrapper = this;
- element.style.left = "0px";
- element.style.top = "0px";
- //element.offsetParent = null;
- positioner = element;
- //positioner.style.position = 'relative';
-
- return element;
- }
-
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as
deleted file mode 100644
index 2c25c61..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Ellipse.as
+++ /dev/null
@@ -1,175 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
- import org.apache.flex.graphics.IDrawable;
- import org.apache.flex.graphics.IEllipse;
-
- COMPILE::SWF
- {
- import flash.geom.Point;
- import flash.geom.Rectangle;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- public class Ellipse extends GraphicShape implements IEllipse, IDrawable
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- */
- public function Ellipse(cx:Number=0, cy:Number=0, rx:Number=0, ry:Number=0)
- {
- x = cx;
- y = cy;
- this.rx = rx;
- this.ry = ry;
- }
-
- private var _rx:Number;
-
- /**
- * The horizontal radius of the ellipse.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.7
- */
- public function get rx():Number
- {
- return _rx;
- }
-
- public function set rx(value:Number):void
- {
- _rx = value;
- }
-
- private var _ry:Number;
-
- /**
- * The vertical radius of the ellipse.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.7
- */
- public function get ry():Number
- {
- return _ry;
- }
-
- public function set ry(value:Number):void
- {
- _ry = value;
- }
-
- override public function get width():Number
- {
- return _rx*2;
- }
-
- override public function set width(value:Number):void
- {
- _rx = value/2;
- }
-
- override public function get height():Number
- {
- return _ry*2;
- }
-
- override public function set height(value:Number):void
- {
- _ry = value/2;
- }
-
- COMPILE::JS
- private var _ellipse:WrappedHTMLElement;
-
- /**
- * Draw the ellipse.
- * @param xp The x position of the top-left corner of the bounding box of the ellipse.
- * @param yp The y position of the top-left corner of the bounding box of the ellipse.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion SVGEllipseElement
- */
- public function drawEllipse(xp:Number, yp:Number):void
- {
- COMPILE::SWF
- {
- $sprite.graphics.clear();
- applyStroke();
- beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
- $sprite.graphics.drawEllipse(xp,yp,width,height);
- endFill();
- }
- COMPILE::JS
- {
- var style:String = getStyleStr();
- if (_ellipse == null) {
- _ellipse = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
- _ellipse.flexjs_wrapper = this;
- element.appendChild(_ellipse);
- }
- _ellipse.setAttribute('style', style);
- if (stroke)
- {
- _ellipse.setAttribute('cx', rx + stroke.weight);
- _ellipse.setAttribute('cy', ry + stroke.weight);
- }
- else
- {
- _ellipse.setAttribute('cx', rx);
- _ellipse.setAttribute('cy', ry);
- }
- _ellipse.setAttribute('rx', rx);
- _ellipse.setAttribute('ry', ry);
-
- resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
-
- }
- }
-
- override protected function drawImpl():void
- {
- drawEllipse(0, 0);
- }
-
- public function draw():void
- {
- drawImpl();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as
deleted file mode 100644
index 8bd841f..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicContainer.as
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.core.ContainerBase;
- import org.apache.flex.core.IChild;
- import org.apache.flex.core.IFlexJSElement;
- import org.apache.flex.core.ITransformHost;
-
- COMPILE::JS
- {
- import org.apache.flex.core.IContainer;
- import org.apache.flex.core.UIBase;
- }
-
- [DefaultProperty("mxmlContent")]
-
- COMPILE::SWF
- public class GraphicContainer extends ContainerBase implements ITransformHost
- {
- public function GraphicContainer()
- {
- super();
- }
-
- }
-
- COMPILE::JS
- public class GraphicContainer extends ContainerBase implements ITransformHost
- {
- private var graphicGroup:ContainerBase;
-
- public function GraphicContainer()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- override protected function createElement():org.apache.flex.core.WrappedHTMLElement
- {
- element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as org.apache.flex.core.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;
-
- graphicGroup = new GraphicGroup();
- super.addElement(graphicGroup);
- return element;
- }
-
- COMPILE::JS
- override protected function setClassName(value:String):void
- {
- element.setAttribute('class', value);
- }
-
- override public function get transformElement():org.apache.flex.core.WrappedHTMLElement
- {
- return graphicGroup.element;
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function getElementAt(index:int):IChild
- {
- return graphicGroup.getElementAt(index);
- }
-
- /**
- * @copy org.apache.flex.core.IParent#addElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- graphicGroup.addElement(c, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenAdded"));
- }
-
- /**
- * @copy org.apache.flex.core.IParent#addElementAt()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function addElementAt(c:IChild, index:int, dispatchEvent:Boolean = true):void
- {
- graphicGroup.addElementAt(c, index, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenAdded"));
- }
-
- /**
- * @copy org.apache.flex.core.IParent#removeElement()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function removeElement(c:IChild, dispatchEvent:Boolean = true):void
- {
- graphicGroup.removeElement(c, dispatchEvent);
- if (dispatchEvent)
- this.dispatchEvent(new Event("childrenRemoved"));
- }
-
- /**
- * @copy org.apache.flex.core.IParent#getElementIndex()
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function getElementIndex(c:IChild):int
- {
- return graphicGroup.getElementIndex(c);
- }
-
-
- /**
- * The number of elements in the parent.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- override public function get numElements():int
- {
- return graphicGroup.numElements;
- }
-
- COMPILE::JS
- override public function set x(value:Number):void
- {
- super.x = value;
- // Needed for SVG inside SVG
- element.setAttribute("x", value);
- }
-
- COMPILE::JS
- override public function set y(value:Number):void
- {
- super.y = value;
- // Needed for SVG inside SVG
- element.setAttribute("y", value);
- }
-
- }
-}
-
-import org.apache.flex.core.ContainerBase;
-
-class GraphicGroup extends ContainerBase
-{
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():org.apache.flex.core.WrappedHTMLElement
- {
- element = document.createElementNS('http://www.w3.org/2000/svg', 'g') as org.apache.flex.core.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;
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as
deleted file mode 100644
index da8d0a9..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/GraphicShape.as
+++ /dev/null
@@ -1,241 +0,0 @@
-/**
- * Licensed 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.svg
-{
- COMPILE::SWF
- {
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import org.apache.flex.core.WrappedSprite;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- import org.apache.flex.core.IFlexJSElement;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.graphics.IFill;
- import org.apache.flex.graphics.IStroke;
- import org.apache.flex.graphics.IGraphicShape;
-
- public class GraphicShape extends UIBase implements IGraphicShape
- {
-
- private var _fill:IFill;
- private var _stroke:IStroke;
-
- public function get stroke():IStroke
- {
- return _stroke;
- }
-
- /**
- * A solid color fill.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.0
- */
- public function set stroke(value:IStroke):void
- {
- _stroke = value;
- }
-
- public function get fill():IFill
- {
- return _fill;
- }
- /**
- * A solid color fill.
- *
- * @langversion 3.0
- * @playerversion Flash 9
- * @playerversion AIR 1.1
- * @productversion FlexJS 0.0
- */
- public function set fill(value:IFill):void
- {
- _fill = value;
- }
-
- /**
- * Constructor
- *
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function GraphicShape()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
- element.flexjs_wrapper = this;
- //element.offsetParent = null;
- positioner = element;
- //positioner.style.position = 'relative';
-
- return element;
- }
-
-
- COMPILE::SWF
- protected function applyStroke():void
- {
- if(stroke)
- {
- stroke.apply($sprite.graphics);
- }
- }
-
- COMPILE::SWF
- protected function beginFill(targetBounds:Rectangle,targetOrigin:Point):void
- {
- if(fill)
- {
- fill.begin($sprite.graphics, targetBounds,targetOrigin);
- }
- }
-
- COMPILE::SWF
- protected function endFill():void
- {
- if(fill)
- {
- fill.end($sprite.graphics);
- }
- }
-
- /**
- * This is where the drawing methods get called from
- */
- protected function drawImpl():void
- {
- //Overwrite in subclass
- }
-
- override public function addedToParent():void
- {
- super.addedToParent();
- drawImpl();
- COMPILE::JS
- {
- element.style.overflow = 'visible';
- }
- }
-
- /**
- * @return {string} The style attribute.
- */
- COMPILE::JS
- public function getStyleStr():String
- {
- var fillStr:String;
- if (fill)
- {
- fillStr = fill.addFillAttrib(this);
- }
- else
- {
- fillStr = 'fill:none';
- }
-
- var strokeStr:String;
- if (stroke)
- {
- strokeStr = stroke.addStrokeAttrib(this);
- }
- else
- {
- strokeStr = 'stroke:none';
- }
-
-
- return fillStr + ';' + strokeStr;
- }
-
- COMPILE::JS
- override protected function setClassName(value:String):void
- {
- element.setAttribute('class', value);
- }
-
-
- /**
- * @param x X position.
- * @param y Y position.
- * @param bbox The bounding box of the svg element.
- */
- COMPILE::JS
- public function resize(x:Number, y:Number, bbox:SVGRect):void
- {
- var useWidth:Number = Math.max(this.width, bbox.width);
- var useHeight:Number = Math.max(this.height, bbox.height);
-
- element.style.position = 'absolute';
- if (!isNaN(x)) element.style.top = x + "px";
- if (!isNaN(y)) element.style.left = y + "px";
- // element.setAttribute("width", useWidth);
- // element.setAttribute("height", useHeight);
- element.style.width = useWidth;
- element.style.height = useHeight;
- // Needed for SVG inside SVG
- element.setAttribute("x", x);
- element.setAttribute("y", y);
- //Needed for SVG inside DOM elements
- element.style.left = x + "px";
- element.style.top = y + "px";
- }
-
- COMPILE::JS
- private var _x:Number;
- COMPILE::JS
- private var _y:Number;
- COMPILE::JS
- private var _xOffset:Number;
- COMPILE::JS
- private var _yOffset:Number;
-
- /**
- * @param x X position.
- * @param y Y position.
- * @param xOffset offset from x position.
- * @param yOffset offset from y position.
- */
- COMPILE::JS
- public function setPosition(x:Number, y:Number, xOffset:Number, yOffset:Number):void
- {
- _x = x;
- _y = y;
- _xOffset = xOffset;
- _yOffset = yOffset;
- // Needed for SVG inside SVG
- element.setAttribute("x", xOffset);
- element.setAttribute("y", yOffset);
- //Needed for SVG inside DOM elements
- element.style.left = xOffset + "px";
- element.style.top = yOffset + "px";
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as
deleted file mode 100644
index dd96ceb..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Image.as
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.core.ImageBase;
-
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
- public class Image extends ImageBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- */
- public function Image()
- {
- super();
- }
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- override protected function createElement():WrappedHTMLElement
- {
- element = document.createElementNS('http://www.w3.org/2000/svg', 'svg') as WrappedHTMLElement;
- element.flexjs_wrapper = this;
- element.setAttribute('x', 0);
- element.setAttribute('y', 0);
- //element.offsetParent = null;
- positioner = element;
- //positioner.style.position = 'relative';
- addImageElement();
- return element;
- }
-
- COMPILE::JS
- protected var _image:WrappedHTMLElement;
-
- /**
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- COMPILE::JS
- protected function addImageElement():void
- {
- if (_image == null) {
- _image = document.createElementNS('http://www.w3.org/2000/svg', 'image') as WrappedHTMLElement;
- _image.setAttribute("width", "100%");
- _image.setAttribute("height", "100%");
- _image.flexjs_wrapper = this;
- element.appendChild(_image);
- }
- }
-
- COMPILE::JS
- override public function get imageElement():Element
- {
- return _image;
- }
-
- COMPILE::JS
- override public function get transformElement():WrappedHTMLElement
- {
- return _image;
- }
-
- COMPILE::JS
- override public function applyImageData(binaryDataAsString:String):void
- {
- (_image as SVGImageElement).setAttributeNS('http://www.w3.org/1999/xlink','href', binaryDataAsString);
- }
- COMPILE::JS
- override public function setWidth(value:Number, noEvent:Boolean=false):void
- {
- super.setWidth(value, noEvent);
- positioner.setAttribute("width", value);
- }
-
- COMPILE::JS
- override public function setHeight(value:Number, noEvent:Boolean=false):void
- {
- super.setHeight(value, noEvent);
- positioner.setAttribute("height", value);
- }
-
- COMPILE::JS
- override public function setX(value:Number):void
- {
- super.setX(value);
- positioner.setAttribute("x", value);
-
- }
- COMPILE::JS
- override public function setY(value:Number):void
- {
- super.setY(value);
- positioner.setAttribute("y", value);
-
- }
-
- COMPILE::JS
- override public function set x(value:Number):void
- {
- super.x = value;
- positioner.setAttribute("x", value);
- }
-
- COMPILE::JS
- override public function set y(value:Number):void
- {
- super.y = value;
- positioner.setAttribute("y", value);
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as
deleted file mode 100644
index 4134b55..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Path.as
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.graphics.IDrawable;
- import org.apache.flex.graphics.IPath;
- import org.apache.flex.graphics.PathBuilder;
-
- COMPILE::SWF
- {
- import flash.display.GraphicsPath;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import org.apache.flex.graphics.utils.PathHelper;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
-
- public class Path extends GraphicShape implements IPath, IDrawable
- {
-
- private var _data:String;
-
- public function get data():String
- {
- return _data;
- }
-
- public function set data(value:String):void
- {
- _data = value;
- _pathCommands = null;
- }
-
- private var _pathCommands:PathBuilder;
-
- public function get pathCommands():PathBuilder
- {
- return _pathCommands;
- }
-
- public function set pathCommands(value:PathBuilder):void
- {
- _pathCommands = value;
- _data = _pathCommands.getPathString();
- }
-
-
- COMPILE::JS
- private var _path:WrappedHTMLElement;
-
- /**
- * Draw the path.
- * @param data A PathBuilder object containing a vector of drawing commands.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawPathCommands(xp:Number,yp:Number,data:PathBuilder):void
- {
- drawStringPath(xp,yp,data.getPathString());
- }
-
- /**
- * Draw the path.
- * @param data A string containing a compact represention of the path segments.
- * The value is a space-delimited string describing each path segment. Each
- * segment entry has a single character which denotes the segment type and
- * two or more segment parameters.
- *
- * If the segment command is upper-case, the parameters are absolute values.
- * If the segment command is lower-case, the parameters are relative values.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawStringPath(xp:Number,yp:Number,data:String):void
- {
- COMPILE::SWF
- {
- $sprite.graphics.clear();
- applyStroke();
- var bounds:Rectangle = PathHelper.getBounds(data);
- this.width = bounds.width;
- this.height = bounds.height;
- beginFill(bounds,new Point(bounds.left + xp, bounds.top + yp) );
- var graphicsPath:GraphicsPath = PathHelper.getSegments(data,xp,yp);
- $sprite.graphics.drawPath(graphicsPath.commands, graphicsPath.data);
- endFill();
- }
- COMPILE::JS
- {
- if (data == null || data.length === 0) return;
- var style:String = getStyleStr();
- if (_path == null) {
- _path = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
- _path.flexjs_wrapper = this;
- element.appendChild(_path);
- }
- _path.setAttribute('style', style);
- _path.setAttribute('d', data);
-
- resize(x, y, _path['getBBox']());
-
- }
- }
-
- override protected function drawImpl():void
- {
- drawStringPath(0, 0, data);
- }
-
- public function draw():void
- {
- drawImpl();
- }
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as
deleted file mode 100644
index 889f76d..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Rect.as
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * Licensed 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.svg
-{
- import org.apache.flex.graphics.IDrawable;
- import org.apache.flex.graphics.IRect;
-
- COMPILE::SWF
- {
- import flash.geom.Point;
- import flash.geom.Rectangle;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- public class Rect extends GraphicShape implements IRect, IDrawable
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- */
- public function Rect(x:Number=0, y:Number=0, width:Number=0, height:Number=0,rx:Number=NaN,ry:Number=NaN)
- {
- this.x = x;
- this.y = y;
- this.width = width;
- this.height = height;
- this.rx = rx;
- this.ry = ry;
- }
-
- COMPILE::JS
- private var _rect:WrappedHTMLElement;
-
- private var _rx:Number;
-
- /**
- * The x axis radius for rounded corners
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- */
- public function get rx():Number
- {
- return _rx;
- }
-
- public function set rx(value:Number):void
- {
- _rx = value;
- }
-
- private var _ry:Number;
-
- /**
- * The y axis radius for rounded corners
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.7
- *
- */
- public function get ry():Number
- {
- return _ry;
- }
-
- public function set ry(value:Number):void
- {
- _ry = value;
- }
-
- /**
- * Draw the rectangle.
- * @param xp The x position of the top-left corner of the rectangle.
- * @param yp The y position of the top-left corner.
- * @param width The width of the rectangle.
- * @param height The height of the rectangle.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- */
- public function drawRect(xp:Number, yp:Number, width:Number, height:Number):void
- {
- COMPILE::SWF
- {
- $sprite.graphics.clear();
- applyStroke();
- beginFill(new Rectangle(xp, yp, width, height), new Point(xp,yp));
- if(isNaN(rx))
- $sprite.graphics.drawRect(0, 0, width, height);
- else
- {
- var dx:Number = rx*2;
- var dy:Number = isNaN(ry) ? ry : ry*2;
- $sprite.graphics.drawRoundRect(0, 0, width, height,dx ,dy);
- }
- endFill();
- }
- COMPILE::JS
- {
- var style:String = this.getStyleStr();
-
- if (_rect == null) {
- _rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
- _rect.flexjs_wrapper = this;
- element.appendChild(_rect);
- }
- _rect.setAttribute('style', style);
- if (stroke)
- {
- _rect.setAttribute('x', stroke.weight / 2);
- _rect.setAttribute('y', stroke.weight / 2);
- }
- else
- {
- _rect.setAttribute('x', 0);
- _rect.setAttribute('y', 0);
- }
- _rect.setAttribute('width', width);
- _rect.setAttribute('height', height);
-
- resize(x, y, _rect['getBBox']());
- }
- }
-
- COMPILE::JS
- override public function get transformElement():WrappedHTMLElement
- {
- return _rect;
- }
-
- override protected function drawImpl():void
- {
- drawRect(0,0,width,height);
- }
-
- public function draw():void
- {
- drawImpl();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as
deleted file mode 100644
index ba03ccf..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/Text.as
+++ /dev/null
@@ -1,164 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg
-{
- import org.apache.flex.graphics.IDrawable;
- import org.apache.flex.graphics.IText;
- import org.apache.flex.graphics.SolidColor;
-
- COMPILE::SWF
- {
- import flash.text.TextFieldType;
- import org.apache.flex.core.CSSTextField;
- }
- COMPILE::JS
- {
- import org.apache.flex.core.WrappedHTMLElement;
- }
-
- /**
- * Draws a string of characters at a specific location using the fill
- * value of color and alpha.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * // TODO (aharui) ignore imports of external linkage interfaces?
- * @flexjsignoreimport SVGLocatable
- */
- public class Text extends GraphicShape implements IText, IDrawable
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function Text()
- {
- super();
-
- COMPILE::SWF
- {
- _textField = new CSSTextField();
- $sprite.addChild(_textField);
- }
- }
-
- private var _text:String;
- public function get text():String
- {
- return _text;
- }
- public function set text(value:String):void
- {
- _text = value;
- }
-
- COMPILE::SWF
- private var _textField:CSSTextField;
-
- COMPILE::JS
- private var _textElem:WrappedHTMLElement;
-
- /**
- * @copy org.apache.flex.core.ITextModel#textField
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- COMPILE::SWF
- public function get textField() : CSSTextField
- {
- return _textField;
- }
-
- /**
- * Draws text at the given point.
- * @param value The string to draw.
- * @param xt The x position of the top-left corner of the rectangle.
- * @param yt The y position of the top-left corner.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
- * @flexjsignorecoercion Text
- * @flexjsignorecoercion Node
- * @flexjsignorecoercion SVGLocatable
- */
- public function drawText(value:String, xt:Number, yt:Number):void
- {
- COMPILE::SWF
- {
- textField.selectable = false;
- textField.type = TextFieldType.DYNAMIC;
- textField.mouseEnabled = false;
- textField.autoSize = "left";
- textField.text = value;
-
- var color:SolidColor = fill as SolidColor;
- if (color) {
- textField.textColor = color.color;
- textField.alpha = color.alpha;
- }
-
- textField.x = xt;
- textField.y = yt;
- }
- COMPILE::JS
- {
- var style:String = this.getStyleStr();
- if (_textElem == null) {
- _textElem = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
- _textElem.flexjs_wrapper = this;
- element.appendChild(_textElem);
- }
- else {
- _textElem.removeChild(_textElem.childNodes[0]);
- }
- _textElem.setAttribute('style', style);
- _textElem.setAttribute('x', xt);
- _textElem.setAttribute('y', yt);
- var textNode:Text = document.createTextNode(value) as Text;
- _textElem.appendChild(textNode as Node);
-
- resize(x, y, (_textElem as SVGLocatable).getBBox());
-
- }
- }
-
- override protected function drawImpl():void
- {
- drawText(text,x,y);
- }
-
- public function draw():void
- {
- drawImpl();
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as
deleted file mode 100644
index 8cbd789..0000000
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/svg/beads/ImageView.as
+++ /dev/null
@@ -1,87 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package org.apache.flex.svg.beads
-{
- import org.apache.flex.core.ImageViewBase;
- COMPILE::JS
- {
- import org.apache.flex.core.UIBase;
- import org.apache.flex.core.ValuesManager;
- }
-
- /**
- * The ImageView class creates the visual elements of the org.apache.flex.svg.Image component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class ImageView extends ImageViewBase
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function ImageView()
- {
- }
-
- COMPILE::JS
- override protected function sizeChangedHandler(event:Object):void
- {
- super.sizeChangedHandler(event);
- var host:UIBase = _strand as UIBase;
-
- var left:* = ValuesManager.valuesImpl.getValue(host, "left");
- var right:* = ValuesManager.valuesImpl.getValue(host, "right");
- var l:Number = isNaN(left) ? NaN : left;
- var r:Number = isNaN(right) ? NaN : right;
-
- var top:* = ValuesManager.valuesImpl.getValue(host, "top");
- var bottom:* = ValuesManager.valuesImpl.getValue(host, "bottom");
- var t:Number = isNaN(top) ? NaN : top;
- var b:Number = isNaN(bottom) ? NaN : bottom;
-
- var p:Object = host.positioner;
-
- if (!isNaN(l) &&
- !isNaN(r)) {
- // if just using size constraints and image will not shrink or grow
- var computedWidth:Number = (host.positioner.offsetParent as HTMLElement).offsetWidth -
- l - r;
- p.setAttribute("width", computedWidth);
-
- }
- if (!isNaN(t) &&
- !isNaN(b)) {
- // if just using size constraints and image will not shrink or grow
- var computedHeight:Number = (host.positioner.offsetParent as HTMLElement).offsetHeight -
- t - b;
- p.setAttribute("height", computedHeight);
- }
- }
-
- }
-}
diff --git a/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml
deleted file mode 100644
index f5e8475..0000000
--- a/frameworks/projects/HTML/src/main/resources/basic-as-manifest.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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.
-
--->
-
-
-<componentPackage>
-
- <!-- component id="ListViewNoSelectionState" class="org.apache.flex.html.beads.ListViewNoSelectionState"/ -->
- <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-
- <!--<component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>-->
- <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
- <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
- <!--
- <component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
- <component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
- -->
- <!--
- <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
- -->
-</componentPackage>
diff --git a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
index b677d55..4a47ba4 100644
--- a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
@@ -21,140 +21,6 @@
<componentPackage>
- <component id="Application" class="org.apache.flex.core.Application"/>
- <component id="View" class="org.apache.flex.core.View"/>
- <component id="Button" class="org.apache.flex.html.Button"/>
- <component id="CloseButton" class="org.apache.flex.html.CloseButton"/>
- <component id="ButtonBar" class="org.apache.flex.html.ButtonBar"/>
- <component id="DropDownList" class="org.apache.flex.html.DropDownList"/>
- <component id="DropDownListList" class="org.apache.flex.html.supportClasses.DropDownListList"/>
- <component id="Image" class="org.apache.flex.html.Image"/>
- <component id="BinaryImage" class="org.apache.flex.html.BinaryImage"/>
- <component id="Label" class="org.apache.flex.html.Label"/>
- <component id="HTMLText" class="org.apache.flex.html.HTMLText"/>
- <component id="MultilineLabel" class="org.apache.flex.html.MultilineLabel"/>
- <component id="ImageAndTextButton" class="org.apache.flex.html.ImageAndTextButton"/>
- <component id="TextButton" class="org.apache.flex.html.TextButton"/>
- <component id="ToggleTextButton" class="org.apache.flex.html.ToggleTextButton"/>
- <component id="TextInput" class="org.apache.flex.html.TextInput"/>
- <component id="TextArea" class="org.apache.flex.html.TextArea"/>
- <component id="DataContainer" class="org.apache.flex.html.DataContainer"/>
- <component id="List" class="org.apache.flex.html.List"/>
- <component id="SimpleList" class="org.apache.flex.html.SimpleList"/>
- <component id="CheckBox" class="org.apache.flex.html.CheckBox"/>
- <component id="CSSCheckBox" class="org.apache.flex.html.CSSCheckBox"/>
- <component id="RadioButton" class="org.apache.flex.html.RadioButton"/>
- <component id="ComboBox" class="org.apache.flex.html.ComboBox"/>
- <component id="ComboBoxList" class="org.apache.flex.html.supportClasses.ComboBoxList"/>
- <component id="Container" class="org.apache.flex.html.Container"/>
- <component id="Group" class="org.apache.flex.html.Group"/>
- <component id="Accordion" class="org.apache.flex.html.Accordion"/>
- <component id="Form" class="org.apache.flex.html.Form"/>
- <component id="HContainer" class="org.apache.flex.html.HContainer"/>
- <component id="VContainer" class="org.apache.flex.html.VContainer"/>
- <component id="Panel" class="org.apache.flex.html.Panel"/>
- <component id="PanelView" class="org.apache.flex.html.beads.PanelView"/>
- <component id="ImageView" class="org.apache.flex.html.beads.ImageView"/>
- <component id="PanelWithControlBar" class="org.apache.flex.html.PanelWithControlBar"/>
- <component id="PanelWithControlBarView" class="org.apache.flex.html.beads.PanelWithControlBarView"/>
- <component id="ControlBar" class="org.apache.flex.html.ControlBar"/>
- <component id="RangeStepper" class="org.apache.flex.html.RangeStepper" />
- <component id="TitleBar" class="org.apache.flex.html.TitleBar"/>
- <component id="ImageModel" class="org.apache.flex.html.beads.models.ImageModel"/>
- <component id="TitleBarModel" class="org.apache.flex.html.beads.models.TitleBarModel"/>
- <component id="ToolTip" class="org.apache.flex.html.ToolTip"/>
- <component id="Tree" class="org.apache.flex.html.Tree"/>
- <component id="BasicLayout" class="org.apache.flex.html.beads.layouts.BasicLayout"/>
- <component id="VerticalLayout" class="org.apache.flex.html.beads.layouts.VerticalLayout"/>
- <component id="VerticalFlexLayout" class="org.apache.flex.html.beads.layouts.VerticalFlexLayout"/>
- <component id="HorizontalLayout" class="org.apache.flex.html.beads.layouts.HorizontalLayout"/>
- <component id="HorizontalFlexLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlexLayout"/>
- <component id="HorizontalFlowLayout" class="org.apache.flex.html.beads.layouts.HorizontalFlowLayout" />
- <component id="TileLayout" class="org.apache.flex.html.beads.layouts.TileLayout"/>
- <component id="ListView" class="org.apache.flex.html.beads.ListView"/>
- <component id="AccordionView" class="org.apache.flex.html.beads.AccordionView"/>
- <component id="CenterElement" class="org.apache.flex.html.beads.CenterElement"/>
- <!--<component id="MultilineTextFieldView" class="org.apache.flex.html.beads.MultilineTextFieldView"/>-->
-
- <component id="SimpleAlert" class="org.apache.flex.html.SimpleAlert"/>
- <component id="Alert" class="org.apache.flex.html.Alert"/>
- <component id="Spinner" class="org.apache.flex.html.Spinner"/>
- <component id="Slider" class="org.apache.flex.html.Slider"/>
- <component id="NumericStepper" class="org.apache.flex.html.NumericStepper" />
- <component id="StringItemRenderer" class="org.apache.flex.html.supportClasses.StringItemRenderer"/>
- <component id="AccordionItemRenderer" class="org.apache.flex.html.supportClasses.AccordionItemRenderer"/>
- <component id="AccordionCollapseBead" class="org.apache.flex.html.beads.AccordionCollapseBead"/>
- <component id="DispatchInputFinishedBead" class="org.apache.flex.html.beads.DispatchInputFinishedBead"/>
- <component id="DispatchKeyboardEventBead" class="org.apache.flex.html.beads.DispatchKeyboardEventBead"/>
- <component id="TreeItemRenderer" class="org.apache.flex.html.supportClasses.TreeItemRenderer"/>
- <component id="DataItemRenderer" class="org.apache.flex.html.supportClasses.DataItemRenderer"/>
- <component id="MXMLItemRenderer" class="org.apache.flex.html.supportClasses.MXMLItemRenderer"/>
- <component id="DateItemRenderer" class="org.apache.flex.html.supportClasses.DateItemRenderer"/>
- <component id="DayNameItemRenderer" class="org.apache.flex.html.supportClasses.DayNameItemRenderer"/>
- <component id="TextButtonItemRenderer" class="org.apache.flex.html.supportClasses.TextButtonItemRenderer"/>
- <!--
- <component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>
- <component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
- <component id="VScrollBar" class="org.apache.flex.html.supportClasses.VScrollBar"/>
- <component id="HRuleView" class="org.apache.flex.html.beads.HRuleView" />
- <component id="VRuleView" class="org.apache.flex.html.beads.VRuleView" />
- -->
- <component id="UnselectableElementBead" class="org.apache.flex.html.beads.UnselectableElementBead"/>
- <component id="DisableBead" class="org.apache.flex.html.beads.DisableBead" />
- <component id="NumericOnlyTextInputBead" class="org.apache.flex.html.accessories.NumericOnlyTextInputBead" />
- <component id="PasswordInputBead" class="org.apache.flex.html.accessories.PasswordInputBead" />
- <component id="TextPromptBead" class="org.apache.flex.html.accessories.TextPromptBead" />
- <component id="HRule" class="org.apache.flex.html.HRule" />
- <component id="VRule" class="org.apache.flex.html.VRule" />
- <component id="Spacer" class="org.apache.flex.html.Spacer" />
- <!--
- <component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
- -->
- <component id="ScrollingViewport" class="org.apache.flex.html.supportClasses.ScrollingViewport" />
- <component id="ClippingViewport" class="org.apache.flex.html.supportClasses.ClippingViewport" />
-
- <component id="ArraySelectionModel" class="org.apache.flex.html.beads.models.ArraySelectionModel" />
- <component id="ArrayListSelectionModel" class="org.apache.flex.html.beads.models.ArrayListSelectionModel" />
-
- <component id="DataGrid" class="org.apache.flex.html.DataGrid"/>
- <component id="DataProviderChangeNotifier" class="org.apache.flex.html.beads.DataProviderChangeNotifier"/>
- <component id="DataProviderCollectionChangeNotifier" class="org.apache.flex.html.beads.DataProviderCollectionChangeNotifier"/>
- <component id="DataProviderItemsChangeNotifier" class="org.apache.flex.html.beads.DataProviderItemsChangeNotifier"/>
- <component id="DataGridButtonBar" class="org.apache.flex.html.DataGridButtonBar"/>
- <component id="DataGridButtonBarTextButton" class="org.apache.flex.html.DataGridButtonBarTextButton"/>
- <component id="DataGridColumn" class="org.apache.flex.html.supportClasses.DataGridColumn"/>
- <component id="DataGridLinesBead" class="org.apache.flex.html.beads.DataGridLinesBead"/>
- <component id="DataGridColumnList" class="org.apache.flex.html.supportClasses.DataGridColumnList"/>
- <component id="DataGridPercentageView" class="org.apache.flex.html.beads.DataGridPercentageView" />
-
- <component id="DataItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayData" />
- <component id="DataItemRendererFactoryForArrayList" class="org.apache.flex.html.beads.DataItemRendererFactoryForArrayList" />
- <component id="DataItemRendererFactoryForHierarchicalData" class="org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData" />
- <component id="TextItemRendererFactoryForArrayData" class="org.apache.flex.html.beads.TextItemRendererFactoryForArrayData" />
- <component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />
-
- <component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
- <component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
- <component id="DateChooserHeader" class="org.apache.flex.html.supportClasses.DateChooserHeader" />
- <component id="DateField" class="org.apache.flex.html.DateField"/>
- <component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
-
- <component id="ToolTipBead" class="org.apache.flex.html.accessories.ToolTipBead" />
-
- <component id="LayoutChangeNotifier" class="org.apache.flex.html.beads.layouts.LayoutChangeNotifier"/>
- <component id="LayoutOnShow" class="org.apache.flex.html.beads.layouts.LayoutOnShow"/>
- <component id="ImageButton" class="org.apache.flex.html.ImageButton"/>
- <component id="FlexibleFirstChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout"/>
- <component id="OneFlexibleChildVerticalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout"/>
- <component id="OneFlexibleChildHorizontalLayout" class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLayout"/>
- <component id="MXMLBeadView" class="org.apache.flex.html.MXMLBeadView"/>
-
- <component id="SubAppLoader" class="org.apache.flex.html.SubAppLoader" />
-
- <component id="Border" class="org.apache.flex.html.supportClasses.Border"/>
-
- <component id="WebBrowser" class="org.apache.flex.html.WebBrowser" />
-
<component id="A" class="org.apache.flex.html.A" />
<component id="H1" class="org.apache.flex.html.H1" />
<component id="H2" class="org.apache.flex.html.H2" />
@@ -174,10 +40,6 @@
<component id="InnerHTML" class="org.apache.flex.html.beads.InnerHTML" />
<component id="TextNode" class="org.apache.flex.html.TextNode" />
-
- <component id="Table" class="org.apache.flex.html.Table"/>
- <component id="TableRow" class="org.apache.flex.html.TableRow"/>
- <component id="TableCell" class="org.apache.flex.html.TableCell"/>
- <component id="TableHeader" class="org.apache.flex.html.TableHeader"/>
+ <component id="HTMLText" class="org.apache.flex.html.HTMLText"/>
</componentPackage>
diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css
index 43f352b..8cf8313 100644
--- a/frameworks/projects/HTML/src/main/resources/defaults.css
+++ b/frameworks/projects/HTML/src/main/resources/defaults.css
@@ -18,889 +18,4 @@
*/
@namespace "library://ns.apache.org/flexjs/basic";
-@namespace svg "library://ns.apache.org/flexjs/svg";
-
-/* Global style declaration */
-*
-{
- font-family: "Arial";
- font-size: 12px;
- border-width: 1px;
-}
-
-.flexjs *, . flexjs *:before, . flexjs *:after {
- -moz-box-sizing: border-box;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.unselectable
-{
- -moz-user-select: -moz-none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
- user-select: none;
-}
-
-Alert
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-
-
-Application
-{
- padding: 0px;
- margin: 0px;
-}
-
-Button
-{
- background-color: #f8f8f8;
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- margin: 0px;
-}
-
-Button:hover
-{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-Button:active
-{
- background-color: #d8d8d8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-ButtonBar
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ButtonBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
-
- border-style: none;
-}
-
-ComboBox
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ComboBoxModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ComboBoxView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ComboBoxController");
- IPopUp: ClassReference("org.apache.flex.html.supportClasses.ComboBoxList");
-}
-
-ComboBoxList
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- border-style: solid;
- border-radius: 4px;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-.ComboBoxButton {
- padding: 0px;
- margin: 0px;
-}
-
-Container
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-ControlBar
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
-
- padding: 2px;
- background-color: #E2E2E2;
- border-top: solid 1px #333333;
- height: 30px;
-}
-
-DataContainer
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataProviderModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.DataContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- border-style: solid;
- border-color: #222222;
-}
-
-/* ASJS */
-DataGrid
-{
- IDataGridPresentationModel: ClassReference("org.apache.flex.html.beads.models.DataGridPresentationModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.DataGridView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #222222;
- border-width: 1px;
-}
-
-DataGridButtonBar
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ButtonBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ButtonBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.ButtonBarLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TextButtonItemRenderer");
-
- border-style: none;
-}
-
-DataGridColumnList {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DataGridModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayList");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- border-style: none;
- background-color: #FFFFFF;
-}
-
-.DataGridListArea {
- background-color: #FFFFFF;
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-/* DateChooser */
-
-DateChooser {
- IBeadView: ClassReference("org.apache.flex.html.beads.DateChooserView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
- width: 280px;
- height: 240px;
-}
-
-DateChooserList {
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DateItemRenderer");
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-DateChooserHeader {
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
- height: 20px;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
-}
-
-.DateChooserMonthButtons {
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalFlexLayout");
- height: 20px;
-}
-
-DateItemRenderer
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- text-align: center;
- flex-shrink: 0;
- flex-grow: 1;
-}
-
-DayNameItemRenderer
-{
- text-align: center;
- flex-shrink: 0;
- flex-grow: 1;
-}
-
-/* DateField */
-
-DateField {
- IBeadView: ClassReference("org.apache.flex.html.beads.DateFieldView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateFieldMouseController");
- IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatYYYYMMDDBead");
-}
-
-/* RangeStepper */
-
-RangeStepper {
- IBeadView: ClassReference("org.apache.flex.html.beads.RangeStepperView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModelExtended");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.RangeStepperMouseController");
-}
-
-Form {
-
-}
-
-Group {
- IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
-}
-
-HContainer
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HorizontalLayout");
- white-space: nowrap;
-}
-
-Image
-{
- vertical-align: top;
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ImageView");
-}
-
-BinaryImage
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.BinaryImageModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ImageView");
- IBinaryImageLoader: ClassReference("org.apache.flex.html.beads.BinaryImageLoader");
-}
-
-ImageAndTextButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageAndTextModel");
-}
-
-ImageButton
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ImageModel");
- border-style: none;
-}
-
-ImageButton:hover
-{
- border-style: none;
-}
-
-ImageButton:active
-{
- border-style: none;
-}
-
-VContainer
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.ContainerView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
-}
-
-List
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- border-style: solid;
- border-color: #222222;
- background-color: #FFFFFF;
-}
-
-Accordion
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.AccordionView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.AccordionItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ClippingViewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- IAccordionCollapseBead: ClassReference("org.apache.flex.html.beads.AccordionCollapseBead");
- border-style: solid;
- border-color: #222222;
-}
-
-Tree
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArrayListSelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.TreeSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForHierarchicalData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.TreeItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
- border-style: solid;
- border-color: #222222;
-}
-
-NumericStepper
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
-}
-
-Panel
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.PanelView");
- IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-
- background-color: #FFFFFF;
- border: solid 1px #333333
-}
-
-PanelWithControlBar
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.PanelModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.PanelWithControlBarView");
- IPanelLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalFlexLayout");
-
- background-color: #FFFFFF;
- border: solid 1px #333333;
-}
-
-Panel .TitleBar
-{
- border-bottom: solid 1px #333333;
-}
-
-SimpleList
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.ListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VerticalLayout");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- IViewport: ClassReference("org.apache.flex.html.supportClasses.ScrollingViewport");
- IViewportModel: ClassReference("org.apache.flex.html.beads.models.ViewportModel");
-}
-
-Slider
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
- iBeadView: ClassReference("org.apache.flex.html.beads.SliderView");
- iBeadController: ClassReference("org.apache.flex.html.beads.controllers.SliderMouseController");
-}
-
-Spinner
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.SpinnerView");
-}
-
-
-StringItemRenderer
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 24;
- flex-shrink: 0;
- flex-grow: 1;
-}
-
-AccordionItemRenderer
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AccordionItemRendererMouseController");
- IBeadView: ClassReference("org.apache.flex.html.beads.AccordionItemRendererView");
- flex-shrink: 0;
- flex-grow: 1;
-}
-
-Table
-{
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.SimpleTableLayout");
-}
-
-TableHeader
-{
- font-weight: bold;
- border: 1px solid #999999;
-}
-
-TableCell
-{
- border: 1px solid #999999;
-}
-
-TreeItemRenderer
-{
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 24;
- flex-shrink: 0;
- flex-grow: 1;
-}
-
-TextInput
-{
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- margin: 0px;
-}
-
-TextArea
-{
- border: 1px solid #808080;
- border-radius: 2px;
- padding: 4px;
- resize: none;
-}
-
-TitleBar
-{
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TitleBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TitleBarView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizontalLayout");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TitleBarMeasurementBead");
- background-color: #E2E2E2;
- padding: 2px;
- height: 30px;
- flex-grow: 0;
- min-height: 30px;
-}
-
-TitleBar .TitleBarCloseButton {
- width: 16px;
- height: 16px;
- margin: 0px;
-}
-
-TitleBar .TitleBarTitle {
- font-weight: bold;
- padding: 0;
- margin: 0;
-}
-
-.toggleTextButton
-{
- background-color: #f8f8f8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-.toggleTextButton:hover
-{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-.toggleTextButton_Selected
-{
- background-color: #d8d8d8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-.toggleTextButton_Selected:hover
-{
- background-color: #e8e8e8;
- border: 1px solid #808080;
- padding: 4px;
-}
-
-ToolTip
-{
- background-color: #FFFFCC;
-}
-
-View
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.GroupView");
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.BasicLayout");
-}
-
-WebBrowser
-{
- IBeadView: ClassReference("org.apache.flex.html.beads.WebBrowserView");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.WebBrowserModel");
-}
-
-
-/* Global Style Declaration */
-global
-{
- IStatesImpl: ClassReference("org.apache.flex.core.SimpleStatesImpl");
- IEffectTimer: ClassReference("org.apache.flex.utils.EffectTimer");
- effectTimerInterval: 10;
-}
-
-@media -flex-flash
-{
- Accordion {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- Alert
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.AlertView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- }
-
- Border
- {
- border-color: inherit;
- border-style: inherit;
- border-radius: inherit;
- border-width: inherit;
- border: inherit;
- }
-
- Button
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSButtonView");
- }
-
- ButtonBar
- {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- CheckBox
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CheckBoxView");
- }
-
- CSSCheckBox
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CheckBoxView");
- }
-
- CloseButton
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.CloseButtonView");
- }
-
- Container
- {
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
- }
-
- ControlBar
- {
- IMeasurementBead: ClassReference("org.apache.flex.html.beads.ControlBarMeasurementBead");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- border: solid 1px #333333;
- }
-
- ComboBoxList {
- IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- }
-
- DataContainer {
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- DataGridButtonBar {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- DateChooserList {
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- }
-
- DateChooserHeader {
- padding-top: 0px;
- padding-bottom: 5px;
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- }
-
- DateItemRenderer {
- margin: 0px;
- padding: 5px;
- }
-
- DropDownList
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.DropDownListView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DropDownListController");
- IPopUp: ClassReference("org.apache.flex.html.supportClasses.DropDownListList");
- }
-
- DropDownListList
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
- IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
- border-style: solid;
- border-radius: 4px;
- border-color: #333333;
- border-width: 1px;
- background-color: #FFFFFF;
- }
-
- Group
- {
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
- }
-
- HRule
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.HRuleView");
- }
-
- ImageButton
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.ImageButtonView");
- }
-
- ImageAndTextButton
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSImageAndTextButtonView");
- }
-
- Label
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextFieldView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextFieldLabelMeasurementBead");
- }
-
- List
- {
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- MultilineLabel
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.MultilineTextFieldView");
- }
-
- NumericStepper
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.NumericStepperView");
-
- padding: 0px;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
- iBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- }
-
- Panel
- {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- }
-
- PanelWithControlBar
- {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.ContainerContentArea");
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- }
-
- RadioButton
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ValueToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.RadioButtonView");
- }
-
- VScrollBar
- {
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.VScrollBarLayout");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.VScrollBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.VScrollBarMouseController");
- }
-
- HScrollBar
- {
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.HScrollBarLayout");
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ScrollBarModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.HScrollBarView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.HScrollBarMouseController");
- }
-
- SimpleAlert
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.AlertModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.SimpleAlertView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.AlertController");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
-
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- }
-
- Slider
- {
- iThumbView: ClassReference("org.apache.flex.html.beads.SliderThumbView");
- iTrackView: ClassReference("org.apache.flex.html.beads.SliderTrackView");
- }
-
- Spinner
- {
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.SpinnerMouseController");
- }
-
- Table
- {
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- }
-
- TableCell
- {
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableCellLayout");
- IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
- }
-
- TableHeader
- {
- IBeadLayout: ClassReference("org.apache.flex.html.beads.layouts.TableHeaderLayout");
- IBeadView: ClassReference("org.apache.flex.html.beads.TableCellView");
- }
-
- TextArea
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextAreaView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
- IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- IBorderModel: ClassReference('org.apache.flex.html.beads.models.SingleLineBorderModel');
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
- }
-
- TextButton
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
- }
-
- Tree {
- IContentView: ClassReference("org.apache.flex.html.supportClasses.DataGroup");
- }
-
- /*
- TextFieldItemRenderer
- {
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
- height: 16;
- }
- */
-
- TextInput
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.TextInputWithBorderView");
- IBeadController: ClassReference("org.apache.flex.html.beads.controllers.EditableTextKeyboardController");
- IBorderBead: ClassReference('org.apache.flex.html.beads.SingleLineBorderBead');
- IBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
- background-color: #FFFFFF;
- }
-
- TitleBar
- {
- IBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- IBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- border: solid 1px #333333;
- }
-
- ToggleTextButton
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
- }
-
- View
- {
- iBackgroundBead: ClassReference("org.apache.flex.html.beads.SolidBackgroundBead");
- iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
- }
-
- VRule
- {
- IBeadView: ClassReference("org.apache.flex.html.beads.VRuleView");
- }
-
- /* SVG */
-
- svg|TextButton
- {
- IBeadModel: ClassReference("org.apache.flex.html.beads.models.TextModel");
- IBeadView: ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
- iMeasurementBead: ClassReference("org.apache.flex.html.beads.TextButtonMeasurementBead");
- }
-
-}
+@namespace svg "library://ns.apache.org/flexjs/svg";
\ No newline at end of file
diff --git a/frameworks/projects/HTML/src/test/flex/build.xml b/frameworks/projects/HTML/src/test/flex/build.xml
index 2b6e1af..35b58e6 100644
--- a/frameworks/projects/HTML/src/test/flex/build.xml
+++ b/frameworks/projects/HTML/src/test/flex/build.xml
@@ -88,7 +88,7 @@
</target>
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<target name="compile" description="Compiles FlexUnitApplication.swf">
diff --git a/frameworks/projects/HTML5/build.xml b/frameworks/projects/HTML5/build.xml
index d5d373e..f974792 100644
--- a/frameworks/projects/HTML5/build.xml
+++ b/frameworks/projects/HTML5/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/HTML5/pom.xml b/frameworks/projects/HTML5/pom.xml
index d6bfecf..537c27e 100644
--- a/frameworks/projects/HTML5/pom.xml
+++ b/frameworks/projects/HTML5/pom.xml
@@ -56,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -73,20 +74,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/HTML5/src/main/config/compile-as-config.xml b/frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
similarity index 87%
rename from frameworks/projects/HTML5/src/main/config/compile-as-config.xml
rename to frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
index 959b649..025fba2 100644
--- a/frameworks/projects/HTML5/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/HTML5/src/main/config/compile-swf-config.xml
@@ -24,9 +24,10 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -34,6 +35,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/JQuery/build.xml b/frameworks/projects/JQuery/build.xml
index 0ca87ba..bfe74c1 100644
--- a/frameworks/projects/JQuery/build.xml
+++ b/frameworks/projects/JQuery/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/jquery-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/JQuery/pom.xml b/frameworks/projects/JQuery/pom.xml
index 414c049..b89868c 100644
--- a/frameworks/projects/JQuery/pom.xml
+++ b/frameworks/projects/JQuery/pom.xml
@@ -56,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -73,20 +74,20 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
diff --git a/frameworks/projects/JQuery/src/main/config/compile-as-config.xml b/frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/JQuery/src/main/config/compile-as-config.xml
rename to frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
index 0181e50..af21589 100644
--- a/frameworks/projects/JQuery/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/JQuery/src/main/config/compile-swf-config.xml
@@ -24,7 +24,7 @@
<external-library-path>
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
<mxml>
@@ -34,6 +34,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Language/build.xml b/frameworks/projects/Language/build.xml
index 124bc41..6a8fce9 100644
--- a/frameworks/projects/Language/build.xml
+++ b/frameworks/projects/Language/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Language/pom.xml b/frameworks/projects/Language/pom.xml
index 6b1ff3d..763821c 100644
--- a/frameworks/projects/Language/pom.xml
+++ b/frameworks/projects/Language/pom.xml
@@ -44,7 +44,7 @@
<includeClasses>
<includeClass>LanguageClasses</includeClass>
</includeClasses>
- <skipExtern>false</skipExtern>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
diff --git a/frameworks/projects/Language/src/main/config/compile-as-config.xml b/frameworks/projects/Language/src/main/config/compile-swf-config.xml
similarity index 90%
rename from frameworks/projects/Language/src/main/config/compile-as-config.xml
rename to frameworks/projects/Language/src/main/config/compile-swf-config.xml
index b526902..08ce99e 100644
--- a/frameworks/projects/Language/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Language/src/main/config/compile-swf-config.xml
@@ -32,6 +32,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/MaterialDesignLite/build.xml b/frameworks/projects/MaterialDesignLite/build.xml
index b61453d..c7fd6ea 100644
--- a/frameworks/projects/MaterialDesignLite/build.xml
+++ b/frameworks/projects/MaterialDesignLite/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/MaterialDesignLite/pom.xml b/frameworks/projects/MaterialDesignLite/pom.xml
index ca2ca23..10a531a 100644
--- a/frameworks/projects/MaterialDesignLite/pom.xml
+++ b/frameworks/projects/MaterialDesignLite/pom.xml
@@ -62,6 +62,7 @@
</include-file>
</includeFiles>
<includeLookupOnly>true</includeLookupOnly>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -79,7 +80,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -92,7 +93,7 @@
<artifactId>Binding</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -105,7 +106,7 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -118,7 +119,20 @@
<artifactId>Collections</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.flex.flexjs.framework</groupId>
+ <artifactId>Basic</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <type>swc</type>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -131,7 +145,7 @@
<artifactId>HTML</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml b/frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml
rename to frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
index 96d4699..c67a914 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/MaterialDesignLite/src/main/config/compile-swf-config.xml
@@ -28,8 +28,10 @@
<path-element>../../../../../libs/Graphics.swc</path-element>
<path-element>../../../../../libs/Collections.swc</path-element>
<path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -37,6 +39,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
index 8de4e17..f07a048 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/RadioButton.as
@@ -255,6 +255,26 @@
}
}
+ /**
+ * Dispatched when the user clicks on RadioButton.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ [Event(name="click", type="org.apache.flex.events.MouseEvent")]
+
+ /**
+ * Dispatched when RadioButton is being selected/unselected.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ [Event(name="change", type="org.apache.flex.events.Event")]
+
COMPILE::JS
public class RadioButton extends UIBase
{
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
index db98e2a..2020516 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/TextPrompt.as
@@ -150,11 +150,11 @@
var model:Object = UIBase(_strand).model;
if (model.text != null && model.text.length > 0 ) {
- if (promptAdded) UIBase(_strand).$displayObjectContainer.removeChild(promptField);
+ if (promptAdded) UIBase(_strand).removeChild(promptField);
promptAdded = false;
}
else {
- if (!promptAdded) UIBase(_strand).$displayObjectContainer.addChild(promptField);
+ if (!promptAdded) UIBase(_strand).addChild(promptField);
promptField.text = prompt;
promptAdded = true;
}
diff --git a/frameworks/projects/Mobile/build.xml b/frameworks/projects/Mobile/build.xml
index 41da261..5a0c97e 100644
--- a/frameworks/projects/Mobile/build.xml
+++ b/frameworks/projects/Mobile/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Mobile/pom.xml b/frameworks/projects/Mobile/pom.xml
index d11f863..cc1fc10 100644
--- a/frameworks/projects/Mobile/pom.xml
+++ b/frameworks/projects/Mobile/pom.xml
@@ -60,6 +60,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -77,7 +78,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -90,20 +91,20 @@
<artifactId>Graphics</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
- <artifactId>HTML</artifactId>
+ <artifactId>Basic</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Mobile/src/main/config/compile-as-config.xml b/frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
similarity index 89%
rename from frameworks/projects/Mobile/src/main/config/compile-as-config.xml
rename to frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
index 4b20628..4a690af 100644
--- a/frameworks/projects/Mobile/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Mobile/src/main/config/compile-swf-config.xml
@@ -25,9 +25,10 @@
<path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
<path-element>../../../../../libs/Core.swc</path-element>
<path-element>../../../../../libs/Graphics.swc</path-element>
- <path-element>../../../../../libs/HTML.swc</path-element>
+ <path-element>../../../../../libs/Basic.swc</path-element>
</external-library-path>
+ <allow-subclass-overrides>true</allow-subclass-overrides>
<mxml>
<children-as-data>true</children-as-data>
</mxml>
@@ -35,6 +36,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
index 69d2fa1..8adf787 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/camera/Camera.as
@@ -40,6 +40,19 @@
}
[Mixin]
+ /**
+ * The Camera class implements the Cordova Camera
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ * @flexjscordovaplugin cordova-plugin-camera
+ * @flexjsignorecoercion FileEntry
+ * @flexjsignorecoercion FileWriter
+ * @flexjsignorecoercion window
+ * @flexjsignorecoercion Blob
+ */
public class Camera
{
public static var DestinationType:Object = {
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
index c193413..97e99eb 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/cordova/geolocation/Geolocation.as
@@ -23,6 +23,19 @@
*/
[Mixin]
+ /**
+ * The Geolocation class implements Cordova geolocation plugin
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ * @flexjscordovaplugin cordova-plugin-geolocation
+ * @flexjsignorecoercion FileEntry
+ * @flexjsignorecoercion FileWriter
+ * @flexjsignorecoercion window
+ * @flexjsignorecoercion Blob
+ */
public class Geolocation
{
/**
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
index 0200e72..dca8bff 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/TitleView.as
@@ -45,18 +45,11 @@
_title = value;
}
- COMPILE::SWF
override public function toString():String
{
return _title;
}
- COMPILE::JS
- public function toString():String
- {
- return _title;
- }
-
private var _viewManager:IViewManager;
public function get viewManager():IViewManager
{
diff --git a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
index 549891d..6e108fb 100644
--- a/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
+++ b/frameworks/projects/Mobile/src/main/flex/org/apache/flex/mobile/ViewManagerBase.as
@@ -74,21 +74,11 @@
ViewManagerModel(model).title = value;
}
- COMPILE::SWF
override public function toString():String
{
return ViewManagerModel(model).title;
}
-
- /**
- * @private
- */
- COMPILE::JS
- public function toString():String
- {
- return ViewManagerModel(model).title;
- }
-
+
/**
* True if this view manager instance is displaying a NavigationBar.
*
diff --git a/frameworks/projects/Network/build.xml b/frameworks/projects/Network/build.xml
index cf45775..f466efd 100644
--- a/frameworks/projects/Network/build.xml
+++ b/frameworks/projects/Network/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Network/pom.xml b/frameworks/projects/Network/pom.xml
index b13cf88..e24d448 100644
--- a/frameworks/projects/Network/pom.xml
+++ b/frameworks/projects/Network/pom.xml
@@ -50,6 +50,7 @@
<includeClasses>
<includeClass>NetworkClasses</includeClass>
</includeClasses>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -67,7 +68,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Network/src/main/config/compile-as-config.xml b/frameworks/projects/Network/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Network/src/main/config/compile-as-config.xml
rename to frameworks/projects/Network/src/main/config/compile-swf-config.xml
index 591d4c8..b363b52 100644
--- a/frameworks/projects/Network/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Network/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Reflection/build.xml b/frameworks/projects/Reflection/build.xml
index d2b78ca..d74f72c 100644
--- a/frameworks/projects/Reflection/build.xml
+++ b/frameworks/projects/Reflection/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Reflection/pom.xml b/frameworks/projects/Reflection/pom.xml
index ab9db5a..450ef76 100644
--- a/frameworks/projects/Reflection/pom.xml
+++ b/frameworks/projects/Reflection/pom.xml
@@ -42,6 +42,7 @@
<extensions>true</extensions>
<configuration>
<includeSources>true</includeSources>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -59,7 +60,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/Reflection/src/main/config/compile-as-config.xml b/frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/Reflection/src/main/config/compile-as-config.xml
rename to frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
index 6b65d4e..c9f4c6e 100644
--- a/frameworks/projects/Reflection/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Reflection/src/main/config/compile-swf-config.xml
@@ -33,6 +33,16 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Storage/build.xml b/frameworks/projects/Storage/build.xml
index 6f079bf..cc75f2c 100644
--- a/frameworks/projects/Storage/build.xml
+++ b/frameworks/projects/Storage/build.xml
@@ -74,22 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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}" />
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -113,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/Storage/pom.xml b/frameworks/projects/Storage/pom.xml
index 0d49303..2448d9d 100644
--- a/frameworks/projects/Storage/pom.xml
+++ b/frameworks/projects/Storage/pom.xml
@@ -56,6 +56,7 @@
<path>../src/main/resources/defaults.css</path>
</include-file>
</includeFiles>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -73,7 +74,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
diff --git a/frameworks/projects/Storage/src/main/config/compile-as-config.xml b/frameworks/projects/Storage/src/main/config/compile-swf-config.xml
similarity index 92%
rename from frameworks/projects/Storage/src/main/config/compile-as-config.xml
rename to frameworks/projects/Storage/src/main/config/compile-swf-config.xml
index 60a81a1..5da30fa 100644
--- a/frameworks/projects/Storage/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Storage/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as b/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
index 00244fa..99234de 100644
--- a/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
+++ b/frameworks/projects/Storage/src/main/flex/org/apache/flex/storage/providers/AndroidExternalStorageProvider.as
@@ -34,6 +34,7 @@
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
+ * @flexjscordovaplugin cordova-plugin-file
* @flexjsignorecoercion FileEntry
* @flexjsignorecoercion FileWriter
* @flexjsignorecoercion window
diff --git a/frameworks/projects/XML/build.xml b/frameworks/projects/XML/build.xml
index 7dc535c..4550660 100644
--- a/frameworks/projects/XML/build.xml
+++ b/frameworks/projects/XML/build.xml
@@ -74,21 +74,28 @@
<echo message="Compiling libs/${ant.project.name}.swc"/>
<echo message="FLEX_HOME: ${FLEX_HOME}"/>
<echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_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" />
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
<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>
+ <arg value="-compiler.strict-xml=true" />
+ <arg value="-compiler.targets=SWF,JSFlex" />
+ <arg value="-output=${basedir}/target/${target.name}" />
+ <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+ <arg value="-js-load-config=${FLEX_HOME}/frameworks/js-config.xml" />
+ <arg value="-js-load-config+=${basedir}/../../js/FlexJS/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+ </java>
</target>
- <target name="check-compiler" depends="check-falcon-home">
+ <target name="check-compiler" depends="check-falcon-home,check-falconjx-home">
<path id="lib.path">
- <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+ <fileset dir="${FALCONJX_HOME}/lib" includes="falcon-flexTasks.jar"/>
</path>
<taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
</target>
@@ -112,4 +119,23 @@
unless="FALCON_HOME"/>
</target>
+ <target name="check-falconjx-home" unless="FALCONJX_HOME"
+ description="Check FALCON_HOME is a directory.">
+
+ <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/>
+
+ <available file="${env.FALCONJX_HOME}/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${env.FALCONJX_HOME}"/>
+
+ <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar"
+ type="file"
+ property="FALCONJX_HOME"
+ value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/>
+
+ <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK"
+ unless="FALCONJX_HOME"/>
+ </target>
+
</project>
diff --git a/frameworks/projects/XML/pom.xml b/frameworks/projects/XML/pom.xml
index 90e30d1..90883e7 100644
--- a/frameworks/projects/XML/pom.xml
+++ b/frameworks/projects/XML/pom.xml
@@ -48,6 +48,7 @@
</namespace>
</namespaces>
<includeSources>true</includeSources>
+ <skipExtern>true</skipExtern>
</configuration>
</plugin>
</plugins>
@@ -65,7 +66,7 @@
<artifactId>Core</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
<dependency>
<groupId>org.apache.flex.flexjs.framework</groupId>
@@ -78,7 +79,7 @@
<artifactId>Language</artifactId>
<version>0.8.0-SNAPSHOT</version>
<type>swc</type>
- <classifier>typedefs</classifier>
+ <classifier>js</classifier>
</dependency>
</dependencies>
diff --git a/frameworks/projects/XML/src/main/config/compile-as-config.xml b/frameworks/projects/XML/src/main/config/compile-swf-config.xml
similarity index 91%
rename from frameworks/projects/XML/src/main/config/compile-as-config.xml
rename to frameworks/projects/XML/src/main/config/compile-swf-config.xml
index 07cf4e8..59f040e 100644
--- a/frameworks/projects/XML/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/XML/src/main/config/compile-swf-config.xml
@@ -33,6 +33,15 @@
<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>
+ <define>
+ <name>COMPILE::SWF</name>
+ <value>true</value>
+ </define>
+ <define>
+ <name>COMPILE::JS</name>
+ <value>false</value>
+ </define>
+
<keep-as3-metadata>
<name>Bindable</name>
<name>Managed</name>
diff --git a/frameworks/projects/pom.xml b/frameworks/projects/pom.xml
index 66e9019..2d4e6b4 100644
--- a/frameworks/projects/pom.xml
+++ b/frameworks/projects/pom.xml
@@ -37,6 +37,7 @@
<module>Charts</module>
<module>Collections</module>
<module>Core</module>
+ <module>Basic</module>
<module>CreateJS</module>
<module>DragDrop</module>
<module>Effects</module>
@@ -46,7 +47,6 @@
<module>FontAwesome</module>
<module>GoogleMaps</module>
<module>Graphics</module>
- <!--<module>Basic</module>-->
<module>HTML</module>
<module>HTML5</module>
<module>JQuery</module>
diff --git a/manualtests/build.xml b/manualtests/build.xml
index ad8350c..fc658f3 100644
--- a/manualtests/build.xml
+++ b/manualtests/build.xml
@@ -104,6 +104,7 @@
<target name="clean" description="Cleans all SWCs and their resource bundles">
<ant dir="${basedir}/ContainerTest" target="clean"/>
+ <ant dir="${basedir}/DataBindingTestbed" target="clean"/>
<ant dir="${basedir}/DateChooserExample" target="clean"/>
<ant dir="${basedir}/EffectsExample" target="clean"/>
<ant dir="${basedir}/FlexJSTest_basic" target="clean"/>
diff --git a/mustella/tests/basicTests/BasicTestsApp.mxml b/mustella/tests/basicTests/BasicTestsApp.mxml
index 6d2635e..805b535 100644
--- a/mustella/tests/basicTests/BasicTestsApp.mxml
+++ b/mustella/tests/basicTests/BasicTestsApp.mxml
@@ -22,25 +22,7 @@
xmlns:js="library://ns.apache.org/flexjs/basic"
xmlns:models="models.*"
xmlns:controllers="controllers.*"
- applicationComplete="forwardEvent(event)" >
- <fx:Script>
- <![CDATA[
- import org.apache.flex.core.WrappedMovieClip;
-
- private var r:WrappedMovieClip;
- override public function setRoot(r:WrappedMovieClip):void
- {
- this.r = r;
- r["info"]().app = this;
- super.setRoot(r);
- }
-
- private function forwardEvent(e:Event):void
- {
- r.dispatchEvent(e);
- }
- ]]>
- </fx:Script>
+ >
<js:valuesImpl>
<js:SimpleCSSValuesImpl />
</js:valuesImpl>
diff --git a/mustella/tests/basicTests/DispatchMouseClickEvent.as b/mustella/tests/basicTests/DispatchMouseClickEvent.as
deleted file mode 100644
index 7b5eba0..0000000
--- a/mustella/tests/basicTests/DispatchMouseClickEvent.as
+++ /dev/null
@@ -1,300 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
-import flash.display.InteractiveObject;
-import flash.events.MouseEvent;
-import flash.geom.Point;
-import flash.text.TextField;
-
-import mx.core.mx_internal;
-use namespace mx_internal;
-
-/**
- * The test step that fakes a mouse event
- * MXML attributes:
- * target
- * type
- * ctrlKey (optional)
- * delta (optional)
- * localX
- * localY
- * relatedObject (optional)
- * shiftKey (optional)
- * stageX
- * stageY
- * waitTarget (optional)
- * waitEvent (optional)
- * timeout (optional);
- */
-public class DispatchMouseClickEvent extends TestStep
-{
-
- private static var mouseX:QName = new QName(mx_internal, "_mouseX");
- private static var mouseY:QName = new QName(mx_internal, "_mouseY");
-
- /**
- * @private
- */
- override public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
- {
- if (waitEvent && waitTarget == null)
- waitTarget = target;
- return super.execute(root, context, testCase, testResult);
- }
-
- /**
- * Set the target's property to the specified value
- */
- override protected function doStep():void
- {
- UnitTester.blockFocusEvents = false;
-
- var actualTarget:Object = context.stringToObject(target);
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- if (!actualTarget)
- {
- testResult.doFail("Target " + target + " not found");
- UnitTester.blockFocusEvents = true;
- return;
- }
- dispatchMouseEvent(actualTarget, "mouseDown");
- dispatchMouseEvent(actualTarget, "mouseUp");
- dispatchMouseEvent(actualTarget, "click");
-
- UnitTester.blockFocusEvents = true;
-
- }
-
- private function dispatchMouseEvent(actualTarget:Object, type:String):void
- {
- var event:MouseEvent = new MouseEvent(type, true); // all mouse events bubble
- event.ctrlKey = ctrlKey;
- event.shiftKey = shiftKey;
- event.buttonDown = type == "mouseDown";
- event.delta = delta;
- if (relatedObject && relatedObject.length > 0)
- {
- event.relatedObject = InteractiveObject(context.stringToObject(relatedObject));
- }
-
- var stagePt:Point;
- if (!isNaN(localX) && !isNaN(localY))
- {
- stagePt = actualTarget.localToGlobal(new Point(localX, localY));
- }
- else if (!isNaN(stageX) && !isNaN(stageY))
- {
- stagePt = new Point(stageX, stageY);
- }
- else
- {
- stagePt = actualTarget.localToGlobal(new Point(0, 0));
- }
- try {
- root[mouseX] = stagePt.x;
- root[mouseY] = stagePt.y;
- UnitTester.setMouseXY(stagePt);
- if (root["topLevelSystemManager"] != root)
- {
- root["topLevelSystemManager"][mouseX] = stagePt.x;
- root["topLevelSystemManager"][mouseY] = stagePt.y;
- }
- } catch (e:Error) {} // some scenarios don't support this
-
- if (actualTarget is DisplayObjectContainer)
- {
- var targets:Array = actualTarget.stage.getObjectsUnderPoint(stagePt);
- var arr:Array = UnitTester.getObjectsUnderPoint(DisplayObject(actualTarget), stagePt);
- targets = targets.concat(arr);
-
- for (var i:int = targets.length - 1; i >= 0; i--)
- {
- if (targets[i] is InteractiveObject)
- {
- if (targets[i] is TextField && !targets[i].selectable)
- {
- actualTarget = targets[i].parent;
- break;
- }
-
- if (isMouseTarget(InteractiveObject(targets[i])))
- {
- actualTarget = targets[i];
- break;
- }
- }
-/* else
- {
- try
- {
- actualTarget = targets[i].parent;
- while (actualTarget)
- {
- if (actualTarget is InteractiveObject)
- {
- if (isMouseTarget(InteractiveObject(actualTarget)))
- {
- break;
- }
- }
- actualTarget = actualTarget.parent;
- }
- if (actualTarget && actualTarget != root)
- break;
- }
- catch (e:Error)
- {
- if (actualTarget)
- break;
- }
- }
-*/ }
- }
-
- var localPt:Point = actualTarget.globalToLocal(stagePt);
- event.localX = localPt.x;
- event.localY = localPt.y;
-
- if (actualTarget is TextField)
- {
- if (type == "mouseDown")
- {
- var charIndex:int = actualTarget.getCharIndexAtPoint(event.localX, event.localY);
- actualTarget.setSelection(charIndex + 1, charIndex + 1);
- }
- }
-
- try
- {
- actualTarget.dispatchEvent(event);
- }
- catch (e2:Error)
- {
- TestOutput.logResult("Exception thrown in DispatchMouseClickEvent.");
- testResult.doFail (e2.getStackTrace());
- return;
- }
- }
-
- /**
- * The object that receives the mouse event
- */
- public var target:String;
-
- /**
- * The ctrlKey property on the MouseEvent (optional)
- */
- public var ctrlKey:Boolean;
-
- /**
- * The delta property on the MouseEvent (optional)
- */
- public var delta:int;
-
- /**
- * The localX property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var localX:Number;
-
- /**
- * The localY property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var localY:Number;
-
- /**
- * The stageX property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var stageX:Number;
-
- /**
- * The stageY property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var stageY:Number;
-
- /**
- * The shiftKey property on the MouseEvent (optional)
- */
- public var shiftKey:Boolean;
-
- /**
- * The relatedObject property on the MouseEvent (optional)
- */
- public var relatedObject:String;
-
-
- private function isMouseTarget(target:InteractiveObject):Boolean
- {
- if (!target.mouseEnabled)
- return false;
-
- // Examine parent chain for "mouseChildren" set to false:
- try
- {
- var parent:DisplayObjectContainer = target.parent;
- while (parent)
- {
- if (!parent.mouseChildren)
- return false;
- parent = parent.parent;
- }
- }
- catch (e1:Error)
- {
- }
-
- return true;
- }
-
- /**
- * customize string representation
- */
- override public function toString():String
- {
- var s:String = "DispatchMouseClickEvent: target = ";
- s += target;
- if (!isNaN(localX))
- s += ", localX = " + localX.toString();
- if (!isNaN(localY))
- s += ", localY = " + localY.toString();
- if (!isNaN(stageX))
- s += ", stageX = " + stageX.toString();
- if (!isNaN(stageY))
- s += ", stageY = " + stageY.toString();
- if (shiftKey)
- s += ", shiftKey = " + shiftKey.toString();
- if (ctrlKey)
- s += ", ctrlKey = " + ctrlKey.toString();
- if (relatedObject)
- s += ", relatedObject = " + relatedObject.toString();
- if (delta)
- s += ", delta = " + delta.toString();
- return s;
- }
-}
-
-}
diff --git a/mustella/tests/basicTests/DispatchMouseEvent.as b/mustella/tests/basicTests/DispatchMouseEvent.as
deleted file mode 100644
index 58f22a5..0000000
--- a/mustella/tests/basicTests/DispatchMouseEvent.as
+++ /dev/null
@@ -1,309 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.display.DisplayObjectContainer;
-import flash.display.InteractiveObject;
-import flash.text.TextField;
-import flash.events.MouseEvent;
-import flash.geom.Point;
-
-import mx.core.mx_internal;
-use namespace mx_internal;
-
-/**
- * The test step that fakes a mouse event
- * MXML attributes:
- * target
- * type
- * ctrlKey (optional)
- * delta (optional)
- * localX
- * localY
- * relatedObject (optional)
- * shiftKey (optional)
- * stageX
- * stageY
- * waitTarget (optional)
- * waitEvent (optional)
- * timeout (optional);
- */
-public class DispatchMouseEvent extends TestStep
-{
- private static var mouseX:QName = new QName(mx_internal, "_mouseX");
- private static var mouseY:QName = new QName(mx_internal, "_mouseY");
-
- /**
- * @private
- */
- override public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
- {
- if (waitEvent && waitTarget == null)
- waitTarget = target;
- return super.execute(root, context, testCase, testResult);
- }
-
- /**
- * Set the target's property to the specified value
- */
- override protected function doStep():void
- {
- UnitTester.blockFocusEvents = false;
-
- var actualTarget:Object = context.stringToObject(target);
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- if (!actualTarget)
- {
- testResult.doFail("Target " + target + " not found");
- UnitTester.blockFocusEvents = false;
- return;
- }
-
- var event:MouseEvent = new MouseEvent(type, true); // all mouse events bubble
- event.ctrlKey = ctrlKey;
- event.shiftKey = shiftKey;
- event.buttonDown = buttonDown || type == "mouseDown";
- event.delta = delta;
- if (relatedObject && relatedObject.length > 0)
- {
- event.relatedObject = InteractiveObject(context.stringToObject(relatedObject));
- if (!event.relatedObject)
- {
- testResult.doFail("RelatedObject " + relatedObject + " not found");
- UnitTester.blockFocusEvents = false;
- return;
- }
- }
-
- var stagePt:Point;
- if (!isNaN(localX) && !isNaN(localY))
- {
- stagePt = actualTarget.localToGlobal(new Point(localX, localY));
- }
- else if (!isNaN(stageX) && !isNaN(stageY))
- {
- stagePt = new Point(stageX, stageY);
- }
- else
- {
- stagePt = actualTarget.localToGlobal(new Point(0, 0));
- }
- try {
- root[mouseX] = stagePt.x;
- root[mouseY] = stagePt.y;
- UnitTester.setMouseXY(stagePt);
- if (root["topLevelSystemManager"] != root)
- {
- root["topLevelSystemManager"][mouseX] = stagePt.x;
- root["topLevelSystemManager"][mouseY] = stagePt.y;
- }
- } catch (e:Error) {}; // some scenarios don't support this
-
- if (actualTarget is DisplayObjectContainer)
- {
- var targets:Array = actualTarget.stage.getObjectsUnderPoint(stagePt);
- var arr:Array = UnitTester.getObjectsUnderPoint(DisplayObject(actualTarget), stagePt);
- targets = targets.concat(arr);
-
- for (var i:int = targets.length - 1; i >= 0; i--)
- {
- if (targets[i] is InteractiveObject)
- {
- if (targets[i] is TextField && !targets[i].selectable)
- {
- actualTarget = targets[i].parent;
- break;
- }
-
- if (isMouseTarget(InteractiveObject(targets[i])))
- {
- actualTarget = targets[i];
- break;
- }
- }
-/* else
- {
- try
- {
- actualTarget = targets[i].parent;
- while (actualTarget)
- {
- if (actualTarget is InteractiveObject)
- {
- if (isMouseTarget(InteractiveObject(actualTarget)))
- {
- break;
- }
- }
- actualTarget = actualTarget.parent;
- }
- if (actualTarget && actualTarget != root)
- break;
- }
- catch (e:Error)
- {
- if (actualTarget)
- break;
- }
- }
-*/ }
- }
-
- var localPt:Point = actualTarget.globalToLocal(stagePt);
- event.localX = localPt.x;
- event.localY = localPt.y;
-
- if (actualTarget is TextField)
- {
- if (type == "mouseDown")
- {
- var charIndex:int = actualTarget.getCharIndexAtPoint(event.localX, event.localY);
- actualTarget.setSelection(charIndex + 1, charIndex + 1);
- }
- }
-
- try
- {
- actualTarget.dispatchEvent(event);
- }
- catch (e2:Error)
- {
- TestOutput.logResult("Exception thrown in DispatchMouseClickEvent.");
- testResult.doFail (e2.getStackTrace());
- }
-
- UnitTester.blockFocusEvents = true;
- }
-
- /**
- * The object that receives the mouse event
- */
- public var target:String;
-
- /**
- * The type of the event to send (mouseUp, mouseDown, etc).
- */
- public var type:String;
-
- /**
- * The buttonDown property on the MouseEvent (optional)
- */
- public var buttonDown:Boolean;
-
- /**
- * The ctrlKey property on the MouseEvent (optional)
- */
- public var ctrlKey:Boolean;
-
- /**
- * The delta property on the MouseEvent (optional)
- */
- public var delta:int;
-
- /**
- * The localX property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var localX:Number;
-
- /**
- * The localY property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var localY:Number;
-
- /**
- * The stageX property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var stageX:Number;
-
- /**
- * The stageY property on the MouseEvent (optional)
- * Either set stageX/stageY or localX/localY, but not both.
- */
- public var stageY:Number;
-
- /**
- * The shiftKey property on the MouseEvent (optional)
- */
- public var shiftKey:Boolean;
-
- /**
- * The relatedObject property on the MouseEvent (optional)
- */
- public var relatedObject:String;
-
-
- private function isMouseTarget(target:InteractiveObject):Boolean
- {
- if (!target.mouseEnabled)
- return false;
-
- // Examine parent chain for "mouseChildren" set to false:
- try
- {
- var parent:DisplayObjectContainer = target.parent;
- while (parent)
- {
- if (!parent.mouseChildren)
- return false;
- parent = parent.parent;
- }
- }
- catch (e1:Error)
- {
- }
-
- return true;
- }
-
- /**
- * customize string representation
- */
- override public function toString():String
- {
- var s:String = "DispatchMouseEvent: target = ";
- s += target;
- if (type)
- s += ", type = " + type;
- if (!isNaN(localX))
- s += ", localX = " + localX.toString();
- if (!isNaN(localY))
- s += ", localY = " + localY.toString();
- if (!isNaN(stageX))
- s += ", stageX = " + stageX.toString();
- if (!isNaN(stageY))
- s += ", stageY = " + stageY.toString();
- if (shiftKey)
- s += ", shiftKey = " + shiftKey.toString();
- if (ctrlKey)
- s += ", ctrlKey = " + ctrlKey.toString();
- if (relatedObject)
- s += ", relatedObject = " + relatedObject.toString();
- if (delta)
- s += ", delta = " + delta.toString();
- return s;
- }
-}
-
-}
diff --git a/mustella/tests/basicTests/FlexJSContext.as b/mustella/tests/basicTests/FlexJSContext.as
index 2482f9f..4f03402 100644
--- a/mustella/tests/basicTests/FlexJSContext.as
+++ b/mustella/tests/basicTests/FlexJSContext.as
@@ -16,14 +16,14 @@
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
-package
-{
+package
+{
[Mixin]
-public class FlexJSContext
+public class FlexJSContext
{
- public function FlexJSContext()
- {
+ public function FlexJSContext()
+ {
super();
}
@@ -34,10 +34,10 @@
public static function contextFunction():Object
{
- return UnitTester._root["info"]().app["initialView"];
- }
-}
+ return UnitTester._root["initialView"];
+ }
+}
-
-}
-
+
+}
+
diff --git a/mustella/tests/basicTests/TestStep.as b/mustella/tests/basicTests/TestStep.as
deleted file mode 100644
index a2304ff..0000000
--- a/mustella/tests/basicTests/TestStep.as
+++ /dev/null
@@ -1,193 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package {
-
-import flash.display.DisplayObject;
-import flash.events.Event;
-import flash.events.EventDispatcher;
-import flash.events.IEventDispatcher;
-import flash.utils.getTimer;
-
-/**
- * The abstract base class for all steps in a test case. TestStep
- * cannot be used directly, instead its subclasses must be used
- * such as SetProperty, RunCode, Assert, etc.
- */
-public class TestStep extends EventDispatcher
-{
- /**
- * Called by the TestCase when it is time to start this step
- * The default implementation checks for a wait event and
- * returns true if there isn't one and false if there is.
- */
- public function execute(root:DisplayObject, context:UnitTester, testCase:TestCase, testResult:TestResult):Boolean
- {
- var tryLater:Boolean = false;
-
- this.root = root;
- this.context = context;
- this.testCase = testCase;
- this.testResult = testResult;
-
- if (waitEvent)
- {
- var actualTarget:IEventDispatcher = context.stringToObject(waitTarget) as IEventDispatcher;
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- if (!actualTarget)
- {
- // its ok if the target isn't here yet, it may be created during this step
- tryLater = true;
- }
- else
- {
- UnitTester.waitEvent = waitEvent;
- actualTarget.addEventListener(waitEvent, waitEventHandler);
- testCase.setExpirationTime(getTimer() + timeout);
- }
- }
-
- if (!UnitTester.hasRTE)
- doStep();
-
- // if test failed, don't bother waiting, just bail
- if (testResult.hasStatus() || UnitTester.hasRTE)
- {
- if (UnitTester.hasRTE)
- {
- testResult.result = 1;
- testResult.message = UnitTester.RTEMsg;
- dispatchEvent(new Event("runComplete"));
- return true;
- }
-
- if (waitEvent)
- {
- UnitTester.waitEvent = null;
- actualTarget = context.stringToObject(waitTarget) as IEventDispatcher;
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- actualTarget.removeEventListener(waitEvent, waitEventHandler);
- testCase.setExpirationTime(0);
- }
- return true;
- }
-
- if (tryLater && waitEvent)
- {
- actualTarget = context.stringToObject(waitTarget) as IEventDispatcher;
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- if (!actualTarget)
- {
- testResult.doFail("Target " + waitTarget + " not found");
- return true;
- }
- UnitTester.waitEvent = waitEvent;
- actualTarget.addEventListener(waitEvent, waitEventHandler);
- testCase.setExpirationTime(getTimer() + timeout);
- }
-
- return (waitEvent == null);
- }
-
- /**
- * The name of the object to listen for an event we're waiting on
- */
- public var waitTarget:String;
-
- /**
- * The name of the event to listen for on the waitTarget
- */
- public var waitEvent:String;
-
- /**
- * The number of milliseconds to wait before giving up
- */
- public var timeout:int = 3000;
-
- /**
- * The TestResult for this TestCase
- */
- protected var testResult:TestResult;
-
- /**
- * The TestCase that this step belongs to
- */
- protected var testCase:TestCase;
-
- /**
- * The UnitTester that this step belongs to
- */
- protected var context:UnitTester;
-
- /**
- * The root for the SWF
- */
- protected var root:DisplayObject;
-
- /**
- * The method that gets called when it is time to perform the work in the step.
- */
- protected function doStep():void
- {
- }
-
- /**
- * The method that gets called back when the event we're waiting on fires
- */
- protected function waitEventHandler(event:Event):void
- {
- stepComplete();
- }
-
- /**
- * The method that gets called when it is time to clean up the step.
- */
- protected function stepComplete():void
- {
- if (waitEvent)
- {
- UnitTester.waitEvent = null;
- var actualTarget:IEventDispatcher = context.stringToObject(waitTarget) as IEventDispatcher;
- if (!(actualTarget is DisplayObject))
- if ("element" in actualTarget)
- actualTarget = actualTarget["element"];
- if (actualTarget) // can be null if object killed during step
- actualTarget.removeEventListener(waitEvent, waitEventHandler);
- testCase.setExpirationTime(0);
- }
- dispatchEvent(new Event("stepComplete"));
- }
-
- /**
- * Called by the test case if you time out
- */
- public function timeoutCallback():void
- {
- testResult.doFail("Timeout waiting for " + waitEvent + " from " + waitTarget);
- stepComplete();
- }
-
-}
-
-}
diff --git a/nightly.properties b/nightly.properties
index 03928fc..a81d872 100644
--- a/nightly.properties
+++ b/nightly.properties
@@ -22,7 +22,7 @@
# path to falconjx nightly
falcon.server.url = http://apacheflexbuild.cloudapp.net:8080
falcon.md5.server.url = http://apacheflexbuild.cloudapp.net:8080
-falcon.folder = job/flex-falcon/lastSuccessfulBuild/artifact/out
+falcon.folder = job/flex-falcon-dual/lastSuccessfulBuild/artifact/out
falcon.version = 0.8.0
# path to local build
# falcon.server.url = file://Users/xxx/git/flex/master