Merge pull request #712 from riadvice/tab-indexer
Added TabIndexer class for automating tab indexation.
This commit is contained in:
commit
fdfd382a28
114
bigbluebutton-client/src/org/bigbluebutton/common/TabIndexer.as
Normal file
114
bigbluebutton-client/src/org/bigbluebutton/common/TabIndexer.as
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/**
|
||||||
|
* 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.events.Event;
|
||||||
|
import flash.events.EventDispatcher;
|
||||||
|
import mx.core.Container;
|
||||||
|
import mx.core.IMXMLObject;
|
||||||
|
import mx.core.UIComponent;
|
||||||
|
import mx.events.FlexEvent;
|
||||||
|
public class TabIndexer extends EventDispatcher implements IMXMLObject
|
||||||
|
{
|
||||||
|
private var _document:Container;
|
||||||
|
private var _id:String;
|
||||||
|
private var _ready:Boolean;
|
||||||
|
private var _startIndex:int;
|
||||||
|
private var _tabIndices:Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritDoc
|
||||||
|
*/
|
||||||
|
public function initialized(document:Object, id:String):void
|
||||||
|
{
|
||||||
|
_id=id;
|
||||||
|
_document=document as Container;
|
||||||
|
_document.addEventListener(FlexEvent.CREATION_COMPLETE, documentCreationCompleteHandler, false, 0, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Bindable(event="startIndexChange")]
|
||||||
|
/**
|
||||||
|
* tabIndex value of the first element.
|
||||||
|
*/
|
||||||
|
public function get startIndex():int
|
||||||
|
{
|
||||||
|
return _startIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set startIndex(value:int):void
|
||||||
|
{
|
||||||
|
if (_startIndex !== value)
|
||||||
|
{
|
||||||
|
_startIndex=value;
|
||||||
|
dispatchEvent(new Event("startIndexChange"));
|
||||||
|
indexTabs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Bindable(event="tabIndicesChange")]
|
||||||
|
/**
|
||||||
|
* An array containing tab indexable properties to index. Tab indexing will use array order.
|
||||||
|
*/
|
||||||
|
public function get tabIndices():Array
|
||||||
|
{
|
||||||
|
return _tabIndices;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set tabIndices(value:Array):void
|
||||||
|
{
|
||||||
|
if (_tabIndices !== value)
|
||||||
|
{
|
||||||
|
_tabIndices=value;
|
||||||
|
dispatchEvent(new Event("tabIndicesChange"));
|
||||||
|
indexTabs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs a tab indexation on document components contained in tabIndices Array.
|
||||||
|
*/
|
||||||
|
protected function indexTabs():void
|
||||||
|
{
|
||||||
|
if (_ready)
|
||||||
|
{
|
||||||
|
for (var i:int=0; i < tabIndices.length; i++)
|
||||||
|
{
|
||||||
|
if (_tabIndices[i - 1] != null)
|
||||||
|
{
|
||||||
|
UIComponent(_tabIndices[i - 1]).tabIndex=startIndex + i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Sets state to ready to index after the document creation is compelete and starts
|
||||||
|
* the first tab indexation.
|
||||||
|
* @param event CREATION_COMPLETE event of the document
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private function documentCreationCompleteHandler(event:FlexEvent):void
|
||||||
|
{
|
||||||
|
_document.removeEventListener(FlexEvent.CREATION_COMPLETE, documentCreationCompleteHandler, false);
|
||||||
|
_ready=true;
|
||||||
|
indexTabs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -21,6 +21,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
width="700" height="350"
|
width="700" height="350"
|
||||||
initialize="init()"
|
initialize="init()"
|
||||||
styleName="micSettingsWindowStyle"
|
styleName="micSettingsWindowStyle"
|
||||||
@ -50,8 +51,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private var phoneOptions:PhoneOptions = new PhoneOptions;
|
private var phoneOptions:PhoneOptions = new PhoneOptions;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int = 1;
|
|
||||||
|
|
||||||
private function init():void {
|
private function init():void {
|
||||||
var conference:Conference = UserManager.getInstance().getConference();
|
var conference:Conference = UserManager.getInstance().getConference();
|
||||||
|
|
||||||
@ -111,10 +110,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="1" tabIndices="{[textArea, btnMicrophone, btnListenOnly, cancelBtn]}"/>
|
||||||
|
|
||||||
<mx:VBox width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" horizontalAlign="right">
|
<mx:VBox width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" horizontalAlign="right">
|
||||||
<mx:HBox width="100%" height="60">
|
<mx:HBox width="100%" height="60">
|
||||||
<mx:TextArea borderSkin="{null}" verticalScrollPolicy="off"
|
<mx:TextArea borderSkin="{null}" verticalScrollPolicy="off"
|
||||||
editable="false" tabIndex="{baseIndex}"
|
editable="false" id="textArea"
|
||||||
text="{ResourceUtil.getInstance().getString('bbb.audioSelection.title')}"
|
text="{ResourceUtil.getInstance().getString('bbb.audioSelection.title')}"
|
||||||
styleName="micSettingsWindowTitleStyle"
|
styleName="micSettingsWindowTitleStyle"
|
||||||
width="100%" height="100%" />
|
width="100%" height="100%" />
|
||||||
@ -123,14 +125,14 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HBox width="100%" height="100%">
|
<mx:HBox width="100%" height="100%">
|
||||||
<mx:VBox id="vboxMic" height="100%" width="30%" horizontalAlign="center">
|
<mx:VBox id="vboxMic" height="100%" width="30%" horizontalAlign="center">
|
||||||
<mx:Image source="@Embed('assets/microphone80.png')" />
|
<mx:Image source="@Embed('assets/microphone80.png')" />
|
||||||
<mx:Button id="btnMicrophone" tabIndex="{baseIndex+1}" click="onMicClick()"
|
<mx:Button id="btnMicrophone" click="onMicClick()"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnMicrophone.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnMicrophone.label')}"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnMicrophone.toolTip')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnMicrophone.toolTip')}"/>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
<mx:VRule id="vruleListen" height="100%" width="5%" />
|
<mx:VRule id="vruleListen" height="100%" width="5%" />
|
||||||
<mx:VBox id="vboxListen" height="100%" width="30%" horizontalAlign="center">
|
<mx:VBox id="vboxListen" height="100%" width="30%" horizontalAlign="center">
|
||||||
<mx:Image source="@Embed('assets/speaker80.png')" />
|
<mx:Image source="@Embed('assets/speaker80.png')" />
|
||||||
<mx:Button id="btnListenOnly" tabIndex="{baseIndex+2}" click="onListenClick()"
|
<mx:Button id="btnListenOnly" click="onListenClick()"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnListenOnly.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnListenOnly.label')}"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnListenOnly.toolTip')}" />
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.audioSelection.btnListenOnly.toolTip')}" />
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
@ -142,6 +144,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
<mx:HRule width="100%" />
|
<mx:HRule width="100%" />
|
||||||
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel')}" accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel.toolTip')}"
|
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel')}" accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel.toolTip')}"
|
||||||
tabIndex="{baseIndex+3}" click="onCancelClicked()" styleName="micSettingsWindowPlaySoundButtonStyle" />
|
click="onCancelClicked()" styleName="micSettingsWindowPlaySoundButtonStyle" />
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
</mx:TitleWindow>
|
</mx:TitleWindow>
|
@ -20,6 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:view="org.bigbluebutton.main.views.*"
|
xmlns:view="org.bigbluebutton.main.views.*"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
layout="absolute"
|
layout="absolute"
|
||||||
verticalScrollPolicy="off" horizontalScrollPolicy="off"
|
verticalScrollPolicy="off" horizontalScrollPolicy="off"
|
||||||
width="630" height="450" creationComplete="onCreationComplete()" styleName="cameraDisplaySettingsWindowStyle"
|
width="630" height="450" creationComplete="onCreationComplete()" styleName="cameraDisplaySettingsWindowStyle"
|
||||||
@ -64,11 +65,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var selectedCam:int;
|
private var selectedCam:int;
|
||||||
private var aspectRatio:Number = 1;
|
private var aspectRatio:Number = 1;
|
||||||
|
|
||||||
[Bindable]private var baseIndex:int;
|
override public function move(x:Number, y:Number):void
|
||||||
override public function move(x:Number, y:Number):void
|
{
|
||||||
{
|
return;
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private function onCreationComplete():void {
|
private function onCreationComplete():void {
|
||||||
tabIndex = 51;
|
tabIndex = 51;
|
||||||
@ -199,10 +199,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="1" tabIndices="{[textArea, cmbCameraSelector, cmbVideoProfile, btnStartPublish, btnClosePublish]}"/>
|
||||||
|
|
||||||
<mx:VBox id="webcamDisplay" width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" styleName="cameraDisplaySettingsWindowBackground">
|
<mx:VBox id="webcamDisplay" width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5" styleName="cameraDisplaySettingsWindowBackground">
|
||||||
<mx:TextArea width="100%" borderSkin="{null}" editable="false" text="{ResourceUtil.getInstance().getString('bbb.users.settings.webcamSettings')}"
|
<mx:TextArea width="100%" borderSkin="{null}" editable="false" text="{ResourceUtil.getInstance().getString('bbb.users.settings.webcamSettings')}"
|
||||||
styleName="webcamSettingsWindowTitleStyle" tabIndex="{baseIndex}"/>
|
styleName="webcamSettingsWindowTitleStyle" id="textArea"/>
|
||||||
<mx:HRule width="100%"/>
|
<mx:HRule width="100%"/>
|
||||||
<mx:Spacer height="1"/>
|
<mx:Spacer height="1"/>
|
||||||
|
|
||||||
@ -211,9 +213,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
</mx:Box>
|
</mx:Box>
|
||||||
|
|
||||||
<mx:HBox width="100%" height="10%" horizontalAlign="center" horizontalGap="13" paddingRight="5">
|
<mx:HBox width="100%" height="10%" horizontalAlign="center" horizontalGap="13" paddingRight="5">
|
||||||
<mx:ComboBox id="cmbCameraSelector" styleName="cameraDisplaySettingsWindowCameraSelector" dataProvider="{camerasAvailable}" width="150" visible="true" labelField="label" change="updateCamera()" tabIndex="{baseIndex+1}" height="30"/>
|
<mx:ComboBox id="cmbCameraSelector" styleName="cameraDisplaySettingsWindowCameraSelector" dataProvider="{camerasAvailable}" width="150" visible="true" labelField="label" change="updateCamera()" height="30"/>
|
||||||
<mx:ComboBox id="cmbVideoProfile" styleName="cameraDisplaySettingsWindowProfileComboStyle"
|
<mx:ComboBox id="cmbVideoProfile" styleName="cameraDisplaySettingsWindowProfileComboStyle"
|
||||||
dataProvider="{_videoProfiles}" visible="false" change="updateCamera()" tabIndex="{baseIndex+2}"
|
dataProvider="{_videoProfiles}" visible="false" change="updateCamera()"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.publishVideo.cmbResolution.tooltip')}" height="30" />
|
toolTip="{ResourceUtil.getInstance().getString('bbb.publishVideo.cmbResolution.tooltip')}" height="30" />
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
|
|
||||||
@ -222,10 +224,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HBox width="100%" height="10%" horizontalAlign="right" horizontalGap="13" paddingRight="5" paddingBottom="5" paddingTop="1">
|
<mx:HBox width="100%" height="10%" horizontalAlign="right" horizontalGap="13" paddingRight="5" paddingBottom="5" paddingTop="1">
|
||||||
<mx:Button id="btnStartPublish" toolTip="{ResourceUtil.getInstance().getString('bbb.publishVideo.startPublishBtn.toolTip')}"
|
<mx:Button id="btnStartPublish" toolTip="{ResourceUtil.getInstance().getString('bbb.publishVideo.startPublishBtn.toolTip')}"
|
||||||
click="startPublishing()" enabled="false" styleName="cameraDisplaySettingsWindowStartBtn"
|
click="startPublishing()" enabled="false" styleName="cameraDisplaySettingsWindowStartBtn"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.publishVideo.startPublishBtn.labelText')}" tabIndex="{baseIndex+3}" />
|
label="{ResourceUtil.getInstance().getString('bbb.publishVideo.startPublishBtn.labelText')}"/>
|
||||||
<mx:Button id="btnClosePublish"
|
<mx:Button id="btnClosePublish"
|
||||||
click="onCancelClicked()"
|
click="onCancelClicked()"
|
||||||
enabled="true" tabIndex="{baseIndex+4}"
|
enabled="true"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.video.publish.closeBtn.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.video.publish.closeBtn.label')}"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.video.publish.closeBtn.accessName')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.video.publish.closeBtn.accessName')}"/>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
|
@ -20,6 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
width="600" height="380"
|
width="600" height="380"
|
||||||
creationComplete="onCreationComplete()"
|
creationComplete="onCreationComplete()"
|
||||||
styleName="micSettingsWindowStyle"
|
styleName="micSettingsWindowStyle"
|
||||||
@ -83,7 +84,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
[Bindable] private var cancelIcon:Class = images.cancel;
|
[Bindable] private var cancelIcon:Class = images.cancel;
|
||||||
|
|
||||||
[Bindable] private var microphoneList:Array;
|
[Bindable] private var microphoneList:Array;
|
||||||
[Bindable] private var baseIndex:int = 1;
|
|
||||||
private var doingEchoTest:Boolean = false;
|
private var doingEchoTest:Boolean = false;
|
||||||
|
|
||||||
private var my_nc:NetConnection;
|
private var my_nc:NetConnection;
|
||||||
@ -321,6 +321,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="1"
|
||||||
|
tabIndices="{[audioSettingText, helpButton, comboMicList, micRecordVolume, micLevel, echoTestText, yesButton, noButton, echoTestButton, playButton, cancelBtn]}"/>
|
||||||
|
|
||||||
<mx:states>
|
<mx:states>
|
||||||
<mx:State name="{FLASH_ECHO_TEST_STATE}">
|
<mx:State name="{FLASH_ECHO_TEST_STATE}">
|
||||||
<mx:AddChild relativeTo="displayMicNextToThis" position="after">
|
<mx:AddChild relativeTo="displayMicNextToThis" position="after">
|
||||||
@ -332,16 +335,16 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HRule width="100%"/>
|
<mx:HRule width="100%"/>
|
||||||
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="10">
|
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="10">
|
||||||
<mx:TextArea editable="false" textAlign="left" borderSkin="{null}"
|
<mx:TextArea editable="false" textAlign="left" borderSkin="{null}"
|
||||||
width="100%" height="60" tabIndex="{baseIndex+5}"
|
width="100%" height="60" id="echoTestText"
|
||||||
text="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestMicPrompt')}"
|
text="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestMicPrompt')}"
|
||||||
styleName="micSettingsWindowSpeakIntoMicLabelStyle" />
|
styleName="micSettingsWindowSpeakIntoMicLabelStyle" />
|
||||||
<mx:Button id="yesButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestAudioYes')}"
|
<mx:Button id="yesButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestAudioYes')}"
|
||||||
click="yesButtonClicked()" styleName="micSettingsWindowPlaySoundButtonStyle"
|
click="yesButtonClicked()" styleName="micSettingsWindowPlaySoundButtonStyle"
|
||||||
toolTip="" tabIndex="{baseIndex+6}"/>
|
toolTip=""/>
|
||||||
<mx:Button id="noButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestAudioNo')}"
|
<mx:Button id="noButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.echoTestAudioNo')}"
|
||||||
styleName="micSettingsWindowPlaySoundButtonStyle"
|
styleName="micSettingsWindowPlaySoundButtonStyle"
|
||||||
click="noButtonClicked()"
|
click="noButtonClicked()"
|
||||||
toolTip="" tabIndex="{baseIndex+7}"/>
|
toolTip=""/>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
</mx:AddChild>
|
</mx:AddChild>
|
||||||
@ -356,19 +359,18 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HBox>
|
<mx:HBox>
|
||||||
<mx:ComboBox id="comboMicList"
|
<mx:ComboBox id="comboMicList"
|
||||||
dataProvider="{microphoneList}" change="selectMicrophone(event)"
|
dataProvider="{microphoneList}" change="selectMicrophone(event)"
|
||||||
height="30" dropdownWidth="390" width="390" tabIndex="{baseIndex+2}"
|
height="30" dropdownWidth="390" width="390"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.comboMicList.toolTip')}" />
|
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.comboMicList.toolTip')}" />
|
||||||
<mx:HSlider id="micRecordVolume"
|
<mx:HSlider id="micRecordVolume"
|
||||||
maximum="100" snapInterval="1"
|
maximum="100" snapInterval="1"
|
||||||
labels="[0%,{ResourceUtil.getInstance().getString('bbb.micSettings.micRecordVolume.label')},100%]"
|
labels="[0%,{ResourceUtil.getInstance().getString('bbb.micSettings.micRecordVolume.label')},100%]"
|
||||||
tickInterval="10" liveDragging="true" change="changeRecordVolume(event);"
|
tickInterval="10" liveDragging="true" change="changeRecordVolume(event);"
|
||||||
showTrackHighlight="true" trackColors="[ 0xEEEEEE, 0xFFFFFF ]"
|
showTrackHighlight="true" trackColors="[ 0xEEEEEE, 0xFFFFFF ]"
|
||||||
value="60" tabIndex="{baseIndex+3}"
|
value="60"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.micRecordVolume.toolTip')}" />
|
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.micRecordVolume.toolTip')}" />
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
<mx:ProgressBar id="micLevel" minimum="0" maximum="100" direction="right" label=""
|
<mx:ProgressBar id="micLevel" minimum="0" maximum="100" direction="right" label=""
|
||||||
mode="manual" visible="true" width="100%" height="27" trackHeight="25" verticalGap="-20"
|
mode="manual" visible="true" width="100%" height="27" trackHeight="25" verticalGap="-20"/>
|
||||||
tabIndex="{baseIndex+4}" />
|
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
|
||||||
</mx:AddChild>
|
</mx:AddChild>
|
||||||
@ -404,11 +406,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:Canvas width="100%" id="flashMicSettingsTitle">
|
<mx:Canvas width="100%" id="flashMicSettingsTitle">
|
||||||
<mx:TextArea borderSkin="{null}"
|
<mx:TextArea borderSkin="{null}"
|
||||||
text="{ResourceUtil.getInstance().getString('bbb.users.settings.audioSettings')}"
|
text="{ResourceUtil.getInstance().getString('bbb.users.settings.audioSettings')}"
|
||||||
editable="false" styleName="micSettingsWindowTitleStyle" tabIndex="{baseIndex}"
|
editable="false" styleName="micSettingsWindowTitleStyle" id="audioSettingText"
|
||||||
width="400" left="0" />
|
width="400" left="0" />
|
||||||
<mx:LinkButton toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.helpBtn')}"
|
<mx:LinkButton toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.helpBtn')}"
|
||||||
label="?" styleName="micSettingsWindowHelpButtonStyle" right="0"
|
label="?" styleName="micSettingsWindowHelpButtonStyle" right="0"
|
||||||
height="22" click="onHelpButtonClicked()" tabIndex="{baseIndex+1}"
|
height="22" click="onHelpButtonClicked()" id="helpButton"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.access.helpButton')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.access.helpButton')}"/>
|
||||||
</mx:Canvas>
|
</mx:Canvas>
|
||||||
<mx:HBox width="100%" id="displayMicNextToThis">
|
<mx:HBox width="100%" id="displayMicNextToThis">
|
||||||
@ -423,15 +425,13 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="10">
|
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="10">
|
||||||
<mx:Button id="echoTestButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.nextButton')}"
|
<mx:Button id="echoTestButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.nextButton')}"
|
||||||
click="echoTestButtonClickHandler()" styleName="micSettingsWindowPlaySoundButtonStyle"
|
click="echoTestButtonClickHandler()" styleName="micSettingsWindowPlaySoundButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.nextButton')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.nextButton')}"/>
|
||||||
tabIndex="{baseIndex+8}"/>
|
|
||||||
<mx:Button id="playButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.playSound')}"
|
<mx:Button id="playButton" label="{ResourceUtil.getInstance().getString('bbb.micSettings.playSound')}"
|
||||||
click="playButtonClickHandler()" toggle="true" styleName="micSettingsWindowPlaySoundButtonStyle"
|
click="playButtonClickHandler()" toggle="true" styleName="micSettingsWindowPlaySoundButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.playSound.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.playSound.toolTip')}"/>
|
||||||
tabIndex="{baseIndex+9}" />
|
|
||||||
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel')}"
|
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel')}"
|
||||||
styleName="micSettingsWindowCancelButtonStyle"
|
styleName="micSettingsWindowCancelButtonStyle"
|
||||||
click="onCancelClicked()" tabIndex="{baseIndex+10}"
|
click="onCancelClicked()"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel.toolTip')}"/>
|
toolTip="{ResourceUtil.getInstance().getString('bbb.micSettings.cancel.toolTip')}"/>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
width="300" height="400"
|
width="300" height="400"
|
||||||
creationComplete="creationCompleteHandler(event)"
|
creationComplete="creationCompleteHandler(event)"
|
||||||
styleName="lockSettingsWindowStyle"
|
styleName="lockSettingsWindowStyle"
|
||||||
@ -47,8 +48,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] private var cancelIcon:Class = images.cancel;
|
[Bindable] private var cancelIcon:Class = images.cancel;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int = 1;
|
|
||||||
|
|
||||||
[Bindable] public var disableCam:Boolean = false;
|
[Bindable] public var disableCam:Boolean = false;
|
||||||
[Bindable] public var disableMic:Boolean = false;
|
[Bindable] public var disableMic:Boolean = false;
|
||||||
[Bindable] public var disablePubChat:Boolean = false;
|
[Bindable] public var disablePubChat:Boolean = false;
|
||||||
@ -87,9 +86,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="1" tabIndices="{[titleText, saveBtn, cancelBtn]}"/>
|
||||||
|
|
||||||
<mx:VBox width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
|
<mx:VBox width="100%" height="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
|
||||||
<mx:TextArea borderSkin="{null}" editable="false" selectable="false" text="{ResourceUtil.getInstance().getString('bbb.lockSettings.title')}" styleName="lockSettingsWindowTitleStyle"
|
<mx:TextArea borderSkin="{null}" editable="false" selectable="false" text="{ResourceUtil.getInstance().getString('bbb.lockSettings.title')}" styleName="lockSettingsWindowTitleStyle"
|
||||||
tabIndex="{baseIndex}" width="100%" left="0"/>
|
id="titleText" width="100%" left="0"/>
|
||||||
<mx:HRule width="100%"/>
|
<mx:HRule width="100%"/>
|
||||||
|
|
||||||
<mx:HBox verticalAlign="top" width="100%" paddingTop="20">
|
<mx:HBox verticalAlign="top" width="100%" paddingTop="20">
|
||||||
@ -159,11 +161,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="20">
|
<mx:HBox width="100%" horizontalAlign="right" horizontalGap="18" paddingTop="20">
|
||||||
<mx:Button id="saveBtn" label="{ResourceUtil.getInstance().getString('bbb.lockSettings.save')}"
|
<mx:Button id="saveBtn" label="{ResourceUtil.getInstance().getString('bbb.lockSettings.save')}"
|
||||||
click="onSaveClicked()" tabIndex="{baseIndex+8}"
|
click="onSaveClicked()"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.lockSettings.save.tooltip')}"/>
|
toolTip="{ResourceUtil.getInstance().getString('bbb.lockSettings.save.tooltip')}"/>
|
||||||
|
|
||||||
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.lockSettings.cancel')}"
|
<mx:Button id="cancelBtn" label="{ResourceUtil.getInstance().getString('bbb.lockSettings.cancel')}"
|
||||||
click="onCancelClicked()" tabIndex="{baseIndex+9}"
|
click="onCancelClicked()"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.lockSettings.cancel.toolTip')}"/>
|
toolTip="{ResourceUtil.getInstance().getString('bbb.lockSettings.cancel.toolTip')}"/>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
@ -27,10 +27,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
xmlns:maps="org.bigbluebutton.main.maps.*"
|
xmlns:maps="org.bigbluebutton.main.maps.*"
|
||||||
xmlns:api="org.bigbluebutton.main.api.*"
|
xmlns:api="org.bigbluebutton.main.api.*"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
width="100%" height="100%"
|
width="100%" height="100%"
|
||||||
horizontalScrollPolicy="off" verticalScrollPolicy="off"
|
horizontalScrollPolicy="off" verticalScrollPolicy="off"
|
||||||
creationComplete="initializeShell()"
|
creationComplete="initializeShell()" >
|
||||||
xmlns:common="org.bigbluebutton.common.*">
|
|
||||||
|
|
||||||
<mate:Listener type="{OpenWindowEvent.OPEN_WINDOW_EVENT}" method="handleOpenWindowEvent" />
|
<mate:Listener type="{OpenWindowEvent.OPEN_WINDOW_EVENT}" method="handleOpenWindowEvent" />
|
||||||
<mate:Listener type="{CloseWindowEvent.CLOSE_WINDOW_EVENT}" method="handleCloseWindowEvent"/>
|
<mate:Listener type="{CloseWindowEvent.CLOSE_WINDOW_EVENT}" method="handleCloseWindowEvent"/>
|
||||||
@ -121,8 +121,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var logoutWindow:LoggedOutWindow;
|
private var logoutWindow:LoggedOutWindow;
|
||||||
private var connectionLostWindow:ConnectionLostWindow;
|
private var connectionLostWindow:ConnectionLostWindow;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int = 100000;
|
|
||||||
|
|
||||||
// LIVE or PLAYBACK
|
// LIVE or PLAYBACK
|
||||||
private var _mode:String = 'LIVE';
|
private var _mode:String = 'LIVE';
|
||||||
[Bindable] public var appVersion:String = ' ';
|
[Bindable] public var appVersion:String = ' ';
|
||||||
@ -567,7 +565,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private function handleAddToolbarComponent(event:ToolbarButtonEvent):void {
|
private function handleAddToolbarComponent(event:ToolbarButtonEvent):void {
|
||||||
if (event.location == ToolbarButtonEvent.BOTTOM_TOOLBAR) {
|
if (event.location == ToolbarButtonEvent.BOTTOM_TOOLBAR) {
|
||||||
(event.button as UIComponent).tabIndex = baseIndex + addedBtns.numChildren + 10;
|
(event.button as UIComponent).tabIndex = tabIndexer.startIndex + addedBtns.numChildren + 10;
|
||||||
addedBtns.addChild(event.button as UIComponent);
|
addedBtns.addChild(event.button as UIComponent);
|
||||||
//realignButtons();
|
//realignButtons();
|
||||||
}
|
}
|
||||||
@ -640,6 +638,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer id="tabIndexer" startIndex="100000"
|
||||||
|
tabIndices="{[langSelector, logBtn]}"/>
|
||||||
|
|
||||||
<views:MainToolbar id="toolbar"
|
<views:MainToolbar id="toolbar"
|
||||||
dock="true"
|
dock="true"
|
||||||
@ -686,8 +687,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
height="20"
|
height="20"
|
||||||
width="180"
|
width="180"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.mainToolbar.langSelector')}"
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.mainToolbar.langSelector')}"
|
||||||
styleName="languageSelectorStyle"
|
styleName="languageSelectorStyle"/>
|
||||||
tabIndex="{baseIndex}"/>
|
|
||||||
<mx:Button
|
<mx:Button
|
||||||
width="20"
|
width="20"
|
||||||
height="20"
|
height="20"
|
||||||
@ -696,8 +696,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainshell.logBtn.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.mainshell.logBtn.toolTip')}"
|
||||||
id="logBtn"
|
id="logBtn"
|
||||||
icon="{logs_icon}"
|
icon="{logs_icon}"
|
||||||
click="openLogWindow()"
|
click="openLogWindow()"/>
|
||||||
tabIndex="{baseIndex+1}"/>
|
|
||||||
<mx:HBox id="addedBtns" />
|
<mx:HBox id="addedBtns" />
|
||||||
</mx:ControlBar>
|
</mx:ControlBar>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
@ -21,9 +21,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<mx:ApplicationControlBar xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:ApplicationControlBar xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/" visible="{showToolbar}"
|
xmlns:mate="http://mate.asfusion.com/" xmlns:common="org.bigbluebutton.common.*"
|
||||||
enabled="true" xmlns:views="org.bigbluebutton.main.views.*"
|
xmlns:views="org.bigbluebutton.main.views.*"
|
||||||
initialize="init()" creationComplete="onCreationComplete()" >
|
enabled="true" visible="{showToolbar}"
|
||||||
|
initialize="init()" creationComplete="onCreationComplete()">
|
||||||
|
|
||||||
<mate:Listener type="{ToolbarButtonEvent.ADD}" method="handleAddToolbarButtonEvent" />
|
<mate:Listener type="{ToolbarButtonEvent.ADD}" method="handleAddToolbarButtonEvent" />
|
||||||
<mate:Listener type="{ToolbarButtonEvent.REMOVE}" method="handleRemoveToolbarButtonEvent"/>
|
<mate:Listener type="{ToolbarButtonEvent.REMOVE}" method="handleRemoveToolbarButtonEvent"/>
|
||||||
@ -73,7 +74,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
[Bindable] private var showHelpBtn:Boolean = false;
|
[Bindable] private var showHelpBtn:Boolean = false;
|
||||||
[Bindable] private var showToolbar:Boolean = false;
|
[Bindable] private var showToolbar:Boolean = false;
|
||||||
[Bindable] public var toolbarOptions:LayoutOptions = new LayoutOptions();
|
[Bindable] public var toolbarOptions:LayoutOptions = new LayoutOptions();
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
[Bindable] private var numButtons:int;
|
[Bindable] private var numButtons:int;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -91,7 +91,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
AlertAccImpl.enableAccessibility();
|
AlertAccImpl.enableAccessibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
baseIndex = 101;
|
|
||||||
numButtons = 0;
|
numButtons = 0;
|
||||||
|
|
||||||
// Accessibility isn't active till a few second after the client starts to load so we need a delay
|
// Accessibility isn't active till a few second after the client starts to load so we need a delay
|
||||||
@ -251,7 +250,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
for each (var button:UIComponent in addedBtns.getChildren()){
|
for each (var button:UIComponent in addedBtns.getChildren()){
|
||||||
var toolbarComponent:IBbbToolbarComponent = button as IBbbToolbarComponent;
|
var toolbarComponent:IBbbToolbarComponent = button as IBbbToolbarComponent;
|
||||||
|
|
||||||
|
|
||||||
/*if (toolbarComponent.getAlignment() == ALIGN_LEFT){
|
/*if (toolbarComponent.getAlignment() == ALIGN_LEFT){
|
||||||
addedBtns.setChildIndex(button, 0);
|
addedBtns.setChildIndex(button, 0);
|
||||||
//(addedBtns.getChildAt(0) as Button).tabIndex = 0;
|
//(addedBtns.getChildAt(0) as Button).tabIndex = 0;
|
||||||
@ -260,7 +258,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
addedBtns.setChildIndex(button, addedBtns.numChildren - 1);
|
addedBtns.setChildIndex(button, addedBtns.numChildren - 1);
|
||||||
//(addedBtns.getChildAt(0) as Button).tabIndex = addedBtns.numChildren - 1;
|
//(addedBtns.getChildAt(0) as Button).tabIndex = addedBtns.numChildren - 1;
|
||||||
}*/
|
}*/
|
||||||
button.tabIndex = baseIndex + 5;
|
button.tabIndex = quickLinksIndexer.startIndex + 5;
|
||||||
//for (var i:int = 0; i < addedBtns.numChildren; i++){
|
//for (var i:int = 0; i < addedBtns.numChildren; i++){
|
||||||
// (addedBtns.getChildAt(i) as Button).tabIndex = baseIndex + i;
|
// (addedBtns.getChildAt(i) as Button).tabIndex = baseIndex + i;
|
||||||
//}
|
//}
|
||||||
@ -329,25 +327,30 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer id="quickLinksIndexer" startIndex="102" tabIndices="{[usersLinkBtn, webcamLinkButton, presentationLinkBtn, chatLinkBtn]}"/>
|
||||||
|
<common:TabIndexer id="buttonsIndexer" startIndex="{quickLinksIndexer.startIndex + numButtons + 10}"
|
||||||
|
tabIndices="{[recordBtn, muteMeBtn, shortcutKeysBtn, helpBtn, btnLogout]}"/>
|
||||||
|
|
||||||
|
|
||||||
<mx:HBox id="quickLinks" width="1" includeInLayout="false">
|
<mx:HBox id="quickLinks" width="1" includeInLayout="false">
|
||||||
<mx:LinkButton id="usersLinkBtn" click="onQuickLinkClicked('users')" label="{ResourceUtil.getInstance().getString('bbb.users.quickLink.label')}"
|
<mx:LinkButton id="usersLinkBtn" click="onQuickLinkClicked('users')" label="{ResourceUtil.getInstance().getString('bbb.users.quickLink.label')}"
|
||||||
accessibilityDescription="{usersLinkBtn.label}" toolTip="{usersLinkBtn.label}"
|
accessibilityDescription="{usersLinkBtn.label}" toolTip="{usersLinkBtn.label}"
|
||||||
tabIndex="{baseIndex+1}" height="22" styleName="quickWindowLinkStyle" />
|
height="22" styleName="quickWindowLinkStyle" />
|
||||||
<mx:LinkButton id="webcamLinkButton" click="onQuickLinkClicked('webcams')" label="{ResourceUtil.getInstance().getString('bbb.videodock.quickLink.label')}"
|
<mx:LinkButton id="webcamLinkButton" click="onQuickLinkClicked('webcams')" label="{ResourceUtil.getInstance().getString('bbb.videodock.quickLink.label')}"
|
||||||
accessibilityDescription="{webcamLinkButton.label}" toolTip="{webcamLinkButton.label}"
|
accessibilityDescription="{webcamLinkButton.label}" toolTip="{webcamLinkButton.label}"
|
||||||
tabIndex="{baseIndex+2}" height="22" styleName="quickWindowLinkStyle" />
|
height="22" styleName="quickWindowLinkStyle" />
|
||||||
<mx:LinkButton id="presentationLinkBtn" click="onQuickLinkClicked('presentation')" label="{ResourceUtil.getInstance().getString('bbb.presentation.quickLink.label')}"
|
<mx:LinkButton id="presentationLinkBtn" click="onQuickLinkClicked('presentation')" label="{ResourceUtil.getInstance().getString('bbb.presentation.quickLink.label')}"
|
||||||
accessibilityDescription="{presentationLinkBtn.label}" toolTip="{presentationLinkBtn.label}"
|
accessibilityDescription="{presentationLinkBtn.label}" toolTip="{presentationLinkBtn.label}"
|
||||||
tabIndex="{baseIndex+3}" height="22" styleName="quickWindowLinkStyle" />
|
height="22" styleName="quickWindowLinkStyle" />
|
||||||
<mx:LinkButton id="chatLinkBtn" click="onQuickLinkClicked('chat')" label="{ResourceUtil.getInstance().getString('bbb.chat.quickLink.label')}"
|
<mx:LinkButton id="chatLinkBtn" click="onQuickLinkClicked('chat')" label="{ResourceUtil.getInstance().getString('bbb.chat.quickLink.label')}"
|
||||||
accessibilityDescription="{chatLinkBtn.label}" toolTip="{chatLinkBtn.label}"
|
accessibilityDescription="{chatLinkBtn.label}" toolTip="{chatLinkBtn.label}"
|
||||||
tabIndex="{baseIndex+4}" height="22" styleName="quickWindowLinkStyle" />
|
height="22" styleName="quickWindowLinkStyle" />
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
<mx:HBox id="addedBtns"/>
|
<mx:HBox id="addedBtns"/>
|
||||||
<views:RecordButton id="recordBtn" tabIndex="{baseIndex+numButtons+10}" />
|
<views:RecordButton id="recordBtn"/>
|
||||||
<mx:VRule strokeWidth="2" height="100%" visible="{muteMeBtn.visible}" includeInLayout="{muteMeBtn.includeInLayout}"/>
|
<mx:VRule strokeWidth="2" height="100%" visible="{muteMeBtn.visible}" includeInLayout="{muteMeBtn.includeInLayout}"/>
|
||||||
<views:MuteMeButton id="muteMeBtn" height="20" tabIndex="{baseIndex+numButtons+11}"/>
|
<views:MuteMeButton id="muteMeBtn" height="20"/>
|
||||||
<mx:Label id="meetingNameLbl" width="100%" minWidth="1" styleName="meetingNameLabelStyle" />
|
<mx:Label id="meetingNameLbl" width="100%" minWidth="1" styleName="meetingNameLabelStyle" />
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@ -355,13 +358,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
<mx:Button id="shortcutKeysBtn" label="{ResourceUtil.getInstance().getString('bbb.mainToolbar.shortcutBtn')}" styleName="shortcutButtonStyle"
|
<mx:Button id="shortcutKeysBtn" label="{ResourceUtil.getInstance().getString('bbb.mainToolbar.shortcutBtn')}" styleName="shortcutButtonStyle"
|
||||||
click="onShortcutButtonClick()" height="22"
|
click="onShortcutButtonClick()" height="22"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.shortcutBtn.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.shortcutBtn.toolTip')}"/>
|
||||||
tabIndex="{baseIndex+numButtons+13}" />
|
|
||||||
<mx:LinkButton id="helpBtn" visible="{showHelpBtn}" includeInLayout="{showHelpBtn}" label="?" click="onHelpButtonClicked()" height="22"
|
<mx:LinkButton id="helpBtn" visible="{showHelpBtn}" includeInLayout="{showHelpBtn}" label="?" click="onHelpButtonClicked()" height="22"
|
||||||
styleName="helpLinkButtonStyle" tabIndex="{baseIndex+numButtons+14}"
|
styleName="helpLinkButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.helpBtn')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.helpBtn')}"
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.access.helpButton')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.micSettings.access.helpButton')}"/>
|
||||||
<mx:Button label="" id="btnLogout" styleName="logoutButtonStyle"
|
<mx:Button label="" id="btnLogout" styleName="logoutButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.logoutBtn.toolTip')}" right="10" click="confirmLogout()" height="22"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.mainToolbar.logoutBtn.toolTip')}" right="10" click="confirmLogout()" height="22"/>
|
||||||
tabIndex="{baseIndex+numButtons+15}" />
|
|
||||||
</mx:ApplicationControlBar>
|
</mx:ApplicationControlBar>
|
||||||
|
@ -22,7 +22,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<CustomMdiWindow xmlns="org.bigbluebutton.common.*"
|
<CustomMdiWindow xmlns="org.bigbluebutton.common.*"
|
||||||
xmlns:mx="http://www.adobe.com/2006/mxml"
|
xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
showCloseButton="true"
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
|
showCloseButton="true"
|
||||||
initialize="init()"
|
initialize="init()"
|
||||||
creationComplete="onCreationComplete()"
|
creationComplete="onCreationComplete()"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
@ -89,9 +90,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
[Bindable]
|
[Bindable]
|
||||||
private var shownKeys:ArrayCollection;
|
private var shownKeys:ArrayCollection;
|
||||||
|
|
||||||
[Bindable]
|
|
||||||
private var baseIndex:int = 100;
|
|
||||||
|
|
||||||
private var modifier:String;
|
private var modifier:String;
|
||||||
private var globalModifier:String;
|
private var globalModifier:String;
|
||||||
|
|
||||||
@ -103,11 +101,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private function onCreationComplete():void {
|
private function onCreationComplete():void {
|
||||||
localeChanged();
|
localeChanged();
|
||||||
titleBarOverlay.tabIndex = baseIndex;
|
titleBarOverlay.tabIndex = headerIndexer.startIndex - 1;
|
||||||
|
|
||||||
minimizeBtn.tabIndex = baseIndex + 1;
|
|
||||||
maximizeRestoreBtn.tabIndex = baseIndex + 2;
|
|
||||||
closeBtn.tabIndex = baseIndex + 3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function populateModules():void{
|
private function populateModules():void{
|
||||||
@ -271,10 +265,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer id="headerIndexer" startIndex="101" tabIndices="{[minimizeBtn, maximizeRestoreBtn, closeBtn]}"/>
|
||||||
|
<common:TabIndexer startIndex="115" tabIndices="{[categories, keyList]}"/>
|
||||||
|
|
||||||
<mx:ComboBox id="categories" labelField="Please select an area for which to view shortcut keys: "
|
<mx:ComboBox id="categories" labelField="Please select an area for which to view shortcut keys: "
|
||||||
editable="false"
|
editable="false"
|
||||||
change="changeArray()"
|
change="changeArray()">
|
||||||
tabIndex="{baseIndex + 10}">
|
|
||||||
<mx:ArrayCollection id="categoryAC">
|
<mx:ArrayCollection id="categoryAC">
|
||||||
<!--
|
<!--
|
||||||
<mx:String>{ResourceUtil.getInstance().getString("bbb.shortcuthelp.dropdown.general")}</mx:String>
|
<mx:String>{ResourceUtil.getInstance().getString("bbb.shortcuthelp.dropdown.general")}</mx:String>
|
||||||
@ -286,7 +282,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
-->
|
-->
|
||||||
</mx:ArrayCollection>
|
</mx:ArrayCollection>
|
||||||
</mx:ComboBox>
|
</mx:ComboBox>
|
||||||
<mx:DataGrid id="keyList" draggableColumns="false" dataProvider="{shownKeys}" width="100%" height="100%" tabIndex="{baseIndex + 15}" >
|
<mx:DataGrid id="keyList" draggableColumns="false" dataProvider="{shownKeys}" width="100%" height="100%">
|
||||||
<mx:columns>
|
<mx:columns>
|
||||||
<mx:DataGridColumn dataField="shortcut" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.shortcut')}"/>
|
<mx:DataGridColumn dataField="shortcut" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.shortcut')}"/>
|
||||||
<mx:DataGridColumn dataField="func" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.function')}"/>
|
<mx:DataGridColumn dataField="func" headerText="{ResourceUtil.getInstance().getString('bbb.shortcuthelp.headers.function')}"/>
|
||||||
|
@ -22,6 +22,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
implements="org.bigbluebutton.modules.chat.views.IChatTab"
|
implements="org.bigbluebutton.modules.chat.views.IChatTab"
|
||||||
creationComplete="onCreationComplete()">
|
creationComplete="onCreationComplete()">
|
||||||
|
|
||||||
@ -54,9 +55,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] public var chatOptions:ChatOptions = new ChatOptions();
|
[Bindable] public var chatOptions:ChatOptions = new ChatOptions();
|
||||||
|
|
||||||
[Bindable]
|
|
||||||
public var baseIndex:int;
|
|
||||||
|
|
||||||
private function onCreationComplete():void{
|
private function onCreationComplete():void{
|
||||||
users = UserManager.getInstance().getConference().users;
|
users = UserManager.getInstance().getConference().users;
|
||||||
if (fontSizes.indexOf(chatOptions.fontSize) != -1) {
|
if (fontSizes.indexOf(chatOptions.fontSize) != -1) {
|
||||||
@ -119,21 +117,21 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
<mx:HBox width="100%" height="100%">
|
<common:TabIndexer id="tabIndexer" startIndex="1" tabIndices="{[usersList, cmbFontSize]}"/>
|
||||||
|
|
||||||
|
<mx:HBox width="100%" height="100%">
|
||||||
<mx:VBox height="100%" width="50%" enabled="true">
|
<mx:VBox height="100%" width="50%" enabled="true">
|
||||||
<mx:Label id="lblSelect" text="{ResourceUtil.getInstance().getString('bbb.chat.privateChatSelect')}" visible="{chatOptions.privateEnabled}" includeInLayout="{chatOptions.privateEnabled}"/>
|
<mx:Label id="lblSelect" text="{ResourceUtil.getInstance().getString('bbb.chat.privateChatSelect')}" visible="{chatOptions.privateEnabled}" includeInLayout="{chatOptions.privateEnabled}"/>
|
||||||
<mx:List id="usersList" height="100%" width="100%" dataProvider="{users}" dragEnabled="false"
|
<mx:List id="usersList" height="100%" width="100%" dataProvider="{users}" dragEnabled="false"
|
||||||
visible="{chatOptions.privateEnabled}" includeInLayout="{chatOptions.privateEnabled}"
|
visible="{chatOptions.privateEnabled}" includeInLayout="{chatOptions.privateEnabled}"
|
||||||
itemRenderer="org.bigbluebutton.modules.chat.views.UserRenderer"
|
itemRenderer="org.bigbluebutton.modules.chat.views.UserRenderer"
|
||||||
itemClick="openPrivateChat(event)" toolTip="{ResourceUtil.getInstance().getString('bbb.chat.usersList.toolTip')}"
|
itemClick="openPrivateChat(event)" toolTip="{ResourceUtil.getInstance().getString('bbb.chat.usersList.toolTip')}"/>
|
||||||
tabIndex="{baseIndex}"/>
|
|
||||||
<mx:VBox id="optionsBox" height="100%" width="50%" >
|
<mx:VBox id="optionsBox" height="100%" width="50%" >
|
||||||
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.chat.chatOptions')}" />
|
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.chat.chatOptions')}" />
|
||||||
<mx:HBox width="100%">
|
<mx:HBox width="100%">
|
||||||
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.chat.fontSize')}" />
|
<mx:Label text="{ResourceUtil.getInstance().getString('bbb.chat.fontSize')}" />
|
||||||
<mx:ComboBox width="60" id="cmbFontSize" dataProvider="{fontSizes}" change="changeFontSize()"
|
<mx:ComboBox width="60" id="cmbFontSize" dataProvider="{fontSizes}" change="changeFontSize()"
|
||||||
selectedIndex="1" toolTip="{ResourceUtil.getInstance().getString('bbb.chat.cmbFontSize.toolTip')}"
|
selectedIndex="1" toolTip="{ResourceUtil.getInstance().getString('bbb.chat.cmbFontSize.toolTip')}" />
|
||||||
tabIndex="{baseIndex+1}"/>
|
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
@ -22,8 +22,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
xmlns:chat="org.bigbluebutton.modules.chat.views.*"
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
implements="org.bigbluebutton.modules.chat.views.IChatTab"
|
xmlns:chat="org.bigbluebutton.modules.chat.views.*"
|
||||||
|
implements="org.bigbluebutton.modules.chat.views.IChatTab"
|
||||||
click="setMessageRead()" verticalScrollPolicy="off"
|
click="setMessageRead()" verticalScrollPolicy="off"
|
||||||
creationComplete="onCreationComplete()">
|
creationComplete="onCreationComplete()">
|
||||||
|
|
||||||
@ -141,9 +142,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var indicatorNeeded:Boolean = false
|
private var indicatorNeeded:Boolean = false
|
||||||
private var repeat:Boolean = false;
|
private var repeat:Boolean = false;
|
||||||
|
|
||||||
[Bindable]
|
|
||||||
public var baseIndex:int;
|
|
||||||
|
|
||||||
[Bindable]
|
[Bindable]
|
||||||
private var chatListHeight:Number = 100;
|
private var chatListHeight:Number = 100;
|
||||||
|
|
||||||
@ -674,11 +672,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer id="tabIndexer" tabIndices="{[chatMessagesList, txtMsgArea, sendBtn, cmpColorPicker]}"/>
|
||||||
|
|
||||||
<mx:HBox width="100%" height="{chatListHeight}" verticalScrollPolicy="off">
|
<mx:HBox width="100%" height="{chatListHeight}" verticalScrollPolicy="off">
|
||||||
<chat:AdvancedList width="100%" height="{chatListHeight}" id="chatMessagesList" selectable="false" variableRowHeight="true"
|
<chat:AdvancedList width="100%" height="{chatListHeight}" id="chatMessagesList" selectable="false" variableRowHeight="true"
|
||||||
itemRenderer="org.bigbluebutton.modules.chat.views.ChatMessageRenderer" verticalScrollPolicy="on" horizontalScrollPolicy="off" wordWrap="true"
|
itemRenderer="org.bigbluebutton.modules.chat.views.ChatMessageRenderer" verticalScrollPolicy="on" horizontalScrollPolicy="off" wordWrap="true"
|
||||||
dataProvider="{chatMessages.messages}"
|
dataProvider="{chatMessages.messages}"
|
||||||
tabIndex="{baseIndex}"
|
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.messageList')}" />
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.messageList')}" />
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
|
|
||||||
@ -687,19 +686,16 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:TextArea id="txtMsgArea" width="100%" height="100%"
|
<mx:TextArea id="txtMsgArea" width="100%" height="100%"
|
||||||
styleName="chatControlBarTextMsgStyle"
|
styleName="chatControlBarTextMsgStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.accessibility.chat.chatwindow.input')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.accessibility.chat.chatwindow.input')}"
|
||||||
tabIndex="{baseIndex+1}"
|
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.input.accessibilityName')}" />
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.input.accessibilityName')}" />
|
||||||
<mx:VBox verticalScrollPolicy="off" verticalAlign="middle" height="100%" >
|
<mx:VBox verticalScrollPolicy="off" verticalAlign="middle" height="100%" >
|
||||||
<mx:Button label="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn')}" id="sendBtn"
|
<mx:Button label="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn')}" id="sendBtn"
|
||||||
styleName="chatControlBarSendButtonStyle"
|
styleName="chatControlBarSendButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn.toolTip')}"
|
||||||
click="sendMessages()"
|
click="sendMessages()"
|
||||||
tabIndex="{baseIndex+2}"
|
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn.accessibilityName')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.chat.sendBtn.accessibilityName')}"/>
|
||||||
<mx:ColorPicker id="cmpColorPicker" showTextField="false" width="100%" visible="{chatOptions.colorPickerIsVisible}" includeInLayout="{chatOptions.colorPickerIsVisible}"
|
<mx:ColorPicker id="cmpColorPicker" showTextField="false" width="100%" visible="{chatOptions.colorPickerIsVisible}" includeInLayout="{chatOptions.colorPickerIsVisible}"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.chat.cmpColorPicker.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.chat.cmpColorPicker.toolTip')}"
|
||||||
selectedColor="0x000000" dataProvider="{colorPickerColours}" swatchPanelStyleName="chatColorPickerStyle"
|
selectedColor="0x000000" dataProvider="{colorPickerColours}" swatchPanelStyleName="chatColorPickerStyle"/>
|
||||||
tabIndex="{baseIndex+3}" />
|
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
@ -26,7 +26,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
initialize="init()"
|
initialize="init()"
|
||||||
xmlns:flexlib="http://code.google.com/p/flexlib/"
|
xmlns:flexlib="http://code.google.com/p/flexlib/"
|
||||||
width="100%" height="100%" xmlns:containers="flexlib.containers.*"
|
width="100%" height="100%" xmlns:containers="flexlib.containers.*"
|
||||||
verticalScrollPolicy="off">
|
verticalScrollPolicy="off" xmlns:common="org.bigbluebutton.common.*">
|
||||||
|
|
||||||
<mate:Listener type="{PrivateChatMessageEvent.PRIVATE_CHAT_MESSAGE_EVENT}" method="handlePrivateChatMessageEvent"/>
|
<mate:Listener type="{PrivateChatMessageEvent.PRIVATE_CHAT_MESSAGE_EVENT}" method="handlePrivateChatMessageEvent"/>
|
||||||
<mate:Listener type="{PublicChatMessageEvent.PUBLIC_CHAT_MESSAGE_EVENT}" method="handlePublicChatMessageEvent"/>
|
<mate:Listener type="{PublicChatMessageEvent.PUBLIC_CHAT_MESSAGE_EVENT}" method="handlePublicChatMessageEvent"/>
|
||||||
@ -66,8 +66,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] public var chatOptions:ChatOptions;
|
[Bindable] public var chatOptions:ChatOptions;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
|
|
||||||
private static const PUBLIC_TAB_NEW:String = ResourceUtil.getInstance().getString("bbb.accessibility.chat.chatView.publicTabNew");
|
private static const PUBLIC_TAB_NEW:String = ResourceUtil.getInstance().getString("bbb.accessibility.chat.chatView.publicTabNew");
|
||||||
private var publicWaiting:Boolean = false;
|
private var publicWaiting:Boolean = false;
|
||||||
private var publicFocus:Boolean = false;
|
private var publicFocus:Boolean = false;
|
||||||
@ -84,7 +82,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
chatOptions = new ChatOptions();
|
chatOptions = new ChatOptions();
|
||||||
noticeLabel = ResourceUtil.getInstance().getString('bbb.chat.chatTabs.accessibleNotice');
|
noticeLabel = ResourceUtil.getInstance().getString('bbb.chat.chatTabs.accessibleNotice');
|
||||||
// Get the base tab index from config, and add four to make up for the min/max/close buttons and title overlay
|
// Get the base tab index from config, and add four to make up for the min/max/close buttons and title overlay
|
||||||
baseIndex = chatOptions.getBaseIndex() + 4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -253,7 +250,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
chatBox.id = chatWithUserID;
|
chatBox.id = chatWithUserID;
|
||||||
chatBox.name = chatWithUserID;
|
chatBox.name = chatWithUserID;
|
||||||
chatBox.chatWithUserID = chatWithUserID;
|
chatBox.chatWithUserID = chatWithUserID;
|
||||||
chatBox.baseIndex = baseIndex+10;
|
chatBox.tabIndexer.startIndex = tabIndexer.startIndex + 10;
|
||||||
|
|
||||||
if (publicChat) {
|
if (publicChat) {
|
||||||
chatBox.label = PUBLIC_CHAT_USERNAME
|
chatBox.label = PUBLIC_CHAT_USERNAME
|
||||||
@ -285,7 +282,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
tabBox.label = OPTION_TAB_ID;
|
tabBox.label = OPTION_TAB_ID;
|
||||||
tabBox.name = OPTION_TAB_ID;
|
tabBox.name = OPTION_TAB_ID;
|
||||||
tabBox.chatOptions = chatOptions;
|
tabBox.chatOptions = chatOptions;
|
||||||
tabBox.baseIndex = baseIndex + 10;
|
tabBox.tabIndexer.startIndex = tabIndexer.startIndex + 10;
|
||||||
tabBox.addEventListener(KeyboardEvent.KEY_DOWN, tabBox.accessibleClick);
|
tabBox.addEventListener(KeyboardEvent.KEY_DOWN, tabBox.accessibleClick);
|
||||||
chatTabs.addChild(tabBox);
|
chatTabs.addChild(tabBox);
|
||||||
|
|
||||||
@ -349,9 +346,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer id="tabIndexer" startIndex="{chatOptions.getBaseIndex() + 4}" tabIndices="{[chatTabs]}"/>
|
||||||
|
|
||||||
<containers:SuperTabNavigator includeInLayout="false" id="chatTabs"
|
<containers:SuperTabNavigator includeInLayout="false" id="chatTabs"
|
||||||
width="100%" height="100%" change="onTabNavChange()"
|
width="100%" height="100%" change="onTabNavChange()"
|
||||||
tabClose="onTabClose(event)" minTabWidth="20"
|
tabClose="onTabClose(event)" minTabWidth="20"
|
||||||
dragEnabled="false" popUpButtonPolicy="off" tabIndex="{baseIndex}"
|
dragEnabled="false" popUpButtonPolicy="off"
|
||||||
/>
|
/>
|
||||||
</mx:VBox>
|
</mx:VBox>
|
||||||
|
@ -25,7 +25,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
xmlns:chat="org.bigbluebutton.modules.chat.views.components.*"
|
xmlns:chat="org.bigbluebutton.modules.chat.views.components.*"
|
||||||
showCloseButton="false"
|
showCloseButton="false"
|
||||||
implements="org.bigbluebutton.common.IBbbModuleWindow"
|
implements="org.bigbluebutton.common.IBbbModuleWindow"
|
||||||
initialize="init()"
|
|
||||||
creationComplete="onCreationComplete()"
|
creationComplete="onCreationComplete()"
|
||||||
xmlns:components="org.bigbluebutton.modules.chat.view.components.*"
|
xmlns:components="org.bigbluebutton.modules.chat.view.components.*"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
@ -55,11 +54,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var dispState:String;
|
private var dispState:String;
|
||||||
[Bindable] public var chatOptions:ChatOptions;
|
[Bindable] public var chatOptions:ChatOptions;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
private function init():void{
|
|
||||||
baseIndex = chatOptions.baseTabIndex;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getPrefferedPosition():String{
|
public function getPrefferedPosition():String{
|
||||||
return chatOptions.position;
|
return chatOptions.position;
|
||||||
}
|
}
|
||||||
@ -70,11 +64,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
dispState = FlexGlobals.topLevelApplication.stage.displayState;
|
dispState = FlexGlobals.topLevelApplication.stage.displayState;
|
||||||
|
|
||||||
hotkeyCapture();
|
hotkeyCapture();
|
||||||
titleBarOverlay.tabIndex = baseIndex;
|
titleBarOverlay.tabIndex = chatOptions.baseTabIndex;
|
||||||
|
|
||||||
minimizeBtn.tabIndex = baseIndex+1;
|
minimizeBtn.tabIndex = chatOptions.baseTabIndex+1;
|
||||||
maximizeRestoreBtn.tabIndex = baseIndex+2;
|
maximizeRestoreBtn.tabIndex = chatOptions.baseTabIndex+2;
|
||||||
closeBtn.tabIndex = baseIndex+3;
|
closeBtn.tabIndex = chatOptions.baseTabIndex+3;
|
||||||
|
|
||||||
resourcesChanged(); // update the window controls once they've been created
|
resourcesChanged(); // update the window controls once they've been created
|
||||||
}
|
}
|
||||||
|
@ -100,14 +100,12 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var javaTimer:Timer;
|
private var javaTimer:Timer;
|
||||||
|
|
||||||
[Bindable] private var cursor:Sprite;
|
[Bindable] private var cursor:Sprite;
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
[Bindable] private var dsOptions:DeskshareOptions;
|
[Bindable] private var dsOptions:DeskshareOptions;
|
||||||
|
|
||||||
private var calledStopApplet:Boolean = false;
|
private var calledStopApplet:Boolean = false;
|
||||||
|
|
||||||
private function init():void {
|
private function init():void {
|
||||||
dsOptions = new DeskshareOptions();
|
dsOptions = new DeskshareOptions();
|
||||||
baseIndex = dsOptions.baseTabIndex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onCreationComplete():void {
|
private function onCreationComplete():void {
|
||||||
@ -135,12 +133,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
}
|
}
|
||||||
resourcesChanged();
|
resourcesChanged();
|
||||||
|
|
||||||
titleBarOverlay.tabIndex = baseIndex;
|
titleBarOverlay.tabIndex = dsOptions.baseTabIndex;
|
||||||
titleBarOverlay.focusEnabled = true;
|
titleBarOverlay.focusEnabled = true;
|
||||||
|
|
||||||
minimizeBtn.tabIndex = baseIndex+1;
|
|
||||||
maximizeRestoreBtn.tabIndex = baseIndex+2;
|
|
||||||
closeBtn.tabIndex = baseIndex+3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function remoteFocus(e:ShortcutEvent):void{
|
private function remoteFocus(e:ShortcutEvent):void{
|
||||||
@ -423,6 +417,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<dspub:TabIndexer startIndex="{dsOptions.baseTabIndex + 1}"
|
||||||
|
tabIndices="{[minimizeBtn, maximizeRestoreBtn, closeBtn, btnFSPublish, btnClosePublish, btnRegionPublish]}"/>
|
||||||
|
|
||||||
<!--http://stackoverflow.com/questions/369120/why-does-mxstates-have-trouble-being-resolved-to-a-component-implementation-->
|
<!--http://stackoverflow.com/questions/369120/why-does-mxstates-have-trouble-being-resolved-to-a-component-implementation-->
|
||||||
<mx:VBox id="javaHelpArea" includeInLayout="false" visible="false" height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
|
<mx:VBox id="javaHelpArea" includeInLayout="false" visible="false" height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
|
||||||
<mx:Text width="80%" textAlign="center" styleName="desktopShareTextStyle" text="{ResourceUtil.getInstance().getString('bbb.desktopPublish.chromeHint.title')}" />
|
<mx:Text width="80%" textAlign="center" styleName="desktopShareTextStyle" text="{ResourceUtil.getInstance().getString('bbb.desktopPublish.chromeHint.title')}" />
|
||||||
@ -440,23 +437,20 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.fullscreen.tooltip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.fullscreen.tooltip')}"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.fullscreen.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.fullscreen.label')}"
|
||||||
visible="true"
|
visible="true"
|
||||||
click="shareScreen(true)"
|
click="shareScreen(true)" />
|
||||||
tabIndex="{baseIndex+4}"/>
|
|
||||||
<mx:Spacer width="100%"/>
|
<mx:Spacer width="100%"/>
|
||||||
<mx:Button id="btnClosePublish"
|
<mx:Button id="btnClosePublish"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.stop.tooltip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.stop.tooltip')}"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.stop.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.stop.label')}"
|
||||||
visible="true"
|
visible="true"
|
||||||
enabled="false"
|
enabled="false"
|
||||||
click="stopSharing()"
|
click="stopSharing()" />
|
||||||
tabIndex="{baseIndex+5}"/>
|
|
||||||
<mx:Spacer width="100%"/>
|
<mx:Spacer width="100%"/>
|
||||||
<mx:Button id="btnRegionPublish"
|
<mx:Button id="btnRegionPublish"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.region.tooltip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.desktopPublish.region.tooltip')}"
|
||||||
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.region.label')}"
|
label="{ResourceUtil.getInstance().getString('bbb.desktopPublish.region.label')}"
|
||||||
visible="true"
|
visible="true"
|
||||||
click="shareScreen(false)"
|
click="shareScreen(false)"
|
||||||
tabIndex="{baseIndex+6}"
|
|
||||||
focusEnabled="false"
|
focusEnabled="false"
|
||||||
tabEnabled="false"/>
|
tabEnabled="false"/>
|
||||||
<mx:Spacer width="100%"/>
|
<mx:Spacer width="100%"/>
|
||||||
|
@ -22,7 +22,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
<CustomMdiWindow xmlns="org.bigbluebutton.common.*"
|
<CustomMdiWindow xmlns="org.bigbluebutton.common.*"
|
||||||
xmlns:mx="http://www.adobe.com/2006/mxml"
|
xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
width="600" height="400"
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
|
width="600" height="400"
|
||||||
initialize="init()"
|
initialize="init()"
|
||||||
creationComplete="onCreationComplete()"
|
creationComplete="onCreationComplete()"
|
||||||
implements="org.bigbluebutton.common.IBbbModuleWindow"
|
implements="org.bigbluebutton.common.IBbbModuleWindow"
|
||||||
@ -85,12 +86,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
private var savedY:Number;
|
private var savedY:Number;
|
||||||
private var isMaximized:Boolean = false;
|
private var isMaximized:Boolean = false;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
[Bindable] private var dsOptions:DeskshareOptions;
|
[Bindable] private var dsOptions:DeskshareOptions;
|
||||||
|
|
||||||
private function init():void{
|
private function init():void{
|
||||||
dsOptions = new DeskshareOptions();
|
dsOptions = new DeskshareOptions();
|
||||||
baseIndex = dsOptions.baseTabIndex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onCreationComplete():void{
|
private function onCreationComplete():void{
|
||||||
@ -110,10 +109,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
resourcesChanged();
|
resourcesChanged();
|
||||||
|
|
||||||
titleBarOverlay.tabIndex = baseIndex;
|
titleBarOverlay.tabIndex = dsOptions.baseTabIndex;
|
||||||
minimizeBtn.tabIndex = baseIndex+1;
|
|
||||||
maximizeRestoreBtn.tabIndex = baseIndex+2;
|
|
||||||
closeBtn.tabIndex = baseIndex+3;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onResizeEndEvent(event:MDIWindowEvent):void {
|
private function onResizeEndEvent(event:MDIWindowEvent):void {
|
||||||
@ -315,6 +311,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="{dsOptions.baseTabIndex + 1}" tabIndices="{[minimizeBtn, maximizeRestoreBtn, closeBtn, btnActualSize]}"/>
|
||||||
|
|
||||||
<mx:Move id="cursorMove" target="{cursorImg}"/>
|
<mx:Move id="cursorMove" target="{cursorImg}"/>
|
||||||
<mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/>
|
<mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/>
|
||||||
|
|
||||||
@ -325,7 +324,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
selected="false"
|
selected="false"
|
||||||
height="90%"
|
height="90%"
|
||||||
label="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}"
|
label="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}"
|
||||||
toolTip="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}"
|
toolTip="{btnActualSize.selected ? ResourceUtil.getInstance().getString('bbb.desktopView.fitToWindow') : ResourceUtil.getInstance().getString('bbb.desktopView.actualSize')}"/>
|
||||||
tabIndex="{baseIndex+4}"/>
|
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
</CustomMdiWindow>
|
</CustomMdiWindow>
|
||||||
|
@ -21,6 +21,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
creationComplete="init()" visible="{_visibleTools}"
|
creationComplete="init()" visible="{_visibleTools}"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
xmlns:views="org.bigbluebutton.modules.layout.views.*"
|
xmlns:views="org.bigbluebutton.modules.layout.views.*"
|
||||||
implements="org.bigbluebutton.common.IBbbToolbarComponent">
|
implements="org.bigbluebutton.common.IBbbToolbarComponent">
|
||||||
|
|
||||||
@ -37,8 +38,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
[Bindable] private var _enableEdit:Boolean = false;
|
[Bindable] private var _enableEdit:Boolean = false;
|
||||||
[Bindable] private var _visibleTools:Boolean = true;
|
[Bindable] private var _visibleTools:Boolean = true;
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int = 110000;
|
|
||||||
|
|
||||||
private function init():void {
|
private function init():void {
|
||||||
var evt:ViewInitializedEvent = new ViewInitializedEvent();
|
var evt:ViewInitializedEvent = new ViewInitializedEvent();
|
||||||
evt.canvas = getMdiCanvas(parent) as MDICanvas;
|
evt.canvas = getMdiCanvas(parent) as MDICanvas;
|
||||||
@ -76,25 +75,21 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
<views:LayoutsCombo id="comboBox"
|
<common:TabIndexer startIndex="110000" tabIndices="{[comboBox, addButton, saveButton, loadButton, broadcastButton, lockButton]}"/>
|
||||||
tabIndex="{baseIndex}"/>
|
|
||||||
|
<views:LayoutsCombo id="comboBox"/>
|
||||||
<views:AddButton id="addButton"
|
<views:AddButton id="addButton"
|
||||||
includeInLayout="{_enableEdit}"
|
includeInLayout="{_enableEdit}"
|
||||||
visible="{_enableEdit}"
|
visible="{_enableEdit}"/>
|
||||||
tabIndex="{baseIndex+1}"/>
|
|
||||||
<views:SaveButton id="saveButton"
|
<views:SaveButton id="saveButton"
|
||||||
includeInLayout="{_enableEdit}"
|
includeInLayout="{_enableEdit}"
|
||||||
visible="{_enableEdit}"
|
visible="{_enableEdit}"/>
|
||||||
tabIndex="{baseIndex+2}"/>
|
|
||||||
<views:LoadButton id="loadButton"
|
<views:LoadButton id="loadButton"
|
||||||
includeInLayout="{_enableEdit}"
|
includeInLayout="{_enableEdit}"
|
||||||
visible="{_enableEdit}"
|
visible="{_enableEdit}"/>
|
||||||
tabIndex="{baseIndex+3}"/>
|
|
||||||
<views:BroadcastButton id="broadcastButton"
|
<views:BroadcastButton id="broadcastButton"
|
||||||
tabIndex="{baseIndex+4}"
|
|
||||||
enabled="{!lockButton.selected}"/>
|
enabled="{!lockButton.selected}"/>
|
||||||
<views:LockButton id="lockButton"
|
<views:LockButton id="lockButton"
|
||||||
tabIndex="{baseIndex+5}"
|
|
||||||
visible="false"
|
visible="false"
|
||||||
includeInLayout="false"/>
|
includeInLayout="false"/>
|
||||||
</mx:HBox>
|
</mx:HBox>
|
||||||
|
@ -134,7 +134,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
[Bindable] private var currentPresentation:String = "";
|
[Bindable] private var currentPresentation:String = "";
|
||||||
|
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
[Bindable] private var presentOptions:PresentOptions;
|
[Bindable] private var presentOptions:PresentOptions;
|
||||||
|
|
||||||
private var keyCombos:Object;
|
private var keyCombos:Object;
|
||||||
@ -145,7 +144,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private function init():void{
|
private function init():void{
|
||||||
presentOptions = new PresentOptions();
|
presentOptions = new PresentOptions();
|
||||||
baseIndex = presentOptions.baseTabIndex;;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onCreationComplete():void{
|
private function onCreationComplete():void{
|
||||||
@ -161,13 +159,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
this.addEventListener(MDIWindowEvent.RESIZE_END, onResizeEndEvent);
|
this.addEventListener(MDIWindowEvent.RESIZE_END, onResizeEndEvent);
|
||||||
resourcesChanged();
|
resourcesChanged();
|
||||||
|
|
||||||
titleBarOverlay.tabIndex = baseIndex;
|
titleBarOverlay.tabIndex = presentOptions.baseTabIndex;
|
||||||
|
|
||||||
minimizeBtn.tabIndex = baseIndex+1;
|
|
||||||
maximizeRestoreBtn.tabIndex = baseIndex+2;
|
|
||||||
closeBtn.tabIndex = baseIndex+3;
|
|
||||||
|
|
||||||
slideView.slideLoader.tabIndex = baseIndex+4;
|
|
||||||
hotkeyCapture();
|
hotkeyCapture();
|
||||||
|
|
||||||
//Necessary now because of module loading race conditions
|
//Necessary now because of module loading race conditions
|
||||||
@ -692,7 +685,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
var pollXY:Point = pollStartBtn.localToGlobal(new Point(pollStartBtn.width + 2, pollStartBtn.height - pollMenu.height));
|
var pollXY:Point = pollStartBtn.localToGlobal(new Point(pollStartBtn.width + 2, pollStartBtn.height - pollMenu.height));
|
||||||
pollMenu.x = pollXY.x;
|
pollMenu.x = pollXY.x;
|
||||||
pollMenu.y = pollXY.y;
|
pollMenu.y = pollXY.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function pollStartedHandler(e:PollStartedEvent):void {
|
private function pollStartedHandler(e:PollStartedEvent):void {
|
||||||
// the event for this doesn't exist yet
|
// the event for this doesn't exist yet
|
||||||
@ -752,53 +745,51 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private function pollShowResultHandler(e:PollShowResultEvent):void {
|
private function pollShowResultHandler(e:PollShowResultEvent):void {
|
||||||
setControlBarState("presenter");
|
setControlBarState("presenter");
|
||||||
}
|
}
|
||||||
|
|
||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<pres:TabIndexer startIndex="{presentOptions.baseTabIndex + 1}"
|
||||||
|
tabIndices="{[minimizeBtn, maximizeRestoreBtn, closeBtn, slideView.slideLoader, uploadPres, pollStartBtn, quickPollBtn, backButton, btnSlideNum, forwardButton, zoomSlider, btnFitToWidth, btnFitToPage]}"/>
|
||||||
|
|
||||||
<mx:Fade id="thumbFadeIn" alphaFrom="1" alphaTo="0" duration="100" />
|
<mx:Fade id="thumbFadeIn" alphaFrom="1" alphaTo="0" duration="100" />
|
||||||
<mx:Fade id="thumbFadeOut" alphaFrom="0" alphaTo="1" duration="100" />
|
<mx:Fade id="thumbFadeOut" alphaFrom="0" alphaTo="1" duration="100" />
|
||||||
|
|
||||||
<views:SlideView id="slideView" width="100%" height="100%" visible="false" mouseDown="mouseDown = true"
|
<views:SlideView id="slideView" width="100%" height="100%" visible="false" mouseDown="mouseDown = true"
|
||||||
mouseUp="mouseDown = false" verticalScrollPolicy="off" horizontalScrollPolicy="off" tabIndex="{baseIndex+4}"/>
|
mouseUp="mouseDown = false" verticalScrollPolicy="off" horizontalScrollPolicy="off"/>
|
||||||
<mx:ControlBar id="presCtrlBar" name="presCtrlBar" width="100%" height="{controlBarHeight}" styleName="presentationWindowControlsStyle">
|
<mx:ControlBar id="presCtrlBar" name="presCtrlBar" width="100%" height="{controlBarHeight}" styleName="presentationWindowControlsStyle">
|
||||||
<mx:HBox id="presenterControls" x="0" y="0" width="100%" height="100%" horizontalAlign="center">
|
<mx:HBox id="presenterControls" x="0" y="0" width="100%" height="100%" horizontalAlign="center">
|
||||||
<mx:Button id="uploadPres" visible="false" height="30" styleName="presentationUploadButtonStyle"
|
<mx:Button id="uploadPres" visible="false" height="30" styleName="presentationUploadButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.uploadPresBtn.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.uploadPresBtn.toolTip')}"
|
||||||
click="onUploadButtonClicked()" tabIndex="{baseIndex+5}"/>
|
click="onUploadButtonClicked()"/>
|
||||||
<mx:Button id="pollStartBtn" visible="false" height="30" styleName="pollStartButtonStyle"
|
<mx:Button id="pollStartBtn" visible="false" height="30" styleName="pollStartButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.polling.startButton.tooltip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.polling.startButton.tooltip')}"
|
||||||
click="onPollStartButtonClicked()" tabIndex="{baseIndex+6}"/>
|
click="onPollStartButtonClicked()"/>
|
||||||
<poll:QuickPollButton id="quickPollBtn" height="30" tabIndex="{baseIndex+7}"
|
<poll:QuickPollButton id="quickPollBtn" height="30"
|
||||||
click="quickPollClicked(event)" />
|
click="quickPollClicked(event)" />
|
||||||
<mx:Spacer width="100%" id="spacer1"/>
|
<mx:Spacer width="100%" id="spacer1"/>
|
||||||
<mx:Button id="backButton" visible="false" width="45" height="30" styleName="presentationBackButtonStyle"
|
<mx:Button id="backButton" visible="false" width="45" height="30" styleName="presentationBackButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.backBtn.toolTip')}" click="gotoPreviousSlide()"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.backBtn.toolTip')}" click="gotoPreviousSlide()"/>
|
||||||
tabIndex="{baseIndex+8}"/>
|
|
||||||
<mx:Button id="btnSlideNum" visible="false" label="" click="showThumbnails()"
|
<mx:Button id="btnSlideNum" visible="false" label="" click="showThumbnails()"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.btnSlideNum.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.btnSlideNum.toolTip')}"/>
|
||||||
tabIndex="{baseIndex+9}"/>
|
|
||||||
<mx:Button id="forwardButton" visible="false" width="45" height="30" styleName="presentationForwardButtonStyle"
|
<mx:Button id="forwardButton" visible="false" width="45" height="30" styleName="presentationForwardButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.forwardBtn.toolTip')}" click="gotoNextSlide()"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.forwardBtn.toolTip')}" click="gotoNextSlide()"/>
|
||||||
tabIndex="{baseIndex+10}"/>
|
|
||||||
<mx:Spacer width="50%" id="spacer3"/>
|
<mx:Spacer width="50%" id="spacer3"/>
|
||||||
<mx:HSlider id="zoomSlider" visible="false" value="{slideView.zoomPercentage}" styleName="presentationZoomSliderStyle"
|
<mx:HSlider id="zoomSlider" visible="false" value="{slideView.zoomPercentage}" styleName="presentationZoomSliderStyle"
|
||||||
minimum="100" maximum="400" dataTipPlacement="top" labels="['100%','400%']"
|
minimum="100" maximum="400" dataTipPlacement="top" labels="['100%','400%']"
|
||||||
useHandCursor="true" snapInterval="5" allowTrackClick="true" liveDragging="true"
|
useHandCursor="true" snapInterval="5" allowTrackClick="true" liveDragging="true"
|
||||||
dataTipFormatFunction="removeDecimalFromDataTip" change="onSliderZoom()" width="100"
|
dataTipFormatFunction="removeDecimalFromDataTip" change="onSliderZoom()" width="100"
|
||||||
tabIndex="{baseIndex+11}" accessibilityName="{ResourceUtil.getInstance().getString('bbb.presentation.slider')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.presentation.slider')}"/>
|
||||||
<mx:Button id="btnFitToWidth" visible="false" width="30" height="30" styleName="presentationFitToWidthButtonStyle"
|
<mx:Button id="btnFitToWidth" visible="false" width="30" height="30" styleName="presentationFitToWidthButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.fitToWidth.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.fitToWidth.toolTip')}"
|
||||||
click="onFitToPage(false)"
|
click="onFitToPage(false)"/>
|
||||||
tabIndex="{baseIndex+12}"/>
|
|
||||||
<mx:Button id="btnFitToPage" visible="false" width="30" height="30" styleName="presentationFitToPageButtonStyle"
|
<mx:Button id="btnFitToPage" visible="false" width="30" height="30" styleName="presentationFitToPageButtonStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.fitToPage.toolTip')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.presentation.fitToPage.toolTip')}"
|
||||||
click="onFitToPage(true)"
|
click="onFitToPage(true)"/>
|
||||||
tabIndex="{baseIndex+13}"/>
|
|
||||||
<!-- 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:HBox>
|
</mx:HBox>
|
||||||
<mx:HBox id="pollVoteBox" x="0" y="0" width="100%" height="100%" horizontalAlign="center" />
|
<mx:HBox id="pollVoteBox" x="0" y="0" width="100%" height="100%" horizontalAlign="center" />
|
||||||
</mx:ControlBar>
|
</mx:ControlBar>
|
||||||
</pres:CustomMdiWindow>
|
</pres:CustomMdiWindow>
|
||||||
|
@ -25,6 +25,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
xmlns:mx="http://www.adobe.com/2006/mxml"
|
xmlns:mx="http://www.adobe.com/2006/mxml"
|
||||||
xmlns:view="org.bigbluebutton.modules.whiteboard.views.*"
|
xmlns:view="org.bigbluebutton.modules.whiteboard.views.*"
|
||||||
xmlns:wbBtns="org.bigbluebutton.modules.whiteboard.views.buttons.*"
|
xmlns:wbBtns="org.bigbluebutton.modules.whiteboard.views.buttons.*"
|
||||||
|
xmlns:common="org.bigbluebutton.common.*"
|
||||||
xmlns:mate="http://mate.asfusion.com/"
|
xmlns:mate="http://mate.asfusion.com/"
|
||||||
creationComplete="onCreationComplete()"
|
creationComplete="onCreationComplete()"
|
||||||
visible="{showWhiteboardToolbar}"
|
visible="{showWhiteboardToolbar}"
|
||||||
@ -107,7 +108,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
[Bindable] private var grid_icon:Class = images.grid_icon;
|
[Bindable] private var grid_icon:Class = images.grid_icon;
|
||||||
|
|
||||||
[Bindable] public var wbOptions:WhiteboardOptions;
|
[Bindable] public var wbOptions:WhiteboardOptions;
|
||||||
[Bindable] private var baseIndex:int;
|
|
||||||
|
|
||||||
[Bindable] private var showWhiteboardToolbar:Boolean = false;
|
[Bindable] private var showWhiteboardToolbar:Boolean = false;
|
||||||
|
|
||||||
@ -124,7 +124,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
private function init():void{
|
private function init():void{
|
||||||
wbOptions = new WhiteboardOptions();
|
wbOptions = new WhiteboardOptions();
|
||||||
baseIndex = wbOptions.baseTabIndex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function onCreationComplete():void {
|
private function onCreationComplete():void {
|
||||||
@ -332,39 +331,33 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
]]>
|
]]>
|
||||||
</mx:Script>
|
</mx:Script>
|
||||||
|
|
||||||
|
<common:TabIndexer startIndex="{wbOptions.baseTabIndex}"
|
||||||
|
tabIndices="{[panzoomBtn, scribbleBtn, rectangleBtn, circleBtn, triangleBtn, lineBtn, textBtn, clearBtn, undoBtn, cpik, sld]}"/>
|
||||||
|
|
||||||
<!-- Now, every 'tool' has two types of identifiers, one is found in WhiteboardConstants
|
<!-- Now, every 'tool' has two types of identifiers, one is found in WhiteboardConstants
|
||||||
that identifies the "category" of the tool (ex. shape vs text), and the other specifies the
|
that identifies the "category" of the tool (ex. shape vs text), and the other specifies the
|
||||||
tool itself (ex. line tool vs triangle tool, even though both are "shapes")
|
tool itself (ex. line tool vs triangle tool, even though both are "shapes")
|
||||||
-->
|
-->
|
||||||
<wbBtns:PanZoomButton id="panzoomBtn"
|
<wbBtns:PanZoomButton id="panzoomBtn"
|
||||||
tabIndex="{baseIndex}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<mx:Spacer height="10" visible="{showWhiteboardToolbar}"/>
|
<mx:Spacer height="10" visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:ScribbleButton id="scribbleBtn"
|
<wbBtns:ScribbleButton id="scribbleBtn"
|
||||||
tabIndex="{baseIndex+1}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:RectangleButton id="rectangleBtn"
|
<wbBtns:RectangleButton id="rectangleBtn"
|
||||||
tabIndex="{baseIndex+2}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:CircleButton id="circleBtn"
|
<wbBtns:CircleButton id="circleBtn"
|
||||||
tabIndex="{baseIndex+3}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:TriangleButton id="triangleBtn"
|
<wbBtns:TriangleButton id="triangleBtn"
|
||||||
tabIndex="{baseIndex+4}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:LineButton id="lineBtn"
|
<wbBtns:LineButton id="lineBtn"
|
||||||
tabIndex="{baseIndex+5}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:TextButton id="textBtn"
|
<wbBtns:TextButton id="textBtn"
|
||||||
tabIndex="{baseIndex+6}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
|
|
||||||
<mx:Spacer height="5" visible="{showWhiteboardToolbar}"/>
|
<mx:Spacer height="5" visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:ClearButton id="clearBtn"
|
<wbBtns:ClearButton id="clearBtn"
|
||||||
tabIndex="{baseIndex+7}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
<wbBtns:UndoButton id="undoBtn"
|
<wbBtns:UndoButton id="undoBtn"
|
||||||
tabIndex="{baseIndex+8}"
|
|
||||||
visible="{showWhiteboardToolbar}"/>
|
visible="{showWhiteboardToolbar}"/>
|
||||||
|
|
||||||
<mx:Spacer height="5" visible="{showWhiteboardToolbar}"/>
|
<mx:Spacer height="5" visible="{showWhiteboardToolbar}"/>
|
||||||
@ -383,7 +376,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
<mx:ColorPicker change="changeColor(event)" id="cpik" visible="{showWhiteboardToolbar}"
|
<mx:ColorPicker change="changeColor(event)" id="cpik" visible="{showWhiteboardToolbar}"
|
||||||
selectedColor="0x000000" width="30" dataProvider="{colorPickerColours}" swatchPanelStyleName="colorPickerStyle"
|
selectedColor="0x000000" width="30" dataProvider="{colorPickerColours}" swatchPanelStyleName="colorPickerStyle"
|
||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.color')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.color')}"
|
||||||
tabIndex="{baseIndex+9}"
|
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.color')}"/>
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.color')}"/>
|
||||||
|
|
||||||
<mx:Spacer height="3" visible="{showWhiteboardToolbar}"/>
|
<mx:Spacer height="3" visible="{showWhiteboardToolbar}"/>
|
||||||
@ -392,7 +384,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
toolTip="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.thickness.accessibilityName')}"
|
toolTip="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.thickness.accessibilityName')}"
|
||||||
minimum="1" maximum="30"
|
minimum="1" maximum="30"
|
||||||
useHandCursor="true" value="2" showDataTip="true" snapInterval="1" dataTipOffset="0" labelOffset="0"
|
useHandCursor="true" value="2" showDataTip="true" snapInterval="1" dataTipOffset="0" labelOffset="0"
|
||||||
tabIndex="{baseIndex+10}"
|
|
||||||
accessibilityName="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.thickness.accessibilityName')}" />
|
accessibilityName="{ResourceUtil.getInstance().getString('bbb.highlighter.toolbar.thickness.accessibilityName')}" />
|
||||||
<mx:Image source="{thin_icon}" horizontalAlign="center" width="30" visible="{showWhiteboardToolbar}"/>
|
<mx:Image source="{thin_icon}" horizontalAlign="center" width="30" visible="{showWhiteboardToolbar}"/>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user