Author: solomax
Date: Sun Nov 27 16:49:18 2016
New Revision: 1771605

URL: http://svn.apache.org/viewvc?rev=1771605&view=rev
Log:
[OPENMEETINGS-1366] WB renaming seems to work as expected

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
 Sun Nov 27 16:49:18 2016
@@ -33,15 +33,15 @@ import org.apache.openmeetings.db.dto.ro
  */
 public class WhiteBoardObjectListManagerById {
        private Map<Long, WhiteboardObjectList> whiteBoardObjectList = new 
ConcurrentHashMap<>();
-       
+
        private volatile AtomicLong whiteboardId = new AtomicLong(0);
-       
-       public long getNewWhiteboardId(Long roomId) throws Exception {
+
+       public long getNewWhiteboardId(Long roomId, String name) throws 
Exception {
                long wbId = whiteboardId.getAndIncrement();
-               setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(), wbId);
+               setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(name), wbId);
                return wbId;
        }
-       
+
        /*
         * Room items a Whiteboard
         */
@@ -54,7 +54,7 @@ public class WhiteBoardObjectListManager
                        return whiteboardObjectList;
                }
        }
-       
+
        public WhiteboardObject 
getWhiteBoardObjectListByRoomIdAndWhiteboard(Long roomId, Long whiteBoardId){
                WhiteboardObjectList whiteboardObjectList = 
getWhiteBoardObjectListByRoomId(roomId);
                WhiteboardObject whiteboardObjects = 
whiteboardObjectList.getWhiteboardObjects().get(whiteBoardId);
@@ -63,16 +63,15 @@ public class WhiteBoardObjectListManager
                }
                return whiteboardObjects;
        }
-       
+
        /*
         * Whiteboard Object List
         * 
         */
-       
        public void setWhiteBoardObjectListRoomObj(Long roomId, 
WhiteboardObjectList whiteboardObjectList){
                whiteBoardObjectList.put(roomId, whiteboardObjectList);
        }
-       
+
        public void setWhiteBoardObjectListRoomObjAndWhiteboardId(Long roomId, 
WhiteboardObject whiteboardObjects, long whiteBoardId) {
                WhiteboardObjectList whiteboardObjectList = 
getWhiteBoardObjectListByRoomId(roomId);
                whiteboardObjects.setWhiteBoardId(whiteBoardId);

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 Sun Nov 27 16:49:18 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Map;
 
@@ -33,6 +34,7 @@ import org.apache.commons.collections4.C
 import 
org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectListManagerById;
 import 
org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectSyncManager;
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
@@ -62,7 +64,7 @@ public class WhiteBoardService implement
        @Autowired
        private UserDao userDao;
        @Autowired
-       private ScopeApplicationAdapter scopeApplicationAdapter;
+       private ScopeApplicationAdapter scopeAdapter;
        @Autowired
        private ISessionManager sessionManager;
        @Autowired
@@ -70,22 +72,24 @@ public class WhiteBoardService implement
        @Autowired
        private WhiteBoardObjectListManagerById wbListManagerById;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
+       @Autowired
+       private LabelDao labelDao;
 
-       public Long getNewWhiteboardId() {
+       public boolean getNewWhiteboardId(String name) {
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
                        Long roomId = currentClient.getRoomId();
 
-                       Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId);
-
-                       return whiteBoardId;
-               } catch (Exception err) {
-                       log.error("[deleteWhiteboard]", err);
+                       Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId, name);
+                       
scopeAdapter.sendMessageAll(Arrays.asList("newWhiteboard", whiteBoardId, name));
+               } catch (Exception e) {
+                       log.error("[getNewWhiteboardId]", e);
+                       return false;
                }
-               return null;
+               return true;
        }
 
        public boolean deleteWhiteboard(Long whiteBoardId) {
@@ -111,7 +115,8 @@ public class WhiteBoardService implement
                return false;
        }
 
-       public WhiteboardObjectList getRoomItemsBy() {
+       public Map<Long, WhiteboardObject> getRoomItemsBy() {
+               Map<Long, WhiteboardObject> result = new LinkedHashMap<>();
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
@@ -122,23 +127,37 @@ public class WhiteBoardService implement
                        WhiteboardObjectList whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 
                        if (whiteboardObjectList.getWhiteboardObjects().size() 
== 0) {
-                               Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId);
-
-                               
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(), whiteBoardId);
-
+                               wbListManagerById.getNewWhiteboardId(roomId, 
labelDao.getString("615", 
userDao.get(currentClient.getUserId()).getLanguageId()));
                                log.debug("Init New Room List");
-
                                whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
                        }
-                       return whiteboardObjectList;
+                       
whiteboardObjectList.getWhiteboardObjects().entrySet().stream()
+                                       .sorted(Map.Entry.<Long, 
WhiteboardObject>comparingByKey().reversed())
+                                       .forEachOrdered(x -> 
result.put(x.getKey(), x.getValue()));
                } catch (Exception err) {
                        log.error("[getRoomItemsBy]", err);
                }
-               return null;
+               return result;
        }
 
-       public void rename(Long wbId, String name) {
-               //
+       public boolean rename(Long wbId, String name) {
+               try {
+                       IConnection current = Red5.getConnectionLocal();
+                       String streamid = current.getClient().getId();
+                       Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
+                       Long roomId = currentClient.getRoomId();
+
+                       WhiteboardObjectList whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
+                       WhiteboardObject wb = 
whiteboardObjectList.getWhiteboardObjects().get(wbId);
+                       wb.setName(name);
+
+                       log.debug(" :: rename whiteBoard :: id = {}, name = 
{}", wbId, name);
+                       
scopeAdapter.sendMessageAll(Arrays.asList("renameWhiteboard", wbId, name));
+               } catch (Exception err) {
+                       log.error("[rename]", err);
+                       return false;
+               }
+               return true;
        }
 
        /**
@@ -157,7 +176,7 @@ public class WhiteBoardService implement
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
+                       Long users_id = sessionDao.check(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
                                if (currentClient.getIsMod()) {
@@ -170,7 +189,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -187,7 +206,7 @@ public class WhiteBoardService implement
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
+                       Long users_id = sessionDao.check(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
                                if (currentClient.getIsMod()) {
@@ -200,7 +219,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -217,7 +236,7 @@ public class WhiteBoardService implement
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long userId = sessiondataDao.check(SID);
+                       Long userId = sessionDao.check(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                                if (currentClient.getIsMod()) {
@@ -230,7 +249,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -248,7 +267,7 @@ public class WhiteBoardService implement
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
+                       Long users_id = sessionDao.check(SID);
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
                                if (currentClient.getIsMod()) {
@@ -261,7 +280,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateGiveAudioStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -293,7 +312,7 @@ public class WhiteBoardService implement
                        wbListManager.setWhiteBoardSyncListByRoomid(roomId, 
syncListRoom);
                        
                        //Sync to clients
-                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncFlag", 
wSyncLockObject, true);
+                       scopeAdapter.sendMessageToCurrentScope("sendSyncFlag", 
wSyncLockObject, true);
 
                        return wSyncLockObject;
                } catch (Exception err) {
@@ -327,7 +346,7 @@ public class WhiteBoardService implement
                                int numberOfInitial = 
getNumberOfInitialLoaders(syncListRoom);
 
                                if (numberOfInitial == 0) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", 
wSyncLockObject, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, 
true);
                                } else {
                                        return;
                                }
@@ -373,7 +392,7 @@ public class WhiteBoardService implement
                        // Do only send the Token to show the Loading Splash 
for the
                        // initial-Request that starts the loading
                        if (isStarting) {
-                               
scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", 
wSyncLockObject, true);
+                               
scopeAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, 
true);
                        }
                } catch (Exception err) {
                        log.error("[startNewObjectSyncProcess]", err);
@@ -410,7 +429,7 @@ public class WhiteBoardService implement
                                log.debug("sendCompletedImagesSyncEvent 
numberOfInitial: " + numberOfInitial);
 
                                if (numberOfInitial == 0) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", 
wSyncLockObject, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", 
wSyncLockObject, true);
                                        return 1;
                                } else {
                                        return -4;
@@ -447,7 +466,7 @@ public class WhiteBoardService implement
                                log.debug("scope " + scope);
 
                                if (numberOfInitial == 0 && scope != null) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", 
wSyncLockObject, false);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, 
false);
                                }
 
                                // Check Image Loaders
@@ -463,7 +482,7 @@ public class WhiteBoardService implement
                                int numberOfImageLoaders = 
wbListManager.getWhiteBoardObjectSyncListByRoomid(roomId).size();
 
                                if (numberOfImageLoaders == 0 && scope != null) 
{
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", 
new Object[] { "remove" }, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new 
Object[] { "remove" }, true);
                                }
                        }
                } catch (Exception err) {

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Sun Nov 27 16:49:18 2016
@@ -36,6 +36,10 @@ public class WhiteboardObject {
 
        public WhiteboardObject() {}
 
+       public WhiteboardObject(String name) {
+               this.name = name;
+       }
+
        public long getWhiteBoardId() {
                return whiteBoardId;
        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 Sun Nov 27 16:49:18 2016
@@ -1165,6 +1165,10 @@
                                // Not Used
                                //Debug.warn("Not Used");
                                
canvas._drawarea.parent.parent.parent.newWhiteboard(value);
+                       } else if (value[0] == 'renameWhiteboard'){
+                               // Not Used
+                               //Debug.warn("Not Used");
+                               
canvas._drawarea.parent.parent.parent.renameWhiteboard(value);
                        } else if (value[0]=='removeWindow'){
                                // Not Used
                                //Debug.warn("Not Used");
@@ -1266,11 +1270,6 @@
                        } else if (value.message[0]=='avsettings'){
                                
canvas.commonVideoViewContent.setAVSettingsToClient(value.client);
                        } else if (value.message[0]=='whiteboard'){
-                               //if (value.message[1]=='wmlloadcomplete'){
-                               //      
canvas._drawarea.sendCompleteWmlLoadedRClient(value.client);
-                               //} else if 
(value.message[1]=='wmlsynccomplete'){
-                               //      
canvas._drawarea.sendCompleteWmlSync(value.client);
-                               //} else
                                if (value.message[1]=='imageloadcomplete'){
                                        
canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
                                } else if 
(value.message[1]=='imagesynccomplete'){

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
 Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   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
@@ -33,25 +33,25 @@
                        this.sendVarsByWhiteboardId.doCall();
                }
        </handler>
-    
-    <netRemoteCallHib name="sendVarsByWhiteboardId" 
funcname="sendVarsByWhiteboardId" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objWhiteboard;</method></netparam>
-        <netparam><method name="getValue">return 
parent.parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-               //if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <handler name="onvisible" args="v">
-       <![CDATA[
-               if ($debug) Debug.write("onvisible :: ",v);
-       ]]>
-    </handler>
-    
+       
+       <netRemoteCallHib name="sendVarsByWhiteboardId" 
funcname="sendVarsByWhiteboardId" 
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objWhiteboard;</method></netparam>
+               <netparam><method name="getValue">return 
parent.parent.whiteboardId;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                               //The onResult-Handler will be called be the 
rtmpconnection
+                               //if ($debug) 
Debug.write("sendVarsByWhiteboardId : ",value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib>
+       
+       <handler name="onvisible" args="v">
+       <![CDATA[
+               if ($debug) Debug.write("onvisible :: ",v);
+       ]]>
+       </handler>
+
        <method name="sendActiveWindow">
                if ($debug) Debug.warn("sendActiveWindow :: ");
                if (canvas.ismoderator || canvas.isAllowedToDraw) {
@@ -63,279 +63,255 @@
                        this.sendMessageToMembers.doCall();
                }
        </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib> 
-    
+       
+       <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers"
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                               if ($debug) Debug.write("sendMessageToMembers 
:: ",value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib> 
 </class>
-    
+
 <class name="fixedFileExplorerWhiteboardPanel" 
extends="basePropertyPanelWhiteboard" allowToggle="false"
-          labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
-       <attribute name="whiteboardCount" value="0" type="number" />
-       <!--
-       
-        -->
+               labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard 
}">
+
        <handler name="oninit">
                canvas._drawarea = this;
        </handler>
-       
+
        <handler name="onopenWhiteBoard" >
-        if ($debug) Debug.write(".. onopenWhiteBoard ..");
-        this.loadInitObject();
-    </handler>
-            
-    <!--
-       ##########################################
-       Add, remove and change Focus of Whiteboard
-       ##########################################
-     -->
-     
-    <method name="addNewItem">
-       this.getNewWhiteboardId.doCall();
-    </method>
-    
-    <!--
-    public Long getNewWhiteboardId() {
-     -->
-    <netRemoteCallHib name="getNewWhiteboardId" 
funcname="whiteboardservice.getNewWhiteboardId"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## getNewWhiteboardId : 
",value);
-                parent.addNewItemSynced(value);
-                parent.sendNewWindow(value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="addNewItemSynced" args="whiteboardId">
-       for (var eg in this._bar.subviews) {
-               this._bar.subviews[eg].isactive = false;
-               this._bar.subviews[eg].onmouseout.sendEvent(null);
-               
this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
-       }
-       
-       var whiteboard = new lz.multiWhiteboardPanel(this,{
-                                                                               
whiteboardId:whiteboardId
-                                                                       });
-       var tempWidth = this._bar.getCurrentSize();
-       
-       var whiteboardName = canvas.getLabelName(615) + (whiteboardCount > 0 ? 
" " + whiteboardCount : "");
-       whiteboardCount++;
-       var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
-                                  objRef:whiteboard,
-                                  width:tempWidth,
-                                  isactive:true,
-                                  btnName: whiteboardName
-                               });
-        
-        this._bar.currentBtn = tWhiteboardBtn;
-                               
-       tWhiteboardBtn.onmouseout.sendEvent(null);
-        this.addNewItemButton.updatePosition();
-        canvas.whiteboardCount++;
-        return whiteboard;
-    </method>
-    
-    <method name="sendNewWindow" args="whiteboardId">
-       if ($debug) Debug.warn("sendNewWindow :: ");
-       if (canvas.ismoderator || canvas.isAllowedToDraw) {
-               if ($debug) Debug.warn("DO sendActiveWindow :: ");
-               this.objMessage = new Array();
-               this.objMessage[0] = "newWhiteboard";
-               this.objMessage[1] = whiteboardId;
-               this.sendMessageToMembers.doCall();
-       }
-    </method>
-    
-    <method name="newWhiteboard" args="obj">
-       if ($debug) Debug.write("newWhiteboard :: ",obj);
-       this.addNewItemSynced(obj[1]);
-    </method>
-    
-    
-    <!--
-        ##########################################
-        Removal of Whiteboards
-        ##########################################
-     -->
-    <method name="sendRemoveWindow" args="whiteboardId">
-       if ($debug) Debug.warn("sendRemoveWindow :: ");
-       if (canvas.ismoderator || canvas.isAllowedToDraw) {
-               this.deleteWhiteboard.whiteboardId = whiteboardId;
-               this.deleteWhiteboard.doCall();
-               if ($debug) Debug.warn("DO sendRemoveWindow :: ");
-               this.objMessage = new Array();
-               this.objMessage[0] = "removeWindow";
-               this.objMessage[1] = whiteboardId;
-               this.sendMessageToMembers.doCall();
-               canvas.whiteboardCount--;
-       }
-    </method>
-    
-    <!--
-    public Boolean deleteWhiteboard(Long whiteBoardId)
-     -->
-    <netRemoteCallHib name="deleteWhiteboard" 
funcname="whiteboardservice.deleteWhiteboard"
-        remotecontext="$once{ canvas.thishib }" >
-       <attribute name="whiteboardId" value="0" type="number" />
-        <netparam><method name="getValue">return 
parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## deleteWhiteboard : ", 
value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="removeWindow" args="obj">
-       if ($debug) Debug.write("removeWindow :: ",obj);
-       for (var eg in this._bar.subviews) {
-               if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-                       this._bar.removeObjectSynced(this._bar.subviews[eg]);
-                       return;
-               }
-       }
-    </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <method name="sendWatchObjectByWhiteboard" args="obj">
-       if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
-       for (var eg in this.subviews) {
-               if (obj.id == this.subviews[eg].whiteboardId) {
-                       
this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
-                       return;
-               }
-       }
-    </method>
-    
-    <method name="loadWmlToWhiteboardById" args="obj">
-        if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
-        for (var eg in this.subviews) {
-            if (obj.id == this.subviews[eg].whiteboardId) {
-                
this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
-                return;
-            }
-        }
-    </method>
-    
-    <method name="activateWhiteboard" args="obj">
-       if ($debug) Debug.write("activateWhiteboard :: ",obj);
-       for (var eg in this._bar.subviews) {
-               if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-                       this._bar.subviews[eg].activateSynced();
-                       return;
-               }
-       }
-    </method>
-    
-    <!--
-       ##########################################
-       StarUp Loading Of Objects
-       ##########################################
-     -->
-    
-    <method name="loadInitObject">
-       this.getRoomItemsBy.doCall();
-    </method>
-    
+               if ($debug) Debug.write(".. onopenWhiteBoard ..");
+               this.loadInitObject();
+       </handler>
+
+       <!--
+               ##########################################
+               Add, remove and change Focus of Whiteboard
+               ##########################################
+        -->
+       <method name="addNewItem">
+       <![CDATA[
+               if (canvas.ismoderator || canvas.isAllowedToDraw) {
+                       this.getNewWhiteboardId.wbName = 
canvas.getLabelName(615) + (canvas.whiteboardCount > 0 ? " " + 
canvas.whiteboardCount : "");
+                       this.getNewWhiteboardId.doCall();
+               }
+       ]]>
+       </method>
+
+       <netRemoteCallHib name="getNewWhiteboardId" 
funcname="whiteboardservice.getNewWhiteboardId" remotecontext="$once{ 
canvas.thishib }" >
+               <attribute name="wbName" type="string"/>
+               <netparam><method name="getValue">return 
parent.wbName;</method></netparam>
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("############## 
getNewWhiteboardId : ",value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="addNewItemSynced" args="whiteboardId, wbName">
+               for (var eg in this._bar.subviews) {
+                       this._bar.subviews[eg].isactive = false;
+                       this._bar.subviews[eg].onmouseout.sendEvent(null);
+                       
this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
+               }
+               var whiteboard = new lz.multiWhiteboardPanel(this,{
+                                                       
whiteboardId:whiteboardId
+                                               });
+               var tempWidth = this._bar.getCurrentSize();
+               var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
+                                                                       
objRef:whiteboard,
+                                                                       
width:tempWidth,
+                                                                       
isactive:true,
+                                                                       
btnName: wbName
+                                                               });
+               this._bar.currentBtn = tWhiteboardBtn;
+               tWhiteboardBtn.onmouseout.sendEvent(null);
+               this.addNewItemButton.updatePosition();
+               canvas.whiteboardCount++;
+               return whiteboard;
+       </method>
+
+       <method name="newWhiteboard" args="obj">
+               if ($debug) Debug.write("newWhiteboard :: ",obj);
+               this.addNewItemSynced(obj[1], obj[2]);
+       </method>
+
+       <!--
+               ##########################################
+               Removal of Whiteboards
+               ##########################################
+        -->
+       <method name="sendRemoveWindow" args="whiteboardId">
+               if ($debug) Debug.warn("sendRemoveWindow :: ");
+               if (canvas.ismoderator || canvas.isAllowedToDraw) {
+                       this.deleteWhiteboard.whiteboardId = whiteboardId;
+                       this.deleteWhiteboard.doCall();
+                       if ($debug) Debug.warn("DO sendRemoveWindow :: ");
+                       this.objMessage = new Array();
+                       this.objMessage[0] = "removeWindow";
+                       this.objMessage[1] = whiteboardId;
+                       this.sendMessageToMembers.doCall();
+               }
+       </method>
+
+       <netRemoteCallHib name="deleteWhiteboard" 
funcname="whiteboardservice.deleteWhiteboard"
+                       remotecontext="$once{ canvas.thishib }" >
+               <attribute name="whiteboardId" value="0" type="number" />
+               <netparam><method name="getValue">return 
parent.whiteboardId;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                               //The onResult-Handler will be called be the 
rtmpconnection
+                               if ($debug) Debug.write("############## 
deleteWhiteboard : ", value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="removeWindow" args="obj">
+               if ($debug) Debug.write("removeWindow :: ",obj);
+               for (var eg in this._bar.subviews) {
+                       if (this._bar.subviews[eg].objRef.whiteboardId == 
obj[1]) {
+                               
this._bar.removeObjectSynced(this._bar.subviews[eg]);
+                               canvas.whiteboardCount--;
+                               return;
+                       }
+               }
+       </method>
+
+       <method name="renameWhiteboard" args="obj">
+               if ($debug) Debug.write("renameWhiteboard :: ", obj);
+               for (var eg in this._bar.subviews) {
+                       var btn = this._bar.subviews[eg];
+                       if (btn.objRef.whiteboardId == obj[1]) {
+                               btn.setAttribute('btnName', obj[2]);
+                               return;
+                       }
+               }
+       </method>
+
+       <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("sendMessageToMembers :: 
",value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="sendWatchObjectByWhiteboard" args="obj">
+               if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
+               for (var eg in this.subviews) {
+                       if (obj.id == this.subviews[eg].whiteboardId) {
+                               
this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
+                               return;
+                       }
+               }
+       </method>
+
+       <method name="loadWmlToWhiteboardById" args="obj">
+               if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+               for (var eg in this.subviews) {
+                       if (obj.id == this.subviews[eg].whiteboardId) {
+                               
this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+                               return;
+                       }
+               }
+       </method>
+       
+       <method name="activateWhiteboard" args="obj">
+               if ($debug) Debug.write("activateWhiteboard :: ",obj);
+               for (var eg in this._bar.subviews) {
+                       if (this._bar.subviews[eg].objRef.whiteboardId == 
obj[1]) {
+                               this._bar.subviews[eg].activateSynced();
+                               return;
+                       }
+               }
+       </method>
+       
+       <!--
+               ##########################################
+               StarUp Loading Of Objects
+               ##########################################
+        -->
+       <method name="loadInitObject">
+               this.getRoomItemsBy.doCall();
+       </method>
+
        <netRemoteCallHib name="getRoomItemsBy" 
funcname="whiteboardservice.getRoomItemsBy"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-               //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("############## getRoomItemsBy : 
",value);
-               parent.loadWhiteboards(value.whiteboardObjects);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>   
-    
+                       remotecontext="$once{ canvas.thishib }" >
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("############## getRoomItemsBy 
: ",value);
+                       parent.loadWhiteboards(value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
        <method name="loadWhiteboards" args="whiteboardObjects">
        <![CDATA[
-               if ($debug) Debug.write("whiteboardObjects :: ", 
whiteboardObjects.length);
-               var mainArray = new Array();
+               //if ($debug) Debug.write("!!!!!!!!!!! whiteboardObjects :: ", 
whiteboardObjects);
                for (var eg in whiteboardObjects) {
-                       mainArray.push(whiteboardObjects[eg]);
-               }
-               mainArray.reverse();
-               
-               for (var eg = 0; eg < mainArray.length; ++eg) {
-                       var whiteBoard = 
this.addNewItemSynced(mainArray[eg].whiteBoardId);
-                       
whiteBoard._drawareaMask._drawarea.loadObjectList(mainArray[eg]);
+                       var wb = whiteboardObjects[eg];
+                       var whiteBoard = addNewItemSynced(wb.whiteBoardId, 
wb.name);
+                       whiteBoard._drawareaMask._drawarea.loadObjectList(wb);
                }
        ]]>
        </method>
-      
-    
-    <whiteboardBarMenu name="_bar" height="20" y="21">
-       <attribute name="whiteboardId" value="-1" type="number" />
-       
-       <handler name="onsubview" args="newSub">
-               parent.addNewItemButton.updatePosition();
-       </handler>
-       <handler name="onwidth" args="newSub">
-            parent.addNewItemButton.updatePosition();
-        </handler>
-    </whiteboardBarMenu>
-    
-    <view name="addNewItemButton" y="24" 
-         visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) 
? true : false )) }"
-         >
-       
-       <attribute name="whiteboardId" value="-1" type="number" />
-       
-       <method name="updatePosition">
-               if (parent._bar.subviews.length != 0) {
-                       var borderItem = 
parent._bar.subviews[parent._bar.subviews.length-1];
-                       this.setAttribute("x",borderItem.x + borderItem.width + 
2);
-               } else {
-                       this.setAttribute("x",2);
-               }
-       </method>
-       
-       <handler name="onmouseover" args="refOb">
-               this.bg.setAttribute("visibility","visible");
-       </handler>
-       
-       <handler name="onmouseout" args="refOb">
-            this.bg.setAttribute("visibility","hidden");
-        </handler>
-        
-        <handler name="onclick" args="refOb">
-            parent.addNewItem();
-        </handler>
-        
-        <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" 
-                 width="18" height="18" visibility="hidden" />
-       
-       <view resource="add_whiteboard_rsc" y="0" x="0" />
-       
-       <labelTooltip labelid="1596" />
-    </view>
-    
-    <view width="${ parent.width }" height="1" y="41"
-         bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
-       <attribute name="whiteboardId" value="-1" type="number" />
-    </view>
+
+       <whiteboardBarMenu name="_bar" height="20" y="21">
+               <attribute name="whiteboardId" value="-1" type="number" />
+               
+               <handler name="onsubview" args="newSub">
+                       parent.addNewItemButton.updatePosition();
+               </handler>
+               <handler name="onwidth" args="newSub">
+                       parent.addNewItemButton.updatePosition();
+               </handler>
+       </whiteboardBarMenu>
+
+       <view name="addNewItemButton" y="24" 
+                       visible="${ ((canvas.ismoderator) ? true : 
((canvas.isAllowedToDraw) ? true : false )) }">
+               <attribute name="whiteboardId" value="-1" type="number" />
+               
+               <method name="updatePosition">
+                       if (parent._bar.subviews.length != 0) {
+                               var borderItem = 
parent._bar.subviews[parent._bar.subviews.length-1];
+                               this.setAttribute("x",borderItem.x + 
borderItem.width + 2);
+                       } else {
+                               this.setAttribute("x",2);
+                       }
+               </method>
+               
+               <handler name="onmouseover" args="refOb">
+                       this.bg.setAttribute("visibility","visible");
+               </handler>
+               
+               <handler name="onmouseout" args="refOb">
+                       this.bg.setAttribute("visibility","hidden");
+               </handler>
+               
+               <handler name="onclick" args="refOb">
+                       parent.addNewItem();
+               </handler>
+               
+               <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" width="18" 
height="18" visibility="hidden" />
+               
+               <view resource="add_whiteboard_rsc" y="0" x="0" />
+               
+               <labelTooltip labelid="1596" />
+       </view>
+
+       <view width="${ parent.width }" height="1" y="41"
+                 bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+               <attribute name="whiteboardId" value="-1" type="number" />
+       </view>
 </class>
 
 </library>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardBarMenu.lzx
 Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   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
@@ -21,85 +21,79 @@
 <library>
 
 <class name="whiteboardBarMenu" extends="view" width="${ parent.width }" x="0" 
y="21" 
-    height="20" layout="axis:x;spacing:1;inset:2" bgcolor="$once{ 
canvas.getThemeColor('baseMousecolorizer') }">
-    
-    <attribute name="staticwidth" type="number" value="120" />
-    <attribute name="currentBtn" value="null" />
-    
-    <method name="getCurrentSize">
-        <![CDATA[
-            if ( ((this.subviews.length+1)*(this.staticwidth+1)) <= 
this.width) {
-                return this.staticwidth;
-            } else {
-                var newwidth = 
Math.round((this.width-this.subviews.length)/(this.subviews.length+1));
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',newwidth);
-                }
-                return newwidth;
-            }   
-        ]]>
-    </method>
-    
-    <handler name="onwidth">
-        <![CDATA[
-            if ( ((this.subviews.length)*(this.staticwidth+1)) <= this.width) {
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',this.staticwidth);
-                }
-            } else {
-                var newwidth = 
Math.round((this.width-this.subviews.length)/(this.subviews.length));
-                for (var i=0;i<this.subviews.length;i++) {
-                    this.subviews[i].setAttribute('width',newwidth);
-                }
-            } 
-        ]]>
-    </handler>
-    
-    <method name="removeObject" args="btn">
-       var whiteboardId = btn.objRef.whiteboardId;
-       this.removeObjectSynced(btn);
-       parent.sendRemoveWindow(whiteboardId);
-    </method>
-    
-    <method name="removeObjectSynced" args="btn">
-    <![CDATA[
-       var removeCurrent = false;
-       if (this.currentBtn == btn){
-               removeCurrent = true;
-       }
-       btn.objRef.destroy();
-        btn.destroy();
-        if (this.subviews.length != 0 && removeCurrent) {
-               
this.sendActiveWindowSynced(this.subviews[this.subviews.length-1]);
-        }
-        parent.addNewItemButton.updatePosition();
-    ]]>
-    </method>
-
-    
-    <method name="sendActiveWindow" args="btn,win">
-        if ($debug) Debug.write("sendActiveWindow: ",btn,win);
-        this.sendActiveWindowSynced(btn);
-        this.currentBtn.objRef.sendActiveWindow();
-    </method>
-    
-    <method name="sendActiveWindowSynced" args="btn">
-       <![CDATA[
-            if (this.currentBtn != null){
-                this.currentBtn.isactive=false;
-                if (this.currentBtn._minimizebtn_mo != null) 
this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
-                if (this.currentBtn._minimizebtn_dn != null) 
this.currentBtn._minimizebtn_dn.setAttribute('visibility','hidden');
-            }
-            this.currentBtn = btn;
-            this.currentBtn.objRef.setAttribute("visibility","visible");
-               this.currentBtn.objRef.bringToFront();
-            //if ($debug) Debug.write("sendActiveWindow2: ",this.currentBtn);
-            
this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
-            
this.currentBtn._minimizebtn_dn.setAttribute('visibility','visible');
-            this.currentBtn.isactive=true;
-        ]]>
-    </method>
-    
+               height="20" layout="axis:x;spacing:1;inset:2" bgcolor="$once{ 
canvas.getThemeColor('baseMousecolorizer') }">
+       <attribute name="staticwidth" type="number" value="120" />
+       <attribute name="currentBtn" value="null" />
+
+       <method name="getCurrentSize">
+       <![CDATA[
+               if ( ((this.subviews.length+1)*(this.staticwidth+1)) <= 
this.width) {
+                       return this.staticwidth;
+               } else {
+                       var newwidth = 
Math.round((this.width-this.subviews.length)/(this.subviews.length+1));
+                       for (var i=0;i<this.subviews.length;i++) {
+                               this.subviews[i].setAttribute('width',newwidth);
+                       }
+                       return newwidth;
+               }
+       ]]>
+       </method>
+
+       <handler name="onwidth">
+       <![CDATA[
+               if ( ((this.subviews.length)*(this.staticwidth+1)) <= 
this.width) {
+                       for (var i=0;i<this.subviews.length;i++) {
+                               
this.subviews[i].setAttribute('width',this.staticwidth);
+                       }
+               } else {
+                       var newwidth = 
Math.round((this.width-this.subviews.length)/(this.subviews.length));
+                       for (var i=0;i<this.subviews.length;i++) {
+                               this.subviews[i].setAttribute('width',newwidth);
+                       }
+               } 
+       ]]>
+       </handler>
+
+       <method name="removeObject" args="btn">
+               var whiteboardId = btn.objRef.whiteboardId;
+               this.removeObjectSynced(btn);
+               parent.sendRemoveWindow(whiteboardId);
+       </method>
+
+       <method name="removeObjectSynced" args="btn">
+       <![CDATA[
+               var removeCurrent = this.currentBtn == btn;
+               btn.objRef.destroy();
+               btn.destroy();
+               if (this.subviews.length != 0 && removeCurrent) {
+                       
this.sendActiveWindowSynced(this.subviews[this.subviews.length-1]);
+               }
+               parent.addNewItemButton.updatePosition();
+       ]]>
+       </method>
+
+       <method name="sendActiveWindow" args="btn,win">
+               if ($debug) Debug.write("sendActiveWindow: ",btn,win);
+               this.sendActiveWindowSynced(btn);
+               this.currentBtn.objRef.sendActiveWindow();
+       </method>
+
+       <method name="sendActiveWindowSynced" args="btn">
+       <![CDATA[
+               if (this.currentBtn != null){
+                       this.currentBtn.isactive=false;
+                       if (this.currentBtn._minimizebtn_mo != null) 
this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+                       if (this.currentBtn._minimizebtn_dn != null) 
this.currentBtn._minimizebtn_dn.setAttribute('visibility','hidden');
+               }
+               this.currentBtn = btn;
+               this.currentBtn.objRef.setAttribute("visibility","visible");
+               this.currentBtn.objRef.bringToFront();
+               //if ($debug) Debug.write("sendActiveWindow2: 
",this.currentBtn);
+               
this.currentBtn._minimizebtn_mo.setAttribute('visibility','hidden');
+               
this.currentBtn._minimizebtn_dn.setAttribute('visibility','visible');
+               this.currentBtn.isactive=true;
+       ]]>
+       </method>
 </class>
 
 </library>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/whiteboardMiniButton.lzx
 Sun Nov 27 16:49:18 2016
@@ -60,17 +60,17 @@
 
        <method name="calcTextWidth">
        <![CDATA[
-                       if (this.isHidden) {
-                               return;
-                       }
-                       //if ($debug) Debug.write(this, this._text, 
this._text.getTextWidth());
-                       if (this._text.getTextWidth() > (this.width-24)) {
-                               this._long.setAttribute('visibility','visible');
-                               this._text.setAttribute('width',this.width-26);
-                       } else {
-                               this._long.setAttribute('visibility','hidden');
-                               this._text.setAttribute('width',this.width-18);
-                       }
+               if (this.isHidden) {
+                       return;
+               }
+               //if ($debug) Debug.write(this, this._text, 
this._text.getTextWidth());
+               if (this._text.getTextWidth() > (this.width-24)) {
+                       this._long.setAttribute('visibility','visible');
+                       this._text.setAttribute('width',this.width-26);
+               } else {
+                       this._long.setAttribute('visibility','hidden');
+                       this._text.setAttribute('width',this.width-18);
+               }
        ]]>
        </method>
 
@@ -79,37 +79,7 @@
                if (this.isHidden) {
                        return;
                }
-               if (this.isactive && canvas.ismoderator) {
-                       var tWidth = this._text.width;
-                       var _y = this._text.getAttributeRelative("y", canvas);
-                       var _x = this._text.getAttributeRelative("x", canvas);
-
-                       var t = new lz.dynamicFileName(canvas, {
-                                       text: this._text.text
-                                       , refObj: this
-                                       , width: tWidth + 10
-                                       , onBlurFunc: function () {
-                                               if ($debug) Debug.write("WB 
blur:: ", objRef);
-                                               canvas.thishib._nc.call(
-                                                               
"whiteboardservice.rename"
-                                                               , new Responder(
-                                                                               
function ():void {
-                                                                               
        if ($debug) Debug.write("WB blur:: complete");
-                                                                               
        t.destroy();
-                                                                               
}, function ():void {
-                                                                               
        if ($debug) Debug.write("WB blur:: error");
-                                                                               
        t.destroy()
-                                                                               
})
-                                                               , 
objRef.whiteboardId
-                                                               , t.text
-                                                       );
-                                       }
-                                       , x: _x
-                                       , y: _y
-                               });
-                       lz.Focus.setFocus(t, true);
-                       lz.ModeManager.makeModal(t);
-               }
+               rename();
                this._minimizebtn_mo.setAttribute('visibility','visible');
                this._minimizebtn_dn.setAttribute('visibility','hidden');
                if ($debug) Debug.write(" :: onclick :: ");
@@ -168,7 +138,47 @@
        <view name="_minimizebtn_dn" width="${ parent.width-2 }" height="16"
                        bgcolor="black" opacity="0.3" visibility="hidden" x="1" 
y="1" />
 
-       <text text="${ parent.btnName }" fgcolor="0xFFFFFF" resize="false" 
x="1" fontsize="10" name="_text" />
+       <text text="${ parent.btnName }" fgcolor="0xFFFFFF" resize="false" 
x="1" fontsize="10" name="_text">
+               <contextmenu>
+                       <contextmenuitem caption="$once{ 
canvas.getLabelName(711) }" onselect="this.parent.parent.parent.rename()" />
+               </contextmenu>
+       </text>
+
+       <method name="rename">
+       <![CDATA[
+               if (this.isactive && canvas.ismoderator) {
+                       var tWidth = this._text.width;
+                       var _y = this._text.getAttributeRelative("y", canvas);
+                       var _x = this._text.getAttributeRelative("x", canvas);
+
+                       var t = new lz.dynamicFileName(canvas, {
+                                       text: this._text.text
+                                       , refObj: this
+                                       , width: tWidth + 10
+                                       , onBlurFunc: function () {
+                                               if ($debug) Debug.write("WB 
blur:: ", objRef);
+                                               canvas.thishib._nc.call(
+                                                               
"whiteboardservice.rename"
+                                                               , new Responder(
+                                                                               
function ():void {
+                                                                               
        if ($debug) Debug.write("WB blur:: complete");
+                                                                               
        t.destroy();
+                                                                               
}, function ():void {
+                                                                               
        if ($debug) Debug.write("WB blur:: error");
+                                                                               
        t.destroy()
+                                                                               
})
+                                                               , 
objRef.whiteboardId
+                                                               , t.text
+                                                       );
+                                       }
+                                       , x: _x
+                                       , y: _y
+                               });
+                       lz.Focus.setFocus(t, true);
+                       lz.ModeManager.makeModal(t);
+               }
+       ]]>
+       </method>
 
        <view y="1" x="${ parent.width-18 }" name="_close"
                        resource="btn_presenter_close"
@@ -209,4 +219,3 @@
 </class>
 
 </library>
-

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/whiteboard/WhiteBoardObjectListManagerById.java
 Sun Nov 27 16:49:18 2016
@@ -33,15 +33,15 @@ import org.apache.openmeetings.db.dto.ro
  */
 public class WhiteBoardObjectListManagerById {
        private Map<Long, WhiteboardObjectList> whiteBoardObjectList = new 
ConcurrentHashMap<>();
-       
+
        private volatile AtomicLong whiteboardId = new AtomicLong(0);
-       
-       public long getNewWhiteboardId(Long roomId) throws Exception {
+
+       public long getNewWhiteboardId(Long roomId, String name) throws 
Exception {
                long wbId = whiteboardId.getAndIncrement();
-               setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(), wbId);
+               setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(name), wbId);
                return wbId;
        }
-       
+
        /*
         * Room items a Whiteboard
         */
@@ -54,7 +54,7 @@ public class WhiteBoardObjectListManager
                        return whiteboardObjectList;
                }
        }
-       
+
        public WhiteboardObject 
getWhiteBoardObjectListByRoomIdAndWhiteboard(Long roomId, Long whiteBoardId){
                WhiteboardObjectList whiteboardObjectList = 
getWhiteBoardObjectListByRoomId(roomId);
                WhiteboardObject whiteboardObjects = 
whiteboardObjectList.getWhiteboardObjects().get(whiteBoardId);
@@ -63,16 +63,15 @@ public class WhiteBoardObjectListManager
                }
                return whiteboardObjects;
        }
-       
+
        /*
         * Whiteboard Object List
         * 
         */
-       
        public void setWhiteBoardObjectListRoomObj(Long roomId, 
WhiteboardObjectList whiteboardObjectList){
                whiteBoardObjectList.put(roomId, whiteboardObjectList);
        }
-       
+
        public void setWhiteBoardObjectListRoomObjAndWhiteboardId(Long roomId, 
WhiteboardObject whiteboardObjects, long whiteBoardId) {
                WhiteboardObjectList whiteboardObjectList = 
getWhiteBoardObjectListByRoomId(roomId);
                whiteboardObjects.setWhiteBoardId(whiteBoardId);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 Sun Nov 27 16:49:18 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.Map;
 
@@ -33,6 +34,7 @@ import org.apache.commons.collections4.C
 import 
org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectListManagerById;
 import 
org.apache.openmeetings.core.data.whiteboard.WhiteBoardObjectSyncManager;
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
@@ -63,7 +65,7 @@ public class WhiteBoardService implement
        @Autowired
        private UserDao userDao;
        @Autowired
-       private ScopeApplicationAdapter scopeApplicationAdapter;
+       private ScopeApplicationAdapter scopeAdapter;
        @Autowired
        private ISessionManager sessionManager;
        @Autowired
@@ -72,21 +74,23 @@ public class WhiteBoardService implement
        private WhiteBoardObjectListManagerById wbListManagerById;
        @Autowired
        private SessiondataDao sessionDao;
+       @Autowired
+       private LabelDao labelDao;
 
-       public Long getNewWhiteboardId() {
+       public boolean getNewWhiteboardId(String name) {
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
                        Long roomId = currentClient.getRoomId();
 
-                       Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId);
-
-                       return whiteBoardId;
-               } catch (Exception err) {
-                       log.error("[deleteWhiteboard]", err);
+                       Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId, name);
+                       
scopeAdapter.sendMessageAll(Arrays.asList("newWhiteboard", whiteBoardId, name));
+               } catch (Exception e) {
+                       log.error("[getNewWhiteboardId]", e);
+                       return false;
                }
-               return null;
+               return true;
        }
 
        public boolean deleteWhiteboard(Long whiteBoardId) {
@@ -112,7 +116,8 @@ public class WhiteBoardService implement
                return false;
        }
 
-       public WhiteboardObjectList getRoomItemsBy() {
+       public Map<Long, WhiteboardObject> getRoomItemsBy() {
+               Map<Long, WhiteboardObject> result = new LinkedHashMap<>();
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
@@ -123,23 +128,37 @@ public class WhiteBoardService implement
                        WhiteboardObjectList whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
 
                        if (whiteboardObjectList.getWhiteboardObjects().size() 
== 0) {
-                               Long whiteBoardId = 
wbListManagerById.getNewWhiteboardId(roomId);
-
-                               
wbListManagerById.setWhiteBoardObjectListRoomObjAndWhiteboardId(roomId, new 
WhiteboardObject(), whiteBoardId);
-
+                               wbListManagerById.getNewWhiteboardId(roomId, 
labelDao.getString("615", 
userDao.get(currentClient.getUserId()).getLanguageId()));
                                log.debug("Init New Room List");
-
                                whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
                        }
-                       return whiteboardObjectList;
+                       
whiteboardObjectList.getWhiteboardObjects().entrySet().stream()
+                                       .sorted(Map.Entry.<Long, 
WhiteboardObject>comparingByKey().reversed())
+                                       .forEachOrdered(x -> 
result.put(x.getKey(), x.getValue()));
                } catch (Exception err) {
                        log.error("[getRoomItemsBy]", err);
                }
-               return null;
+               return result;
        }
 
-       public void rename(Long wbId, String name) {
-               //
+       public boolean rename(Long wbId, String name) {
+               try {
+                       IConnection current = Red5.getConnectionLocal();
+                       String streamid = current.getClient().getId();
+                       Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
+                       Long roomId = currentClient.getRoomId();
+
+                       WhiteboardObjectList whiteboardObjectList = 
wbListManagerById.getWhiteBoardObjectListByRoomId(roomId);
+                       WhiteboardObject wb = 
whiteboardObjectList.getWhiteboardObjects().get(wbId);
+                       wb.setName(name);
+
+                       log.debug(" :: rename whiteBoard :: id = {}, name = 
{}", wbId, name);
+                       
scopeAdapter.sendMessageAll(Arrays.asList("renameWhiteboard", wbId, name));
+               } catch (Exception err) {
+                       log.error("[rename]", err);
+                       return false;
+               }
+               return true;
        }
 
        /**
@@ -170,7 +189,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -199,7 +218,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -228,7 +247,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateDrawStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -258,7 +277,7 @@ public class WhiteBoardService implement
                                                HashMap<Integer, Object> 
newMessage = new HashMap<Integer, Object>();
                                                newMessage.put(0, 
"updateGiveAudioStatus");
                                                newMessage.put(1, rcl);
-                                               
scopeApplicationAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
+                                               
scopeAdapter.sendMessageWithClientWithSyncObject(newMessage, true);
                                                return true;
                                        }
                                }
@@ -290,7 +309,7 @@ public class WhiteBoardService implement
                        wbListManager.setWhiteBoardSyncListByRoomid(roomId, 
syncListRoom);
                        
                        //Sync to clients
-                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncFlag", 
wSyncLockObject, true);
+                       scopeAdapter.sendMessageToCurrentScope("sendSyncFlag", 
wSyncLockObject, true);
 
                        return wSyncLockObject;
                } catch (Exception err) {
@@ -324,7 +343,7 @@ public class WhiteBoardService implement
                                int numberOfInitial = 
getNumberOfInitialLoaders(syncListRoom);
 
                                if (numberOfInitial == 0) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", 
wSyncLockObject, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, 
true);
                                } else {
                                        return;
                                }
@@ -370,7 +389,7 @@ public class WhiteBoardService implement
                        // Do only send the Token to show the Loading Splash 
for the
                        // initial-Request that starts the loading
                        if (isStarting) {
-                               
scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", 
wSyncLockObject, true);
+                               
scopeAdapter.sendMessageToCurrentScope("sendObjectSyncFlag", wSyncLockObject, 
true);
                        }
                } catch (Exception err) {
                        log.error("[startNewObjectSyncProcess]", err);
@@ -407,7 +426,7 @@ public class WhiteBoardService implement
                                log.debug("sendCompletedImagesSyncEvent 
numberOfInitial: " + numberOfInitial);
 
                                if (numberOfInitial == 0) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", 
wSyncLockObject, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendObjectSyncCompleteFlag", 
wSyncLockObject, true);
                                        return 1;
                                } else {
                                        return -4;
@@ -444,7 +463,7 @@ public class WhiteBoardService implement
                                log.debug("scope " + scope);
 
                                if (numberOfInitial == 0 && scope != null) {
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", 
wSyncLockObject, false);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendSyncCompleteFlag", wSyncLockObject, 
false);
                                }
 
                                // Check Image Loaders
@@ -460,7 +479,7 @@ public class WhiteBoardService implement
                                int numberOfImageLoaders = 
wbListManager.getWhiteBoardObjectSyncListByRoomid(roomId).size();
 
                                if (numberOfImageLoaders == 0 && scope != null) 
{
-                                       
scopeApplicationAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", 
new Object[] { "remove" }, true);
+                                       
scopeAdapter.sendMessageToCurrentScope("sendImagesSyncCompleteFlag", new 
Object[] { "remove" }, true);
                                }
                        }
                } catch (Exception err) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/WhiteboardObject.java
 Sun Nov 27 16:49:18 2016
@@ -44,6 +44,10 @@ public class WhiteboardObject {
 
        public WhiteboardObject() {}
 
+       public WhiteboardObject(String name) {
+               this.name = name;
+       }
+
        public long getWhiteBoardId() {
                return whiteBoardId;
        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 Sun Nov 27 16:49:18 2016
@@ -884,6 +884,10 @@
                                // Not Used
                                //Debug.warn("Not Used");
                                
canvas._drawarea.parent.parent.parent.newWhiteboard(value);
+                       } else if (value[0] == 'renameWhiteboard'){
+                               // Not Used
+                               //Debug.warn("Not Used");
+                               
canvas._drawarea.parent.parent.parent.renameWhiteboard(value);
                        } else if (value[0]=='removeWindow'){
                                // Not Used
                                //Debug.warn("Not Used");
@@ -963,11 +967,6 @@
                        } else if (value.message[0]=='avsettings'){
                                
canvas.commonVideoViewContent.setAVSettingsToClient(value.client);
                        } else if (value.message[0]=='whiteboard'){
-                               //if (value.message[1]=='wmlloadcomplete'){
-                               //      
canvas._drawarea.sendCompleteWmlLoadedRClient(value.client);
-                               //} else if 
(value.message[1]=='wmlsynccomplete'){
-                               //      
canvas._drawarea.sendCompleteWmlSync(value.client);
-                               //} else
                                if (value.message[1]=='imageloadcomplete'){
                                        
canvas._drawarea.sendCompleteImageLoadedRClient(value.client);
                                } else if 
(value.message[1]=='imagesynccomplete'){

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx?rev=1771605&r1=1771604&r2=1771605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/fixedFileExplorerWhiteboardPanel.lzx
 Sun Nov 27 16:49:18 2016
@@ -9,7 +9,7 @@
   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
@@ -33,25 +33,25 @@
                        this.sendVarsByWhiteboardId.doCall();
                }
        </handler>
-    
-    <netRemoteCallHib name="sendVarsByWhiteboardId" 
funcname="sendVarsByWhiteboardId" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objWhiteboard;</method></netparam>
-        <netparam><method name="getValue">return 
parent.parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-               //if ($debug) Debug.write("sendVarsByWhiteboardId : ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <handler name="onvisible" args="v">
-       <![CDATA[
-               if ($debug) Debug.write("onvisible :: ",v);
-       ]]>
-    </handler>
-    
+       
+       <netRemoteCallHib name="sendVarsByWhiteboardId" 
funcname="sendVarsByWhiteboardId" 
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objWhiteboard;</method></netparam>
+               <netparam><method name="getValue">return 
parent.parent.whiteboardId;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                               //The onResult-Handler will be called be the 
rtmpconnection
+                               //if ($debug) 
Debug.write("sendVarsByWhiteboardId : ",value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib>
+       
+       <handler name="onvisible" args="v">
+       <![CDATA[
+               if ($debug) Debug.write("onvisible :: ",v);
+       ]]>
+       </handler>
+
        <method name="sendActiveWindow">
                if ($debug) Debug.warn("sendActiveWindow :: ");
                if (canvas.ismoderator || canvas.isAllowedToDraw) {
@@ -63,280 +63,255 @@
                        this.sendMessageToMembers.doCall();
                }
        </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib> 
-    
+       
+       <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers"
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                               if ($debug) Debug.write("sendMessageToMembers 
:: ",value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib> 
 </class>
-    
+
 <class name="fixedFileExplorerWhiteboardPanel" 
extends="basePropertyPanelWhiteboard" allowToggle="false"
-          labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard }">
-       <attribute name="whiteboardCount" value="0" type="number" />
-       <!--
-       
-        -->
+               labelid="615" visible="${ !canvas.currentRoomObj.hideWhiteboard 
}">
+
        <handler name="oninit">
                canvas._drawarea = this;
        </handler>
-       
+
        <handler name="onopenWhiteBoard" >
-        if ($debug) Debug.write(".. onopenWhiteBoard ..");
-        this.loadInitObject();
-    </handler>
-            
-    <!--
-       ##########################################
-       Add, remove and change Focus of Whiteboard
-       ##########################################
-     -->
-     
-    <method name="addNewItem">
-       this.getNewWhiteboardId.doCall();
-    </method>
-    
-    <!--
-    public Long getNewWhiteboardId() {
-     -->
-    <netRemoteCallHib name="getNewWhiteboardId" 
funcname="whiteboardservice.getNewWhiteboardId"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## getNewWhiteboardId : 
",value);
-                parent.addNewItemSynced(value);
-                parent.sendNewWindow(value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="addNewItemSynced" args="whiteboardId">
-       for (var eg in this._bar.subviews) {
-               this._bar.subviews[eg].isactive = false;
-               this._bar.subviews[eg].onmouseout.sendEvent(null);
-               
this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
-       }
-       
-       var whiteboard = new lz.multiWhiteboardPanel(this,{
-                                                                               
whiteboardId:whiteboardId
-                                                                       });
-       var tempWidth = this._bar.getCurrentSize();
-       
-       var whiteboardName = canvas.getLabelName(615) + (whiteboardCount > 0 ? 
" " + whiteboardCount : "");
-       whiteboardCount++;
-       var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
-                                  objRef:whiteboard,
-                                  width:tempWidth,
-                                  isactive:true,
-                                  btnName: whiteboardName
-                               });
-        
-        this._bar.currentBtn = tWhiteboardBtn;
-                               
-       tWhiteboardBtn.onmouseout.sendEvent(null);
-        this.addNewItemButton.updatePosition();
-        canvas.whiteboardCount++;
-        this._bar.setWhiteboardId(whiteboardId);
-        return whiteboard;
-    </method>
-    
-    <method name="sendNewWindow" args="whiteboardId">
-       if ($debug) Debug.warn("sendNewWindow :: ");
-       if (canvas.ismoderator || canvas.isAllowedToDraw) {
-               if ($debug) Debug.warn("DO sendActiveWindow :: ");
-               this.objMessage = new Array();
-               this.objMessage[0] = "newWhiteboard";
-               this.objMessage[1] = whiteboardId;
-               this.sendMessageToMembers.doCall();
-       }
-    </method>
-    
-    <method name="newWhiteboard" args="obj">
-       if ($debug) Debug.write("newWhiteboard :: ",obj);
-       this.addNewItemSynced(obj[1]);
-    </method>
-    
-    
-    <!--
-        ##########################################
-        Removal of Whiteboards
-        ##########################################
-     -->
-    <method name="sendRemoveWindow" args="whiteboardId">
-       if ($debug) Debug.warn("sendRemoveWindow :: ");
-       if (canvas.ismoderator || canvas.isAllowedToDraw) {
-               this.deleteWhiteboard.whiteboardId = whiteboardId;
-               this.deleteWhiteboard.doCall();
-               if ($debug) Debug.warn("DO sendRemoveWindow :: ");
-               this.objMessage = new Array();
-               this.objMessage[0] = "removeWindow";
-               this.objMessage[1] = whiteboardId;
-               this.sendMessageToMembers.doCall();
-               canvas.whiteboardCount--;
-       }
-    </method>
-    
-    <!--
-    public Boolean deleteWhiteboard(Long whiteBoardId)
-     -->
-    <netRemoteCallHib name="deleteWhiteboard" 
funcname="whiteboardservice.deleteWhiteboard"
-        remotecontext="$once{ canvas.thishib }" >
-       <attribute name="whiteboardId" value="0" type="number" />
-        <netparam><method name="getValue">return 
parent.whiteboardId;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-                //The onResult-Handler will be called be the rtmpconnection
-                if ($debug) Debug.write("############## deleteWhiteboard : ", 
value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>       
-    
-    <method name="removeWindow" args="obj">
-       if ($debug) Debug.write("removeWindow :: ",obj);
-       for (var eg in this._bar.subviews) {
-               if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-                       this._bar.removeObjectSynced(this._bar.subviews[eg]);
-                       return;
-               }
-       }
-    </method>
-    
-    <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
-                                       showLoading="false" 
remotecontext="$once{ canvas.thishib }" >
-        <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
-        <handler name="ondata" args="value">
-            <![CDATA[
-            //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("sendMessageToMembers :: ",value);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>     
-    
-    <method name="sendWatchObjectByWhiteboard" args="obj">
-       if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
-       for (var eg in this.subviews) {
-               if (obj.id == this.subviews[eg].whiteboardId) {
-                       
this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
-                       return;
-               }
-       }
-    </method>
-    
-    <method name="loadWmlToWhiteboardById" args="obj">
-        if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
-        for (var eg in this.subviews) {
-            if (obj.id == this.subviews[eg].whiteboardId) {
-                
this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
-                return;
-            }
-        }
-    </method>
-    
-    <method name="activateWhiteboard" args="obj">
-       if ($debug) Debug.write("activateWhiteboard :: ",obj);
-       for (var eg in this._bar.subviews) {
-               if (this._bar.subviews[eg].objRef.whiteboardId == obj[1]) {
-                       this._bar.subviews[eg].activateSynced();
-                       return;
-               }
-       }
-    </method>
-    
-    <!--
-       ##########################################
-       StarUp Loading Of Objects
-       ##########################################
-     -->
-    
-    <method name="loadInitObject">
-       this.getRoomItemsBy.doCall();
-    </method>
-    
+               if ($debug) Debug.write(".. onopenWhiteBoard ..");
+               this.loadInitObject();
+       </handler>
+
+       <!--
+               ##########################################
+               Add, remove and change Focus of Whiteboard
+               ##########################################
+        -->
+       <method name="addNewItem">
+       <![CDATA[
+               if (canvas.ismoderator || canvas.isAllowedToDraw) {
+                       this.getNewWhiteboardId.wbName = 
canvas.getLabelName(615) + (canvas.whiteboardCount > 0 ? " " + 
canvas.whiteboardCount : "");
+                       this.getNewWhiteboardId.doCall();
+               }
+       ]]>
+       </method>
+
+       <netRemoteCallHib name="getNewWhiteboardId" 
funcname="whiteboardservice.getNewWhiteboardId" remotecontext="$once{ 
canvas.thishib }" >
+               <attribute name="wbName" type="string"/>
+               <netparam><method name="getValue">return 
parent.wbName;</method></netparam>
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("############## 
getNewWhiteboardId : ",value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="addNewItemSynced" args="whiteboardId, wbName">
+               for (var eg in this._bar.subviews) {
+                       this._bar.subviews[eg].isactive = false;
+                       this._bar.subviews[eg].onmouseout.sendEvent(null);
+                       
this._bar.subviews[eg].objRef.setAttribute("visibility","hidden");
+               }
+               var whiteboard = new lz.multiWhiteboardPanel(this,{
+                                                       
whiteboardId:whiteboardId
+                                               });
+               var tempWidth = this._bar.getCurrentSize();
+               var tWhiteboardBtn = new lz.whiteboardMiniButton(this._bar,{
+                                                                       
objRef:whiteboard,
+                                                                       
width:tempWidth,
+                                                                       
isactive:true,
+                                                                       
btnName: wbName
+                                                               });
+               this._bar.currentBtn = tWhiteboardBtn;
+               tWhiteboardBtn.onmouseout.sendEvent(null);
+               this.addNewItemButton.updatePosition();
+               canvas.whiteboardCount++;
+               return whiteboard;
+       </method>
+
+       <method name="newWhiteboard" args="obj">
+               if ($debug) Debug.write("newWhiteboard :: ",obj);
+               this.addNewItemSynced(obj[1], obj[2]);
+       </method>
+
+       <!--
+               ##########################################
+               Removal of Whiteboards
+               ##########################################
+        -->
+       <method name="sendRemoveWindow" args="whiteboardId">
+               if ($debug) Debug.warn("sendRemoveWindow :: ");
+               if (canvas.ismoderator || canvas.isAllowedToDraw) {
+                       this.deleteWhiteboard.whiteboardId = whiteboardId;
+                       this.deleteWhiteboard.doCall();
+                       if ($debug) Debug.warn("DO sendRemoveWindow :: ");
+                       this.objMessage = new Array();
+                       this.objMessage[0] = "removeWindow";
+                       this.objMessage[1] = whiteboardId;
+                       this.sendMessageToMembers.doCall();
+               }
+       </method>
+
+       <netRemoteCallHib name="deleteWhiteboard" 
funcname="whiteboardservice.deleteWhiteboard"
+                       remotecontext="$once{ canvas.thishib }" >
+               <attribute name="whiteboardId" value="0" type="number" />
+               <netparam><method name="getValue">return 
parent.whiteboardId;</method></netparam>
+               <handler name="ondata" args="value">
+                       <![CDATA[
+                               //The onResult-Handler will be called be the 
rtmpconnection
+                               if ($debug) Debug.write("############## 
deleteWhiteboard : ", value);
+                       ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="removeWindow" args="obj">
+               if ($debug) Debug.write("removeWindow :: ",obj);
+               for (var eg in this._bar.subviews) {
+                       if (this._bar.subviews[eg].objRef.whiteboardId == 
obj[1]) {
+                               
this._bar.removeObjectSynced(this._bar.subviews[eg]);
+                               canvas.whiteboardCount--;
+                               return;
+                       }
+               }
+       </method>
+
+       <method name="renameWhiteboard" args="obj">
+               if ($debug) Debug.write("renameWhiteboard :: ", obj);
+               for (var eg in this._bar.subviews) {
+                       var btn = this._bar.subviews[eg];
+                       if (btn.objRef.whiteboardId == obj[1]) {
+                               btn.setAttribute('btnName', obj[2]);
+                               return;
+                       }
+               }
+       </method>
+
+       <netRemoteCallHib name="sendMessageToMembers" 
funcname="sendMessageToMembers" 
+                       showLoading="false" remotecontext="$once{ 
canvas.thishib }" >
+               <netparam><method name="getValue">return 
parent.parent.objMessage;</method></netparam>
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("sendMessageToMembers :: 
",value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
+       <method name="sendWatchObjectByWhiteboard" args="obj">
+               if ($debug) Debug.write("sendWatchObjectByWhiteboard :: ",obj);
+               for (var eg in this.subviews) {
+                       if (obj.id == this.subviews[eg].whiteboardId) {
+                               
this.subviews[eg]._drawareaMask._drawarea.sendWatchObject(obj.param[2],obj.param[3],false);
+                               return;
+                       }
+               }
+       </method>
+
+       <method name="loadWmlToWhiteboardById" args="obj">
+               if ($debug) Debug.write("loadWmlToWhiteboardById :: ",obj);
+               for (var eg in this.subviews) {
+                       if (obj.id == this.subviews[eg].whiteboardId) {
+                               
this.subviews[eg]._drawareaMask._drawarea.loadWmlToWhiteboardById(obj.roomitems);
+                               return;
+                       }
+               }
+       </method>
+       
+       <method name="activateWhiteboard" args="obj">
+               if ($debug) Debug.write("activateWhiteboard :: ",obj);
+               for (var eg in this._bar.subviews) {
+                       if (this._bar.subviews[eg].objRef.whiteboardId == 
obj[1]) {
+                               this._bar.subviews[eg].activateSynced();
+                               return;
+                       }
+               }
+       </method>
+       
+       <!--
+               ##########################################
+               StarUp Loading Of Objects
+               ##########################################
+        -->
+       <method name="loadInitObject">
+               this.getRoomItemsBy.doCall();
+       </method>
+
        <netRemoteCallHib name="getRoomItemsBy" 
funcname="whiteboardservice.getRoomItemsBy"
-        remotecontext="$once{ canvas.thishib }" >
-        <handler name="ondata" args="value">
-            <![CDATA[
-               //The onResult-Handler will be called be the rtmpconnection
-               if ($debug) Debug.write("############## getRoomItemsBy : 
",value);
-               parent.loadWhiteboards(value.whiteboardObjects);
-            ]]>
-        </handler>   
-    </netRemoteCallHib>   
-    
+                       remotecontext="$once{ canvas.thishib }" >
+               <handler name="ondata" args="value">
+               <![CDATA[
+                       //The onResult-Handler will be called be the 
rtmpconnection
+                       if ($debug) Debug.write("############## getRoomItemsBy 
: ",value);
+                       parent.loadWhiteboards(value);
+               ]]>
+               </handler>
+       </netRemoteCallHib>
+
        <method name="loadWhiteboards" args="whiteboardObjects">
        <![CDATA[
-               if ($debug) Debug.write("whiteboardObjects :: ", 
whiteboardObjects.length);
-               var mainArray = new Array();
+               //if ($debug) Debug.write("!!!!!!!!!!! whiteboardObjects :: ", 
whiteboardObjects);
                for (var eg in whiteboardObjects) {
-                       mainArray.push(whiteboardObjects[eg]);
-               }
-               mainArray.reverse();
-               
-               for (var eg = 0; eg < mainArray.length; ++eg) {
-                       var whiteBoard = 
this.addNewItemSynced(mainArray[eg].whiteBoardId);
-                       
whiteBoard._drawareaMask._drawarea.loadObjectList(mainArray[eg]);
+                       var wb = whiteboardObjects[eg];
+                       var whiteBoard = addNewItemSynced(wb.whiteBoardId, 
wb.name);
+                       whiteBoard._drawareaMask._drawarea.loadObjectList(wb);
                }
        ]]>
        </method>
-      
-    
-    <whiteboardBarMenu name="_bar" height="20" y="21">
-       <attribute name="whiteboardId" value="-1" type="number" />
-       
-       <handler name="onsubview" args="newSub">
-               parent.addNewItemButton.updatePosition();
-       </handler>
-       <handler name="onwidth" args="newSub">
-            parent.addNewItemButton.updatePosition();
-        </handler>
-    </whiteboardBarMenu>
-    
-    <view name="addNewItemButton" y="24" 
-         visible="${ ((canvas.ismoderator) ? true : ((canvas.isAllowedToDraw) 
? true : false )) }"
-         >
-       
-       <attribute name="whiteboardId" value="-1" type="number" />
-       
-       <method name="updatePosition">
-               if (parent._bar.subviews.length != 0) {
-                       var borderItem = 
parent._bar.subviews[parent._bar.subviews.length-1];
-                       this.setAttribute("x",borderItem.x + borderItem.width + 
2);
-               } else {
-                       this.setAttribute("x",2);
-               }
-       </method>
-       
-       <handler name="onmouseover" args="refOb">
-               this.bg.setAttribute("visibility","visible");
-       </handler>
-       
-       <handler name="onmouseout" args="refOb">
-            this.bg.setAttribute("visibility","hidden");
-        </handler>
-        
-        <handler name="onclick" args="refOb">
-            parent.addNewItem();
-        </handler>
-        
-        <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" 
-                 width="18" height="18" visibility="hidden" />
-       
-       <view resource="add_whiteboard_rsc" y="0" x="0" />
-       
-       <labelTooltip labelid="1596" />
-    </view>
-    
-    <view width="${ parent.width }" height="1" y="41"
-         bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
-       <attribute name="whiteboardId" value="-1" type="number" />
-    </view>
+
+       <whiteboardBarMenu name="_bar" height="20" y="21">
+               <attribute name="whiteboardId" value="-1" type="number" />
+               
+               <handler name="onsubview" args="newSub">
+                       parent.addNewItemButton.updatePosition();
+               </handler>
+               <handler name="onwidth" args="newSub">
+                       parent.addNewItemButton.updatePosition();
+               </handler>
+       </whiteboardBarMenu>
+
+       <view name="addNewItemButton" y="24" 
+                       visible="${ ((canvas.ismoderator) ? true : 
((canvas.isAllowedToDraw) ? true : false )) }">
+               <attribute name="whiteboardId" value="-1" type="number" />
+               
+               <method name="updatePosition">
+                       if (parent._bar.subviews.length != 0) {
+                               var borderItem = 
parent._bar.subviews[parent._bar.subviews.length-1];
+                               this.setAttribute("x",borderItem.x + 
borderItem.width + 2);
+                       } else {
+                               this.setAttribute("x",2);
+                       }
+               </method>
+               
+               <handler name="onmouseover" args="refOb">
+                       this.bg.setAttribute("visibility","visible");
+               </handler>
+               
+               <handler name="onmouseout" args="refOb">
+                       this.bg.setAttribute("visibility","hidden");
+               </handler>
+               
+               <handler name="onclick" args="refOb">
+                       parent.addNewItem();
+               </handler>
+               
+               <view name="bg" bgcolor="0xEEEEEE" opacity="0.5" width="18" 
height="18" visibility="hidden" />
+               
+               <view resource="add_whiteboard_rsc" y="0" x="0" />
+               
+               <labelTooltip labelid="1596" />
+       </view>
+
+       <view width="${ parent.width }" height="1" y="41"
+                 bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }">
+               <attribute name="whiteboardId" value="-1" type="number" />
+       </view>
 </class>
 
 </library>


Reply via email to