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: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));

}