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

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

Introduction

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

Prototype

public String getText() 

Source Link

Document

Return the text for the cell.

Usage

From source file:com.blackducksoftware.integration.eclipseplugin.views.providers.DependencyComponentColumnLabelProvider.java

License:Apache License

@Override
public void styleCell(ViewerCell cell) {
    String[] compChunks = cell.getText().split(":");
    cell.setText(String.format("%1$s  %2$s ", compChunks[0], compChunks[1]));
    Display display = Display.getCurrent();
    final Color versionColor = decodeHex(display, "#285F8F");
    final Color backgroundColor = decodeHex(display, "#fafafa");
    final Color borderColor = decodeHex(display, "#dddddd");
    final StyleRange versionStyle = new StyleRange(compChunks[0].length() + 1, compChunks[1].length() + 2,
            versionColor, backgroundColor);
    versionStyle.borderStyle = SWT.BORDER_SOLID;
    versionStyle.borderColor = borderColor;
    int versionHeight = (int) (cell.getFont().getFontData()[0].getHeight() * 0.85);
    versionStyle.font = FontDescriptor.createFrom(cell.getFont()).setHeight(versionHeight).createFont(display);
    cell.setStyleRanges(new StyleRange[] { versionStyle });
}

From source file:com.blackducksoftware.integration.eclipseplugin.views.providers.DependencyNumVulnColumnLabelProvider.java

License:Apache License

@Override
public void styleCell(ViewerCell cell) {
    if (cell.getText().equals(VALUE_UNKNOWN)) {
        cell.setText("");
        return;/*from   w w w  .j  av a  2s. c om*/
    }
    String[] vulnChunks = cell.getText().split(":");
    cell.setFont(JFaceResources.getTextFont());
    Display display = Display.getCurrent();
    final String noVulns = " 0 ";
    final Color textColor = display.getSystemColor(SWT.COLOR_WHITE);
    final Color highColor = decodeHex(display, "#b52b24");
    final Color mediumColor = decodeHex(display, "#eca4a0");
    final Color lowColor = decodeHex(display, "#999999");
    final Color invisible = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
    final Color[] vulnColors = new Color[] { highColor, mediumColor, lowColor };
    StyleRange[] styleRanges = new StyleRange[vulnChunks.length];
    int lastLabelEnd = 0;
    cell.setText(String.format("%1$-5s %2$-5s %3$-5s", StringUtils.center(vulnChunks[0], 5),
            StringUtils.center(vulnChunks[1], 5), StringUtils.center(vulnChunks[2], 5)));
    for (int i = 0; i < vulnChunks.length; i++) {
        int labelStart = cell.getText().indexOf(vulnChunks[i], lastLabelEnd);
        int labelSize = vulnChunks[i].length();
        if (vulnChunks[i].equals(noVulns)) {
            styleRanges[i] = new StyleRange(labelStart, labelSize, invisible, invisible);
        } else {
            styleRanges[i] = new StyleRange(labelStart, labelSize, textColor, vulnColors[i]);
        }
        lastLabelEnd = labelStart + labelSize;
    }
    cell.setStyleRanges(styleRanges);
}

From source file:com.google.gapid.widgets.MeasuringViewLabelProvider.java

License:Apache License

@Override
public void update(ViewerCell cell) {
    // Adjusted from the DelegatingStyledCellLabelProvider implementation.

    StyledString styledString = format(cell.getItem(), cell.getElement(), LinkableStyledString.ignoring(theme))
            .getString();//  ww w. jav  a  2 s  .  c  o  m
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = styledString.getStyleRanges();

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        if (cell.getText().equals(newText)) {
            cell.setText("");
        }
    }
    Color bgcolor = getBackgroundColor(cell.getElement());
    if (bgcolor != null) {
        cell.setBackground(bgcolor);
    }
    cell.setImage(getImage(cell.getElement()));
    cell.setText(newText);
}

From source file:com.google.gwt.eclipse.oophm.breadcrumbs.BreadcrumbViewer.java

License:Open Source License

protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
    if (widget instanceof BreadcrumbItem) {
        final BreadcrumbItem item = (BreadcrumbItem) widget;

        // remember element we are showing
        if (fullMap) {
            associate(element, item);/*ww  w  .j a  v a  2s  .com*/
        } else {
            Object data = item.getData();
            if (data != null) {
                unmapElement(data, item);
            }
            item.setData(element);
            mapElement(element, item);
        }

        BreadcrumbViewerRow row = new BreadcrumbViewerRow(this, item);
        ViewerCell cell = row.getCell(0);

        ((CellLabelProvider) getLabelProvider()).update(cell);

        item.refreshArrow();

        if (fToolTipLabelProvider != null) {
            item.setToolTip(fToolTipLabelProvider.getText(item.getData()));
        } else {
            item.setToolTip(cell.getText());
        }
    }
}

From source file:com.mercatis.lighthouse3.ui.event.providers.EventTable.java

License:Apache License

public void addSelectedColumnAsFilterCriteria() {
    ViewerCell cell = (ViewerCell) tableViewer.getCell(lastMousePosition);
    int columnIndex = cell.getColumnIndex();
    ColumnType columnType = (ColumnType) tableViewer.getTable().getColumn(columnIndex).getData();

    Event event = (Event) ((StructuredSelection) tableViewer.getSelection()).getFirstElement();
    List<Object> values = new LinkedList<Object>();
    int propertyIndex = EventTableUIElementsConstants.transformColumnNameToFilterPropertyIndex(columnType);

    switch (propertyIndex) {
    case EventFilterModel.UDF:
        for (Entry<String, Object> entry : event.getUdfs().entrySet()) {
            values.add(new Tuple<String, Object>(entry.getKey(), entry.getValue()));
        }/*from  www  .j  av  a  2s  .c  o m*/
        values.addAll(eventFilterModel.getValuesFor(propertyIndex));
        break;
    case EventFilterModel.DATE:
        values.add(new Tuple<Date, Object>(event.getDateOfOccurrence(), null));
        break;
    case EventFilterModel.TRANSACTION_ID:
        for (String transActionId : event.getTransactionIds()) {
            values.add((Object) transActionId);
        }
        values.addAll(eventFilterModel.getValuesFor(propertyIndex));
        break;
    default:
        values.add(cell.getText());
        values.addAll(eventFilterModel.getValuesFor(propertyIndex));
    }
    eventFilterModel.setValuesFor(values, propertyIndex);
}

From source file:de.walware.ecommons.ui.breadcrumb.BreadcrumbViewer.java

License:Open Source License

@Override
protected void doUpdateItem(final Widget widget, final Object element, final boolean fullMap) {
    if (widget instanceof BreadcrumbItem) {
        final BreadcrumbItem item = (BreadcrumbItem) widget;

        // remember element we are showing
        if (fullMap) {
            associate(element, item);/*from   ww w. j ava  2s  . c  o  m*/
        } else {
            final Object data = item.getData();
            if (data != null) {
                unmapElement(data, item);
            }
            item.setData(element);
            mapElement(element, item);
        }

        final BreadcrumbViewerRow row = new BreadcrumbViewerRow(this, item);
        final ViewerCell cell = row.getCell(0);

        ((CellLabelProvider) getLabelProvider()).update(cell);

        item.refreshArrow();

        if (fToolTipLabelProvider != null) {
            item.setToolTip(fToolTipLabelProvider.getText(item.getData()));
        } else {
            item.setToolTip(cell.getText());
        }
    }
}

From source file:de.walware.ecommons.ui.viewers.DecoratingStyledCellLabelProvider.java

License:Open Source License

private boolean waitForPendingDecoration(final ViewerCell cell) {
    if (this.decorator == null) {
        return false;
    }//from www.  ja  v a  2 s  . com

    final Object element = cell.getElement();
    final String oldText = cell.getText();

    boolean isDecorationPending = false;
    if (this.decorator instanceof LabelDecorator) {
        isDecorationPending = !((LabelDecorator) this.decorator)
                .prepareDecoration(getElementToDecorate(element), oldText, getDecorationContext());
    } else if (this.decorator instanceof IDelayedLabelDecorator) {
        isDecorationPending = !((IDelayedLabelDecorator) this.decorator)
                .prepareDecoration(getElementToDecorate(element), oldText);
    }
    if (isDecorationPending && oldText.length() == 0) {
        // item is empty: is shown for the first time: don't wait
        return false;
    }
    return isDecorationPending;
}

From source file:es.uah.aut.srg.micobs.util.impl.MICOBSAdapterFactoryLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    Object element = cell.getElement();

    StyledString styledString = getStyledText(element);
    String newText = styledString.toString();

    StyleRange[] oldStyleRanges = cell.getStyleRanges();
    StyleRange[] newStyleRanges = isOwnerDrawEnabled() ? styledString.getStyleRanges() : null;

    if (!Arrays.equals(oldStyleRanges, newStyleRanges)) {
        cell.setStyleRanges(newStyleRanges);
        if (cell.getText().equals(newText)) {
            // make sure there will be a refresh from a change
            cell.setText(""); //$NON-NLS-1$
        }/*  w ww. ja v  a 2s .c  o m*/
    }

    cell.setText(newText);
    cell.setImage(getImage(element));
    cell.setFont(getFont(element));
    cell.setForeground(getForeground(element));
    cell.setBackground(getBackground(element));

    // no super call required. changes on item will trigger the refresh.
}

From source file:eu.esdihumboldt.hale.ui.util.viewer.BrowserColumnViewerTip.java

License:Open Source License

/**
 * Show tooltip for the cell at the given position
 * /*from w  ww .j  a  v  a2s.c  om*/
 * @param x the widget relative x ordinate
 * @param y the widget relative y ordinate
 */
protected void showToolTip(int x, int y) {
    ViewerCell cell = viewer.getCell(new Point(x, y));

    if (toolCell != null && toolCell.equals(cell) && BrowserTip.toolTipVisible(toolShell)) {
        // tooltip already visible -> do nothing
        return;
    }

    toolCell = cell;
    BrowserTip.hideToolTip(toolShell);

    if (cell != null) {
        Object element = cell.getElement();
        int col = cell.getColumnIndex();

        /**
         * It would be very nice if we could get the column from the viewer
         * and the attached label provider, but the getViewerColumn method
         * is only package visible
         */

        String text = cell.getText();

        String tipText = getToolTip(element, col, text);

        if (tipText != null && !tipText.isEmpty() && tipText.length() >= tipCharThreshold) {
            Rectangle cellBounds = cell.getBounds();
            //            toolShell = tip.showToolTip(viewer.getControl(), x, y, tipText);
            toolShell = tip.showToolTip(viewer.getControl(), cellBounds.x, cellBounds.y + cellBounds.height,
                    tipText, cellBounds, viewer.getControl());
        }
    }
}

From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.DefinitionInstanceTreeViewer.java

License:Open Source License

/**
 * @see InstanceViewer#createControls(Composite, SchemaSpaceID)
 *//*from   w  w  w .  j a  v a 2 s .co  m*/
@Override
public void createControls(final Composite parent, SchemaSpaceID schemaSpace) {
    main = new Composite(parent, SWT.NONE);
    main.setLayout(new TreeColumnLayout());

    treeViewer = new TreeViewer(main, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);

    treeViewer.setContentProvider(new TypeMetaPairContentProvider(treeViewer, schemaSpace));

    treeViewer.setLabelProvider(new DefinitionMetaCompareLabelProvider());

    // Add an editor for selecting specific paths.
    editor = new TreeEditor(treeViewer.getTree());
    editor.horizontalAlignment = SWT.RIGHT;
    treeViewer.getTree().addMouseMoveListener(new MouseMoveListener() {

        @Override
        public void mouseMove(MouseEvent e) {
            final ViewerCell cell = treeViewer.getCell(new Point(e.x, e.y));

            // Selected cell changed?
            if (cell == null || editor.getItem() != cell.getItem()
                    || editor.getColumn() != cell.getColumnIndex()) {
                // Clean up any previous editor control
                Control oldEditor = editor.getEditor();
                if (oldEditor != null) {
                    oldEditor.dispose();
                    editor.setEditor(null, null, 0);
                }
            }

            // No valid selected cell
            if (cell == null || cell.getColumnIndex() == 0) {
                return;
            }

            // cell didn't change
            if ((editor.getItem() == cell.getItem() && editor.getColumn() == cell.getColumnIndex())) {
                return;
            }

            Composite editorControl = new Composite(treeViewer.getTree(), SWT.NONE);
            GridLayoutFactory.fillDefaults().margins(0, 0).spacing(0, 0).numColumns(2).applyTo(editorControl);

            boolean hideCopy = false;

            // multi value selector

            // Quote the format first. Pattern.quote does the same, except,
            // that it checks the input for \Es.
            // Since we know that there will be no \Es in this case
            // do it ourselves to be safe from changes to Pattern.quote.

            String pattern = "\\Q" + DefinitionInstanceLabelProvider.MULTIPLE_VALUE_FORMAT + "\\E$";
            pattern = pattern.replace("{0}", "\\E(\\d+)\\Q").replace("{1}", "\\E(\\d+)\\Q");

            Matcher m = Pattern.compile(pattern).matcher(cell.getText());
            if (m.find()) {
                // multi value element

                int current = Integer.parseInt(m.group(1));
                int total = Integer.parseInt(m.group(2));

                // Create the selection control.
                ComboViewer combo = new ComboViewer(editorControl);
                Integer[] values = new Integer[total];
                for (int i = 1; i <= total; i++)
                    values[i - 1] = i;
                combo.setContentProvider(ArrayContentProvider.getInstance());
                combo.setInput(values);
                combo.setSelection(new StructuredSelection(current));
                combo.addSelectionChangedListener(new ISelectionChangedListener() {

                    @Override
                    public void selectionChanged(SelectionChangedEvent event) {
                        if (event.getSelection() instanceof IStructuredSelection) {
                            // Update label provider and refresh viewer.

                            labelProviders.get(cell.getColumnIndex()).selectPath(
                                    cell.getViewerRow().getTreePath(),
                                    (Integer) (((IStructuredSelection) event.getSelection())
                                            .getFirstElement()));

                            treeViewer.refresh(cell.getElement(), true);
                        }
                    }
                });
            } else {
                /*
                 * only one value - so we can safely determine if the copy
                 * button should be shown
                 */
                Object value = labelProviders.get(cell.getColumnIndex())
                        .findInstanceEntry(cell.getViewerRow().getTreePath()).getValue();
                if (value instanceof Instance) {
                    value = ((Instance) value).getValue();
                }

                hideCopy = value == null || value.toString().isEmpty();
            }

            // copy button
            if (!hideCopy) {
                Button button = new Button(editorControl, SWT.PUSH | SWT.FLAT);
                button.setImage(
                        PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY));
                button.setToolTipText("Copy string value");
                button.addSelectionListener(new SelectionAdapter() {

                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        // determine text value
                        Object value = labelProviders.get(cell.getColumnIndex())
                                .findInstanceEntry(cell.getViewerRow().getTreePath()).getValue();
                        if (value instanceof Instance) {
                            value = ((Instance) value).getValue();
                        }

                        if (value != null) {
                            final String textValue = value.toString();

                            if (!textValue.isEmpty()) { // empty string is
                                // invalid
                                // copy content to clipboard
                                Clipboard clipBoard = new Clipboard(Display.getCurrent());
                                clipBoard.setContents(new Object[] { textValue },
                                        new Transfer[] { TextTransfer.getInstance() });
                                clipBoard.dispose();
                            }
                        }
                    }
                });
            }

            // calculate editor size
            Point size = editorControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);
            editor.minimumHeight = size.y;
            editor.minimumWidth = size.x;

            editor.setEditor(editorControl, (TreeItem) cell.getItem(), cell.getColumnIndex());
        }
    });

    maep = new MetadataCompareActionProvider(treeViewer);
    maep.setup();

    treeViewer.setComparator(new DefinitionComparator());

    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.getTree().setLinesVisible(true);

    ColumnViewerToolTipSupport.enableFor(treeViewer);

    setInput(null, null);
}