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

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

Introduction

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

Prototype

@Override
public IBaseLabelProvider getLabelProvider() 

Source Link

Document

The table viewer implementation of this Viewer framework method returns the label provider, which in the case of table viewers will be an instance of either ITableLabelProvider or ILabelProvider.

Usage

From source file:org.eclipse.riena.internal.ui.ridgets.swt.AbstractTableRidget.java

License:Open Source License

private void refreshViewer(final AbstractTableViewer viewer) {
    viewer.getControl().setRedraw(false); // prevent flicker during update
    final boolean scrollBarVisibleBeforeRefresh = isVerticalScrollBarVisible(viewer.getControl());
    final StructuredSelection currentSelection = new StructuredSelection(getSelection());
    try {/*ww w.  j a  v  a2  s .c  o  m*/
        TableRidgetLabelProvider tableLabelProvider = null;
        if (viewer.getLabelProvider() instanceof TableRidgetLabelProvider) {
            tableLabelProvider = (TableRidgetLabelProvider) viewer.getLabelProvider();
            final IColumnFormatter[] formatters = getColumnFormatters(tableLabelProvider.getColumnCount());
            tableLabelProvider.setFormatters(formatters);
        }
        viewer.setInput(viewerObservables);
    } finally {
        viewer.setSelection(currentSelection);
        viewer.getControl().setRedraw(true);
        layoutIfScrollBarVisibilityChanged(viewer.getControl(), scrollBarVisibleBeforeRefresh);
    }
}

From source file:org.eclipse.riena.internal.ui.ridgets.swt.TableRidget.java

License:Open Source License

@Override
protected void configureViewer(final AbstractTableViewer viewer) {
    /**//from  w w  w.  ja  va2 s.com
     * As the viewer can be shared between multiple ridgets, super.configureViewer will partly work on a dirty viewer state till the whole new model is
     * transferred to the viewer. (labelprovider, attributeMap, contentProvider, ..). In the meantime the viewer should not be refreshed to prevent errors
     * as the consequence of this inconsistency. Therefore we set a flag on the viewer signaling to ignore refresh events. After the update of the viewer
     * the flag is erased.
     */
    if (viewer instanceof TableRidgetTableViewer) {
        ((TableRidgetTableViewer) viewer).setAllowRefresh(false);
    }
    super.configureViewer(viewer);
    if (viewer instanceof TableRidgetTableViewer) {
        ((TableRidgetTableViewer) viewer).setAllowRefresh(true);
    }
    if (isCheckBoxInFirstColumn(viewer)) {
        ((CheckboxTableViewer) viewer).setCheckStateProvider(new TableRidgetCheckStateProvider());
    }
    final IBaseLabelProvider labelProvider = viewer.getLabelProvider();
    if (labelProvider instanceof TableRidgetLabelProvider) {
        ((TableRidgetLabelProvider) labelProvider).setCheckBoxInFirstColumn(isCheckBoxInFirstColumn(viewer));
    }
    viewer.refresh();
}