List of usage examples for org.eclipse.jface.viewers ViewerCell getViewerRow
public ViewerRow getViewerRow()
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 w ww .j av a 2 s. c o m } 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); } }
From source file:org.polymap.p4.imports.labels.AbstractShapeImportCellLabelProvider.java
License:Open Source License
protected void setCellData(ViewerCell cell, String key, String data) { ViewerRow row = cell.getViewerRow(); ((TreeItem) row.getItem()).setData(key, data); }
From source file:org.polymap.p4.imports.labels.AbstractShapeImportCellLabelProvider.java
License:Open Source License
protected TreeItem getTreeItem(ViewerCell cell) { return (TreeItem) cell.getViewerRow().getItem(); }
From source file:org.polymap.p4.imports.labels.MessageCellLabelProvider.java
License:Open Source License
public void handleStatus(ViewerCell cell, ValidationEvent event) { int severity = event.getSeverity(); if (severity != IStatus.OK) { ViewerRow row = cell.getViewerRow(); if (row != null) { applyStyle(cell, severity);//from w w w . ja va 2s . c o m String message = null; if (event.getSource() instanceof FileDescription && cell.getElement() instanceof FileDescription) { FileDescription sourceFd = (FileDescription) event.getSource(); FileDescription cellFd = (FileDescription) cell.getElement(); if (sourceFd.parentFile.isPresent() && !cellFd.parentFile.isPresent()) { message = "There are issues with one or more contained files."; } } if (message == null) { message = event.getMessage(); } setCellText(cell, message); } } }
From source file:org.polymap.p4.imports.labels.MessageCellLabelProviderTest.java
License:Open Source License
private void executeSecondLineTextTest(FileDescription elementAssociatedWithCell, String expectedLabel) { ViewerCell viewerCell = mock(ViewerCell.class); ViewerRow viewerRow = mock(ViewerRow.class); TreeItem treeItem = mock(TreeItem.class); ShapeFileValidator shapeFileValidator = mock(ShapeFileValidator.class); Control control = mock(Control.class); int cellWidth = 100; Rectangle bounds = new Rectangle(0, 0, cellWidth, 0); TextMetricHelper textMetricHelper = mock(TextMetricHelper.class); int textWidth = 80; Point textExtent = new Point(textWidth, 0); FontMetrics fontMetrics = PowerMockito.mock(FontMetrics.class); ValidationEvent validationEvent = new ValidationEvent(elementAssociatedWithCell, IStatus.OK, ""); when(shapeFileValidator.validate(elementAssociatedWithCell)).then(new Answer<Boolean>() { @Override/*from w w w. j a va 2s . com*/ public Boolean answer(InvocationOnMock invocation) throws Throwable { labelProvider.handleStatus(viewerCell, validationEvent); return Boolean.TRUE; } }); when(viewerCell.getElement()).thenReturn(elementAssociatedWithCell); when(viewerCell.getViewerRow()).thenReturn(viewerRow); when(viewerRow.getItem()).thenReturn(treeItem); when(treeItem.getExpanded()).thenReturn(true); when(viewerCell.getControl()).thenReturn(control); when(control.getBounds()).thenReturn(bounds); // for error case when(textMetricHelper.getTextExtent(viewerCell, "")).thenReturn(new Point(0, 0)); when(textMetricHelper.getTextExtent(viewerCell, expectedLabel)).thenReturn(textExtent); when(textMetricHelper.getFontMetrics(viewerCell)).thenReturn(fontMetrics); labelProvider.setShapeFileValidator(shapeFileValidator); labelProvider.setTextMetricHelper(textMetricHelper); labelProvider.update(viewerCell); verify(treeItem).setData(RWT.CUSTOM_VARIANT, "firstRow"); verify(viewerCell).setText(expectedLabel); }
From source file:org.polymap.p4.imports.labels.ShapeImportCellLabelProviderTest.java
License:Open Source License
private void executeFirstLineTextTest(Object elementAssociatedWithCell, String expectedLabel) { ViewerCell viewerCell = mock(ViewerCell.class); ViewerRow viewerRow = mock(ViewerRow.class); TreeItem treeItem = mock(TreeItem.class); when(viewerCell.getElement()).thenReturn(elementAssociatedWithCell); when(viewerCell.getViewerRow()).thenReturn(viewerRow); when(viewerRow.getItem()).thenReturn(treeItem); when(treeItem.getExpanded()).thenReturn(true); labelProvider.update(viewerCell);// w ww . ja v a 2 s . c om verify(treeItem).setData(RWT.CUSTOM_VARIANT, "firstRow"); verify(viewerCell).setText(expectedLabel); }
From source file:org.salever.common.swtjface.extend.widget.BooleanCellEditor.java
License:Open Source License
public void activate(ColumnViewerEditorActivationEvent activationEvent) { ViewerCell cell = (ViewerCell) activationEvent.getSource(); index = cell.getColumnIndex();/*from ww w . j av a 2s . c o m*/ row = (ViewerRow) cell.getViewerRow().clone(); restoredImage = row.getImage(index); restoredText = row.getText(index); row.setImage(index, null); row.setText(index, ""); //$NON-NLS-1$ if (activationEvent.eventType != ColumnViewerEditorActivationEvent.TRAVERSAL && changeOnActivation) { button.setSelection(!button.getSelection()); } //TODO Add a way to enable key traversal when CheckBoxes don't get focus // if( Util.isMac() ) { // button.getParent().addKeyListener(macSelectionListener); // } super.activate(activationEvent); }
From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.ClassTableEditorPart.java
License:Open Source License
@Override public void createPartControl(Composite parent) { parent.setLayout(new FillLayout()); table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI); viewer = new TableViewer(table); viewer.setContentProvider(new ClassTableContentProvider()); TableColumn tcNum = new TableColumn(table, SWT.TRAIL); tcNum.setWidth(35);// w w w. ja v a 2 s . c o m TableViewerColumn tvcNum = new TableViewerColumn(viewer, tcNum); tvcNum.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { Object o = cell.getViewerRow().getElement(); if (o instanceof Triple<?, ?, ?>) { Object cValue = ((Triple<?, ?, ?>) o).get(0); if (cValue instanceof Integer) { int row = ((Integer) cValue).intValue() + 1; cell.setText(Integer.toString(row)); } } } }); for (int colIndex = COL_OFFSET; colIndex < classTable.sizeOfComponentArray() + COL_OFFSET; colIndex++) { ComponentRef cr = classTable.getComponentArray(colIndex - COL_OFFSET); final String colRef = cr.getR(); final int col = colIndex; TableColumn tc = new TableColumn(table, SWT.LEAD); tc.setText(cr.getR()); tc.setWidth(100); TableViewerColumn tvc = new TableViewerColumn(viewer, tc); SyllableConverter sc = parentEditor.getDocument().getSyllableConverter(); tc.setToolTipText(SyllableConverterUtils.getComponentName(sc, colRef)); tvc.setEditingSupport(new CellEditingSupport(viewer, colRef, colIndex)); tvc.setLabelProvider(new CellLabelProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipFont(java.lang.Object) */ @Override public Font getToolTipFont(Object object) { /* if (object instanceof Triple<?,?,?>) { Object cValue = ((Triple<?,?,?>)object).get(col); if (cValue instanceof C) { return (parentEditor.getFont(col-COL_OFFSET)); } }*/ return super.getToolTipFont(object); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object) */ @Override public String getToolTipText(Object element) { if (element instanceof Triple<?, ?, ?>) { Object cValue = ((Triple<?, ?, ?>) element).get(col); if (cValue instanceof C) { //cell.setText(SyllableConverterUtils.getCText((C)cValue)); String text = SyllableConverterUtils.getCTextWithCodes((C) cValue); return text; } } return super.getToolTipText(element); } @Override public void update(ViewerCell cell) { Object o = cell.getViewerRow().getElement(); if (o instanceof Triple<?, ?, ?>) { Object cValue = ((Triple<?, ?, ?>) o).get(col); if (cValue instanceof C) { //cell.setText(SyllableConverterUtils.getCText((C)cValue)); String text = SyllableConverterUtils.getCTextWithCodes((C) cValue); cell.setText(text); cell.setFont(parentEditor.getFont(col - COL_OFFSET)); } else if (cValue instanceof Integer) { cell.setText(cValue.toString()); } } } }); } ColumnViewerToolTipSupport.enableFor(viewer); viewer.setInput(classTable); table.setHeaderVisible(true); viewer.refresh(); menuManager.add(new Separator()); menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); this.getEditorSite().registerContextMenu(menuManager, viewer); this.getEditorSite().setSelectionProvider(viewer); menuManager.setVisible(true); table.setMenu(menuManager.createContextMenu(table)); table.setToolTipText(MessageUtil.getString("ClassTableToolTip")); }
From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.MappingTableEditorPart.java
License:Open Source License
@Override public void createPartControl(Composite parent) { parent.setLayout(new FillLayout()); table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI); viewer = new TableViewer(table); viewer.setContentProvider(new MappingTableContentProvider()); final MappingTableLabelProvider mtlp = new MappingTableLabelProvider(mt, parentEditor); viewer.setLabelProvider(mtlp);//from w w w. j a va 2 s.c om TableColumn tcNum = new TableColumn(table, SWT.TRAIL); //tcNum.setText(""); tcNum.setWidth(35); TableViewerColumn tvcNum = new TableViewerColumn(viewer, tcNum); tvcNum.setLabelProvider(new CellLabelProvider() { @Override public String getToolTipText(Object element) { return mtlp.getToolTipText(element); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell) */ @Override public void update(ViewerCell cell) { cell.setText(mtlp.getColumnText(cell.getElement(), 0)); cell.setBackground(mtlp.getBackground(cell.getElement(), 0)); } }); for (ComponentRef cr : mt.getColumns().getComponentArray()) { final String colRef = cr.getR(); TableColumn tc = new TableColumn(table, SWT.LEAD); tc.setToolTipText(cr.getR()); tc.setText(cr.getR()); tc.setWidth(70); TableViewerColumn tvc = new TableViewerColumn(viewer, tc); SyllableConverter sc = parentEditor.getDocument().getSyllableConverter(); tc.setToolTipText(SyllableConverterUtils.getComponentName(sc, colRef)); tvc.setEditingSupport(new CellEditingSupport(viewer, colRef)); tvc.setLabelProvider(new CellLabelProvider() { @Override public String getToolTipText(Object element) { if (element instanceof Map) { C c = SyllableConverterUtils.getCFromMap((Map) element, colRef); if ((c != null) && (SyllableConverterUtils.getCText(c).length() > 0)) return SyllableConverterUtils.getCTextWithCodes(c); } return MessageUtil.getString("MappingTableToolTip"); } @Override public Font getToolTipFont(Object element) { /* SyllableConverter sc = parentEditor.getDocument().getSyllableConverter(); C c = SyllableConverterUtils.getCFromMap((Map)element, colRef); int side = SyllableConverterUtils.getSide(sc, colRef); if (c != null || SyllableConverterUtils.getCText(c).length() > 0) return parentEditor.getFont(side); */ return null; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipDisplayDelayTime(java.lang.Object) */ @Override public int getToolTipDisplayDelayTime(Object object) { return super.getToolTipDisplayDelayTime(object); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipStyle(java.lang.Object) */ @Override public int getToolTipStyle(Object object) { // TODO Auto-generated method stub return super.getToolTipStyle(object); } @Override public void update(ViewerCell cell) { Object o = cell.getViewerRow().getElement(); if (o instanceof Map) { for (C c : ((Map) o).getCArray()) { if (c.getR().equals(colRef)) { cell.setText(SyllableConverterUtils.getCTextWithCodes(c)); c.getR(); SyllableConverter sc = parentEditor.getDocument().getSyllableConverter(); int side = SyllableConverterUtils.getSide(sc, colRef); cell.setFont(parentEditor.getFont(side)); } } } } }); } ColumnViewerToolTipSupport.enableFor(viewer); viewer.setInput(mt); table.setHeaderVisible(true); viewer.refresh(); menuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); this.getEditorSite().registerContextMenu(menuManager, viewer); this.getEditorSite().setSelectionProvider(viewer); menuManager.setVisible(true); table.setMenu(menuManager.createContextMenu(table)); table.setToolTipText(MessageUtil.getString("MappingTableToolTip")); }
From source file:org.xtuml.bp.ui.sem.viewers.SEMFocusCellHighlighter.java
License:Apache License
private void removeSelectionInformation(Event event, ViewerCell cell) { GC gc = event.gc;/*from w w w . j ava 2 s. c o m*/ gc.setBackground(cell.getViewerRow().getBackground(cell.getColumnIndex())); gc.setForeground(cell.getViewerRow().getForeground(cell.getColumnIndex())); event.detail &= ~SWT.SELECTED; }