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

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

Introduction

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

Prototype

public ViewerRow getViewerRow() 

Source Link

Usage

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;
}