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

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

Introduction

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

Prototype

public Image getImage() 

Source Link

Document

Return the Image for the cell.

Usage

From source file:org.eclipse.jface.snippets.viewers.TableCursor.java

License:Open Source License

@Override
protected void paint(Event event) {
    if (getSelectedCells().length == 1 && getSelectedCells()[0] == null)
        return;/* ww w . ja va 2  s. c  om*/
    ViewerCell cell = getSelectedCells()[0];

    GC gc = event.gc;
    Display display = getDisplay();
    gc.setBackground(getBackground());
    gc.setForeground(getForeground());
    gc.fillRectangle(event.x, event.y, event.width, event.height);
    int x = 0;
    Point size = getSize();
    Image image = cell.getImage();
    if (image != null) {
        Rectangle imageSize = image.getBounds();
        int imageY = (size.y - imageSize.height) / 2;
        gc.drawImage(image, x, imageY);
        x += imageSize.width;
    }
    String text = cell.getText();
    if (text != "") { //$NON-NLS-1$
        Rectangle bounds = cell.getBounds();
        Point extent = gc.stringExtent(text);
        // Temporary code - need a better way to determine table trim
        if (Util.isWin32()) {
            if (((Table) getParent()).getColumnCount() == 0 || cell.getColumnIndex() == 0) {
                x += 2;
            } else {
                int alignmnent = ((Table) getParent()).getColumn(cell.getColumnIndex()).getAlignment();
                switch (alignmnent) {
                case SWT.LEFT:
                    x += 6;
                    break;
                case SWT.RIGHT:
                    x = bounds.width - extent.x - 6;
                    break;
                case SWT.CENTER:
                    x += (bounds.width - x - extent.x) / 2;
                    break;
                }
            }
        } else {
            if (((Table) getParent()).getColumnCount() == 0) {
                x += 5;
            } else {
                int alignmnent = ((Table) getParent()).getColumn(cell.getColumnIndex()).getAlignment();
                switch (alignmnent) {
                case SWT.LEFT:
                    x += 5;
                    break;
                case SWT.RIGHT:
                    x = bounds.width - extent.x - 2;
                    break;
                case SWT.CENTER:
                    x += (bounds.width - x - extent.x) / 2 + 2;
                    break;
                }
            }
        }
        int textY = (size.y - extent.y) / 2;
        gc.drawString(text, x, textY);
    }
    if (isFocusControl()) {
        gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
        gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
        gc.drawFocus(0, 0, size.x, size.y);
    }
}

From source file:org.eclipse.jubula.client.ui.provider.DecoratingCellLabelProvider.java

License:Open Source License

/**
 * {@inheritDoc}/*from  w  ww  . ja va  2s .  co  m*/
 */
public void update(ViewerCell cell) {

    ViewerLabel label = new ViewerLabel(cell.getText(), cell.getImage());

    // Set up the initial settings from the label provider
    label.setBackground(getBackground(cell.getElement()));
    label.setForeground(getForeground(cell.getElement()));
    label.setFont(getFont(cell.getElement()));

    updateLabel(label, cell.getElement());

    cell.setBackground(label.getBackground());
    cell.setForeground(label.getForeground());
    cell.setFont(label.getFont());

    if (label.hasNewText()) {
        cell.setText(label.getText());
    }

    if (label.hasNewImage()) {
        cell.setImage(label.getImage());
    }
}

From source file:org.eclipsetrader.ui.internal.views.ViewItemLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    IViewItem element = (IViewItem) cell.getElement();
    IAdaptable[] values = element.getValues();

    if (values != null && cell.getColumnIndex() >= 0 && cell.getColumnIndex() < values.length) {
        if (values[cell.getColumnIndex()] != null) {
            String s = (String) values[cell.getColumnIndex()].getAdapter(String.class);
            if (s != null && !cell.getText().equals(s)) {
                cell.setText(s);//from  www . jav a2 s.c o m
            }

            Image i = (Image) values[cell.getColumnIndex()].getAdapter(Image.class);
            if (i != cell.getImage()) {
                cell.setImage(i);
            }

            Color color = (Color) values[cell.getColumnIndex()].getAdapter(Color.class);
            if (color != null) {
                cell.setForeground(color);
            }
        } else {
            if (!cell.getText().equals("")) {
                cell.setText("");
            }
            if (null != cell.getImage()) {
                cell.setImage(null);
            }
            cell.setForeground(null);
        }
    } else {
        if (!cell.getText().equals("")) {
            cell.setText("");
        }
        if (null != cell.getImage()) {
            cell.setImage(null);
        }
        cell.setForeground(null);
    }

    updateBackground(cell);
}

From source file:org.eclipsetrader.ui.internal.views.WatchListViewCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    WatchListViewItem element = (WatchListViewItem) cell.getElement();

    IAdaptable adaptableValue = (IAdaptable) attributeMaps[0].get(element);
    WatchListViewCellAttribute attribute = (WatchListViewCellAttribute) attributeMaps[1].get(element);
    if (adaptableValue == null) {
        return;/*from  ww w  . ja va2 s .  c om*/
    }

    if (!objectEquals(adaptableValue, valueMap.get(element))) {
        String text = (String) adaptableValue.getAdapter(String.class);
        if (text == null) {
            text = ""; //$NON-NLS-1$
        }
        if (!text.equals(cell.getText())) {
            cell.setText(text);
        }

        cell.setForeground((Color) adaptableValue.getAdapter(Color.class));
        cell.setFont((Font) adaptableValue.getAdapter(Font.class));

        ImageData imageData = (ImageData) adaptableValue.getAdapter(ImageData.class);
        if (imageData != null) {
            imageData.transparentPixel = imageData.palette.getPixel(new RGB(255, 255, 255));
            Image newImage = new Image(Display.getDefault(), imageData);
            Image oldImage = cell.getImage();
            cell.setImage(newImage);
            if (oldImage != null) {
                oldImage.dispose();
            }
        } else {
            Image image = (Image) adaptableValue.getAdapter(Image.class);
            cell.setImage(image != null && image.isDisposed() ? null : image);
        }
        valueMap.put(element, adaptableValue);
    }

    if (!objectEquals(attribute, decoratorMap.get(element))) {
        if (ownerDrawEnabled) {
            cell.setBackground(null);
            Rectangle rect = cell.getBounds();
            cell.getControl().redraw(rect.x, rect.y, rect.width, rect.height, false);
        } else {
            if (attribute == null) {
                cell.setBackground(null);
            } else {
                TableItem tableItem = (TableItem) cell.getViewerRow().getItem();
                int rowIndex = tableItem.getParent().indexOf(tableItem);
                if ((rowIndex & 1) != 0) {
                    if (attribute.oddBackground == null || !attribute.oddBackground.isDisposed()) {
                        cell.setBackground(attribute.oddBackground);
                    }
                } else {
                    if (attribute.evenBackground == null || !attribute.evenBackground.isDisposed()) {
                        cell.setBackground(attribute.evenBackground);
                    }
                }
            }
        }
        decoratorMap.put(element, attribute);
    }
}