本文整理汇总了Java中com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper类的典型用法代码示例。如果您正苦于以下问题:Java ProjectViewDirectoryHelper类的具体用法?Java ProjectViewDirectoryHelper怎么用?Java ProjectViewDirectoryHelper使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ProjectViewDirectoryHelper类属于com.intellij.ide.projectView.impl.nodes包,在下文中一共展示了ProjectViewDirectoryHelper类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: FileTreeModelBuilder
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
public FileTreeModelBuilder(Project project, Marker marker, DependenciesPanel.DependencyPanelSettings settings) {
myProject = project;
myBaseDir = myProject.getBaseDir();
myContentRoots = ProjectRootManager.getInstance(myProject).getContentRoots();
final boolean multiModuleProject = ModuleManager.getInstance(myProject).getModules().length > 1;
myShowModules = settings.UI_SHOW_MODULES && multiModuleProject;
final ProjectViewDirectoryHelper directoryHelper = ProjectViewDirectoryHelper.getInstance(myProject);
myFlattenPackages = directoryHelper.supportsFlattenPackages() && settings.UI_FLATTEN_PACKAGES;
myCompactEmptyMiddlePackages = directoryHelper.supportsHideEmptyMiddlePackages() && settings.UI_COMPACT_EMPTY_MIDDLE_PACKAGES;
myShowFiles = settings.UI_SHOW_FILES;
myShowModuleGroups = settings.UI_SHOW_MODULE_GROUPS && multiModuleProject;
myMarker = marker;
myAddUnmarkedFiles = !settings.UI_FILTER_LEGALS;
myRoot = new RootNode(myProject);
myFileIndex = ProjectRootManager.getInstance(project).getFileIndex();
}
示例2: addSubtreeToUpdateByElement
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@Override
public boolean addSubtreeToUpdateByElement(Object element) {
if (element instanceof PsiDirectory && !myProject.isDisposed()) {
final PsiDirectory dir = (PsiDirectory)element;
final ProjectTreeStructure treeStructure = (ProjectTreeStructure)myTreeStructure;
PsiDirectory dirToUpdateFrom = dir;
if (!treeStructure.isFlattenPackages() && treeStructure.isHideEmptyMiddlePackages()) {
// optimization: this check makes sense only if flattenPackages == false && HideEmptyMiddle == true
while (dirToUpdateFrom != null && ProjectViewDirectoryHelper.getInstance(myProject).isEmptyMiddleDirectory(dirToUpdateFrom, true)) {
dirToUpdateFrom = dirToUpdateFrom.getParentDirectory();
}
}
boolean addedOk;
while (!(addedOk = super.addSubtreeToUpdateByElement(dirToUpdateFrom == null? myTreeStructure.getRootElement() : dirToUpdateFrom))) {
if (dirToUpdateFrom == null) {
break;
}
dirToUpdateFrom = dirToUpdateFrom.getParentDirectory();
}
return addedOk;
}
return super.addSubtreeToUpdateByElement(element);
}
示例3: getChildren
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@NotNull
@Override
public Collection<? extends AbstractTreeNode> getChildren() {
List<VirtualFile> sourceFolders = getSourceFolders();
List<AbstractTreeNode> children = Lists.newArrayListWithExpectedSize(sourceFolders.size());
PsiManager psiManager = PsiManager.getInstance(myProject);
ProjectViewDirectoryHelper directoryHelper = ProjectViewDirectoryHelper.getInstance(myProject);
for (VirtualFile file : sourceFolders) {
PsiDirectory dir = psiManager.findDirectory(file);
if (dir != null) {
children.addAll(directoryHelper.getDirectoryChildren(dir, getSettings(), true));
}
}
return children;
}
示例4: getChildren
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@NotNull
@Override
public Collection<? extends AbstractTreeNode> getChildren() {
List<AbstractTreeNode> children = Lists.newArrayList();
ProjectViewDirectoryHelper projectViewDirectoryHelper = ProjectViewDirectoryHelper.getInstance(myProject);
AndroidProjectTreeBuilder treeBuilder = (AndroidProjectTreeBuilder)myProjectViewPane.getTreeBuilder();
for (PsiDirectory directory : getSourceDirectories()) {
Collection<AbstractTreeNode> directoryChildren = projectViewDirectoryHelper.getDirectoryChildren(directory, getSettings(), true);
children.addAll(annotateWithSourceProvider(directoryChildren));
// Inform the tree builder of the node that this particular virtual file maps to
treeBuilder.createMapping(directory.getVirtualFile(), this);
}
return children;
}
示例5: getModules
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@NotNull
private static Set<Module> getModules(@NotNull final Project project) {
final List<VirtualFile> topLevelContentRoots =
ProjectViewDirectoryHelper.getInstance(project).getTopLevelRoots();
final Set<Module> modules =
Sets.newLinkedHashSetWithExpectedSize(topLevelContentRoots.size());
for(VirtualFile root : topLevelContentRoots) {
final Module module = ModuleUtil.findModuleForFile(root, project);
if(module == null) {
continue;
}
modules.add(module);
}
return modules;
}
示例6: createActions
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@Override
public AnAction[] createActions(Project project, final Runnable update) {
if (ProjectViewDirectoryHelper.getInstance(project).supportsHideEmptyMiddlePackages()) {
return new AnAction[]{new CompactEmptyMiddlePackagesAction(update)};
}
return AnAction.EMPTY_ARRAY;
}
示例7: getComment
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
@Override
public String getComment() {
if (myVDirectory != null && myVDirectory.isValid() && !myProject.isDisposed()) {
final PsiDirectory directory = getPsiDirectory();
if (directory != null) {
return ProjectViewDirectoryHelper.getInstance(myProject).getLocationString(directory);
}
}
return super.getComment();
}
示例8: setupToolWindow
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
public void setupToolWindow(ToolWindowEx window) {
final CollapseAllAction collapseAction = new CollapseAllAction(myTree);
collapseAction.getTemplatePresentation().setIcon(AllIcons.General.CollapseAll);
collapseAction.getTemplatePresentation().setHoveredIcon(AllIcons.General.CollapseAllHover);
window.setTitleActions(collapseAction);
final DefaultActionGroup group = new DefaultActionGroup();
final ProjectViewDirectoryHelper helper = ProjectViewDirectoryHelper.getInstance(myProject);
if (helper.supportsFlattenPackages()) {
group.add(new FavoritesFlattenPackagesAction(myProject, myBuilder));
}
if (helper.supportsHideEmptyMiddlePackages()) {
group.add(new FavoritesCompactEmptyMiddlePackagesAction(myProject, myBuilder));
}
if (helper.supportsFlattenPackages()) {
group.addAction(new FavoritesAbbreviatePackageNamesAction(myProject, myBuilder));
}
if (!PlatformUtils.isCidr()) {
group.add(new FavoritesShowMembersAction(myProject, myBuilder));
}
final FavoritesAutoscrollFromSourceHandler handler = new FavoritesAutoscrollFromSourceHandler(myProject, myBuilder);
handler.install();
group.add(handler.createToggleAction());
group.add(new FavoritesAutoScrollToSourceAction(myProject, myAutoScrollToSourceHandler, myBuilder));
window.setAdditionalGearActions(group);
}
示例9: createTreeToolbar
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
private JComponent createTreeToolbar() {
final DefaultActionGroup group = new DefaultActionGroup();
final Runnable update = new Runnable() {
@Override
public void run() {
rebuild(true);
}
};
if (ProjectViewDirectoryHelper.getInstance(myProject).supportsFlattenPackages()) {
group.add(new FlattenPackagesAction(update));
}
final PatternDialectProvider[] dialectProviders = Extensions.getExtensions(PatternDialectProvider.EP_NAME);
for (PatternDialectProvider provider : dialectProviders) {
for (AnAction action : provider.createActions(myProject, update)) {
group.add(action);
}
}
group.add(new ShowFilesAction(update));
final Module[] modules = ModuleManager.getInstance(myProject).getModules();
if (modules.length > 1) {
group.add(new ShowModulesAction(update));
group.add(new ShowModuleGroupsAction(update));
}
group.add(new FilterLegalsAction(update));
if (dialectProviders.length > 1) {
group.add(new ChooseScopeTypeAction(update));
}
ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true);
return toolbar.getComponent();
}
示例10: setupToolWindow
import com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper; //导入依赖的package包/类
public void setupToolWindow(ToolWindowEx window) {
final CollapseAllAction collapseAction = new CollapseAllAction(myTree);
collapseAction.getTemplatePresentation().setIcon(AllIcons.General.CollapseAll);
collapseAction.getTemplatePresentation().setHoveredIcon(AllIcons.General.CollapseAllHover);
window.setTitleActions(collapseAction);
final DefaultActionGroup group = new DefaultActionGroup();
final ProjectViewDirectoryHelper helper = ProjectViewDirectoryHelper.getInstance(myProject);
if (helper.supportsFlattenPackages()) {
group.add(new FavoritesFlattenPackagesAction(myProject, myBuilder));
}
if (helper.supportsHideEmptyMiddlePackages()) {
group.add(new FavoritesCompactEmptyMiddlePackagesAction(myProject, myBuilder));
}
if (helper.supportsFlattenPackages()) {
group.addAction(new FavoritesAbbreviatePackageNamesAction(myProject, myBuilder));
}
if (!PlatformUtils.isAppCode()) {
group.add(new FavoritesShowMembersAction(myProject, myBuilder));
}
final FavoritesAutoscrollFromSourceHandler handler = new FavoritesAutoscrollFromSourceHandler(myProject, myBuilder);
handler.install();
group.add(handler.createToggleAction());
group.add(new FavoritesAutoScrollToSourceAction(myProject, myAutoScrollToSourceHandler, myBuilder));
window.setAdditionalGearActions(group);
}