• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ProjectViewNodeDecorator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.ide.projectView.ProjectViewNodeDecorator的典型用法代码示例。如果您正苦于以下问题:Java ProjectViewNodeDecorator类的具体用法?Java ProjectViewNodeDecorator怎么用?Java ProjectViewNodeDecorator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ProjectViewNodeDecorator类属于com.intellij.ide.projectView包,在下文中一共展示了ProjectViewNodeDecorator类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: update

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
@Override
public void update(PresentationData data) {
  final PsiElement value = getPsiElement();
  if (value == null || !value.isValid()) {
    setValue(null);
  }
  if (getPsiElement() == null) return;

  int flags = Iconable.ICON_FLAG_VISIBILITY;
  if (isMarkReadOnly()) {
    flags |= Iconable.ICON_FLAG_READ_STATUS;
  }

  LOG.assertTrue(value.isValid());

  Icon icon = value.getIcon(flags);
  data.setIcon(icon);
  data.setPresentableText(myName);
  if (isDeprecated()) {
    data.setAttributesKey(CodeInsightColors.DEPRECATED_ATTRIBUTES);
  }
  updateImpl(data);
  for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
    decorator.decorate(this, data);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:BaseSmartPointerPsiNode.java


示例2: update

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
@Override
public void update(PresentationData data) {
  final PsiElement value = getPsiElement();
  if (value == null || !value.isValid()) {
    setValue(null);
  }
  if (getPsiElement() == null) return;

  int flags = Iconable.ICON_FLAG_VISIBILITY;
  if (isMarkReadOnly()) {
    flags |= Iconable.ICON_FLAG_READ_STATUS;
  }

  LOG.assertTrue(value.isValid());

  Icon icon = IconDescriptorUpdaters.getIcon(value, flags);
  data.setIcon(icon);
  data.setPresentableText(myName);
  if (isDeprecated()) {
    data.setAttributesKey(CodeInsightColors.DEPRECATED_ATTRIBUTES);
  }
  updateImpl(data);
  for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
    decorator.decorate(this, data);
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:27,代码来源:BaseSmartPointerPsiNode.java


示例3: updateValidData

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
private void updateValidData(final PresentationData presentation) {
  final PackageElement value = getValue();
  final PsiPackage aPackage = value.getPackage();

  if (!getSettings().isFlattenPackages()
      && getSettings().isHideEmptyMiddlePackages()
      && PackageUtil.isPackageEmpty(aPackage, value.getModule(), true, isLibraryElement())) {
    setValue(null);
    return;
  }

  PsiPackage parentPackage;
  Object parentValue = getParentValue();
  if (parentValue instanceof PackageElement) {
    parentPackage = ((PackageElement)parentValue).getPackage();
  }
  else {
    parentPackage = null;
  }
  String qName = aPackage.getQualifiedName();
  String name = PackageUtil.getNodeName(getSettings(), aPackage,parentPackage, qName, showFQName(aPackage));
  presentation.setPresentableText(name);

  presentation.setIcon(PlatformIcons.PACKAGE_ICON);

  for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
    decorator.decorate(this, presentation);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:PackageElementNode.java


示例4: updateValidData

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
private void updateValidData(final PresentationData presentation) {
  final PackageElement value = getValue();
  final PsiPackage aPackage = value.getPackage();

  if (!getSettings().isFlattenPackages()
      && getSettings().isHideEmptyMiddlePackages()
      && PackageNodeUtil.isPackageEmpty(aPackage, value.getModule(), true, isLibraryElement())) {
    setValue(null);
    return;
  }

  PsiPackage parentPackage;
  Object parentValue = getParentValue();
  if (parentValue instanceof PackageElement) {
    parentPackage = ((PackageElement)parentValue).getPackage();
  }
  else {
    parentPackage = null;
  }
  String qName = aPackage.getQualifiedName();
  String name = TreeViewUtil.getNodeName(getSettings(), aPackage, parentPackage, qName, showFQName(aPackage));
  presentation.setPresentableText(name);

  presentation.setIcon(AllIcons.Nodes.Package);

  for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
    decorator.decorate(this, presentation);
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:30,代码来源:PackageElementNode.java


示例5: customizeCellRenderer

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
@Override
public void customizeCellRenderer(JTree tree,
                                  Object value,
                                  boolean selected,
                                  boolean expanded,
                                  boolean leaf,
                                  int row,
                                  boolean hasFocus) {
  if (value instanceof PackageDependenciesNode) {
    PackageDependenciesNode node = (PackageDependenciesNode)value;
    try {
      setIcon(node.getIcon());
    }
    catch (IndexNotReadyException ignore) {
    }
    final SimpleTextAttributes regularAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES;
    TextAttributes textAttributes = regularAttributes.toTextAttributes();
    if (node instanceof BasePsiNode && ((BasePsiNode)node).isDeprecated()) {
      textAttributes =
          EditorColorsManager.getInstance().getGlobalScheme().getAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES).clone();
    }
    final PsiElement psiElement = node.getPsiElement();
    textAttributes.setForegroundColor(CopyPasteManager.getInstance().isCutElement(psiElement) ? CopyPasteManager.CUT_COLOR : node.getColor());
    append(node.toString(), SimpleTextAttributes.fromTextAttributes(textAttributes));

    String oldToString = toString();
    if (!myProject.isDisposed()) {
      for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
        decorator.decorate(node, this);
      }
    }
    if (toString().equals(oldToString)) {   // nothing was decorated
      final String locationString = node.getComment();
      if (locationString != null && locationString.length() > 0) {
        append(" (" + locationString + ")", SimpleTextAttributes.GRAY_ATTRIBUTES);
      }
    }
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:40,代码来源:ScopeTreeViewPanel.java


示例6: customizeCellRenderer

import com.intellij.ide.projectView.ProjectViewNodeDecorator; //导入依赖的package包/类
@Override
public void customizeCellRenderer(JTree tree,
                                  Object value,
                                  boolean selected,
                                  boolean expanded,
                                  boolean leaf,
                                  int row,
                                  boolean hasFocus) {
  if (value instanceof PackageDependenciesNode) {
    PackageDependenciesNode node = (PackageDependenciesNode)value;
    try {
      setIcon(node.getIcon());
    }
    catch (IndexNotReadyException ignore) {
    }
    final SimpleTextAttributes regularAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES;
    TextAttributes textAttributes = regularAttributes.toTextAttributes();
    if (node instanceof BasePsiNode && ((BasePsiNode)node).isDeprecated()) {
      textAttributes =
          EditorColorsManager.getInstance().getGlobalScheme().getAttributes(CodeInsightColors.DEPRECATED_ATTRIBUTES).clone();
    }
    final PsiElement psiElement = node.getPsiElement();
    textAttributes.setForegroundColor(CopyPasteManager.getInstance().isCutElement(psiElement) ? CopyPasteManager.CUT_COLOR : node.getColor());
    if (getCurrentScope() != DefaultScopesProvider.getInstance(myProject).getProblemsScope()) {
      final PsiFile containingFile = psiElement != null ? psiElement.getContainingFile() : null;
      final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(psiElement);
      boolean isProblem;
      if (containingFile != null) {
        isProblem = myWolfTheProblemSolver.isProblemFile(virtualFile);
      }
      else if (virtualFile != null) {
        isProblem = myWolfTheProblemSolver.hasProblemFilesBeneath(new Condition<VirtualFile>() {
          @Override
          public boolean value(VirtualFile file) {
            return VfsUtilCore.isAncestor(virtualFile, file, false);
          }
        });
      }
      else {
        final Module module =  node instanceof ModuleNode ? ((ModuleNode)node).getModule() : null;
        isProblem = module != null && myWolfTheProblemSolver.hasProblemFilesBeneath(module);
      }
      if (isProblem) {
        textAttributes.setEffectColor(JBColor.RED);
        textAttributes.setEffectType(EffectType.WAVE_UNDERSCORE);
      }
    }
    append(node.toString(), SimpleTextAttributes.fromTextAttributes(textAttributes));

    String oldToString = toString();
    if (!myProject.isDisposed()) {
      for(ProjectViewNodeDecorator decorator: Extensions.getExtensions(ProjectViewNodeDecorator.EP_NAME, myProject)) {
        decorator.decorate(node, this);
      }
    }
    if (toString().equals(oldToString)) {   // nothing was decorated
      final String locationString = node.getComment();
      if (locationString != null && locationString.length() > 0) {
        append(" (" + locationString + ")", SimpleTextAttributes.GRAY_ATTRIBUTES);
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:64,代码来源:ScopeTreeViewPanel.java



注:本文中的com.intellij.ide.projectView.ProjectViewNodeDecorator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ConnectionStateListener类代码示例发布时间:2022-05-22
下一篇:
Java ResourceCalculator类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap