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

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

Introduction

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

Prototype

public void add(Object element) 

Source Link

Document

Adds the given element to this table viewer.

Usage

From source file:org.eclipse.equinox.internal.p2.ui.viewers.ProvElementContentProvider.java

License:Open Source License

public Object[] getElements(final Object input) {
    // Simple deferred fetch handling for table viewers
    if (fetchInBackground && input instanceof IDeferredWorkbenchAdapter
            && viewer instanceof AbstractTableViewer) {
        final Display display = viewer.getControl().getDisplay();
        final Object pending = new PendingUpdateAdapter();
        if (fetchJob != null)
            fetchJob.cancel();/*w w w . jav  a 2 s. com*/
        fetchJob = new Job(ProvUIMessages.ProvElementContentProvider_FetchJobTitle) {
            protected IStatus run(final IProgressMonitor monitor) {
                IDeferredWorkbenchAdapter parent = (IDeferredWorkbenchAdapter) input;
                final ArrayList<Object> children = new ArrayList<Object>();
                parent.fetchDeferredChildren(parent, new IElementCollector() {
                    public void add(Object element, IProgressMonitor mon) {
                        if (mon.isCanceled())
                            return;
                        children.add(element);
                    }

                    public void add(Object[] elements, IProgressMonitor mon) {
                        if (mon.isCanceled())
                            return;
                        children.addAll(Arrays.asList(elements));
                    }

                    public void done() {
                        // nothing special to do
                    }

                }, monitor);
                if (!monitor.isCanceled()) {
                    display.asyncExec(new Runnable() {
                        public void run() {
                            AbstractTableViewer tableViewer = (AbstractTableViewer) viewer;
                            if (monitor.isCanceled() || tableViewer == null
                                    || tableViewer.getControl().isDisposed())
                                return;
                            tableViewer.getControl().setRedraw(false);
                            tableViewer.remove(pending);
                            tableViewer.add(children.toArray());
                            finishedFetchingElements(input);
                            tableViewer.getControl().setRedraw(true);
                        }
                    });
                }
                return Status.OK_STATUS;
            }

            public boolean belongsTo(Object family) {
                return family == fetchFamily;
            }

        };
        fetchJob.schedule();
        return new Object[] { pending };
    }
    Object[] elements = getChildren(input);
    finishedFetchingElements(input);
    return elements;
}

From source file:org.key_project.util.eclipse.swt.SWTUtil.java

License:Open Source License

/**
 * Invokes {@link AbstractTableViewer#add(Object)} thread save.
 * @param viewer The {@link AbstractTableViewer} to invoke method on.
 * @param element The new element to add.
 *//*  w ww.  j a  v  a  2  s  . c  o m*/
public static void add(final AbstractTableViewer viewer, final Object element) {
    if (viewer != null && !viewer.getControl().isDisposed()) {
        viewer.getControl().getDisplay().syncExec(new Runnable() {
            @Override
            public void run() {
                viewer.add(element);
            }
        });
    }
}

From source file:org.key_project.util.eclipse.swt.SWTUtil.java

License:Open Source License

/**
 * Invokes {@link AbstractTableViewer#add(Object)} thread save.
 * @param viewer The {@link AbstractTableViewer} to invoke method on.
 * @param elements The new elements to add.
 *///from   www .  j ava2  s.  co m
public static void add(final AbstractTableViewer viewer, final Object[] elements) {
    if (viewer != null && !viewer.getControl().isDisposed()) {
        viewer.getControl().getDisplay().syncExec(new Runnable() {
            @Override
            public void run() {
                viewer.add(elements);
            }
        });
    }
}

From source file:org.key_project.util.eclipse.swt.SWTUtil.java

License:Open Source License

/**
 * Invokes {@link AbstractTableViewer#add(Object)} thread save.
 * @param viewer The {@link AbstractTableViewer} to invoke method on.
 * @param elements The new elements to add.
 *//*w  ww . ja  v  a  2 s . c o  m*/
public static void addAsync(final AbstractTableViewer viewer, final Object[] elements) {
    if (viewer != null && !viewer.getControl().isDisposed()) {
        viewer.getControl().getDisplay().asyncExec(new Runnable() {
            @Override
            public void run() {
                viewer.add(elements);
            }
        });
    }
}