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:au.gov.ga.earthsci.application.parts.layer.handlers.PasteHandler.java

License:Apache License

@Execute
public void execute(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) ILayerTreeNode target,
        TreeViewer viewer, Clipboard clipboard) {
    if (target == null)
        target = model.getRootNode();/*w  w  w.  java  2  s  . c om*/

    LayerTransferData data = (LayerTransferData) clipboard.getContents(LayerTransfer.getInstance());
    if (data != null) {
        for (TransferredLayer layer : data.getLayers()) {
            ILayerTreeNode node = layer.getNode();
            target.add(node);
            viewer.add(target, node);
            viewer.reveal(node);
        }
    }

    String[] filenames = (String[]) clipboard.getContents(FileTransfer.getInstance());
    if (filenames != null) {
        for (String filename : filenames) {
            File file = new File(filename);
            if (file.isFile()) {
                LayerNode node = new LayerNode();
                node.setName(file.getName());
                node.setEnabled(true);
                node.setURI(file.toURI());
                target.add(node);
                viewer.add(target, node);
                viewer.reveal(node);
            }
        }
    }
}

From source file:au.gov.ga.earthsci.layer.ui.handlers.PasteHandler.java

License:Apache License

@Execute
public void execute(@Optional @Named(IServiceConstants.ACTIVE_SELECTION) ILayerTreeNode target,
        TreeViewer viewer, Clipboard clipboard) {
    if (target == null) {
        target = model.getRootNode();/*w  w  w . j a  v  a  2  s . c o m*/
    }

    LayerTransferData data = (LayerTransferData) clipboard.getContents(LayerTransfer.getInstance());
    if (data != null) {
        for (TransferredLayer layer : data.getLayers()) {
            ILayerTreeNode node = layer.getNode();
            target.addChild(node);
            viewer.add(target, node);
            viewer.reveal(node);

            initializeAllLayers(node, context);
        }
    }

    String[] filenames = (String[]) clipboard.getContents(FileTransfer.getInstance());
    if (filenames != null) {
        for (String filename : filenames) {
            File file = new File(filename);
            if (file.isFile()) {
                LayerNode node = new LayerNode();
                node.setName(file.getName());
                node.setEnabled(true);
                target.addChild(node);
                viewer.add(target, node);
                viewer.reveal(node);

                IntentLayerLoader.load(file.toURI(), node, context);
            }
        }
    }
}

From source file:com.bdaum.zoom.ui.internal.dialogs.EditMetaDialog.java

License:Open Source License

private void addKeywordToViewer(TreeViewer viewer, String kw, boolean select) {
    if (keywords.add(kw)) {
        if (flatKeywordGroup.isFlat())
            viewer.add(null, kw);
        else {// w  ww  .j  av  a2  s.c  o m
            Object[] expandedElements = viewer.getExpandedElements();
            viewer.setInput(keywords);
            viewer.setExpandedElements(expandedElements);
        }
    }
    if (select)
        keywordViewer.setSelection(new StructuredSelection(kw));
}

From source file:com.nextep.designer.sqlgen.ui.impl.SQLSearchTreeNewContentProvider.java

License:Open Source License

public synchronized void elementsChanged(Object[] updatedElements, boolean updateViewer) {
    for (Object o : updatedElements) {
        if (o instanceof IVersionable<?>) {
            final IVersionContainer parentContainer = ((IVersionable<?>) o).getContainer();
            List<Object> objs = elements.get(parentContainer);
            if (objs == null) {
                objs = new ArrayList<Object>();
                elements.put(parentContainer, objs);
            }/* ww w. ja v a 2s.co m*/
            objs.add(o);
            if (updateViewer) {
                if (viewer instanceof TreeViewer) {
                    TreeViewer treeViewer = (TreeViewer) viewer;
                    treeViewer.add(parentContainer, o);
                    // For all matches found
                    for (Match match : result.getMatches(o)) {
                        treeViewer.add(o, match);
                    }
                } else if (viewer instanceof TableViewer) {
                    TableViewer tabViewer = (TableViewer) viewer;
                    tabViewer.add(o);
                }
            }
        }
    }
    viewer.refresh();
}

From source file:com.vectrace.MercurialEclipse.synchronize.cs.HgChangeSetContentProvider.java

License:Open Source License

private void ensureRootsAdded() {
    TreeViewer viewer = getTreeViewer();
    TreeItem[] children = viewer.getTree().getItems();
    if (children.length == 0) {
        viewer.add(viewer.getInput(), getRootElements());
    }//ww  w  .  j  a v a 2 s. com
}

From source file:ext.org.eclipse.jdt.internal.ui.model.JavaSynchronizationContentProvider.java

License:Open Source License

/**
 * Handles a diff change event./* www  .  j  av a 2 s  .  c  om*/
 *
 * @param event
 *            the event
 */
private void handleChange(final IDiffChangeEvent event) {
    final Set<IJavaProject> 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 IJavaProject[] changed = getChangedProjects(event);
    final List<IJavaProject> refreshes = new ArrayList<IJavaProject>(changed.length);
    final List<IJavaProject> additions = new ArrayList<IJavaProject>(changed.length);
    final List<IJavaProject> removals = new ArrayList<IJavaProject>(changed.length);
    for (int index = 0; index < changed.length; index++) {
        final IJavaProject 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<IProject> removed = getDeletedProjects(event);
    for (final Iterator<IJavaProject> iterator = existing.iterator(); iterator.hasNext();) {
        final IJavaProject element = 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<IJavaProject> iter = refreshes.iterator(); iter.hasNext();)
                    viewer.refresh(iter.next());
            }
        } finally {
            tree.setRedraw(true);
        }
    }
}

From source file:net.tourbook.ui.views.tagging.TVITagViewTag.java

License:Open Source License

private void refreshFlatTours(final TreeViewer tagViewer, final ArrayList<TourData> modifiedTours,
        final boolean isAddMode) {

    final ArrayList<TreeViewerItem> unfetchedChildren = getUnfetchedChildren();
    if (unfetchedChildren == null) {
        // children are not fetched
        return;// w  w w.  java 2 s .c om
    }

    if (isAddMode) {

        // this tag was added to tours

        final ArrayList<TreeViewerItem> tagChildren = readTagChildren_Tours(
                getTourIdWhereClause(modifiedTours));

        // update model
        unfetchedChildren.addAll(tagChildren);

        // update viewer
        tagViewer.add(this, tagChildren.toArray());

    } else {

        // this tag was remove from tours

        final HashMap<Long, TVITagViewTour> removedTours = new HashMap<Long, TVITagViewTour>();

        // loop all tour items
        for (final TreeViewerItem treeItem : unfetchedChildren) {

            if (treeItem instanceof TVITagViewTour) {

                final TVITagViewTour tourItem = (TVITagViewTour) treeItem;
                final long itemTourId = tourItem.getTourId();

                // find tour item in the modified tours
                for (final TourData tourData : modifiedTours) {
                    if (tourData.getTourId().longValue() == itemTourId) {

                        // tree tour item was found in the modified tours

                        // remove the item outside of the for loop
                        removedTours.put(itemTourId, tourItem);

                        break;
                    }
                }
            }
        }

        final Collection<TVITagViewTour> removedTourItems = removedTours.values();

        // update model
        unfetchedChildren.removeAll(removedTours.values());

        // update viewer
        tagViewer.remove(removedTourItems.toArray());
    }
}

From source file:org.eclipse.cdt.debug.internal.ui.views.AbstractDebugEventHandler.java

License:Open Source License

/**
 * Helper method for inserting the given element in the tree viewer - 
 * must be called in UI thread/* ww w  .  jav a 2s.  com*/
 */
protected void insert(Object element) {
    TreeViewer viewer = getTreeViewer();
    if (isAvailable() && viewer != null) {
        Object parent = ((ITreeContentProvider) viewer.getContentProvider()).getParent(element);
        // a parent can be null for a debug target or process that has not yet been associated
        // with a launch
        if (parent != null) {
            getView().showViewer();
            viewer.add(parent, element);
        }
    }
}

From source file:org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.java

License:Open Source License

/**
 * The given launch configuration has been added. Add it to the tree.
 * @param configuration the added configuration
 *///  w  w  w  . ja v  a2  s.  c om
private void handleConfigurationAdded(ILaunchConfiguration configuration, ILaunchConfiguration from) {
    TreeViewer viewer = getTreeViewer();
    if (viewer != null) {
        try {
            viewer.getControl().setRedraw(false);
            viewer.add(configuration.getType(), configuration);
            // if moved, remove original now
            if (from != null) {
                viewer.remove(from);
            }
            if (isAutoSelect()) {
                viewer.setSelection(new StructuredSelection(configuration), true);
            }
            updateFilterLabel();
        } catch (CoreException e) {
        } finally {
            viewer.getControl().setRedraw(true);
        }
    }
}

From source file:org.eclipse.nebula.widgets.pagination.PageLoaderStrategyHelper.java

License:Open Source License

/**
 * This method loads the paginated list by using the given page loader
 * {@link IPageLoader} and information about pagination from the given
 * controller {@link PageableController}. After loading paginated list
 * returned in a pagination structure {@link PageResult}, this method :
 * //from w  ww  .  j a  v  a 2s .c  om
 * <ul>
 * <li>update the total elements of the given controller
 * {@link PageableController}</li>
 * <li>refresh the given {@link Viewer} by replacing data with the new
 * paginated list.</li>
 * </ul>
 * 
 * @param controller
 *            the controller to use to load paginated list and update the
 *            total elements.
 * @param viewer
 *            the viewer to refresh with new paginated list.
 * @param pageLoader
 *            the page loader used to load paginated list.
 * @pageContentProvider the page content provider to retrieves total
 *                      elements+paginated list from the page result
 *                      structure returned by the pageLoader.
 * @param handler
 *            the page loader handler to observe before/after page loading
 *            process. If null no observation is done.
 */
public static void loadPageAndAddItems(final PageableController controller,
        final Object parentElementOrTreePath, final TreeViewer viewer, final IPageLoader<?> pageLoader,
        final IPageContentProvider pageContentProvider, final IPageLoaderHandler<PageableController> handler) {
    Object page = loadPageAndUpdateTotalElements(controller, pageLoader, pageContentProvider, handler);
    if (page != null) {
        List<?> content = pageContentProvider.getPaginatedList(page);
        if (content != null && !content.isEmpty()) {
            viewer.add(parentElementOrTreePath, content.toArray());
            int count = viewer.getTree().getItemCount();
            if (count > 0) {
                TreeItem item = viewer.getTree().getItem(count - 1);
                item.setData(LazyItemsSelectionListener.LAST_ITEM_LOADED, true);
            }
        }
    }
}