package com.redhat.ceylon.eclipse.code.preferences;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.swt.widgets.Composite;
class BoolFieldEditor extends BooleanFieldEditor {
interface Listener {
void valueChanged(boolean oldValue, boolean newValue);
}
private BoolFieldEditor.Listener listener;
public BoolFieldEditor(String name, String label, Composite parent) {
super(name, label, parent);
}
public BoolFieldEditor(String name, String labelText, int style,
Composite parent) {
super(name, labelText, style, parent);
}
public void setListener(BoolFieldEditor.Listener listener) {
this.listener = listener;
}
@Override
protected void valueChanged(boolean oldValue, boolean newValue) {
super.valueChanged(oldValue, newValue);
if (listener!=null) {
listener.valueChanged(oldValue, newValue);
}
}
@Override
protected void doLoadDefault() {
boolean oldValue = getBooleanValue();
super.doLoadDefault();
boolean newValue = getBooleanValue();
if (listener!=null) {
listener.valueChanged(oldValue, newValue);
}
}
}