| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| <library> |
| |
| <class name="innerlistViewparticipantsTable" extends="view" width="258" > |
| <simplelayout name="_layout" axis="y" spacing="0" /> |
| </class> |
| |
| <class name="participantsTable" extends="view" height="${ parent.height-20 }" |
| bgcolor="0xFFFFFF" x="2" y="6" clip="true" width="$once{ parent.width-4 }" > |
| <innerlistViewparticipantsTable name="innerList" /> |
| <om_vscrollbar /> |
| </class> |
| |
| <class name="participantList" extends="view" width="$once{ parent.width }" height="${ parent.height-22 }" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" y="22"> |
| <!-- clip="true" --> |
| |
| <attribute name="sortType" value="alphabetical" type="string" /> |
| |
| <view width="$once{ parent.width-2 }" height="${ parent.height-2 }" |
| x="1" y="1" bgcolor="0xFFFFFF" /> |
| |
| <handler name="oninit"> |
| <![CDATA[ |
| var items = this._table.innerList.subnodes; |
| canvas.videoComp_lc.lc_setSoundMuted = function(publicSID,isMuted) { |
| if ($debug) Debug.write("lc_setSoundMuted: publicSID, isMuted",publicSID, isMuted); |
| |
| for (var i=1; i<items.length; i++) { |
| var listItem = items[i]; |
| if (listItem.refObj.publicSID == publicSID) { |
| var muteView = listItem._miniIcons._mute; |
| if (isMuted) { |
| muteView.setAttribute('frame', 2); |
| muteView._tip.setAttribute('labelid', 1075); |
| } else { |
| muteView.setAttribute('frame', 1); |
| muteView._tip.setAttribute('labelid', 1074); |
| } |
| break; |
| } |
| } |
| }; |
| ]]> |
| </handler> |
| |
| <method name="addItem" args="object"> |
| <![CDATA[ |
| if ($debug) Debug.write("participantList addItem: ",object,object.publicSID); |
| |
| for (var i=0;i<this._table.innerList.subviews.length;i++) { |
| if (this._table.innerList.subviews[i].refObj.publicSID == object.publicSID) { |
| //if ($debug) Debug.warn("Already on List, do not add twice"); |
| return; |
| } |
| } |
| |
| var lastname = object.lastname; |
| |
| if ($debug) Debug.write("object.isSuperModerator ",object.isSuperModerator); |
| |
| if (object.isSuperModerator) { |
| lastname += " *"; |
| } |
| |
| new lz.participantListItem(this._table.innerList,{ |
| user_id:object.user_id, |
| isSuperModerator:object.isSuperModerator, |
| firstname:object.firstname, |
| lastname:lastname, |
| width:this.width-17, |
| refObj:object, |
| connectedSince:object.connectedSince, |
| isMod:object.isMod, |
| streamid:object.streamid, |
| username:object.username, |
| formatedDate:object.formatedDate |
| }); |
| |
| this.sortUserList(); |
| ]]> |
| </method> |
| |
| <method name="sortUserList"> |
| <![CDATA[ |
| |
| if (this.sortType == "alphabetical") { |
| function sortByName(a,b) { |
| |
| if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1; |
| else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1; |
| else return 0; |
| |
| } |
| |
| this._table.innerList.subviews.sort(sortByStreamId); |
| this._table.innerList._layout.subviews.sort(sortByStreamId); |
| } else { |
| function sortByStreamId(a,b) { |
| |
| if(Number(a.streamid) == Number(b.streamid)) return 0; |
| else if(Number(a.streamid) > Number(b.streamid)) return 1; |
| else return -1; |
| |
| } |
| |
| this._table.innerList.subviews.sort(sortByStreamId); |
| this._table.innerList._layout.subviews.sort(sortByStreamId); |
| } |
| |
| this._table.innerList._layout.update(); |
| ]]> |
| </method> |
| |
| <method name="clearList"> |
| this._table.destroy(); |
| new lz.participantsTable(this,{name:'_table'}); |
| </method> |
| |
| <method name="disconnectclient" args="publicSID"> |
| <![CDATA[ |
| for (var i=0;i<this._table.innerList.subviews.length;i++){ |
| if (this._table.innerList.subviews[i].refObj.publicSID==publicSID){ |
| var item = this._table.innerList.subviews[i]; |
| item.destroy(); |
| break; |
| } |
| } |
| ]]> |
| </method> |
| |
| <!--- get a Objects List Item |
| @param string publicSID publicSID |
| --> |
| <method name="getUserListItemByPublicSID" args="publicSID"> |
| <![CDATA[ |
| var v = null; |
| var lst = this._table.innerList; |
| for (var i = 0; i < lst.subviews.length; i++) { |
| if (lst.subviews[i].refObj.publicSID == publicSID) { |
| v = lst.subviews[i]; |
| break; |
| } |
| } |
| return v; |
| ]]> |
| </method> |
| |
| <participantsTable name="_table" y="20" /> |
| |
| <view name="_miniIcons" x="112" y="0" height="18"> |
| |
| <view width="1" height="${ parent.parent.height }" x="0" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_mod" x="2" y="3" resource="participants_isMod_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="608" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="20" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_draw" x="22" y="3" resource="participants_allow_drawing_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="609" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="40" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_share" x="42" y="3" resource="screen_allow_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="1073" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="60" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_remote" x="62" y="3" resource="remote_allow_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="1084" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="80" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_exclusive_audio" x="82" y="3" resource="participants_exclusive_audio_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="1423" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="100" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| <view name="_icon_av_allow" x="102" y="3" resource="av_allow_rsc" onclick="" showhandcursor="false"> |
| <labelTooltip labelid="610" /> |
| </view> |
| |
| <view width="1" height="${ parent.parent.height }" x="142" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" /> |
| </view> |
| |
| <view name="headerDivisionLine" width="${ parent.width }" |
| bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="1" y="20" /> |
| |
| </class> |
| |
| </library> |