Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -r86aae1b21277f5fc950a0303361b63fd7adde39c -r5ebc04888c42799642c9249df906922db6af4450 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -r86aae1b21277f5fc950a0303361b63fd7adde39c -r5ebc04888c42799642c9249df906922db6af4450 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as =================================================================== diff -u -rc99ac4e72ae3c8db8627c38f7e31afd0f6e469d8 -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision c99ac4e72ae3c8db8627c38f7e31afd0f6e469d8) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Activity.as (.../Activity.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -243,32 +243,25 @@ } public function isGroupActivity():Boolean{ - if (_activityTypeID == GROUPING_ACTIVITY_TYPE){ - return true; - } + return (_activityTypeID == GROUPING_ACTIVITY_TYPE); } public function isOptionalActivity():Boolean{ - if (_activityTypeID == OPTIONAL_ACTIVITY_TYPE){ - return true; - } + return (_activityTypeID == OPTIONAL_ACTIVITY_TYPE); } + public function isOptionalSequenceActivity(parent:Activity):Boolean { + return (this.isSequenceActivity() && parent.isOptionalActivity()); + } public function isParallelActivity():Boolean{ - if (_activityTypeID == PARALLEL_ACTIVITY_TYPE){ - return true; - } + return (_activityTypeID == PARALLEL_ACTIVITY_TYPE); } public function isBranchingActivity():Boolean{ - if (_activityTypeID == CHOSEN_BRANCHING_ACTIVITY_TYPE || + return (_activityTypeID == CHOSEN_BRANCHING_ACTIVITY_TYPE || _activityTypeID == GROUP_BRANCHING_ACTIVITY_TYPE || - _activityTypeID == TOOL_BRANCHING_ACTIVITY_TYPE){ - return true; - } else { - return false; - } + _activityTypeID == TOOL_BRANCHING_ACTIVITY_TYPE); } public function isSequenceActivity():Boolean{ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as =================================================================== diff -u -r7a9b710e06a36df574d235d7afc61665580249ec -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 7a9b710e06a36df574d235d7afc61665580249ec) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasActivity.as (.../CanvasActivity.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -115,6 +115,7 @@ private var _ddm:DesignDataModel; function CanvasActivity(_connector){ + _visible = false; _tm = ThemeManager.getInstance(); _ccm = CustomContextMenu.getInstance(); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r1aa870575978de0fbe4b5ab485f47d85d9b3c0be -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 1aa870575978de0fbe4b5ab485f47d85d9b3c0be) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -84,8 +84,9 @@ //just select the activity var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(ca.activity.parentUIID) - - if(ca.activity.parentUIID != null && parentAct.activityTypeID == Activity.PARALLEL_ACTIVITY_TYPE){ + + if(ca.activity.parentUIID != null && (parentAct.isParallelActivity() || + ca.activity.isOptionalSequenceActivity(parentAct))) { _canvasModel.isDragging = false; } else { ca.startDrag(false); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as =================================================================== diff -u -r1aa870575978de0fbe4b5ab485f47d85d9b3c0be -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision 1aa870575978de0fbe4b5ab485f47d85d9b3c0be) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasOptionalActivity.as (.../CanvasOptionalActivity.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -62,7 +62,7 @@ //Set by the init obj private var _activity:Activity; private var _children:Array; - private var children_mc:Array + private var children_mc:Array; private var panelHeight:Number; private var actMinOptions:Number; private var actMaxOptions:Number; @@ -95,11 +95,11 @@ private var current_mc:MovieClip; private var todo_mc:MovieClip; //---------------------------// - private var child_mc : MovieClip; - private var _locked : Boolean = false; - private var _visibleHeight : Number; - private var _visibleWidth : Number; - private var _tm : ThemeManager; + private var child_mc:MovieClip; + private var _locked:Boolean = false; + private var _visibleHeight:Number; + private var _visibleWidth:Number; + private var _tm:ThemeManager; private var _dictionary:Dictionary; function CanvasOptionalActivity() { @@ -132,9 +132,9 @@ public function initActivityType():Void { - clickTarget_mc.onPress = Proxy.create (this, localOnPress); - clickTarget_mc.onRelease = Proxy.create (this, localOnRelease); - clickTarget_mc.onReleaseOutside = Proxy.create (this, localOnReleaseOutside); + clickTarget_mc.onPress = Proxy.create(this, localOnPress); + clickTarget_mc.onRelease = Proxy.create(this, localOnRelease); + clickTarget_mc.onReleaseOutside = Proxy.create(this, localOnReleaseOutside); actMinOptions = _ca.minOptions; actMaxOptions = _ca.maxOptions; @@ -150,9 +150,9 @@ for (var i=0; i < _children.length; i++) { if(fromModuleTab == "monitorMonitorTab"){ - children_mc[i] = childActivities_mc.attachMovie ("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children [i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); }else { - children_mc[i] = childActivities_mc.attachMovie ("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children [i] , _canvasController:_canvasController, _canvasView:_canvasView}); + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth (), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); } //set the positioning co-ords @@ -182,11 +182,17 @@ children_mc = new Array(); for(var i=0; i < _children.length; i++) { - if(_children.isSequenceActivity()) { + if(_children[i].isSequenceActivity()) { if(fromModuleTab == "monitorMonitorTab") children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); else children_mc[i] = childActivities_mc.attachMovie("CanvasSequenceActivity", "CanvasSequenceActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + + //set the positioning co-ords + children_mc[i].activity.xCoord = CHILD_OFFSET_X; + children_mc[i].activity.yCoord = CHILD_OFFSET_Y + (i * CHILD_INCRE); + + children_mc[i]._visible = true; } } @@ -203,6 +209,7 @@ public function updateChildren(newChildren:Array):Void { _visible = false; _children = newChildren; + init(); } @@ -212,8 +219,13 @@ } } - public function getLastItem():Number { - return Number(children_mc[children_mc.length - 1].activity.activityUIID); + public function getLastItems(i:Number):Array { + var retArr:Array = new Array(); + + for(var j=i; j>0; j--) + retArr.push(Number(children_mc[children_mc.length - j].activity.activityUIID)); + + return retArr; } private function showStatus(isVisible:Boolean){ @@ -273,9 +285,9 @@ private function draw (){ - //clickTarget_mc.swapDepths(childActivities_mc.getNextHighestDepth()); var numOfChildren = _children.length - panelHeight = CHILD_OFFSET_Y + (numOfChildren * CHILD_INCRE); + panelHeight = CHILD_OFFSET_Y + (numOfChildren * CHILD_INCRE); + setStyles(); //write text @@ -286,6 +298,8 @@ //position the container (this) if(numOfChildren > 1){ container_pnl._height = CHILD_OFFSET_Y + (numOfChildren * CHILD_INCRE); + } else { + container_pnl._height = CHILD_OFFSET_Y + CHILD_INCRE; } _x = _activity.xCoord; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as =================================================================== diff -u -ra51a3578f817472254bb2e84b301122a6d8268cd -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as (.../CanvasParallelActivity.as) (revision a51a3578f817472254bb2e84b301122a6d8268cd) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasParallelActivity.as (.../CanvasParallelActivity.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -136,7 +136,6 @@ child2_mc.init({activity:child2,_monitorController:_monitorController,_monitorView:_monitorTabView, _module:"monitoring", learnerContainer:learnerContainer}); }else { - trace("called when seleting act") child1_mc.init({activity:child1,_canvasController:_canvasController,_canvasView:_canvasView}); child2_mc.init({activity:child2,_canvasController:_canvasController,_canvasView:_canvasView}); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as =================================================================== diff -u --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as (revision 0) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSequenceActivity.as (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -0,0 +1,491 @@ +/*************************************************************************** + * 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.* + +/** +* CanvasActivity - +*/ +class org.lamsfoundation.lams.authoring.cv.CanvasSequenceActivity extends MovieClip implements ICanvasActivity{ + + public static var TOOL_ACTIVITY_WIDTH:Number = 123.1; + public static var TOOL_ACTIVITY_HEIGHT:Number = 50.5; + public static var ICON_WIDTH:Number = 25; + public static var ICON_HEIGHT:Number = 25; + + private var CHILD_OFFSET_X : Number = 8; + private var CHILD_OFFSET_Y : Number = 57; + private var CHILD_INCRE : Number = 60; + + //this is set by the init object + private var _canvasController:CanvasController; + private var _canvasView:CanvasView; + private var _canvasBranchView:CanvasBranchView; + + private var _monitorController:MonitorController; + private var _monitorView; + + private var _controller; + + private var mm:MonitorModel; // used only when called from Monitor Environment + private var _canvasModel:CanvasModel; + + private var _tm:ThemeManager; + private var _ccm:CustomContextMenu; + + //TODO:This should be ToolActivity + private var _activity:Activity; + + private var _children:Array; + private var children_mc:Array; + + private var childActivities_mc:MovieClip; + private var learnerContainer:MovieClip; + + private var _isSelected:Boolean; + private var app:ApplicationParent; + + private var _module:String; + + private var icon_mc:MovieClip; + private var icon_mcl:MovieClipLoader; + + private var bkg_pnl:MovieClip; + private var act_pnl:MovieClip; + private var emptyIcon_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; + + private var _ddm:DesignDataModel; + + function CanvasSequenceActivity(){ + _visible = false; + _tm = ThemeManager.getInstance(); + _ccm = CustomContextMenu.getInstance(); + _ddm = getDDM(); + + //Get reference to application and design data model + app = ApplicationParent.getInstance(); + + //let it wait one frame to set up the components. + //this has to be set b4 the do later :) + + _visibleHeight = CanvasActivity.TOOL_ACTIVITY_HEIGHT; + _visibleWidth = CanvasActivity.TOOL_ACTIVITY_WIDTH; + + _base_mc = this; + + //call init if we have passed in the _activity as an initObj in the attach movie, + //otherwise wait as the class outside will call it + if(_activity != undefined){ + init(); + } + + } + + public function init(initObj):Void{ + clickTarget_mc.onPress = Proxy.create (this, localOnPress); + clickTarget_mc.onRelease = Proxy.create (this, localOnRelease); + clickTarget_mc.onReleaseOutside = Proxy.create (this, localOnReleaseOutside); + + if(initObj){ + _module = initObj._module; + if (_module == "monitoring"){ + _monitorView = initObj._monitorView; + _monitorController = initObj._monitorController; + }else { + _canvasView = initObj._canvasView; + _canvasController = initObj._canvasController; + } + + _activity = initObj.activity; + } + + _canvasModel = CanvasModel(_canvasController.getModel()); + _children = _ddm.getComplexActivityChildren(_activity.activityUIID); + + showAssets(false); + + if (_activity.selectActivity == "false"){ + _isSelected = false; + refresh(); + } + + removeAllChildren(); + + children_mc = new Array(); + + for(var i=0; i<_children.length; i++) { + if(_module == "monitoring") + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _monitorController:_monitorController, _monitorView:_monitorView, _module:"monitoring", learnerContainer:learnerContainer}); + else + children_mc[i] = childActivities_mc.attachMovie("CanvasActivity", "CanvasActivity"+i, childActivities_mc.getNextHighestDepth(), {_activity:_children[i] , _canvasController:_canvasController, _canvasView:_canvasView}); + } + + setStyles(); + + MovieClipUtils.doLater(Proxy.create(this, draw)); + } + + + public function updateChildren():Void { + _visible = false; + init(); + } + + public function refreshChildren():Void { + for(var i = 0; i < children_mc.length; i ++) { + children_mc[i].setSelected(false); + } + } + + public function removeAllChildren():Void { + for(var j=0; j 0){ + tgt_mc = canvasActivityGrouped_mc; + }else{ + tgt_mc = canvasActivity_mc; + } + + Debugger.log("tgt_mc:"+tgt_mc,4,'setSelected','CanvasActivity'); + + //vars + var tl_x = tgt_mc._x - MARGIN; //top left x + var tl_y = tgt_mc._y - MARGIN; //top left y + var tr_x = tgt_mc._x + tgt_mc._width + MARGIN; //top right x + var tr_y = tl_y; //top right y + var br_x = tr_x; //bottom right x + var br_y = tgt_mc._y + tgt_mc._height + MARGIN; //bottom right y + var bl_x = tl_x; //biottom left x + var bl_y = br_y; //bottom left y + + if(_selected_mc){ + _selected_mc.removeMovieClip(); + } + + _selected_mc = _base_mc.createEmptyMovieClip('_selected_mc',_base_mc.getNextHighestDepth()); + + var dashStyle:mx.styles.CSSStyleDeclaration = _tm.getStyleObject("CAHighlightBorder"); + var color:Number = dashStyle.getStyle("color"); + + Draw.dashTo(_selected_mc,tl_x,tl_y,tr_x,tr_y,2,3,2,color); + Draw.dashTo(_selected_mc,tr_x,tr_y,br_x,br_y,2,3,2,color); + Draw.dashTo(_selected_mc,br_x,br_y,bl_x,bl_y,2,3,2,color); + Draw.dashTo(_selected_mc,bl_x,bl_y,tl_x,tl_y,2,3,2,color); + + _isSelected = isSelected; + + } else { + //hide the selected border + _selected_mc.removeMovieClip(); + } + + } + + private function setUpActIcon(icon_mc):Void{ + icon_mc._x = (CanvasActivity.TOOL_ACTIVITY_WIDTH / 2) - (icon_mc._width / 2); + icon_mc._y = (CanvasActivity.TOOL_ACTIVITY_HEIGHT / 2) - (icon_mc._height / 2) - 6; + } + + /** + * Add + icon to indicate that more users are currently at the Activity. + * We are unable to display all the users across the Activity's panel. + * + * @usage + * @param target The target reference, this class OR a parent + * @param x_pos The X position of the icon + * @return + */ + + + /** + * Does the work of laying out the screen assets. + * Depending on type of Activity different bits will be shown + * @usage + * @return + */ + private function draw(){ + + // TODO: draw learners? + + setStyles(); + + var theIcon_mc:MovieClip; + + clickTarget_mc._visible = true; + fade_mc._visible = false; + + if(_activity.isReadOnly() && getDDM().editOverrideLock == 1){ + fade_mc._visible = true; + } + + if(_children.length <= 0) { + emptyIcon_mc._visible = true; + + icon_mc._visible = false; + theIcon_mc = emptyIcon_mc; + + setUpActIcon(theIcon_mc); + theIcon_mc._visible = true; + } + + //chose the background mc + if(_activity.groupingUIID > 0){ + canvasActivityGrouped_mc._visible = true; + canvasActivity_mc._visible = false; + }else{ + canvasActivity_mc._visible = true; + canvasActivityGrouped_mc._visible = false; + } + + clickTarget_mc._width = TOOL_ACTIVITY_WIDTH; + clickTarget_mc._height = TOOL_ACTIVITY_HEIGHT; + + _visible = true; + + _x = _activity.xCoord; + _y = _activity.yCoord; + + if(_activity.runOffline){ + bgNegative = "true" + setStyles(); + } + + } + + private function localOnPress():Void{ + var now:Number = new Date().getTime(); + + if((now - _dcStartTime) <= Config.DOUBLE_CLICK_DELAY){ + if (app.controlKeyPressed != "transition"){ + _doubleClicking = true; + + if (_module == "monitoring"){ + _monitorController.activityDoubleClick(this, "MonitorTabView"); + }else { + _canvasController.activityDoubleClick(this); + } + } + + app.controlKeyPressed = ""; + + }else{ + + _doubleClicking = false; + + if (_module == "monitoring"){ + _monitorController.activityClick(this); + }else { + _canvasController.activityClick(this); + } + + } + + _dcStartTime = now; + + } + + private function localOnRelease():Void{ + if(!_doubleClicking){ + + if (_module == "monitoring"){ + _monitorController.activityRelease(this); + }else { + _canvasController.activityRelease(this); + } + + } + + } + + private function localOnReleaseOutside():Void{ + if (_module == "monitoring"){ + _monitorController.activityReleaseOutside(this); + }else { + _canvasController.activityReleaseOutside(this); + } + } + + + /** + * + * @usage + * @return + */ + public function getVisibleWidth ():Number { + return _visibleWidth; + } + + + /** + * + * @usage + * @return + */ + public function getVisibleHeight ():Number { + return _visibleHeight; + } + + public function setPosition(x:Number, y:Number):Void { + _x = x; + _y = y; + } + + + public function set isSetSelected(v:Boolean):Void{ + _isSelected = v; + } + + public function get activity():Activity{ + return getActivity(); + } + + public function set activity(a:Activity){ + setActivity(a); + } + + + public function getActivity():Activity{ + return _activity; + + } + + public function setActivity(a:Activity){ + _activity = a; + } + + private function getAssociatedStyle():Object{ + var styleObj:Object = new Object(); + styleObj = _tm.getStyleObject('ACTPanel'); + + return styleObj; + } + + + /** + * Get the CSSStyleDeclaration objects for each component and applies them + * directly to the instanced + * @usage + * @return + */ + private function setStyles() { + /**var my_color:Color = new Color(this); + var transNegative = {ra:-100, ga:-100, ba:-100, rb:255, gb:255, bb:255}; + var transPositive = {ra:100, ga:100, ba:100, rb:0, gb:0, bb:0}; + + if (bgNegative == "true"){ + my_color.setTransform(transNegative); + }else if(bgNegative == "false"){ + my_color.setTransform(transPositive); + }else if(bgNegative == "original"){ + + if (this.activity.parentUIID != null || this.activity.parentUIID != undefined){ + if (_module != "monitoring"){ + var parentAct = _canvasModel.getCanvas().ddm.getActivityByUIID(this.activity.parentUIID) + }else { + var parentAct = mm.getMonitor().ddm.getActivityByUIID(this.activity.parentUIID) + } + */ + var styleObj = getAssociatedStyle(); + act_pnl.setStyle('styleName',styleObj); + + //} else { + // styleObj = getAssociatedStyle(); + // act_pnl.setStyle('styleName',styleObj); + // } + // + //} + + } + + private function getDDM():DesignDataModel { + if(_module == "monitoring") { + return _monitorView.ddm; + } else { + return _canvasView.ddm; + } + } + +} \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as =================================================================== diff -u -r1aa870575978de0fbe4b5ab485f47d85d9b3c0be -r5ebc04888c42799642c9249df906922db6af4450 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 1aa870575978de0fbe4b5ab485f47d85d9b3c0be) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/PropertyInspector.as (.../PropertyInspector.as) (revision 5ebc04888c42799642c9249df906922db6af4450) @@ -72,7 +72,10 @@ _canvasModel.selectedItem = null; _canvasModel.setPIHeight(piHeightHide); _canvasModel.addEventListener('viewUpdate',this); - + + for(var i=0; i<=10; i++) + noSeqAct_cmb.addItem(i); + clickTarget_mc.onRelease = Proxy.create (this, localOnRelease); clickTarget_mc.onReleaseOutside = Proxy.create (this, localOnReleaseOutside); @@ -96,8 +99,7 @@ maxAct_stp.addEventListener("change", Delegate.create(this, updateOptionalData)); maxAct_stp.addEventListener("focusOut", Delegate.create(this, updateOptionalData)); - noSeqAct_stp.addEventListener("change", Delegate.create(this, updateOptionalSequenceData)); - noSeqAct_stp.addEventListener("focusOut", Delegate.create(this, updateOptionalSequenceData)); + noSeqAct_cmb.addEventListener("change", Delegate.create(this, updateOptionalSequenceData)); days_stp.addEventListener("change", Delegate.create(this, onScheduleOffsetChange)); hours_stp.addEventListener("change", Delegate.create(this, onScheduleOffsetChange)); @@ -459,9 +461,9 @@ defineLater_chk.selected = ca.defineLater; if(ca.noSequences == undefined) - noSeqAct_stp.value = 0; + noSeqAct_cmb.selectedIndex = 0; else - noSeqAct_stp.value = ca.noSequences; + noSeqAct_cmb.selectedIndex = ca.noSequences; } private function updateOptionalData(){ @@ -485,19 +487,33 @@ var oa = _canvasModel.selectedItem.activity; var o = ComplexActivity(oa); - if(o.noSequences < noSeqAct_stp.value) { - _canvasModel.createNewSequenceActivity(oa); + if(o.noSequences < noSeqAct_cmb.value) { + for(var i=0; i<(noSeqAct_cmb.value - o.noSequences); i++) + _canvasModel.createNewSequenceActivity(oa); } else { - var itemToRemove:Number = CanvasOptionalActivity(_canvasModel.selectedItem).getLastItem(); - _canvasModel.removeActivity(itemToRemove); - } + var itemsToRemove:Array = CanvasOptionalActivity(_canvasModel.selectedItem).getLastItems((o.noSequences - noSeqAct_cmb.value)); + Debugger.log("itemsToRemove len: " + itemsToRemove.length,Debugger.CRITICAL, "updateOptionalSequenceData", "PropertyInspector"); - var newChildren:Array = _canvasModel.getCanvas().ddm.getComplexActivityChildren(oa.activityUIID); - CanvasOptionalActivity(_canvasModel.selectedItem).updateChildren(newChildren); + for(var i=0; i