use of org.eclipse.team.ui.history.IHistoryPage in project egit by eclipse.
the class GitAdapterFactory method getAdapter.
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
if (adapterType.isAssignableFrom(IHistoryPageSource.class)) {
return GitHistoryPageSource.INSTANCE;
}
if (IWorkbenchAdapter.class == adapterType) {
// property page names for git repository tree nodes
if (adaptableObject instanceof RepositoryTreeNode) {
return getRepositoryTreeNodeWorkbenchAdapter((RepositoryTreeNode) adaptableObject);
}
if (gitModelWorkbenchAdapter == null) {
gitModelWorkbenchAdapter = new GitModelWorkbenchAdapter();
}
return gitModelWorkbenchAdapter;
}
if (adaptableObject instanceof IHistoryView && IShowInSource.class == adapterType) {
IHistoryView historyView = (IHistoryView) adaptableObject;
IHistoryPage historyPage = historyView.getHistoryPage();
if (historyPage instanceof GitHistoryPage) {
return historyPage;
}
}
if (adaptableObject instanceof IURIEditorInput && adapterType == Repository.class) {
return getRepository((IURIEditorInput) adaptableObject);
}
if (adaptableObject instanceof IURIEditorInput && adapterType == File.class) {
return getFile((IURIEditorInput) adaptableObject);
}
if (adaptableObject instanceof GitModelObject && adapterType == ResourceMapping.class) {
return GitObjectMapping.create((GitModelObject) adaptableObject);
}
if (adaptableObject instanceof GitModelObject && adapterType == IResource.class) {
GitModelObject obj = (GitModelObject) adaptableObject;
if (obj instanceof GitModelBlob) {
IResource res = ResourceUtil.getFileForLocation(obj.getLocation(), false);
if (res == null) {
// Deleted resource?
res = getWorkspaceResourceFromGitPath(obj.getLocation());
}
return res;
}
if (obj instanceof GitModelTree) {
IResource res = root.getContainerForLocation(obj.getLocation());
if (res == null) {
res = root.getFolder(obj.getLocation());
}
return res;
}
}
if (adapterType == Repository.class) {
ResourceMapping m = AdapterUtils.adapt(adaptableObject, ResourceMapping.class);
if (m != null) {
return SelectionUtils.getRepository(new StructuredSelection(m));
}
}
return null;
}
use of org.eclipse.team.ui.history.IHistoryPage in project egit by eclipse.
the class GitFlowAdapterFactory method getAdapter.
@SuppressWarnings("unchecked")
@Override
public Repository getAdapter(Object adaptableObject, Class adapterType) {
Repository repository = null;
if (adaptableObject instanceof IResource) {
IResource resource = (IResource) adaptableObject;
repository = getRepository(resource);
} else if (adaptableObject instanceof IHistoryView) {
IHistoryView historyView = (IHistoryView) adaptableObject;
IHistoryPage historyPage = historyView.getHistoryPage();
Object input = historyPage.getInput();
if (input instanceof RepositoryNode) {
RepositoryNode node = (RepositoryNode) input;
repository = node.getRepository();
} else if (input instanceof IResource) {
repository = getRepository((IResource) input);
}
} else if (adaptableObject instanceof ISelection) {
IStructuredSelection structuredSelection = SelectionUtils.getStructuredSelection((ISelection) adaptableObject);
repository = SelectionUtils.getRepository(structuredSelection);
} else {
throw new IllegalStateException();
}
return repository;
}
use of org.eclipse.team.ui.history.IHistoryPage in project egit by eclipse.
the class AbstractHistoryCommandHandler method getPageFromPart.
private GitHistoryPage getPageFromPart(IWorkbenchPart part) {
if (!(part instanceof IHistoryView))
return null;
IHistoryView view = (IHistoryView) part;
IHistoryPage page = view.getHistoryPage();
if (page instanceof GitHistoryPage)
return (GitHistoryPage) page;
return null;
}
Aggregations