package jetbrains.mps.ide.hierarchy.toggle; /*Generated by MPS */ import com.intellij.openapi.actionSystem.ToggleAction; import javax.swing.Icon; import com.intellij.openapi.actionSystem.AnActionEvent; public abstract class GroupedToggleAction extends ToggleAction { private boolean mySelected = false; private ToggleActionGroup myGroup = null; public GroupedToggleAction(String text, String description, Icon icon, boolean initiallySelected) { super(text, description, icon); mySelected = initiallySelected; } public void setGroup(ToggleActionGroup group) { myGroup = group; } @Override public boolean isSelected(AnActionEvent e) { return mySelected; } @Override public void setSelected(AnActionEvent e, boolean state) { if (!(state)) { return; } mySelected = true; if (myGroup != null) { myGroup.changeSelection(this); } select(); } public void deselect() { mySelected = false; unselect(); } public abstract void select(); public void unselect() { } }