List of usage examples for com.intellij.openapi.actionSystem DefaultActionGroup DefaultActionGroup
public DefaultActionGroup()
From source file:altn8.ui.AbstractDataPanel.java
License:Apache License
/** * Init our Components/*from www . j a v a2 s. c o m*/ */ private void initUIComponents() { DefaultActionGroup actionGroup = new DefaultActionGroup(); // buttonAdd actionGroup.add(new AnAction("Add", "Add new item...", AllIcons.General.Add) { @Override public void actionPerformed(AnActionEvent e) { doAdd(); } @Override public void update(AnActionEvent e) { e.getPresentation().setEnabled(enabled); } }); // buttonRemove actionGroup.add(new AnAction("Remove", "Remove item...", AllIcons.General.Remove) { @Override public void actionPerformed(AnActionEvent e) { doRemove(); } @Override public void update(AnActionEvent e) { e.getPresentation().setEnabled(enabled && table.getSelectedRow() >= 0); } }); // buttonEdit actionGroup.add(new AnAction("Edit", "Edit item...", AllIcons.Actions.Edit) { @Override public void actionPerformed(AnActionEvent e) { doEdit(); } @Override public void update(AnActionEvent e) { e.getPresentation().setEnabled(enabled && table.getSelectedRow() >= 0); } }); // buttonCopy actionGroup.add(new AnAction("Copy", "Copy item...", AllIcons.Actions.Copy) { @Override public void actionPerformed(AnActionEvent e) { doCopy(); } @Override public void update(AnActionEvent e) { e.getPresentation().setEnabled(enabled && table.getSelectedRow() >= 0); } }); actionGroup.addSeparator(); // buttonMoveUp actionGroup.add(new AnAction("Move Up", "Move item up...", AllIcons.Actions.MoveUp) { @Override public void actionPerformed(AnActionEvent e) { doMove(true); } @Override public void update(AnActionEvent e) { e.getPresentation().setEnabled(enabled && table.getSelectedRow() > 0); } }); // buttonMoveDown actionGroup.add(new AnAction("Move Down", "Move item down...", AllIcons.Actions.MoveDown) { @Override public void actionPerformed(AnActionEvent e) { doMove(false); } @Override public void update(AnActionEvent e) { int selectedRow = table.getSelectedRow(); e.getPresentation().setEnabled( enabled && selectedRow >= 0 && selectedRow < (table.getModel().getRowCount() - 1)); } }); toolbar.add(ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, actionGroup, true) .getComponent()); }
From source file:automation.RobotControlWindow.java
License:Apache License
public RobotControlWindow(@NotNull final Component component) throws HeadlessException { super(findWindow(component)); myRobotControl = RobotControlManager.getInstance().getRobotControl(); Window window = findWindow(component); setModal(window instanceof JDialog && ((JDialog) window).isModal()); getRootPane().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setLayout(new BorderLayout()); setTitle(component.getClass().getName()); DefaultActionGroup actions = new DefaultActionGroup(); actions.addAction(new IconWithTextAction("Push the ActionLink") { @Override//from w w w.java2 s.c o m public void actionPerformed(AnActionEvent e) { // Component actionLink = GuiUtil.findComponentByText("Create New Project", component); // if(actionLink != null) { // try { // RobotControlManager.getInstance().getRobotControl().navigateAndClickScript(actionLink); // } // catch (InterruptedException e1) { // e1.printStackTrace(); // } // catch (Exception e1) { // e1.printStackTrace(); // } // } //} try { ScriptProcessor.process(); } catch (Exception e1) { e1.printStackTrace(); } } @Override public void update(AnActionEvent e) { //do nothing } }); //actions.addSeparator(); //actions.add(new IconWithTextAction("Refresh") { // // @Override // public void actionPerformed(AnActionEvent e) { // getCurrentTable().refresh(); // } // // @Override // public void update(AnActionEvent e) { // e.getPresentation().setEnabled(myComponent != null && myComponent.isVisible()); // } //}); ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.CONTEXT_TOOLBAR, actions, true); add(toolbar.getComponent(), BorderLayout.NORTH); statusLabel = new JLabel("Ok"); add(statusLabel); myWrapperPanel = new JPanel(new BorderLayout()); //myHierarchyTree = new HierarchyTree(component) { // @Override // public void onComponentChanged(Component c) { // boolean wasHighlighted = myHighlightComponent != null; // setHighlightingEnabled(false); // switchInfo(c); // setHighlightingEnabled(wasHighlighted); // } //}; //myWrapperPanel.add(myInspectorTable, BorderLayout.CENTER); //JSplitPane splitPane = new JSplitPane(); //splitPane.setDividerLocation(0.5); //splitPane.setRightComponent(myWrapperPanel); JScrollPane pane = new JBScrollPane(myHierarchyTree); //splitPane.setLeftComponent(pane); //add(splitPane, BorderLayout.CENTER); //myHierarchyTree.expandPath(); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { close(); } }); getRootPane().getActionMap().put("CLOSE", new AbstractAction() { public void actionPerformed(ActionEvent e) { close(); } }); //setHighlightingEnabled(true); getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "CLOSE"); }
From source file:com.abelsky.idea.geekandpoke.ui.impl.ComicsPanelImpl.java
License:Apache License
@NotNull private JComponent createToolbar() { final ActionManager actionManager = ActionManager.getInstance(); @NotNull/*from www .java 2s. c o m*/ final DefaultActionGroup actionGroup = new DefaultActionGroup(); actionGroup.add(new RefreshAction()); actionGroup.add(new MoreAction()); final ActionToolbar actionToolbar = actionManager.createActionToolbar("ComicsPanelToolbar", actionGroup, true); final JComponent actionToolbarComponent = actionToolbar.getComponent(); @NotNull final JPanel actionsPanel = new JPanel(); actionToolbar.setReservePlaceAutoPopupIcon(false); actionsPanel.setLayout(new FlowLayout(FlowLayout.LEADING, 0, 0)); actionsPanel.add(actionToolbarComponent); return actionsPanel; }
From source file:com.android.tools.adtui.workbench.AttachedToolWindow.java
License:Apache License
private void showGearPopup(@NotNull Component component, int x, int y) { DefaultActionGroup group = new DefaultActionGroup(); addGearPopupActions(group);/*w ww . ja va 2 s . c o m*/ ActionPopupMenu popupMenu = ActionManager.getInstance() .createActionPopupMenu(ToolWindowContentUi.POPUP_PLACE, group); popupMenu.getComponent().show(component, x, y); }
From source file:com.android.tools.idea.configurations.ConfigurationToolBar.java
License:Apache License
public static DefaultActionGroup createActions(RenderContext configurationHolder) { DefaultActionGroup group = new DefaultActionGroup(); ConfigurationMenuAction configAction = new ConfigurationMenuAction(configurationHolder); group.add(configAction);/*from w ww. j a v a 2s . c o m*/ group.addSeparator(); DeviceMenuAction deviceAction = new DeviceMenuAction(configurationHolder); group.add(deviceAction); group.addSeparator(); OrientationMenuAction orientationAction = new OrientationMenuAction(configurationHolder); group.add(orientationAction); group.addSeparator(); ThemeMenuAction themeAction = new ThemeMenuAction(configurationHolder); group.add(themeAction); group.addSeparator(); ActivityMenuAction activityAction = new ActivityMenuAction(configurationHolder); group.add(activityAction); group.addSeparator(); LocaleMenuAction localeAction = new LocaleMenuAction(configurationHolder); group.add(localeAction); group.addSeparator(); TargetMenuAction targetMenuAction = new TargetMenuAction(configurationHolder); group.add(targetMenuAction); return group; }
From source file:com.android.tools.idea.configurations.RenderOptionsMenuBuilder.java
License:Apache License
private RenderOptionsMenuBuilder(@NotNull final RenderContext context) { myGroup = new DefaultActionGroup(); mySettings = AndroidEditorSettings.getInstance(); myContext = context;/*ww w .j a v a 2 s . c om*/ }
From source file:com.android.tools.idea.ddms.DevicePanel.java
License:Apache License
@NotNull public ActionGroup getToolbarActions() { DefaultActionGroup group = new DefaultActionGroup(); group.add(new MyScreenshotAction()); //group.add(new MyFileExplorerAction()); //group.add(new Separator()); group.add(new MyTerminateVMAction()); group.add(new MyGcAction()); //group.add(new MyDumpHprofAction()); //group.add(new MyAllocationTrackerAction()); //group.add(new Separator()); //group.add(new MyToggleMethodProfilingAction()); //group.add(new MyThreadDumpAction()); // thread dump -> systrace return group; }
From source file:com.android.tools.idea.editors.allocations.AllocationsView.java
License:Apache License
public AllocationsView(@NotNull Project project, @NotNull final AllocationInfo[] allocations) { myProject = project;/*from www .j a va 2 s .co m*/ myAllocations = allocations; myGroupByName = PropertiesComponent.getInstance(project).getValue(ALLOCATION_VIEW_ID + GROUP_BY_NAME, GroupByMethod.NAME); myPackageFilter = new SearchTextFieldWithStoredHistory("alloc.package.filter"); myPackageFilter.addDocumentListener(new DocumentAdapter() { @Override protected void textChanged(DocumentEvent e) { myAlarm.cancelAllRequests(); myAlarm.addRequest(() -> setGroupByName(GroupByAllocator.NAME), 1000); } }); myTreeNode = generateTree(); myTreeModel = new DefaultTreeModel(myTreeNode); myAlarm = new Alarm(project); myTree = new Tree(myTreeModel); myTree.setRootVisible(false); myTree.setShowsRootHandles(true); myTree.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, this.new TreeDataProvider()); final DefaultActionGroup popupGroup = new DefaultActionGroup(); popupGroup.add(new EditMultipleSourcesAction()); myTree.addMouseListener(new PopupHandler() { @Override public void invokePopup(Component comp, int x, int y) { ActionManager.getInstance().createActionPopupMenu(ActionPlaces.UNKNOWN, popupGroup).getComponent() .show(comp, x, y); } }); myTree.addTreeExpansionListener(new TreeExpansionListener() { private boolean myIsCurrentlyExpanding = false; @Override public void treeExpanded(TreeExpansionEvent event) { if (myIsCurrentlyExpanding) { return; } myIsCurrentlyExpanding = true; // Do a fast expansion of descendant nodes if they only have one child each. AbstractTreeNode node = (AbstractTreeNode) event.getPath().getLastPathComponent(); AbstractTreeNode currentNode = node; int recursiveDepth = 0; List<Object> expandedPath = new ArrayList<>(Arrays.asList(event.getPath().getPath())); while (currentNode.getChildCount() == 1 && recursiveDepth < MAX_AUTO_EXPANSION_DEPTH) { AbstractTreeNode childNode = (AbstractTreeNode) currentNode.getChildAt(0); if (childNode.isLeaf()) { break; } expandedPath.add(childNode); currentNode = childNode; ++recursiveDepth; } if (node != currentNode) { myTree.expandPath(new TreePath(expandedPath.toArray())); } myIsCurrentlyExpanding = false; } @Override public void treeCollapsed(TreeExpansionEvent event) { } }); ColumnTreeBuilder builder = new ColumnTreeBuilder(myTree) .addColumn(new ColumnTreeBuilder.ColumnBuilder().setName("Method").setPreferredWidth(600) .setHeaderAlignment(SwingConstants.LEFT).setComparator((a, b) -> { if (a instanceof ThreadNode && b instanceof ThreadNode) { return ((ThreadNode) a).getThreadId() - ((ThreadNode) b).getThreadId(); } else if (a instanceof StackNode && b instanceof StackNode) { StackTraceElement ea = ((StackNode) a).getStackTraceElement(); StackTraceElement eb = ((StackNode) b).getStackTraceElement(); int value = ea.getMethodName().compareTo(eb.getMethodName()); if (value == 0) value = ea.getLineNumber() - eb.getLineNumber(); return value; } else { return a.getClass().toString().compareTo(b.getClass().toString()); } }).setRenderer(new NodeTreeCellRenderer())) .addColumn(new ColumnTreeBuilder.ColumnBuilder().setName("Count").setPreferredWidth(150) .setHeaderAlignment(SwingConstants.RIGHT) .setComparator((AbstractTreeNode a, AbstractTreeNode b) -> a.getCount() - b.getCount()) .setRenderer(new ColoredTreeCellRenderer() { @Override public void customizeCellRenderer(@NotNull JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value instanceof ValuedTreeNode) { int v = ((ValuedTreeNode) value).getCount(); int total = myTreeNode.getCount(); setTextAlign(SwingConstants.RIGHT); append(String.valueOf(v)); append(String.format(" (%.2f%%)", 100.0f * v / total), new SimpleTextAttributes(STYLE_PLAIN, JBColor.GRAY)); } } })) .addColumn(new ColumnTreeBuilder.ColumnBuilder().setName("Total Size").setPreferredWidth(150) .setHeaderAlignment(SwingConstants.RIGHT).setInitialOrder(SortOrder.DESCENDING) .setComparator((AbstractTreeNode a, AbstractTreeNode b) -> a.getValue() - b.getValue()) .setRenderer(new ColoredTreeCellRenderer() { @Override public void customizeCellRenderer(@NotNull JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value instanceof ValuedTreeNode) { int v = ((ValuedTreeNode) value).getValue(); int total = myTreeNode.getValue(); setTextAlign(SwingConstants.RIGHT); append(String.valueOf(v)); append(String.format(" (%.2f%%)", 100.0f * v / total), new SimpleTextAttributes(STYLE_PLAIN, JBColor.GRAY)); } } })); builder.setTreeSorter((Comparator<AbstractTreeNode> comparator, SortOrder sortOrder) -> { myTreeNode.sort(comparator); myTreeModel.nodeStructureChanged(myTreeNode); }); JComponent columnTree = builder.build(); mySplitter = new JBSplitter(true); new TreeSpeedSearch(myTree, e -> { Object o = e.getLastPathComponent(); if (o instanceof StackNode) { StackTraceElement ee = ((StackNode) o).getStackTraceElement(); return ee.toString(); } return o.toString(); }, true); JPanel panel = new JPanel(new BorderLayout()); JPanel topPanel = new JPanel(new BorderLayout()); ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, getMainActions(), true); topPanel.add(toolbar.getComponent(), BorderLayout.CENTER); myPackageFilter.setVisible(false); topPanel.add(myPackageFilter, BorderLayout.EAST); panel.add(topPanel, BorderLayout.NORTH); panel.add(columnTree, BorderLayout.CENTER); mySplitter.setFirstComponent(panel); myChartPane = new JPanel(new BorderLayout()); myLayout = new SunburstChart(myTreeNode); myLayout.setAngle(360.0f); myLayout.setAutoSize(true); myLayout.setSeparator(1.0f); myLayout.setGap(20.0f); myLayout.addSelectionListener(this); myLayout.setBorder(IdeBorderFactory.createBorder()); myLayout.setBackground(UIUtil.getTreeBackground()); Choreographer.animate(myLayout); toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, getChartActions(), true); myChartOrientation = "Sunburst"; myChartUnit = "Size"; myChartPane = new JPanel(new BorderLayout()); myChartPane.add(toolbar.getComponent(), BorderLayout.NORTH); JBSplitter chartSplitter = new JBSplitter(); myChartPane.add(chartSplitter, BorderLayout.CENTER); chartSplitter.setFirstComponent(myLayout); if (PropertiesComponent.getInstance().getBoolean(ALLOCATION_VIEW_ID + SHOW_CHART_STATE, false)) { mySplitter.setSecondComponent(myChartPane); } JPanel infoPanel = new JPanel(new BorderLayout()); infoPanel.setBorder(IdeBorderFactory.createBorder()); myInfoLabel = new JLabel(); myInfoLabel.setBackground(UIUtil.getTreeBackground()); myInfoLabel.setOpaque(true); myInfoLabel.setVerticalAlignment(SwingConstants.TOP); infoPanel.add(myInfoLabel, BorderLayout.NORTH); myInfoTableModel = new DefaultTableModel() { @Override public boolean isCellEditable(int i, int i1) { return false; } }; myInfoTableModel.addColumn("Data"); myInfoTable = new JBTable(myInfoTableModel); myInfoTable.putClientProperty(DataManager.CLIENT_PROPERTY_DATA_PROVIDER, this.new TableDataProvider()); myInfoTable.addMouseListener(new PopupHandler() { @Override public void invokePopup(Component comp, int x, int y) { ActionManager.getInstance().createActionPopupMenu(ActionPlaces.UNKNOWN, popupGroup).getComponent() .show(comp, x, y); } @Override public void mousePressed(MouseEvent e) { super.mousePressed(e); if (e.getClickCount() == 2) { Object value = myInfoTable.getValueAt(myInfoTable.getSelectedRow(), 0); if (value instanceof TreeNode) { TreeNode[] nodes = myTreeModel.getPathToRoot((TreeNode) value); TreePath path = new TreePath(nodes); myTree.setSelectionPath(path); myTree.scrollPathToVisible(path); } } } }); myInfoTable.setTableHeader(null); myInfoTable.setShowGrid(false); myInfoTable.setDefaultRenderer(Object.class, new NodeTableCellRenderer()); JBScrollPane scroll = new JBScrollPane(myInfoTable); scroll.setBorder(BorderFactory.createEmptyBorder()); infoPanel.add(scroll, BorderLayout.CENTER); chartSplitter.setSecondComponent(infoPanel); chartSplitter.setProportion(0.7f); myComponent = mySplitter; setGroupByName(myGroupByName); }
From source file:com.android.tools.idea.editors.allocations.AllocationsView.java
License:Apache License
private ActionGroup getMainActions() { DefaultActionGroup group = new DefaultActionGroup(); group.add(new ComboBoxAction() { @NotNull//from w w w. j a v a 2 s.c o m @Override protected DefaultActionGroup createPopupActionGroup(JComponent button) { DefaultActionGroup group = new DefaultActionGroup(); group.add(new ChangeGroupAction(GroupByMethod.NAME)); group.add(new ChangeGroupAction(GroupByAllocator.NAME)); return group; } @Override public void update(AnActionEvent e) { super.update(e); getTemplatePresentation().setText(myGroupBy.get(myGroupByName).getName()); e.getPresentation().setText(myGroupBy.get(myGroupByName).getName()); } }); group.add(new EditMultipleSourcesAction()); group.add(new ShowChartAction()); group.add(new Separator()); group.add(new BrowserHelpAction("Hprof Viewer", "http://developer.android.com/r/studio-ui/am-allocation.html")); return group; }
From source file:com.android.tools.idea.editors.allocations.AllocationsView.java
License:Apache License
private ActionGroup getChartActions() { DefaultActionGroup group = new DefaultActionGroup(); group.add(new ComboBoxAction() { @NotNull//from w ww. j a v a 2s. co m @Override protected DefaultActionGroup createPopupActionGroup(JComponent button) { DefaultActionGroup group = new DefaultActionGroup(); group.add(new AnAction("Sunburst") { @Override public void actionPerformed(AnActionEvent e) { myChartOrientation = "Sunburst"; myLayout.setAngle(360.0f); } }); group.add(new AnAction("Layout") { @Override public void actionPerformed(AnActionEvent e) { myChartOrientation = "Layout"; myLayout.setAngle(0.0f); } }); return group; } @Override public void update(AnActionEvent e) { super.update(e); getTemplatePresentation().setText(myChartOrientation); e.getPresentation().setText(myChartOrientation); } }); group.add(new ComboBoxAction() { @NotNull @Override protected DefaultActionGroup createPopupActionGroup(JComponent button) { DefaultActionGroup group = new DefaultActionGroup(); group.add(new AnAction("Size") { @Override public void actionPerformed(AnActionEvent e) { myChartUnit = "Size"; myLayout.setUseCount(false); } }); group.add(new AnAction("Count") { @Override public void actionPerformed(AnActionEvent e) { myChartUnit = "Count"; myLayout.setUseCount(true); } }); return group; } @Override public void update(AnActionEvent e) { super.update(e); getTemplatePresentation().setText(myChartUnit); e.getPresentation().setText(myChartUnit); } }); return group; }