Search in sources :

Example 1 with FavoritesTreeNodeDescriptor

use of com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor in project intellij-community by JetBrains.

the class SendToFavoritesAction method actionPerformed.

@Override
public void actionPerformed(AnActionEvent e) {
    final DataContext dataContext = e.getDataContext();
    Project project = e.getProject();
    final FavoritesManager favoritesManager = FavoritesManager.getInstance(project);
    FavoritesTreeNodeDescriptor[] roots = FavoritesTreeViewPanel.CONTEXT_FAVORITES_ROOTS_DATA_KEY.getData(dataContext);
    if (roots == null)
        return;
    for (FavoritesTreeNodeDescriptor root : roots) {
        FavoritesTreeNodeDescriptor listNode = root.getFavoritesRoot();
        if (listNode != null && listNode != root && listNode.getElement() instanceof FavoritesListNode) {
            doSend(favoritesManager, new FavoritesTreeNodeDescriptor[] { root }, listNode.getElement().getName());
        }
    }
}
Also used : Project(com.intellij.openapi.project.Project) DataContext(com.intellij.openapi.actionSystem.DataContext) FavoritesListNode(com.intellij.ide.favoritesTreeView.FavoritesListNode) FavoritesTreeNodeDescriptor(com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor) FavoritesManager(com.intellij.ide.favoritesTreeView.FavoritesManager)

Example 2 with FavoritesTreeNodeDescriptor

use of com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor in project intellij-community by JetBrains.

the class BaseProjectTreeBuilder method collectChildren.

@NotNull
private static List<AbstractTreeNode> collectChildren(@NotNull DefaultMutableTreeNode node) {
    int childCount = node.getChildCount();
    List<AbstractTreeNode> result = new ArrayList<>(childCount);
    for (int i = 0; i < childCount; i++) {
        TreeNode childAt = node.getChildAt(i);
        DefaultMutableTreeNode defaultMutableTreeNode = (DefaultMutableTreeNode) childAt;
        if (defaultMutableTreeNode.getUserObject() instanceof AbstractTreeNode) {
            AbstractTreeNode treeNode = (AbstractTreeNode) defaultMutableTreeNode.getUserObject();
            result.add(treeNode);
        } else if (defaultMutableTreeNode.getUserObject() instanceof FavoritesTreeNodeDescriptor) {
            AbstractTreeNode treeNode = ((FavoritesTreeNodeDescriptor) defaultMutableTreeNode.getUserObject()).getElement();
            result.add(treeNode);
        }
    }
    return result;
}
Also used : DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) TreeNode(javax.swing.tree.TreeNode) AbstractTreeNode(com.intellij.ide.util.treeView.AbstractTreeNode) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) ArrayList(java.util.ArrayList) AbstractTreeNode(com.intellij.ide.util.treeView.AbstractTreeNode) FavoritesTreeNodeDescriptor(com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor) NotNull(org.jetbrains.annotations.NotNull)

Example 3 with FavoritesTreeNodeDescriptor

use of com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor in project intellij-community by JetBrains.

the class SendToFavoritesAction method isEnabled.

static boolean isEnabled(AnActionEvent e) {
    Project project = e.getProject();
    if (project == null) {
        return false;
    }
    FavoritesTreeNodeDescriptor[] roots = FavoritesTreeViewPanel.CONTEXT_FAVORITES_ROOTS_DATA_KEY.getData(e.getDataContext());
    if (roots == null || roots.length == 0) {
        return false;
    }
    for (FavoritesTreeNodeDescriptor root : roots) {
        FavoritesTreeNodeDescriptor listNode = root.getFavoritesRoot();
        if (listNode == null || listNode == root || !(listNode.getElement() instanceof FavoritesListNode))
            return false;
    }
    return true;
}
Also used : Project(com.intellij.openapi.project.Project) FavoritesListNode(com.intellij.ide.favoritesTreeView.FavoritesListNode) FavoritesTreeNodeDescriptor(com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor)

Example 4 with FavoritesTreeNodeDescriptor

use of com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor in project intellij-community by JetBrains.

the class SendToFavoritesAction method doSend.

public void doSend(final FavoritesManager favoritesManager, final FavoritesTreeNodeDescriptor[] roots, final String listName) {
    for (FavoritesTreeNodeDescriptor root : roots) {
        final AbstractTreeNode rootElement = root.getElement();
        String name = listName;
        if (name == null) {
            name = root.getFavoritesRoot().getName();
        }
        favoritesManager.removeRoot(name, Collections.singletonList(rootElement));
        favoritesManager.addRoots(toName, Collections.singletonList(rootElement));
    }
}
Also used : FavoritesTreeNodeDescriptor(com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor) AbstractTreeNode(com.intellij.ide.util.treeView.AbstractTreeNode)

Aggregations

FavoritesTreeNodeDescriptor (com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor)4 FavoritesListNode (com.intellij.ide.favoritesTreeView.FavoritesListNode)2 AbstractTreeNode (com.intellij.ide.util.treeView.AbstractTreeNode)2 Project (com.intellij.openapi.project.Project)2 FavoritesManager (com.intellij.ide.favoritesTreeView.FavoritesManager)1 DataContext (com.intellij.openapi.actionSystem.DataContext)1 ArrayList (java.util.ArrayList)1 DefaultMutableTreeNode (javax.swing.tree.DefaultMutableTreeNode)1 TreeNode (javax.swing.tree.TreeNode)1 NotNull (org.jetbrains.annotations.NotNull)1