Example usage for com.intellij.openapi.actionSystem IdeActions ACTION_NEW_ELEMENT

List of usage examples for com.intellij.openapi.actionSystem IdeActions ACTION_NEW_ELEMENT

Introduction

In this page you can find the example usage for com.intellij.openapi.actionSystem IdeActions ACTION_NEW_ELEMENT.

Prototype

String ACTION_NEW_ELEMENT

To view the source code for com.intellij.openapi.actionSystem IdeActions ACTION_NEW_ELEMENT.

Click Source Link

Usage

From source file:com.intellij.ide.favoritesTreeView.FavoritesTreeViewPanel.java

License:Apache License

public FavoritesTreeViewPanel(Project project) {
    super(new BorderLayout());
    myProject = project;//w w  w . j  a v  a2s. c om
    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.util.PackageChooserDialog.java

License:Apache License

private DefaultActionGroup createActionGroup(JComponent component) {
    final DefaultActionGroup group = new DefaultActionGroup();
    final DefaultActionGroup temp = new DefaultActionGroup();
    NewPackageAction newPackageAction = new NewPackageAction();
    newPackageAction.enableInModalConext();
    newPackageAction.registerCustomShortcutSet(
            ActionManager.getInstance().getAction(IdeActions.ACTION_NEW_ELEMENT).getShortcutSet(), component);
    temp.add(newPackageAction);/*from w  w w  . j  a  va 2 s.  co  m*/
    group.add(temp);
    return group;
}