List of usage examples for com.intellij.openapi.actionSystem.ex ActionManagerEx createActionToolbar
@NotNull
public abstract ActionToolbar createActionToolbar(@NotNull String place, @NotNull ActionGroup group,
boolean horizontal, boolean decorateButtons);
From source file:com.intellij.ui.CommonActionsPanel.java
License:Apache License
CommonActionsPanel(ListenerFactory factory, @Nullable JComponent contextComponent,
ActionToolbarPosition position, @Nullable AnActionButton[] additionalActions,
@Nullable Comparator<AnActionButton> buttonComparator, String addName, String removeName,
String moveUpName, String moveDownName, String editName, Icon addIcon, Buttons... buttons) {
super(new BorderLayout());
final Listener listener = factory.createListener(this);
AnActionButton[] actions = new AnActionButton[buttons.length];
for (int i = 0; i < buttons.length; i++) {
Buttons button = buttons[i];/* w w w . j ava 2s . com*/
String name = null;
switch (button) {
case ADD:
name = addName;
break;
case EDIT:
name = editName;
break;
case REMOVE:
name = removeName;
break;
case UP:
name = moveUpName;
break;
case DOWN:
name = moveDownName;
break;
}
final MyActionButton b = button.createButton(listener, name,
button == Buttons.ADD && addIcon != null ? addIcon : button.getIcon());
actions[i] = b;
myButtons.put(button, b);
}
if (additionalActions != null && additionalActions.length > 0) {
final ArrayList<AnActionButton> allActions = new ArrayList<AnActionButton>(Arrays.asList(actions));
allActions.addAll(Arrays.asList(additionalActions));
actions = allActions.toArray(new AnActionButton[allActions.size()]);
}
myActions = actions;
for (AnActionButton action : actions) {
action.setContextComponent(contextComponent);
}
if (buttonComparator != null) {
Arrays.sort(myActions, buttonComparator);
}
ArrayList<AnAction> toolbarActions = new ArrayList<AnAction>(Arrays.asList(myActions));
for (int i = 0; i < toolbarActions.size(); i++) {
if (toolbarActions.get(i) instanceof AnActionButton.CheckedAnActionButton) {
toolbarActions.set(i, ((AnActionButton.CheckedAnActionButton) toolbarActions.get(i)).getDelegate());
}
}
myDecorateButtons = UIUtil.isUnderAquaLookAndFeel() && position == ActionToolbarPosition.BOTTOM;
final ActionManagerEx mgr = (ActionManagerEx) ActionManager.getInstance();
final ActionToolbar toolbar = mgr.createActionToolbar(ActionPlaces.UNKNOWN,
new DefaultActionGroup(toolbarActions.toArray(new AnAction[toolbarActions.size()])),
position == ActionToolbarPosition.BOTTOM || position == ActionToolbarPosition.TOP,
myDecorateButtons);
toolbar.getComponent().setOpaque(false);
toolbar.getComponent().setBorder(null);
add(toolbar.getComponent(), BorderLayout.CENTER);
}