package org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider; import org.eclipse.swt.widgets.Composite; import org.goko.core.common.exception.GkException; import org.goko.core.gcode.rs274ngcv3.element.GCodeProvider; import org.goko.core.gcode.rs274ngcv3.element.IModifier; import org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.panel.IModifierPropertiesPanel; public interface IModifierUiProvider<T extends IModifier<GCodeProvider>> { T createDefaultModifier(Integer idTargetGCodeProvider) throws GkException; boolean providesConfigurationPanelFor(IModifier<?> modifier) throws GkException; IModifierPropertiesPanel<T> createConfigurationPanelFor(Composite parent, IModifier<?> modifier) throws GkException; String getModifierName(); }