List of usage examples for org.eclipse.jface.viewers ViewerRow getNeighbor
public abstract ViewerRow getNeighbor(int direction, boolean sameLevel);
null if no neighbor exists in the given direction. 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); }