/** * If there is an adapter registered against the subclass of * MultiPageEditorPart return that. Otherwise, delegate to the internal * editor. * * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) */ @Override public <T> T getAdapter(Class<T> adapter) { T result = super.getAdapter(adapter); // restrict delegating to the UI thread for bug 144851 if (result == null && Display.getCurrent()!=null) { IEditorPart innerEditor = getActiveEditor(); // see bug 138823 - prevent some subclasses from causing // an infinite loop if (innerEditor != null && innerEditor != this) { result = Adapters.adapt(innerEditor, adapter); } } return result; }
return (fSourceViewer == null ? null : (T) fSourceViewer); return super.getAdapter(required);
public Object getAdapter(Class key) { if (key.equals(IContentOutlinePage.class)) { Object object= getCompareConfiguration().getProperty(CompareConfiguration.USE_OUTLINE_VIEW); if (object instanceof Boolean && ((Boolean)object).booleanValue()) { if (fOutlinePage != null) { if (fOutlinePage.getControl() != null && fOutlinePage.getControl().isDisposed()) { fOutlinePage = null; } else { return fOutlinePage; } } fOutlinePage= new CompareOutlinePage(this); return fOutlinePage; } } if (key == IShowInSource.class || key == OutlineViewerCreator.class || key == IFindReplaceTarget.class) { Object input = getEditorInput(); if (input != null) { return Utilities.getAdapter(input, key); } } return super.getAdapter(key); }
return super.getAdapter(required);
return super.getAdapter(required);
return super.getAdapter(key);