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());
}
}
}
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;
}
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;
}
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));
}
}
Aggregations