in openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java [247:312]
private void doActionPresenter(Client c, WbAction a, JSONObject obj, boolean redo) {
switch (a) {
case CREATE_WB:
{
Whiteboard wb = wbm.add(roomId, c.getUser().getLanguageId());
sendWbAll(WbAction.CREATE_WB, wb.getAddJson());
}
break;
case REMOVE_WB:
{
long id = obj.optLong("wbId", -1);
if (id > -1) {
long prevId = obj.optLong("prevWbId", -1);
wbm.remove(roomId, id, prevId);
sendWbAll(WbAction.REMOVE_WB, obj);
}
}
break;
case ACTIVATE_WB:
{
long wbId = obj.optLong("wbId", -1);
if (wbId > -1) {
wbm.activate(roomId, wbId);
sendWbAll(WbAction.ACTIVATE_WB, obj);
}
}
break;
case RENAME_WB:
{
Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1));
if (wb != null) {
wbm.update(roomId, wb.setName(obj.getString("name")));
sendWbAll(WbAction.RENAME_WB, obj);
}
}
break;
case SET_SLIDE:
{
Whiteboard wb = wbm.get(roomId).get(obj.optLong("wbId", -1));
if (wb != null) {
wb.setSlide(obj.optInt(ATTR_SLIDE, 0));
wbm.update(roomId, wb);
sendWbOthers(WbAction.SET_SLIDE, obj);
}
}
break;
case CLEAR_ALL:
{
wbm.clearAll(roomId, obj.getLong("wbId"), redo, addUndo);
}
break;
case SET_SIZE:
{
Whiteboard wb = wbm.get(roomId).get(obj.getLong("wbId"));
wb.setWidth(obj.getInt(ATTR_WIDTH));
wb.setHeight(obj.getInt(ATTR_HEIGHT));
wb.setZoom(obj.getDouble(ATTR_ZOOM));
wb.setZoomMode(ZoomMode.valueOf(obj.getString("zoomMode")));
wbm.update(roomId, wb);
sendWbOthers(WbAction.SET_SIZE, wb.getAddJson());
}
break;
default:
break;
}
}