package org.goko.gcode.rs274ngcv3.ui.workspace.modifierbuilder; import org.eclipse.e4.core.contexts.IEclipseContext; 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.fieldeditor.ui.UiAngleFieldEditor; import org.goko.common.preferences.fieldeditor.ui.UiLengthFieldEditor; import org.goko.common.preferences.fieldeditor.ui.UiQuantityFieldEditor; import org.goko.core.common.exception.GkException; import org.goko.core.common.measure.quantity.Angle; import org.goko.core.common.measure.quantity.AngleUnit; import org.goko.core.common.measure.quantity.Length; import org.goko.core.config.GokoPreference; import org.goko.core.gcode.rs274ngcv3.element.IModifier; import org.goko.core.gcode.rs274ngcv3.modifier.translate.TranslateModifier; import org.goko.core.workspace.bean.IPropertiesPanel; import org.goko.gcode.rs274ngcv3.ui.workspace.modifierbuilder.translate.TranslateModifierConfigurationController; import org.goko.gcode.rs274ngcv3.ui.workspace.modifierbuilder.translate.TranslateModifierConfigurationModel; import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.AbstractModifierPropertiesPanel; public class TranslateModifierConfigurationPanel extends AbstractModifierPropertiesPanel<TranslateModifier, TranslateModifierConfigurationController, TranslateModifierConfigurationModel> implements IPropertiesPanel{ public TranslateModifierConfigurationPanel(IEclipseContext context) { super(context, new TranslateModifierConfigurationController(new TranslateModifierConfigurationModel())); } /** * @wbp.parser.entryPoint */ public void createContent(Composite parent, IModifier<?> modifier) throws GkException { Group composite = new Group(parent, SWT.NONE); composite.setFont(SWTResourceManager.getFont("Segoe UI", 9, SWT.BOLD)); composite.setText("Properties"); composite.setLayout(new GridLayout(1, false)); GridData gl_data = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); composite.setLayoutData(gl_data); Label lblTranslation = new Label(composite, SWT.NONE); lblTranslation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); lblTranslation.setText("Translation"); UiQuantityFieldEditor<Length> translationX = new UiLengthFieldEditor(composite, SWT.NONE); translationX.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationX.setWidthInChars(8); translationX.setPropertyName("translationX"); translationX.setLabel("X"); translationX.setUnit(GokoPreference.getInstance().getLengthUnit()); translationX.setEmptyStringAllowed(false); getController().addFieldEditor(translationX); UiQuantityFieldEditor<Length> translationY = new UiLengthFieldEditor(composite, SWT.NONE); translationY.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationY.setWidthInChars(8); translationY.setPropertyName("translationY"); translationY.setLabel("Y"); translationY.setUnit(GokoPreference.getInstance().getLengthUnit()); translationY.setEmptyStringAllowed(false); getController().addFieldEditor(translationY); UiQuantityFieldEditor<Length> translationZ = new UiLengthFieldEditor(composite, SWT.NONE); translationZ.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationZ.setWidthInChars(8); translationZ.setPropertyName("translationZ"); translationZ.setLabel("Z"); translationZ.setUnit(GokoPreference.getInstance().getLengthUnit()); translationZ.setEmptyStringAllowed(false); getController().addFieldEditor(translationZ); UiQuantityFieldEditor<Angle> translationA = new UiAngleFieldEditor(composite, SWT.NONE); translationA.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationA.setWidthInChars(8); translationA.setPropertyName("translationA"); translationA.setLabel("A"); translationA.setUnit(AngleUnit.DEGREE_ANGLE); translationA.setEmptyStringAllowed(false); getController().addFieldEditor(translationA); UiQuantityFieldEditor<Angle> translationB = new UiAngleFieldEditor(composite, SWT.NONE); translationB.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationB.setWidthInChars(8); translationB.setPropertyName("translationB"); translationB.setLabel("B"); translationB.setUnit(AngleUnit.DEGREE_ANGLE); translationB.setEmptyStringAllowed(false); getController().addFieldEditor(translationB); UiQuantityFieldEditor<Angle> translationC = new UiAngleFieldEditor(composite, SWT.NONE); translationC.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); translationC.setWidthInChars(8); translationC.setPropertyName("translationC"); translationC.setLabel("C"); translationC.setUnit(AngleUnit.DEGREE_ANGLE); translationC.setEmptyStringAllowed(false); getController().addFieldEditor(translationC); } }