Index: lams_flash/src/central/flash/lams_authoring.fla =================================================================== diff -u -r454f3bf280f1ecf3fece8deed5091c50de660fd1 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/br/CanvasBranchView.as (.../CanvasBranchView.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -57,6 +57,9 @@ private var grid_mc:Object; private var hSpace:Number = 100; private var vSpace:Number = 100; + + private var close_mc:MovieClip; + /** * Constructor */ @@ -104,7 +107,7 @@ * @param event */ public function viewUpdate(event:Object):Void{ - Debugger.log('Recived an Event dispather UPDATE!, updateType:'+event.updateType+', target'+event.target,4,'viewUpdate','CanvasView'); + Debugger.log('Recived an Event dispather UPDATE!, updateType:'+event.updateType+', target'+event.target,4,'viewUpdate','CanvasBranchView'); var cm:CanvasModel = event.target; switch (event.updateType){ @@ -135,8 +138,12 @@ case 'SELECTED_ITEM' : highlightActivity(cm); break; + case 'SET_ACTIVE' : + Debugger.log('setting activie :' + event.updateType + " event.data: " + event.data + " condition: " + (event.data == this),Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasBranchView'); + transparentCover._visible = (event.data == this) ? false : true; + break; default : - Debugger.log('unknown update type :' + event.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); + Debugger.log('unknown update type :' + event.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasBranchView'); } } @@ -158,12 +165,20 @@ activityComplexLayer = content.createEmptyMovieClip("_activityComplexLayer_mc", content.getNextHighestDepth()); activityLayer = content.createEmptyMovieClip("_activityLayer_mc", content.getNextHighestDepth()); + transparentCover = content.createClassObject("Panel", "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); + transparentCover.onPress = null; + bkg_pnl.onRelease = function(){ Application.getInstance().getCanvas().getCanvasView().getController().canvasRelease(this); } bkg_pnl.useHandCursor = false; + close_mc = content.attachMovie("collapse_mc", "close_mc", DepthManager.kTop); + + close_mc.onRelease = Proxy.create(this, localOnRelease); + close_mc.onReleaseOutside = Proxy.create(this, localOnReleaseOutside); + setStyles(); setSize(_cm); @@ -175,6 +190,21 @@ dispatchEvent({type:'load',target:this}); } + public function localOnRelease():Void{ + close(); + } + + private function close():Void { + mx.transitions.TransitionManager.start(this, + {type:mx.transitions.Zoom, + direction:1, duration:0.5, easing:mx.transitions.easing.Strong.easeIn}); + _cm.getCanvas().closeBranchView(); + } + + public function localOnReleaseOutside():Void{ + + } + /** * Draws new or replaces existing activity to canvas stage. * @usage @@ -352,6 +382,9 @@ grid_mc._x = -cx+hSpace; grid_mc._y = -cy+vSpace; + close_mc._x = bkg_pnl._x + bkg_pnl.width - close_mc._width - 10; + close_mc._y = bkg_pnl._y + 10; + } /** @@ -363,18 +396,11 @@ private function setStyles() { var styleObj = _tm.getStyleObject('CanvasPanel'); - bkg_pnl.setStyle('styleName',styleObj); + bkg_pnl.setStyle('styleName', styleObj); + transparentCover.setStyle('styleName', styleObj); } - public function getTransitionLayer():MovieClip{ - return transitionLayer; - } - - public function closeView():Void { - this.removeMovieClip(); - } - /** * Overrides method in abstract view to ensure cortect type of controller is returned * @usage Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/Canvas.as (.../Canvas.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -150,6 +150,8 @@ public function viewLoaded(evt:Object) { if(evt.type=='load') { if(evt.target instanceof CanvasBranchView) { + + canvasModel.activeView = evt.target; mx.transitions.TransitionManager.start(evt.target, {type:mx.transitions.Zoom, direction:0, duration:1, easing:mx.transitions.easing.Bounce.easeOut}); @@ -254,7 +256,7 @@ public function openBranchView(ba){ - fadeOtherOnCanvas(ba); + //fadeOtherOnCanvas(ba); var cx:Number = ba._x + ba.getVisibleWidth()/2; var cy:Number = ba._y + ba.getVisibleHeight()/2; @@ -268,8 +270,12 @@ canvasModel.addObserver(branchView); } - + public function closeBranchView() { + canvasModel.activeView = canvasView; + canvasModel.currentBranchingActivity = null; + } + private function fadeOtherOnCanvas(ba) { var k:Array = canvasModel.activitiesDisplayed.values(); @@ -282,10 +288,6 @@ } - public function closeBranchView(ba:BranchingActivity){ - canvasBranchView.closeView(); - } - /** * Auto-saves current DDM (Learning Design on Canvas) to SharedObject * Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasController.as (.../CanvasController.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -23,6 +23,7 @@ import org.lamsfoundation.lams.authoring.* import org.lamsfoundation.lams.authoring.cv.* +import org.lamsfoundation.lams.authoring.br.* import org.lamsfoundation.lams.common.mvc.* import org.lamsfoundation.lams.common.util.* import org.lamsfoundation.lams.common.ui.* @@ -478,6 +479,7 @@ * @return */ public function canvasRelease(canvas_mc:MovieClip){ + var toolActWidth:Number = _canvasModel.getCanvas().toolActivityWidth; var toolActHeight:Number = _canvasModel.getCanvas().toolActivityHeight; Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasModel.as (.../CanvasModel.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -70,6 +70,7 @@ private var _transitionsDisplayed:Hashtable; private var _currentBranchingActivity:Object; + private var _activeView:Object; //These are defined so that the compiler can 'see' the events that are added at runtime by EventDispatcher private var dispatchEvent:Function; @@ -89,6 +90,9 @@ _transitionsDisplayed = new Hashtable("_transitionsDisplayed"); _activeTool = "none"; + _activeView = null; + _currentBranchingActivity = null; + _autoSaveWait = false; _transitionActivities = new Array(); _defaultGroupingTypeID = Grouping.RANDOM_GROUPING; @@ -104,13 +108,6 @@ __width = width; __height = height; - /* - //send an update - setChanged(); - infoObj = {}; - infoObj.updateType = "SIZE"; - notifyObservers(infoObj); - */ broadcastViewUpdate("SIZE"); } @@ -134,18 +131,10 @@ public function setPosition(x:Number, y:Number):Void{ __x=x; __y=y; - /* - //send an update - setChanged(); - infoObj = {}; - infoObj.updateType = "POSITION"; - notifyObservers(infoObj); - */ + broadcastViewUpdate("POSITION"); } - - /** * Used by View to get the size * @returns Object containing width(w) & height(h). obj.w & obj.h @@ -157,14 +146,22 @@ return p; } + public function set activeView(a:Object):Void{ + _activeView = a; + + broadcastViewUpdate("SET_ACTIVE", a); + } + + public function get activeView():Object { + return _activeView; + } + public function setPIHeight(h:Number){ - trace ("height is set to: "+h) - _piHeight = h + _piHeight = h; Application.getInstance().onResize(); } public function getPIHeight(){ - trace ("returning pi height: "+_piHeight) return _piHeight; } public function setDirty(){ @@ -175,16 +172,7 @@ } else { LFMenuBar.getInstance().enableExport(true); } - - /* - //work out what we need to redraw. - //for now lets just do a full re-draw - //send an update - setChanged(); - infoObj = {}; - infoObj.updateType = "DRAW_DESIGN"; - notifyObservers(infoObj); - */ + refreshDesign(); } Index: lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as (.../CanvasView.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/authoring/cv/CanvasView.as (.../CanvasView.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -135,6 +135,10 @@ case 'POSITION_TITLEBAR': setDesignTitle(cm); break; + case 'SET_ACTIVE' : + Debugger.log('setting activie :' + event.updateType + " event.data: " + event.data + " condition: " + (event.data == this),Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); + transparentCover._visible = (event.data == this) ? false : true; + break; default : Debugger.log('unknown update type :' + event.updateType,Debugger.CRITICAL,'update','org.lamsfoundation.lams.CanvasView'); } @@ -155,6 +159,10 @@ activityComplexLayer = content.createEmptyMovieClip("_activityComplexLayer_mc", content.getNextHighestDepth()); activityLayer = content.createEmptyMovieClip("_activityLayer_mc", content.getNextHighestDepth()); + transparentCover = content.createClassObject(Panel, "_transparentCover_mc", content.getNextHighestDepth(), {_visible: false, enabled: false, _alpha: 50}); + transparentCover.onPress = null; + + titleBar = _canvasView.attachMovie("DesignTitleBar", "titleBar", _canvasView.getNextHighestDepth()) var styleObj = _tm.getStyleObject('label'); @@ -398,7 +406,8 @@ var newHeight:Number = Math.max(s.h, lastScreenHeight); canvas_scp.setSize(s.w,s.h); - bkg_pnl.setSize(newWidth,newHeight); + bkg_pnl.setSize(newWidth, newHeight); + transparentCover.setSize(newWidth, newHeight); //Create the grid. The gris is re-drawn each time the canvas is resized. var grid_mc = Grid.drawGrid(gridLayer,Math.round(newWidth),Math.round(newHeight),V_GAP,H_GAP); @@ -422,7 +431,8 @@ */ private function setStyles() { var styleObj = _tm.getStyleObject('CanvasPanel'); - bkg_pnl.setStyle('styleName',styleObj); + bkg_pnl.setStyle('styleName', styleObj); + transparentCover.setStyle('styleName', styleObj); } /** @@ -434,14 +444,6 @@ this._x = p.x; this._y = p.y; } - - /**public function getViewMc(testString:String):MovieClip{ - return content; - }*/ - - public function getTransitionLayer():MovieClip{ - return transitionLayer; - } public function showReadOnly(b:Boolean){ isRread_only = b; Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as =================================================================== diff -u -r289092d9f07c88e637c6b93ac76dc40c6ef42310 -r604e9fa6c78738ca4ec1dbf0df7d254cb209dec2 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision 289092d9f07c88e637c6b93ac76dc40c6ef42310) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/CommonCanvasView.as (.../CommonCanvasView.as) (revision 604e9fa6c78738ca4ec1dbf0df7d254cb209dec2) @@ -56,7 +56,9 @@ private var _gridLayer_mc:MovieClip; private var _transitionLayer_mc:MovieClip; private var _activityLayer_mc:MovieClip; - private var _activityComplexLayer_mc:MovieClip; + private var _activityComplexLayer_mc:MovieClip; + + private var _transparentCover_mc:MovieClip; private var _transitionPropertiesOK:Function; @@ -219,6 +221,13 @@ public function set transitionLayer(a:MovieClip):Void { _transitionLayer_mc = a; } - + + public function get transparentCover():MovieClip { + return _transparentCover_mc; + } + + public function set transparentCover(a:MovieClip):Void { + _transparentCover_mc = a; + } } \ No newline at end of file