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

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

Introduction

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

Prototype

public Widget getItem() 

Source Link

Document

Return the item for the receiver.

Usage

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

License:Open Source License

@Override
protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
    final ViewerCell viewerCell = (ViewerCell) event.getSource();
    final IColumnBindingCellInformation cell = myViewerBinding.getCell(
            viewerCell.getColumnIndex() - myViewerBinding.getFirstTableColumnOffset(),
            viewerCell.getItem().getData());
    return IManager.Factory.getManager().isEditorActivationEvent(event, cell);
}

From source file:de.instanttouch.ui.scaffolding.swt.viewer.lazy.SnakeLazyTableViewer.java

License:Open Source License

public String layoutText(ViewerCell viewerCell, SnakeType cell, TableViewerColumn viewerColumn) {
    String converted = "";

    String text = cell.toString();
    int columnWidth = viewerColumn.getColumn().getWidth();

    // wrapping text
    if (text != null && text.length() > 0) {

        converted = wrapText(text, columnWidth);
        if (!viewerCell.getItem().isDisposed()) {
            viewerCell.setText(converted);
            viewerCell.getBounds().height = 100;
        }//from w w w.j ava 2s .  c  o  m
    }

    return converted;
}

From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.DefinitionInstanceTreeViewer.java

License:Open Source License

/**
 * @see InstanceViewer#createControls(Composite, SchemaSpaceID)
 */// ww  w . j  a va2s  .c  o m
@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.explore.InstanceExplorer.java

License:Open Source License

/**
 * @see InstanceViewer#createControls(Composite, SchemaSpaceID)
 *///  w  w  w  .  j  a  v  a 2  s  .  com
@Override
public void createControls(Composite parent, SchemaSpaceID schemaSpace) {
    main = new Composite(parent, SWT.NONE);
    main.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).create());

    // selector composite
    selectorComposite = new Composite(main, SWT.NONE);
    selectorComposite.setLayoutData(GridDataFactory.swtDefaults().create());
    selectorComposite.setLayout(GridLayoutFactory.fillDefaults().create());

    // viewer composite
    Composite viewerComposite = new Composite(main, SWT.NONE);
    viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    TreeColumnLayout layout = new TreeColumnLayout();
    viewerComposite.setLayout(layout);
    viewer = new TreeViewer(viewerComposite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
    viewer.getTree().setLinesVisible(true);

    // set content provider
    viewer.setContentProvider(new InstanceContentProvider());
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
    // TODO set label provider?

    // add definition columns
    TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.LEFT);
    column.getColumn().setText("Definition");
    column.setLabelProvider(new TreeColumnViewerLabelProvider(
            new PairLabelProvider(true, new DefinitionMetaLabelProvider(false, true))));
    layout.setColumnData(column.getColumn(), new ColumnWeightData(1));

    // add value column
    column = new TreeViewerColumn(viewer, SWT.LEFT);
    column.getColumn().setText("Value");
    final InstanceValueLabelProvider instanceLabelProvider = new InstanceValueLabelProvider();
    column.setLabelProvider(instanceLabelProvider);
    // new PairLabelProvider(false, new LabelProvider())));

    ColumnViewerToolTipSupport.enableFor(viewer);

    layout.setColumnData(column.getColumn(), new ColumnWeightData(1));

    MetadataActionProvider maep = new MetadataExploreActionProvider(viewer);
    maep.setup();

    // Add an editor for copying instance values
    editor = new TreeEditor(viewer.getTree());
    editor.horizontalAlignment = SWT.RIGHT;
    viewer.getTree().addMouseMoveListener(new MouseMoveListener() {

        @Override
        public void mouseMove(MouseEvent e) {
            final ViewerCell cell = viewer.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;
            }

            // determine instance value
            Object value = ((Pair<?, ?>) cell.getViewerRow().getTreePath().getLastSegment()).getSecond();
            if (value instanceof Instance) {
                value = ((Instance) value).getValue();
            }

            // copy button
            if (value != null) {
                final String textValue = value.toString();

                if (!textValue.isEmpty()) { // empty string invalid for
                    // clipboard
                    Button button = new Button(viewer.getTree(), 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) {
                            // 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 = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
                    editor.minimumHeight = size.y;
                    editor.minimumWidth = size.x;

                    editor.setEditor(button, (TreeItem) cell.getItem(), cell.getColumnIndex());
                }
            }
        }
    });

    update();
}

From source file:eu.esdihumboldt.hale.ui.views.data.internal.MetadataActionProvider.java

License:Open Source License

/**
 * Adds the action to the certain TreeViewer cell
 *///from   w w  w .  ja  v a 2s.  c  om
public void setup() {

    final TreeEditor metaEditor = new TreeEditor(treeViewer.getTree());
    metaEditor.horizontalAlignment = SWT.LEFT;
    metaEditor.verticalAlignment = SWT.TOP;

    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 || metaEditor.getItem() != cell.getItem()
                    || metaEditor.getColumn() != cell.getColumnIndex()) {
                // Clean up any previous editor control
                Control oldmetaEditor = metaEditor.getEditor();
                if (oldmetaEditor != null) {
                    oldmetaEditor.dispose();
                    metaEditor.setEditor(null, null, 0);
                }
            }

            // No selected cell or selected cell didn't change.
            if (cell == null || cell.getColumnIndex() == 0 || (metaEditor.getItem() == cell.getItem()
                    && metaEditor.getColumn() == cell.getColumnIndex())) {
                return;
            }

            // Initiate the extension-point
            MetadataActionExtension mae = MetadataActionExtension.getInstance();
            final Pair<Object, Object> data = retrieveMetadata(cell);
            if (data == null) {
                return;
            }

            // get all defined actions
            final List<MetadataActionFactory> actionSources = mae
                    .getMetadataActions(data.getFirst().toString());

            if (actionSources == null || actionSources.isEmpty()) {
                return;
            }
            // Tool-bar used to view and trigger the different possible
            // actions
            ToolBar tooli = new ToolBar(treeViewer.getTree(), SWT.NONE);

            for (final MetadataActionFactory source : actionSources) {
                ToolItem actionItem = new ToolItem(tooli, SWT.PUSH);

                // get the Icon of the action
                URL iconURL = source.getIconURL();
                Image image = ImageDescriptor.createFromURL(iconURL).createImage();
                actionItem.setImage(image);
                actionItem.setToolTipText(source.getDisplayName());

                actionItem.addSelectionListener(new SelectionAdapter() {

                    @Override
                    public void widgetSelected(SelectionEvent e) {

                        try {
                            source.createExtensionObject().execute(data.getFirst(), data.getSecond());
                        } catch (Exception e1) {
                            _log.userError("error creating metadata action", e1);
                        }
                    }
                });
            }
            metaEditor.setEditor(tooli, (TreeItem) cell.getItem(), cell.getColumnIndex());
            tooli.pack();
        }
    });

}

From source file:gda.simplescan.SimpleScanComposite.java

License:Open Source License

public void createDetectors(Composite comp) {
    Composite composite_2 = new Composite(comp, SWT.NONE);
    GridData gd_composite_2 = new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1);
    gd_composite_2.heightHint = 216;/*from   w  w w .j av a2 s . c o  m*/
    composite_2.setLayoutData(gd_composite_2);
    GridLayout gl_composite_2 = new GridLayout(2, false);
    gl_composite_2.horizontalSpacing = 0;
    gl_composite_2.marginWidth = 0;
    gl_composite_2.marginHeight = 0;
    gl_composite_2.verticalSpacing = 0;
    composite_2.setLayout(gl_composite_2);

    Composite composite_3 = new Composite(composite_2, SWT.NONE);
    GridLayout gl_composite_3 = new GridLayout(1, false);
    gl_composite_3.horizontalSpacing = 2;
    gl_composite_3.verticalSpacing = 2;
    gl_composite_3.marginWidth = 2;
    gl_composite_3.marginHeight = 2;
    composite_3.setLayout(gl_composite_3);
    GridData gd_composite_3 = new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 1);
    gd_composite_3.heightHint = 229;
    composite_3.setLayoutData(gd_composite_3);

    Composite composite_4 = new Composite(composite_2, SWT.NONE);
    composite_4.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));

    lblAcqTime_1 = new Label(composite_3, SWT.CENTER);
    GridData gd_lblAcqTime_1 = new GridData(SWT.CENTER, SWT.TOP, false, false, 1, 1);
    gd_lblAcqTime_1.widthHint = 71;
    lblAcqTime_1.setLayoutData(gd_lblAcqTime_1);
    lblAcqTime_1.setText("Acq Time");

    acqTime = new ScaleBox(composite_3, SWT.NONE);
    ((GridData) acqTime.getControl().getLayoutData()).widthHint = 71;
    acqTime.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    createEmptyLabel(composite_3);

    scan = new Button(composite_3, SWT.NONE);
    scan.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, true, 1, 1));
    scan.setText("Scan");
    scan.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            performScan();
            scanStatusJob.schedule();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });

    stop = new Button(composite_3, SWT.NONE);
    stop.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
    stop.setText("Stop");
    stop.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            performStop();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });
    stop.setEnabled(false);
    GridLayout gl_composite_4 = new GridLayout(1, false);
    gl_composite_4.marginHeight = 0;
    gl_composite_4.verticalSpacing = 0;
    gl_composite_4.marginWidth = 0;
    gl_composite_4.horizontalSpacing = 0;
    composite_4.setLayout(gl_composite_4);

    viewer = new TableViewer(composite_4,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    TableViewerColumn enabledCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn enabledColumn = enabledCol.getColumn();
    enabledColumn.setText("Enabled");
    enabledColumn.setWidth(65);
    enabledColumn.setResizable(true);
    enabledColumn.setMoveable(true);

    detEnabled = new EnabledEditingSupport(viewer, bean);

    enabledCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            bean = detEnabled.getBean();
            for (int i = 0; i < bean.getDetectors().size(); i++) {
                if (bean.getDetectors().get(i).getDetectorName().equals(cell.getItem().getData().toString())) {
                    if (bean.getDetectors().get(i).isEnabled())
                        cell.setImage(CHECKED);
                    else
                        cell.setImage(UNCHECKED);
                }
            }

        }
    });
    enabledCol.setEditingSupport(detEnabled);

    TableViewerColumn nameCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn nameColumn = nameCol.getColumn();
    nameColumn.setText("Detector Name");
    nameColumn.setWidth(150);
    nameColumn.setResizable(true);
    nameColumn.setMoveable(true);
    nameCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(cell.getItem().getData().toString());
        }
    });

    TableViewerColumn descriptionCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn descriptionColumn = descriptionCol.getColumn();
    descriptionColumn.setText("Detector Description");
    descriptionColumn.setWidth(150);
    descriptionColumn.setResizable(true);
    descriptionColumn.setMoveable(true);
    des = new DescriptionEditingSupport(viewer, bean);

    descriptionCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            bean = des.getBean();
            for (int i = 0; i < bean.getDetectors().size(); i++)
                if (bean.getDetectors().get(i).getDetectorName().equals(cell.getItem().getData().toString()))
                    cell.setText(bean.getDetectors().get(i).getDetectorDescription());
        }
    });
    descriptionCol.setEditingSupport(des);

    Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false, 1, 1));
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    viewer.setContentProvider(new ArrayContentProvider());
    GridData gridData = new GridData();
    gridData.grabExcessHorizontalSpace = false;
    gridData.heightHint = 200;
    gridData.widthHint = 465;
    viewer.getControl().setLayoutData(gridData);
}

From source file:gov.nasa.arc.spife.core.plan.rules.view.columns.PlanRuleWaivedCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    String text = "";
    Image image = null;//  w  w  w .java2 s  .  c  om
    TreeItem item = (TreeItem) cell.getItem();
    if (item.getGrayed()) {
        text = "mixed";
        image = null;
    } else if (item.getChecked()) {
        text = "active";
        image = RuleIcons.RULE_ENFORCED.getImage();
    } else {
        text = "waived";
        image = RuleIcons.RULE_WAIVED.getImage();
    }
    cell.setText(text);
    cell.setImage(image);
}

From source file:gov.redhawk.prf.internal.ui.editor.detailspart.SimpleSequenceValueEditingSupport.java

License:Open Source License

@Override
protected void saveCellEditorValue(final CellEditor cellEditor, final ViewerCell cell) {
    final Object newValue = cellEditor.getValue();
    final Widget item = cell.getItem();
    final int valueIndex = getViewer().getTable().indexOf((TableItem) item);
    final TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(getViewer().getInput());
    final Command command = SetCommand.create(editingDomain, getViewer().getInput(),
            PrfPackage.Literals.VALUES__VALUE, (newValue == null) ? "" : newValue.toString(), valueIndex);
    if (editingDomain != null) {
        editingDomain.getCommandStack().execute(command);
    } else {//from  w  w  w  .j ava2s  .co  m
        command.execute();
    }
}

From source file:gov.redhawk.sca.internal.ui.properties.ScaSimpleSequenceValueEditingSupport.java

License:Open Source License

@Override
protected void saveCellEditorValue(final CellEditor cellEditor, final ViewerCell cell) {
    final Object newValue = cellEditor.getValue();
    final Widget item = cell.getItem();
    final int valueIndex = getViewer().getTable().indexOf((TableItem) item);
    this.property.getValues().set(valueIndex, newValue);
}

From source file:gov.redhawk.sca.internal.ui.properties.ScaSimpleSequenceValueEditingSupport.java

License:Open Source License

@Override
protected void initializeCellEditorValue(final CellEditor cellEditor, final ViewerCell cell) {
    if (cellEditor instanceof ScaSimpleSequencePropertyValueCellEditor) {
        final ScaSimpleSequencePropertyValueCellEditor simpleSequenceCellEditor = (ScaSimpleSequencePropertyValueCellEditor) cellEditor;
        int[] radix = new int[0];
        if (this.property.getDefinition().getValues() != null) {
            radix = RadixLabelProviderUtil.getRadix(this.property.getDefinition().getValues().getValue());
        }//from  w  ww.jav  a2 s  .co  m
        final Widget item = cell.getItem();
        final int valueIndex = getViewer().getTable().indexOf((TableItem) item);
        if (valueIndex < radix.length) {
            simpleSequenceCellEditor.getValidator().setRadix(radix[valueIndex]);
        } else if (radix.length > 0) {
            simpleSequenceCellEditor.getValidator().setRadix(radix[0]);
        }
    }
    super.initializeCellEditorValue(cellEditor, cell);
}