From 16a4c2ded3478d38ffe145dbe5379681a25e4a99 Mon Sep 17 00:00:00 2001 From: Ajay Gopinath <ajgopi124@gmail.com> Date: Sun, 15 Jul 2012 03:37:46 -0400 Subject: [PATCH] Fixed issue of zooming without TextToolbar. Fixed flicker with TextToolbar when changing values. --- .gitignore | 2 + .../modules/present/ui/views/SlideView.mxml | 14 ---- .../whiteboard/events/HideTextToolbarEvent.as | 2 +- .../modules/whiteboard/views/PopUpCombo.as | 10 +-- .../views/WhiteboardTextToolbar.mxml | 65 ++++++------------- 5 files changed, 29 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 30680f958a..34ac87e885 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ record-and-playback/playback-web/playback-web-0.1.war bigbluebutton-client/.actionScriptProperties bigbluebutton-client/.flexProperties push_to_git.py +a.txt + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml index f08bee139a..fa3a5b3f80 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/SlideView.mxml @@ -200,16 +200,12 @@ */ private function fitSlideToLoader():void { if (noSlideContentLoaded()) return; - LogUtil.debug("STEP 8.25"); slideLoader.content.x = slideLoader.x; slideLoader.content.y = slideLoader.y; slideLoader.content.width = slideLoader.width; slideLoader.content.height = slideLoader.height; - LogUtil.debug("STEP 8.5"); moveCanvas(slideLoader.x, slideLoader.y); - LogUtil.debug("STEP 8.75"); zoomCanvas(slideLoader.width, slideLoader.height); - LogUtil.debug("STEP 9"); } /** @@ -241,34 +237,24 @@ } else if (zoomPercentage >= SlideViewModel.MAX_ZOOM_PERCENT) { zoomPercentage = SlideViewModel.MAX_ZOOM_PERCENT } - LogUtil.debug("STEP 5"); slideModel.onZoom(zoomPercentage, mouseX, mouseY); - LogUtil.debug("STEP 6"); slideModel.printViewedRegion(); - LogUtil.debug("STEP 7"); slideModel.displayPresenterView(); - LogUtil.debug("STEP 8"); LogUtil.debug(slideLoader.x + ": x"); LogUtil.debug(slideLoader.y + ": y"); LogUtil.debug(slideLoader.width + ": width"); LogUtil.debug(slideLoader.height + ": height"); fitSlideToLoader(); - LogUtil.debug("STEP 9"); notifyOthersOfZoomEvent(); - LogUtil.debug("STEP 12"); } private function notifyOthersOfZoomEvent():void { - //LogUtil.debug("notifying others of zoom event"); var presentEvent:PresenterCommands = new PresenterCommands(PresenterCommands.ZOOM); presentEvent.xOffset = slideModel.viewedRegionX; presentEvent.yOffset = slideModel.viewedRegionY; presentEvent.slideToCanvasWidthRatio = slideModel.viewedRegionW; presentEvent.slideToCanvasHeightRatio = slideModel.viewedRegionH; - LogUtil.debug("STEP 10"); dispatchEvent(presentEvent); - LogUtil.debug("STEP 11"); - //LogUtil.debug("notifying others of zoom event22222222"); } private function presenterIsZoomingOut(delta:Number):Boolean { diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/events/HideTextToolbarEvent.as b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/events/HideTextToolbarEvent.as index 402d2a9bde..c73aa4427e 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/events/HideTextToolbarEvent.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/events/HideTextToolbarEvent.as @@ -28,7 +28,7 @@ package org.bigbluebutton.modules.whiteboard.events public function HideTextToolbarEvent(type:String) { - super(type); + super(type, true, false); } } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/PopUpCombo.as b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/PopUpCombo.as index a53e11cd71..afba142c67 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/PopUpCombo.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/PopUpCombo.as @@ -20,7 +20,7 @@ package org.bigbluebutton.modules.whiteboard.views public class PopUpCombo extends PopUpButton { - protected var _isOpen:Boolean = false; + public var isOpen:Boolean = false; protected var _inTween:Boolean = false; protected var _tween:Tween; @@ -64,7 +64,7 @@ package org.bigbluebutton.modules.whiteboard.views public function displayPopUp():void { - var show:Boolean = !_isOpen; + var show:Boolean = !isOpen; var popUpGap:Number = getStyle("popUpGap"); var point:Point = new Point(0, unscaledHeight + popUpGap); @@ -109,13 +109,13 @@ package org.bigbluebutton.modules.whiteboard.views popUp.visible = true; endY = 0; - _isOpen = show; + isOpen = show; duration = getStyle("openDuration"); easingFunction = getStyle("openEasingFunction") as Function; } else { - _isOpen = show; + isOpen = show; if (popUp.parent == null) return; @@ -173,7 +173,7 @@ package org.bigbluebutton.modules.whiteboard.views _inTween = false; UIComponent.resumeBackgroundProcessing(); - if (!_isOpen) + if (!isOpen) { popUp.visible = false; popUp.scrollRect = null; diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardTextToolbar.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardTextToolbar.mxml index 463c0833fc..d361311c1a 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardTextToolbar.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardTextToolbar.mxml @@ -84,7 +84,7 @@ [Bindable] private var toggle_text_background_icon:Class = images.toggle_text_background_icon; private var currentlySelectedTextObject:TextObject = null; private var presentationWindow:PresentationWindow; - private var normalAlpha:Number = 0.6; + private var normalAlpha:Number = 0.55; private var focusedAlpha:Number = 1.0; public function init():void { @@ -92,31 +92,26 @@ this.visible = true; this.addEventListener(MouseEvent.ROLL_OVER, makeFocused); this.addEventListener(MouseEvent.ROLL_OUT, makeDim); - this.textColor = ctextpik.selectedColor = 0x000000; + + + /* WARNING: enabling the following code caused some nasty issues with the whiteboard + It is kept here for reference + */ + /*this.textColor = ctextpik.selectedColor = 0x000000; this.bgColor = cbackpik.selectedColor = 0x000000; this.backgroundVisible = btnToggleBackground.selected = false; this.textSizeMenu.label = "14"; - this.textSize = Number(textSizeMenu.label); + this.textSize = Number(textSizeMenu.label);*/ } - /* adjusts the alpha of the TextToolbar for aesthetics and to show that - it is not currently the 'focus' of the screen - */ public function makeDim(event:MouseEvent):void { this.alpha = normalAlpha; } - /* adjusts the alpha of the TextToolbar for aesthetics and to show that - it is currently the 'focus' of the screen - */ public function makeFocused(event:MouseEvent):void { this.alpha = focusedAlpha; } - /* used to indicate the various font size options - that are availible to the presenter. more can be - added if desired. - */ private function initTextSizeMenu(): void { var m:Menu = new Menu(); m.variableRowHeight = true; @@ -141,7 +136,6 @@ textSizeMenu.displayPopUp(); var newTextSize:Number = Number(event.label); setTextSize(newTextSize); - //textSizeMenu.close(); } /** @@ -205,13 +199,9 @@ this.visible = false; } - private function closeToolbar(e:StopWhiteboardModuleEvent):void{ - parent.removeChild(this); - } - private function handleHideTextToolbarEvent(e:HideTextToolbarEvent):void{ LogUtil.debug("hiding toolbar by hidetexttoolbarevent"); - disableTextToolbar(); + this.disableTextToolbar(); } public function syncPropsWith(tobj:TextObject):void{ @@ -246,36 +236,35 @@ public function repositionToolbar(tobj:TextObject = null):void { // translate TextObject's coords to stage coords because TextToolbar is added to stage if(tobj == null) tobj = currentlySelectedTextObject; - if(textSizeMenu.isPopUp) + if(textSizeMenu.isOpen) { + LogUtil.debug("Text size menu is open...trying to close"); textSizeMenu.close(); + } var loc:Point = canvas.localToGlobal(new Point(tobj.x, tobj.y)); this.x = loc.x; this.y = loc.y - this.height - 45; parent.setChildIndex(this, parent.numChildren-1); } - /* called when a GraphicObject, specifically, a TextObject, is selected. Repositions the toolbar to the - location of the new TextObject for convenience, and syncs the toolbar's properties with the - selected text's properties - */ + private function closeToolbar(e:StopWhiteboardModuleEvent):void{ + parent.removeChild(this); + } + private function handleObjSelected(event:GraphicObjectFocusEvent):void { if(event.data.getGraphicType() != WhiteboardConstants.TYPE_TEXT) return; var tobj:TextObject = event.data as TextObject; repositionToolbar(tobj); syncPropsWith(tobj); - enableTextToolbar(); - if(textSizeMenu.isPopUp) - textSizeMenu.close(); + /*if(!this.visible) + enableTextToolbar(); + if(!this.enabled) + this.enabled = true;*/ LogUtil.debug("!!!!SELECTED:" + " " + tobj.getProperties()); } - /* called when a GraphicObject, specifically, a TextObject, is deselected. No current - use now, but may be added later. - */ private function handleObjDeselected(event:GraphicObjectFocusEvent):void { if(event.data.getGraphicType() != WhiteboardConstants.TYPE_TEXT) return; var tobj:TextObject = event.data as TextObject; - syncPropsWith(null); disableTextToolbar(); textSizeMenu.close(); LogUtil.debug("!!!!DESELECTED:" + " " + tobj.getProperties()); @@ -283,6 +272,7 @@ // repositions the toolbar when canvas is zoomed public function adjustForZoom(x:Number, y:Number):void { + if(currentlySelectedTextObject == null) return; repositionToolbar(currentlySelectedTextObject); } ]]> @@ -299,19 +289,6 @@ <mx:ColorPicker width="20" height="20" change="changeTextBackgroundColor(event)" id="cbackpik" selectedColor="0x000000" toolTip="{ResourceUtil.getInstance().getString('ltbcustom.bbb.highlighter.texttoolbar.backColorPicker')}"/> - - <!--<mx:ComboBox id="textSizeMenu" change="setTextSize(event)" width="25" - toolTip="{ResourceUtil.getInstance().getString('ltbcustom.bbb.highlighter.texttoolbar.textSizeMenu')}"> - <mx:ArrayCollection> - <mx:Object label="12" data="12"/> - <mx:Object label="14" data="14"/> - <mx:Object label="16" data="16"/> - <mx:Object label="18" data="18"/> - <mx:Object label="22" data="22"/> - <mx:Object label="24" data="24"/> - <mx:Object label="32" data="32"/> - </mx:ArrayCollection> - </mx:ComboBox>--> <views:PopUpCombo id="textSizeMenu" creationComplete="initTextSizeMenu()" toolTip="{ResourceUtil.getInstance().getString('ltbcustom.bbb.highlighter.texttoolbar.textSizeMenu')}" -- GitLab