Examples of RepositoryTreeNode


Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

      return null;

    registerDisposal();
    removeListener();

    RepositoryTreeNode node = (RepositoryTreeNode) object;
    listenerHandle = node.getRepository().getListenerList()
        .addConfigChangedListener(new ConfigChangedListener() {
          public void onConfigChanged(ConfigChangedEvent event) {
            // force a refresh of the page
            lastObject = null;
            myPage.getSite().getShell().getDisplay().asyncExec(new Runnable() {

              public void run() {
                myPage.setPropertySourceProvider(RepositoryPropertySourceProvider.this);
              }
            });
          }
        });

    if (node.getType() == RepositoryTreeNodeType.REPO) {
      lastObject = object;
      checkChangeType(SourceType.REPOSITORY);
      lastRepositorySource = new RepositoryPropertySource(
          (Repository) node.getObject(), myPage);
      return lastRepositorySource;
    } else if (node.getType() == RepositoryTreeNodeType.REMOTE) {
      lastObject = object;
      checkChangeType(SourceType.REMOTE);
      lastRepositorySource = new RepositoryRemotePropertySource(node
          .getRepository().getConfig(), (String) node.getObject(),
          myPage);
      return lastRepositorySource;
    } else if (node.getType() == RepositoryTreeNodeType.FETCH
        || node.getType() == RepositoryTreeNodeType.PUSH)
      return getPropertySource(node.getParent());
    else if (node.getType() == RepositoryTreeNodeType.REF) {
      lastObject = object;
      Ref ref = (Ref) node.getObject();
      if (ref.getName().startsWith(Constants.R_HEADS) || ref.getName().startsWith(Constants.R_REMOTES)){
        checkChangeType(SourceType.BRANCH);
        Repository repository = (Repository) node.getAdapter(Repository.class);
        lastRepositorySource =  new BranchPropertySource(repository, ref.getName(), myPage);
        return lastRepositorySource;
      }
      return null;
    } else
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

        if (mapping != null)
          selectedRepo = mapping.getRepository();
      }
    }
    if (selectedRepo == null && first instanceof RepositoryTreeNode) {
      RepositoryTreeNode repoNode = (RepositoryTreeNode) ssel
          .getFirstElement();
      selectedRepo = repoNode.getRepository();
    }
    if (selectedRepo == null)
      return;

    // Only update when different repository is selected
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

    ISelection selection = context.getSelection();
    if (selection instanceof IStructuredSelection) {
      IStructuredSelection structuredSelection = (IStructuredSelection) selection;
      for (Object element : structuredSelection.toList()) {
        if (element instanceof RepositoryTreeNode) {
          RepositoryTreeNode node = (RepositoryTreeNode) element;
          showReflogFor(node.getRepository());
          return true;
        }
      }
    }
    return false;
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

    }
  }

  @Override
  public Image getImage(Object element) {
    RepositoryTreeNode node = (RepositoryTreeNode) element;
    RepositoryTreeNodeType type = node.getType();
    if (type == RepositoryTreeNodeType.TAG) {
      TagNode tagNode = (TagNode) node;
      if (tagNode.isAnnotated())
        return decorateImage(annotatedTagImage, element);
    } else if (type == RepositoryTreeNodeType.FILE) {
      Object object = node.getObject();
      if (object instanceof File) {
        ImageDescriptor descriptor = PlatformUI.getWorkbench()
            .getEditorRegistry()
            .getImageDescriptor(((File) object).getName());
        return decorateImage((Image) resourceManager.get(descriptor),
            element);
      }
    } else if (type == RepositoryTreeNodeType.REPO) {
      Object object = node.getObject();
      if (object instanceof Repository) {
        Repository r = (Repository) object;
        if (ResourcePropertyTester.hasGerritConfiguration(r))
          return gerritRepoImage;
      }
    }
    return decorateImage(node.getType().getIcon(), element);
  }
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

  @Override
  public String getText(Object element) {
    if (!(element instanceof RepositoryTreeNode))
      return null;

    RepositoryTreeNode node = (RepositoryTreeNode) element;

    return getSimpleText(node);
  }
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

    super.dispose();
  }

  private Image decorateImage(final Image image, Object element) {

    RepositoryTreeNode node = (RepositoryTreeNode) element;
    switch (node.getType()) {

    case TAG:
      // fall through
    case ADDITIONALREF:
      // fall through
    case REF:
      // if the branch or tag is checked out,
      // we want to decorate the corresponding
      // node with a little check indicator
      String refName = ((Ref) node.getObject()).getName();
      Ref leaf = ((Ref) node.getObject()).getLeaf();

      String branchName;
      String compareString;

      try {
        branchName = node.getRepository().getFullBranch();
        if (branchName == null)
          return image;
        if (refName.startsWith(Constants.R_HEADS)) {
          // local branch: HEAD would be on the branch
          compareString = refName;
        } else if (refName.startsWith(Constants.R_TAGS)) {
          // tag: HEAD would be on the commit id to which the tag is
          // pointing
          TagNode tagNode = (TagNode) node;
          compareString = tagNode.getCommitId();
        } else if (refName.startsWith(Constants.R_REMOTES)) {
          // remote branch: HEAD would be on the commit id to which
          // the branch is pointing
          ObjectId id = node.getRepository().resolve(refName);
          if (id == null)
            return image;
          RevWalk rw = new RevWalk(node.getRepository());
          try {
            RevCommit commit = rw.parseCommit(id);
            compareString = commit.getId().name();
          } finally {
            rw.release();
          }
        } else if (refName.equals(Constants.HEAD))
          return getDecoratedImage(image);
        else {
          String leafname = leaf.getName();
          if (leafname.startsWith(Constants.R_REFS)
              && leafname.equals(node.getRepository()
                  .getFullBranch()))
            return getDecoratedImage(image);
          else if (leaf.getObjectId().equals(
              node.getRepository().resolve(Constants.HEAD)))
            return getDecoratedImage(image);
          // some other symbolic reference
          return image;
        }
      } catch (IOException e1) {
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

    CommonViewer viewer = super.createCommonViewer(aParent);
    // handle the double-click event for tags and branches
    viewer.addDoubleClickListener(new IDoubleClickListener() {
      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(((RefNode) element)
              .getObject().getName());
        if (element instanceof TagNode)
          executeOpenCommandWithConfirmation(((TagNode) element)
              .getObject().getName());
      }
    });
    // handle open event for the working directory
    viewer.addOpenListener(new IOpenListener() {
      public void open(OpenEvent event) {
        TreeSelection sel = (TreeSelection) event.getSelection();
        RepositoryTreeNode element = (RepositoryTreeNode) sel
            .getFirstElement();
        if (element instanceof FileNode
            || element instanceof StashedCommitNode)
          executeOpenCommand();
      }
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

        } catch (InterruptedException e) {
          Activator.handleError(e.getMessage(), e, false);
        }

      for (String repoPath : entry.getValue()) {
        final RepositoryTreeNode node = getNodeForPath(repository, repoPath);
        if (node != null)
          nodesToShow.add(node);
      }
    }
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

   */
  public void showRepository(Repository repositoryToShow) {
    ITreeContentProvider cp = (ITreeContentProvider) getCommonViewer()
        .getContentProvider();
    for (Object repo : cp.getElements(getCommonViewer().getInput())) {
      RepositoryTreeNode node = (RepositoryTreeNode) repo;
      if (repositoryToShow.getDirectory().equals(node.getRepository().getDirectory()))
        selectReveal(new StructuredSelection(node));
    }
  }
View Full Code Here

Examples of org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode

  private static List<Object> getShowInElements(IStructuredSelection selection) {
    List<Object> elements = new ArrayList<Object>();
    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);
        if (resource != null)
          elements.add(resource);
      } else if (element instanceof RepositoryNode) {
        // Can be shown in History, Reflog and Properties views
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.