/******************************************************************************* * Copyright (c) 2007, 2014 compeople AG and others. * 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: * compeople AG - initial API and implementation *******************************************************************************/ package org.eclipse.riena.example.client.controllers; import org.eclipse.riena.beans.common.Person; import org.eclipse.riena.example.client.views.SharedViewDemoSubModuleView; import org.eclipse.riena.navigation.ISubModuleNode; import org.eclipse.riena.navigation.ui.controllers.SubModuleController; import org.eclipse.riena.ui.core.marker.MandatoryMarker; import org.eclipse.riena.ui.ridgets.IActionListener; import org.eclipse.riena.ui.ridgets.IActionRidget; import org.eclipse.riena.ui.ridgets.ICompositeRidget; import org.eclipse.riena.ui.ridgets.ITextRidget; import org.eclipse.riena.ui.ridgets.IToggleButtonRidget; /** * Controller for {@link SharedViewDemoSubModuleView}. */ public class SharedViewDemoSubModuleController extends SubModuleController { private final Person personBean; public SharedViewDemoSubModuleController() { this(null); } public SharedViewDemoSubModuleController(final ISubModuleNode navigationNode) { super(navigationNode); personBean = new Person("", "", null); //$NON-NLS-1$ //$NON-NLS-2$ } @Override public void configureRidgets() { final ITextRidget txtFirst = getRidget(ITextRidget.class, "txtFirst"); //$NON-NLS-1$ txtFirst.bindToModel(personBean, Person.PROPERTY_FIRSTNAME); final ITextRidget txtLast = getRidget(ITextRidget.class, "txtLast"); //$NON-NLS-1$ txtLast.addMarker(new MandatoryMarker()); txtLast.bindToModel(personBean, Person.PROPERTY_LASTNAME); final IToggleButtonRidget btnFemale = getRidget(IToggleButtonRidget.class, "btnFemale"); //$NON-NLS-1$ btnFemale.addMarker(new MandatoryMarker()); btnFemale.bindToModel(this, "female"); //$NON-NLS-1$ final IToggleButtonRidget btnMale = getRidget(IToggleButtonRidget.class, "btnMale"); //$NON-NLS-1$ btnMale.addMarker(new MandatoryMarker()); btnFemale.bindToModel(this, "male"); //$NON-NLS-1$ final IActionRidget btnDefault = getRidget(IActionRidget.class, "btnDefault"); //$NON-NLS-1$ addDefaultAction(getRidget(ICompositeRidget.class, "view"), btnDefault); //$NON-NLS-1$ btnDefault.addListener(new IActionListener() { public void callback() { System.out.println(btnDefault.getText() + " pushed."); //$NON-NLS-1$ } }); updateAllRidgetsFromModel(); } public boolean isMale() { return Person.MALE.equals(personBean.getGender()); } public void setMale(final boolean male) { if (male) { personBean.setGender(Person.MALE); } } public boolean isFemale() { return Person.FEMALE.equals(personBean.getGender()); } public void setFemale(final boolean female) { if (female) { personBean.setGender(Person.FEMALE); } } }