Java 类org.eclipse.core.runtime.PlatformObject 实例源码

项目:depan    文件:NodeCompactor.java   
private PlatformObject[] buildHierarchyRoots(
    GraphModel master, Collection<GraphNode> nodes) {
  List<PlatformObject> staging = Lists.newArrayList();

  List<GraphNode> remains = Lists.newArrayList(nodes);

  Collection<GraphNode> collapseNodes = getCollapseTreeModel().computeNodes();
  if (!collapseNodes.isEmpty()) {
    staging.add(buildCollapseRoot());
    remains.removeAll(collapseNodes);
  }

  for (GraphEdgeMatcherDescriptor matcher : getTreeDescriptors()) {
    staging.add(buildTreeRoot(master, remains, matcher));
  }

  staging.add(buildRemainsRoot(remains));
  PlatformObject[] result = new PlatformObject[staging.size()];
  return staging.toArray(result);
}
项目:depan    文件:NodeCompactor.java   
/**
 * The argument for {@code remains} is updated on each call.
 */
private PlatformObject buildTreeRoot(
    GraphModel master,
    Collection<GraphNode> remains,
    GraphEdgeMatcherDescriptor matcher) {

  // Build the hierarchy for this set of nodes and matcher
  GraphModel treeGraph = GraphBuilders.buildFromNodes(master, remains);
  GraphData<GraphNode> data = GraphData.createGraphData(
      NodeTreeProviders.GRAPH_NODE_PROVIDER,
      treeGraph, matcher.getInfo());

  // Update remains with info from hierarchy tree
  TreeModel tree = data.getTreeModel();
  remains.removeAll(tree.computeTreeNodes());

  // provide the root viewing object
  String label = MessageFormat.format("Tree of {0}", matcher.getName());
  return new ActionTreeRoot(data, label, matcher);
}
项目:statecharts    文件:HighlightingSubmachineDecorationProvider.java   
public void debugContextChanged(DebugContextEvent event) {
    if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) {
        PlatformObject object = (PlatformObject) ((IStructuredSelection) event.getContext()).getFirstElement();
        if (object == null)
            return;
        IDebugTarget newTarget = (IDebugTarget) object.getAdapter(IDebugTarget.class);
        if (newTarget != debugTarget && newTarget != null && !newTarget.isTerminated()) {
            debugTarget = newTarget;
        }
    }
}
项目:depan    文件:NodeListViewProvider.java   
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public PlatformObject buildViewerRoots() {
  List<PlatformObject> result = Lists.newArrayList();

  TreeModel.Flat model = new TreeModel.Flat(nodes);
  solo = new GraphData(provider, model);
  result.add(new SolitaryRoot(solo, listLabel));
  return new ViewerRoot(result.toArray());
}
项目:depan    文件:NodeCompactor.java   
private PlatformObject buildCollapseRoot() {

    CollapseTreeModel treeModel = getCollapseTreeModel();
    int rootCnt = treeModel.computeRoots().size();
    int nodeCnt = treeModel.computeNodes().size();

    String label = MessageFormat.format(
        "Collapse nodes [{0} roots, {1} nodes]", rootCnt, nodeCnt);
    return CollapseTreeRoot.build(
        label, treeModel, NodeTreeProviders.GRAPH_NODE_PROVIDER);
  }
项目:depan    文件:NodeCompactor.java   
private PlatformObject buildRemainsRoot(Collection<GraphNode> nodes) {
  TreeModel.Flat model = new TreeModel.Flat(nodes);
  GraphData<GraphNode> data = new GraphData<GraphNode>(
      NodeTreeProviders.GRAPH_NODE_PROVIDER, model);
  String label = MessageFormat.format("Solitaires [{0} nodes]", nodes.size());
  return new ActionRemainsRoot(data, label);
}
项目:depan    文件:ViewEditor.java   
/**
 * Provides the results for the 
 * {@link ViewEditorNodeViewerProvider#buildViewerRoots()}
 * this is returned by {@link #getNodeViewProvider()}.
 */
public ViewerRoot buildViewerRoot() {
  Collection<GraphNode> nodes = viewInfo.getViewNodes();
  PlatformObject[] roots = compactor.buildRoots(nodes);

  String label = buildNodeViewerLabel(roots.length, nodes.size());

  TreeViewerObject view = new TreeViewerObject(label, roots);
  return new ViewerRoot(new Object[] {view});
}
项目:AutoDeriv    文件:Decorator.java   
/**Called automagically by Eclipse.
 * I use this fct to filter the resources we decide to decorate or not.
 * see effectiveDecorate method, which effectively affect the IDecoration */
@Override
public void decorate(Object element, IDecoration decoration) {
    /* we only decorate IResources (IFile / IFolder mainly) but some awkward
     * classes are not in the IResource object tree, but are convertible
     * into IResources...
     * This happens for CContainers which are like folder in the CDT model.
     * This block tries to decorate these resources. The catch block occurs
     * when the element is neither in the IResource tree, nor convertible.
     */
    if(!(element instanceof IResource)){
        if (!(element instanceof PlatformObject)) return;

        // try the conversion thing for PlateformObject things
        try {
            IResource ir = (IResource) ((PlatformObject) element).getAdapter(IResource.class);
            if (ir != null && ir.isDerived())
                effectiveDecorateDerived(ir, decoration);
        } catch (Exception e) {
            info("element " + element.toString() + " not usable. "
                    + "Type is " + element.getClass().getCanonicalName());
        }
        return;
    }

    // easy case. Item is an IResource child.
    IResource objectResource = (IResource) element;

    if(FilterManager.isActiveConfFile(objectResource))
        effectiveDecorateConfFile(objectResource, decoration);

    if(objectResource.isDerived())
        effectiveDecorateDerived(objectResource, decoration);
}
项目:depan    文件:TreeViewerObjectAdapter.java   
private PlatformObject getParent(TreeViewerObject root) {
  return root.getParent();
}
项目:depan    文件:TreeViewerObject.java   
public TreeViewerObject(String name, PlatformObject[] children) {
  this(name, null, children);
}
项目:depan    文件:TreeViewerObject.java   
public TreeViewerObject(
    String name, PlatformObject parent, PlatformObject[] children) {
  this.name = name;
  this.parent = parent;
  this.children = children;
}
项目:depan    文件:TreeViewerObject.java   
public PlatformObject getParent() {
  return parent;
}
项目:depan    文件:TreeViewerObject.java   
public PlatformObject[] getChildren() {
  return children;
}
项目:depan    文件:GraphNodeViewer.java   
public void refresh() {
  PlatformObject treeRoots = provider.buildViewerRoots();
  treeViewer.setInput(treeRoots);
  provider.updateExpandState(treeViewer);
  treeViewer.refresh();
}
项目:depan    文件:ActionableViewerObject.java   
public ActionViewerObject(String name, PlatformObject[] children) {
  super(name, children);
}
项目:depan    文件:ActionableViewerObject.java   
public ActionViewerObject(
    String name, PlatformObject parent, PlatformObject[] children) {
  super(name, parent, children);
}
项目:depan    文件:NodeCompactor.java   
public PlatformObject[] buildRoots(Collection<GraphNode> nodes) {
  roots = buildHierarchyRoots(editor.getViewGraph(), nodes);
  return roots;
}
项目:xiliary    文件:Adapters.java   
private static <T> T getAdapterOfNonPlatformObjectFromRegistry( Object adaptable, Class<T> adapterType) {
  if( !( adaptable instanceof PlatformObject ) ) {
    return getAdapterFromRegistry( adaptable, adapterType );
  }
  return null;
}
项目:depan    文件:NodeViewerProvider.java   
PlatformObject buildViewerRoots();