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