package com.ibm.research.tours.fx.preferences;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import com.ibm.research.tours.fx.ToursFxPlugin;
public class FXPreferencesPage extends PreferencePage implements IWorkbenchPreferencePage, IToursPreferences {
private Text fDelayText;
public FXPreferencesPage() {
}
public FXPreferencesPage(String title) {
super(title);
}
public FXPreferencesPage(String title, ImageDescriptor image) {
super(title, image);
}
@Override
protected Control createContents(Composite parent)
{
Composite root = new Composite(parent,SWT.NONE);
root.setLayout(new GridLayout(2,false));
new Label(root, SWT.NONE).setText("Aplha FX delay");
fDelayText = new Text(root, SWT.BORDER);
int fxDelay = getPreferenceStore().getInt(FX_DELAY);
fDelayText.setText(""+fxDelay);
GridData data = new GridData();
data.widthHint = 50;
fDelayText.setLayoutData(data);
return root;
}
public void init(IWorkbench workbench)
{
setPreferenceStore(ToursFxPlugin.getDefault().getPreferenceStore());
}
@Override
public boolean performOk()
{
try
{
int delay = Integer.parseInt(fDelayText.getText());
getPreferenceStore().setValue(FX_DELAY, delay);
}
catch (NumberFormatException e)
{
e.printStackTrace();
}
return super.performOk();
}
@Override
protected void performDefaults()
{
fDelayText.setText(""+DEFAULT_FX_DELAY);
}
}