Search in sources :

Example 1 with IEditorDescriptor

use of org.eclipse.ui.IEditorDescriptor in project tesb-studio-se by Talend.

the class RouteResourceEditorUtil method findPreferEditor.

/**
	 * find a prefer editor from all existing editors according to the
	 * fileExtensions
	 * 
	 * @param fileExtension
	 * @return
	 */
private String findPreferEditor(RouteResourceInput fileEditorInput) {
    String editorId = RouteResourceEditor.ID;
    Object underlingFile = fileEditorInput.getAdapter(IFile.class);
    if (underlingFile == null) {
        return editorId;
    }
    IEditorDescriptor ed = null;
    try {
        ed = IDE.getEditorDescriptor((IFile) underlingFile, true);
    } catch (PartInitException e) {
        return editorId;
    }
    if (ed == null) {
        return editorId;
    }
    String id = ed.getId();
    if (id == null || id.trim() == null) {
        return editorId;
    }
    return id;
}
Also used : IFile(org.eclipse.core.resources.IFile) IEditorDescriptor(org.eclipse.ui.IEditorDescriptor) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PartInitException(org.eclipse.ui.PartInitException)

Example 2 with IEditorDescriptor

use of org.eclipse.ui.IEditorDescriptor in project translationstudio8 by heartsome.

the class XLIFFEditor method init.

/**
	 * 启动编辑器。
	 * 
	 * @param site
	 *            the site
	 * @param input
	 *            the input
	 * @throws PartInitException
	 *             the part init exception
	 * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
	 *      org.eclipse.ui.IEditorInput)
	 */
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("init(IEditorSite site, IEditorInput input)");
    }
    setSite(site);
    setInput(input);
    // 设置Editor标题栏的显示名称,否则名称用plugin.xml中的name属性
    setPartName(input.getName());
    Image oldTitleImage = titleImage;
    if (input != null) {
        IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
        IEditorDescriptor editorDesc = editorRegistry.findEditor(getSite().getId());
        ImageDescriptor imageDesc = editorDesc != null ? editorDesc.getImageDescriptor() : null;
        titleImage = imageDesc != null ? imageDesc.createImage() : null;
    }
    setTitleImage(titleImage);
    if (oldTitleImage != null && !oldTitleImage.isDisposed()) {
        oldTitleImage.dispose();
    }
    getSite().setSelectionProvider(this);
}
Also used : IEditorDescriptor(org.eclipse.ui.IEditorDescriptor) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) Image(org.eclipse.swt.graphics.Image) IEditorRegistry(org.eclipse.ui.IEditorRegistry)

Example 3 with IEditorDescriptor

use of org.eclipse.ui.IEditorDescriptor in project xtext-eclipse by eclipse.

the class ClassFileBasedOpenerContributor method collectSourceFileOpeners.

@Override
public boolean collectSourceFileOpeners(IEditorPart editor, IAcceptor<FileOpener> acceptor) {
    if (!(editor instanceof XtextEditor) && editor.getEditorInput() != null) {
        try {
            IClassFile classFile = (IClassFile) editor.getEditorInput().getAdapter(IClassFile.class);
            if (classFile == null) {
                return false;
            }
            ITrace trace = traceForTypeRootProvider.getTraceToSource(classFile);
            if (trace == null) {
                return false;
            }
            for (ILocationInResource location : trace.getAllAssociatedLocations()) {
                String name = location.getAbsoluteResourceURI().getURI().lastSegment();
                IEditorDescriptor editorDescriptor = IDE.getEditorDescriptor(name);
                acceptor.accept(createEditorOpener(editor.getEditorInput(), editorDescriptor.getId()));
                return true;
            }
        } catch (PartInitException e) {
            LOG.error(e.getMessage(), e);
        }
    }
    return false;
}
Also used : IClassFile(org.eclipse.jdt.core.IClassFile) XtextEditor(org.eclipse.xtext.ui.editor.XtextEditor) IEditorDescriptor(org.eclipse.ui.IEditorDescriptor) ITrace(org.eclipse.xtext.generator.trace.ITrace) PartInitException(org.eclipse.ui.PartInitException) ILocationInResource(org.eclipse.xtext.generator.trace.ILocationInResource)

Example 4 with IEditorDescriptor

use of org.eclipse.ui.IEditorDescriptor in project xtext-eclipse by eclipse.

the class OriginalEditorSelector method getXtextEditor.

protected IEditorDescriptor getXtextEditor(URI uri) {
    IResourceServiceProvider serviceProvider = resourceServiceProviderRegistry.getResourceServiceProvider(uri);
    if (serviceProvider != null) {
        XtextEditorInfo editorInfo = serviceProvider.get(XtextEditorInfo.class);
        if (editorInfo != null) {
            IEditorRegistry editorRegistry = workbench.getEditorRegistry();
            IEditorDescriptor result = editorRegistry.findEditor(editorInfo.getEditorId());
            // null is ok
            return result;
        }
    }
    return null;
}
Also used : IResourceServiceProvider(org.eclipse.xtext.resource.IResourceServiceProvider) IEditorDescriptor(org.eclipse.ui.IEditorDescriptor) XtextEditorInfo(org.eclipse.xtext.ui.editor.XtextEditorInfo) IEditorRegistry(org.eclipse.ui.IEditorRegistry)

Example 5 with IEditorDescriptor

use of org.eclipse.ui.IEditorDescriptor in project xtext-eclipse by eclipse.

the class XtextEditor method getDefaultImage.

@Override
public Image getDefaultImage() {
    IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
    IEditorDescriptor editorDesc = editorRegistry.findEditor(getSite().getId());
    ImageDescriptor imageDesc = editorDesc != null ? editorDesc.getImageDescriptor() : null;
    return imageDesc != null ? imageHelper.getImage(imageDesc) : super.getDefaultImage();
}
Also used : IEditorDescriptor(org.eclipse.ui.IEditorDescriptor) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) IEditorRegistry(org.eclipse.ui.IEditorRegistry)

Aggregations

IEditorDescriptor (org.eclipse.ui.IEditorDescriptor)74 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)34 PartInitException (org.eclipse.ui.PartInitException)34 FileEditorInput (org.eclipse.ui.part.FileEditorInput)27 IWorkbench (org.eclipse.ui.IWorkbench)25 IEditorPart (org.eclipse.ui.IEditorPart)21 IFile (org.eclipse.core.resources.IFile)19 IEditorRegistry (org.eclipse.ui.IEditorRegistry)18 CoreException (org.eclipse.core.runtime.CoreException)10 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)10 IEditorInput (org.eclipse.ui.IEditorInput)8 IContentType (org.eclipse.core.runtime.content.IContentType)7 ImageDescriptor (org.eclipse.jface.resource.ImageDescriptor)7 AbstractTextEditor (org.eclipse.ui.texteditor.AbstractTextEditor)7 Image (org.eclipse.swt.graphics.Image)5 InputStream (java.io.InputStream)4 BadLocationException (org.eclipse.jface.text.BadLocationException)4 Path (org.eclipse.core.runtime.Path)3 IContentDescription (org.eclipse.core.runtime.content.IContentDescription)3 JavaModelException (org.eclipse.jdt.core.JavaModelException)3