Fisheye: Tag bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c refers to a dead (removed) revision in file `lams_flex/LamsAuthor/ActivityComponent.as'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_flex/LamsAuthor/src/assets/icons/bin.png
===================================================================
diff -u
Binary files differ
Index: lams_flex/LamsAuthor/src/assets/icons/bin_over.png
===================================================================
diff -u
Binary files differ
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/Bin.mxml
===================================================================
diff -u
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/Bin.mxml (revision 0)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/Bin.mxml (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/CanvasArea.mxml
===================================================================
diff -u -r0aaad79f0f603dbb8fbcc1bd66f381428715c4d5 -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/CanvasArea.mxml (.../CanvasArea.mxml) (revision 0aaad79f0f603dbb8fbcc1bd66f381428715c4d5)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/CanvasArea.mxml (.../CanvasArea.mxml) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -1,37 +1,27 @@
-
-
-
-
-
+
-
+
-
-
-
-
+
+
+
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/activity/ActivityComponent.mxml
===================================================================
diff -u -r0aaad79f0f603dbb8fbcc1bd66f381428715c4d5 -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/activity/ActivityComponent.mxml (.../ActivityComponent.mxml) (revision 0aaad79f0f603dbb8fbcc1bd66f381428715c4d5)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/activity/ActivityComponent.mxml (.../ActivityComponent.mxml) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -77,9 +77,6 @@
Application.application.canvasArea.propertyInspector.closePropertyInspector();
}
-
-
-
// The mouseMove event handler for the Image control
// initiates the drag-and-drop operation.
protected function mouseMove(event:MouseEvent):void
@@ -95,7 +92,7 @@
// Set the offset for dropping the activity to the local mouse position
activityComponent.mouseOffSetX = event.localX;
- activityComponent.mouseOffSetY = event.localY;
+ activityComponent.mouseOffSetY = event.localY;
DragManager.doDrag(activityComponent, ds, event);
setCenter();
@@ -109,7 +106,7 @@
switch (Application.application.cursorState) {
case Constants.CURSOR_STATE_TRANSITION:
if (this.canStartTransitions) {
- startDragging(event);
+ startTransition(event);
}
break;
@@ -122,7 +119,7 @@
centerY = y + height/2 -10;
}
- protected function startDragging(event:MouseEvent):void {
+ protected function startTransition(event:MouseEvent):void {
if (transitionOut != null) {
//parent.removeChild(transitionOut);
@@ -154,7 +151,7 @@
}
- protected function stopDragging():void
+ protected function stopTransition():void
{
Application.application.uiState = Constants.UI_STATE_NORMAL;
systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, systemManagerMouseMoveHandler, true);
@@ -182,9 +179,9 @@
*/
private function systemManagerMouseUpHandler(event:MouseEvent):void
{
- stopDragging();
+ stopTransition();
- var transitionEvent:TransitionEvent = new TransitionEvent(TransitionEvent.TRANSITION_EVENT);
+ var transitionEvent:TransitionEvent = new TransitionEvent(TransitionEvent.TRANSITION_COMPLETE);
transitionEvent.sourceAcivityComponent = this;
transitionEvent.transition = transitionOut;
Application.application.dispatchEvent(transitionEvent);
@@ -193,7 +190,7 @@
private function stageMouseLeaveHandler(event:MouseEvent):void
{
- stopDragging();
+ stopTransition();
}
private function mouseOver(event:MouseEvent):void {
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/transition/TransitionComponent.as
===================================================================
diff -u -ra29b09f571d90b3bbb52490afb6691b5d4fb473f -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/transition/TransitionComponent.as (.../TransitionComponent.as) (revision a29b09f571d90b3bbb52490afb6691b5d4fb473f)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/components/transition/TransitionComponent.as (.../TransitionComponent.as) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -2,9 +2,15 @@
{
import com.dncompute.graphics.GraphicsUtil;
+ import flash.events.MouseEvent;
import flash.geom.Point;
+ import mx.core.Application;
+ import mx.core.DragSource;
+ import mx.managers.DragManager;
+
import org.lamsfoundation.lams.author.components.activity.ActivityComponent;
+ import org.lamsfoundation.lams.author.util.Constants;
public class TransitionComponent extends DrawingTool
{
@@ -13,6 +19,7 @@
public function TransitionComponent()
{
+ this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
@@ -45,6 +52,17 @@
}
}
+
+ // The mouseMove event handler for the Image control
+ // initiates the drag-and-drop operation.
+ private function mouseMove(event:MouseEvent):void
+ {
+ if (Application.application.cursorState == Constants.CURSOR_STATE_NORMAL) {
+ var ds:DragSource = new DragSource();
+ ds.addData(this, "img");
+ DragManager.doDrag(this, ds, event, this);
+ }
+ }
}
}
\ No newline at end of file
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/controller/AuthorController.as
===================================================================
diff -u -ra29b09f571d90b3bbb52490afb6691b5d4fb473f -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/controller/AuthorController.as (.../AuthorController.as) (revision a29b09f571d90b3bbb52490afb6691b5d4fb473f)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/controller/AuthorController.as (.../AuthorController.as) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -14,6 +14,7 @@
import org.lamsfoundation.lams.author.components.activity.*;
import org.lamsfoundation.lams.author.components.toolbar.SystemActivityComponent;
import org.lamsfoundation.lams.author.components.transition.TransitionComponent;
+ import org.lamsfoundation.lams.author.events.AuthorActivityEvent;
import org.lamsfoundation.lams.author.events.TransitionEvent;
import org.lamsfoundation.lams.author.model.learninglibrary.LearningLibraryEntry;
import org.lamsfoundation.lams.author.util.Constants;
@@ -224,5 +225,64 @@
return false;
}
}
+
+
+ /**
+ * This function is invoked when an activity is dragged into the bin
+ * it deletes the activity and any related transitions
+ *
+ * TODO: Check the state of the LD and set it to invalid if neccessary
+ *
+ * @param event AuthorActivityEvent containing the acitvity object
+ *
+ */
+ public function deleteActivity(event:AuthorActivityEvent):void {
+ var canvasBox:CanvasBox = Application.application.canvasArea.canvasBox;
+
+ var activityComponent:ActivityComponent = event.activityComponent;
+
+ // Remove transition in, if needed
+ if (activityComponent.transitionIn != null) {
+ canvasBox.removeChild(activityComponent.transitionIn);
+ transitionArray.removeItemAt(transitionArray.getItemIndex(activityComponent.transitionIn));
+ activityComponent.transitionIn.fromActivity.transitionOut = null;
+ activityComponent.transitionIn = null;
+ }
+
+ // Remove transition out if needed
+ if (activityComponent.transitionOut != null) {
+ canvasBox.removeChild(activityComponent.transitionOut);
+ transitionArray.removeItemAt(transitionArray.getItemIndex(activityComponent.transitionOut));
+ activityComponent.transitionOut.toActivity.transitionIn = null;
+ activityComponent.transitionOut = null;
+ }
+
+ // Remove activity
+ canvasBox.removeChild(activityComponent);
+ activityComponent = null;
+ }
+
+
+ /**
+ * This function is invoked when a transition is dropped into the bin
+ * it deletes the transition
+ *
+ * TODO: Check the state of the LD and set it to invalid if neccessary
+ *
+ * @param event the TransitionEvent
+ */
+ public function deleteTransition(event:TransitionEvent): void {
+ var canvasBox:CanvasBox = Application.application.canvasArea.canvasBox;
+
+ var transition:TransitionComponent = event.transition;
+
+ transitionArray.removeItemAt(transitionArray.getItemIndex(transition));
+ transition.fromActivity.transitionOut = null;
+ transition.toActivity.transitionIn = null;
+ transition = null;
+
+ }
+
+
}
}
\ No newline at end of file
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/AuthorActivityEvent.as
===================================================================
diff -u
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/AuthorActivityEvent.as (revision 0)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/AuthorActivityEvent.as (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -0,0 +1,17 @@
+package org.lamsfoundation.lams.author.events
+{
+ import flash.events.Event;
+ import org.lamsfoundation.lams.author.components.activity.ActivityComponent;
+
+ public class AuthorActivityEvent extends Event
+ {
+ public static const DELETE_ACTIVITY_EVENT:String = "deleteActivityEvent";
+ public var activityComponent:ActivityComponent;
+
+ public function AuthorActivityEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
+ {
+ super(type, bubbles, cancelable);
+ }
+
+ }
+}
\ No newline at end of file
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/TransitionEvent.as
===================================================================
diff -u -rb18306871e780d0266af4b3135c37780f09d2b72 -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/TransitionEvent.as (.../TransitionEvent.as) (revision b18306871e780d0266af4b3135c37780f09d2b72)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/events/TransitionEvent.as (.../TransitionEvent.as) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -6,7 +6,10 @@
public class TransitionEvent extends AuthorEvent
{
- public static const TRANSITION_EVENT:String = "transitionEvent";
+ public static const TRANSITION_COMPLETE:String = "transitionComplete";
+ public static const DELETE_TRANSITION:String = "deleteTransition";
+
+
public var sourceAcivityComponent:ActivityComponent;
public var transition:TransitionComponent;
public var localY:int;
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/maps/MainEventMap.mxml
===================================================================
diff -u -r92b3c89bd281fcd2d991c4b8c821fcb3f2ebe0b5 -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/maps/MainEventMap.mxml (.../MainEventMap.mxml) (revision 92b3c89bd281fcd2d991c4b8c821fcb3f2ebe0b5)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/maps/MainEventMap.mxml (.../MainEventMap.mxml) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -57,13 +57,6 @@
-->
-
-
-
-
@@ -98,7 +91,7 @@
-
+
@@ -107,7 +100,17 @@
+
+
+
+
+
+
+
+
+
+
Index: lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/util/Constants.as
===================================================================
diff -u -r0aaad79f0f603dbb8fbcc1bd66f381428715c4d5 -rbbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c
--- lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/util/Constants.as (.../Constants.as) (revision 0aaad79f0f603dbb8fbcc1bd66f381428715c4d5)
+++ lams_flex/LamsAuthor/src/org/lamsfoundation/lams/author/util/Constants.as (.../Constants.as) (revision bbf05bc0eb7a947272cb76a9e9c5b1093cd54e2c)
@@ -19,7 +19,6 @@
public static const UI_STATE_NORMAL:int = 1;
public static const UI_STATE_DRAWING:int = 2;
-
public static const ACTIVITY_STATE_NORMAL:int = 1;
public static const ACTIVITY_STATE_DRAWING:int = 2;
public static const ACTIVITY_STATE_MOUSE_OVER:int = 3;