List of usage examples for org.eclipse.jface.viewers ViewerCell getItem
public Widget getItem()
From source file:org.dawnsci.breadcrumb.navigation.table.AbstractLazyLabelProvider.java
License:Open Source License
public void update(ViewerCell cell) { if (disposed) return;//from ww w .ja v a 2s . co m if (cell.getItem().isDisposed()) return; Object element = cell.getElement(); try { final int index = cell.getColumnIndex(); final String fastText = getFastText(element, index - columnOffset); if (fastText != null) { cell.setText(fastText); } else if (allowLazyText) { viewerCellTextQueue.add(new ViewCellBean(cell, element, index)); } else { cell.setText(getSlowText(element, index - columnOffset)); } Image image = getImage(element, index - columnOffset); cell.setImage(image); cell.setBackground(getBackground(element)); //cell.setForeground(getForeground(element)); //cell.setFont(getFont(element)); } catch (Exception ne) { logger.error("Error in table ", ne); } }
From source file:org.eclipse.e4.tools.ui.designer.wizards.part.PropertiesComposite.java
License:Open Source License
protected Composite createClient(Composite parent) { Composite client = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); client.setLayout(layout);/*ww w .jav a 2s. co m*/ Label label = new Label(client, SWT.NONE); label.setText("Show Members:"); Composite tableComp = new Composite(client, SWT.NONE); TableColumnLayout tableLayout = new TableColumnLayout(); tableComp.setLayout(tableLayout); tableComp.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); tableViewer = CheckboxTableViewer.newCheckList(tableComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.HIDE_SELECTION); propertiesProvider = new PropertiesContentProvider(); tableViewer.setContentProvider(propertiesProvider); final Table table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn propertyColumn = new TableColumn(table, SWT.CENTER); propertyColumn.reskin(0); propertyColumn.setText("Property"); tableLayout.setColumnData(propertyColumn, new ColumnWeightData(10)); TableViewerColumn propertyViewerColumn = new TableViewerColumn(tableViewer, propertyColumn); final PDCTypeLabelProvider labelProvider = new PDCTypeLabelProvider(); propertyViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return PDC.getPropertyDisplayName(element); } public Image getImage(Object element) { return labelProvider.getImage(element); } }); TableColumn masterColumn = new TableColumn(table, SWT.LEFT); masterColumn.setText("Selection Provider"); tableLayout.setColumnData(masterColumn, new ColumnWeightData(10)); TableViewerColumn masterViewerColumn = new TableViewerColumn(tableViewer, masterColumn); masterViewerColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { final TableItem item = (TableItem) cell.getItem(); DisposeListener listener = new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (item.getData("EDITOR") != null) { TableEditor editor = (TableEditor) item.getData("EDITOR"); editor.getEditor().dispose(); editor.dispose(); } } }; if (item.getData("EDITOR") != null) { TableEditor editor = (TableEditor) item.getData("EDITOR"); if (editor.getEditor() != null) { editor.getEditor().dispose(); } editor.dispose(); } if (item.getData("DISPOSELISTNER") != null) { item.removeDisposeListener((DisposeListener) item.getData("DISPOSELISTNER")); } final Object data = item.getData(); if (!dataContext.isPropertyMany(data)) { return; } TableEditor editor = new TableEditor(item.getParent()); item.setData("EDITOR", editor); final Button checkBox = new Button(item.getParent(), SWT.CHECK); checkBox.pack(); checkBox.setEnabled(dataContext.containsProperty(data)); checkBox.setBackground(table.getBackground()); checkBox.setSelection(dataContext.containsMaster(data)); checkBox.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { if (checkBox.getSelection()) { dataContext.addMasterProperty(data); } else { dataContext.removeMasterProperty(data); } } }); editor.grabHorizontal = true; editor.setEditor(checkBox, item, 1); item.addDisposeListener(listener); item.setData("DISPOSELISTNER", listener); } }); tableViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); boolean checked = event.getChecked(); TableItem item = (TableItem) tableViewer.testFindItem(element); if (item.getData("EDITOR") != null) { TableEditor editor = (TableEditor) item.getData("EDITOR"); Button control = (Button) editor.getEditor(); if (control != null) { control.setEnabled(checked); if (!checked && control.getSelection()) { dataContext.removeMasterProperty(element); } else if (checked && control.getSelection()) { dataContext.addMasterProperty(element); } } } if (checked) { dataContext.addProperty(element); } else { dataContext.removeProperty(element); } } }); resetTable(); dataContext.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); if (PartDataContext.VALUE.equals(propertyName) || PartDataContext.TYPE.equals(propertyName)) { resetTable(); } } }); createOptions(client); return client; }
From source file:org.eclipse.emf.ecp.edit.internal.swt.controls.ECPFocusCellDrawHighlighter.java
License:Open Source License
private void markFocusedCell(Event event, ViewerCell cell) { Color background = cell.getControl().isFocusControl() ? getSelectedCellBackgroundColor(cell) : getSelectedCellBackgroundColorNoFocus(cell); Color foreground = cell.getControl().isFocusControl() ? getSelectedCellForegroundColor(cell) : getSelectedCellForegroundColorNoFocus(cell); if (foreground != null || background != null || onlyTextHighlighting(cell)) { // GC gc = event.gc; if (background == null) { background = cell.getItem().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION); }//from w w w . ja v a 2 s . co m if (foreground == null) { foreground = cell.getItem().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT); } // gc.setBackground(background); // gc.setForeground(foreground); // // if (onlyTextHighlighting(cell)) { // Rectangle area = event.getBounds(); // Rectangle rect = cell.getTextBounds(); // if( rect != null ) { // area.x = rect.x; // } // gc.fillRectangle(area); // } else { // gc.fillRectangle(event.getBounds()); // } cell.setBackground(background); cell.setForeground(foreground); // event.detail &= ~SWT.SELECTED; } }
From source file:org.eclipse.emf.examples.library.databinding.common.FocusCellOwnerDrawHighlighter.java
License:Open Source License
private void markFocusedCell(Event event, ViewerCell cell) { Color background = (cell.getControl().isFocusControl()) ? getSelectedCellBackgroundColor(cell) : getSelectedCellBackgroundColorNoFocus(cell); Color foreground = (cell.getControl().isFocusControl()) ? getSelectedCellForegroundColor(cell) : getSelectedCellForegroundColorNoFocus(cell); if (foreground != null || background != null || onlyTextHighlighting(cell)) { GC gc = event.gc;// ww w. j ava 2 s . c om if (background == null) { background = cell.getItem().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION); } if (foreground == null) { foreground = cell.getItem().getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT); } gc.setBackground(background); gc.setForeground(foreground); if (onlyTextHighlighting(cell)) { Rectangle area = event.getBounds(); Rectangle rect = cell.getTextBounds(); if (rect != null) { area.x = rect.x; } gc.fillRectangle(area); } else { gc.fillRectangle(event.getBounds()); } event.detail &= ~SWT.SELECTED; } }
From source file:org.eclipse.jface.snippets.viewers.Snippet041TableViewerAlternatingColors.java
License:Open Source License
private ColumnLabelProvider createLabelProviderFor(final TableViewer viewer) { return new ColumnLabelProvider() { boolean isEvenIdx = true; @Override/*w w w .j a v a2 s .c o m*/ public Color getBackground(Object element) { Color grayColor = viewer.getTable().getDisplay().getSystemColor(SWT.COLOR_GRAY); return (isEvenIdx ? null : grayColor); } @Override public void update(ViewerCell cell) { isEvenIdx = searcher.isEven((TableItem) cell.getItem()); super.update(cell); } }; }
From source file:org.eclipse.jface.snippets.viewers.Snippet054NativeControlsInViewers.java
License:Open Source License
private CellLabelProvider createCellLabelProvider() { return new CellLabelProvider() { @Override/* www .j a va 2 s . c o m*/ public void update(ViewerCell cell) { final TableItem item = (TableItem) cell.getItem(); DisposeListener listener = e -> { if (item.getData("EDITOR") != null) { TableEditor editor = (TableEditor) item.getData("EDITOR"); editor.getEditor().dispose(); editor.dispose(); } }; if (item.getData("EDITOR") != null) { TableEditor editor = (TableEditor) item.getData("EDITOR"); editor.getEditor().dispose(); editor.dispose(); } if (item.getData("DISPOSELISTNER") != null) { item.removeDisposeListener((DisposeListener) item.getData("DISPOSELISTNER")); } TableEditor editor = new TableEditor(item.getParent()); item.setData("EDITOR", editor); Composite comp = new Composite(item.getParent(), SWT.NONE); comp.setBackground(item.getParent().getBackground()); comp.setBackgroundMode(SWT.INHERIT_DEFAULT); RowLayout l = new RowLayout(); l.marginHeight = 0; l.marginWidth = 0; l.marginTop = 0; l.marginBottom = 0; comp.setLayout(l); new Button(comp, SWT.RADIO); new Button(comp, SWT.RADIO); new Button(comp, SWT.RADIO); editor.grabHorizontal = true; editor.setEditor(comp, item, 1); item.addDisposeListener(listener); item.setData("DISPOSELISTNER", listener); } }; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java
License:Open Source License
private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction, boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) { if (cell == null) return null; int dirCell = ViewerCell.RIGHT; if (!searchForward) dirCell = ViewerCell.LEFT;/*from ww w . j a v a 2 s. co m*/ Table table = _viewer.getTable(); if (!scope || table.isSelected(table.indexOf((TableItem) cell.getItem()))) { ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cellFound != null) return cellFound; } dirCell = ViewerCell.RIGHT; int dirRow = 0; if (searchForward) dirRow = ViewerRow.BELOW; else dirRow = ViewerRow.ABOVE; ViewerRow row = cell.getViewerRow(); if (table.getSelectionCount() == 0) { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } else { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); if (!scope || table.isSelected(table.indexOf((TableItem) row.getItem()))) { cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } } return null; }
From source file:org.eclipse.mylyn.internal.builds.ui.BuildToolTip.java
License:Open Source License
@Override protected Composite createToolTipArea(Event event, Composite parent) { ViewerCell cell = getData(); IBuildElement data = (IBuildElement) cell.getItem().getData(); parent.setLayout(new GridLayout(2, false)); BuildConnectorUi connectorUi = BuildsUi.getConnectorUi(data.getServer()); if (data instanceof IBuildPlan) { StyledString ss = new StyledString(); ss.append(data.getLabel(), new Styler() { public void applyStyles(TextStyle textStyle) { textStyle.font = CommonFonts.BOLD; textStyle.foreground = getTitleColor(); }/*from w ww. j av a 2 s . c o m*/ }); IBuildPlan plan = (IBuildPlan) data; if (plan.getStatus() != null) { StringBuilder sb = new StringBuilder(" ["); //$NON-NLS-1$ if (plan.getState() == BuildState.RUNNING) { sb.append(NLS.bind("running, ", null)); } if (plan.getFlags().contains(BuildState.QUEUED)) { sb.append(NLS.bind("queued, ", null)); } switch (plan.getStatus()) { case SUCCESS: sb.append(NLS.bind("success", null)); break; case FAILED: sb.append(NLS.bind("failed", null)); break; case UNSTABLE: sb.append(NLS.bind("unstable", null)); break; case ABORTED: sb.append(NLS.bind("aborted", null)); break; case DISABLED: sb.append(NLS.bind("disabled", null)); break; default: break; } sb.append(']'); ss.append(sb.toString(), StyledString.DECORATIONS_STYLER); } addIconAndLabel(parent, CommonImages.getImage(connectorUi.getImageDescriptor()), ss); } else { addIconAndLabel(parent, CommonImages.getImage(connectorUi.getImageDescriptor()), data.getLabel(), true); } Date refreshDate = data.getRefreshDate(); if (refreshDate != null) { String refreshString = DateUtil.getRelative(refreshDate.getTime()); addIconAndLabel(parent, null, NLS.bind("Refreshed {0}", refreshString), false); } if (data instanceof IBuildPlan) { IBuildPlan plan = (IBuildPlan) data; if (plan.getLastBuild() != null) { addBuild(parent, plan.getLastBuild()); } addPlan(parent, plan); } if (data.getElementStatus() != null) { addIconAndLabel(parent, CommonImages.getImage(CommonImages.WARNING), data.getElementStatus().getMessage()); } if (data instanceof IBuildServer) { int passed = 0; int failed = 0; int unstable = 0; int disabled = 0; List<IBuildPlan> plans = BuildsUiInternal.getModel().getPlans((BuildServer) data); for (IBuildPlan iBuildPlan : plans) { if (iBuildPlan.isSelected() && iBuildPlan.getStatus() != null) { switch (iBuildPlan.getStatus()) { case SUCCESS: passed++; break; case FAILED: failed++; break; case UNSTABLE: unstable++; break; case ABORTED: break; case DISABLED: disabled++; break; default: break; } } } if (passed > 0) { addIconAndLabel(parent, CommonImages.getImage(BuildImages.STATUS_PASSED), NLS.bind("{0} passed builds of a total of {1}", new Object[] { passed, plans.size() })); } if (failed > 0) { addIconAndLabel(parent, CommonImages.getImage(BuildImages.STATUS_FAILED), NLS.bind("{0} failed builds", new Object[] { failed })); } if (unstable > 0) { addIconAndLabel(parent, CommonImages.getImage(BuildImages.STATUS_UNSTABLE), NLS.bind("{0} unstable builds", new Object[] { unstable })); } if (disabled > 0) { addIconAndLabel(parent, CommonImages.getImage(BuildImages.STATUS_DISABLED), NLS.bind("{0} disabled builds", new Object[] { disabled })); } if (unstable > 0) { addIconAndLabel(parent, CommonImages.getImage(BuildImages.STATUS_DISABLED), NLS.bind("{0} aborted builds", new Object[] { unstable })); } } return parent; }
From source file:org.eclipse.nebula.jface.gridviewer.GridViewerEditor.java
License:Open Source License
/** * {@inheritDoc}/*from w w w . j av a 2s . c o m*/ */ protected void updateFocusCell(ViewerCell focusCell, ColumnViewerEditorActivationEvent event) { Grid grid = ((Grid) getViewer().getControl()); if (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL) { grid.setFocusColumn(grid.getColumn(focusCell.getColumnIndex())); grid.setFocusItem((GridItem) focusCell.getItem()); if (selectionFollowsEditor) { grid.setCellSelection( new Point(focusCell.getColumnIndex(), grid.indexOf((GridItem) focusCell.getItem()))); } } grid.showColumn(grid.getColumn(focusCell.getColumnIndex())); grid.showItem((GridItem) focusCell.getItem()); }
From source file:org.eclipse.rcptt.tesla.recording.core.swt.JFaceRecordingProcessor.java
License:Open Source License
public void activateCellEditor(CellEditor cellEditor, ColumnViewerEditorActivationEvent activationEvent) { if (cellEditor == null) return;//ww w. j av a 2 s . c o m if (checkCellEditorOP()) { return; } if (activeCellEditors.contains(cellEditor)) { return; } boolean checkbox = cellEditor instanceof CheckboxCellEditor; Control control = cellEditor.getControl(); lastCellEditorControl = null; if (control == null && !checkbox) { return; } Composite parent = null; if (checkbox) { parent = getCheckboxCellEditorSource(activationEvent); } else { parent = control.getParent(); } if (parent == null) { return; } activeCellEditors.add(cellEditor); // Control[] children = parent.getChildren(); if (parent instanceof Tree || parent instanceof Table) { String[][] selection = Viewers.getMultiPathSelection(getPlayer().wrap(parent)); ControlEditor editor = TeslaSWTAccess.getControlEditor(parent); int column = -1; if (activationEvent.getSource() instanceof ViewerCell) { ViewerCell cell = (ViewerCell) activationEvent.getSource(); column = cell.getColumnIndex(); Widget item = cell.getItem(); if (item instanceof TreeItem) { selection = new String[][] { Viewers.getPathByTreeItem((TreeItem) item) }; } else if (item instanceof TableItem) { selection = new String[][] { Viewers.getPathByTableItem((TableItem) item) }; } } else { if (editor instanceof TreeEditor) { column = ((TreeEditor) editor).getColumn(); } else if (editor instanceof TableEditor) { column = ((TableEditor) editor).getColumn(); } } FindResult result = getLocator().findElement(parent, true, false, false); if (result != null && (result.realElement.isTable() || result.realElement.isTree())) { ViewerUIElement e = new ViewerUIElement(result.element, getRecorder()); if (!checkbox) { e.setMultiSelection(selection); e.activateCellEditor(column); } else { CheckboxCellEditor checkboxCellEditor = (CheckboxCellEditor) cellEditor; int row = -1; if (parent instanceof Tree) { Tree tree = (Tree) parent; if (tree.getSelectionCount() > 0) row = tree.indexOf(tree.getSelection()[0]); } else if (parent instanceof Table) { Table table = (Table) parent; row = table.getSelectionIndex(); } if (row != -1 && checkboxCellEditor.getValue() != null) { ItemUIElement item = e.item(column, row); CheckItem checkItem = ProtocolFactory.eINSTANCE.createCheckItem(); checkItem.setElement(item.getElement()); checkItem.setState((Boolean) checkboxCellEditor.getValue()); getRecorder().safeExecuteCommand(checkItem); } } } } else { List<ICellEditsProcessor> processors = TeslaRecorder.getInstance() .getProcessors(ICellEditsProcessor.class); for (ICellEditsProcessor p : processors) if (p.activateCellEdit(cellEditor, activationEvent)) break; } }