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

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

Introduction

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

Prototype

public Object getElement() 

Source Link

Document

Get the element this row represents.

Usage

From source file:com.rcpcompany.uibindings.extests.utils.ShowViewSelectionTest.java

License:Open Source License

/**
 * Creates the view/*from   w  w  w. j ava 2  s. c  o  m*/
 */
public void createView() {
    myView = BaseUIBTestUtils.createUIBTestView(this);
    myBody = myView.getBody();
    myBody.setLayout(new TableWrapLayout());

    myTableViewer1 = new TableViewer(myBody, SWT.FULL_SELECTION | SWT.BORDER);
    myTable1 = myTableViewer1.getTable();
    myTable1.setLayoutData(new TableWrapData(TableWrapData.FILL));
    myTable1.setHeaderVisible(true);

    myNameColumn1 = new TableViewerColumn(myTableViewer1, SWT.NONE);
    myNameColumn1.getColumn().setWidth(100);

    myTableViewer2 = new TableViewer(myBody, SWT.FULL_SELECTION | SWT.BORDER);
    myTable2 = myTableViewer2.getTable();
    myTable2.setLayoutData(new TableWrapData(TableWrapData.FILL));
    myTable2.setHeaderVisible(true);

    myNameColumn2 = new TableViewerColumn(myTableViewer2, SWT.NONE);
    myNameColumn2.getColumn().setWidth(100);
    myNameColumn2.getColumn().setText("N");
    myNameColumn2.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            final Country c = (Country) cell.getElement();
            cell.setText(c.getName());
        }
    });

    myTableViewer2.setContentProvider(new ArrayContentProvider());
    myTableViewer2.setInput(myShop.getCountries());

    // myTableViewer2.addSelectionChangedListener(new ISelectionChangedListener() {
    // @Override
    // public void selectionChanged(SelectionChangedEvent event) {
    // LogUtils.debug(this, "" + event.getSelection());
    // }
    // });
    // myView.getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(new
    // ISelectionListener() {
    //
    // @Override
    // public void selectionChanged(IWorkbenchPart part, ISelection selection) {
    // LogUtils.debug(this, "" + selection);
    // }
    // });
    myView.getSite().setSelectionProvider(myTableViewer2);
}

From source file:com.rcpcompany.uibindings.extests.viewerBindings.ViewerItemMoveTest.java

License:Open Source License

/**
 * Checks the operation of the move command with focus on the resulting selection and focus
 *//* w ww  .j a v  a2 s  .c  o m*/
@Test
public void testOp() {
    try {
        final ICommandService cs = (ICommandService) myView.getSite().getService(ICommandService.class);
        final IHandlerService hs = (IHandlerService) myView.getSite().getService(IHandlerService.class);

        final ParameterizedCommand command = cs.deserialize(myCommandId);
        assertTrue(what + " is defined", command.getCommand().isDefined());

        final Country country = myShop.getCountries().get(myRow);
        // LogUtils.debug(country, "" + country.getName());

        postMouse(myTableViewer.getTable(), myColumn + myViewerBinding.getFirstTableColumnOffset(), myRow);
        yield();

        assertTrue(what + " is not handled", command.getCommand().isHandled());
        assertTrue(what + " is not defined", command.getCommand().isDefined());

        ViewerCell viewerCell = myTableViewer.getColumnViewerEditor().getFocusCell();
        assertEquals(what + " index wrong", myColumn + myViewerBinding.getFirstTableColumnOffset(),
                viewerCell.getColumnIndex());
        assertEquals(what + " element wrong", country, viewerCell.getElement());
        assertEquals(what + " item wrong", myTableViewer.getTable().getItem(myRow),
                viewerCell.getViewerRow().getItem());
        assertEquals(what + " row element", country, viewerCell.getViewerRow().getElement());

        assertEquals(4, myShop.getCountries().size());
        hs.executeCommand(command, null);
        assertEquals(4, myShop.getCountries().size());

        // Seq of items
        final List<Country> myResultList = new ArrayList<Country>();
        for (int i = 0; i < mySeq.length(); i++) {
            final String s = mySeq.substring(i, i + 1);
            for (final Country c : myShop.getCountries()) {
                if (c.getName().equals(s)) {
                    myResultList.add(c);
                    break;
                }
            }
        }
        assertArrayEquals(myResultList.toArray(), myShop.getCountries().toArray());

        // Selection
        final TableItem[] tableItems = myTable.getSelection();
        assertEquals(1, tableItems.length);
        assertEquals(country, tableItems[0].getData());

        // ISelection
        final ISelection selection = myTableViewer.getSelection();
        assertTrue(selection instanceof IStructuredSelection);
        final IStructuredSelection ss = (IStructuredSelection) selection;
        assertEquals(1, ss.toArray().length);
        assertEquals(country, ss.getFirstElement());

        // Viewer cell

        // Focus cell
        viewerCell = myTableViewer.getColumnViewerEditor().getFocusCell();
        assertEquals(myColumn + myViewerBinding.getFirstTableColumnOffset(), viewerCell.getColumnIndex());
        assertEquals(country, viewerCell.getElement());
        assertEquals(myTableViewer.getTable().getItem(myNewRow), viewerCell.getViewerRow().getItem());
        assertEquals(country, viewerCell.getViewerRow().getElement());
    } catch (final Exception ex) {
        fail(ex.getMessage());
    }
}

From source file:com.rcpcompany.uibindings.internal.ViewerBindingImpl.java

License:Open Source License

@Override
public void updateSourceProviderState(ISourceProviderStateContext context) {
    final ColumnViewer viewer = getViewer();

    context.putSourceValue(Constants.SOURCES_ACTIVE_CONTAINER_BINDING, this);
    context.putSourceValue(Constants.SOURCES_ACTIVE_CONTAINER_BINDING_NO_CAF,
            (viewer.getComparator() == null && viewer.getFilters().length == 0));

    context.putSourceValue(Constants.SOURCES_ACTIVE_VIEWER_ELEMENT_TYPE, getModelType());

    EObject element = null;/*ww  w . j  ava  2s .  c  o m*/
    int columnIndex = -1;
    ContainerCellType type = null;

    ViewerCell cell;
    /*
     * If no specific position is specified in the event (x,y) = (0,0), then try using the
     * current focus cell. This is needed when navigating in the table.
     * 
     * Also do this if the widget of the event is not this viewers control. That happens when
     * extra widgets are mapped to this binding with IBinding.registerWidget()
     */
    final Event event = context.getEvent();
    final Point point = context.getLocation();
    if (event.x == 0 && event.y == 0 || event.widget != getControl()) {
        cell = viewer.getColumnViewerEditor().getFocusCell();
    } else {
        cell = viewer.getCell(point);
    }
    if (cell != null) {
        element = (EObject) cell.getElement();
        columnIndex = cell.getColumnIndex();
        type = ContainerCellType.DATA;
    } else {
        final Control c = viewer.getControl();
        if (c instanceof Table) {
            final Table t = (Table) c;
            final TableItem item = t.getItem(point);
            if (item != null) {
                element = (EObject) item.getData();
                type = ContainerCellType.ROW_TRAILER;
            } else {
                /*
                 * Below or above the table?
                 */
                if (point.y < 0) {
                    type = ContainerCellType.COLUMN_HEADER;
                } else {
                    type = ContainerCellType.COLUMN_TRAILER;
                }
            }
        }
        if (c instanceof Tree) {
            final Tree t = (Tree) c;
            final TreeItem item = t.getItem(point);
            if (item != null) {
                element = (EObject) item.getData();
                type = ContainerCellType.ROW_TRAILER;
            } else {
                /*
                 * Below or above the tree?
                 */
                if (point.y < 0) {
                    type = ContainerCellType.COLUMN_HEADER;
                } else {
                    type = ContainerCellType.COLUMN_TRAILER;
                }
            }
        }
    }

    if (type != null) {
        context.putSourceValue(Constants.SOURCES_ACTIVE_CONTAINER_CELL_TYPE, type.toString());
    }
    if (element != null) {
        context.putSourceValue(Constants.SOURCES_ACTIVE_VIEWER_ELEMENT, element);
        context.putSourceValue(Constants.SOURCES_ACTIVE_VIEWER_ELEMENT_MOVE_UP,
                UIHandlerUtils.moveElement(this, element, -1, true));
        context.putSourceValue(Constants.SOURCES_ACTIVE_VIEWER_ELEMENT_MOVE_DOWN,
                UIHandlerUtils.moveElement(this, element, 1, true));
    }

    if (columnIndex >= getFirstTableColumnOffset() && element != null) {
        final IColumnBindingCellInformation ci = getCell(columnIndex - getFirstTableColumnOffset(), element);
        final IObservableValue objectValue = ci.getObjectValue();
        final Object value = objectValue.getValue();

        final IValueBinding labelBinding = ci.getLabelBinding();
        context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING, labelBinding);
        context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_RO, !ci.isChangeable());
        context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_VALUE, value);
        context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_TYPE, ""); //$NON-NLS-1$
        if (labelBinding != null) {
            context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_MODEL_OBJECT,
                    labelBinding.getModelObject());
            context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_FEATURE, labelBinding.getModelFeature());
            context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_UNSETTABLE,
                    labelBinding.getDataType().isUnsettable());
            context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_IS_SET, isSet(labelBinding));
        }
        context.putSourceValue(Constants.SOURCES_ACTIVE_BINDING_VALUE_DISPLAY, ci.getDisplayText());

        context.addObservedValue(ci.getLabelUIAttribute().getCurrentValue());
    }

    context.setSelectionProvider(getViewer());
}

From source file:com.rcpcompany.uibindings.internal.ViewerBindingImpl.java

License:Open Source License

@Override
public IContainerDropContext getDropContext(final DropTargetEvent event) {
    final Control control = getControl();
    final Point point = control.toControl(new Point(event.x, event.y));
    final ViewerCell vcell = getViewer().getCell(point);
    if (vcell == null) //
        return null;
    final IColumnBindingCellInformation cell = getCell(vcell.getColumnIndex() - getFirstTableColumnOffset(),
            vcell.getElement());

    return new IContainerDropContext() {
        @Override//from   w  ww.  j av  a  2s  .  c  om
        public EObject getDropTargetObject() {
            final IObservableValue valueOV = cell.getSourceValue();
            if (valueOV == null)
                return null;
            final Object value = valueOV.getValue();
            if (value instanceof EObject)
                return (EObject) value;
            return null;
            // final Widget item = event.item;
            // if (item == null) return null;
            // if (item.getData() instanceof EObject) return (EObject) item.getData();
            // return null;
        }

        @Override
        public float getDropLocation() {
            final Control control = getControl();
            final Point point = control.toControl(new Point(event.x, event.y));
            final Rectangle bounds;
            if (event.item instanceof TreeItem) {
                bounds = ((TreeItem) event.item).getBounds();
            } else if (event.item instanceof TableItem) {
                bounds = ((TableItem) event.item).getBounds(0);
            } else
                return 0.0F;

            return (float) (point.y - bounds.y) / (float) bounds.height;
        }

        @Override
        public IValueBindingCell getDropCell() {
            return cell;
        }

        @Override
        public List<IChildCreationSpecification> getPossibleChildObjects(EObject parent, EObject sibling) {
            return ViewerBindingImpl.this.getPossibleChildObjects(parent, sibling);
        }
    };
}

From source file:com.reprezen.swagedit.core.editor.outline.OutlineStyledLabelProvider.java

License:Open Source License

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

    if (element instanceof AbstractNode) {
        StyledString styledString = getStyledString((AbstractNode) element);

        cell.setText(styledString.toString());
        cell.setStyleRanges(styledString.getStyleRanges());
        cell.setImage(getImage(getIcon((AbstractNode) element)));
    }// w w  w  .j  a  va 2 s  .c o m
}

From source file:com.siteview.mde.internal.runtime.registry.RegistryBrowserLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    StyledString string = getStyledText(cell.getElement());
    cell.setText(string.getString());/*w w  w . ja  va 2 s .c o m*/
    cell.setStyleRanges(string.getStyleRanges());
    cell.setImage(getImage(cell.getElement()));
    super.update(cell);
}

From source file:com.siteview.mde.internal.ui.shared.target.StyledBundleLabelProvider.java

License:Open Source License

public void update(ViewerCell cell) {
    Object element = cell.getElement();
    StyledString styledString = getStyledString(element);
    cell.setText(styledString.toString());
    cell.setStyleRanges(styledString.getStyleRanges());
    cell.setImage(getImage(element));/*from   w  w  w .ja v a2  s . c om*/
    super.update(cell);
}

From source file:com.softberries.klerk.gui.editors.CompaniesEditor.java

License:Open Source License

@Override
protected void createColumns(Composite parent, TableViewer viewer) {
    String[] titles = { Messages.CompaniesEditor_name, Messages.CompaniesEditor_vatid,
            Messages.CompaniesEditor_email, Messages.CompaniesEditor_www, Messages.CompaniesEditor_telephone,
            Messages.CompaniesEditor_mobile };
    int[] bounds = { 100, 100, 100, 100, 100, 100 };

    // First column is for the first name
    TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
    col.setLabelProvider(new CellLabelProvider() {
        @Override// w w  w  . ja v  a2  s . co m
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getName());
        }
    });

    // Second column is for the name
    col = createTableViewerColumn(titles[1], bounds[1], 1);
    col.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getVatid());
        }
    });
    // email
    col = createTableViewerColumn(titles[2], bounds[2], 2);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getEmail());
        }
    });
    // www
    col = createTableViewerColumn(titles[3], bounds[3], 3);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getWww());
        }
    });
    // telephone
    col = createTableViewerColumn(titles[4], bounds[4], 4);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getTelephone());
        }
    });
    // mobile
    col = createTableViewerColumn(titles[5], bounds[5], 5);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Company) cell.getElement()).getMobile());
        }
    });
}

From source file:com.softberries.klerk.gui.editors.DocumentsEditor.java

License:Open Source License

@Override
protected void createColumns(final Composite parent, final TableViewer viewer) {
    String[] titles = { Messages.DocumentsEditor_title, Messages.DocumentsEditor_date_created,
            Messages.DocumentsEditor_transaction_date, Messages.DocumentsEditor_due_date,
            Messages.DocumentsEditor_place_created, Messages.DocumentsEditor_creator,
            Messages.DocumentsEditor_notes };
    int[] bounds = { 200, 100, 100, 100, 100, 100, 100 };

    // First column is for the title
    TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
    col.setLabelProvider(new CellLabelProvider() {
        @Override//from  ww w .  j  a v a  2 s  .  co m
        public void update(ViewerCell cell) {
            cell.setText(((Document) cell.getElement()).getTitle());
        }
    });

    // Now the date (created)
    col = createTableViewerColumn(titles[1], bounds[1], 1);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Date date = ((Document) cell.getElement()).getCreatedDate();
            cell.setText(getDateFormatted(date));
        }
    });
    // Now the date (transaction)
    col = createTableViewerColumn(titles[2], bounds[2], 2);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Date date = ((Document) cell.getElement()).getTransactionDate();
            cell.setText(getDateFormatted(date));
        }
    });
    // Now the date (due)
    col = createTableViewerColumn(titles[3], bounds[3], 3);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Date date = ((Document) cell.getElement()).getDueDate();
            cell.setText(getDateFormatted(date));
        }
    });
    // place
    col = createTableViewerColumn(titles[4], bounds[4], 4);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Document) cell.getElement()).getPlaceCreated());
        }
    });
    // creator
    col = createTableViewerColumn(titles[5], bounds[5], 5);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            Document doc = ((Document) cell.getElement());
            cell.setText(doc.getCreator().getFirstName() + " " //$NON-NLS-1$
                    + doc.getCreator().getLastName());
        }
    });
    // Second column is for the notes
    col = createTableViewerColumn(titles[6], bounds[6], 6);
    col.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            String notes = ((Document) cell.getElement()).getNotes();
            if (notes != null) {
                notes = notes.replaceAll("\\r\\n|\\r|\\n", " ");
            }
            cell.setText(notes);
        }
    });
}

From source file:com.softberries.klerk.gui.editors.PeopleEditor.java

License:Open Source License

@Override
protected void createColumns(final Composite parent, final TableViewer viewer) {
    String[] titles = { Messages.ProductsEditor_Code, Messages.ProductsEditor_Name,
            Messages.ProductsEditor_Description };
    int[] bounds = { 100, 200, 100 };

    // First column is for the first name
    TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
    col.setLabelProvider(new CellLabelProvider() {
        @Override//  ww  w . j a  v  a2 s .  c om
        public void update(ViewerCell cell) {
            cell.setText(((Person) cell.getElement()).getFirstName());
        }
    });

    // Second column is for the name
    col = createTableViewerColumn(titles[1], bounds[1], 1);
    col.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Person) cell.getElement()).getLastName());
        }
    });
    // Now the description
    col = createTableViewerColumn(titles[2], bounds[2], 2);
    col.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Person) cell.getElement()).getEmail());
        }
    });
}