use of jetbrains.communicator.idea.actions.DropDownButton in project intellij-plugins by JetBrains.
the class IDEtalkToolWindow method createToolWindowComponent.
@Override
protected void createToolWindowComponent() {
StartupManager.getInstance(myProject).registerPostStartupActivity(() -> initializeTransports(myProject.getName()));
StatusToolbar statusToolbar = ((StatusToolbar) myContainer.getComponentInstanceOfType(StatusToolbar.class));
DefaultActionGroup toolbarActions = new DefaultActionGroup();
ActionGroup actions = (ActionGroup) myActionManager.getAction("IDEtalk");
if (actions != null) {
toolbarActions.addAll(actions);
}
toolbarActions.add(new ContextHelpAction("reference.toolWindows.idetalk"));
ActionGroup treeActions = (ActionGroup) myActionManager.getAction("IDEtalk_Tree");
JPanel toolbarPanel = new JPanel();
toolbarPanel.setLayout(new BoxLayout(toolbarPanel, BoxLayout.X_AXIS));
toolbarPanel.add(DropDownButton.wrap(new DropDownButton(new FindUsersAction(), IconUtil.getAddIcon())));
toolbarPanel.add(createToolbar(toolbarActions).getComponent());
toolbarPanel.add(Box.createHorizontalStrut(10));
toolbarPanel.add(new SeparatorComponent(JBColor.LIGHT_GRAY, SeparatorOrientation.VERTICAL));
toolbarPanel.add(Box.createHorizontalStrut(3));
toolbarPanel.add(DropDownButton.wrap(new OptionsButton()));
toolbarPanel.add(statusToolbar.createComponent());
toolbarPanel.add(new JPanel() {
@Override
public Dimension getPreferredSize() {
return new Dimension(Short.MAX_VALUE, 10);
}
});
if (treeActions != null) {
JComponent component = createToolbar(treeActions).getComponent();
component.setMinimumSize(component.getPreferredSize());
toolbarPanel.add(component);
}
toolbarPanel.setAlignmentX(0);
myTopPanel.add(toolbarPanel);
myPanel.add(myTopPanel, BorderLayout.NORTH);
myPanel.add(ScrollPaneFactory.createScrollPane(myUserListComponent.getComponent()));
ActionGroup group = (ActionGroup) myActionManager.getAction("IDEtalkPopup");
if (group != null) {
IDEAFacade.installPopupMenu(group, myUserListComponent.getTree(), myActionManager);
}
}
Aggregations