List of usage examples for org.eclipse.jface.viewers ViewerCell getImage
public Image getImage()
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); } }