package org.csstudio.sds.components; import org.csstudio.sds.components.model.ActionButtonModel; import org.csstudio.sds.eventhandling.AbstractEnsureInvariantsCommand; import org.csstudio.sds.eventhandling.AbstractWidgetPropertyPostProcessor; import org.eclipse.gef.commands.Command; public class ActionButtonToggleStatePostProcessor extends AbstractWidgetPropertyPostProcessor<ActionButtonModel> { @Override protected Command doCreateCommand(ActionButtonModel widget) { assert widget != null : "widget != null"; return new AbstractEnsureInvariantsCommand<ActionButtonModel>(widget, ActionButtonModel.PROP_ACTIONDATA) { @Override protected boolean shouldHideProperties(ActionButtonModel widget, String propertyId) { return !widget.isToggleButton(); } @Override protected String[] getPropertyIds() { return new String[] { ActionButtonModel.PROP_TOGGLE_STATE }; } }; } }