本文整理汇总了Java中com.intellij.openapi.editor.markup.HighlighterLayer.SELECTION属性的典型用法代码示例。如果您正苦于以下问题:Java HighlighterLayer.SELECTION属性的具体用法?Java HighlighterLayer.SELECTION怎么用?Java HighlighterLayer.SELECTION使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类com.intellij.openapi.editor.markup.HighlighterLayer
的用法示例。
在下文中一共展示了HighlighterLayer.SELECTION属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: actionPerformed
@Override
public void actionPerformed(AnActionEvent e) {
final Project project = e.getRequiredData(CommonDataKeys.PROJECT);
final Editor editor = e.getRequiredData(CommonDataKeys.EDITOR);
final HighlightManager highlightManager = HighlightManager.getInstance(project);
final RangeHighlighter[] highlighters =
((HighlightManagerImpl) highlightManager).getHighlighters(editor);
for (RangeHighlighter highlighter : highlighters) {
final TextAttributes ta = highlighter.getTextAttributes();
if (ta != null && ta instanceof NamedTextAttr
&& highlighter.getLayer() == HighlighterLayer.SELECTION - 1) {
highlightManager.removeSegmentHighlighter(editor, highlighter);
}
}
}
示例2: clearHighlights
private static void clearHighlights(Editor editor, HighlightManager highlightManager,
List<TextRange> toRemoves) {
if (editor instanceof EditorWindow) {
editor = ((EditorWindow) editor).getDelegate();
}
RangeHighlighter[] highlighters =
((HighlightManagerImpl) highlightManager).getHighlighters(editor);
Arrays.sort(highlighters, (o1, o2) -> o1.getStartOffset() - o2.getStartOffset());
Collections.sort(toRemoves, (o1, o2) -> o1.getStartOffset() - o2.getStartOffset());
int i = 0;
int j = 0;
while (i < highlighters.length && j < toRemoves.size()) {
RangeHighlighter highlighter = highlighters[i];
final TextAttributes ta = highlighter.getTextAttributes();
final TextRange textRange = TextRange.create(highlighter);
final TextRange toRemove = toRemoves.get(j);
if (ta != null && ta instanceof NamedTextAttr // wrap
&& highlighter.getLayer() == HighlighterLayer.SELECTION - 1 // wrap
&& toRemove.equals(textRange)) {
highlightManager.removeSegmentHighlighter(editor, highlighter);
i++;
} else if (toRemove.getStartOffset() > textRange.getEndOffset()) {
i++;
} else if (toRemove.getEndOffset() < textRange.getStartOffset()) {
j++;
} else {
i++;
j++;
}
}
}
示例3: clearHighlights
private static void clearHighlights(Editor editor,
HighlightManager highlightManager,
List<TextRange> rangesToHighlight,
TextAttributes attributes) {
if (editor instanceof EditorWindow) editor = ((EditorWindow)editor).getDelegate();
RangeHighlighter[] highlighters = ((HighlightManagerImpl)highlightManager).getHighlighters(editor);
Arrays.sort(highlighters, (o1, o2) -> o1.getStartOffset() - o2.getStartOffset());
Collections.sort(rangesToHighlight, (o1, o2) -> o1.getStartOffset() - o2.getStartOffset());
int i = 0;
int j = 0;
while (i < highlighters.length && j < rangesToHighlight.size()) {
RangeHighlighter highlighter = highlighters[i];
TextRange highlighterRange = TextRange.create(highlighter);
TextRange refRange = rangesToHighlight.get(j);
if (refRange.equals(highlighterRange) && attributes.equals(highlighter.getTextAttributes()) &&
highlighter.getLayer() == HighlighterLayer.SELECTION - 1) {
highlightManager.removeSegmentHighlighter(editor, highlighter);
i++;
}
else if (refRange.getStartOffset() > highlighterRange.getEndOffset()) {
i++;
}
else if (refRange.getEndOffset() < highlighterRange.getStartOffset()) {
j++;
}
else {
i++;
j++;
}
}
}
示例4: isInterestedInLayer
private static boolean isInterestedInLayer(int layer) {
return layer != HighlighterLayer.CARET_ROW
&& layer != HighlighterLayer.SELECTION
&& layer != HighlighterLayer.ERROR
&& layer != HighlighterLayer.WARNING;
}