Example usage for org.eclipse.jface.viewers ColumnViewer update

List of usage examples for org.eclipse.jface.viewers ColumnViewer update

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ColumnViewer update.

Prototype

@Override
    public void update(Object element, String[] properties) 

Source Link

Usage

From source file:au.gov.ga.earthsci.application.parts.layer.LayerTreeLabelProvider.java

License:Apache License

private void refreshCallers(final IRetrieval retrieval) {
    //don't queue up multiple updates for the same retrieval, as this floods the UI thread with asyncExec's
    if (refreshingRetrievals.contains(retrieval)) {
        return;//from  w  w w  . java2 s .c om
    }

    List<Object> elements = new ArrayList<Object>();
    Object[] callers = retrieval.getCallers();
    for (Object caller : callers) {
        if (caller instanceof ILayerTreeNode) {
            elements.add(caller);
        } else if (caller instanceof Layer) {
            WeakReference<LayerNode> weak = delegate.weakLayerToNodeMap.get(caller);
            if (weak != null) {
                LayerNode node = weak.get();
                if (node != null) {
                    elements.add(node);
                }
            }
        }
    }

    if (!elements.isEmpty()) {
        final Object[] array = elements.toArray();
        final ColumnViewer viewer = getViewer();
        if (viewer != null && !viewer.getControl().isDisposed()) {
            refreshingRetrievals.add(retrieval);
            viewer.getControl().getDisplay().asyncExec(new Runnable() {
                @Override
                public void run() {
                    if (!viewer.getControl().isDisposed()) {
                        viewer.update(array, null);
                    }
                    refreshingRetrievals.remove(retrieval);
                }
            });
        }
    }
}

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

License:Apache License

private void refreshCallers(final IRetrieval retrieval) {
    //don't queue up multiple updates for the same retrieval, as this floods the UI thread with asyncExec's
    if (refreshingRetrievals.contains(retrieval)) {
        return;//from   ww w  .j  a v  a 2  s .  c  om
    }

    List<Object> elements = new ArrayList<Object>();
    Object[] callers = retrieval.getCallers();
    for (Object caller : callers) {
        if (caller instanceof ILayerTreeNode) {
            elements.add(caller);
        } else if (caller instanceof Layer || caller instanceof ElevationModel) {
            ILayerNode node = delegate.getNodeForLayerOrElevationModel(caller);
            if (node != null) {
                elements.add(node);
            }
        }
    }

    if (!elements.isEmpty()) {
        final Object[] array = elements.toArray();
        final ColumnViewer viewer = getViewer();
        if (viewer != null && !viewer.getControl().isDisposed()) {
            refreshingRetrievals.add(retrieval);
            viewer.getControl().getDisplay().asyncExec(new Runnable() {
                @Override
                public void run() {
                    if (!viewer.getControl().isDisposed()) {
                        viewer.update(array, null);
                    }
                    refreshingRetrievals.remove(retrieval);
                }
            });
        }
    }
}

From source file:org.eclipse.rap.nebula.jface.gridviewer.snippets.GridViewerSnippet.java

License:Open Source License

private void createGridColumns() {
    final TextCellEditor textCellEditor = new TextCellEditor(viewer.getGrid());
    for (int i = 0; i < COLUMN_COUNT; i++) {
        final int index = i;
        GridViewerColumn column = new GridViewerColumn(viewer, SWT.NONE);
        column.getColumn().setWidth(260);
        column.getColumn().setText("Column " + index);
        column.setLabelProvider(new ColumnLabelProvider() {
            @Override//from   www.jav a  2  s  .  c  om
            protected void initialize(ColumnViewer viewer, ViewerColumn column) {
                // CellToolTipProvider is not compatible with Grid viewers
            }

            @Override
            public String getText(Object element) {
                return "Column " + index + " => " + element.toString();
            }
        });
        column.setEditingSupport(new EditingSupport(viewer) {

            @Override
            protected boolean canEdit(Object element) {
                return true;
            }

            @Override
            protected CellEditor getCellEditor(Object element) {
                return textCellEditor;
            }

            @Override
            protected Object getValue(Object element) {
                return ((Model) element).counter + "";
            }

            @Override
            protected void setValue(Object element, Object value) {
                try {
                    ((Model) element).counter = Integer.parseInt(value.toString());
                    viewer.update(element, null);
                } catch (NumberFormatException exception) {
                    // ignore if not a number
                }
            }
        });
    }
}