/** * */ package org.goko.gcode.rs274ngcv3.ui.workspace.modifierbuilder.scale; import java.math.BigDecimal; import org.eclipse.swt.widgets.Composite; import org.goko.core.common.exception.GkException; import org.goko.core.gcode.rs274ngcv3.element.IModifier; import org.goko.core.gcode.rs274ngcv3.modifier.scale.ScaleModifier; import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.AbstractModifierUiProvider; import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.IModifierUiProvider; import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.IModifierPropertiesPanel; /** * @author PsyKo * @date 7 mars 2016 */ public class ScaleModifierBuilder extends AbstractModifierUiProvider<ScaleModifier> implements IModifierUiProvider<ScaleModifier>{ /** * Constructor */ public ScaleModifierBuilder() { super(ScaleModifier.class); } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.IModifierUiProvider#createDefaultModifier(java.lang.Integer) */ @Override public ScaleModifier createDefaultModifier(Integer idTargetGCodeProvider) throws GkException { ScaleModifier modifier = new ScaleModifier(); modifier.setScaleFactor(BigDecimal.ONE); modifier.setIdGCodeProvider(idTargetGCodeProvider); return modifier; } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.IModifierUiProvider#providesConfigurationPanelFor(org.goko.core.gcode.rs274ngcv3.element.IModifier) */ @Override public boolean providesConfigurationPanelFor(IModifier<?> modifier) throws GkException { return modifier instanceof ScaleModifier; } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.IModifierUiProvider#getModifierName() */ @Override public String getModifierName() { return "Scale"; } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.AbstractModifierUiProvider#createPropertiesPanelForModifier(org.eclipse.swt.widgets.Composite, org.goko.core.gcode.rs274ngcv3.element.IModifier) */ @Override protected IModifierPropertiesPanel<ScaleModifier> createPropertiesPanelForModifier(Composite parent, ScaleModifier modifier) throws GkException { ScalePropertiesPanel panel = new ScalePropertiesPanel(getContext()); panel.createContent(parent); parent.layout(); return panel; } }