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