Work on highlighter module, bug fixes for 0.61 UI bugs

git-svn-id: http://bigbluebutton.googlecode.com/svn/trunk@2480 af16638f-c34d-0410-8cfa-b39d5352b314
This commit is contained in:
Denis Zgonjanin 2009-09-14 13:49:36 +00:00
parent 5fa71b60dc
commit 9bdf0ce3ef
25 changed files with 335 additions and 27 deletions

View File

@ -43,6 +43,7 @@
<module application="src/BigBlueButton.mxml" destPath="DeskShareModule.swf" optimize="true" sourcePath="src/DeskShareModule.mxml"/>
<module application="src/BigBlueButton.mxml" destPath="ChatModule.swf" optimize="true" sourcePath="src/ChatModule.mxml"/>
<module application="src/BigBlueButton.mxml" destPath="PresentationModule.swf" optimize="true" sourcePath="src/PresentationModule.mxml"/>
<module application="src/BigBlueButton.mxml" destPath="HighlighterModule.swf" optimize="true" sourcePath="src/HighlighterModule.mxml"/>
</modules>
<buildCSSFiles/>
</actionScriptProperties>

View File

@ -18,6 +18,7 @@
<mxmlc-compile target="${APP_ROOT}/PhoneModule" />
<mxmlc-compile target="${APP_ROOT}/AutotestModule" />
<mxmlc-compile target="${APP_ROOT}/VideoconfModule" />
<mxmlc-compile target="${APP_ROOT}/HighlighterModule" />
<!-- REMOVE FOR NOW (RALAM AUG 3, 2009)
<mxmlc-compile target="${APP_ROOT}/LoginModule" />

View File

@ -38,8 +38,8 @@
private static const FROM_HIGHLIGHTER_MODULE:String = "FROM_HIGHLIGHTER_MODULE";
private var _router:Router;
private var _moduleId:String = "NotesModule";
private var _moduleName:String = "Notes Module";
private var _moduleId:String = "HighlighterModule";
private var _moduleName:String = "Highlighter Module";
private var _attributes:Object;
private var highlighterCanvas:HighlighterCanvas;
@ -89,9 +89,9 @@
if (_attributes.mode == null) {
//_attributes.mode = "PLAYBACK"
_attributes.mode = "LIVE"
LogUtil.debug('Setting ChatModule mode: ' + _attributes.mode);
LogUtil.debug('Setting HighlighterModule mode: ' + _attributes.mode);
}
LogUtil.debug('ChatModule mode: ' + _attributes.mode);
LogUtil.debug('HighlighterModule mode: ' + _attributes.mode);
return _attributes.mode;
}
@ -104,10 +104,11 @@
}
public function start(attributes:Object):void {
LogUtil.debug("notes attr: " + attributes.username);
LogUtil.debug("highlighter attr: " + attributes.username);
_attributes = attributes;
globalDispatcher = new Dispatcher();
eventMap.startSOService(this.uri, this.connection);
//eventMap.createHighlighterCanvas();
var startEvent:StartHighligtherModuleEvent = new StartHighligtherModuleEvent();
dispatchEvent(startEvent);

View File

@ -53,6 +53,13 @@
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>
<!--<module name="HighlighterModule" url="HighlighterModule.swf"
uri="rtmp://192.168.0.124/bigbluebutton"
onUserJoinedEvent="START"
onUserLogoutEvent="STOP"
/>-->
</modules>
</config>

View File

@ -25,5 +25,10 @@ package org.bigbluebutton.common
function get yPosition():int;
function set xPosition(x:int):void;
function set yPosition(y:int):void;
function get defaultWidth():int
function get defaultHeight():int;
function set defaultWidth(width:int):void;
function set defaultHeight(height:int):void;
function resetWidthAndHeight():void;
}
}

View File

@ -33,6 +33,7 @@ TypeError: Error #1034: Type Coercion failed: cannot convert org.bigbluebutton.m
<EventMap xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="http://mate.asfusion.com/">
<mx:Script>
<![CDATA[
import org.bigbluebutton.main.events.AddHighligtherCanvasEvent;
import org.bigbluebutton.modules.viewers.view.events.StreamStartedEvent;
import org.bigbluebutton.modules.videoconf.events.BroadcastStoppedEvent;
import org.bigbluebutton.modules.videoconf.events.BroadcastStartedEvent;
@ -44,4 +45,5 @@ TypeError: Error #1034: Type Coercion failed: cannot convert org.bigbluebutton.m
<Listener type="{BroadcastStartedEvent.BROADCAST_STARTED_EVENT}" />
<Listener type="{BroadcastStoppedEvent.BROADCAST_STOPPED}" />
<Listener type="{StreamStartedEvent.STREAM_STARTED}" />
<Listener type="{AddHighligtherCanvasEvent.ADD_HIGHLIGHTER_CANVAS}" />
</EventMap>

View File

@ -171,6 +171,7 @@
for (var i:Number=0; i<windows.length; i++){
var window:IBbbModuleWindow = windows[i] as IBbbModuleWindow;
mdiCanvas.windowManager.absPos(window as MDIWindow, window.xPosition, window.yPosition);
window.resetWidthAndHeight();
}
}
]]>

View File

@ -23,7 +23,7 @@
<MDIWindow xmlns="flexlib.mdi.containers.*"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:chat="org.bigbluebutton.modules.chat.views.components.*"
width="590" height="300" showCloseButton="false"
width="{_defaultWidth}" height="{_defaultHeight}" showCloseButton="false"
implements="org.bigbluebutton.common.IBbbModuleWindow"
creationComplete="onCreationComplete()"
xmlns:components="org.bigbluebutton.modules.chat.view.components.*" xmlns:mate="http://mate.asfusion.com/">
@ -64,6 +64,30 @@
private var dispState:String;
[Bindable] private var _defaultWidth:int = 590;
[Bindable] private var _defaultHeight:int = 300;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
public function get xPosition():int {
return _xPosition;
}

View File

@ -31,6 +31,7 @@
<mx:Script>
<![CDATA[
import flexlib.mdi.events.MDIWindowEvent;
import org.bigbluebutton.common.Images;
import org.bigbluebutton.modules.deskShare.events.StopViewingEvent;
import org.bigbluebutton.modules.deskShare.events.WindowCommand;
@ -61,6 +62,30 @@
private var captureHeight:Number = Capabilities.screenResolutionY;
private var captureWidth:Number = Capabilities.screenResolutionX;
//The following code block is to deal with a bug in FLexLib with MDI windows not responding well to being maximized
private var savedWindowWidth:Number;
private var savedWindowHeight:Number;
private var savedX:Number;
private var savedY:Number;
private var isMaximized:Boolean = false;
override public function maximize():void{
if (!isMaximized){
savedWindowHeight = this.height;
savedWindowWidth = this.width;
savedX = this.x;
savedY = this.y;
dispatchEvent(new MDIWindowEvent(MDIWindowEvent.MAXIMIZE, this));
isMaximized = true;
} else{
this.width = savedWindowWidth;
this.height = savedWindowHeight;
this.x = savedX;
this.y = savedY;
isMaximized = false;
//dispatchEvent(new MDIWindowEvent(MDIWindowEvent.RESTORE, this));
}
}
private function onCreationComplete():void{
}
@ -81,6 +106,24 @@
_yPosition = y;
}
public function get defaultWidth():int{
return this.width;
}
public function get defaultHeight():int{
return this.height;
}
public function set defaultHeight(height:int):void{
this.height = height;
}
public function set defaultWidth(width:int):void{
this.width = width;
}
public function resetWidthAndHeight():void{}
public function startSharing():void{
var captureX:Number = 0;
var captureY:Number = 0;

View File

@ -26,10 +26,12 @@
creationComplete="onCreationComplete()"
implements="org.bigbluebutton.common.IBbbModuleWindow"
xmlns:mate="http://mate.asfusion.com/"
title="Desktop Sharing">
title="Desktop Sharing"
showCloseButton="false">
<mx:Script>
<![CDATA[
import flexlib.mdi.events.MDIWindowEvent;
import mx.events.ResizeEvent;
import mx.controls.Alert;
import org.bigbluebutton.modules.deskShare.events.StopViewingEvent;
@ -46,6 +48,30 @@
private var _xPosition:int = 675;
private var _yPosition:int = 310;
//The following code block is to deal with a bug in FLexLib with MDI windows not responding well to being maximized
private var savedWindowWidth:Number;
private var savedWindowHeight:Number;
private var savedX:Number;
private var savedY:Number;
private var isMaximized:Boolean = false;
override public function maximize():void{
if (!isMaximized){
savedWindowHeight = this.height;
savedWindowWidth = this.width;
savedX = this.x;
savedY = this.y;
dispatchEvent(new MDIWindowEvent(MDIWindowEvent.MAXIMIZE, this));
isMaximized = true;
} else{
this.width = savedWindowWidth;
this.height = savedWindowHeight;
this.x = savedX;
this.y = savedY;
isMaximized = false;
//dispatchEvent(new MDIWindowEvent(MDIWindowEvent.RESTORE, this));
}
}
private function onCreationComplete():void{
videoHolder = new UIComponent();
videoHolder.addChild(video);
@ -109,6 +135,30 @@
_yPosition = y;
}
private var _defaultWidth:int = 400;
private var _defaultHeight:int = 300;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
public function onResize(e:ResizeEvent):void{
//video.width = videoHolder.width;
//video.height = videoHolder.height;

View File

@ -14,7 +14,7 @@
[Bindable]
private var highlighterCanvas:HighlighterCanvas;
private function createHighlighterCanvas():void {
public function createHighlighterCanvas():void {
highlighterCanvas = new HighlighterCanvas();
}

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" xmlns:mate="http://mate.asfusion.com/"
mouseDown="doMouseDown()" mouseMove="doMouseMove()" backgroundAlpha="0" alpha="0" creationComplete="init()">
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:mate="http://mate.asfusion.com/"
mouseDown="doMouseDown()" mouseMove="doMouseMove()" mouseUp="doMouseUp()" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import org.bigbluebutton.modules.highlighter.events.HighlighterDrawEvent;
import mx.core.Application;
import org.bigbluebutton.modules.highlighter.business.shapes.ShapeFactory;
@ -27,7 +28,7 @@
protected var shapeStyle:String = DrawObject.PENCIL;
protected var drawColor:uint = 0xCCFF00;
protected var thickness:uint;
protected var thickness:uint = 3;
private var _xPosition:int;
private var _yPosition:int;

View File

@ -144,8 +144,6 @@ package org.bigbluebutton.modules.listeners.view
private function handleOpenListenersWindow():void {
_listenersWindow.listeners = proxy.listeners;
_listenersWindow.moderator = proxy.isModerator();
_listenersWindow.width = 210;
_listenersWindow.height = 220;
_listenersWindow.title = "Voice Participants";
_listenersWindow.showCloseButton = false;
_listenersWindow.xPosition = 0;

View File

@ -22,7 +22,8 @@
<MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="flexlib.mdi.containers.*"
implements="org.bigbluebutton.common.IBbbModuleWindow">
implements="org.bigbluebutton.common.IBbbModuleWindow"
width="210" height="220">
<mx:Script>
<![CDATA[
@ -88,6 +89,30 @@
public function set yPosition(y:int):void {
_yPosition = y;
}
private var _defaultWidth:int = 210;
private var _defaultHeight:int = 220;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
private function listenerSelectEvent(event:ListEvent):void {
dispatchEvent(new ListenerSelectedEvent(moderator , listeners.getItemAt(listenersList.selectedIndex).userid));

View File

@ -84,6 +84,30 @@ Notes.mxml is the main view of the SharedNotes application
_yPosition = y;
}
private var _defaultWidth:int = 400;
private var _defaultHeight:int = 300;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
]]>
</mx:Script>

View File

@ -176,8 +176,8 @@ package org.bigbluebutton.modules.presentation.view
handleViewerMode();
break;
case PresentModuleConstants.OPEN_PRESENT_WINDOW:
_presWin.height = 450;
_presWin.width = 450;
//_presWin.height = 450;
//_presWin.width = 450;
_presWin.title = PresentationWindow.TITLE;
_presWin.showCloseButton = false;
_presWin.xPosition = 220;

View File

@ -30,7 +30,8 @@
implements="org.bigbluebutton.common.IBbbModuleWindow"
mouseMove="thumbnailDisplay()"
creationComplete="init()"
rollOut="hideThumbs()" xmlns:mate="http://mate.asfusion.com/">
rollOut="hideThumbs()" xmlns:mate="http://mate.asfusion.com/"
width="450" height="450">
<mx:Script>
<![CDATA[
@ -121,6 +122,30 @@
_yPosition = y;
}
[Bindable] private var _defaultWidth:int = 450;
[Bindable] private var _defaultHeight:int = 450;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
private function thumbnailDisplay():void{
if (!mouseDown && mouseY > this.height*0.8 && isPresenter){
thumbnailWindow.y = this.height - 270;
@ -168,15 +193,18 @@
}
private function addHighlighter(event:AddHighligtherCanvasEvent):void{
var highlighter:Canvas = event.canvas;
this.addChild(highlighter);
/*var highlighter:Canvas = event.canvas;
highlighter.x = mainCanvas.x;
highlighter.y = mainCanvas.y;
highlighter.width = mainCanvas.width;
highlighter.height = mainCanvas.height;
this.addChild(highlighter);
this.addChildAt(highlighter, numChildren-1);*/
}
]]>
</mx:Script>
<mx:Fade id="thumbFadeIn" alphaFrom="1" alphaTo="0" duration="100" />
<mx:Fade id="thumbFadeOut" alphaFrom="0" alphaTo="1" duration="100" />

View File

@ -89,6 +89,9 @@
broadcastEvent.stream = e.stream;
broadcastEvent.userid = module.userid;
globalDispatcher.dispatchEvent(broadcastEvent);
//Make toolbar button visible again
button.show();
}
public function addTiledWindow():void{

View File

@ -27,7 +27,8 @@
width="{camWidth + 6}" height="{camHeight + 73}"
title="Stream webcam"
backgroundImage="{bbbLogo}"
resizable="false" xmlns:mate="http://mate.asfusion.com/">
resizable="false"
xmlns:mate="http://mate.asfusion.com/">
<mx:Script>
<![CDATA[
@ -99,7 +100,28 @@
public function set yPosition(y:int):void {
_yPosition = y;
}
}
private var _defaultWidth:int;
private var _defaultHeight:int;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{}
private function startPublishing():void{
var camera:Camera = Camera.getCamera(cmbCameraSelector.selectedIndex.toString());

View File

@ -107,7 +107,31 @@
public function set yPosition(y:int):void {
_yPosition = y;
}
}
private var _defaultWidth:int = 390;
private var _defaultHeight:int = 361;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
private function setupTiles():void{
var tile0:UIComponent = new UIComponent();

View File

@ -38,6 +38,11 @@
private function openPublishWindow():void{
dispatchEvent(new OpenPublishWindowEvent());
this.visible = false;
}
public function show():void{
this.visible = true;
}
]]>
</mx:Script>

View File

@ -132,7 +132,25 @@
public function set yPosition(y:int):void {
_yPosition = y;
}
}
public function get defaultWidth():int{
return this.width;
}
public function get defaultHeight():int{
return this.height;
}
public function set defaultHeight(height:int):void{
this.height = height;
}
public function set defaultWidth(width:int):void{
this.width = width;
}
public function resetWidthAndHeight():void{}
private function onNetStatus(e:NetStatusEvent):void{
switch(e.info.code){

View File

@ -116,8 +116,6 @@ package org.bigbluebutton.modules.viewers.view
private function handleOpenViewersWindow():void {
_viewersWindow.participants = proxy.participants;
_viewersWindow.isModerator = proxy.isModerator();
_viewersWindow.width = 210;
_viewersWindow.height = 220;
_viewersWindow.title = "Web Participants";
_viewersWindow.showCloseButton = false;
_viewersWindow.xPosition = 0;

View File

@ -22,7 +22,9 @@
<viewer:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:viewer="flexlib.mdi.containers.*"
implements="org.bigbluebutton.common.IBbbModuleWindow" xmlns:mate="http://mate.asfusion.com/">
implements="org.bigbluebutton.common.IBbbModuleWindow"
xmlns:mate="http://mate.asfusion.com/"
width="210" height="220">
<mx:Script>
<![CDATA[
@ -97,6 +99,30 @@
public function set yPosition(y:int):void {
_yPosition = y;
}
private var _defaultWidth:int = 210;
private var _defaultHeight:int = 220;
public function get defaultWidth():int{
return _defaultWidth;
}
public function get defaultHeight():int{
return _defaultHeight;
}
public function set defaultHeight(height:int):void{
this._defaultHeight = height;
}
public function set defaultWidth(width:int):void{
this._defaultWidth = width;
}
public function resetWidthAndHeight():void{
this.width = _defaultWidth;
this.height = _defaultHeight;
}
public function changeStatus(status:ArrayCollection):void {
dispatchEvent(new ChangeStatusEvent(status));

View File

@ -29,6 +29,7 @@
<mx:Script>
<![CDATA[
import flexlib.mdi.events.MDIWindowEvent;
import mx.core.Application;
import org.bigbluebutton.common.Images;
import org.bigbluebutton.modules.whiteboard.BoardFacade;