private void registerShortcuts() { ActionManager actionManager = ActionManager.getInstance(); actionManager .getAction(XDebuggerActions.SET_VALUE) .registerCustomShortcutSet( new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0)), this); actionManager .getAction(XDebuggerActions.COPY_VALUE) .registerCustomShortcutSet(CommonShortcuts.getCopy(), this); actionManager .getAction(XDebuggerActions.JUMP_TO_SOURCE) .registerCustomShortcutSet(CommonShortcuts.getEditSource(), this); Shortcut[] editTypeShortcuts = KeymapManager.getInstance() .getActiveKeymap() .getShortcuts(XDebuggerActions.EDIT_TYPE_SOURCE); actionManager .getAction(XDebuggerActions.JUMP_TO_TYPE_SOURCE) .registerCustomShortcutSet(new CustomShortcutSet(editTypeShortcuts), this); actionManager .getAction(XDebuggerActions.MARK_OBJECT) .registerCustomShortcutSet( new CustomShortcutSet( KeymapManager.getInstance().getActiveKeymap().getShortcuts("ToggleBookmark")), this); }
private ActionToolbar createToolbar() { DefaultActionGroup group = new DefaultActionGroup(); BackAction back = new BackAction(); back.registerCustomShortcutSet( new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0)), this); group.add(back); ForwardAction forward = new ForwardAction(); forward.registerCustomShortcutSet( new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0)), this); group.add(forward); EditSourceActionBase edit = new EditSourceAction(); edit.registerCustomShortcutSet( new CompositeShortcutSet(CommonShortcuts.getEditSource(), CommonShortcuts.ENTER), this); group.add(edit); edit = new ShowSourceAction(); edit.registerCustomShortcutSet( new CompositeShortcutSet(CommonShortcuts.getViewSource(), CommonShortcuts.CTRL_ENTER), this); group.add(edit); return ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true); }
public void addToolbarActions(final DialogWrapper dialogWrapper) { final Icon icon = AllIcons.Actions.Refresh; if (myBrowser.myChangesToDisplay == null) { myBrowser.addToolbarAction( new AnAction("Refresh Changes") { @Override public void actionPerformed(AnActionEvent e) { myBrowser.rebuildList(); } @Override public void update(AnActionEvent e) { e.getPresentation().setIcon(icon); } }); } RollbackDialogAction rollback = new RollbackDialogAction(); EmptyAction.setupAction(rollback, IdeActions.CHANGES_VIEW_ROLLBACK, myBrowser); myBrowser.addToolbarAction(rollback); final EditSourceForDialogAction editSourceAction = new EditSourceForDialogAction(myBrowser); editSourceAction.registerCustomShortcutSet(CommonShortcuts.getEditSource(), myBrowser); myBrowser.addToolbarAction(editSourceAction); myBrowser.addToolbarAction( ActionManager.getInstance().getAction("Vcs.CheckinProjectToolbar")); final List<AnAction> actions = AdditionalLocalChangeActionsInstaller.calculateActions( myProject, myBrowser.getAllChanges()); if (actions != null) { for (AnAction action : actions) { myBrowser.addToolbarAction(action); } } if (myAdditionalActions != null && myAdditionalActions.length > 0) { for (AnAction action : myAdditionalActions) { myBrowser.addToolbarAction(action); } } }
public static Disposable installEditAction(final JTree tree, String actionName) { final DoubleClickListener listener = new DoubleClickListener() { @Override protected boolean onDoubleClick(MouseEvent e) { if (tree.getPathForLocation(e.getX(), e.getY()) == null) return false; DataContext dataContext = DataManager.getInstance().getDataContext(tree); GotoFrameSourceAction.doAction(dataContext); return true; } }; // listener.installOn(tree); final AnAction action = ActionManager.getInstance().getAction(actionName); action.registerCustomShortcutSet(CommonShortcuts.getEditSource(), tree); return new Disposable() { public void dispose() { // listener.uninstall(tree); action.unregisterCustomShortcutSet(tree); } }; }
@Override public void actionPerformed(@NotNull AnActionEvent e) { final Project project = e.getProject(); if (project == null) return; if (myPopup != null && myPopup.isVisible()) return; final JBList list = new JBList(buildModel(project)); EditBookmarkDescriptionAction editDescriptionAction = new EditBookmarkDescriptionAction(project, list); DefaultActionGroup actions = new DefaultActionGroup(); actions.add(editDescriptionAction); actions.add(new DeleteBookmarkAction(project, list)); actions.add(new ToggleSortBookmarksAction()); actions.add(new MoveBookmarkUpAction(project, list)); actions.add(new MoveBookmarkDownAction(project, list)); myPopup = new MasterDetailPopupBuilder(project) .setList(list) .setDelegate(this) .setDetailView(new DetailViewImpl(project)) .setDimensionServiceKey("bookmarks") .setAddDetailViewToEast(true) .setActionsGroup(actions) .setPopupTuner( new Consumer<PopupChooserBuilder>() { @Override public void consume(PopupChooserBuilder builder) { builder.setCloseOnEnter(false).setCancelOnClickOutside(false); } }) .setDoneRunnable( new Runnable() { @Override public void run() { myPopup.cancel(); } }) .createMasterDetailPopup(); new AnAction() { @Override public void actionPerformed(AnActionEvent e) { @SuppressWarnings("deprecation") Object[] values = list.getSelectedValues(); for (Object item : values) { if (item instanceof BookmarkItem) { itemChosen((BookmarkItem) item, project, myPopup, true); } } } }.registerCustomShortcutSet(CommonShortcuts.getEditSource(), list); editDescriptionAction.setPopup(myPopup); myPopup.showCenteredInCurrentWindow(project); list.getEmptyText().setText("No Bookmarks"); list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); project .getMessageBus() .connect(myPopup) .subscribe( BookmarksListener.TOPIC, new BookmarksListener() { @Override public void bookmarkAdded(@NotNull Bookmark b) {} @Override public void bookmarkRemoved(@NotNull Bookmark b) {} @Override public void bookmarkChanged(@NotNull Bookmark b) {} @Override public void bookmarksOrderChanged() { doUpdate(); } private void doUpdate() { TreeSet selectedValues = new TreeSet(Arrays.asList(list.getSelectedValues())); DefaultListModel listModel = buildModel(project); list.setModel(listModel); ListSelectionModel selectionModel = list.getSelectionModel(); for (int i = 0; i < listModel.getSize(); i++) { if (selectedValues.contains(listModel.get(i))) { selectionModel.addSelectionInterval(i, i); } } } }); }