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 2014/11/11 23:08:37 UTC
[21/28] git commit: [flex-asjs] [refs/heads/develop] - Move Drag/Drop
controllers to FlexJSJX
Move Drag/Drop controllers to FlexJSJX
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/ad25e3ff
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/ad25e3ff
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/ad25e3ff
Branch: refs/heads/develop
Commit: ad25e3ffb989ae7b56fa9c2b5ec792f4e6b9ef9e
Parents: 6a9ea39
Author: Alex Harui <ah...@apache.org>
Authored: Fri Nov 7 11:07:39 2014 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Nov 11 14:07:59 2014 -0800
----------------------------------------------------------------------
.../as/projects/FlexJSJX/basic-manifest.xml | 3 +
.../as/projects/FlexJSJX/src/FlexJSJXClasses.as | 1 +
.../src/org/apache/flex/core/DropType.as | 64 +++++
.../beads/controllers/DragMouseController.as | 286 +++++++++++++++++++
.../beads/controllers/DropMouseController.as | 188 ++++++++++++
.../as/projects/FlexJSUI/basic-manifest.xml | 2 -
.../as/projects/FlexJSUI/src/FlexJSUIClasses.as | 2 +-
.../src/org/apache/flex/core/DropType.as | 64 -----
.../beads/controllers/DragMouseController.as | 284 ------------------
.../beads/controllers/DropMouseController.as | 188 ------------
10 files changed, 543 insertions(+), 539 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSJX/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/basic-manifest.xml b/frameworks/as/projects/FlexJSJX/basic-manifest.xml
index 6508bf5..8070963 100644
--- a/frameworks/as/projects/FlexJSJX/basic-manifest.xml
+++ b/frameworks/as/projects/FlexJSJX/basic-manifest.xml
@@ -57,6 +57,9 @@
<component id="SVGWedgeItemRenderer" class="org.apache.flex.charts.supportClasses.optimized.SVGWedgeItemRenderer"/>
<component id="SVGLineSegmentItemRenderer" class="org.apache.flex.charts.supportClasses.optimized.SVGLineSegmentItemRenderer"/>
+ <component id="DragMouseController" class="org.apache.flex.html.beads.controllers.DragMouseController" />
+ <component id="DropMouseController" class="org.apache.flex.html.beads.controllers.DropMouseController" />
+
<component id="Fade" class="org.apache.flex.effects.Fade"/>
<component id="Move" class="org.apache.flex.effects.Move"/>
<component id="Resize" class="org.apache.flex.effects.Resize"/>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as b/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
index 423ac18..d4e51a6 100644
--- a/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
+++ b/frameworks/as/projects/FlexJSJX/src/FlexJSJXClasses.as
@@ -76,6 +76,7 @@ internal class FlexJSJXClasses
import org.apache.flex.html.beads.TitleBarView; TitleBarView;
import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
+ import org.apache.flex.core.DropType; DropType;
import org.apache.flex.core.ParentDocumentBead; ParentDocumentBead;
import org.apache.flex.core.StatesWithTransitionsImpl; StatesWithTransitionsImpl;
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/DropType.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/DropType.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/DropType.as
new file mode 100644
index 0000000..9df59cf
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/DropType.as
@@ -0,0 +1,64 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF 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 DropType class provides a set of constant values of
+ * types of drops in a drag/drop operation
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DropType
+ {
+
+ /**
+ * The data should be moved.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static const MOVE:String = "move";
+
+ /**
+ * The data should be copied.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static const COPY:String = "copy";
+
+ /**
+ * The drop should be cancelled.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static const CANCEL:String = "cancel";
+
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
new file mode 100644
index 0000000..5cb5f54
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
@@ -0,0 +1,286 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF 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.IDragInitiator;
+ 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.DragEvent;
+ import org.apache.flex.events.EventDispatcher;
+ import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.events.MouseEvent;
+ import org.apache.flex.geom.Point;
+ import org.apache.flex.utils.PointUtils;
+ import org.apache.flex.utils.UIUtils;
+
+ /**
+ * Indicates that a drag/drop operation is starting.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragStart", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * Indicates that the mouse is moving during
+ * a drag/drop operation.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragMove", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * Indicates that a drag/drop operation is ending.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragEnd", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * The DragMouseController bead handles mouse events on the
+ * a component, looking for activity that constitutes the start
+ * of a drag drop operation.
+ *
+ * @flexjsignoreimport org.apache.flex.core.IDragInitiator
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DragMouseController extends EventDispatcher implements IBead
+ {
+ /**
+ * The data being dragged. Or an instance
+ * of an object describing the data.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragSource:Object;
+
+ /**
+ * The object that wants to know if a
+ * drop is accepted.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragInitiator:IDragInitiator;
+
+ /**
+ * Whether there is a drag operation
+ * in progress.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragging:Boolean;
+
+ /**
+ * The drag image.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragImage:IUIBase;
+
+ /**
+ * The offset of the drag image.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragImageOffsetX:Number = 0;
+
+ /**
+ * The offset of the drag image.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var dragImageOffsetY:Number = 0;
+
+ /**
+ * The default movement in x and or y that
+ * means a drag should start
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public static var defaultThreshold:int = 4;
+
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DragMouseController()
+ {
+ threshold = defaultThreshold;
+ }
+
+ /**
+ * The movement in x and or y that
+ * means a drag should start
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public var threshold:int = 4;
+
+ 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_DOWN, dragMouseDownHandler);
+ }
+
+ public function get strand():IStrand
+ {
+ return _strand;
+ }
+
+ private var mouseDownX:Number;
+ private var mouseDownY:Number;
+
+ private var host:IPopUpHost;
+
+ /**
+ * @private
+ */
+ private function dragMouseDownHandler(event:MouseEvent):void
+ {
+ trace("dragMouseDown");
+ IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
+ IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
+ mouseDownX = event.stageX;
+ mouseDownY = event.stageY;
+ }
+
+ private function dragMouseMoveHandler(event:MouseEvent):void
+ {
+ var pt:Point;
+ var dragEvent:DragEvent;
+ trace("dragMouseMove");
+
+ if (!dragging)
+ {
+ trace("not dragging anything else");
+ if (Math.abs(event.stageX - mouseDownX) > threshold ||
+ Math.abs(event.stageY - mouseDownY) > threshold)
+ {
+ trace("sending dragStart");
+ dragEvent = new DragEvent("dragStart", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ IEventDispatcher(_strand).dispatchEvent(dragEvent);
+ if (dragSource != null)
+ {
+ dragging = true;
+ host = UIUtils.findPopUpHost(_strand as IUIBase);
+ host.addElement(dragImage);
+ pt = PointUtils.globalToLocal(new Point(event.stageX, event.stageY), host);
+ dragImage.x = pt.x + dragImageOffsetX;
+ dragImage.y = pt.y + dragImageOffsetY;
+ }
+ }
+ }
+ else
+ {
+ trace("sending dragMove", event.target);
+ dragEvent = new DragEvent("dragMove", true, true);
+ event.stopImmediatePropagation();
+ dragEvent.copyMouseEventProperties(event);
+ dragEvent.dragSource = dragSource;
+ dragEvent.dragInitiator = dragInitiator;
+ pt = PointUtils.globalToLocal(new Point(event.stageX, event.stageY), host);
+ dragImage.x = pt.x + dragImageOffsetX;
+ dragImage.y = pt.y + dragImageOffsetY;
+ event.target.dispatchEvent(dragEvent);
+ }
+ }
+
+ private function dragMouseUpHandler(event:MouseEvent):void
+ {
+ trace("dragMouseUp");
+ var dragEvent:DragEvent;
+
+ if (dragging)
+ {
+ trace("sending dragEnd");
+ dragEvent = new DragEvent("dragEnd", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ event.stopImmediatePropagation();
+ dragEvent.dragSource = dragSource;
+ dragEvent.dragInitiator = dragInitiator;
+ event.target.dispatchEvent(dragEvent);
+ }
+ dragging = false;
+ dragSource = null;
+ dragInitiator = null;
+ if (dragImage && host)
+ host.removeElement(dragImage);
+ dragImage = null;
+ IUIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
+ IUIBase(_strand).topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
+ }
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
new file mode 100644
index 0000000..82a277a
--- /dev/null
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
@@ -0,0 +1,188 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF 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.IDragInitiator;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
+ import org.apache.flex.core.UIBase;
+ import org.apache.flex.events.DragEvent;
+ import org.apache.flex.events.EventDispatcher;
+ import org.apache.flex.events.IEventDispatcher;
+ import org.apache.flex.events.MouseEvent;
+
+ /**
+ * Indicates that the mouse has entered the component during
+ * a drag operatino.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragEnter", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * Indicates that the mouse is moving over a component during
+ * a drag/drop operation.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragOver", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * Indicates that a drop operation should be executed.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ [Event(name="dragDrop", type="org.apache.flex.events.DragEvent")]
+
+ /**
+ * The DropMouseController bead handles mouse events on the
+ * a component, looking for events from a drag/drop operation.
+ *
+ * @flexjsignoreimport org.apache.flex.core.IDragInitiator
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DropMouseController extends EventDispatcher implements IBead
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DropMouseController()
+ {
+ }
+
+ 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(DragEvent.DRAG_MOVE, dragMoveHandler);
+ }
+
+ public function get strand():IStrand
+ {
+ return _strand;
+ }
+
+ private var inside:Boolean;
+
+ private var dragSource:Object;
+ private var dragInitiator:IDragInitiator;
+
+ public function acceptDragDrop(target:IUIBase, type:String):void
+ {
+ // TODO: aharui: switch icons
+ }
+
+ /**
+ * @private
+ */
+ private function dragMoveHandler(event:DragEvent):void
+ {
+ trace("dragMove");
+ var dragEvent:DragEvent;
+ if (!inside)
+ {
+ dragEvent = new DragEvent("dragEnter", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ dragSource = dragEvent.dragSource = event.dragSource;
+ dragInitiator = dragEvent.dragInitiator = event.dragInitiator;
+ dispatchEvent(dragEvent);
+ inside = true;
+ IUIBase(_strand).topMostEventDispatcher.addEventListener(DragEvent.DRAG_END, dragEndHandler);
+ IUIBase(_strand).addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
+ }
+ else
+ {
+ dragEvent = new DragEvent("dragOver", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ dragEvent.dragSource = event.dragSource;
+ dragEvent.dragInitiator = event.dragInitiator;
+ IEventDispatcher(_strand).dispatchEvent(dragEvent);
+ }
+ }
+
+ private function rollOutHandler(event:MouseEvent):void
+ {
+ var dragEvent:DragEvent;
+
+ if (inside)
+ {
+ dragEvent = new DragEvent("dragExit", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ dragEvent.dragSource = dragSource;
+ dragEvent.dragInitiator = dragInitiator;
+ dragSource = null;
+ dragInitiator = null;
+ event.stopImmediatePropagation();
+ dispatchEvent(dragEvent);
+ inside = false;
+ }
+ IUIBase(_strand).topMostEventDispatcher.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
+ IUIBase(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
+ }
+
+ private function dragEndHandler(event:DragEvent):void
+ {
+ trace("dragEnd");
+ var dragEvent:DragEvent;
+
+ dragEvent = new DragEvent("dragDrop", true, true);
+ dragEvent.copyMouseEventProperties(event);
+ dragEvent.dragSource = event.dragSource;
+ dragEvent.dragInitiator = event.dragInitiator;
+ dragSource = null;
+ dragInitiator = null;
+ event.stopImmediatePropagation();
+ dispatchEvent(dragEvent);
+
+ inside = false;
+ IUIBase(_strand).topMostEventDispatcher.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
+ IUIBase(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
+ }
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSUI/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/basic-manifest.xml b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
index 7672b35..b5d4405 100644
--- a/frameworks/as/projects/FlexJSUI/basic-manifest.xml
+++ b/frameworks/as/projects/FlexJSUI/basic-manifest.xml
@@ -88,8 +88,6 @@
<component id="MixinManager" class="org.apache.flex.utils.MixinManager" />
<component id="HRule" class="org.apache.flex.html.HRule" />
<component id="Spacer" class="org.apache.flex.html.Spacer" />
- <component id="DragMouseController" class="org.apache.flex.html.beads.controllers.DragMouseController" />
- <component id="DropMouseController" class="org.apache.flex.html.beads.controllers.DropMouseController" />
<component id="MXMLDragInitiator" class="org.apache.flex.core.MXMLDragInitiator" />
<component id="CallLaterBead" class="org.apache.flex.core.CallLaterBead" />
<component id="ImageAndTextButtonView" class="org.apache.flex.html.beads.ImageAndTextButtonView" />
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
index 7dae39f..f6f998e 100644
--- a/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
+++ b/frameworks/as/projects/FlexJSUI/src/FlexJSUIClasses.as
@@ -130,9 +130,9 @@ internal class FlexJSUIClasses
import org.apache.flex.core.graphics.Text; Text;
import org.apache.flex.core.graphics.GraphicsContainer; GraphicsContainer;
import org.apache.flex.core.graphics.LinearGradient; LinearGradient;
- import org.apache.flex.core.DropType; DropType;
import org.apache.flex.core.DataBindingBase; DataBindingBase;
import org.apache.flex.effects.PlatformWiper; PlatformWiper;
+ import org.apache.flex.events.DragEvent; DragEvent;
import org.apache.flex.geom.Rectangle; Rectangle;
import mx.core.ClassFactory; ClassFactory;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/DropType.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/DropType.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/DropType.as
deleted file mode 100644
index 9df59cf..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/core/DropType.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.core
-{
- /**
- * The DropType class provides a set of constant values of
- * types of drops in a drag/drop operation
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DropType
- {
-
- /**
- * The data should be moved.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static const MOVE:String = "move";
-
- /**
- * The data should be copied.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static const COPY:String = "copy";
-
- /**
- * The drop should be cancelled.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static const CANCEL:String = "cancel";
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as
deleted file mode 100644
index 0fbee44..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DragMouseController.as
+++ /dev/null
@@ -1,284 +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 flash.geom.Point;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDragInitiator;
- 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.DragEvent;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
- import org.apache.flex.utils.UIUtils;
-
- /**
- * Indicates that a drag/drop operation is starting.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragStart", type="org.apache.flex.events.DragEvent")]
-
- /**
- * Indicates that the mouse is moving during
- * a drag/drop operation.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragMove", type="org.apache.flex.events.DragEvent")]
-
- /**
- * Indicates that a drag/drop operation is ending.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragEnd", type="org.apache.flex.events.DragEvent")]
-
- /**
- * The DragMouseController bead handles mouse events on the
- * a component, looking for activity that constitutes the start
- * of a drag drop operation.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DragMouseController extends EventDispatcher implements IBead
- {
- /**
- * The data being dragged. Or an instance
- * of an object describing the data.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragSource:Object;
-
- /**
- * The object that wants to know if a
- * drop is accepted.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragInitiator:IDragInitiator;
-
- /**
- * Whether there is a drag operation
- * in progress.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragging:Boolean;
-
- /**
- * The drag image.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragImage:IUIBase;
-
- /**
- * The offset of the drag image.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragImageOffsetX:Number = 0;
-
- /**
- * The offset of the drag image.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var dragImageOffsetY:Number = 0;
-
- /**
- * The default movement in x and or y that
- * means a drag should start
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public static var defaultThreshold:int = 4;
-
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DragMouseController()
- {
- threshold = defaultThreshold;
- }
-
- /**
- * The movement in x and or y that
- * means a drag should start
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public var threshold:int = 4;
-
- 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_DOWN, dragMouseDownHandler);
- }
-
- public function get strand():IStrand
- {
- return _strand;
- }
-
- private var mouseDownX:Number;
- private var mouseDownY:Number;
-
- private var host:IPopUpHost;
-
- /**
- * @private
- */
- private function dragMouseDownHandler(event:MouseEvent):void
- {
- trace("dragMouseDown");
- DisplayObject(_strand).stage.addEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
- DisplayObject(_strand).stage.addEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
- mouseDownX = event.stageX;
- mouseDownY = event.stageY;
- }
-
- private function dragMouseMoveHandler(event:MouseEvent):void
- {
- var pt:Point;
- var dragEvent:DragEvent;
- trace("dragMouseMove");
-
- if (!dragging)
- {
- trace("not dragging anything else");
- if (Math.abs(event.stageX - mouseDownX) > threshold ||
- Math.abs(event.stageY - mouseDownY) > threshold)
- {
- trace("sending dragStart");
- dragEvent = new DragEvent("dragStart", true, true);
- dragEvent.copyMouseEventProperties(event);
- IEventDispatcher(_strand).dispatchEvent(dragEvent);
- if (dragSource != null)
- {
- dragging = true;
- host = UIUtils.findPopUpHost(_strand as IUIBase);
- host.addElement(dragImage);
- pt = DisplayObject(host).globalToLocal(new Point(event.stageX, event.stageY));
- dragImage.x = pt.x + dragImageOffsetX;
- dragImage.y = pt.y + dragImageOffsetY;
- }
- }
- }
- else
- {
- trace("sending dragMove", event.target);
- dragEvent = new DragEvent("dragMove", true, true);
- event.stopImmediatePropagation();
- dragEvent.copyMouseEventProperties(event);
- dragEvent.dragSource = dragSource;
- dragEvent.dragInitiator = dragInitiator;
- pt = DisplayObject(host).globalToLocal(new Point(event.stageX, event.stageY));
- dragImage.x = pt.x + dragImageOffsetX;
- dragImage.y = pt.y + dragImageOffsetY;
- event.target.dispatchEvent(dragEvent);
- }
- }
-
- private function dragMouseUpHandler(event:MouseEvent):void
- {
- trace("dragMouseUp");
- var dragEvent:DragEvent;
-
- if (dragging)
- {
- trace("sending dragEnd");
- dragEvent = new DragEvent("dragEnd", true, true);
- dragEvent.copyMouseEventProperties(event);
- event.stopImmediatePropagation();
- dragEvent.dragSource = dragSource;
- dragEvent.dragInitiator = dragInitiator;
- event.target.dispatchEvent(dragEvent);
- }
- dragging = false;
- dragSource = null;
- dragInitiator = null;
- if (dragImage && host)
- host.removeElement(dragImage);
- dragImage = null;
- DisplayObject(_strand).stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
- DisplayObject(_strand).stage.removeEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
- }
-
- }
-}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad25e3ff/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as
deleted file mode 100644
index e3a7ac6..0000000
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.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.beads.controllers
-{
- import flash.display.DisplayObject;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IDragInitiator;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.UIBase;
- import org.apache.flex.events.DragEvent;
- import org.apache.flex.events.EventDispatcher;
- import org.apache.flex.events.IEventDispatcher;
- import org.apache.flex.events.MouseEvent;
-
- /**
- * Indicates that the mouse has entered the component during
- * a drag operatino.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragEnter", type="org.apache.flex.events.DragEvent")]
-
- /**
- * Indicates that the mouse is moving over a component during
- * a drag/drop operation.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragOver", type="org.apache.flex.events.DragEvent")]
-
- /**
- * Indicates that a drop operation should be executed.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- [Event(name="dragDrop", type="org.apache.flex.events.DragEvent")]
-
- /**
- * The DropMouseController bead handles mouse events on the
- * a component, looking for events from a drag/drop operation.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public class DropMouseController extends EventDispatcher implements IBead
- {
- /**
- * constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function DropMouseController()
- {
- }
-
- 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(DragEvent.DRAG_MOVE, dragMoveHandler);
- }
-
- public function get strand():IStrand
- {
- return _strand;
- }
-
- private var inside:Boolean;
-
- private var dragSource:Object;
- private var dragInitiator:IDragInitiator;
-
- public function acceptDragDrop(target:IUIBase, type:String):void
- {
- // TODO: aharui: switch icons
- }
-
- /**
- * @private
- */
- private function dragMoveHandler(event:DragEvent):void
- {
- trace("dragMove");
- var dragEvent:DragEvent;
- if (!inside)
- {
- dragEvent = new DragEvent("dragEnter", true, true);
- dragEvent.copyMouseEventProperties(event);
- dragSource = dragEvent.dragSource = event.dragSource;
- dragInitiator = dragEvent.dragInitiator = event.dragInitiator;
- dispatchEvent(dragEvent);
- inside = true;
- DisplayObject(_strand).stage.addEventListener(DragEvent.DRAG_END, dragEndHandler);
- DisplayObject(_strand).addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
- }
- else
- {
- dragEvent = new DragEvent("dragOver", true, true);
- dragEvent.copyMouseEventProperties(event);
- dragEvent.dragSource = event.dragSource;
- dragEvent.dragInitiator = event.dragInitiator;
- IEventDispatcher(_strand).dispatchEvent(dragEvent);
- }
- }
-
- private function rollOutHandler(event:MouseEvent):void
- {
- var dragEvent:DragEvent;
-
- if (inside)
- {
- dragEvent = new DragEvent("dragExit", true, true);
- dragEvent.copyMouseEventProperties(event);
- dragEvent.dragSource = dragSource;
- dragEvent.dragInitiator = dragInitiator;
- dragSource = null;
- dragInitiator = null;
- event.stopImmediatePropagation();
- dispatchEvent(dragEvent);
- inside = false;
- }
- DisplayObject(_strand).stage.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
- DisplayObject(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
- }
-
- private function dragEndHandler(event:DragEvent):void
- {
- trace("dragEnd");
- var dragEvent:DragEvent;
-
- dragEvent = new DragEvent("dragDrop", true, true);
- dragEvent.copyMouseEventProperties(event);
- dragEvent.dragSource = event.dragSource;
- dragEvent.dragInitiator = event.dragInitiator;
- dragSource = null;
- dragInitiator = null;
- event.stopImmediatePropagation();
- dispatchEvent(dragEvent);
-
- inside = false;
- DisplayObject(_strand).stage.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
- DisplayObject(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
- }
-
- }
-}