package org.goko.controller.g2core.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.eclipse.swt.widgets.Label;
import org.eclipse.wb.swt.SWTResourceManager;
import org.goko.common.preferences.GkFieldEditorPreferencesPage;
import org.goko.common.preferences.fieldeditor.preference.BooleanFieldEditor;
/**
* Preferences for TinyG
* @author PsyKo
*
*/
public class G2CorePreferencesPage extends GkFieldEditorPreferencesPage{
public G2CorePreferencesPage() {
setDescription("Configure G2 Core features");
setTitle("G2 Core");
setPreferenceStore(G2CorePreferences.getInstance());
}
/** (inheritDoc)
* @see org.goko.common.preferences.GkFieldEditorPreferencesPage#createPreferencePage(org.eclipse.swt.widgets.Composite)
*/
@Override
protected void createPreferencePage(Composite parent) {
GridLayout gridLayout = (GridLayout) parent.getLayout();
gridLayout.marginTop = 10;
Group grpHoming = new Group(parent, SWT.NONE);
grpHoming.setText("Homing");
GridLayout gl_grpHoming = new GridLayout(1, true);
grpHoming.setLayout(gl_grpHoming);
grpHoming.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Label lblConfigure = new Label(grpHoming, SWT.NONE);
lblConfigure.setText("Enable homing on the following axes");
Composite composite = new Composite(grpHoming, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
GridLayout gl_composite = new GridLayout(4, true);
gl_composite.marginWidth = 0;
composite.setLayout(gl_composite);
BooleanFieldEditor xAxisField = new BooleanFieldEditor(composite, SWT.NONE);
xAxisField.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1));
xAxisField.setLabel("X axis");
xAxisField.setPreferenceName(G2CorePreferences.HOMING_ENABLED_AXIS_X);
BooleanFieldEditor yAxisField = new BooleanFieldEditor(composite, SWT.NONE);
yAxisField.setLabel("Y axis");
yAxisField.setPreferenceName(G2CorePreferences.HOMING_ENABLED_AXIS_Y);
BooleanFieldEditor zAxisField = new BooleanFieldEditor(composite, SWT.NONE);
zAxisField.setLabel("Z axis");
zAxisField.setPreferenceName(G2CorePreferences.HOMING_ENABLED_AXIS_Z);
BooleanFieldEditor aAxisField = new BooleanFieldEditor(composite, SWT.NONE);
aAxisField.setLabel("A axis");
aAxisField.setPreferenceName(G2CorePreferences.HOMING_ENABLED_AXIS_A);
addField(xAxisField);
addField(yAxisField);
addField(zAxisField);
addField(aAxisField);
Label lblHomingShouldBe = new Label(grpHoming, SWT.NONE);
lblHomingShouldBe.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.ITALIC));
lblHomingShouldBe.setText("Homing should be enabled in the board configuration");
}
}