本文整理汇总了Java中com.intellij.ide.util.EditSourceUtil类的典型用法代码示例。如果您正苦于以下问题:Java EditSourceUtil类的具体用法?Java EditSourceUtil怎么用?Java EditSourceUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EditSourceUtil类属于com.intellij.ide.util包,在下文中一共展示了EditSourceUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDescriptor
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Nullable
public Navigatable getDescriptor(@Nullable Location location, @NotNull TestConsoleProperties properties) {
// by location gets navigatable element.
// It can be file or place in file (e.g. when OPEN_FAILURE_LINE is enabled)
if (location == null) return null;
String stacktrace = myStacktrace;
if (stacktrace != null && properties instanceof SMStacktraceParser && isLeaf()) {
Navigatable result = properties instanceof SMStacktraceParserEx ?
((SMStacktraceParserEx)properties).getErrorNavigatable(location, stacktrace) :
((SMStacktraceParser)properties).getErrorNavigatable(location.getProject(), stacktrace);
if (result != null) {
return result;
}
}
return EditSourceUtil.getDescriptor(location.getPsiElement());
}
示例2: getData
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Override
public Object getData(DataProvider dataProvider) {
final Navigatable navigatable = CommonDataKeys.NAVIGATABLE.getData(dataProvider);
if (navigatable != null && navigatable instanceof OpenFileDescriptor) {
final OpenFileDescriptor openFileDescriptor = (OpenFileDescriptor)navigatable;
if (openFileDescriptor.getFile().isValid()) {
return openFileDescriptor;
}
}
final PsiElement element = CommonDataKeys.PSI_ELEMENT.getData(dataProvider);
if (element instanceof Navigatable) {
return element;
}
if (element != null) {
return EditSourceUtil.getDescriptor(element);
}
final Object selection = PlatformDataKeys.SELECTED_ITEM.getData(dataProvider);
if (selection instanceof Navigatable) {
return selection;
}
return null;
}
示例3: getDescriptor
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Nullable
public Navigatable getDescriptor(final Location location, final TestConsoleProperties testConsoleProperties) {
// by location gets navigatable element.
// It can be file or place in file (e.g. when OPEN_FAILURE_LINE is enabled)
if (location == null) return null;
final String stacktrace = myStacktrace;
if (stacktrace != null && (testConsoleProperties instanceof SMStacktraceParser) && isLeaf()) {
final Navigatable result = ((SMStacktraceParser)testConsoleProperties).getErrorNavigatable(location.getProject(), stacktrace);
if (result != null) {
return result;
}
}
return EditSourceUtil.getDescriptor(location.getPsiElement());
}
示例4: getTargetCandidates
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
public Collection<PsiElement> getTargetCandidates(PsiReference reference) {
if (reference instanceof PsiPolyVariantReference) {
final ResolveResult[] results = ((PsiPolyVariantReference)reference).multiResolve(false);
final ArrayList<PsiElement> navigatableResults = new ArrayList<PsiElement>(results.length);
for(ResolveResult r:results) {
PsiElement element = r.getElement();
if (EditSourceUtil.canNavigate(element) || element instanceof Navigatable && ((Navigatable)element).canNavigateToSource()) {
navigatableResults.add(element);
}
}
return navigatableResults;
}
PsiElement resolved = reference.resolve();
if (resolved instanceof NavigationItem) {
return Collections.singleton(resolved);
}
return Collections.emptyList();
}
示例5: getData
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Override
public Object getData(DataProvider dataProvider) {
final Navigatable navigatable = PlatformDataKeys.NAVIGATABLE.getData(dataProvider);
if (navigatable != null && navigatable instanceof OpenFileDescriptor) {
final OpenFileDescriptor openFileDescriptor = (OpenFileDescriptor)navigatable;
if (openFileDescriptor.getFile().isValid()) {
return openFileDescriptor;
}
}
final PsiElement element = LangDataKeys.PSI_ELEMENT.getData(dataProvider);
if (element instanceof Navigatable) {
return element;
}
if (element != null) {
return EditSourceUtil.getDescriptor(element);
}
final Object selection = PlatformDataKeys.SELECTED_ITEM.getData(dataProvider);
if (selection instanceof Navigatable) {
return selection;
}
return null;
}
示例6: getDescriptor
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@javax.annotation.Nullable
public Navigatable getDescriptor(@Nullable Location location, @Nonnull TestConsoleProperties properties) {
// by location gets navigatable element.
// It can be file or place in file (e.g. when OPEN_FAILURE_LINE is enabled)
if (location == null) return null;
String stacktrace = myStacktrace;
if (stacktrace != null && properties instanceof SMStacktraceParser && isLeaf()) {
Navigatable result = properties instanceof SMStacktraceParserEx ?
((SMStacktraceParserEx)properties).getErrorNavigatable(location, stacktrace) :
((SMStacktraceParser)properties).getErrorNavigatable(location.getProject(), stacktrace);
if (result != null) {
return result;
}
}
return EditSourceUtil.getDescriptor(location.getPsiElement());
}
示例7: getTargetCandidates
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Nonnull
public static Collection<PsiElement> getTargetCandidates(PsiReference reference) {
if (reference instanceof PsiPolyVariantReference) {
final ResolveResult[] results = ((PsiPolyVariantReference)reference).multiResolve(false);
final ArrayList<PsiElement> navigatableResults = new ArrayList<PsiElement>(results.length);
for (ResolveResult r : results) {
PsiElement element = r.getElement();
if (EditSourceUtil.canNavigate(element) || element instanceof Navigatable && ((Navigatable)element).canNavigateToSource()) {
navigatableResults.add(element);
}
}
return navigatableResults;
}
PsiElement resolved = reference.resolve();
if (resolved instanceof NavigationItem) {
return Collections.singleton(resolved);
}
Collection<PsiElement> targetCandidates = TargetElementUtilEx.EP_NAME.composite().getTargetCandidates(reference);
if (targetCandidates != null) {
return targetCandidates;
}
return Collections.emptyList();
}
示例8: getData
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Override
public Navigatable getData(@Nonnull DataProvider dataProvider) {
final Navigatable navigatable = dataProvider.getDataUnchecked(PlatformDataKeys.NAVIGATABLE);
if (navigatable != null && navigatable instanceof OpenFileDescriptor) {
final OpenFileDescriptor openFileDescriptor = (OpenFileDescriptor)navigatable;
if (openFileDescriptor.getFile().isValid()) {
return openFileDescriptor;
}
}
final PsiElement element = dataProvider.getDataUnchecked(LangDataKeys.PSI_ELEMENT);
if (element instanceof Navigatable) {
return (Navigatable)element;
}
if (element != null) {
return EditSourceUtil.getDescriptor(element);
}
final Object selection = dataProvider.getDataUnchecked(PlatformDataKeys.SELECTED_ITEM);
if (selection instanceof Navigatable) {
return (Navigatable)selection;
}
return null;
}
示例9: navigate
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
public void navigate(final boolean requestFocus) {
if (isPhysical()) {
super.navigate(requestFocus);
return;
}
final PsiNamedElement psiNamedElement = XmlUtil.findRealNamedElement(this);
Navigatable navigatable = EditSourceUtil.getDescriptor(psiNamedElement);
if (psiNamedElement instanceof XmlEntityDecl) {
final OpenFileDescriptor fileDescriptor = (OpenFileDescriptor)navigatable;
navigatable = new OpenFileDescriptor(
fileDescriptor.getProject(),
fileDescriptor.getFile(),
psiNamedElement.getTextRange().getStartOffset() + psiNamedElement.getText().indexOf(getName())
);
}
navigatable.navigate(requestFocus);
}
示例10: navigate
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
public void navigate(final Project project) {
DefaultPsiElementListCellRenderer renderer = new DefaultPsiElementListCellRenderer();
final JList list = new JBList(myPsiFiles);
list.setCellRenderer(renderer);
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
renderer.installSpeedSearch(builder);
final Runnable runnable = new Runnable() {
public void run() {
int[] ids = list.getSelectedIndices();
if (ids == null || ids.length == 0) return;
Object[] selectedElements = list.getSelectedValues();
for (Object element : selectedElements) {
Navigatable descriptor = EditSourceUtil.getDescriptor((PsiElement)element);
if (descriptor != null && descriptor.canNavigate()) {
descriptor.navigate(true);
}
}
}
};
final Editor editor = CommonDataKeys.EDITOR.getData(DataManager.getInstance().getDataContext());
builder.
setTitle("Choose file").
setItemChoosenCallback(runnable).
createPopup().showInBestPositionFor(editor);
}
示例11: getPsiElementPopup
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@NotNull
public static JBPopup getPsiElementPopup(@NotNull PsiElement[] elements,
@NotNull final PsiElementListCellRenderer<PsiElement> renderer,
final String title) {
return getPsiElementPopup(elements, renderer, title, new PsiElementProcessor<PsiElement>() {
@Override
public boolean execute(@NotNull final PsiElement element) {
Navigatable descriptor = EditSourceUtil.getDescriptor(element);
if (descriptor != null && descriptor.canNavigate()) {
descriptor.navigate(true);
}
return true;
}
});
}
示例12: getTargetCandidates
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Override
@NotNull
public Collection<PsiElement> getTargetCandidates(@NotNull PsiReference reference) {
PsiElement refElement = reference.getElement();
TargetElementEvaluatorEx2 evaluator = refElement != null ? getElementEvaluatorsEx2(refElement.getLanguage()) : null;
if (evaluator != null) {
Collection<PsiElement> candidates = evaluator.getTargetCandidates(reference);
if (candidates != null) return candidates;
}
if (reference instanceof PsiPolyVariantReference) {
final ResolveResult[] results = ((PsiPolyVariantReference)reference).multiResolve(false);
List<PsiElement> navigatableResults = new ArrayList<PsiElement>(results.length);
for(ResolveResult r:results) {
PsiElement element = r.getElement();
if (EditSourceUtil.canNavigate(element) || element instanceof Navigatable && ((Navigatable)element).canNavigateToSource()) {
navigatableResults.add(element);
}
}
return navigatableResults;
}
PsiElement resolved = reference.resolve();
if (resolved instanceof NavigationItem) {
return Collections.singleton(resolved);
}
return Collections.emptyList();
}
示例13: navigate
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
public void navigate(final Project project) {
DefaultPsiElementListCellRenderer renderer = new DefaultPsiElementListCellRenderer();
final JList list = new JBList(myPsiFiles);
list.setCellRenderer(renderer);
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
renderer.installSpeedSearch(builder);
final Runnable runnable = new Runnable() {
public void run() {
int[] ids = list.getSelectedIndices();
if (ids == null || ids.length == 0) return;
Object[] selectedElements = list.getSelectedValues();
for (Object element : selectedElements) {
Navigatable descriptor = EditSourceUtil.getDescriptor((PsiElement)element);
if (descriptor != null && descriptor.canNavigate()) {
descriptor.navigate(true);
}
}
}
};
final Editor editor = PlatformDataKeys.EDITOR.getData(DataManager.getInstance().getDataContext());
builder.
setTitle("Choose file").
setItemChoosenCallback(runnable).
createPopup().showInBestPositionFor(editor);
}
示例14: navigateToElement
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
protected boolean navigateToElement(PsiElement target) {
Navigatable descriptor = target instanceof Navigatable ? (Navigatable)target : EditSourceUtil.getDescriptor(target);
if (descriptor != null && descriptor.canNavigate()) {
navigateToElement(descriptor);
return true;
}
return false;
}
示例15: getPsiElementPopup
import com.intellij.ide.util.EditSourceUtil; //导入依赖的package包/类
@Nonnull
public static JBPopup getPsiElementPopup(@Nonnull PsiElement[] elements, @Nonnull final PsiElementListCellRenderer<PsiElement> renderer, final String title) {
return getPsiElementPopup(elements, renderer, title, new PsiElementProcessor<PsiElement>() {
@Override
public boolean execute(@Nonnull final PsiElement element) {
Navigatable descriptor = EditSourceUtil.getDescriptor(element);
if (descriptor != null && descriptor.canNavigate()) {
descriptor.navigate(true);
}
return true;
}
});
}