You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/11/18 22:03:06 UTC
[11/21] move AS code into a projects/FlexJSUI
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
new file mode 100644
index 0000000..5936387
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/supportClasses/UIItemRendererBase.as
@@ -0,0 +1,123 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.staticControls.supportClasses
+{
+ import org.apache.flex.core.IItemRenderer;
+ import org.apache.flex.core.UIBase;
+ import org.apache.flex.events.Event;
+
+ public class UIItemRendererBase extends UIBase implements IItemRenderer
+ {
+ public function UIItemRendererBase()
+ {
+ }
+
+ override public function addedToParent():void
+ {
+ super.addedToParent();
+
+ // very common for item renderers to be resized by their containers,
+ addEventListener("widthChanged", sizeChangeHandler);
+ addEventListener("heightChanged", sizeChangeHandler);
+ }
+
+ public var backgroundColor:uint = 0xFFFFFF;
+ public var highlightColor:uint = 0xCEDBEF;
+ public var selectedColor:uint = 0xA8C6EE;
+ public var downColor:uint = 0x808080;
+
+ private var _data:Object;
+
+ public function get data():Object
+ {
+ return _data;
+ }
+ public function set data(value:Object):void
+ {
+ _data = value;
+ }
+
+ private var _index:int;
+
+ public function get index():int
+ {
+ return _index;
+ }
+ public function set index(value:int):void
+ {
+ _index = value;
+ }
+
+ private var _hovered:Boolean;
+
+ public function get hovered():Boolean
+ {
+ return _hovered;
+ }
+ public function set hovered(value:Boolean):void
+ {
+ _hovered = value;
+ updateRenderer();
+ }
+
+ private var _selected:Boolean;
+
+ public function get selected():Boolean
+ {
+ return _selected;
+ }
+ public function set selected(value:Boolean):void
+ {
+ _selected = value;
+ updateRenderer();
+ }
+
+ private var _down:Boolean;
+
+ public function get down():Boolean
+ {
+ return _down;
+ }
+ public function set down(value:Boolean):void
+ {
+ _down = value;
+ updateRenderer();
+ }
+
+ public function updateRenderer():void
+ {
+ if (down)
+ backgroundColor = downColor;
+ else if (hovered)
+ backgroundColor = highlightColor;
+ else if (selected)
+ backgroundColor = selectedColor;
+ }
+
+ private function sizeChangeHandler(event:Event):void
+ {
+ adjustSize();
+ }
+
+ public function adjustSize():void
+ {
+ // handle in subclass
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
new file mode 100644
index 0000000..4b7731d
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Button.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.Button;
+
+ public class Button extends org.apache.flex.html.staticControls.Button
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
new file mode 100644
index 0000000..ec92d72
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/CheckBox.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.CheckBox;
+
+ public class CheckBox extends org.apache.flex.html.staticControls.CheckBox
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
new file mode 100644
index 0000000..ebeea35
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/ComboBox.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.ComboBox;
+
+ public class ComboBox extends org.apache.flex.html.staticControls.ComboBox
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
new file mode 100644
index 0000000..14aa0fe
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/DropDownList.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.DropDownList;
+
+ public class DropDownList extends org.apache.flex.html.staticControls.DropDownList
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
new file mode 100644
index 0000000..8a8ad99
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/Label.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.Label;
+
+ /**
+ * 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.
+ */
+ public class Label extends org.apache.flex.html.staticControls.Label
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
new file mode 100644
index 0000000..86e8ef8
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/List.as
@@ -0,0 +1,33 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.List;
+
+ /**
+ * 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.
+ */
+ public class List extends org.apache.flex.html.staticControls.List
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
new file mode 100644
index 0000000..78f117b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/RadioButton.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.RadioButton;
+
+ public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
new file mode 100644
index 0000000..a2c4f0b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextArea.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.TextArea;
+
+ public class TextArea extends org.apache.flex.html.staticControls.TextArea
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
new file mode 100644
index 0000000..6c87ea4
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.html5.staticControls
+{
+ import flash.display.DisplayObject;
+
+ import org.apache.flex.html.staticControls.TextButton;
+
+ public class TextButton extends org.apache.flex.html.staticControls.TextButton
+ {
+ public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+ {
+ super(upState, overState, downState, hitTestState);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
new file mode 100644
index 0000000..adb723f
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html5/staticControls/TextInput.as
@@ -0,0 +1,25 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.html5.staticControls
+{
+ import org.apache.flex.html.staticControls.TextInput;
+
+ public class TextInput extends org.apache.flex.html.staticControls.TextInput
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
new file mode 100644
index 0000000..e2a3113
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/Application.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.jquery
+{
+ import org.apache.flex.core.Application;
+ import org.apache.flex.core.IFlexInfo;
+
+ public class Application extends org.apache.flex.core.Application implements IFlexInfo
+ {
+ public function Application()
+ {
+ super();
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
new file mode 100644
index 0000000..a2f3a01
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/CheckBox.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.jquery.staticControls
+{
+ import org.apache.flex.html.staticControls.CheckBox;
+
+ public class CheckBox extends org.apache.flex.html.staticControls.CheckBox
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
new file mode 100644
index 0000000..a94739a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/RadioButton.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.jquery.staticControls
+{
+ import org.apache.flex.html.staticControls.RadioButton;
+
+ public class RadioButton extends org.apache.flex.html.staticControls.RadioButton
+ {
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
new file mode 100644
index 0000000..c2632f3
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/jquery/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.jquery.staticControls
+{
+ import flash.display.DisplayObject;
+
+ import org.apache.flex.html.staticControls.TextButton;
+
+ public class TextButton extends org.apache.flex.html.staticControls.TextButton
+ {
+ public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+ {
+ super(upState, overState, downState, hitTestState);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
new file mode 100644
index 0000000..e806518
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/BinaryUploader.as
@@ -0,0 +1,305 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ import flash.events.HTTPStatusEvent;
+ import flash.events.IOErrorEvent;
+ import flash.net.URLLoader;
+ import flash.net.URLRequest;
+ import flash.net.URLRequestHeader;
+ import flash.net.URLRequestMethod;
+
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.events.EventDispatcher;
+ import org.apache.flex.utils.BinaryData;
+
+ [Event(name="complete", type="org.apache.flex.events.Event")]
+
+ [Event(name="ioError", type="org.apache.flex.events.Event")]
+
+ [Event(name="httpStatus", type="org.apache.flex.events.Event")]
+
+ [Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
+
+ [DefaultProperty("beads")]
+
+ public class BinaryUploader extends EventDispatcher implements IStrand, IBead
+ {
+ public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
+ public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
+ public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
+ public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
+
+ public function BinaryUploader()
+ {
+ super();
+ }
+
+ private var _contentType:String = "application/octet-stream";
+ public function get contentType():String
+ {
+ return _contentType;
+ }
+ public function set contentType(value:String):void
+ {
+ if (_contentType != value)
+ {
+ _contentType = value;
+ dispatchEvent(new Event("contentTypeChanged"));
+ }
+ }
+
+ private var _binaryData:BinaryData;
+ public function get binaryData():BinaryData
+ {
+ return _binaryData;
+ }
+ public function set binaryData(value:BinaryData):void
+ {
+ if (_binaryData != value)
+ {
+ _binaryData = value;
+ dispatchEvent(new Event("binaryDataChanged"));
+ }
+ }
+
+ private var _headers:Array;
+ public function get headers():Array
+ {
+ if (_headers == null)
+ _headers = [];
+ return _headers;
+ }
+ public function set headers(value:Array):void
+ {
+ if (_headers != value)
+ {
+ _headers = value;
+ dispatchEvent(new Event("headersChanged"));
+ }
+ }
+
+ private var _method:String = HTTP_METHOD_POST;
+ public function get method():String
+ {
+ return _method;
+ }
+ public function set method(value:String):void
+ {
+ if (_method != value)
+ {
+ _method = value;
+ dispatchEvent(new Event("methodChanged"));
+ }
+ }
+
+ private var _responseHeaders:Array;
+ public function get responseHeaders():Array
+ {
+ if (_responseHeaders && _responseHeaders.length > 0)
+ {
+ if (_responseHeaders[0] is URLRequestHeader)
+ {
+ var n:int = _responseHeaders.length;
+ for (var i:int = 0; i < n; i++)
+ {
+ var old:URLRequestHeader = _responseHeaders[i];
+ var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
+ _responseHeaders[i] = nu;
+ }
+ }
+ }
+ return _responseHeaders;
+ }
+
+ private var _responseURL:String;
+ public function get responseURL():String
+ {
+ return _responseURL;
+ }
+
+ private var _status:int;
+ public function get status():int
+ {
+ return _status;
+ }
+
+ private var _url:String;
+ public function get url():String
+ {
+ return _url;
+ }
+ public function set url(value:String):void
+ {
+ if (_url != value)
+ {
+ _url = value;
+ dispatchEvent(new Event("urlChanged"));
+ }
+ }
+
+ private var _timeout:Number = 0;
+ public function get timeout():Number
+ {
+ return _timeout;
+ }
+ public function set timeout(value:Number):void
+ {
+ if (_timeout != value)
+ {
+ _timeout = value;
+ dispatchEvent(new Event("timeoutChanged"));
+ }
+ }
+
+ private var _id:String;
+ public function get id():String
+ {
+ return _id;
+ }
+ public function set id(value:String):void
+ {
+ if (_id != value)
+ {
+ _id = value;
+ dispatchEvent(new Event("idChanged"));
+ }
+ }
+
+ private var _strand:IStrand;
+
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ }
+
+ // beads declared in MXML are added to the strand.
+ // from AS, just call addBead()
+ public var beads:Array;
+
+ private var _beads:Vector.<IBead>;
+ public function addBead(bead:IBead):void
+ {
+ if (!_beads)
+ _beads = new Vector.<IBead>;
+ _beads.push(bead);
+ bead.strand = this;
+ }
+
+ public function getBeadByType(classOrInterface:Class):IBead
+ {
+ for each (var bead:IBead in _beads)
+ {
+ if (bead is classOrInterface)
+ return bead;
+ }
+ return null;
+ }
+
+ 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 var urlLoader:URLLoader;
+
+ public function send():void
+ {
+ if (!urlLoader)
+ urlLoader = new URLLoader();
+ var request:URLRequest = new URLRequest(url);
+ request.method = method;
+ if ("idleTimeout" in request)
+ {
+ request["idleTimeout"] = timeout;
+ }
+ var sawContentType:Boolean;
+ if (headers)
+ {
+ for each (var header:HTTPHeader in headers)
+ {
+ var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
+ request.requestHeaders.push(urlHeader);
+ if (header.name == HTTPHeader.CONTENT_TYPE)
+ sawContentType = true;
+ }
+ }
+ if (method != HTTP_METHOD_GET && !sawContentType)
+ {
+ urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
+ request.requestHeaders.push(urlHeader);
+ }
+ if (binaryData)
+ {
+ if (method == HTTP_METHOD_GET)
+ {
+ if (url.indexOf("?") != -1)
+ url += binaryData.data.toString();
+ else
+ url += "?" + binaryData.data.toString();
+ }
+ else
+ request.data = binaryData.data;
+ }
+ urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+ urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
+ if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
+ urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
+ urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
+ urlLoader.load(request);
+ }
+
+ protected function statusHandler(event:HTTPStatusEvent):void
+ {
+ _status = event.status;
+ if ("responseHeaders" in event)
+ _responseHeaders = event.responseHeaders;
+ if ("responseURL" in event)
+ _responseURL = event.responseURL;
+ dispatchEvent(new Event(event.type));
+ }
+
+ protected function ioErrorHandler(event:IOErrorEvent):void
+ {
+ dispatchEvent(new Event(event.type));
+ }
+
+ protected function completeHandler(event:flash.events.Event):void
+ {
+ dispatchEvent(new Event(event.type));
+ }
+
+ public function get data():*
+ {
+ return urlLoader.data;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
new file mode 100644
index 0000000..4585530
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPHeader.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ public class HTTPHeader
+ {
+ public static const CONTENT_TYPE:String = "Content-type";
+
+ public function HTTPHeader(name:String = null, value:String = null)
+ {
+ super();
+ this.name = name;
+ this.value = value;
+ }
+
+ public var name:String;
+ public var value:String;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
new file mode 100644
index 0000000..225ff08
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/HTTPService.as
@@ -0,0 +1,304 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ import flash.events.HTTPStatusEvent;
+ import flash.events.IOErrorEvent;
+ import flash.net.URLLoader;
+ import flash.net.URLRequest;
+ import flash.net.URLRequestHeader;
+ import flash.net.URLRequestMethod;
+
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.events.EventDispatcher;
+
+ [Event(name="complete", type="org.apache.flex.events.Event")]
+
+ [Event(name="ioError", type="org.apache.flex.events.Event")]
+
+ [Event(name="httpStatus", type="org.apache.flex.events.Event")]
+
+ [Event(name="httpResponseStatus", type="org.apache.flex.events.Event")]
+
+ [DefaultProperty("beads")]
+
+ public class HTTPService extends EventDispatcher implements IStrand, IBead
+ {
+ public static const HTTP_METHOD_GET:String = URLRequestMethod.GET;
+ public static const HTTP_METHOD_POST:String = URLRequestMethod.POST;
+ public static const HTTP_METHOD_PUT:String = URLRequestMethod.PUT;
+ public static const HTTP_METHOD_DELETE:String = URLRequestMethod.DELETE;
+
+ public function HTTPService()
+ {
+ super();
+ }
+
+ private var _contentType:String = "application/x-www-form-urlencoded";
+ public function get contentType():String
+ {
+ return _contentType;
+ }
+ public function set contentType(value:String):void
+ {
+ if (_contentType != value)
+ {
+ _contentType = value;
+ dispatchEvent(new Event("contentTypeChanged"));
+ }
+ }
+
+ private var _contentData:String;
+ public function get contentData():String
+ {
+ return _contentData;
+ }
+ public function set contentData(value:String):void
+ {
+ if (_contentData != value)
+ {
+ _contentData = value;
+ dispatchEvent(new Event("contentDataChanged"));
+ }
+ }
+
+ private var _headers:Array;
+ public function get headers():Array
+ {
+ if (_headers == null)
+ _headers = [];
+ return _headers;
+ }
+ public function set headers(value:Array):void
+ {
+ if (_headers != value)
+ {
+ _headers = value;
+ dispatchEvent(new Event("headersChanged"));
+ }
+ }
+
+ private var _method:String = HTTP_METHOD_GET;
+ public function get method():String
+ {
+ return _method;
+ }
+ public function set method(value:String):void
+ {
+ if (_method != value)
+ {
+ _method = value;
+ dispatchEvent(new Event("methodChanged"));
+ }
+ }
+
+ private var _responseHeaders:Array;
+ public function get responseHeaders():Array
+ {
+ if (_responseHeaders && _responseHeaders.length > 0)
+ {
+ if (_responseHeaders[0] is URLRequestHeader)
+ {
+ var n:int = _responseHeaders.length;
+ for (var i:int = 0; i < n; i++)
+ {
+ var old:URLRequestHeader = _responseHeaders[i];
+ var nu:HTTPHeader = new HTTPHeader(old.name, old.value);
+ _responseHeaders[i] = nu;
+ }
+ }
+ }
+ return _responseHeaders;
+ }
+
+ private var _responseURL:String;
+ public function get responseURL():String
+ {
+ return _responseURL;
+ }
+
+ private var _status:int;
+ public function get status():int
+ {
+ return _status;
+ }
+
+ private var _url:String;
+ public function get url():String
+ {
+ return _url;
+ }
+ public function set url(value:String):void
+ {
+ if (_url != value)
+ {
+ _url = value;
+ dispatchEvent(new Event("urlChanged"));
+ }
+ }
+
+ private var _timeout:Number = 0;
+ public function get timeout():Number
+ {
+ return _timeout;
+ }
+ public function set timeout(value:Number):void
+ {
+ if (_timeout != value)
+ {
+ _timeout = value;
+ dispatchEvent(new Event("timeoutChanged"));
+ }
+ }
+
+ private var _id:String;
+ public function get id():String
+ {
+ return _id;
+ }
+ public function set id(value:String):void
+ {
+ if (_id != value)
+ {
+ _id = value;
+ dispatchEvent(new Event("idChanged"));
+ }
+ }
+
+ private var _strand:IStrand;
+
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ }
+
+ // beads declared in MXML are added to the strand.
+ // from AS, just call addBead()
+ public var beads:Array;
+
+ private var _beads:Vector.<IBead>;
+ public function addBead(bead:IBead):void
+ {
+ if (!_beads)
+ _beads = new Vector.<IBead>;
+ _beads.push(bead);
+ bead.strand = this;
+ }
+
+ public function getBeadByType(classOrInterface:Class):IBead
+ {
+ for each (var bead:IBead in _beads)
+ {
+ if (bead is classOrInterface)
+ return bead;
+ }
+ return null;
+ }
+
+ 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 var urlLoader:URLLoader;
+
+ public function send():void
+ {
+ if (!urlLoader)
+ urlLoader = new URLLoader();
+ var request:URLRequest = new URLRequest(url);
+ request.method = method;
+ if ("idleTimeout" in request)
+ {
+ request["idleTimeout"] = timeout;
+ }
+ var sawContentType:Boolean;
+ if (headers)
+ {
+ for each (var header:HTTPHeader in headers)
+ {
+ var urlHeader:URLRequestHeader = new URLRequestHeader(header.name, header.value);
+ request.requestHeaders.push(urlHeader);
+ if (header.name == HTTPHeader.CONTENT_TYPE)
+ sawContentType = true;
+ }
+ }
+ if (method != HTTP_METHOD_GET && !sawContentType && contentData != null)
+ {
+ urlHeader = new URLRequestHeader(HTTPHeader.CONTENT_TYPE, contentType);
+ request.requestHeaders.push(urlHeader);
+ }
+ if (contentData)
+ {
+ if (method == HTTP_METHOD_GET)
+ {
+ if (url.indexOf("?") != -1)
+ url += contentData;
+ else
+ url += "?" + contentData;
+ }
+ else
+ request.data = contentData;
+ }
+ urlLoader.addEventListener(flash.events.Event.COMPLETE, completeHandler);
+ urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
+ if (HTTPStatusEvent.HTTP_RESPONSE_STATUS) // only on AIR
+ urlLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, statusHandler);
+ urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, statusHandler);
+ urlLoader.load(request);
+ }
+
+ protected function statusHandler(event:HTTPStatusEvent):void
+ {
+ _status = event.status;
+ if ("responseHeaders" in event)
+ _responseHeaders = event.responseHeaders;
+ if ("responseURL" in event)
+ _responseURL = event.responseURL;
+ dispatchEvent(new Event(event.type));
+ }
+
+ protected function ioErrorHandler(event:IOErrorEvent):void
+ {
+ dispatchEvent(new Event(event.type));
+ }
+
+ protected function completeHandler(event:flash.events.Event):void
+ {
+ dispatchEvent(new Event(event.type));
+ }
+
+ public function get data():*
+ {
+ return urlLoader.data;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
new file mode 100644
index 0000000..55e0d99
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IInputParser.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ public interface IInputParser
+ {
+ function parseItems(s:String):Array;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
new file mode 100644
index 0000000..f736ce5
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/IItemConverter.as
@@ -0,0 +1,25 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ public interface IItemConverter
+ {
+ function convertItem(data:String):Object
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
new file mode 100644
index 0000000..4abbbde
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONInputParser.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.net
+{
+ public class JSONInputParser implements IInputParser
+ {
+ public function parseItems(s:String):Array
+ {
+ return s.split("},");
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as
new file mode 100644
index 0000000..0042e5b
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/JSONItemConverter.as
@@ -0,0 +1,30 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net
+{
+ import org.apache.flex.net.IItemConverter;
+
+ public class JSONItemConverter implements IItemConverter
+ {
+ public function convertItem(data:String):Object
+ {
+ return JSON.parse(data);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
new file mode 100644
index 0000000..7b1be41
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/net/dataConverters/LazyCollection.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.net.dataConverters
+{
+ import flash.events.Event;
+ import flash.events.IEventDispatcher;
+
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.data.ICollection;
+ import org.apache.flex.events.EventDispatcher;
+ import org.apache.flex.net.IInputParser;
+ import org.apache.flex.net.IItemConverter;
+
+ public class LazyCollection extends EventDispatcher implements IBead, ICollection
+ {
+ public function LazyCollection()
+ {
+ super();
+ }
+
+ private var _inputParser:IInputParser;
+ public function get inputParser():IInputParser
+ {
+ return _inputParser;
+ }
+ public function set inputParser(value:IInputParser):void
+ {
+ if (_inputParser != value)
+ {
+ _inputParser = value;
+ dispatchEvent(new Event("inputParserChanged"));
+ }
+ }
+
+ private var _itemConverter:IItemConverter;
+ public function get itemConverter():IItemConverter
+ {
+ return _itemConverter;
+ }
+ public function set itemConverter(value:IItemConverter):void
+ {
+ if (_itemConverter != value)
+ {
+ _itemConverter = value;
+ dispatchEvent(new Event("itemConverterChanged"));
+ }
+ }
+
+ private var _id:String;
+ public function get id():String
+ {
+ return _id;
+ }
+ public function set id(value:String):void
+ {
+ if (_id != value)
+ {
+ _id = value;
+ dispatchEvent(new Event("idChanged"));
+ }
+ }
+
+ private var _strand:IStrand;
+
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ IEventDispatcher(_strand).addEventListener(Event.COMPLETE, completeHandler);
+ }
+
+ private var rawData:Array;
+ private var data:Array;
+
+ private function completeHandler(event:Event):void
+ {
+ rawData = inputParser.parseItems(_strand["data"]);
+ data = new Array(rawData.length);
+ }
+
+ public function getItemAt(index:int):Object
+ {
+ if (data[index] == undefined)
+ {
+ data[index] = itemConverter.convertItem(rawData[index]);
+ }
+ return data[index];
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
new file mode 100644
index 0000000..a493e31
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/svg/staticControls/TextButton.as
@@ -0,0 +1,32 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.staticControls
+{
+ import flash.display.DisplayObject;
+
+ import org.apache.flex.html.staticControls.TextButton;
+
+ public class TextButton extends org.apache.flex.html.staticControls.TextButton
+ {
+ public function TextButton(upState:DisplayObject=null, overState:DisplayObject=null, downState:DisplayObject=null, hitTestState:DisplayObject=null)
+ {
+ super(upState, overState, downState, hitTestState);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
new file mode 100644
index 0000000..3ec3827
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BeadMetrics.as
@@ -0,0 +1,79 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.UIMetrics;
+ import org.apache.flex.core.ValuesManager;
+
+public class BeadMetrics
+{
+
+ public static function getMetrics(strand:IStrand) : UIMetrics
+ {
+ var borderThickness:Object = ValuesManager.valuesImpl.getValue(strand,"border-thickness");
+ var borderOffset:Number;
+ if( borderThickness == null ) {
+ borderOffset = 0;
+ }
+ else {
+ borderOffset = Number(borderThickness);
+ if( isNaN(borderOffset) ) borderOffset = 0;
+ }
+
+ var paddingLeft:Object;
+ var paddingTop:Object;
+ var padding:Object = ValuesManager.valuesImpl.getValue(strand, "padding");
+ if (padding is Array)
+ {
+ if (padding.length == 1)
+ paddingLeft = paddingTop = padding[0];
+ else if (padding.length <= 3)
+ {
+ paddingLeft = padding[1];
+ paddingTop = padding[0];
+ }
+ else if (padding.length == 4)
+ {
+ paddingLeft = padding[3];
+ paddingTop = padding[0];
+ }
+ }
+ else if (padding == null)
+ {
+ paddingLeft = ValuesManager.valuesImpl.getValue(strand, "padding-left");
+ paddingTop = ValuesManager.valuesImpl.getValue(strand, "padding-top");
+ }
+ else
+ {
+ paddingLeft = paddingTop = padding;
+ }
+ var pl:Number = Number(paddingLeft);
+ var pt:Number = Number(paddingTop);
+
+ var result:UIMetrics = new UIMetrics();
+ result.top = borderOffset + pt;
+ result.left = borderOffset + pl;
+ result.bottom = borderOffset + pt;
+ result.right = borderOffset + pl;
+
+ return result;
+ }
+}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
new file mode 100644
index 0000000..48cfd00
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/BinaryData.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+ import flash.utils.ByteArray;
+
+public class BinaryData
+{
+ public function BinaryData()
+ {
+
+ }
+
+ private var ba:ByteArray = new ByteArray();
+
+ /**
+ * Get the platform-specific data for sending.
+ * Generally only used by the network services.
+ */
+ public function get data():Object
+ {
+ return ba;
+ }
+
+ public function writeByte(byte:int):void
+ {
+ ba.writeByte(byte);
+ }
+
+ public function writeShort(byte:int):void
+ {
+ ba.writeShort(byte);
+ }
+
+ public function writeUnsignedInt(byte:uint):void
+ {
+ ba.writeUnsignedInt(byte);
+ }
+
+ public function writeInt(byte:uint):void
+ {
+ ba.writeInt(byte);
+ }
+
+ public function readByte():int
+ {
+ return ba.readByte();
+ }
+
+ public function readShort():int
+ {
+ return ba.readShort();
+ }
+
+ public function readUnsignedInt():uint
+ {
+ return ba.readUnsignedInt();
+ }
+
+ public function readInt():int
+ {
+ return ba.readInt();
+ }
+
+ public function get length():int
+ {
+ return ba.length;
+ }
+
+ public function get bytesAvailable():int
+ {
+ return ba.bytesAvailable;
+ }
+
+ public function get position():int
+ {
+ return ba.position;
+ }
+
+ public function set position(value:int):void
+ {
+ ba.position = value;
+ }
+
+ public function growBuffer(extra:int):void
+ {
+ // no need to do anything in AS
+ }
+}
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
new file mode 100644
index 0000000..3538e51
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/MXMLDataInterpreter.as
@@ -0,0 +1,321 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+
+import org.apache.flex.core.IStrand;
+import org.apache.flex.core.IBead;
+import org.apache.flex.core.IDocument;
+import org.apache.flex.core.IParent;
+import org.apache.flex.core.IContainer;
+
+public class MXMLDataInterpreter
+{
+ public function MXMLDataInterpreter()
+ {
+ super();
+ }
+
+
+ public static function generateMXMLObject(document:Object, data:Array):Object
+ {
+ var i:int = 0;
+ var cls:Class = data[i++];
+ var comp:Object = new cls();
+
+ var m:int;
+ var j:int;
+ var name:String;
+ var simple:*;
+ var value:Object;
+ var id:String;
+
+ m = data[i++]; // num props
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, null, value as Array);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ if (name == "id")
+ {
+ document[value] = comp;
+ id = value as String;
+ }
+ else if (name == "_id")
+ {
+ document[value] = comp;
+ id = value as String;
+ continue; // skip assignment to comp
+ }
+ comp[name] = value;
+ }
+ if (comp is IDocument)
+ comp.setDocument(document, id);
+ return comp;
+ }
+
+ public static function generateMXMLArray(document:Object, parent:IParent, data:Array, recursive:Boolean = true):Array
+ {
+ var comps:Array = [];
+
+ var n:int = data.length;
+ var i:int = 0;
+ while (i < n)
+ {
+ var cls:Class = data[i++];
+ var comp:Object = new cls();
+
+ var m:int;
+ var j:int;
+ var name:String;
+ var simple:*;
+ var value:Object;
+ var id:String = null;
+
+ m = data[i++]; // num props
+ if (m > 0 && data[0] == "model")
+ {
+ m--;
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, parent, value as Array, recursive);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ comp[name] = value;
+ if (value is IBead && comp is IStrand)
+ IStrand(comp).addBead(value as IBead);
+ }
+ var beadOffset:int = i + (m - 1) * 3;
+ if (beadOffset >= -1)
+ trace(beadOffset, data[beadOffset]);
+ if (m > 0 && data[beadOffset] == "beads")
+ {
+ m--;
+ }
+ else
+ beadOffset = -1;
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, null, value as Array, recursive);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ if (name == "id")
+ id = value as String;
+ if (name == "document" && !comp.document)
+ comp.document = document;
+ else if (name == "_id")
+ id = value as String; // and don't assign to comp
+ else
+ comp[name] = value;
+ }
+ if (beadOffset > -1)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, null, value as Array, recursive);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ else
+ comp[name] = value;
+ var beads:Array = value as Array;
+ var l:int = beads.length;
+ for (var k:int = 0; k < l; k++)
+ {
+ var bead:IBead = beads[k] as IBead;
+ IStrand(comp).addBead(bead);
+ }
+ }
+ m = data[i++]; // num styles
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, null, value as Array, recursive);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ comp.setStyle(name, value);
+ }
+
+ m = data[i++]; // num effects
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(document, null, value as Array, recursive);
+ else if (simple == false)
+ value = generateMXMLObject(document, value as Array);
+ comp.setStyle(name, value);
+ }
+
+ m = data[i++]; // num events
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ value = data[i++];
+ comp.addEventListener(name, value);
+ }
+
+ if (parent)
+ {
+ parent.addElement(comp);
+ }
+
+ var children:Array = data[i++];
+ if (children)
+ {
+ if (recursive)
+ {
+ generateMXMLInstances(document, comp as IParent, children, recursive);
+ if (comp is IContainer)
+ {
+ IContainer(comp).childrenAdded();
+ }
+ }
+ else
+ comp.setMXMLDescriptor(children);
+ }
+
+ if (id)
+ document[id] = comp;
+
+ if (comp is IDocument)
+ comp.setDocument(document, id);
+ comps.push(comp);
+ }
+ return comps;
+ }
+
+ public static function generateMXMLInstances(document:Object, parent:IParent, data:Array, recursive:Boolean = true):void
+ {
+ if (!data) return;
+
+ generateMXMLArray(document, parent, data, recursive);
+ }
+
+ public static function generateMXMLProperties(host:Object, data:Array):void
+ {
+ if (!data) return;
+
+ var i:int = 0;
+ var m:int;
+ var j:int;
+ var name:String;
+ var simple:*;
+ var value:Object;
+ var id:String = null;
+
+ m = data[i++]; // num props
+ var beadOffset:int = i + (m - 1) * 3;
+ if (beadOffset >= -1)
+ trace(beadOffset, data[beadOffset]);
+ if (m > 0 && data[beadOffset] == "beads")
+ {
+ m--;
+ }
+ else
+ beadOffset = -1;
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(host, null, value as Array, true);
+ else if (simple == false)
+ value = generateMXMLObject(host, value as Array);
+ if (name == "id")
+ id = value as String;
+ if (name == "_id")
+ id = value as String; // and don't assign
+ else
+ host[name] = value;
+ }
+ if (beadOffset > -1)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(host, null, value as Array, true);
+ else if (simple == false)
+ value = generateMXMLObject(host, value as Array);
+ else
+ host[name] = value;
+ var beads:Array = value as Array;
+ var l:int = beads.length;
+ for (var k:int = 0; k < l; k++)
+ {
+ var bead:IBead = beads[k] as IBead;
+ IStrand(host).addBead(bead);
+ bead.strand = host as IStrand;
+ }
+ }
+ m = data[i++]; // num styles
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(host, null, value as Array, true);
+ else if (simple == false)
+ value = generateMXMLObject(host, value as Array);
+ host[name] = value;
+ }
+
+ m = data[i++]; // num effects
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ simple = data[i++];
+ value = data[i++];
+ if (simple == null)
+ value = generateMXMLArray(host, null, value as Array, true);
+ else if (simple == false)
+ value = generateMXMLObject(host, value as Array);
+ host[name] = value;
+ }
+
+ m = data[i++]; // num events
+ for (j = 0; j < m; j++)
+ {
+ name = data[i++];
+ value = data[i++];
+ host.addEventListener(name, value as Function);
+ }
+ }
+
+}
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
new file mode 100644
index 0000000..cb43da1
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/SolidBorderUtil.as
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+ import flash.display.Graphics;
+
+public class SolidBorderUtil
+{
+ public static function drawBorder(g:Graphics, x:Number, y:Number,
+ width:Number, height:Number,
+ color:uint, backgroundColor:Object = null,
+ thickness:int = 1, alpha:Number = 1.0):void
+ {
+ g.lineStyle(thickness, color, alpha);
+ if (backgroundColor != null)
+ g.beginFill(uint(backgroundColor));
+
+ g.drawRect(x, y, width, height);
+ if (backgroundColor != null)
+ g.endFill();
+ }
+}
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
new file mode 100644
index 0000000..541ddfd
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/Timer.as
@@ -0,0 +1,45 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+import flash.events.TimerEvent;
+import flash.utils.Timer;
+
+import org.apache.flex.events.Event;
+
+[Event(name="timer", type="org.apache.flex.events.Event")]
+
+public class Timer extends flash.utils.Timer
+{
+ public function Timer(delay:Number, repeatCount:int = 0)
+ {
+ super(delay, repeatCount);
+ addEventListener("timer", interceptor, false, 9999);
+ }
+
+ private function interceptor(event:flash.events.Event):void
+ {
+ if (event is TimerEvent)
+ {
+ event.stopImmediatePropagation();
+ dispatchEvent(new Event("timer"));
+ }
+ }
+}
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
new file mode 100644
index 0000000..e119377
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/utils/ViewSourceContextMenuOption.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES 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.utils
+{
+
+import flash.display.InteractiveObject;
+import flash.events.ContextMenuEvent;
+import flash.net.URLRequest;
+import flash.net.navigateToURL;
+import flash.ui.ContextMenu;
+import flash.ui.ContextMenuItem;
+
+import org.apache.flex.core.IBead;
+import org.apache.flex.core.IStrand;
+
+public class ViewSourceContextMenuOption implements IBead
+{
+ public function ViewSourceContextMenuOption()
+ {
+ }
+
+ private var _strand:IStrand;
+
+ public function set strand(value:IStrand):void
+ {
+ _strand = value;
+
+ var menuHost:InteractiveObject = InteractiveObject(value);
+ var cm:ContextMenu = menuHost.contextMenu;
+ if (!cm)
+ {
+ cm = new ContextMenu();
+ menuHost.contextMenu = cm;
+ }
+ var cmi:ContextMenuItem = new ContextMenuItem("View Source...");
+ cm.hideBuiltInItems();
+ cm.customItems.push(cmi);
+ cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, viewSource);
+ }
+
+ private function viewSource(e:ContextMenuEvent):void
+ {
+ var urlRequest:URLRequest = new URLRequest("srcview/index.html");
+ navigateToURL(urlRequest, "_blank");
+ }
+}
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/66246d8a/frameworks/as/projects/FlexJSUI/svg-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/svg-manifest.xml b/frameworks/as/projects/FlexJSUI/svg-manifest.xml
new file mode 100644
index 0000000..89d7728
--- /dev/null
+++ b/frameworks/as/projects/FlexJSUI/svg-manifest.xml
@@ -0,0 +1,26 @@
+<?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="TextButton" class="org.apache.flex.svg.staticControls.TextButton"/>
+
+</componentPackage>