package org.goko.tools.shuttlxpress.preferences;
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.Group;
import org.goko.common.preferences.GkFieldEditorPreferencesPage;
import org.goko.common.preferences.fieldeditor.preference.quantity.LengthFieldEditor;
import org.goko.common.preferences.fieldeditor.preference.quantity.SpeedFieldEditor;
import org.goko.core.common.exception.GkException;
import org.goko.core.config.GokoPreference;
/**
* Shuttle XPress integration preferences page
* @author Psyko
* @date 25 avr. 2016
*/
public class ShuttleXPressPreferencesPage extends GkFieldEditorPreferencesPage{
/**
* Constructor
*/
public ShuttleXPressPreferencesPage() {
setDescription("Configure Shuttle Xpress integration");
setTitle("Shuttle Xpress");
setPreferenceStore(ShuttleXPressPreferences.getInstance());
}
/** (inheritDoc)
* @see org.goko.common.preferences.GkFieldEditorPreferencesPage#createPreferencePage(org.eclipse.swt.widgets.Composite)
*/
@Override
protected void createPreferencePage(Composite parent) throws GkException {
GridLayout gridLayout = (GridLayout) parent.getLayout();
gridLayout.marginTop = 10;
Group grpRapidJog = new Group(parent, SWT.NONE);
grpRapidJog.setLayout(new GridLayout(1, false));
grpRapidJog.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
grpRapidJog.setText("Rapid jog");
SpeedFieldEditor speedFieldEditor_1 = new SpeedFieldEditor(grpRapidJog, SWT.NONE);
speedFieldEditor_1.setLabelWidthInChar(15);
speedFieldEditor_1.setLabel("Minimum feedrate:");
speedFieldEditor_1.setWidthInChars(8);
speedFieldEditor_1.setPreferenceName(ShuttleXPressPreferences.RAPID_JOG_MIN_SPEED);
speedFieldEditor_1.setUnit(GokoPreference.getInstance().getSpeedUnit());
SpeedFieldEditor speedFieldEditor_2 = new SpeedFieldEditor(grpRapidJog, SWT.NONE);
speedFieldEditor_2.setWidthInChars(8);
speedFieldEditor_2.setLabelWidthInChar(15);
speedFieldEditor_2.setLabel("Maximum feedrate:");
speedFieldEditor_2.setPreferenceName(ShuttleXPressPreferences.RAPID_JOG_MAX_SPEED);
speedFieldEditor_2.setUnit(GokoPreference.getInstance().getSpeedUnit());
Group composite = new Group(parent, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
composite.setText("Precise jog");
composite.setLayout(new GridLayout(1, false));
LengthFieldEditor uiLengthFieldEditor = new LengthFieldEditor(composite, SWT.NONE);
uiLengthFieldEditor.setWidthInChars(8);
uiLengthFieldEditor.setLabel("Step :");
uiLengthFieldEditor.setLabelWidthInChar(8);
uiLengthFieldEditor.setPreferenceName(ShuttleXPressPreferences.PRECISE_JOG_STEP);
uiLengthFieldEditor.setUnit(GokoPreference.getInstance().getLengthUnit());
SpeedFieldEditor speedFieldEditor = new SpeedFieldEditor(composite, SWT.NONE);
speedFieldEditor.setWidthInChars(8);
speedFieldEditor.setLabelWidthInChar(8);
speedFieldEditor.setLabel("Feedrate :");
speedFieldEditor.setPreferenceName(ShuttleXPressPreferences.PRECISE_JOG_SPEED);
speedFieldEditor.setUnit(GokoPreference.getInstance().getSpeedUnit());
addField(speedFieldEditor_1);
addField(speedFieldEditor_2);
addField(uiLengthFieldEditor);
addField(speedFieldEditor);
}
}