use of org.eclipse.egit.ui.internal.repository.tree.FileNode in project egit by eclipse.
the class RepositoriesView method createCommonViewer.
@Override
protected CommonViewer createCommonViewer(Composite aParent) {
CommonViewer viewer = super.createCommonViewer(aParent);
// handle the double-click event for tags and branches
viewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
TreeSelection sel = (TreeSelection) event.getSelection();
RepositoryTreeNode element = (RepositoryTreeNode) sel.getFirstElement();
// Disable checkout for bare repositories
if (element.getRepository().isBare()) {
return;
}
if (element instanceof RefNode) {
executeOpenCommandWithConfirmation(element, ((RefNode) element).getObject().getName());
} else if (element instanceof TagNode) {
executeOpenCommandWithConfirmation(element, ((TagNode) element).getObject().getName());
}
}
});
// handle open event for the working directory
viewer.addOpenListener(new IOpenListener() {
@Override
public void open(OpenEvent event) {
TreeSelection sel = (TreeSelection) event.getSelection();
RepositoryTreeNode element = (RepositoryTreeNode) sel.getFirstElement();
if (element instanceof FileNode || element instanceof StashedCommitNode)
executeOpenCommand(element);
}
});
// react on selection changes
ISelectionService srv = CommonUtils.getService(getSite(), ISelectionService.class);
srv.addPostSelectionListener(selectionChangedListener);
// react on changes in the configured repositories
repositoryUtil.getPreferences().addPreferenceChangeListener(configurationListener);
initRepositoriesAndListeners();
activateContextService();
emptyArea.setBackground(viewer.getControl().getBackground());
if (!repositories.isEmpty())
layout.topControl = viewer.getControl();
else
layout.topControl = emptyArea;
return viewer;
}
use of org.eclipse.egit.ui.internal.repository.tree.FileNode in project egit by eclipse.
the class RepositoriesView method getShowInElements.
private static List<Object> getShowInElements(IStructuredSelection selection) {
List<Object> elements = new ArrayList<>();
for (Object element : selection.toList()) {
if (element instanceof FileNode || element instanceof FolderNode || element instanceof WorkingDirNode) {
RepositoryTreeNode treeNode = (RepositoryTreeNode) element;
IPath path = treeNode.getPath();
IResource resource = ResourceUtil.getResourceForLocation(path, false);
if (resource != null)
elements.add(resource);
} else if (element instanceof RepositoryNode) {
// Can be shown in History, Reflog and Properties views
elements.add(element);
} else if (element instanceof RepositoryNode || element instanceof RemoteNode || element instanceof FetchNode || element instanceof PushNode || element instanceof TagNode || element instanceof RefNode) {
// These can be shown in Properties view directly
elements.add(element);
}
}
return elements;
}
Aggregations