package cc.warlock.rcp.prefs;
import org.eclipse.jface.preference.ColorSelector;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.dialogs.PropertyPage;
import cc.warlock.rcp.util.FontSelector;
public abstract class PreferencePageUtils extends PropertyPage implements SelectionListener, IPropertyChangeListener {
public Button createButton(Composite parent, int flags)
{
Button button = new Button(parent, flags);
button.addSelectionListener(this);
return button;
}
public Button createButton(Composite parent, String text, int flags)
{
Button button = createButton(parent, flags);
button.setText(text);
return button;
}
public Button createButton(Composite parent)
{
return createButton(parent, SWT.PUSH);
}
public Button createButton(Composite parent, String text)
{
return createButton(parent, text, SWT.PUSH);
}
public Button createCheckbox(Composite parent)
{
return createButton(parent, SWT.CHECK);
}
public Button createCheckbox(Composite parent, String text)
{
return createButton(parent, text, SWT.CHECK);
}
public Button createRadio(Composite parent)
{
return createButton(parent, SWT.RADIO);
}
public Button createRadio(Composite parent, String text)
{
return createButton(parent, text, SWT.RADIO);
}
public ColorSelector createColorSelector (Composite parent)
{
ColorSelector selector = new ColorSelector(parent);
selector.addListener(this);
return selector;
}
public FontSelector createFontSelector (Composite parent)
{
FontSelector selector = new FontSelector(parent);
selector.addListener(this);
return selector;
}
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
public void widgetSelected(SelectionEvent e) {
if (e.getSource() instanceof Button)
{
buttonPressed((Button)e.getSource());
}
}
protected void buttonPressed(Button button) {
}
public void propertyChange(PropertyChangeEvent event) {
if (event.getSource() instanceof ColorSelector)
{
colorSelectorChanged((ColorSelector)event.getSource());
}
else if (event.getSource() instanceof FontSelector)
{
fontSelectorChanged((FontSelector)event.getSource());
}
}
protected void colorSelectorChanged(ColorSelector selector) {
}
protected void fontSelectorChanged(FontSelector selector) {
}
}