Example usage for org.eclipse.jface.viewers ViewerRow getCell

List of usage examples for org.eclipse.jface.viewers ViewerRow getCell

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerRow getCell.

Prototype

public ViewerCell getCell(int column) 

Source Link

Document

Get a ViewerCell for the column at index.

Usage

From source file:com.gorillalogic.monkeyconsole.tableview.MonkeyTalkTabularEditor.java

License:Open Source License

private static ViewerCell getCell(ViewerRow row, int index) {
    return row.getCell(index);
}

From source file:com.hydra.project.myplugin_nebula.xviewer.XViewer.java

License:Open Source License

/**
 * Refresh only single column using normal label provider mechanism. This can be called after normal loading and
 * after columns compute their input in the background.
 *///ww w  .  java2s  .  c  o  m
public void refreshColumn(String columnId) {
    Pair<XViewerColumn, Integer> column = getCustomizeMgr().getColumnNumFromXViewerColumn(columnId);
    IBaseLabelProvider baseLabelProvider = getLabelProvider();
    if (baseLabelProvider instanceof XViewerLabelProvider) {
        XViewerLabelProvider labelProvider = (XViewerLabelProvider) baseLabelProvider;

        TreeItem[] items = getTree().getItems();
        for (TreeItem item : items) {

            ViewerRow viewerRow = getViewerRowFromItem(item);
            if (viewerRow != null) {
                try {
                    ViewerCell cell = viewerRow.getCell(column.getSecond());
                    String value = null;
                    try {
                        value = labelProvider.getColumnText(item.getData(), column.getSecond());
                    } catch (Exception ex) {
                        value = String.format("Exception getting value from column [%s][%s]",
                                column.getFirst().getId(), ex.getLocalizedMessage());
                    }
                    if (value != null) {
                        cell.setText(value);
                    }
                } catch (NullPointerException ex) {
                    // do nothing
                }
            }
        }
    }
}

From source file:com.mentor.nucleus.bp.ui.sem.viewers.SEMFocusCellHighlighter.java

License:Open Source License

private void hookListener(final ColumnViewer viewer) {

    Listener listener = new Listener() {

        public void handleEvent(Event event) {
            if ((event.detail & SWT.SELECTED) > 0 || (event.detail & SWT.FocusOut) > 0) {
                ViewerCell focusCell = getFocusCell();
                if (focusCell != null) {
                    ViewerRow row = focusCell.getViewerRow();
                    ViewerCell cell = row.getCell(event.index);
                    removeSelectionInformation(event, cell);
                }//  w ww .ja v a 2 s.co m
            }
        }

    };
    viewer.getControl().addListener(SWT.EraseItem, listener);
}

From source file:com.netxforge.screens.editing.base.tables.FocusBlockOwnerDrawHighlighterForMultiselection.java

License:Open Source License

private void hookListener(final ColumnViewer viewer) {
    Listener listener = new Listener() {

        public void handleEvent(Event event) {

            // System.out.println("Event index = " + event.index
            // + " coordinates = " + event.x + "," + event.y + ","
            // + event.width + "," + event.height);
            ///*from   w  w  w . j a  v  a  2  s.c  o  m*/

            if ((event.detail & SWT.SELECTED) > 0) {
                List<ViewerCell> allCells = new ArrayList<ViewerCell>();
                ViewerCell focusCell = getFocusCell();
                if (focusCell != null)
                    allCells.add(focusCell);

                // add the block to the focus cell, and mark in one go.
                ViewerCell[] focusBlock = getFocusBlock();
                if (focusBlock.length > 0) {
                    allCells.addAll(Arrays.asList(focusBlock));
                }

                if (viewer instanceof OpenTreeViewer) {
                    ViewerRow row = ((OpenTreeViewer) viewer).getViewerRowFromItemExposed(event.item);
                    Assert.isNotNull(row,
                            "Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$

                    // Remove selection if our cell is mot in the block.
                    ViewerCell cell = row.getCell(event.index);
                    if (focusCell == null || !allCells.contains(cell)) {
                        removeSelectionInformation(event, cell);
                    } else {

                        // skip if the cell index = 0.
                        // FIXME, Should prevent focus for index = 0;
                        if (event.index > 0) {
                            markFocusedBlock(event, allCells);
                        }

                    }
                }
            }
        }

    };
    viewer.getControl().addListener(SWT.EraseItem, listener);
}

From source file:com.netxforge.screens.editing.base.tables.SWTFocusBlockManager.java

License:Open Source License

/**
 * And selection movements for a {@link ViewerCell}
 * //from w  w  w.  ja v a 2  s.  c  o  m
 * @param event
 */
private void handleSelection(Event event) {
    // ignore while dragging.
    if (cellDragging) {
        return;
    }

    if ((event.detail & SWT.CHECK) == 0 && focusCell != null && focusCell.getItem() != event.item
            && event.item != null && !event.item.isDisposed()) {
        if (viewer instanceof OpenTreeViewer) {
            OpenTreeViewer atrViewer = (OpenTreeViewer) viewer;
            ViewerRow row = atrViewer.getViewerRowFromItemExposed(event.item);
            Assert.isNotNull(row, "Internal Structure invalid. Row item has no row ViewerRow assigned"); //$NON-NLS-1$

            // CB TODO, update to sync our focus block.
            ViewerCell tmp = row.getCell(focusCell.getColumnIndex());
            if (!focusCell.equals(tmp)) {
                setFocusCell(tmp, event);
            }
        }
    }
}

From source file:com.netxforge.screens.editing.base.tables.TreeViewerFocusBlockManager.java

License:Open Source License

ViewerCell getInitialFocusCell() {
    Tree tree = (Tree) getViewer().getControl();

    if (!tree.isDisposed() && tree.getItemCount() > 0 && !tree.getTopItem().isDisposed()) {

        OpenTreeViewer v = (OpenTreeViewer) getViewer();
        ViewerRow aViewerRow = v.getViewerRowFromItemExposed(tree.getTopItem());
        if (tree.getColumnCount() == 0) {
            return aViewerRow.getCell(0);
        }//from  w  w w .  j a v a 2  s  . c o  m

        Rectangle clientArea = tree.getClientArea();
        for (int i = 0; i < tree.getColumnCount(); i++) {
            // CB, getWidth() is not available through the API.
            int width = aViewerRow.getBounds(i).width;
            if (width > 0 && columnInVisibleArea(clientArea, aViewerRow, i))
                return aViewerRow.getCell(i);
        }
    }

    return null;
}

From source file:net.certiv.fluentmark.tables.FocusBorderCellHighlighter.java

License:Open Source License

private void hookListener(final ColumnViewer viewer) {

    Listener listener = new Listener() {

        @Override//from  w w  w .j a  v a 2  s .  c o m
        public void handleEvent(Event event) {
            if ((event.detail & SWT.SELECTED) > 0) {
                ViewerCell focusCell = getFocusCell();
                ViewerRow row = focusCell.getViewerRow();

                Assert.isNotNull(row,
                        "Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$

                ViewerCell cell = row.getCell(event.index);

                if (focusCell == null || !cell.equals(focusCell)) {
                    removeSelectionInformation(event, cell);
                } else {
                    markFocusedCell(event, cell);
                }
            }
        }
    };
    viewer.getControl().addListener(SWT.EraseItem, listener);
}

From source file:org.eclipse.babel.tapiji.tools.core.ui.widgets.provider.ResKeyTreeLabelProvider.java

License:Open Source License

public void updateTreeViewer(TreeViewer treeViewer) {

    for (TreeItem item : treeViewer.getTree().getItems()) {
        Rectangle bounds = item.getBounds();
        ViewerCell cell = treeViewer.getCell(new Point(bounds.x, bounds.y));
        ViewerRow viewerRow = cell.getViewerRow();

        for (int i = 0; i < viewerRow.getColumnCount(); i++) {
            updateCell(viewerRow.getCell(i));
        }//from   www .j a v  a 2s . c om
    }
}

From source file:org.eclipse.datatools.sqltools.sqlbuilder.views.select.SelectGridViewer.java

License:Open Source License

public ViewerCell getCell(Point point) {
    ViewerRow row = getViewerRow(point);
    if (row != null) {
        return row.getCell(point);
    }/*w w w.  j av a  2s.  c  o m*/

    return null;
}

From source file:org.eclipse.emf.examples.library.databinding.common.FocusCellOwnerDrawHighlighter.java

License:Open Source License

private void hookListener(final ColumnViewer viewer) {
    try {/*from ww  w . ja v a 2 s  . c o m*/
        final Method m = ColumnViewer.class.getDeclaredMethod("getViewerRowFromItem", Widget.class);
        m.setAccessible(true);

        Listener listener = new Listener() {
            public void handleEvent(Event event) {
                if ((event.detail & SWT.SELECTED) > 0) {
                    try {
                        ViewerCell focusCell = getFocusCell();
                        ViewerRow row = (ViewerRow) m.invoke(viewer, event.item);

                        Assert.isNotNull(row,
                                "Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$

                        ViewerCell cell = row.getCell(event.index);

                        if (focusCell == null || !cell.equals(focusCell)) {
                            removeSelectionInformation(event, cell);
                        } else {
                            markFocusedCell(event, cell);
                        }
                    } catch (Exception e) {
                        // TODO: handle exception
                    }

                }
            }

        };
        viewer.getControl().addListener(SWT.EraseItem, listener);
    } catch (Exception e) {
        // TODO: handle exception
    }

}