use of org.eclipse.egit.ui.internal.history.GitHistoryPage 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.egit.ui.internal.history.GitHistoryPage in project egit by eclipse.
the class CreatePatchHandler method isEnabled.
@Override
public boolean isEnabled() {
GitHistoryPage page = getPage();
if (page == null)
return false;
IStructuredSelection selection = getSelection(page);
if (selection.size() != 1)
return false;
RevCommit commit = (RevCommit) selection.getFirstElement();
return (commit.getParentCount() <= 1);
}
use of org.eclipse.egit.ui.internal.history.GitHistoryPage in project egit by eclipse.
the class DeleteTagOnCommitHandler method isEnabled.
@Override
public boolean isEnabled() {
GitHistoryPage page = getPage();
if (page == null)
return false;
IStructuredSelection selection = getSelection(page);
if (selection.size() != 1)
return false;
List<Ref> tags = getTagsOfCommit(selection);
return !tags.isEmpty();
}
use of org.eclipse.egit.ui.internal.history.GitHistoryPage in project egit by eclipse.
the class EditHandler method isEnabled.
@Override
public boolean isEnabled() {
GitHistoryPage page = getPage();
if (page == null)
return false;
IStructuredSelection selection = getSelection(page);
if (selection.size() != 1)
return false;
Repository repository = getRepository(page);
if (repository.getRepositoryState() != RepositoryState.SAFE)
return false;
RevCommit commit = (RevCommit) selection.getFirstElement();
return (commit.getParentCount() == 1);
}
use of org.eclipse.egit.ui.internal.history.GitHistoryPage in project egit by eclipse.
the class OpenInTextEditorHandler method isEnabled.
@Override
public boolean isEnabled() {
GitHistoryPage page = getPage();
if (page == null)
return false;
int size = getSelection(page).size();
if (size == 0)
return false;
return page.getInputInternal().isSingleFile();
}
Aggregations