Example usage for org.eclipse.jface.viewers ViewerCell getColumnIndex

List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ViewerCell getColumnIndex.

Prototype

public int getColumnIndex() 

Source Link

Document

Get the index of the cell.

Usage

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;/*w  w  w  .  ja  va2  s  . com*/

    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.STTableFindReplaceTarget.java

License:Open Source License

private ViewerCell searchInRow(ViewerRow row, int index, String findString, boolean searchForward,
        boolean caseSensitive, boolean wholeWord, int dirCell, boolean regExSearch) {
    Pattern pattern = null;/*from  ww w  .j  a  v a  2  s .  c  o m*/
    if (regExSearch) {
        pattern = Pattern.compile(findString);
    }

    ISTDataViewersField[] fields = getAllFields();

    ViewerCell cell = row.getCell(index);

    do {
        String text = "";

        ISTDataViewersField field = fields[cell.getColumnIndex()];
        if (field.getSpecialDrawer(cell.getElement()) != null) {
            ISpecialDrawerListener hfield = (ISpecialDrawerListener) field;
            text = hfield.getValue(cell.getElement()).trim();
        } else
            text = cell.getText().trim();
        boolean ok = false;

        if (regExSearch) {
            Matcher matcher = pattern.matcher(text);
            ok = matcher.find();
        } else {

            if (wholeWord) {
                if (caseSensitive)
                    ok = text.equals(findString);
                else
                    ok = text.equalsIgnoreCase(findString);
            } else {
                ok = text.contains(findString);

                if (ok && caseSensitive) {
                    text.indexOf(findString);
                }
            }
        }

        if (ok) {
            _viewer.reveal(cell.getElement());
            if (((TableViewer) _viewer).getTable().getSelectionCount() > 0) {
                TableViewer tv = (TableViewer) _viewer;
                Table table = tv.getTable();
                table.deselect(table.indexOf((TableItem) row.getItem()));
            }

            return cell;

        }
        cell = cell.getNeighbor(dirCell, true);
    } while (cell != null);

    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;//from  w w  w.  j  av  a 2  s.c  o  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.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java

License:Open Source License

private ViewerCell searchInRow(ViewerRow row, int index, String findString, boolean searchForward,
        boolean caseSensitive, boolean wholeWord, int dirCell, boolean regExSearch) {
    Pattern pattern = null;//from   ww  w .  ja v a  2 s .  co  m
    if (regExSearch) {
        pattern = Pattern.compile(findString);
    }

    ISTDataViewersField[] fields = getAllFields();

    ViewerCell cell = row.getCell(index);

    do {
        String text = "";

        ISTDataViewersField field = fields[cell.getColumnIndex()];
        if (field.getSpecialDrawer(cell.getElement()) != null) {
            ISpecialDrawerListener hfield = (ISpecialDrawerListener) field;
            text = hfield.getValue(cell.getElement()).trim();
        } else
            text = cell.getText().trim();

        boolean ok = false;

        if (regExSearch) {
            Matcher matcher = pattern.matcher(text);
            ok = matcher.find();
        } else {
            if (wholeWord) {
                if (caseSensitive)
                    ok = text.equals(findString);
                else
                    ok = text.equalsIgnoreCase(findString);
            } else {
                ok = text.contains(findString);

                if (ok && caseSensitive) {
                    text.indexOf(findString);
                }
            }
        }

        if (ok) {
            _viewer.reveal(cell.getElement());

            if (fSelections != null && fSelections.indexOf(row.getItem()) != -1)
                _viewer.getTree().deselectAll();

            return cell;

        }
        cell = cell.getNeighbor(dirCell, true);
    } while (cell != null);

    return null;
}

From source file:org.eclipse.linuxtools.internal.valgrind.cachegrind.CachegrindLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    ICachegrindElement element = ((ICachegrindElement) cell.getElement());
    int index = cell.getColumnIndex();

    if (index == 0) {
        if (element instanceof CachegrindFile) {
            // Try to use the CElementLabelProvider
            IAdaptable model = ((CachegrindFile) element).getModel();
            if (model != null) {
                cell.setText(cLabelProvider.getText(model));
                cell.setImage(cLabelProvider.getImage(model));
            } else { // Fall back
                String name = ((CachegrindFile) element).getName();
                cell.setText(name);//from w ww  . j  a va  2  s .  c om
                cell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE));
            }
        } else if (element instanceof CachegrindFunction) {
            // Try to use the CElementLabelProvider
            IAdaptable model = ((CachegrindFunction) element).getModel();
            if (model != null) {
                cell.setText(cLabelProvider.getText(model));
                cell.setImage(cLabelProvider.getImage(model));
            } else { // Fall back
                String name = ((CachegrindFunction) element).getName();
                cell.setText(name);
                cell.setImage(FUNC_IMG);
            }
        } else if (element instanceof CachegrindLine) {
            cell.setText(NLS.bind(Messages.getString("CachegrindViewPart.line"), //$NON-NLS-1$
                    ((CachegrindLine) element).getLine()));
            cell.setImage(DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER_TOP));
        } else if (element instanceof CachegrindOutput) {
            cell.setText(NLS.bind(Messages.getString("CachegrindViewPart.Total_PID"), //$NON-NLS-1$
                    ((CachegrindOutput) element).getPid()));
            cell.setImage(DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_REGISTER));
        }
    } else if (element instanceof CachegrindFunction) {
        cell.setText(df.format(((CachegrindFunction) element).getTotals()[index - 1]));
    } else if (element instanceof CachegrindLine) {
        cell.setText(df.format(((CachegrindLine) element).getValues()[index - 1]));
    } else if (element instanceof CachegrindOutput) {
        cell.setText(df.format(((CachegrindOutput) element).getSummary()[index - 1]));
    }
}

From source file:org.eclipse.lsp4e.ui.LoggingPreferencePage.java

License:Open Source License

private void addLoggingColumnsToViewer(TableViewer viewer) {
    int addedColumnIndex = viewer.getTable().getColumnCount();
    TableViewerColumn logToFileColumn = new TableViewerColumn(viewer, SWT.NONE);
    logToFileColumn.getColumn().setText(Messages.PreferencesPage_logging_toFile_title);
    logToFileColumn.getColumn().setWidth(100);
    logToFileColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override/*w  w  w .j  a v  a  2 s  .c  o  m*/
        public String getText(Object element) {
            return serverEnableLoggingToFile
                    .getOrDefault(((ContentTypeToLanguageServerDefinition) element).getValue().id, false)
                            ? Messages.PreferencePage_enablementCondition_true
                            : Messages.PreferencePage_enablementCondition_false;
        }
    });

    TableViewerColumn logToConsoleColumn = new TableViewerColumn(viewer, SWT.NONE);
    logToConsoleColumn.getColumn().setText(Messages.PreferencesPage_logging_toConsole_title);
    logToConsoleColumn.getColumn().setWidth(125);
    logToConsoleColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return serverEnableLoggingToConsole
                    .getOrDefault(((ContentTypeToLanguageServerDefinition) element).getValue().id, false)
                            ? Messages.PreferencePage_enablementCondition_true
                            : Messages.PreferencePage_enablementCondition_false;
        }
    });

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            hasLoggingBeenChanged = true;
            Point relativeCursorLocation = Display.getCurrent().getFocusControl().toControl(new Point(
                    MouseInfo.getPointerInfo().getLocation().x, MouseInfo.getPointerInfo().getLocation().y));
            ViewerCell cell = ((TableViewer) event.getSource()).getCell(relativeCursorLocation);
            if (cell == null || cell.getColumnIndex() > addedColumnIndex + 1)
                return;
            String key = ((ContentTypeToLanguageServerDefinition) ((StructuredSelection) event.getSelection())
                    .getFirstElement()).getValue().id;
            if (cell.getColumnIndex() == addedColumnIndex) {
                boolean newLogging = !serverEnableLoggingToFile.getOrDefault(key, false);
                serverEnableLoggingToFile.put(key, newLogging);
            } else {
                boolean newLogging = !serverEnableLoggingToConsole.getOrDefault(key, false);
                serverEnableLoggingToConsole.put(key, newLogging);
            }
            viewer.refresh();
        }
    });
}

From source file:org.eclipse.mylyn.internal.bugzilla.ui.editor.BugzillaSeeAlsoAttributeEditor.java

License:Open Source License

private void createSeeAlsoTable(FormToolkit toolkit, final Composite seeAlsoComposite) {

    seeAlsoTable = toolkit.createTable(seeAlsoComposite, SWT.MULTI | SWT.FULL_SELECTION);
    seeAlsoTable.setLinesVisible(true);/*  w w  w . j a  v a  2s .  co  m*/
    seeAlsoTable.setHeaderVisible(true);
    seeAlsoTable.setLayout(new GridLayout());
    seeAlsoTable.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);

    for (int i = 0; i < seeAlsoColumns.length; i++) {
        TableColumn column = new TableColumn(seeAlsoTable, SWT.LEFT, i);
        column.setText(seeAlsoColumns[i]);
        column.setWidth(seeAlsoColumnWidths[i]);
        column.setMoveable(true);
    }

    seeAlsoViewer = new TableViewer(seeAlsoTable);
    seeAlsoViewer.setUseHashlookup(true);
    seeAlsoViewer.setColumnProperties(seeAlsoColumns);
    ColumnViewerToolTipSupport.enableFor(seeAlsoViewer, ToolTip.NO_RECREATE);

    seeAlsoViewer.setContentProvider(new ArrayContentProvider());
    seeAlsoViewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            openseeAlso(event);
        }

        private void openseeAlso(OpenEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            for (String item : (List<String>) selection.toList()) {
                BrowserUtil.openUrl(item);
            }

        }
    });
    seeAlsoViewer.setLabelProvider(new ColumnLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            String value = (String) element;
            if (columnIndex == 0) {
                if (value.contains("/r/#/c/") || value.contains("git.eclipse.org/r/")) { //$NON-NLS-1$ //$NON-NLS-2$
                    return CommonImages.getImage(BugzillaImages.GERRIT);
                } else if (value.contains("/commit/?id=")) { //$NON-NLS-1$
                    return CommonImages.getImage(BugzillaImages.GIT);
                } else {
                    return CommonImages.getImage(BugzillaImages.BUG);
                }
            }
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            String value = (String) element;
            switch (columnIndex) {
            case 0:
                return null;
            case 1:
                return attrRemoveSeeAlso.getValues().contains(value)
                        ? Messages.BugzillaSeeAlsoAttributeEditor_Yes
                        : Messages.BugzillaSeeAlsoAttributeEditor_No;
            default:
                return value;
            }
        }

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();
            cell.setText(getColumnText(element, cell.getColumnIndex()));
            Image image = getColumnImage(element, cell.getColumnIndex());
            cell.setImage(image);
            cell.setBackground(getBackground(element));
            cell.setForeground(getForeground(element));
            cell.setFont(getFont(element));
        }

    });
    seeAlsoViewer.setInput(getTaskAttribute().getValues().toArray());
    GC gc = new GC(seeAlsoComposite);
    int maxSize = 0;
    for (String string : getTaskAttribute().getValues()) {
        Point size = gc.textExtent(string);
        if (size.x > maxSize) {
            maxSize = size.x;
        }
    }
    if (maxSize == 0) {
        maxSize = 100;
    }
    seeAlsoTable.getColumn(2).setWidth(maxSize);
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            manager.add(openAction);
            manager.add(copyURLToClipAction);
            manager.add(toggelRemoveStateAction);
        }
    });
    Menu menu = menuManager.createContextMenu(seeAlsoTable);
    seeAlsoTable.setMenu(menu);
}

From source file:org.eclipse.mylyn.internal.github.ui.gist.GistAttachmentTableLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    cell.setText(getColumnText(element, cell.getColumnIndex()));
    Image image = getColumnImage(element, cell.getColumnIndex());
    cell.setImage(image);//from   www  .  ja v  a 2 s .  c  o m
    cell.setBackground(getBackground(element));
    cell.setForeground(getForeground(element));
    cell.setFont(getFont(element));
}

From source file:org.eclipse.mylyn.internal.jira.ui.editor.WorkLogTableLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    super.update(cell);
    cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex()));
}

From source file:org.eclipse.nebula.jface.gridviewer.GridColumnLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}/*from w  ww . j a  v a 2  s. c o  m*/
 */
public void update(ViewerCell cell) {
    super.update(cell);

    Object element = cell.getElement();

    String rowText = getRowHeaderText(element);
    int colSpan = getColumnSpan(element);
    int rowSpan = getRowSpan(element);

    GridItem gridItem = (GridItem) cell.getViewerRow().getItem();
    if (rowText != null) {
        gridItem.setHeaderText(rowText);
    }

    gridItem.setColumnSpan(cell.getColumnIndex(), colSpan);
    gridItem.setRowSpan(cell.getColumnIndex(), rowSpan);
}