org.eclipse.jface.viewers.TreePath.getSegmentCount()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(6.5k)|赞(0)|评价(0)|浏览(64)

本文整理了Java中org.eclipse.jface.viewers.TreePath.getSegmentCount()方法的一些代码示例,展示了TreePath.getSegmentCount()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TreePath.getSegmentCount()方法的具体详情如下:
包路径:org.eclipse.jface.viewers.TreePath
类名称:TreePath
方法名:getSegmentCount

TreePath.getSegmentCount介绍

[英]Returns the number of elements in this path.
[中]返回此路径中的元素数。

代码示例

代码示例来源:origin: org.eclipse/org.eclipse.team.ui

private Object internalGetElementParent(Object elementOrPath) {
  if (elementOrPath instanceof TreePath) {
    TreePath tp = (TreePath) elementOrPath;
    if (tp.getSegmentCount() > 1) {
      return tp.getSegment(tp.getSegmentCount() - 2);
    }
    
  }
  return null;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

private TreePath createSubPath(TreePath fullPath) {
  if (fRootPath == null) {
    return TreePath.EMPTY;
  }
  if (fullPath.getSegmentCount() <= fRootPath.getSegmentCount()) {
    return TreePath.EMPTY;
  }
  Object[] segments = new Object[fullPath.getSegmentCount() - fRootPath.getSegmentCount()];
  for (int i = 0; i < segments.length; i++) {
    segments[i] = fullPath.getSegment(i + fRootPath.getSegmentCount());
  }
  return new TreePath(segments);
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.team.ui

private Object internalGetElementParent(Object elementOrPath) {
  if (elementOrPath instanceof TreePath) {
    TreePath tp = (TreePath) elementOrPath;
    if (tp.getSegmentCount() > 1) {
      return tp.getSegment(tp.getSegmentCount() - 2);
    }
  }
  return null;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.team.ui

public boolean isResourcePath(TreePath path) {
  for (int i = 0; i < path.getSegmentCount(); i++) {
    Object o = path.getSegment(i);
    if (!(o instanceof IResource)) {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: org.eclipse/org.eclipse.ui.navigator

protected TreePathCompiler(TreePath aPath) {
  for (int i = 0; i < aPath.getSegmentCount(); i++) {
    segments.addLast(aPath.getSegment(i));
  }
}

代码示例来源:origin: org.eclipse/org.eclipse.team.ui

public boolean isResourcePath(TreePath path) {
  for (int i = 0; i < path.getSegmentCount(); i++) {
    Object o = path.getSegment(i);
    if (!(o instanceof IResource)) {
      return false;
    }
  }
  return true;
}

代码示例来源:origin: org.eclipse/org.eclipse.team.ui

private boolean hasNonResource(TreePath parentPath) {
  for (int i = 0; i < parentPath.getSegmentCount(); i++) {
    Object o = parentPath.getSegment(i);
    if (!(o instanceof IResource) && !(o instanceof ModelProvider) && !(o instanceof ChangeSet)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.team.ui

private boolean hasNonResource(TreePath parentPath) {
  for (int i = 0; i < parentPath.getSegmentCount(); i++) {
    Object o = parentPath.getSegment(i);
    if (!(o instanceof IResource) && !(o instanceof ModelProvider) && !(o instanceof ChangeSet)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.jface

/**
 * Returns a copy of this tree path with one segment removed from the end,
 * or <code>null</code> if this tree path has no segments.
 * @return a tree path
 */
public TreePath getParentPath() {
  int segmentCount = getSegmentCount();
  if (segmentCount < 1) {
    return null;
  } else if (segmentCount == 1) {
    return EMPTY;
  }
  Object[] parentSegments = new Object[segmentCount - 1];
  System.arraycopy(segments, 0, parentSegments, 0, segmentCount - 1);
  return new TreePath(parentSegments);
}

代码示例来源:origin: org.eclipse.scout.sdk.deps/org.eclipse.jdt.ui

private TreePath createTreePath(TreePath old, Object newElement) {
    int count= old.getSegmentCount();
    Object[] newObjects= new Object[count];
    for (int i= 0; i < count - 1; i++) {
      newObjects[i]= old.getSegment(i);
    }
    newObjects[count - 1]= newElement;
    return new TreePath(newObjects);
  }
}

代码示例来源:origin: org.eclipse.jdt/org.eclipse.jdt.ui

private TreePath createTreePath(TreePath old, Object newElement) {
    int count= old.getSegmentCount();
    Object[] newObjects= new Object[count];
    for (int i= 0; i < count - 1; i++) {
      newObjects[i]= old.getSegment(i);
    }
    newObjects[count - 1]= newElement;
    return new TreePath(newObjects);
  }
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

@Override
TreePath getSchedulingPath() {
  TreePath path = getElementPath();
  if (path.getSegmentCount() > 0) {
    return path.getParentPath();
  }
  return path;
}

代码示例来源:origin: org.eclipse/org.eclipse.jdt.ui

private TreePath createTreePath(TreePath old, Object newElement) {
    int count= old.getSegmentCount();
    Object[] newObjects= new Object[count];
    for (int i= 0; i < count - 1; i++) {
      newObjects[i]= old.getSegment(i);
    }
    newObjects[count - 1]= newElement;
    return new TreePath(newObjects);
  }
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

@Override
public Object[] getChildren(TreePath parentPath) {
  if (hasChildren(parentPath)) {
    return new Object[] { fInput.fPath.getSegment(parentPath.getSegmentCount()) };
  }
  return EMPTY_ELEMENTS_ARRAY;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

/**
 * Performs auto expand on an element at the specified path if the auto expand
 * level dictates the element should be expanded.
 *
 * @param elementPath tree path to element to consider for expansion
 */
@Override
public void autoExpand(TreePath elementPath) {
  int level = getAutoExpandLevel();
  if (level > 0 || level == org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer.ALL_LEVELS) {
    if (level == org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer.ALL_LEVELS || level > elementPath.getSegmentCount()) {
      expandToLevel(elementPath, 1);
    }
  }
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

@Override
TreePath getSchedulingPath() {
  TreePath path = getElementPath();
  if (path.getSegmentCount() > 0) {
    return path.getParentPath();
  }
  return path;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

private ModelDelta findDeltaForPath(ModelDelta root, TreePath path) {
  ModelDelta delta = root;
  for (int i = 0; i < path.getSegmentCount(); i++) {
    delta = delta.getChildDelta(path.getSegment(i));
    if (delta == null) {
      return null;
    }
  }
  return delta;
}

代码示例来源:origin: org.eclipse/org.eclipse.ui.navigator

/**
 * Get the element from an element or tree path argument.
 * @param parentElementOrPath the element or tree path
 * @return the element
 */
private Object internalAsElement(Object parentElementOrPath) {
  if (parentElementOrPath instanceof TreePath) {
    TreePath tp = (TreePath) parentElementOrPath;
    if (tp.getSegmentCount() > 0) {
      return tp.getLastSegment();
    }
    // If the path is empty, the parent element is the root
    return viewer.getInput();
  }
  return parentElementOrPath;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

public VirtualItem findItem(TreePath path) {
  if (path.getSegmentCount() == 0) {
    return fTree;
  }
  List<VirtualItem> itemsList = fItemsMap.get(path.getLastSegment());
  if (itemsList != null) {
    for (VirtualItem item : itemsList) {
      if (path.equals(getTreePathFromItem(item))) {
        return item;
      }
    }
  }
  return null;
}

代码示例来源:origin: org.eclipse.platform/org.eclipse.debug.ui

/**
 * Returns the element corresponding to the given tree path.
 *
 * @param path
 *            tree path
 * @return model element
 */
protected Object getElement(TreePath path) {
  if (path.getSegmentCount() > 0) {
    return path.getLastSegment();
  }
  return getViewer().getInput();
}

相关文章