List of usage examples for org.eclipse.jface.viewers ViewerCell getElement
public Object getElement()
From source file:eu.esdihumboldt.hale.ui.util.viewer.BrowserColumnViewerTip.java
License:Open Source License
/** * Show tooltip for the cell at the given position * //w ww . ja v a2s. com * @param x the widget relative x ordinate * @param y the widget relative y ordinate */ protected void showToolTip(int x, int y) { ViewerCell cell = viewer.getCell(new Point(x, y)); if (toolCell != null && toolCell.equals(cell) && BrowserTip.toolTipVisible(toolShell)) { // tooltip already visible -> do nothing return; } toolCell = cell; BrowserTip.hideToolTip(toolShell); if (cell != null) { Object element = cell.getElement(); int col = cell.getColumnIndex(); /** * It would be very nice if we could get the column from the viewer * and the attached label provider, but the getViewerColumn method * is only package visible */ String text = cell.getText(); String tipText = getToolTip(element, col, text); if (tipText != null && !tipText.isEmpty() && tipText.length() >= tipCharThreshold) { Rectangle cellBounds = cell.getBounds(); // toolShell = tip.showToolTip(viewer.getControl(), x, y, tipText); toolShell = tip.showToolTip(viewer.getControl(), cellBounds.x, cellBounds.y + cellBounds.height, tipText, cellBounds, viewer.getControl()); } } }
From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.DefinitionInstanceTreeViewer.java
License:Open Source License
/** * @see InstanceViewer#createControls(Composite, SchemaSpaceID) *///from w w w .j a v a 2 s. c om @Override public void createControls(final Composite parent, SchemaSpaceID schemaSpace) { main = new Composite(parent, SWT.NONE); main.setLayout(new TreeColumnLayout()); treeViewer = new TreeViewer(main, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); treeViewer.setContentProvider(new TypeMetaPairContentProvider(treeViewer, schemaSpace)); treeViewer.setLabelProvider(new DefinitionMetaCompareLabelProvider()); // Add an editor for selecting specific paths. editor = new TreeEditor(treeViewer.getTree()); editor.horizontalAlignment = SWT.RIGHT; treeViewer.getTree().addMouseMoveListener(new MouseMoveListener() { @Override public void mouseMove(MouseEvent e) { final ViewerCell cell = treeViewer.getCell(new Point(e.x, e.y)); // Selected cell changed? if (cell == null || editor.getItem() != cell.getItem() || editor.getColumn() != cell.getColumnIndex()) { // Clean up any previous editor control Control oldEditor = editor.getEditor(); if (oldEditor != null) { oldEditor.dispose(); editor.setEditor(null, null, 0); } } // No valid selected cell if (cell == null || cell.getColumnIndex() == 0) { return; } // cell didn't change if ((editor.getItem() == cell.getItem() && editor.getColumn() == cell.getColumnIndex())) { return; } Composite editorControl = new Composite(treeViewer.getTree(), SWT.NONE); GridLayoutFactory.fillDefaults().margins(0, 0).spacing(0, 0).numColumns(2).applyTo(editorControl); boolean hideCopy = false; // multi value selector // Quote the format first. Pattern.quote does the same, except, // that it checks the input for \Es. // Since we know that there will be no \Es in this case // do it ourselves to be safe from changes to Pattern.quote. String pattern = "\\Q" + DefinitionInstanceLabelProvider.MULTIPLE_VALUE_FORMAT + "\\E$"; pattern = pattern.replace("{0}", "\\E(\\d+)\\Q").replace("{1}", "\\E(\\d+)\\Q"); Matcher m = Pattern.compile(pattern).matcher(cell.getText()); if (m.find()) { // multi value element int current = Integer.parseInt(m.group(1)); int total = Integer.parseInt(m.group(2)); // Create the selection control. ComboViewer combo = new ComboViewer(editorControl); Integer[] values = new Integer[total]; for (int i = 1; i <= total; i++) values[i - 1] = i; combo.setContentProvider(ArrayContentProvider.getInstance()); combo.setInput(values); combo.setSelection(new StructuredSelection(current)); combo.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection() instanceof IStructuredSelection) { // Update label provider and refresh viewer. labelProviders.get(cell.getColumnIndex()).selectPath( cell.getViewerRow().getTreePath(), (Integer) (((IStructuredSelection) event.getSelection()) .getFirstElement())); treeViewer.refresh(cell.getElement(), true); } } }); } else { /* * only one value - so we can safely determine if the copy * button should be shown */ Object value = labelProviders.get(cell.getColumnIndex()) .findInstanceEntry(cell.getViewerRow().getTreePath()).getValue(); if (value instanceof Instance) { value = ((Instance) value).getValue(); } hideCopy = value == null || value.toString().isEmpty(); } // copy button if (!hideCopy) { Button button = new Button(editorControl, SWT.PUSH | SWT.FLAT); button.setImage( PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY)); button.setToolTipText("Copy string value"); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // determine text value Object value = labelProviders.get(cell.getColumnIndex()) .findInstanceEntry(cell.getViewerRow().getTreePath()).getValue(); if (value instanceof Instance) { value = ((Instance) value).getValue(); } if (value != null) { final String textValue = value.toString(); if (!textValue.isEmpty()) { // empty string is // invalid // copy content to clipboard Clipboard clipBoard = new Clipboard(Display.getCurrent()); clipBoard.setContents(new Object[] { textValue }, new Transfer[] { TextTransfer.getInstance() }); clipBoard.dispose(); } } } }); } // calculate editor size Point size = editorControl.computeSize(SWT.DEFAULT, SWT.DEFAULT); editor.minimumHeight = size.y; editor.minimumWidth = size.x; editor.setEditor(editorControl, (TreeItem) cell.getItem(), cell.getColumnIndex()); } }); maep = new MetadataCompareActionProvider(treeViewer); maep.setup(); treeViewer.setComparator(new DefinitionComparator()); treeViewer.getTree().setHeaderVisible(true); treeViewer.getTree().setLinesVisible(true); ColumnViewerToolTipSupport.enableFor(treeViewer); setInput(null, null); }
From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.MetadataCompareActionProvider.java
License:Open Source License
/** * @see eu.esdihumboldt.hale.ui.views.data.internal.MetadataActionProvider#retrieveMetadata(org.eclipse.jface.viewers.ViewerCell) *///from w w w . j av a2 s . c om @Override protected Pair<Object, Object> retrieveMetadata(ViewerCell cell) { if (cell.getViewerRow().getTreePath().getFirstSegment() instanceof Set<?>) { if (cell.getElement() instanceof Set<?>) { return null; } String key = cell.getElement().toString(); List<Object> values = instances.get(cell.getColumnIndex() - 1).getMetaData(key); Object value = values.get(labelProviders.get(cell.getColumnIndex()).getMetaDataChoice(key)); return new Pair<Object, Object>(key, value); } else return null; }
From source file:eu.esdihumboldt.hale.ui.views.data.internal.explore.MetadataExploreActionProvider.java
License:Open Source License
/** * @see eu.esdihumboldt.hale.ui.views.data.internal.MetadataActionProvider#retrieveMetadata(org.eclipse.jface.viewers.ViewerCell) *//*from w w w. j av a2 s .co m*/ @SuppressWarnings("unchecked") @Override protected Pair<Object, Object> retrieveMetadata(ViewerCell cell) { return (Pair<Object, Object>) cell.getElement(); }
From source file:eu.esdihumboldt.hale.ui.views.properties.function.abstractfunction.AbstractFunctionParameterSection.java
License:Open Source License
/** * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) */// w ww . j av a2 s . c o m @Override public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) { super.createControls(parent, aTabbedPropertySheetPage); Composite compparent = getWidgetFactory().createComposite(parent); compparent.setLayout(new FormLayout()); Composite composite = getWidgetFactory().createComposite(compparent); TableColumnLayout columnLayout = new TableColumnLayout(); composite.setLayout(columnLayout); FormData data = new FormData(); data.width = 100; data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, -0); data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE); data.bottom = new FormAttachment(100, -ITabbedPropertyConstants.VSPACE); composite.setLayoutData(data); tableViewer = new TableViewer(composite, SWT.FULL_SELECTION); Table table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn nameviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn namecol = nameviewercol.getColumn(); columnLayout.setColumnData(namecol, new ColumnWeightData(20)); namecol.setText("Name"); nameviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((FunctionParameter) cell.getElement()).getName()); } }); TableViewerColumn lableviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn lablecol = lableviewercol.getColumn(); columnLayout.setColumnData(lablecol, new ColumnWeightData(20)); lablecol.setText("Label"); lableviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((FunctionParameter) cell.getElement()).getDisplayName()); } }); TableViewerColumn occurenceviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn occurencecol = occurenceviewercol.getColumn(); columnLayout.setColumnData(occurencecol, new ColumnWeightData(10)); occurencecol.setText("Occurence"); occurenceviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { FunctionParameter cellparameter = ((FunctionParameter) cell.getElement()); cell.setText(String.valueOf(cellparameter.getMinOccurrence()) + ".." + (String.valueOf(cellparameter.getMaxOccurrence()))); } }); TableViewerColumn descriptionviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn descriptioncol = descriptionviewercol.getColumn(); columnLayout.setColumnData(descriptioncol, new ColumnWeightData(40)); descriptioncol.setText("Description"); descriptionviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(String.valueOf(((FunctionParameter) cell.getElement()).getDescription())); } }); }
From source file:eu.esdihumboldt.hale.ui.views.properties.function.AbstractFunctionTableSection.java
License:Open Source License
/** * @see org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls(org.eclipse.swt.widgets.Composite, * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) *//*from w ww. j ava2 s . c o m*/ @Override @SuppressWarnings("unchecked") public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) { super.createControls(parent, aTabbedPropertySheetPage); Composite compparent = getWidgetFactory().createComposite(parent); compparent.setLayout(new FormLayout()); Composite composite = getWidgetFactory().createComposite(compparent); TableColumnLayout columnLayout = new TableColumnLayout(); composite.setLayout(columnLayout); FormData data = new FormData(); data.width = 100; data.left = new FormAttachment(0, 0); data.right = new FormAttachment(100, -0); data.top = new FormAttachment(0, ITabbedPropertyConstants.VSPACE); data.bottom = new FormAttachment(100, -ITabbedPropertyConstants.VSPACE); composite.setLayoutData(data); tableViewer = new TableViewer(composite, SWT.FULL_SELECTION); Table table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn nameviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn namecol = nameviewercol.getColumn(); columnLayout.setColumnData(namecol, new ColumnWeightData(20)); namecol.setText("Name"); nameviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((P) cell.getElement()).getName()); } }); TableViewerColumn lableviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn lablecol = lableviewercol.getColumn(); columnLayout.setColumnData(lablecol, new ColumnWeightData(20)); lablecol.setText("Lable"); lableviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((P) cell.getElement()).getDisplayName()); } }); TableViewerColumn occurenceviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn occurencecol = occurenceviewercol.getColumn(); columnLayout.setColumnData(occurencecol, new ColumnWeightData(20)); occurencecol.setText("Occurence"); occurenceviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { P cellparameter = ((P) cell.getElement()); cell.setText(String.valueOf(cellparameter.getMinOccurrence()) + ".." + (String.valueOf(cellparameter.getMaxOccurrence()))); } }); TableViewerColumn descriptionviewercol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn descriptioncol = descriptionviewercol.getColumn(); columnLayout.setColumnData(descriptioncol, new ColumnWeightData(20)); descriptioncol.setText("Description"); descriptionviewercol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(String.valueOf(((P) cell.getElement()).getDescription())); } }); }
From source file:eu.esdihumboldt.hale.ui.views.resources.internal.ResourcesLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); cell.setImage(getImage(element));/*from ww w. j a v a2 s .c o m*/ StyledString text = new StyledString(getText(element)); if (element instanceof Resource) { Resource resource = (Resource) element; if (resource.getContentType() != null) { text.append(" (" + resource.getContentType().getName() + ")", StyledString.DECORATIONS_STYLER); } } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:fr.esrf.icat.manager.core.icatserver.IcatServerLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof ICATServer) { ICATServer icatServer = (ICATServer) element; text.append(icatServer.getServerURL()); if (icatServer.isConnected()) { cell.setImage(null);/* w w w. j a v a 2 s . co m*/ text.append(" (" + icatServer.getVersion() + ") ", StyledString.QUALIFIER_STYLER); } switch (icatServer.getStatus()) { case CONNECTED: cell.setImage(connected_server_image); break; case FAILED: cell.setImage(failed_server_image); break; default: cell.setImage(unknown_server_image); break; } } else if (element instanceof ICATEntity) { ICATEntity entity = (ICATEntity) element; text.append(entity.getEntityName()); Long count = entitiesCount.get(entity); if (null != count) { text.append(" (" + count.toString() + ") ", StyledString.COUNTER_STYLER); } } else { text.append(element.toString()); } cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:fr.inria.atlanmod.neoemf.eclipse.ui.wizard.SelectBlueprintsGraphTypeWizardPage.java
License:Open Source License
private void createColumns() { String[] titles = { "Property", "Value" }; int[] bounds = { 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 . j av a 2s . c om public void update(ViewerCell cell) { cell.setText(((GraphProperty) cell.getElement()).getProperty()); } }); col.setEditingSupport(new PropertyEditingSupport(tableViewer)); // Second column is for the last name col = createTableViewerColumn(titles[1], bounds[1], 1); col.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((GraphProperty) cell.getElement()).getValue()); } }); col.setEditingSupport(new ValueEditingSupport(tableViewer)); }
From source file:fr.inria.atlanmod.neoemf.eclipse.ui.wizards.SelectBlueprintsGraphTypeWizardPage.java
License:Open Source License
protected void createColumns() { String[] titles = { "Property", "Value" }; int[] bounds = { 100, 100 }; // First column is for the first name TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0); col.setLabelProvider(new CellLabelProvider() { @Override/* www. java2 s. co m*/ public void update(ViewerCell cell) { cell.setText(((GraphProperty) cell.getElement()).getProperty()); } }); col.setEditingSupport(new PropertyEditingSupport(tableViewer)); // Second column is for the last name col = createTableViewerColumn(titles[1], bounds[1], 1); col.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((GraphProperty) cell.getElement()).getValue()); } }); col.setEditingSupport(new ValueEditingSupport(tableViewer)); }