JUnitStatusBarPreferencePage.java
package com.codeaffine.extras.jdt.internal.junitstatus;
import static com.codeaffine.extras.jdt.internal.prefs.WorkspaceScopePreferences.PREF_SHOW_JUNIT_STATUS_BAR;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import com.codeaffine.extras.jdt.internal.JDTExtrasPlugin;
import com.codeaffine.extras.jdt.internal.prefs.ExpressionEvaluator;
public class JUnitStatusBarPreferencePage
extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage
{
public static final String ID = "com.codeaffine.extras.jdt.internal.JUnitStatusBarPreferencePage";
private IWorkbench workbench;
public JUnitStatusBarPreferencePage() {
super( "JUnit Status Bar", FieldEditorPreferencePage.GRID );
noDefaultAndApplyButton();
}
@Override
public void init( IWorkbench workbench ) {
this.workbench = workbench;
}
@Override
public boolean performOk() {
boolean result = super.performOk();
new ExpressionEvaluator( workbench ).evaluate();
return result;
}
@Override
protected IPreferenceStore doGetPreferenceStore() {
return JDTExtrasPlugin.getInstance().getPreferenceStore();
}
@Override
protected void createFieldEditors() {
String label = "&Show JUnit progress in the status bar";
createBooleanFieldEditor( getFieldEditorParent(), label, PREF_SHOW_JUNIT_STATUS_BAR );
}
private void createBooleanFieldEditor( Composite parent, String label, String preferenceName ) {
FieldEditor editor = new BooleanFieldEditor( preferenceName, label, parent );
addField( editor );
}
}