Index: lams_central/web/lams_authoring.swf =================================================================== diff -u -ra7b77e6f045c5d5b6c7a79b0ddcd16f2c84259ad -ra0391f9239dd0b510838649eb1b1c7c207412ff3 Binary files differ Index: lams_central/web/lams_authoring_library.swf =================================================================== diff -u -ra7b77e6f045c5d5b6c7a79b0ddcd16f2c84259ad -ra0391f9239dd0b510838649eb1b1c7c207412ff3 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as =================================================================== diff -u -rde65d00b5bf887f55beabea327159f0df35f0933 -ra0391f9239dd0b510838649eb1b1c7c207412ff3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision de65d00b5bf887f55beabea327159f0df35f0933) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/Application.as (.../Application.as) (revision a0391f9239dd0b510838649eb1b1c7c207412ff3) @@ -605,7 +605,6 @@ } public function paste():Void{ - trace("testing paste"); _clipboardData.count++; _canvas.setPastedItem(getClipboardData()); } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as =================================================================== diff -u -r6b6d09c3963a2e944c0cb122c85479fb1f5f5ae3 -ra0391f9239dd0b510838649eb1b1c7c207412ff3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision 6b6d09c3963a2e944c0cb122c85479fb1f5f5ae3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasHelper.as (.../CanvasHelper.as) (revision a0391f9239dd0b510838649eb1b1c7c207412ff3) @@ -476,16 +476,14 @@ * @return */ public function setPastedItem(o:Object){ - if (o.data instanceof CanvasActivity){ + if(o.data instanceof CanvasActivity){ Debugger.log('instance is CA',Debugger.GEN,'setPastedItem','Canvas'); - var callback:Function = Proxy.create(this,setNewContentID, o); + var callback:Function = Proxy.create(this, setNewContentID, o); Application.getInstance().getComms().getRequest('authoring/author.do?method=copyToolContent&toolContentID='+o.data.activity.toolContentID+'&userID='+_root.userID,callback, false); - } else if(o.data instanceof ToolActivity){ Debugger.log('instance is Tool',Debugger.GEN,'setPastedItem','Canvas'); - var callback:Function = Proxy.create(this,setNewContentID, o); + var callback:Function = Proxy.create(this, setNewContentID, o); Application.getInstance().getComms().getRequest('authoring/author.do?method=copyToolContent&toolContentID='+o.toolContentID+'&userID='+_root.userID,callback, false); - } else{ Debugger.log('Cant paste this item!',Debugger.GEN,'setPastedItem','Canvas'); } @@ -502,7 +500,6 @@ return pasteItem(o.data, o, _newToolContentID); } } - } private function pasteItem(toolToCopy:ToolActivity, o:Object, newToolContentID:Number):Object{ @@ -511,11 +508,16 @@ newToolActivity.activityUIID = _ddm.newUIID(); if (newToolContentID != null || newToolContentID != undefined){ newToolActivity.toolContentID = newToolContentID; - } + } + newToolActivity.xCoord = o.data.activity.xCoord + 10 newToolActivity.yCoord = o.data.activity.yCoord + 10 + canvasModel.selectedItem = newToolActivity; - + + if(canvasModel.activeView instanceof CanvasBranchView) + newToolActivity.parentUIID = CanvasBranchView(canvasModel.activeView).defaultSequenceActivity.activityUIID; + if(o.type == Application.CUT_TYPE){ Application.getInstance().setClipboardData(newToolActivity, Application.COPY_TYPE); removeActivity(o.data.activity.activityUIID); @@ -539,7 +541,6 @@ else canvasModel.activeView = (parentBranching.activity.isBranchingActivity()) ? parentBranching.activity.branchView : canvasView; - canvasModel.currentBranchingActivity = (parentBranching.activity.isBranchingActivity()) ? parentBranching : null; if(canvasModel.activeView instanceof CanvasComplexView) Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r6b6d09c3963a2e944c0cb122c85479fb1f5f5ae3 -ra0391f9239dd0b510838649eb1b1c7c207412ff3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 6b6d09c3963a2e944c0cb122c85479fb1f5f5ae3) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision a0391f9239dd0b510838649eb1b1c7c207412ff3) @@ -316,8 +316,7 @@ ca.activity.orderID = null; ca.activity.parentActivityID = (activeView instanceof CanvasBranchView) ? activeView.defaultSequenceActivity.activityID : null; - if(ca.activity.isBranchingActivity()) - ca.activity.clear = true; + tagBranchingActivitiesForClearing(ca); if(!(activeView instanceof CanvasComplexView)) removeActivity(parentID); Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as =================================================================== diff -u -raf22577e43aebcdfab2b62d9ef1fae084ea2ab31 -ra0391f9239dd0b510838649eb1b1c7c207412ff3 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision af22577e43aebcdfab2b62d9ef1fae084ea2ab31) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasSuperModel.as (.../CanvasSuperModel.as) (revision a0391f9239dd0b510838649eb1b1c7c207412ff3) @@ -799,7 +799,7 @@ return _piHeight; } - public function findOptionalActivities():Array{ + public function findOptionalActivities(findAll:Boolean):Array{ var actOptional:Array = new Array(); var k:Array = _activitiesDisplayed.values(); @@ -809,6 +809,8 @@ if(k[i].activity.parentUIID == null && (_activeView instanceof CanvasView)) actOptional.push(k[i]); else if((_activeView instanceof CanvasBranchView) && findParent(k[i].activity, _activeView.activity)) + actOptional.push(k[i]); + else if(findAll) actOptional.push(k[i]); } @@ -952,8 +954,7 @@ ca.activity.orderID = null; ca.activity.parentActivityID = (activeView instanceof CanvasBranchView) ? activeView.defaultSequenceActivity.activityID : null; - if(ca.activity.isBranchingActivity()) - ca.activity.clear = true; + tagBranchingActivitiesForClearing(ca.activity); removeActivity(ca.activity.activityUIID); removeActivity(parentID); @@ -990,20 +991,30 @@ Debugger.log('ParentId of '+ca.activity.activityUIID+ ' ==> '+ca.activity.parentUIID,Debugger.GEN,'addParentToActivity','CanvasModel'); - if(ca.activity.isBranchingActivity()) { - ca.activity.clear = true; - } else if(ca.activity.isOptionalActivity() || ca.activity.isOptionsWithSequencesActivity()) { - for(var i=0; i