package org.goko.gcode.rs274ngcv3.ui.workspace.modifierbuilder.array;
import org.goko.core.common.exception.GkException;
import org.goko.core.gcode.rs274ngcv3.modifier.array.ArrayModifier;
import org.goko.core.math.Tuple6b;
import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.AbstractModifierPanelController;
/**
* Controller for this configuration panel
*/
public class ArrayModifierPropertiesController extends AbstractModifierPanelController<ArrayModifierPropertiesModel, ArrayModifier>{
public ArrayModifierPropertiesController() {
super(new ArrayModifierPropertiesModel());
}
/** (inheritDoc)
* @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.AbstractModifierPanelController#initializeFromModifier()
*/
@Override
public void initializeFromModifier() throws GkException {
ArrayModifier lclModifier = getModifier();
getDataModel().setTranslationX(lclModifier.getOffset().getX());
getDataModel().setTranslationY(lclModifier.getOffset().getY());
getDataModel().setTranslationZ(lclModifier.getOffset().getZ());
getDataModel().setTranslationA(lclModifier.getOffset().getA());
getDataModel().setTranslationB(lclModifier.getOffset().getB());
getDataModel().setTranslationC(lclModifier.getOffset().getC());
getDataModel().setCount(lclModifier.getCount());
}
/** (inheritDoc)
* @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.AbstractModifierPanelController#updateModifier()
*/
@Override
protected ArrayModifier updateModifier() throws GkException {
ArrayModifier lclModifier = getModifier();
lclModifier.setOffset(new Tuple6b(getDataModel().getTranslationX(),
getDataModel().getTranslationY(),
getDataModel().getTranslationZ(),
getDataModel().getTranslationA(),
getDataModel().getTranslationB(),
getDataModel().getTranslationC()));
lclModifier.setCount(getDataModel().getCount());
return lclModifier;
}
}