List of usage examples for com.intellij.openapi.actionSystem IdeActions GROUP_FAVORITES_VIEW_POPUP
String GROUP_FAVORITES_VIEW_POPUP
To view the source code for com.intellij.openapi.actionSystem IdeActions GROUP_FAVORITES_VIEW_POPUP.
Click Source Link
From source file:com.intellij.ide.favoritesTreeView.FavoritesTreeViewPanel.java
License:Apache License
public FavoritesTreeViewPanel(Project project) { super(new BorderLayout()); myProject = project;/*from w ww.j a v a 2 s .co m*/ myFavoritesManager = FavoritesManager.getInstance(myProject); myFavoritesTreeStructure = new FavoritesTreeStructure(project); DefaultMutableTreeNode root = new DefaultMutableTreeNode(); root.setUserObject(myFavoritesTreeStructure.getRootElement()); final DefaultTreeModel treeModel = new DefaultTreeModel(root); myTree = new DnDAwareTree(treeModel); myBuilder = new FavoritesViewTreeBuilder(myProject, myTree, treeModel, myFavoritesTreeStructure); DockManager.getInstance(project).register(this); TreeUtil.installActions(myTree); UIUtil.setLineStyleAngled(myTree); myTree.setRootVisible(false); myTree.setShowsRootHandles(true); myTree.setLargeModel(true); new TreeSpeedSearch(myTree); ToolTipManager.sharedInstance().registerComponent(myTree); final FavoritesComparator favoritesComparator = new FavoritesComparator(ProjectView.getInstance(project), FavoritesProjectViewPane.ID); myBuilder.setNodeDescriptorComparator(new Comparator<NodeDescriptor>() { @Override public int compare(NodeDescriptor o1, NodeDescriptor o2) { if (o1 instanceof FavoritesTreeNodeDescriptor && o2 instanceof FavoritesTreeNodeDescriptor) { final FavoritesListNode listNode1 = FavoritesTreeUtil .extractParentList((FavoritesTreeNodeDescriptor) o1); final FavoritesListNode listNode2 = FavoritesTreeUtil .extractParentList((FavoritesTreeNodeDescriptor) o2); if (listNode1.equals(listNode2)) { final Comparator<FavoritesTreeNodeDescriptor> comparator = myFavoritesManager .getCustomComparator(listNode1.getName()); if (comparator != null) { return comparator.compare((FavoritesTreeNodeDescriptor) o1, (FavoritesTreeNodeDescriptor) o2); } else { return favoritesComparator.compare(o1, o2); } } } return o1.getIndex() - o2.getIndex(); } }); myTree.setCellRenderer(new NodeRenderer() { @Override public void customizeCellRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.customizeCellRenderer(tree, value, selected, expanded, leaf, row, hasFocus); if (value instanceof DefaultMutableTreeNode) { final DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; //only favorites roots to explain final Object userObject = node.getUserObject(); if (userObject instanceof FavoritesTreeNodeDescriptor) { final FavoritesTreeNodeDescriptor favoritesTreeNodeDescriptor = (FavoritesTreeNodeDescriptor) userObject; AbstractTreeNode treeNode = favoritesTreeNodeDescriptor.getElement(); FavoritesListProvider provider = FavoritesTreeUtil.getProvider(myFavoritesManager, favoritesTreeNodeDescriptor); if (provider != null) { Object o = myBuilder.getUi().getElementFor(value); if (o instanceof AbstractTreeNode) { o = ((AbstractTreeNode) o).getValue(); } provider.customizeRenderer(this, tree, o, selected, expanded, leaf, row, hasFocus); return; } final ItemPresentation presentation = treeNode.getPresentation(); String locationString = presentation.getLocationString(); if (locationString == null && node.getParent() != null && node.getParent().getParent() != null && node.getParent().getParent().getParent() == null) { final String location = favoritesTreeNodeDescriptor.getLocation(); if (location != null && location.length() > 0) { append(" (" + location + ")", SimpleTextAttributes.GRAY_ATTRIBUTES); } } } } } }); myTreePopupHandler = CustomizationUtil.installPopupHandler(myTree, IdeActions.GROUP_FAVORITES_VIEW_POPUP, ActionPlaces.FAVORITES_VIEW_POPUP); EditSourceOnDoubleClickHandler.install(myTree); EditSourceOnEnterKeyHandler.install(myTree); myCopyPasteDelegator = new CopyPasteDelegator(myProject, this) { @Override @NotNull protected PsiElement[] getSelectedElements() { return getSelectedPsiElements(); } }; AnActionButton addActionButton = AnActionButton .fromAction(ActionManager.getInstance().getAction("AddNewFavoritesList")); addActionButton.getTemplatePresentation().setIcon(CommonActionsPanel.Buttons.ADD.getIcon()); addActionButton.setShortcut(CommonActionsPanel.getCommonShortcut(CommonActionsPanel.Buttons.ADD)); AnActionButton editActionButton = AnActionButton.fromAction(new EditFavoritesAction()); editActionButton.setShortcut(CommonShortcuts.CTRL_ENTER); AnActionButton deleteActionButton = new DeleteFromFavoritesAction(); deleteActionButton.setShortcut(CommonActionsPanel.getCommonShortcut(CommonActionsPanel.Buttons.REMOVE)); //final AnAction exportToTextFileAction = CommonActionsManager.getInstance().createExportToTextFileAction(createTextExporter()); //AnActionButton exportActionButton = AnActionButton.fromAction(exportToTextFileAction); //exportActionButton.setShortcut(exportToTextFileAction.getShortcutSet()); final ToolbarDecorator decorator = ToolbarDecorator.createDecorator(myTree).initPosition() .disableAddAction().disableRemoveAction().disableDownAction().disableUpAction() .addExtraAction(addActionButton).addExtraAction(editActionButton) .addExtraAction(deleteActionButton); //.addExtraAction(exportActionButton); final AnAction action = ActionManager.getInstance().getAction(IdeActions.ACTION_NEW_ELEMENT); action.registerCustomShortcutSet(action.getShortcutSet(), myTree); final JPanel panel = decorator.createPanel(); panel.setBorder(IdeBorderFactory.createEmptyBorder()); add(panel, BorderLayout.CENTER); setBorder(IdeBorderFactory.createEmptyBorder()); myAutoScrollToSourceHandler = new AutoScrollToSourceHandler() { @Override protected boolean isAutoScrollMode() { return myFavoritesManager.getViewSettings().isAutoScrollToSource(); } @Override protected void setAutoScrollMode(boolean state) { myFavoritesManager.getViewSettings().setAutoScrollToSource(state); } }; myAutoScrollToSourceHandler.install(myTree); myFavoritesManager.addFavoritesListener(new FavoritesListener() { @Override public void rootsChanged() { myBuilder.updateFromRoot(); myTree.repaint(); } @Override public void listAdded(String listName) { myBuilder.updateFromRoot(); myTree.repaint(); } @Override public void listRemoved(String listName) { myBuilder.updateFromRoot(); myTree.repaint(); } }); }
From source file:com.intellij.ide.ui.customization.CustomActionsSchema.java
License:Apache License
public CustomActionsSchema() { myIdToNameList.add(new Pair(IdeActions.GROUP_MAIN_MENU, ActionsTreeUtil.MAIN_MENU_TITLE)); myIdToNameList.add(new Pair(IdeActions.GROUP_MAIN_TOOLBAR, ActionsTreeUtil.MAIN_TOOLBAR)); myIdToNameList.add(new Pair(IdeActions.GROUP_EDITOR_POPUP, ActionsTreeUtil.EDITOR_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_EDITOR_GUTTER, "Editor Gutter Popup Menu")); myIdToNameList.add(new Pair(IdeActions.GROUP_EDITOR_TAB_POPUP, ActionsTreeUtil.EDITOR_TAB_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_PROJECT_VIEW_POPUP, ActionsTreeUtil.PROJECT_VIEW_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_SCOPE_VIEW_POPUP, "Scope View Popup Menu")); myIdToNameList.add(new Pair(IdeActions.GROUP_FAVORITES_VIEW_POPUP, ActionsTreeUtil.FAVORITES_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_COMMANDER_POPUP, ActionsTreeUtil.COMMANDER_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_J2EE_VIEW_POPUP, ActionsTreeUtil.J2EE_POPUP)); myIdToNameList.add(new Pair(IdeActions.GROUP_NAVBAR_POPUP, "Navigation Bar")); myIdToNameList.add(new Pair("NavBarToolBar", "Navigation Bar Toolbar")); CustomizableActionGroupProvider.CustomizableActionGroupRegistrar registrar = new CustomizableActionGroupProvider.CustomizableActionGroupRegistrar() { @Override//from w w w . jav a2s. c o m public void addCustomizableActionGroup(@NotNull String groupId, @NotNull String groupTitle) { myIdToNameList.add(new Pair(groupId, groupTitle)); } }; for (CustomizableActionGroupProvider provider : CustomizableActionGroupProvider.EP_NAME.getExtensions()) { provider.registerGroups(registrar); } }