package org.projectusus.projectsettings.ui.internal; import java.util.List; import org.eclipse.jface.wizard.IWizard; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Button; import org.projectusus.projectsettings.core.WhichPrefs; public class SelectWhichListener implements SelectionListener { private final WhichPrefs whichPref; private final Button checkbox; private final IWizard wizard; private final List<WhichPrefs> whichPrefs; public SelectWhichListener( Button checkbox, IWizard wizard, List<WhichPrefs> whichPrefs, WhichPrefs whichPref ) { super(); this.checkbox = checkbox; this.wizard = wizard; this.whichPrefs = whichPrefs; this.whichPref = whichPref; } public void widgetSelected( SelectionEvent e ) { addOrRemoveSelected( checkbox.getSelection() ); wizard.getContainer().updateButtons(); } public void widgetDefaultSelected( SelectionEvent e ) { widgetSelected( e ); } private void addOrRemoveSelected( boolean selection ) { if( selection ) { whichPrefs.add( whichPref ); } else { whichPrefs.remove( whichPref ); } } }