package org.csstudio.sds.components.model.eventing; import org.csstudio.sds.components.model.BooleanSwitchModel; import org.csstudio.sds.eventhandling.AbstractEnsureInvariantsCommand; import org.csstudio.sds.eventhandling.AbstractWidgetPropertyPostProcessor; import org.eclipse.gef.commands.Command; public class BooleanSwitchShowLabelPostProcessor extends AbstractWidgetPropertyPostProcessor<BooleanSwitchModel> { @Override protected Command doCreateCommand(BooleanSwitchModel widget) { assert widget != null : "widget != null"; return new AbstractEnsureInvariantsCommand<BooleanSwitchModel>(widget, BooleanSwitchModel.PROP_LABEL_VISIBLE) { @Override protected boolean shouldHideProperties(BooleanSwitchModel widget, String propertyId) { return !widget.getBooleanProperty(propertyId); } @Override protected String[] getPropertyIds() { return new String[] {BooleanSwitchModel.PROP_ON_LABEL, BooleanSwitchModel.PROP_OFF_LABEL}; } }; } }