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

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

Introduction

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

Prototype

public abstract ViewerRow getNeighbor(int direction, boolean sameLevel);

Source Link

Document

Returns a neighboring row, or null if no neighbor exists in the given direction.

Usage

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STFindReplaceDialog.java

License:Open Source License

private void calcolateIndex(boolean forwardSearch) {
    if (forwardSearch) {
        if (findReplacePosition.getNeighbor(ViewerCell.RIGHT, true) != null)
            index = findReplacePosition.getNeighbor(ViewerCell.RIGHT, true);
        else {/*from   w  ww .  ja v  a2s . com*/
            ViewerRow row = findReplacePosition.getViewerRow();
            index = row.getNeighbor(ViewerRow.BELOW, true).getCell(0);
        }
    } else {
        if (findReplacePosition.getNeighbor(ViewerCell.LEFT, true) != null)
            index = findReplacePosition.getNeighbor(ViewerCell.LEFT, true);
        else {
            ViewerRow row = findReplacePosition.getViewerRow();
            index = row.getNeighbor(ViewerRow.ABOVE, true).getCell(0);
        }
    }
}

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java

License:Open Source License

private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction,
        boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) {

    if (cell == null)
        return null;

    int dirCell = ViewerCell.RIGHT;

    if (!searchForward)
        dirCell = ViewerCell.LEFT;/*from   w  ww. j a  v  a 2s  .co m*/

    Table table = _viewer.getTable();

    if (!scope || table.isSelected(table.indexOf((TableItem) cell.getItem()))) {
        ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString,
                searchForward, caseSensitive, wholeWord, dirCell, regExSearch);

        if (cellFound != null)
            return cellFound;
    }

    dirCell = ViewerCell.RIGHT;

    int dirRow = 0;
    if (searchForward)
        dirRow = ViewerRow.BELOW;
    else
        dirRow = ViewerRow.ABOVE;

    ViewerRow row = cell.getViewerRow();

    if (table.getSelectionCount() == 0) {
        while (row.getNeighbor(dirRow, true) != null) {
            row = row.getNeighbor(dirRow, true);
            cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                    regExSearch);
            if (cell != null)
                return cell;
        }
    } else {
        while (row.getNeighbor(dirRow, true) != null) {
            row = row.getNeighbor(dirRow, true);
            if (!scope || table.isSelected(table.indexOf((TableItem) row.getItem()))) {
                cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                        regExSearch);
                if (cell != null)
                    return cell;
            }
        }
    }

    return null;

}

From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java

License:Open Source License

private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction,
        boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) {

    if (cell == null)
        return null;

    int dirCell = ViewerCell.RIGHT;

    if (!searchForward)
        dirCell = ViewerCell.LEFT;// w w  w . j a  va 2  s .  co m

    if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) {
        ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString,
                searchForward, caseSensitive, wholeWord, dirCell, regExSearch);

        if (cellFound != null)
            return cellFound;
    }

    dirCell = ViewerCell.RIGHT;

    int dirRow = 0;
    if (searchForward)
        dirRow = ViewerRow.BELOW;
    else
        dirRow = ViewerRow.ABOVE;

    ViewerRow row = cell.getViewerRow();

    if (fSelections == null) {
        while (row.getNeighbor(dirRow, false) != null) {
            row = row.getNeighbor(dirRow, false);
            cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                    regExSearch);
            if (cell != null)
                return cell;
        }
    } else {
        while (row.getNeighbor(dirRow, false) != null) {
            row = row.getNeighbor(dirRow, false);
            if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) {
                cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell,
                        regExSearch);
                if (cell != null)
                    return cell;
            }
        }
    }

    return null;

}

From source file:org.netxms.ui.eclipse.objectbrowser.widgets.ObjectStatusIndicator.java

License:Open Source License

@Override
public void paintControl(PaintEvent e) {
    if (objectTree == null)
        return;/*from   w ww.  j a v a2 s. c  om*/

    final GC gc = e.gc;
    gc.setAntialias(SWT.ON);
    final int width = getClientArea().width;

    TreeItem item = objectTree.getTree().getTopItem();
    if (item != null) {
        int y = 0;
        final int limit = objectTree.getTree().getClientArea().height;
        final int height = objectTree.getTree().getItemHeight();

        ViewerRow row = objectTree.getTreeViewerRow(item);
        while ((row != null) && (y < limit)) {
            AbstractObject object = (AbstractObject) row.getItem().getData();
            drawObject(gc, object, y, width, height);
            y += height;
            row = row.getNeighbor(ViewerRow.BELOW, false);
            if (row == null) {
                // sometimes ViewerRow.getNeighbor returns null in the middle of the tree
                // this usually happens when filter is applied
                // in that case we try to find next item from position
                for (int i = 16; i < 192; i += 16) {
                    item = objectTree.getTree().getItem(new Point(y, y + height / 2));
                    if (item != null) {
                        row = objectTree.getTreeViewerRow(item);
                        break;
                    }
                }
            }
        }
    }
    gc.setForeground(SharedColors.getColor(SharedColors.BORDER, getDisplay()));
    gc.drawLine(width - 1, 0, width - 1, getClientArea().height);
}