Merge branch 'fix-context-menu' into mconf-live0.6.2

Conflicts:
	bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/SharedNotesWindow.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoWindowItf.as
	bigbluebutton-client/src/org/bigbluebutton/modules/videodock/views/VideoDock.mxml
	bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
This commit is contained in:
Felipe Cecagno 2015-04-09 18:08:33 -03:00
commit 1f0ecdfa0e
25 changed files with 985 additions and 923 deletions

View File

@ -30,8 +30,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<![CDATA[ <![CDATA[
import com.asfusion.mate.events.Dispatcher; import com.asfusion.mate.events.Dispatcher;
import flexlib.mdi.containers.MDIWindow;
import org.bigbluebutton.common.IBbbModuleWindow; import org.bigbluebutton.common.IBbbModuleWindow;
import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.common.events.CloseWindowEvent; import org.bigbluebutton.common.events.CloseWindowEvent;

View File

@ -0,0 +1,91 @@
/**
* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
*
* Copyright (c) 2015 BigBlueButton Inc. and by respective authors (see below).
*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation; either version 3.0 of the License, or (at your option) any later
* version.
*
* BigBlueButton 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along
* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
*
*/
package org.bigbluebutton.common
{
import flash.ui.ContextMenu;
import flexlib.mdi.containers.MDIWindow;
import flexlib.mdi.managers.MDIManager;
import mx.utils.ObjectUtil;
/**
* This class exists so we can properly handle context menus on MDIWindow
* instances. Also, we'll be able in the future to properly handle shortcuts
* such as SHIFT + LEFT/RIGHT ARROW while in a text area (today, besides
* selecting the text, it will move the window).
*/
public class CustomMdiWindow extends MDIWindow {
private static const IGNORED_MENU_ITEMS:Array = new Array(
MDIWindow.CONTEXT_MENU_LABEL_CLOSE,
MDIManager.CONTEXT_MENU_LABEL_TILE,
MDIManager.CONTEXT_MENU_LABEL_TILE_FILL,
MDIManager.CONTEXT_MENU_LABEL_CASCADE,
MDIManager.CONTEXT_MENU_LABEL_SHOW_ALL );
private var _customContextMenuItems:Array = null;
private function filterContextMenu(item:*, index:int, array:Array):Boolean {
return IGNORED_MENU_ITEMS.indexOf(item.caption) < 0;
}
override public function updateContextMenu():void {
super.updateContextMenu();
var modifiedContextMenuItems:Array = new Array();
if (customContextMenuItems != null) {
if (modifiedContextMenuItems.length > 0 && customContextMenuItems.length > 0) {
modifiedContextMenuItems[0].separatorBefore = true;
}
modifiedContextMenuItems = customContextMenuItems.concat(modifiedContextMenuItems);
}
if (this.contextMenu != null) {
var filteredMenu:Array = this.contextMenu.customItems.filter(filterContextMenu);
if (modifiedContextMenuItems.length > 0 && filteredMenu.length > 0) {
filteredMenu[0].separatorBefore = true;
}
modifiedContextMenuItems = modifiedContextMenuItems.concat(filteredMenu);
}
var modifiedContextMenu:ContextMenu = new ContextMenu();
modifiedContextMenu.hideBuiltInItems();
modifiedContextMenu.customItems = modifiedContextMenuItems;
this.contextMenu = modifiedContextMenu;
}
override public function set showCloseButton(value:Boolean):void {
super.showCloseButton = value;
updateContextMenu();
}
public function get customContextMenuItems():Array {
return _customContextMenuItems;
}
public function set customContextMenuItems(value:Array):void {
_customContextMenuItems = value;
updateContextMenu();
}
}
}

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
title="Log Window" creationComplete="displayLogMessages();" title="Log Window" creationComplete="displayLogMessages();"
showCloseButton="true" xmlns:text="flash.text.*"> showCloseButton="true" xmlns:text="flash.text.*">
@ -88,4 +88,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:Button label="Refresh" click="displayLogMessages()"/> <mx:Button label="Refresh" click="displayLogMessages()"/>
</mx:HBox> </mx:HBox>
</mx:ApplicationControlBar> </mx:ApplicationControlBar>
</MDIWindow> </CustomMdiWindow>

View File

@ -76,7 +76,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import flash.events.MouseEvent; import flash.events.MouseEvent;
import flash.geom.Point; import flash.geom.Point;
import flexlib.mdi.containers.MDIWindow;
import flexlib.mdi.effects.effectsLib.MDIVistaEffects; import flexlib.mdi.effects.effectsLib.MDIVistaEffects;
import mx.collections.ArrayCollection; import mx.collections.ArrayCollection;

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
title="{ResourceUtil.getInstance().getString('bbb.bwmonitor.title')}" title="{ResourceUtil.getInstance().getString('bbb.bwmonitor.title')}"
@ -113,4 +113,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
</mx:VBox> </mx:VBox>
</mx:Panel> </mx:Panel>
</MDIWindow> </CustomMdiWindow>

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
showCloseButton="true" showCloseButton="true"
initialize="init()" initialize="init()"
@ -289,4 +289,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:DataGridColumn dataField="func" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.function')}"/> <mx:DataGridColumn dataField="func" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.function')}"/>
</mx:columns> </mx:columns>
</mx:DataGrid> </mx:DataGrid>
</MDIWindow> </CustomMdiWindow>

View File

@ -18,8 +18,8 @@ You should have received a copy of the GNU Lesser General Public License along
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<bcast:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml" <bcast:CustomMdiWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:bcast="flexlib.mdi.containers.*" xmlns:bcast="org.bigbluebutton.common.*"
implements="org.bigbluebutton.common.IBbbModuleWindow" implements="org.bigbluebutton.common.IBbbModuleWindow"
styleNameFocus="broadcastStyleFocus" styleNameFocus="broadcastStyleFocus"
styleNameNoFocus="broadcastStyleNoFocus" styleNameNoFocus="broadcastStyleNoFocus"
@ -30,7 +30,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:Script> <mx:Script>
<![CDATA[ <![CDATA[
import flexlib.mdi.events.MDIWindowEvent;
import mx.core.UIComponent; import mx.core.UIComponent;
import mx.events.ResizeEvent; import mx.events.ResizeEvent;
import mx.skins.Border; import mx.skins.Border;
@ -146,4 +145,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<mx:Button id="playBtn" label="Play" width="15% " click="playStopVideo()" toggle="true"/> <mx:Button id="playBtn" label="Play" width="15% " click="playStopVideo()" toggle="true"/>
</mx:HBox> </mx:HBox>
</mx:ControlBar> </mx:ControlBar>
</bcast:MDIWindow> </bcast:CustomMdiWindow>

View File

@ -47,7 +47,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import flexlib.controls.tabBarClasses.SuperTab; import flexlib.controls.tabBarClasses.SuperTab;
import flexlib.controls.textClasses.StringBoundaries; import flexlib.controls.textClasses.StringBoundaries;
import flexlib.events.SuperTabEvent; import flexlib.events.SuperTabEvent;
import flexlib.mdi.containers.MDIWindow;
import mx.collections.ArrayCollection; import mx.collections.ArrayCollection;
import mx.containers.ControlBar; import mx.containers.ControlBar;
import mx.controls.Button; import mx.controls.Button;

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:chat="org.bigbluebutton.modules.chat.views.components.*" xmlns:chat="org.bigbluebutton.modules.chat.views.components.*"
showCloseButton="false" showCloseButton="false"
@ -40,7 +40,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<![CDATA[ <![CDATA[
import org.bigbluebutton.modules.chat.model.ChatOptions; import org.bigbluebutton.modules.chat.model.ChatOptions;
import com.asfusion.mate.events.Dispatcher; import com.asfusion.mate.events.Dispatcher;
import flexlib.mdi.events.MDIWindowEvent;
import mx.controls.Alert; import mx.controls.Alert;
import mx.core.Application; import mx.core.Application;
import mx.core.FlexGlobals; import mx.core.FlexGlobals;
@ -192,4 +191,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
</mx:Script> </mx:Script>
<views:ChatView id="chatView" chatOptions="{chatOptions}" includeInLayout="false"/> <views:ChatView id="chatView" chatOptions="{chatOptions}" includeInLayout="false"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -20,11 +20,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<dspub:MDIWindow <dspub:CustomMdiWindow
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
implements="org.bigbluebutton.common.IBbbModuleWindow" implements="org.bigbluebutton.common.IBbbModuleWindow"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
xmlns:dspub="flexlib.mdi.containers.*" xmlns:dspub="org.bigbluebutton.common.*"
backgroundColor="#C0C0C0" backgroundColor="#C0C0C0"
initialize="init()" initialize="init()"
creationComplete="onCreationComplete()" creationComplete="onCreationComplete()"
@ -48,7 +48,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<![CDATA[ <![CDATA[
import com.asfusion.mate.events.Dispatcher; import com.asfusion.mate.events.Dispatcher;
import flexlib.mdi.events.MDIWindowEvent;
import flexlib.scheduling.scheduleClasses.BackgroundItem; import flexlib.scheduling.scheduleClasses.BackgroundItem;
import mx.core.UIComponent; import mx.core.UIComponent;
@ -455,4 +454,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
</dspub:states> </dspub:states>
<mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/> <mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/>
</dspub:MDIWindow> </dspub:CustomMdiWindow>

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:views="org.bigbluebutton.modules.deskshare.view.components.*" xmlns:views="org.bigbluebutton.modules.deskshare.view.components.*"
width="600" height="400" width="600" height="400"
@ -270,4 +270,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
toolTip="{actualSize ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}" toolTip="{actualSize ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}"
tabIndex="{baseIndex+4}"/> tabIndex="{baseIndex+4}"/>
</views:DesktopViewToolbar> </views:DesktopViewToolbar>
</MDIWindow> </CustomMdiWindow>

View File

@ -23,15 +23,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" xmlns:mx="http://www.adobe.com/2006/mxml" <CustomMdiWindow xmlns="org.bigbluebutton.common.*" xmlns:mx="http://www.adobe.com/2006/mxml"
width="400" height="300" xmlns:mate="http://mate.asfusion.com/" width="400" height="300" xmlns:mate="http://mate.asfusion.com/"
implements="org.bigbluebutton.common.IBbbModuleWindow" creationComplete="onCreationComplete()" implements="org.bigbluebutton.common.IBbbModuleWindow" creationComplete="onCreationComplete()"
label="Example Chat Window" layout="vertical"> label="Example Chat Window" layout="vertical">
<mx:Script> <mx:Script>
<![CDATA[ <![CDATA[
import flexlib.mdi.events.MDIWindowEvent;
import org.bigbluebutton.main.views.MainCanvas; import org.bigbluebutton.main.views.MainCanvas;
private var proxy:ExampleChatProxy; private var proxy:ExampleChatProxy;
@ -65,4 +63,4 @@ Notes.mxml is the main view of the SharedNotes application
<mx:TextInput id="txtInput" width="90%" /> <mx:TextInput id="txtInput" width="90%" />
<mx:Button id="btnSendMessage" label="Send Message" click="sendNewMessage()" /> <mx:Button id="btnSendMessage" label="Send Message" click="sendNewMessage()" />
</mx:HBox> </mx:HBox>
</MDIWindow> </CustomMdiWindow>

View File

@ -43,9 +43,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
import flash.net.FileReference; import flash.net.FileReference;
import flexlib.mdi.containers.MDICanvas; import flexlib.mdi.containers.MDICanvas;
import flexlib.mdi.containers.MDIWindow;
import flexlib.mdi.events.MDIManagerEvent; import flexlib.mdi.events.MDIManagerEvent;
import flexlib.mdi.events.MDIWindowEvent;
import flexlib.mdi.managers.MDIManager; import flexlib.mdi.managers.MDIManager;
import mx.collections.ArrayCollection; import mx.collections.ArrayCollection;

View File

@ -18,8 +18,8 @@ You should have received a copy of the GNU Lesser General Public License along
with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<ns:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml" <ns:CustomMdiWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:ns="http://code.google.com/p/flexlib/" xmlns:ns="org.bigbluebutton.common.*"
xmlns:views="org.bigbluebutton.modules.notes.views.*" xmlns:views="org.bigbluebutton.modules.notes.views.*"
implements="org.bigbluebutton.common.IBbbModuleWindow" implements="org.bigbluebutton.common.IBbbModuleWindow"
title="Notes" title="Notes"
@ -46,4 +46,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
</mx:Script> </mx:Script>
<views:NotesView id="notesView" notesArray="{notesModel}"/> <views:NotesView id="notesView" notesArray="{notesModel}"/>
</ns:MDIWindow> </ns:CustomMdiWindow>

View File

@ -18,7 +18,7 @@ $Id: $
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
width="510" height="600" width="510" height="600"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -46,4 +46,4 @@ Notes.mxml is the main view of the SharedNotes application
<poll:PollCreatePanel width="100%" height="100%"/> <poll:PollCreatePanel width="100%" height="100%"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -20,7 +20,7 @@
$Id: $ $Id: $
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:poll="org.bigbluebutton.modules.polling.views.*" xmlns:poll="org.bigbluebutton.modules.polling.views.*"
height="510" height="510"
@ -54,4 +54,4 @@
</mx:Script> </mx:Script>
<poll:PollResultPanel width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/> <poll:PollResultPanel width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -18,7 +18,7 @@ $Id: $
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
width="510" height="600" width="510" height="600"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -32,8 +32,6 @@ Notes.mxml is the main view of the SharedNotes application
<![CDATA[ <![CDATA[
import com.asfusion.mate.events.Dispatcher; import com.asfusion.mate.events.Dispatcher;
import flexlib.mdi.events.MDIWindowEvent;
import mx.collections.ArrayCollection; import mx.collections.ArrayCollection;
import mx.containers.HBox; import mx.containers.HBox;
import mx.controls.Alert; import mx.controls.Alert;
@ -179,4 +177,4 @@ Notes.mxml is the main view of the SharedNotes application
label="{ResourceUtil.getInstance().getString('bbb.polling.pollPreview.cancel')}" /> label="{ResourceUtil.getInstance().getString('bbb.polling.pollPreview.cancel')}" />
</mx:ControlBar> </mx:ControlBar>
</MDIWindow> </CustomMdiWindow>

View File

@ -18,7 +18,7 @@ $Id: $
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
width="700" height="450" width="700" height="450"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -49,4 +49,4 @@ Notes.mxml is the main view of the SharedNotes application
<poll:PollMainPanel width="100%" height="100%" viewModel="{viewModel}"/> <poll:PollMainPanel width="100%" height="100%" viewModel="{viewModel}"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -18,7 +18,7 @@ $Id: $
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
width="510" height="450" width="510" height="450"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -49,4 +49,4 @@ Notes.mxml is the main view of the SharedNotes application
<poll:TakePollPanel id="takePollPanel" width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/> <poll:TakePollPanel id="takePollPanel" width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -18,7 +18,7 @@ $Id: $
<!-- <!--
Notes.mxml is the main view of the SharedNotes application Notes.mxml is the main view of the SharedNotes application
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
width="510" height="450" width="510" height="450"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -49,4 +49,4 @@ Notes.mxml is the main view of the SharedNotes application
<poll:UpdatePollPanel width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/> <poll:UpdatePollPanel width="100%" height="100%" viewModel="{viewModel}" pollID="{pollID}"/>
</MDIWindow> </CustomMdiWindow>

View File

@ -21,9 +21,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<pres:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml" <pres:CustomMdiWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:thumb="org.bigbluebutton.modules.present.views.*" xmlns:thumb="org.bigbluebutton.modules.present.views.*"
xmlns:pres="flexlib.mdi.containers.*" xmlns:pres="org.bigbluebutton.common.*"
xmlns:code="http://code.google.com/p/flexlib/" xmlns:code="http://code.google.com/p/flexlib/"
xmlns:containers="flexlib.containers.*" xmlns:containers="flexlib.containers.*"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -104,8 +104,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
private static const LOG:String = "Present::PresentationWindow - "; private static const LOG:String = "Present::PresentationWindow - ";
public static const TITLE:String = "Presentation"; public static const TITLE:String = "Presentation";
private static const NEXT_BUTTON:String = "Next";
private static const PREVIOUS_BUTTON:String = "Previous";
private static const GOTO_PAGE_BUTTON:String = "Go to Page..."; private static const GOTO_PAGE_BUTTON:String = "Go to Page...";
[Bindable] [Bindable]
@ -350,8 +348,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
private function becomeViewer():void{ private function becomeViewer():void{
setupPresenter(false); setupPresenter(false);
dispatchEvent(new UploadEvent(UploadEvent.CLOSE_UPLOAD_WINDOW)); dispatchEvent(new UploadEvent(UploadEvent.CLOSE_UPLOAD_WINDOW));
this.contextMenu = new ContextMenu(); this.customContextMenuItems = new Array();
this.contextMenu.hideBuiltInItems();
if (slideView.thumbnailView.visible) if (slideView.thumbnailView.visible)
showThumbnails(); showThumbnails();
} }
@ -399,29 +396,17 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
} }
private function addContextMenuItems():void{ private function addContextMenuItems():void{
var contextMenu:ContextMenu = new ContextMenu(); var contextMenuItems:Array = new Array();
contextMenu.hideBuiltInItems();
var nextButton:ContextMenuItem = new ContextMenuItem(NEXT_BUTTON); var nextButton:ContextMenuItem = new ContextMenuItem(ResourceUtil.getInstance().getString('bbb.presentation.forwardBtn.toolTip'));
nextButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler); nextButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(e:ContextMenuEvent):void { gotoNextSlide(); });
contextMenu.customItems.push(nextButton); contextMenuItems.push(nextButton);
var previousButton:ContextMenuItem = new ContextMenuItem(PREVIOUS_BUTTON); var previousButton:ContextMenuItem = new ContextMenuItem(ResourceUtil.getInstance().getString('bbb.presentation.backBtn.toolTip'));
previousButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemHandler); previousButton.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(e:ContextMenuEvent):void { gotoPreviousSlide(); });
contextMenu.customItems.push(previousButton); contextMenuItems.push(previousButton);
this.contextMenu = contextMenu; this.customContextMenuItems = contextMenuItems;
}
private function menuItemHandler(e:ContextMenuEvent):void{
switch(e.target.caption){
case NEXT_BUTTON:
gotoNextSlide();
break;
case PREVIOUS_BUTTON:
gotoPreviousSlide();
break;
}
} }
private function notifyOthersOfSharingPresentation(presentationName:String):void { private function notifyOthersOfSharingPresentation(presentationName:String):void {
@ -527,6 +512,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
if(Capabilities.hasAccessibility) if(Capabilities.hasAccessibility)
Accessibility.updateProperties(); Accessibility.updateProperties();
addContextMenuItems();
} }
private function localeChanged(e:Event):void{ private function localeChanged(e:Event):void{
@ -658,4 +645,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<!-- This spacer is to prevent the whiteboard toolbar from overlapping the fit-ot-page button --> <!-- This spacer is to prevent the whiteboard toolbar from overlapping the fit-ot-page button -->
<mx:Spacer width="30" height="30" id="spacer4"/> <mx:Spacer width="30" height="30" id="spacer4"/>
</mx:ControlBar> </mx:ControlBar>
</pres:MDIWindow> </pres:CustomMdiWindow>

View File

@ -18,8 +18,8 @@
Author: Islam El-Ashi <ielashi@gmail.com>, <http://www.ielashi.com> Author: Islam El-Ashi <ielashi@gmail.com>, <http://www.ielashi.com>
--> -->
<containers:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml" <containers:CustomMdiWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:containers="flexlib.mdi.containers.*" xmlns:containers="org.bigbluebutton.common.*"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
layout="absolute" layout="absolute"
minWidth="160" minWidth="160"
@ -38,8 +38,6 @@
import flash.utils.getTimer; import flash.utils.getTimer;
import flexlib.mdi.events.MDIWindowEvent;
import mx.accessibility.AlertAccImpl; import mx.accessibility.AlertAccImpl;
import mx.binding.utils.BindingUtils; import mx.binding.utils.BindingUtils;
import mx.controls.Alert; import mx.controls.Alert;
@ -210,4 +208,4 @@
<mx:Button width="26" height="26" click="btnSave_clickHandler(event)" icon="@Embed(source='images/ic_save_16px.png')" toolTip="{ResourceUtil.getInstance().getString('bbb.sharedNotes.save.toolTip')}"/> <mx:Button width="26" height="26" click="btnSave_clickHandler(event)" icon="@Embed(source='images/ic_save_16px.png')" toolTip="{ResourceUtil.getInstance().getString('bbb.sharedNotes.save.toolTip')}"/>
</mx:HBox> </mx:HBox>
</mx:VBox> </mx:VBox>
</containers:MDIWindow> </containers:CustomMdiWindow>

View File

@ -20,8 +20,8 @@
$Id: $ $Id: $
--> -->
<mdi:MDIWindow xmlns:mx="http://www.adobe.com/2006/mxml" <mdi:CustomMdiWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:mdi="flexlib.mdi.containers.*" xmlns:mdi="org.bigbluebutton.common.*"
xmlns:flc="flexlib.controls.*" xmlns:flc="flexlib.controls.*"
implements="org.bigbluebutton.common.IBbbModuleWindow" implements="org.bigbluebutton.common.IBbbModuleWindow"
xmlns:mate="http://mate.asfusion.com/" xmlns:mate="http://mate.asfusion.com/"
@ -614,4 +614,4 @@
</mx:VBox> </mx:VBox>
</mx:ControlBar> </mx:ControlBar>
</mdi:MDIWindow> </mdi:CustomMdiWindow>

View File

@ -20,7 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
--> -->
<MDIWindow xmlns="flexlib.mdi.containers.*" <CustomMdiWindow xmlns="org.bigbluebutton.common.*"
xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:mx="http://www.adobe.com/2006/mxml"
initialize="init()" initialize="init()"
horizontalScrollPolicy="off" horizontalScrollPolicy="off"
@ -51,4 +51,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
} }
]]> ]]>
</mx:Script> </mx:Script>
</MDIWindow> </CustomMdiWindow>

View File

@ -67,7 +67,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<![CDATA[ <![CDATA[
import com.asfusion.mate.events.Listener; import com.asfusion.mate.events.Listener;
import flash.ui.Keyboard; import flash.ui.Keyboard;
import flexlib.mdi.events.MDIWindowEvent;
import mx.containers.ControlBar; import mx.containers.ControlBar;
import mx.events.MoveEvent; import mx.events.MoveEvent;
import mx.events.ResizeEvent; import mx.events.ResizeEvent;