當前位置: 首頁>>代碼示例>>Java>>正文


Java TextAttributes.clone方法代碼示例

本文整理匯總了Java中com.intellij.openapi.editor.markup.TextAttributes.clone方法的典型用法代碼示例。如果您正苦於以下問題:Java TextAttributes.clone方法的具體用法?Java TextAttributes.clone怎麽用?Java TextAttributes.clone使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.intellij.openapi.editor.markup.TextAttributes的用法示例。


在下文中一共展示了TextAttributes.clone方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: highlightUsages

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
private void highlightUsages() {
  if (mySearchResults.getEditor() == null) return;
  if (mySearchResults.getMatchesCount() >= mySearchResults.getMatchesLimit())
    return;
  for (FindResult range : mySearchResults.getOccurrences()) {
    if (range.getEndOffset() > mySearchResults.getEditor().getDocument().getTextLength()) continue;
    TextAttributes attributes = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(EditorColors.TEXT_SEARCH_RESULT_ATTRIBUTES);
    if (range.getLength() == 0) {
      attributes = attributes.clone();
      attributes.setEffectType(EffectType.BOXED);
      attributes.setEffectColor(attributes.getBackgroundColor());
    }
    if (mySearchResults.isExcluded(range)) {
      highlightRange(range, strikeout(), myHighlighters);
    } else {
      highlightRange(range, attributes, myHighlighters);
    }
  }
  updateInSelectionHighlighters();
  if (!myListeningSelection) {
    mySearchResults.getEditor().getSelectionModel().addSelectionListener(this);
    myListeningSelection = true;
  }

}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:26,代碼來源:LivePreview.java

示例2: convertAttributes

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
@NotNull
private TextAttributes convertAttributes(@NotNull TextAttributesKey[] keys) {
  TextAttributes attrs = myColorsScheme.getAttributes(HighlighterColors.TEXT);

  for (TextAttributesKey key : keys) {
    TextAttributes attrs2 = myColorsScheme.getAttributes(key);
    if (attrs2 != null) {
      attrs = TextAttributes.merge(attrs, attrs2);
    }
  }

  attrs = attrs.clone();
  return attrs;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:15,代碼來源:ChunkExtractor.java

示例3: testSaveNoInheritanceAndDefaults

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
public void testSaveNoInheritanceAndDefaults() throws Exception {
  TextAttributes identifierAttrs = EditorColorsManager.getInstance().getScheme(EditorColorsScheme.DEFAULT_SCHEME_NAME)
    .getAttributes(DefaultLanguageHighlighterColors.IDENTIFIER);
  TextAttributes declarationAttrs = identifierAttrs.clone();
  Pair<EditorColorsScheme, TextAttributes> result =
    doTestWriteRead(DefaultLanguageHighlighterColors.FUNCTION_DECLARATION, declarationAttrs);
  TextAttributes fallbackAttrs = result.first.getAttributes(
    DefaultLanguageHighlighterColors.FUNCTION_DECLARATION.getFallbackAttributeKey()
  );
  assertEquals(result.second, fallbackAttrs);
  assertNotSame(result.second, fallbackAttrs);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:13,代碼來源:EditorColorsSchemeImplTest.java

示例4: getGrayedHyperlinkAttributes

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
@Nullable
private static TextAttributes getGrayedHyperlinkAttributes(@NotNull TextAttributesKey normalHyperlinkAttrsKey) {
  EditorColorsScheme globalScheme = EditorColorsManager.getInstance().getGlobalScheme();
  TextAttributes grayedHyperlinkAttrs = GRAYED_BY_NORMAL_CACHE.get(normalHyperlinkAttrsKey);
  if (grayedHyperlinkAttrs == null) {
    TextAttributes normalHyperlinkAttrs = globalScheme.getAttributes(normalHyperlinkAttrsKey);
    if (normalHyperlinkAttrs != null) {
      grayedHyperlinkAttrs = normalHyperlinkAttrs.clone();
      grayedHyperlinkAttrs.setForegroundColor(UIUtil.getInactiveTextColor());
      grayedHyperlinkAttrs.setEffectColor(UIUtil.getInactiveTextColor());
      GRAYED_BY_NORMAL_CACHE.put(normalHyperlinkAttrsKey, grayedHyperlinkAttrs);
    }
  }
  return grayedHyperlinkAttrs;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:16,代碼來源:Filter.java

示例5: showInEditor

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
protected static void showInEditor(DetailView panel, VirtualFile virtualFile, int line) {
  TextAttributes attributes =
    EditorColorsManager.getInstance().getGlobalScheme().getAttributes(DebuggerColors.BREAKPOINT_ATTRIBUTES);

  DetailView.PreviewEditorState state = DetailView.PreviewEditorState.create(virtualFile, line, attributes);

  if (state.equals(panel.getEditorState())) {
    return;
  }

  panel.navigateInPreviewEditor(state);

  TextAttributes softerAttributes = attributes.clone();
  Color backgroundColor = softerAttributes.getBackgroundColor();
  if (backgroundColor != null) {
    softerAttributes.setBackgroundColor(ColorUtil.softer(backgroundColor));
  }

  final Editor editor = panel.getEditor();
  if (editor != null) {
    final MarkupModel editorModel = editor.getMarkupModel();
    final MarkupModel documentModel =
      DocumentMarkupModel.forDocument(editor.getDocument(), editor.getProject(), false);

    for (RangeHighlighter highlighter : documentModel.getAllHighlighters()) {
      if (highlighter.getUserData(DebuggerColors.BREAKPOINT_HIGHLIGHTER_KEY) == Boolean.TRUE) {
        final int line1 = editor.offsetToLogicalPosition(highlighter.getStartOffset()).line;
        if (line1 != line) {
          editorModel.addLineHighlighter(line1,
                                         DebuggerColors.BREAKPOINT_HIGHLIGHTER_LAYER + 1, softerAttributes);
        }
      }
    }
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:36,代碼來源:BreakpointItem.java

示例6: patchAttributesColor

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
/**
 * Patches attributes to be visible under debugger active line
 */
@SuppressWarnings("UseJBColor")
public static TextAttributes patchAttributesColor(TextAttributes attributes, @NotNull TextRange range, @NotNull Editor editor) {
  MarkupModel model = DocumentMarkupModel.forDocument(editor.getDocument(), editor.getProject(), false);
  if (model != null) {
    if (!((MarkupModelEx)model).processRangeHighlightersOverlappingWith(range.getStartOffset(), range.getEndOffset(),
         new Processor<RangeHighlighterEx>() {
           @Override
           public boolean process(RangeHighlighterEx highlighter) {
             if (highlighter.isValid() && highlighter.getTargetArea() == HighlighterTargetArea.LINES_IN_RANGE) {
               TextAttributes textAttributes = highlighter.getTextAttributes();
               if (textAttributes != null) {
                 Color color = textAttributes.getBackgroundColor();
                 return !(color != null && color.getBlue() > 128 && color.getRed() < 128 && color.getGreen() < 128);
               }
             }
             return true;
           }
         })) {
      TextAttributes clone = attributes.clone();
      clone.setForegroundColor(Color.orange);
      clone.setEffectColor(Color.orange);
      return clone;
    }
  }
  return attributes;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:30,代碼來源:NavigationUtil.java

示例7: execute

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
public void execute(final String line, final int textEndOffset) {
  myResult = null;
  myInfo = parseExceptionLine(line);
  if (myInfo == null) {
    return;
  }

  myMethod = myInfo.getSecond().substring(line);

  final int lparenthIndex = myInfo.third.getStartOffset();
  final int rparenthIndex = myInfo.third.getEndOffset();
  final String fileAndLine = line.substring(lparenthIndex + 1, rparenthIndex).trim();

  final int colonIndex = fileAndLine.lastIndexOf(':');
  if (colonIndex < 0) return;

  final int lineNumber = getLineNumber(fileAndLine.substring(colonIndex + 1));
  if (lineNumber < 0) return;

  Pair<PsiClass[], PsiFile[]> pair = myCache.resolveClass(myInfo.first.substring(line).trim());
  myClasses = pair.first;
  myFiles = pair.second;
  if (myFiles.length == 0) {
    // try find the file with the required name
    //todo[nik] it would be better to use FilenameIndex here to honor the scope by it isn't accessible in Open API
    myFiles = PsiShortNamesCache.getInstance(myProject).getFilesByName(fileAndLine.substring(0, colonIndex).trim());
  }
  if (myFiles.length == 0) return;

  /*
   IDEADEV-4976: Some scramblers put something like SourceFile mock instead of real class name.
  final String filePath = fileAndLine.substring(0, colonIndex).replace('/', File.separatorChar);
  final int slashIndex = filePath.lastIndexOf(File.separatorChar);
  final String shortFileName = slashIndex < 0 ? filePath : filePath.substring(slashIndex + 1);
  if (!file.getName().equalsIgnoreCase(shortFileName)) return null;
  */

  final int textStartOffset = textEndOffset - line.length();

  final int highlightStartOffset = textStartOffset + lparenthIndex + 1;
  final int highlightEndOffset = textStartOffset + rparenthIndex;

  ProjectFileIndex index = ProjectRootManager.getInstance(myProject).getFileIndex();
  List<VirtualFile> virtualFilesInLibraries = new ArrayList<VirtualFile>();
  List<VirtualFile> virtualFilesInContent = new ArrayList<VirtualFile>();
  for (PsiFile file : myFiles) {
    VirtualFile virtualFile = file.getVirtualFile();
    if (index.isInContent(virtualFile)) {
      virtualFilesInContent.add(virtualFile);
    }
    else {
      virtualFilesInLibraries.add(virtualFile);
    }
  }

  List<VirtualFile> virtualFiles;
  TextAttributes attributes = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(CodeInsightColors.HYPERLINK_ATTRIBUTES);
  if (virtualFilesInContent.isEmpty()) {
    Color libTextColor = UIUtil.getInactiveTextColor();
    attributes = attributes.clone();
    attributes.setForegroundColor(libTextColor);
    attributes.setEffectColor(libTextColor);

    virtualFiles = virtualFilesInLibraries;
  }
  else {
    virtualFiles = virtualFilesInContent;
  }
  HyperlinkInfo linkInfo = HyperlinkInfoFactory.getInstance().createMultipleFilesHyperlinkInfo(virtualFiles, lineNumber - 1, myProject);
  myResult = new Filter.Result(highlightStartOffset, highlightEndOffset, linkInfo, attributes);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:72,代碼來源:ExceptionWorker.java

示例8: getTextAttributes

import com.intellij.openapi.editor.markup.TextAttributes; //導入方法依賴的package包/類
private SimpleTextAttributes getTextAttributes(final int row, final Property property) {
  // 1. Text
  ErrorInfo errInfo = getErrorInfoForRow(row);

  SimpleTextAttributes result;
  boolean modified;
  try {
    modified = isModifiedForSelection(property);
  }
  catch(Exception ex) {
    // ignore exceptions here - they'll be reported as red property values
    modified = false;
  }
  if (errInfo == null) {
    result = modified ? SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES : SimpleTextAttributes.REGULAR_ATTRIBUTES;
  }
  else {
    final HighlightSeverity severity = errInfo.getHighlightDisplayLevel().getSeverity();
    Map<HighlightSeverity, SimpleTextAttributes> cache = modified ? myModifiedHighlightAttributes : myHighlightAttributes;
    result = cache.get(severity);
    if (result == null) {
      final TextAttributesKey attrKey = SeverityRegistrar.getSeverityRegistrar(myProject).getHighlightInfoTypeBySeverity(severity).getAttributesKey();
      TextAttributes textAttrs = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(attrKey);
      if (modified) {
        textAttrs = textAttrs.clone();
        textAttrs.setFontType(textAttrs.getFontType() | Font.BOLD);
      }
      result = SimpleTextAttributes.fromTextAttributes(textAttrs);
      cache.put(severity, result);
    }
  }

  if (property instanceof IntrospectedProperty) {
    final RadComponent c = mySelection.get(0);
    if (Properties.getInstance().isPropertyDeprecated(c.getModule(), c.getComponentClass(), property.getName())) {
      return new SimpleTextAttributes(result.getBgColor(), result.getFgColor(), result.getWaveColor(),
                                      result.getStyle() | SimpleTextAttributes.STYLE_STRIKEOUT);
    }
  }

  return result;
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:43,代碼來源:PropertyInspectorTable.java


注:本文中的com.intellij.openapi.editor.markup.TextAttributes.clone方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。