/******************************************************************************* * Copyright (c) 2012-2013 RelationWare, Benno Luthiger * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * RelationWare, Benno Luthiger ******************************************************************************/ package org.ripla.web.demo.config.views; import org.ripla.interfaces.IMessages; import org.ripla.web.demo.config.Activator; import org.ripla.web.demo.config.controller.LoginConfigController; import org.ripla.web.util.RiplaViewHelper; import com.vaadin.event.ShortcutAction.KeyCode; import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.CheckBox; import com.vaadin.ui.CustomComponent; import com.vaadin.ui.Label; import com.vaadin.ui.VerticalLayout; /** * View to configure the login. * * @author Luthiger */ @SuppressWarnings("serial") public class LoginConfigView extends CustomComponent { /** * LoginConfigView constructor. * * @param inLoginConfig * @param inController * {@link LoginConfigController} * @param inEnabled * boolean <code>true</code> if login configuration is enabled */ public LoginConfigView(final boolean inLoginConfig, final LoginConfigController inController, final boolean inEnabled) { super(); final IMessages lMessages = Activator.getMessages(); final VerticalLayout lLayout = new VerticalLayout(); setCompositionRoot(lLayout); lLayout.setStyleName("demo-view"); //$NON-NLS-1$ lLayout.addComponent(new Label( String.format( RiplaViewHelper.TMPL_TITLE, "demo-pagetitle", lMessages.getMessage("config.login.page.title")), ContentMode.HTML)); //$NON-NLS-1$ //$NON-NLS-2$ lLayout.addComponent(new Label(lMessages .getMessage("view.login.remark"), ContentMode.HTML)); //$NON-NLS-1$ if (!inEnabled) { lLayout.addComponent(new Label(lMessages .getMessage("view.login.disabled"), ContentMode.HTML)); //$NON-NLS-1$ } final CheckBox lCheckbox = new CheckBox( lMessages.getMessage("view.login.chk.label")); //$NON-NLS-1$ lCheckbox.setValue(inLoginConfig); lCheckbox.setEnabled(inEnabled); lCheckbox.focus(); lLayout.addComponent(lCheckbox); final Button lSave = new Button( lMessages.getMessage("config.view.button.save")); //$NON-NLS-1$ lSave.addClickListener(new Button.ClickListener() { @Override public void buttonClick(final ClickEvent inEvent) { inController.saveChange(lCheckbox.getValue()); } }); lSave.setEnabled(inEnabled); lSave.setClickShortcut(KeyCode.ENTER); lLayout.addComponent(lSave); } }