package jetbrains.mps.vcs.annotate;
/*Generated by MPS */
import jetbrains.mps.workbench.action.BaseGroup;
import jetbrains.mps.internal.collections.runtime.Sequence;
import com.intellij.openapi.actionSystem.ToggleAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
/*package*/ class ViewActionGroup extends BaseGroup {
public ViewActionGroup(AnnotationColumn annotationColumn, Iterable<AnnotationAspectSubcolumn> subcolumns) {
super("View");
setPopup(true);
for (AnnotationAspectSubcolumn subcolumn : Sequence.fromIterable(subcolumns)) {
add(new ViewActionGroup.ShowHideSubcolumnAction(subcolumn));
}
addSeparator();
add(new ViewAction(annotationColumn, ViewAction.SHORTEN_NAMES));
add(new ViewAction(annotationColumn, ViewAction.COLORS));
}
private class ShowHideSubcolumnAction extends ToggleAction {
private AnnotationAspectSubcolumn mySubcolumn;
public ShowHideSubcolumnAction(AnnotationAspectSubcolumn subcolumn) {
super(subcolumn.getId());
mySubcolumn = subcolumn;
}
@Override
public void setSelected(AnActionEvent event, boolean selected) {
mySubcolumn.setEnabled(selected);
}
@Override
public boolean isSelected(AnActionEvent event) {
return mySubcolumn.isEnabled();
}
}
}