package org.testng.eclipse.maven; import org.eclipse.core.resources.IProject; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; public class MavenTestNGOptionsConfigurationBlock extends OptionsConfigurationBlock { private static final Key KEY_ARGLINE = getKey(Activator.PREF_ARGLINE); private static final Key KEY_ENVIRON = getKey(Activator.PREF_ENVIRON); private static final Key KEY_SYSPROPERTIES = getKey(Activator.PREF_SYSPROPERTIES); private Button argLineBtn; private Button environBtn; private Button syspropsBtn; protected MavenTestNGOptionsConfigurationBlock(IProject project) { super(project); } @Override protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().applyTo(composite); Group mavenGroup = new Group(composite, SWT.NONE); GridDataFactory.fillDefaults().grab(true, false).applyTo(mavenGroup); GridLayoutFactory.fillDefaults().applyTo(mavenGroup); mavenGroup.setText(Messages.prefPrefixFromPomGroupName); argLineBtn = new Button(mavenGroup, SWT.CHECK); argLineBtn.setText(Messages.prefArgLineBtnName); syspropsBtn = new Button(mavenGroup, SWT.CHECK); syspropsBtn.setText(Messages.prefSysPropsBtnName); environBtn = new Button(mavenGroup, SWT.CHECK); environBtn.setText(Messages.prefEnvironBtnName); initWidgetValues(); return composite; } private void initWidgetValues() { argLineBtn.setSelection(getBooleanValue(KEY_ARGLINE)); environBtn.setSelection(getBooleanValue(KEY_ENVIRON)); syspropsBtn.setSelection(getBooleanValue(KEY_SYSPROPERTIES)); } public boolean performApply(boolean useDefaults) { boolean fArgLine = argLineBtn.getSelection(); boolean fEnviron = environBtn.getSelection(); boolean fSysProps = syspropsBtn.getSelection(); if (useDefaults) { IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore(); fArgLine = prefStore.getDefaultBoolean(Activator.PREF_ARGLINE); fEnviron = prefStore.getDefaultBoolean(Activator.PREF_ENVIRON); fSysProps = prefStore.getDefaultBoolean(Activator.PREF_SYSPROPERTIES); } setValue(KEY_ARGLINE, fArgLine); setValue(KEY_ENVIRON, fEnviron); setValue(KEY_SYSPROPERTIES, fSysProps); return true; } @Override public boolean performDefaults() { boolean ret = performApply(true); initWidgetValues(); return ret; } @Override public boolean performOk() { return performApply(false); } private static Key[] getKeys() { return new Key[] { KEY_ARGLINE, KEY_ENVIRON, KEY_SYSPROPERTIES }; } }