/** * OLAT - Online Learning and Training<br> * http://www.olat.org * <p> * Licensed under the Apache License, Version 2.0 (the "License"); <br> * you may not use this file except in compliance with the License.<br> * You may obtain a copy of the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing,<br> * software distributed under the License is distributed on an "AS IS" BASIS, <br> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> * See the License for the specific language governing permissions and <br> * limitations under the License. * <p> * Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> * University of Zurich, Switzerland. * <hr> * <a href="http://www.openolat.org"> * OpenOLAT - Online Learning and Training</a><br> * This file has been modified by the OpenOLAT community. Changes are licensed * under the Apache 2.0 license as the original file. */ package org.olat.group.ui.edit; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.elements.SelectionElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.group.BusinessGroup; /** * Description:<BR> * Form having a save button which applies to two checkboxes asking for * showing/hiding the owners, partipiciants respectively, to the partipiciants. * <P> * Initial Date: Sep 22, 2004 * * @author patrick */ public class DisplayMemberSwitchForm extends FormBasicController { private SelectionElement showOwners, showPartips, showWaitingList; private SelectionElement openOwners, openPartips, openWaitingList; private SelectionElement downloadList; private boolean hasOwners, hasPartips, hasWaitingList; /** * @param name * @param transl * @param hasPartips * @param hasOwners */ public DisplayMemberSwitchForm(UserRequest ureq, WindowControl wControl, boolean hasOwners, boolean hasPartips, boolean hasWaitingList) { super(ureq, wControl, LAYOUT_DEFAULT_6_6); this.hasOwners = hasOwners; this.hasPartips = hasPartips; this.hasWaitingList = hasWaitingList; initForm(ureq); } public boolean isDisplayOwnersIntern() { return showOwners.isSelected(0); } public boolean isDisplayParticipantsIntern() { return showPartips.isSelected(0); } public boolean isDisplayWaitingListIntern() { return showWaitingList.isVisible() && showWaitingList.isEnabled() && showWaitingList.isSelected(0); } public boolean isDisplayOwnersPublic() { return openOwners.isSelected(0); } public boolean isDisplayParticipantsPublic() { return openPartips.isSelected(0); } public boolean isDisplayWaitingListPublic() { return openWaitingList.isVisible() && openWaitingList.isEnabled() && openWaitingList.isSelected(0); } public boolean isDownloadList() { return downloadList.isSelected(0); } public void setDisplayMembers(BusinessGroup group) { showOwners.select("show_owners", group.isOwnersVisibleIntern()); showOwners.setElementCssClass("o_sel_group_show_owners"); showPartips.select("show_participants", group.isParticipantsVisibleIntern()); showPartips.setElementCssClass("o_sel_group_show_participants"); showWaitingList.select("show_waiting_list", group.isWaitingListVisibleIntern()); showWaitingList.setElementCssClass("o_sel_group_show_waiting_list"); openOwners.select("open_owners", group.isOwnersVisiblePublic()); openPartips.select("open_participants", group.isParticipantsVisiblePublic()); openWaitingList.select("open_waiting_list", group.isWaitingListVisiblePublic()); downloadList.select("download_list", group.isDownloadMembersLists()); } public void setWaitingListReadOnly(boolean b) { showWaitingList.setEnabled(b); openWaitingList.setEnabled(b); } public void setWaitingListVisible(boolean b) { showWaitingList.setVisible(b); openWaitingList.setVisible(b); } public void setEnabled(boolean enabled) { showOwners.setEnabled(enabled); showPartips.setEnabled(enabled); showWaitingList.setEnabled(enabled); openOwners.setEnabled(enabled); openPartips.setEnabled(enabled); openWaitingList.setEnabled(enabled); downloadList.setEnabled(enabled); } @Override protected void formOK(UserRequest ureq) { // } @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(source == openOwners && openOwners.isSelected(0)){ showOwners.select("show_owners", true); } if(source == openPartips && openPartips.isSelected(0)){ showPartips.select("show_participants", true); } if(source == openWaitingList && openWaitingList.isSelected(0)){ showWaitingList.select("show_waiting_list", true); } fireEvent (ureq, Event.CHANGED_EVENT); } @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { showOwners = uifactory.addCheckboxesHorizontal("ShowOwners", "chkBox.show.owners", formLayout, new String[]{"show_owners"}, new String[]{""}); showOwners.setVisible(hasOwners); showPartips = uifactory.addCheckboxesHorizontal("ShowPartips", "chkBox.show.partips", formLayout, new String[]{"show_participants"}, new String[]{""}); showPartips.setVisible(hasPartips); showWaitingList = uifactory.addCheckboxesHorizontal("ShowWaitingList", "chkBox.show.waitingList", formLayout, new String[]{"show_waiting_list"}, new String[]{""}); showWaitingList.setVisible(hasWaitingList); openOwners = uifactory.addCheckboxesHorizontal("OpenOwners", "chkBox.open.owners", formLayout, new String[]{"open_owners"}, new String[]{""}); openOwners.setVisible(hasOwners); openOwners.setHelpText(translate("chkBox.open.owners.help")); openPartips = uifactory.addCheckboxesHorizontal("OpenPartips", "chkBox.open.partips", formLayout, new String[]{"open_participants"}, new String[]{""}); openPartips.setVisible(hasPartips); openPartips.setHelpText(translate("chkBox.open.partips.help")); openWaitingList = uifactory.addCheckboxesHorizontal("OpenWaitingList", "chkBox.open.waitingList", formLayout, new String[]{"open_waiting_list"}, new String[]{""}); openWaitingList.setVisible(hasWaitingList); openWaitingList.setHelpText(translate("chkBox.open.waitingList.help")); downloadList = uifactory.addCheckboxesHorizontal("DownloadList", "chkBox.open.downloadList", formLayout, new String[]{"download_list"}, new String[]{""}); showOwners.addActionListener(FormEvent.ONCLICK); showPartips.addActionListener(FormEvent.ONCLICK); showWaitingList.addActionListener(FormEvent.ONCLICK); openOwners.addActionListener(FormEvent.ONCLICK); openPartips.addActionListener(FormEvent.ONCLICK); openWaitingList.addActionListener(FormEvent.ONCLICK); downloadList.addActionListener(FormEvent.ONCLICK); } @Override protected void doDispose() { // } }