From 1690b944cee7fe52a94366aa0a640ff791cc64e9 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 19 Oct 2012 16:43:03 +0400 Subject: [PATCH] appearance --- .../intellij/slicer/SliceLeafValueRootNode.java | 3 ++- .../src/com/intellij/usages/ChunkExtractor.java | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/java/java-impl/src/com/intellij/slicer/SliceLeafValueRootNode.java b/java/java-impl/src/com/intellij/slicer/SliceLeafValueRootNode.java index b44d9aaae44f..91a17355d4c4 100644 --- a/java/java-impl/src/com/intellij/slicer/SliceLeafValueRootNode.java +++ b/java/java-impl/src/com/intellij/slicer/SliceLeafValueRootNode.java @@ -99,7 +99,8 @@ public class SliceLeafValueRootNode extends SliceNode implements MyColoredTreeCe @NotNull final SliceUsageCellRenderer renderer) { PsiFile file = element.getContainingFile(); List result = new ArrayList(); - ChunkExtractor.getExtractor(element.getContainingFile()).createTextChunks(usage, file.getText(), element.getTextRange().getStartOffset(), element.getTextRange().getEndOffset(), result); + ChunkExtractor.getExtractor(element.getContainingFile()).createTextChunks(usage, file.getText(), element.getTextRange().getStartOffset(), element.getTextRange().getEndOffset(), + false, result); for (TextChunk chunk : result) { renderer.append(chunk.getText(), SimpleTextAttributes.fromTextAttributes(chunk.getAttributes())); diff --git a/platform/usageView/src/com/intellij/usages/ChunkExtractor.java b/platform/usageView/src/com/intellij/usages/ChunkExtractor.java index 18f30ff6b917..825fff9e799f 100644 --- a/platform/usageView/src/com/intellij/usages/ChunkExtractor.java +++ b/platform/usageView/src/com/intellij/usages/ChunkExtractor.java @@ -159,11 +159,11 @@ public class ChunkExtractor { List editable = InjectedLanguageManager.getInstance(file.getProject()) .intersectWithAllEditableFragments(file, new TextRange(lineStartOffset, lineEndOffset)); for (TextRange range : editable) { - createTextChunks(usageInfo2UsageAdapter, chars, range.getStartOffset(), range.getEndOffset(), result); + createTextChunks(usageInfo2UsageAdapter, chars, range.getStartOffset(), range.getEndOffset(), true, result); } return result.toArray(new TextChunk[result.size()]); } - return createTextChunks(usageInfo2UsageAdapter, chars, lineStartOffset, lineEndOffset, result); + return createTextChunks(usageInfo2UsageAdapter, chars, lineStartOffset, lineEndOffset, true, result); } @NotNull @@ -171,6 +171,7 @@ public class ChunkExtractor { @NotNull CharSequence chars, int start, int end, + boolean selectUsageWithBold, @NotNull List result) { final Lexer lexer = myLexer; final SyntaxHighlighter highlighter = myHighlighter; @@ -202,7 +203,7 @@ public class ChunkExtractor { IElementType tokenType = lexer.getTokenType(); TextAttributesKey[] tokenHighlights = highlighter.getTokenHighlights(tokenType); - processIntersectingRange(usageInfo2UsageAdapter, chars, hiStart, hiEnd, tokenHighlights, result); + processIntersectingRange(usageInfo2UsageAdapter, chars, hiStart, hiEnd, tokenHighlights, selectUsageWithBold, result); } finally { lexer.advance(); @@ -217,8 +218,13 @@ public class ChunkExtractor { int hiStart, final int hiEnd, @NotNull TextAttributesKey[] tokenHighlights, + final boolean selectUsageWithBold, @NotNull final List result) { final TextAttributes originalAttrs = convertAttributes(tokenHighlights); + if (selectUsageWithBold) { + originalAttrs.setFontType(Font.PLAIN); + } + final int[] lastOffset = {hiStart}; usageInfo2UsageAdapter.processRangeMarkers(new Processor() { @Override @@ -227,7 +233,7 @@ public class ChunkExtractor { int usageEnd = segment.getEndOffset(); if (rangeIntersect(lastOffset[0], hiEnd, usageStart, usageEnd)) { addChunk(chars, lastOffset[0], Math.max(lastOffset[0], usageStart), originalAttrs, false, result); - addChunk(chars, Math.max(lastOffset[0], usageStart), Math.min(hiEnd, usageEnd), originalAttrs, true, result); + addChunk(chars, Math.max(lastOffset[0], usageStart), Math.min(hiEnd, usageEnd), originalAttrs, selectUsageWithBold, result); lastOffset[0] = usageEnd; if (usageEnd > hiEnd) { return false; @@ -273,7 +279,6 @@ public class ChunkExtractor { } attrs = attrs.clone(); - attrs.setFontType(Font.PLAIN); return attrs; }