Index: lams_flash/src/central/flash/lams_authoring.fla =================================================================== diff -u -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 -r7548a5a6349a58e304bfa7b35805978121ccbd87 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -r7548a5a6349a58e304bfa7b35805978121ccbd87 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87) @@ -160,6 +160,7 @@ private var _readOnly:Boolean; + private var _viewID:Boolean; //Constructor @@ -175,11 +176,10 @@ */ function Activity(activityUIID:Number){ Debugger.log('activityUIID:'+activityUIID,Debugger.GEN,'constructor','Activity'); - //assign the values: - _activityUIID = activityUIID; - //set default calues - _objectType = "Activity"; //should be "Activity" + + //defaults + _objectType = "Activity"; _applyGrouping = false; _runOffline = false; _defineLater = false; @@ -196,7 +196,6 @@ */ public static function getGateActivityTypes():Array{ var types:Array = []; - //types.addItem({label: Dictionary.getValue('none_act_lbl'), data: 0}); types.addItem({label: Dictionary.getValue('trans_dlg_nogate'), data: NO_GATE_ACTIVITY_TYPE}); types.addItem({label: Dictionary.getValue('synch_act_lbl'), data: SYNCH_GATE_ACTIVITY_TYPE}); types.addItem({label: Dictionary.getValue('sched_act_lbl'), data: SCHEDULE_GATE_ACTIVITY_TYPE}); @@ -290,7 +289,6 @@ */ public function populateFromDTO(dto:Object){ - //activity properties: _activityTypeID = dto.activityTypeID; _activityID = dto.activityID; @@ -321,11 +319,7 @@ _createDateTime = dto.createDateTime; _groupingSupportType = dto.groupingSupportType; _readOnly = dto.readOnly; - - - - } public function toData(){ @@ -339,8 +333,6 @@ if(_learningLibraryID){ dto.learningLibraryID = _learningLibraryID; } if(_learningDesignID){ dto.learningDesignID = _learningDesignID; } if(_libraryActivityID){ dto.libraryActivityID = _libraryActivityID; } - //if(_parentActivityID){ dto.parentActivityID = _parentActivityID; } - //if(_parentUIID){ dto.parentUIID = _parentUIID; } if(_orderID){ dto.orderID = _orderID; } if(_groupingID){ dto.groupingID = _groupingID; } if(_groupingUIID){ dto.groupingUIID = _groupingUIID; } @@ -362,8 +354,6 @@ if(_groupingSupportType){ dto.groupingSupportType = _groupingSupportType; } if(_readOnly){ dto.readOnly = _readOnly; } - - return dto; } @@ -375,7 +365,6 @@ } - //getters and setters: public function set objectType(a:String):Void{ _objectType = a; @@ -393,6 +382,7 @@ public function set activityTypeID (newactivityTypeID:Number):Void { _activityTypeID = newactivityTypeID; } + /** * * @usage @@ -409,16 +399,16 @@ public function get activityToolContentID ():Number { return _activityToolContentID; } - public function set activityID(a:Number):Void{ _activityID = a; } + public function get activityID():Number{ return _activityID; } -/** + /** * * @usage * @param newactivityCategoryID @@ -427,6 +417,7 @@ public function set activityCategoryID (newactivityCategoryID:Number):Void { _activityCategoryID = newactivityCategoryID; } + /** * * @usage @@ -445,6 +436,7 @@ public function set activityUIID (newactivityUIID:Number):Void { _activityUIID = newactivityUIID; } + /** * * @usage @@ -457,6 +449,7 @@ public function set learningLibraryID(a:Number):Void{ _learningLibraryID = a; } + public function get learningLibraryID():Number{ return _learningLibraryID; } @@ -477,6 +470,7 @@ public function set libraryActivityID (newlibraryActivityID:Number):Void { _libraryActivityID = newlibraryActivityID; } + /** * * @usage @@ -486,7 +480,7 @@ return _libraryActivityID; } -/** + /** * * @usage * @param newparentActivityID @@ -495,6 +489,7 @@ public function set parentActivityID (newparentActivityID:Number):Void { _parentActivityID = newparentActivityID; } + /** * * @usage @@ -504,7 +499,7 @@ return _parentActivityID; } -/** + /** * * @usage * @param newparentUIID @@ -513,6 +508,7 @@ public function set parentUIID (newparentUIID:Number):Void { _parentUIID = newparentUIID; } + /** * * @usage @@ -531,6 +527,7 @@ public function set orderID (neworderID:Number):Void { _orderID = neworderID; } + /** * * @usage @@ -624,6 +621,7 @@ public function set groupingID (newgroupingID:Number):Void { _groupingID = newgroupingID; } + /** * * @usage @@ -632,7 +630,6 @@ public function get groupingID ():Number { return _groupingID; } - /** * @@ -649,7 +646,6 @@ * @return */ public function get groupingUIID ():Number { - trace('returning:'+_groupingUIID); return _groupingUIID; } @@ -668,7 +664,6 @@ * @return */ public function get selectActivity ():String { - trace('returning:'+_isActivitySelected); return _isActivitySelected; } @@ -681,6 +676,7 @@ public function set applyGrouping (newapplyGrouping:Boolean):Void { _applyGrouping = newapplyGrouping; } + /** * * @usage @@ -699,6 +695,7 @@ public function set groupingSupportType (newgroupingSupportType:Number):Void { _groupingSupportType = newgroupingSupportType; } + /** * * @usage @@ -717,6 +714,7 @@ public function set readOnly (readOnly:Boolean):Void { _readOnly = readOnly; } + /** * * @usage @@ -730,9 +728,4 @@ return _readOnly; } - - - - - } \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as =================================================================== diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -r7548a5a6349a58e304bfa7b35805978121ccbd87 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as (.../BranchingActivity.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/BranchingActivity.as (.../BranchingActivity.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87) @@ -59,7 +59,5 @@ return dto; } - //get and sets - } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as =================================================================== diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -r7548a5a6349a58e304bfa7b35805978121ccbd87 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/DesignDataModel.as (.../DesignDataModel.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87) @@ -349,14 +349,18 @@ } else if(dto.activityTypeID == Activity.GROUPING_ACTIVITY_TYPE){ //TODO: Test this code when we are able to save and then open a design with grouping - var newGroupActiviy:GroupingActivity = new GroupingActivity(dto.activityUIID); - newGroupActiviy.populateFromDTO(dto); - _activities.put(newGroupActiviy.activityUIID,newGroupActiviy); + var newGroupActivity:GroupingActivity = new GroupingActivity(dto.activityUIID); + newGroupActivity.populateFromDTO(dto); + _activities.put(newGroupActivity.activityUIID,newGroupActivity); } else if(dto.activityTypeID == Activity.BRANCHING_ACTIVITY_TYPE){ - var newBranchActiviy:BranchingActivity = new BranchingActivity(dto.activityUIID); - newBranchActiviy.populateFromDTO(dto); - _activities.put(newBranchActiviy.activityUIID,newBranchActiviy); + var newBranchActivity:BranchingActivity = new BranchingActivity(dto.activityUIID); + newBranchActivity.populateFromDTO(dto); + _activities.put(newBranchActivity.activityUIID,newBranchActivity); + } else if(dto.activityTypeID = Activity.SEQUENCE_ACTIVITY_TYPE){ + var newSequenceActivity:SequenceActivity = new SequenceActivity(dto.activityUIID); + newSequenceActivity.populateFromDTO(dto); + _activities.put(newSequenceActivity.activityUIID, newSequenceActivity); } } @@ -781,7 +785,6 @@ return transObj; } - //Getters and setters for the properties public function get objectType():String{ return _objectType; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as =================================================================== diff -u --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as (revision 0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/SequenceActivity.as (revision 7548a5a6349a58e304bfa7b35805978121ccbd87) @@ -0,0 +1,78 @@ +/*************************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * ************************************************************************ + */ + +import org.lamsfoundation.lams.authoring.*; +/* +* This class represents the sequence activity. +* For reference these are the activity types +*
+* public static var SEQUENCE_ACTIVITY_TYPE:Number = 8;
+*
+* @author Mitchell Seaton
+* @version 2.1
+* @see Activity
+*/
+class SequenceActivity extends ComplexActivity{
+
+
+ function SequenceActivity(activityUIID:Number){
+ super(activityUIID);
+ _activityTypeID = SEQUENCE_ACTIVITY_TYPE;
+ }
+
+ /**
+ * Creates a complex activity from a dto... which is nice
+ * @usage
+ * @param dto
+ * @return
+ */
+ public function populateFromDTO(dto:Object){
+ super.populateFromDTO(dto);
+ }
+
+ /**
+ * Creates an object containing all the props of the ComplexActivity.
+ * If a value is null then it is ommitted... if itsd the null value from const
+ * then its included
+ * @usage
+ * @return the DTO
+ */
+ public function toData():Object{
+ var dto:Object = super.toData();
+ return dto;
+ }
+
+ /**
+ * Creates an exact copy of this SequenceActivity
+ * @usage
+ * @return the copy
+ */
+ public function clone():SequenceActivity{
+ var dto:Object = toData();
+ var sa = new SequenceActivity();
+ sa.populateFromDTO(dto);
+ return sa;
+ }
+
+}
+
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Transition.as
===================================================================
diff -u -rd7823922f404944822957e6c051bc0f1335a76de -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Transition.as (.../Transition.as) (revision d7823922f404944822957e6c051bc0f1335a76de)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Transition.as (.../Transition.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -34,7 +34,7 @@
*/
class org.lamsfoundation.lams.authoring.Transition {
- //Transition properties
+ // Transition Properties
private var _transitionID:Number;
private var _transitionUIID:Number;
@@ -50,11 +50,9 @@
private var _title:String;
private var _description:String;
- private var _createDateTime:Date;
- //TODO 05-10-05: This will be removed by mai this week
- private var _learningDesignID:Number;
+ private var _createDateTime:Date;
+ private var _learningDesignID:Number;
-
function Transition(transitionUIID,
fromUIID,
toUIID,
@@ -187,13 +185,12 @@
public function get createDateTime():Date{
return _createDateTime;
}
-
-
+
public function set learningDesignID(a):Void{
_learningDesignID = a;
}
public function get learningDesignID():Number{
return _learningDesignID;
- }
-
+ }
+
}
\ No newline at end of file
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as
===================================================================
diff -u
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as (revision 0)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/BranchConnector.as (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -0,0 +1,37 @@
+/***************************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ************************************************************************
+ */
+
+import org.lamsfoundation.lams.common.util.*;
+import org.lamsfoundation.lams.common.ui.*;
+import org.lamsfoundation.lams.common.*;
+import org.lamsfoundation.lams.authoring.*;
+import org.lamsfoundation.lams.authoring.cv.*;
+
+
+class org.lamsfoundation.lams.authoring.br.BranchConnector extends CanvasTransition {
+
+ function BranchConnector(){
+ super();
+ }
+
+}
\ No newline at end of file
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as
===================================================================
diff -u -r6315ccfc298871795f8ab124b561646cc09a93f5 -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 6315ccfc298871795f8ab124b561646cc09a93f5)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -47,6 +47,7 @@
private var _cm:CanvasModel;
private var _canvasBranchView:CanvasBranchView;
+ private var _canvasBranchingActivity:CanvasBranchingActivity;
private var startTransX:Number;
private var startTransY:Number;
@@ -58,20 +59,26 @@
private var hSpace:Number = 100;
private var vSpace:Number = 100;
- private var close_mc:MovieClip;
+ private var close_mc:MovieClip;
+ // connector hubs for branch connections into and out of sequence activities
+ private var cHubStart_mc:MovieClip;
+ private var cHubEnd_mc:MovieClip;
+
+ private var _defaultSequenceActivity:Activity;
+
/**
* Constructor
*/
function CanvasBranchView(){
_canvasBranchView = this;
_tm = ThemeManager.getInstance();
-
+ defaultSequenceActivity = null;
+
//Init for event delegation
mx.events.EventDispatcher.initialize(this);
this._visible = false;
-
}
/**
@@ -85,8 +92,7 @@
H_GAP = 10;
V_GAP = 10;
- _cm = CanvasModel(m)
-
+ _cm = CanvasModel(m);
//register to recive updates form the model
_cm.addEventListener('viewUpdate',this);
@@ -117,7 +123,12 @@
case 'SIZE' :
setSize(cm);
break;
- case 'DRAW_ACTIVITY':
+ case 'ADD_SEQUENCE':
+ Debugger.log("adding seq: " + event.data, Debugger.CRITICAL, "viewUpdate", "CanvasBranchView");
+ var b= addSequence(event.data,cm);
+ Debugger.log("return from seq: " + b, Debugger.CRITICAL, "viewUpdate", "CanvasBranchView");
+ break;
+ case 'DRAW_ACTIVITY_SEQ':
drawActivity(event.data,cm);
break;
case 'HIDE_ACTIVITY':
@@ -179,8 +190,10 @@
close_mc.onRelease = Proxy.create(this, localOnRelease);
close_mc.onReleaseOutside = Proxy.create(this, localOnReleaseOutside);
- setStyles();
+ setupConnectorHubs();
+ loadSequenceActivities();
+ setStyles();
setSize(_cm);
this._visible = true;
@@ -189,6 +202,33 @@
dispatchEvent({type:'load',target:this});
}
+ private function setupConnectorHubs() {
+
+ Debugger.log('adding hubs for branch activity:' + _canvasBranchingActivity,Debugger.CRITICAL,'setupConenctorHubs','org.lamsfoundation.lams.CanvasBranchView');
+
+ cHubStart_mc = activityLayer.createChildAtDepth("CanvasBranchingConnector",DepthManager.kTop,{_activity:_canvasBranchingActivity.activity,_canvasController:getController(),_canvasView:_canvasBranchView, _x: 0 , _y: 0});
+ cHubEnd_mc = activityLayer.createChildAtDepth("CanvasBranchingConnector",DepthManager.kTop,{_activity:_canvasBranchingActivity.activity,_canvasController:getController(),_canvasView:_canvasBranchView, _x: 0 , _y: 0});
+
+ }
+
+ private function loadSequenceActivities() {
+ var sequenceActs:Array;
+ Debugger.log('loading sequence activities:',Debugger.CRITICAL,'loadSequenceActivities','org.lamsfoundation.lams.CanvasBranchView');
+
+ if((sequenceActs = _cm.getCanvas().ddm.getComplexActivityChildren(activity.activityUIID)).length <= 0) {
+ Debugger.log('creating init seq activity:' + sequenceActs,Debugger.CRITICAL,'loadSequenceActivities','org.lamsfoundation.lams.CanvasBranchView');
+ createInitialSequenceActivity();
+ } else {
+ // load existing sequences
+ Debugger.log('attempting to load seq acts:' + sequenceActs,Debugger.CRITICAL,'loadSequenceActivities','org.lamsfoundation.lams.CanvasBranchView');
+
+ }
+ }
+
+ private function createInitialSequenceActivity() {
+ _cm.createNewSequenceActivity(activity);
+ }
+
public function localOnRelease():Void{
close();
}
@@ -213,6 +253,11 @@
}
+ private function addSequence(a:Activity, cm:CanvasModel):Boolean{
+ defaultSequenceActivity = a;
+ return true;
+ }
+
/**
* Draws new or replaces existing activity to canvas stage.
* @usage
@@ -304,6 +349,7 @@
var r = cm.activitiesDisplayed.remove(a.activityUIID);
r.removeMovieClip();
var s:Boolean = (r==null) ? false : true;
+
return s;
}
@@ -323,8 +369,8 @@
cm.transitionsDisplayed.put(t.transitionUIID,newTransition_mc);
Debugger.log('drawn a transition:'+t.transitionUIID+','+newTransition_mc,Debugger.GEN,'drawTransition','CanvasView');
- return true;
+ return true;
}
/**
@@ -362,6 +408,7 @@
var r = cm.transitionsDisplayed.remove(t.transitionUIID);
r.removeMovieClip();
var s:Boolean = (r==null) ? false : true;
+
return s;
}
@@ -421,6 +468,26 @@
}
+ public function get startHub():CanvasActivity {
+ return CanvasActivity(cHubStart_mc);
+ }
+
+ public function get endHub():CanvasActivity {
+ return CanvasActivity(cHubEnd_mc);
+ }
+
+ public function get activity():BranchingActivity {
+ return _canvasBranchingActivity.activity;
+ }
+
+ public function get defaultSequenceActivity():Activity {
+ return _defaultSequenceActivity;
+ }
+
+ public function set defaultSequenceActivity(a:Activity):Void{
+ _defaultSequenceActivity = a;
+ }
+
/**
* Overrides method in abstract view to ensure cortect type of controller is returned
* @usage
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingConnector.as
===================================================================
diff -u
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingConnector.as (revision 0)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchingConnector.as (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -0,0 +1,61 @@
+/***************************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ************************************************************************
+ */
+
+import org.lamsfoundation.lams.common.*;
+import org.lamsfoundation.lams.common.util.*;
+import org.lamsfoundation.lams.common.util.ui.*;
+import org.lamsfoundation.lams.authoring.*;
+import org.lamsfoundation.lams.authoring.cv.*;
+import org.lamsfoundation.lams.authoring.br.*;
+import org.lamsfoundation.lams.monitoring.mv.*;
+import org.lamsfoundation.lams.monitoring.mv.tabviews.LearnerTabView;
+import org.lamsfoundation.lams.common.style.*
+import mx.controls.*
+import com.polymercode.Draw
+import mx.managers.*
+import mx.containers.*
+import mx.events.*
+import mx.utils.*
+
+/**
+* CanvasBranchingConnector
+*/
+class CanvasBranchingConnector extends CanvasActivity {
+
+ function CanvasBranchingConnector(){
+ super();
+ branchConnector = true;
+ }
+
+ private function onPress():Void{
+ if (_module == "monitoring"){
+ Debugger.log('SingleClicking:+'+this,Debugger.GEN,'onPress','CanvasActivity for monitoring');
+ _monitorController.activityClick(this);
+ }else {
+ Debugger.log('SingleClicking:+'+this,Debugger.GEN,'onPress','CanvasActivity');
+ _canvasController.activityClick(this);
+ }
+ }
+
+
+}
\ No newline at end of file
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as
===================================================================
diff -u -r6315ccfc298871795f8ab124b561646cc09a93f5 -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 6315ccfc298871795f8ab124b561646cc09a93f5)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -141,7 +141,6 @@
//if in monitor, dont do it!
initBin();
-
}
/**
@@ -153,6 +152,8 @@
canvasModel.activeView = evt.target;
if(evt.target instanceof CanvasBranchView) {
evt.target.open();
+
+ canvasModel.setDirty();
} else {
var autosave_config_interval = Config.getInstance().getItem(AUTOSAVE_CONFIG);
@@ -256,7 +257,7 @@
var cx:Number = ba._x + ba.getVisibleWidth()/2;
var cy:Number = ba._y + ba.getVisibleHeight()/2;
- var _branchView_mc:MovieClip = _canvasView_mc.content.createChildAtDepth("canvasBranchView", DepthManager.kTop, {_x: cx, _y: cy});
+ var _branchView_mc:MovieClip = _canvasView_mc.content.createChildAtDepth("canvasBranchView", DepthManager.kTop, {_x: cx, _y: cy, _canvasBranchingActivity:ba});
var branchView:CanvasBranchView = CanvasBranchView(_branchView_mc);
branchView.init(canvasModel,undefined);
@@ -266,6 +267,7 @@
canvasModel.addObserver(branchView);
ba.branchView = branchView;
+
}
public function closeBranchView() {
@@ -730,9 +732,14 @@
actToAdd.yCoord = canvasModel.activeView.content._ymouse - (toolActHeight/2);
}
- Debugger.log('actToAdd:'+actToAdd.title+':'+actToAdd.activityUIID,4,'setDroppedTemplateActivity','Canvas');
+ Debugger.log('actToAdd:'+actToAdd.title+':'+actToAdd.activityUIID + ":seq" + canvasModel.activeView.defaultSequenceActivity,4,'setDroppedTemplateActivity','Canvas');
+
+ if(canvasModel.activeView.defaultSequenceActivity != null) {
+ actToAdd.parentUIID = canvasModel.activeView.defaultSequenceActivity.activityUIID;
+ }
_ddm.addActivity(actToAdd);
+
//refresh the design
canvasModel.setDirty();
canvasModel.selectedItem = (canvasModel.activitiesDisplayed.get(actToAdd.activityUIID));
@@ -743,6 +750,7 @@
canvasModel.removeActivity(actToAdd.activityUIID);
canvasModel.removeActivity(taParent);
}
+
canvasModel.setDirty();
}
@@ -757,10 +765,6 @@
}
-/* public function addActivity(a:Activity){
-
- }
- */
/**
* Removes an activity from Design Data Model using its activityUIID.
* Called by the bin
@@ -845,9 +849,14 @@
_ddm.addEventListener('ddmBeforeUpdate',Proxy.create(this,onDDMBeforeUpdate));
checkValidDesign();
checkReadOnlyDesign();
- canvasModel.setDirty();
+ if(canvasModel.activeView instanceof CanvasBranchView) {
+ canvasModel.activeView.removeMovieClip();
+ closeBranchView();
+ }
+ canvasModel.setDirty();
+
createContentFolder();
return true;
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as
===================================================================
diff -u -r30b7641a18c8c83b3722fc22bb936d54f4eaa18b -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 30b7641a18c8c83b3722fc22bb936d54f4eaa18b)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -64,33 +64,45 @@
private var _isSelected:Boolean;
private var app:Application;
+
//locals
private var learnerOffset_X:Number = 4;
private var learnerOffset_Y:Number = 3;
private var learnerContainer:MovieClip;
+
private var _module:String;
+ private var _branchConnector:Boolean;
+
private var icon_mc:MovieClip;
private var icon_mcl:MovieClipLoader;
+
private var bkg_pnl:MovieClip;
private var act_pnl:MovieClip;
private var title_lbl:MovieClip;
+
private var groupIcon_mc:MovieClip;
private var branchIcon_mc:MovieClip;
- private var stopSign_mc:MovieClip;
+ private var stopSign_mc:MovieClip;
+ private var branchSign_mc:MovieClip;
+
private var clickTarget_mc:MovieClip;
+
private var canvasActivity_mc:MovieClip;
private var canvasActivityGrouped_mc:MovieClip;
+
private var _dcStartTime:Number = 0;
private var _doubleClicking:Boolean;
+
private var _visibleWidth:Number;
private var _visibleHeight:Number;
+
private var _base_mc:MovieClip;
private var _selected_mc:MovieClip;
+
private var fade_mc:MovieClip;
private var bgNegative:String = "original";
private var authorMenu:ContextMenu;
-
function CanvasActivity(){
//Debugger.log("_activity:"+_activity.title,4,'Constructor','CanvasActivity');
_tm = ThemeManager.getInstance();
@@ -99,7 +111,7 @@
app = Application.getInstance();
//let it wait one frame to set up the components.
//this has to be set b4 the do later :)
- if(_activity.isGateActivity()){
+ if(_activity.isGateActivity() || _branchConnector){
_visibleHeight = CanvasActivity.GATE_ACTIVITY_HEIGHT;
_visibleWidth = CanvasActivity.GATE_ACTIVITY_WIDTH;
}else if(_activity.isGroupActivity()){
@@ -142,7 +154,7 @@
}
- if(!_activity.isGateActivity() && !_activity.isGroupActivity() && !_activity.isBranchingActivity()){
+ if(!_activity.isGateActivity() && !_activity.isGroupActivity() && !_activity.isBranchingActivity() || _branchConnector){
loadIcon();
}
setStyles();
@@ -156,6 +168,7 @@
title_lbl._visible = isVisible;
icon_mc._visible = isVisible;
stopSign_mc._visible = isVisible;
+ branchSign_mc._visible = isVisible;
canvasActivity_mc._visible = isVisible;
clickTarget_mc._visible = isVisible;
canvasActivityGrouped_mc._visible = isVisible;
@@ -169,7 +182,6 @@
*/
public function refresh(setNegative:Boolean):Void{
bgNegative = String(setNegative);
- trace("called from PI")
setStyles();
draw();
setSelected(_isSelected);
@@ -222,7 +234,6 @@
}
-
private function loadIcon():Void{
icon_mc = this.createEmptyMovieClip("icon_mc", this.getNextHighestDepth());
var ml = new MovieLoader(Config.getInstance().serverUrl+_activity.libraryActivityUIImage,setUpActIcon,this,icon_mc);
@@ -315,12 +326,8 @@
var theIcon_mc:MovieClip;
title_lbl._visible = true;
- //act_pnl.__visible = true;
clickTarget_mc._visible = true;
fade_mc._visible = false;
-
- Debugger.log("Edit lock: " + app.canvas.ddm.editOverrideLock, Debugger.CRITICAL, 'draw', 'CanvasActivity');
- Debugger.log("Read only: " + _activity.isReadOnly(), Debugger.CRITICAL, 'draw', 'CanvasActivity');
if(_activity.isReadOnly() && app.canvas.ddm.editOverrideLock == 1){
Debugger.log("Making transparent layer visible. ", Debugger.CRITICAL, 'draw', 'CanvasActivity');
@@ -331,21 +338,25 @@
stopSign_mc._visible = true;
stopSign_mc._x = 0;
stopSign_mc._y = 0;
-
-
+ } else if(_branchConnector) {
+ branchSign_mc._visible = true;
+ branchSign_mc._x = 0;
+ branchSign_mc._y = 0;
} else {
//chose the icon:
if(_activity.isGroupActivity()){
groupIcon_mc._visible = true;
icon_mc._visible = false;
theIcon_mc = groupIcon_mc;
- } else if(_activity.isBranchingActivity()) {
+ } else if(_activity.isBranchingActivity()){
branchIcon_mc._visible = true;
+ groupIcon_mc._visible = false;
icon_mc._visible = false;
theIcon_mc = branchIcon_mc;
- } else{
+ } else {
groupIcon_mc._visible = false;
+ branchIcon_mc._visible = false;
icon_mc._visible = true;
theIcon_mc = icon_mc;
}
@@ -356,29 +367,33 @@
//chose the background mc
if(_activity.groupingUIID > 0){
canvasActivityGrouped_mc._visible = true;
- canvasActivity_mc._visible=false;
+ canvasActivity_mc._visible = false;
}else{
- canvasActivity_mc._visible=true;
+ canvasActivity_mc._visible = true;
canvasActivityGrouped_mc._visible = false;
}
- title_lbl.visible=true;
+ title_lbl.visible = true;
stopSign_mc._visible = false;
+ branchSign_mc._visible = false;
//write text
title_lbl.text = _activity.title;
clickTarget_mc._width = TOOL_ACTIVITY_WIDTH;
- clickTarget_mc._height= TOOL_ACTIVITY_HEIGHT;
+ clickTarget_mc._height = TOOL_ACTIVITY_HEIGHT;
}
//position
- _x = _activity.xCoord //- (clickTarget_mc._width/2);
- _y = _activity.yCoord //- (clickTarget_mc._height/2);
+ if(!_branchConnector) {
+ _x = _activity.xCoord;
+ _y = _activity.yCoord;
+ }
Debugger.log('canvasActivity_mc._visible'+canvasActivity_mc._visible,4,'draw','CanvasActivity');
_visible = true;
+
if (_activity.runOffline){
bgNegative = "true"
setStyles();
@@ -408,8 +423,7 @@
// check double-click
var now:Number = new Date().getTime();
- if((now - _dcStartTime) <= Config.DOUBLE_CLICK_DELAY){
- trace("Module passed is: "+_module)
+ if((now - _dcStartTime) <= Config.DOUBLE_CLICK_DELAY && !branchConnector){
if (app.controlKeyPressed != "transition"){
_doubleClicking = true;
if (_module == "monitoring"){
@@ -426,7 +440,6 @@
_doubleClicking = false;
- //Debugger.log('_canvasController:'+_canvasController,Debugger.GEN,'onPress','CanvasActivity');
if (_module == "monitoring"){
Debugger.log('SingleClicking:+'+this,Debugger.GEN,'onPress','CanvasActivity for monitoring');
_monitorController.activityClick(this);
@@ -444,7 +457,6 @@
private function onRelease():Void{
if(!_doubleClicking){
Debugger.log('Releasing:'+this,Debugger.GEN,'onRelease','CanvasActivity');
- trace("Activity ID is: "+this.activity.activityUIID)
if (_module == "monitoring"){
_monitorController.activityRelease(this);
}else {
@@ -506,7 +518,15 @@
_activity = a;
}
+ public function get branchConnector():Boolean {
+ if(_branchConnector != null) return _branchConnector;
+ else return false;
+ }
+ public function set branchConnector(a:Boolean):Void {
+ _branchConnector = a;
+ }
+
private function getAssociatedStyle():Object{
trace("Category ID for Activity "+_activity.title +": "+_activity.activityCategoryID)
var styleObj:Object = new Object();
@@ -574,17 +594,12 @@
}else {
var parentAct = mm.getMonitor().ddm.getActivityByUIID(this.activity.parentUIID)
}
- //if(parentAct.activityTypeID == Activity.OPTIONAL_ACTIVITY_TYPE){
- //trace("called by view")
- //styleObj = _tm.getStyleObject('ACTPanel1')
- //act_pnl.setStyle('styleName',styleObj);
- //}else {
- styleObj = getAssociatedStyle() //_tm.getStyleObject('ACTPanel')
+ styleObj = getAssociatedStyle();
act_pnl.setStyle('styleName',styleObj);
- //}
+
} else {
- styleObj = getAssociatedStyle() //_tm.getStyleObject('ACTPanel')
+ styleObj = getAssociatedStyle();
act_pnl.setStyle('styleName',styleObj);
}
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasBranchingActivity.as
===================================================================
diff -u -r6315ccfc298871795f8ab124b561646cc09a93f5 -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasBranchingActivity.as (.../CanvasBranchingActivity.as) (revision 6315ccfc298871795f8ab124b561646cc09a93f5)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasBranchingActivity.as (.../CanvasBranchingActivity.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -100,6 +100,9 @@
private var _locked:Boolean;
private var _isSelected:Boolean;
+
+ private var children_mc: Array;
+ private var childActivities_mc : MovieClip;
function CanvasBranchingActivity(){
Debugger.log("_activity:"+_activity.title+'uiID:'+_activity.activityUIID+' children:'+_children.length,Debugger.GEN,'Constructor','CanvasBranchingActivity');
@@ -136,8 +139,6 @@
_activity = initObj.activity;
}
- //_ddm.getComplexActivityChildren(_activity.activityUIID);
-
showAssets(false);
if (_activity.selectActivity == "false"){
@@ -409,6 +410,10 @@
_canvasController.activityReleaseOutside(this);
}
+ private function destroy() {
+ branchView.removeMovieClip();
+ }
+
/**
* Get the CSSStyleDeclaration objects for each component and applies them
* directly to the instanced
Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as
===================================================================
diff -u -r6315ccfc298871795f8ab124b561646cc09a93f5 -r7548a5a6349a58e304bfa7b35805978121ccbd87
--- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 6315ccfc298871795f8ab124b561646cc09a93f5)
+++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 7548a5a6349a58e304bfa7b35805978121ccbd87)
@@ -72,7 +72,7 @@
if(transitionTarget instanceof LFError){
transitionTarget.showErrorAlert(null);
}else{
- _canvasModel.addActivityToTransition(transitionTarget);
+ var td = _canvasModel.addActivityToTransition(transitionTarget);
_canvasModel.activeView.initDrawTempTrans();
}
@@ -82,7 +82,7 @@
var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID)
if(ca.activity.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){
- _canvasModel.isDragging = false;
+ _canvasModel.isDragging = false;
} else {
_canvasModel.isDragging = true;
ca.startDrag(false);
@@ -167,12 +167,8 @@
}
}
}
-
}
-
}
-
-
}
//if we are on the bin - trash it
@@ -184,19 +180,21 @@
}
//give it the new co-ords and 'drop' it
- ca.activity.xCoord = ca._x;
- ca.activity.yCoord = ca._y;
+ if(!ca.branchConnector) {
+ ca.activity.xCoord = ca._x;
+ ca.activity.yCoord = ca._y;
+ }
//refresh the transitions
//TODO: refresh the transitions as you drag...
var myTransitions = _canvasModel.getCanvas().ddm.getTransitionsForActivityUIID(ca.activity.activityUIID);
myTransitions = myTransitions.myTransitions;
+
//run in a loop to support branches, maybe more then 2 transitions.
for (var i=0; i