Example usage for org.eclipse.jface.viewers TreeViewer add

List of usage examples for org.eclipse.jface.viewers TreeViewer add

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer add.

Prototype

public void add(Object parentElementOrTreePath, Object... childElements) 

Source Link

Document

Adds the given child elements to this viewer as children of the given parent element.

Usage

From source file:org.eclipse.team.examples.model.ui.mapping.ModelSyncContentProvider.java

License:Open Source License

void handleChange(IDiffChangeEvent event) {
    Set existingProjects = getVisibleModelProjects();
    IProject[] changedProjects = getChangedModelProjects(event);
    List refreshes = new ArrayList(changedProjects.length);
    List additions = new ArrayList(changedProjects.length);
    List removals = new ArrayList(changedProjects.length);
    for (int i = 0; i < changedProjects.length; i++) {
        IProject project = changedProjects[i];
        if (hasVisibleChanges(event.getTree(), project)) {
            if (existingProjects.contains(project)) {
                refreshes.add(ModelObject.create(project));
            } else {
                additions.add(ModelObject.create(project));
            }//  w  w w .ja  v  a  2  s.c o m
        } else if (existingProjects.contains(project)) {
            removals.add(ModelObject.create(project));

        }
    }
    if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) {
        TreeViewer viewer = (TreeViewer) getViewer();
        Tree tree = viewer.getTree();
        try {
            tree.setRedraw(false);
            if (!additions.isEmpty())
                viewer.add(viewer.getInput(), additions.toArray());
            if (!removals.isEmpty())
                viewer.remove(viewer.getInput(), removals.toArray());
            if (!refreshes.isEmpty()) {
                for (Iterator iter = refreshes.iterator(); iter.hasNext();) {
                    Object element = iter.next();
                    viewer.refresh(element);
                }
            }
        } finally {
            tree.setRedraw(true);
        }
    }
}

From source file:org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider.java

License:Open Source License

private void handleChange(IDiffChangeEvent event) {
    List refreshes = new ArrayList();
    List additions = new ArrayList();
    List removals = new ArrayList();
    if (isFlatPresentation()) {
        Set existingResources = getVisibleResources();
        IResource[] changedResources = getChangedResources(event, existingResources);
        for (int i = 0; i < changedResources.length; i++) {
            IResource resource = changedResources[i];
            if (event.getTree().getDiff(resource.getFullPath()) != null) {
                if (existingResources.contains(resource)) {
                    refreshes.add(resource);
                } else {
                    additions.add(resource);
                }/*from   w  w  w. j av  a  2 s. c o  m*/
            } else if (existingResources.contains(resource)) {
                removals.add(resource);

            }
        }
    } else {
        IProject[] changedProjects = getChangedProjects(event);
        Set existingProjects = getVisibleProjects();
        for (int i = 0; i < changedProjects.length; i++) {
            IProject project = changedProjects[i];
            if (hasVisibleChanges(event.getTree(), project)) {
                if (existingProjects.contains(project)) {
                    refreshes.add(project);
                } else {
                    additions.add(project);
                }
            } else if (existingProjects.contains(project)) {
                removals.add(project);

            }
        }
    }
    if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) {
        TreeViewer viewer = (TreeViewer) getViewer();
        Tree tree = viewer.getTree();
        try {
            tree.setRedraw(false);
            if (!additions.isEmpty())
                viewer.add(viewer.getInput(), additions.toArray());
            if (!removals.isEmpty())
                viewer.remove(viewer.getInput(), removals.toArray());
            if (!refreshes.isEmpty()) {
                for (Iterator iter = refreshes.iterator(); iter.hasNext();) {
                    Object element = iter.next();
                    viewer.refresh(element);
                }
            }
        } finally {
            tree.setRedraw(true);
        }
    }
}

From source file:org.eclipse.ui.internal.keys.NewKeysPreferencePage.java

License:Open Source License

private void createTree(Composite parent) {
    fPatternFilter = new CategoryPatternFilter(true, fDefaultCategory);
    fPatternFilter.filterCategories(true);

    GridData gridData;/*w  w w.j  a  va  2s  .c  o m*/

    fFilteredTree = new CategoryFilterTree(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER,
            fPatternFilter);
    final GridLayout layout = new GridLayout(1, false);
    layout.marginWidth = 0;
    fFilteredTree.setLayout(layout);
    gridData = new GridData();
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalAlignment = SWT.FILL;
    gridData.verticalAlignment = SWT.FILL;
    fFilteredTree.setLayoutData(gridData);

    final TreeViewer viewer = fFilteredTree.getViewer();
    // Make sure the filtered tree has a height of ITEMS_TO_SHOW
    final Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    final Object layoutData = tree.getLayoutData();
    if (layoutData instanceof GridData) {
        gridData = (GridData) layoutData;
        final int itemHeight = tree.getItemHeight();
        if (itemHeight > 1) {
            gridData.heightHint = ITEMS_TO_SHOW * itemHeight;
        }
    }

    BindingModelComparator comparator = new BindingModelComparator();
    viewer.setComparator(comparator);

    final TreeColumn commandNameColumn = new TreeColumn(tree, SWT.LEFT, COMMAND_NAME_COLUMN);
    commandNameColumn.setText(NewKeysPreferenceMessages.CommandNameColumn_Text);
    tree.setSortColumn(commandNameColumn);
    tree.setSortDirection(comparator.isAscending() ? SWT.UP : SWT.DOWN);
    commandNameColumn
            .addSelectionListener(new ResortColumn(comparator, commandNameColumn, viewer, COMMAND_NAME_COLUMN));

    final TreeColumn triggerSequenceColumn = new TreeColumn(tree, SWT.LEFT, KEY_SEQUENCE_COLUMN);
    triggerSequenceColumn.setText(NewKeysPreferenceMessages.TriggerSequenceColumn_Text);
    triggerSequenceColumn.addSelectionListener(
            new ResortColumn(comparator, triggerSequenceColumn, viewer, KEY_SEQUENCE_COLUMN));

    final TreeColumn whenColumn = new TreeColumn(tree, SWT.LEFT, CONTEXT_COLUMN);
    whenColumn.setText(NewKeysPreferenceMessages.WhenColumn_Text);
    whenColumn.addSelectionListener(new ResortColumn(comparator, whenColumn, viewer, CONTEXT_COLUMN));

    final TreeColumn categoryColumn = new TreeColumn(tree, SWT.LEFT, CATEGORY_COLUMN);
    categoryColumn.setText(NewKeysPreferenceMessages.CategoryColumn_Text);
    categoryColumn.addSelectionListener(new ResortColumn(comparator, categoryColumn, viewer, CATEGORY_COLUMN));

    final TreeColumn userMarker = new TreeColumn(tree, SWT.LEFT, USER_DELTA_COLUMN);
    userMarker.setText(NewKeysPreferenceMessages.UserColumn_Text);
    userMarker.addSelectionListener(new ResortColumn(comparator, userMarker, viewer, USER_DELTA_COLUMN));

    viewer.setContentProvider(new ModelContentProvider());
    viewer.setLabelProvider(new BindingElementLabelProvider());

    fFilteredTree.getPatternFilter().setIncludeLeadingWildcard(true);
    final TreeColumn[] columns = viewer.getTree().getColumns();

    columns[COMMAND_NAME_COLUMN].setWidth(240);
    columns[KEY_SEQUENCE_COLUMN].setWidth(130);
    columns[CONTEXT_COLUMN].setWidth(130);
    columns[CATEGORY_COLUMN].setWidth(130);
    columns[USER_DELTA_COLUMN].setWidth(50);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        // When the viewer changes selection, update the model's current
        // selection
        public void selectionChanged(SelectionChangedEvent event) {
            ModelElement binding = (ModelElement) ((IStructuredSelection) event.getSelection())
                    .getFirstElement();
            keyController.getBindingModel().setSelectedElement(binding);
        }
    });

    IPropertyChangeListener treeUpdateListener = new IPropertyChangeListener() {

        // When the model changes a property, update the viewer
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getSource() == keyController.getBindingModel()
                    && CommonModel.PROP_SELECTED_ELEMENT.equals(event.getProperty())) {
                Object newVal = event.getNewValue();
                StructuredSelection structuredSelection = newVal == null ? null
                        : new StructuredSelection(newVal);
                viewer.setSelection(structuredSelection, true);
            } else if (event.getSource() instanceof BindingElement
                    && ModelElement.PROP_MODEL_OBJECT.equals(event.getProperty())) {
                viewer.update(event.getSource(), null);
            } else if (BindingElement.PROP_CONFLICT.equals(event.getProperty())) {
                viewer.update(event.getSource(), null);
            } else if (BindingModel.PROP_BINDINGS.equals(event.getProperty())) {
                viewer.refresh();
            } else if (BindingModel.PROP_BINDING_ADD.equals(event.getProperty())) {
                viewer.add(keyController.getBindingModel(), event.getNewValue());
            } else if (BindingModel.PROP_BINDING_REMOVE.equals(event.getProperty())) {
                viewer.remove(event.getNewValue());
            } else if (BindingModel.PROP_BINDING_FILTER.equals(event.getProperty())) {
                viewer.refresh();
            }
        }
    };
    keyController.addPropertyChangeListener(treeUpdateListener);
    // as far as I got
}

From source file:org.eclipse.wst.ide.remote.ui.internal.view.ModifyMessageAction.java

License:Open Source License

public void run(IAction action) {
    if (selection != null) {
        Object element = ((StructuredSelection) selection).getFirstElement();
        if (element != null && element instanceof Request) {
            Request req = (Request) element;
            ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
            MonitorManager.getInstance().addResendRequest(req, newReq);
            TreeViewer treeViewer = MonitorView.view.treeViewer;
            treeViewer.add(req, newReq);
            treeViewer.setSelection(new StructuredSelection(newReq), false);
        }/*from w  ww .j av  a 2s  . c o  m*/
    }
}

From source file:org.eclipse.wst.ide.remote.ui.internal.view.ResendMessageAction.java

License:Open Source License

public void run(IAction action) {
    if (selection != null) {
        Object element = ((StructuredSelection) selection).getFirstElement();
        if (element != null && element instanceof Request) {
            Request req = (Request) element;
            ResendHTTPRequest newReq = MonitorManager.createResendRequest(req);
            MonitorManager.getInstance().addResendRequest(req, newReq);
            TreeViewer treeViewer = MonitorView.view.treeViewer;
            treeViewer.add(req, newReq);
            treeViewer.setSelection(new StructuredSelection(newReq), false);
            newReq.sendRequest();/*from  w  w  w. j a v a 2 s.  c  o m*/
        }
    }
}

From source file:org.eclipse.wst.jsdt.internal.ui.model.JavaSynchronizationContentProvider.java

License:Open Source License

/**
 * Handles a diff change event.//  w w  w. j a  v a2s.  c o m
 * 
 * @param event
 *            the event
 */
private void handleChange(final IDiffChangeEvent event) {
    final Set existing = getVisibleProjects();
    // Get all existing and open projects that contain changes
    // and determine what needs to be done to the project
    // (i.e. add, remove or refresh)
    final IJavaScriptProject[] changed = getChangedProjects(event);
    final List refreshes = new ArrayList(changed.length);
    final List additions = new ArrayList(changed.length);
    final List removals = new ArrayList(changed.length);
    for (int index = 0; index < changed.length; index++) {
        final IJavaScriptProject project = changed[index];
        if (hasVisibleChanges(event.getTree(), project)) {
            if (existing.contains(project))
                refreshes.add(project);
            else
                additions.add(project);
        } else
            removals.add(project);
    }
    // Remove any java projects that correspond to deleted or closed projects
    final Set removed = getDeletedProjects(event);
    for (final Iterator iterator = existing.iterator(); iterator.hasNext();) {
        final IJavaScriptProject element = (IJavaScriptProject) iterator.next();
        if (removed.contains(element.getResource()))
            removals.add(element);
    }

    if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) {
        final TreeViewer viewer = (TreeViewer) getViewer();
        final Tree tree = viewer.getTree();
        try {
            tree.setRedraw(false);
            if (!additions.isEmpty())
                viewer.add(viewer.getInput(), additions.toArray());
            if (!removals.isEmpty())
                viewer.remove(viewer.getInput(), removals.toArray());
            if (!refreshes.isEmpty()) {
                for (final Iterator iter = refreshes.iterator(); iter.hasNext();)
                    viewer.refresh(iter.next());
            }
        } finally {
            tree.setRedraw(true);
        }
    }
}

From source file:org.embl.cca.utils.ui.widget.support.treeviewer.TreeContentProvider.java

License:Apache License

@Override
public void childrenReady(final TreeNode node, final TreeNodeState result, final TreeNode[] previousChildren) {
    synchronized (node.nodePathRequests) {
        try {/*from  w  w  w.ja v  a 2  s .com*/
            final TreeViewer treeViewer = getTreeViewer();
            //      final long t1 = System.nanoTime();
            switch (result) {
            case TREENODE_FILLED:
                //                     System.out.println("FolderListerJob: before adding children, this: " + TreeNode.this.toString());
                treeViewer.remove(node, previousChildren);
                treeViewer.add(node, node.listChildren);
                //            System.out.println("BP1* treeNodes added, " + TreeNode.this.toString());
                //                     System.out.println("FolderListerJob: after adding children, this: " + TreeNode.this.toString());
                //                     treeViewer.refresh(TreeNode.this, false);
                treeViewer.expandToLevel(node, 1); //Tell TV: show children of node (user asked)
                //            final FileSystemEntryNode fsen = (FileSystemEntryNode)node;
                final Iterator<Entry<List<TreeNode>, TreeNodeRequest>> it = node.nodePathRequests.entrySet()
                        .iterator();
                while (it.hasNext()) {
                    final Entry<List<TreeNode>, TreeNodeRequest> nodePathAndRequest = it.next();
                    List<TreeNode> nodePath = nodePathAndRequest.getKey();
                    if (nodePath.size() == 0)
                        finishRequest(nodePathAndRequest.getValue(), node);
                    else
                        requestForPath(nodePathAndRequest.getValue(), null, nodePath);
                }
                break;
            case TREENODE_NOT_FILLABLE:
                treeViewer.expandToLevel(node, 1); //Tell TV: show children of node (user asked)
                //            long t2 = System.nanoTime();
                //            System.out.println("Filling node took " + (t2-t1)/1000000000. + " sec");
                System.out.println(
                        "! " + this.getClass().getName() + ".childrenReady, in TREENODE_NOT_FILLABLE branch");
                break;
            case TREENODE_NOT_EXISTING:
                treeViewer.refresh(node.getParent(), false); //Tell TV: parent does not have this child
                break;
            }
            fireNodeReady(node.identifier, result);
        } finally {
            node.nodePathRequests.clear();
            debug();
        }
    }
}

From source file:org.fusesource.ide.zk.core.viewers.TreeViewerType.java

License:Apache License

@Override
public void addElement(StructuredViewer viewer, Object parent, Object element) {
    TreeViewer treeViewer = (TreeViewer) viewer;
    treeViewer.add(parent, element);
}

From source file:tinyos.dlrc.views.NodeContentProvider.java

License:Open Source License

/**
 * Informs the <code>viewer</code> that <code>element</code> has been
 * added, <code>element</code> is a root in this content provider.
 * @param viewer the viewer//  w ww . j  a v  a  2 s.co m
 * @param element the new root
 */
protected void addRoot(TreeViewer viewer, Element element) {
    Object[] path = getRootPath(element);
    Object self = getPathElement(element);

    if (path.length == 0) {
        viewer.add(viewer.getInput(), self);
    } else {
        viewer.add(new TreePath(path), self);
    }
}