List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file:org.eclipse.e4mf.common.ui.viewer.ColumnViewerInformationControlToolTipSupport.java
License:Open Source License
protected boolean shouldCreateToolTip(Event event) { ViewerCell cell = getToolTipArea(event); if (cell != null && !cell.equals(currentCell)) { control.setToolTipText(""); currentCell = cell;/*from w ww .j a va2 s .co m*/ ViewerRow row = cell.getViewerRow(); if (row != null) { Object element = row.getItem().getData(); CellLabelProvider labelProvider = viewer.getLabelProvider(cell.getColumnIndex()); text = labelProvider.getToolTipText(element); boolean useNative = labelProvider.useNativeToolTip(element); if (useNative || text == null) { control.setToolTipText(text); } else { foregroundColor = labelProvider.getToolTipForegroundColor(element); backgroundColor = labelProvider.getToolTipBackgroundColor(element); font = labelProvider.getToolTipFont(element); return text != null; } } } else { currentCell = cell; } return false; }
From source file:org.eclipse.egit.ui.internal.history.CommitGraphTableHoverManager.java
License:Open Source License
private Information computeInformationForCommit(SWTCommit commit, ViewerCell cell, MouseEvent e) { final int columnIndex = cell.getColumnIndex(); switch (columnIndex) { case 1://from www.j av a 2 s. com return computeInformationForRef(commit, cell, e); case 2: return computeInformationForName(commit.getAuthorIdent(), cell); case 3: return computeInformationForDate(commit.getAuthorIdent(), cell); case 4: return computeInformationForName(commit.getCommitterIdent(), cell); case 5: return computeInformationForDate(commit.getCommitterIdent(), cell); } return null; }
From source file:org.eclipse.emf.ecp.edit.internal.swt.controls.ECPFocusCellDrawHighlighter.java
License:Open Source License
private void removeSelectionInformation(Event event, ViewerCell cell) { // GC gc = event.gc; // gc.setBackground(cell.getViewerRow().getBackground( // cell.getColumnIndex())); // gc.setForeground(cell.getViewerRow().getForeground( // cell.getColumnIndex())); // gc.fillRectangle(cell.getBounds()); // event.detail &= ~SWT.SELECTED; Color cellBackground = null;//from w w w. ja v a 2 s.c om Color cellForeground = null; final CellLabelProvider labelProvider = viewer.getLabelProvider(cell.getColumnIndex()); if (labelProvider instanceof IColorProvider) { final IColorProvider columnLabelProvider = (IColorProvider) labelProvider; cellBackground = columnLabelProvider.getBackground(cell.getElement()); cellForeground = columnLabelProvider.getForeground(cell.getElement()); } cell.setBackground(cellBackground); cell.setForeground(cellForeground); }
From source file:org.eclipse.emf.examples.library.databinding.common.FocusCellOwnerDrawHighlighter.java
License:Open Source License
protected void focusCellChanged(ViewerCell newCell, ViewerCell oldCell) { super.focusCellChanged(newCell, oldCell); // Redraw new area if (newCell != null) { Rectangle rect = newCell.getBounds(); int x = newCell.getColumnIndex() == 0 ? 0 : rect.x; int width = newCell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; // 1 is a fix for Linux-GTK newCell.getControl().redraw(x, rect.y - 1, width, rect.height + 1, true); }// w w w .j av a2s. c o m if (oldCell != null) { Rectangle rect = oldCell.getBounds(); int x = oldCell.getColumnIndex() == 0 ? 0 : rect.x; int width = oldCell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; // 1 is a fix for Linux-GTK oldCell.getControl().redraw(x, rect.y - 1, width, rect.height + 1, true); } }
From source file:org.eclipse.ice.materials.ui.MaterialCellLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { String text;//from w w w .ja v a2 s . c o m // Switch on the column id and put the keys and values in the right // places. if (cell.getColumnIndex() == 0) { text = ((MaterialProperty) cell.getElement()).key; } else { text = ((MaterialProperty) cell.getElement()).value.toString(); } cell.setText(text); }
From source file:org.eclipse.jface.snippets.viewers.BooleanCellEditor.java
License:Open Source License
@Override public void activate(ColumnViewerEditorActivationEvent activationEvent) { ViewerCell cell = (ViewerCell) activationEvent.getSource(); index = cell.getColumnIndex(); row = (ViewerRow) cell.getViewerRow().clone(); restoredImage = row.getImage(index); restoredText = row.getText(index);/*from ww w . ja v a2s. co m*/ row.setImage(index, null); row.setText(index, ""); //$NON-NLS-1$ if (activationEvent.eventType != ColumnViewerEditorActivationEvent.TRAVERSAL && changeOnActivation) { button.setSelection(!button.getSelection()); } //TODO Add a way to enable key traversal when CheckBoxes don't get focus // if( Util.isMac() ) { // button.getParent().addKeyListener(macSelectionListener); // } super.activate(activationEvent); }
From source file:org.eclipse.jface.snippets.viewers.FocusBorderCellHighlighter.java
License:Open Source License
@Override protected void focusCellChanged(ViewerCell cell) { super.focusCellChanged(cell); // Redraw new area if (cell != null) { Rectangle rect = cell.getBounds(); int x = cell.getColumnIndex() == 0 ? 0 : rect.x; int width = cell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; cell.getControl().redraw(x, rect.y, width, rect.height, true); }/*from w ww . j av a 2s .c om*/ if (oldCell != null) { Rectangle rect = oldCell.getBounds(); int x = oldCell.getColumnIndex() == 0 ? 0 : rect.x; int width = oldCell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; oldCell.getControl().redraw(x, rect.y, width, rect.height, true); } this.oldCell = cell; }
From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);// ww w. ja v a 2s . c o m v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 1 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return false; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 2 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } @Override protected Object getValue(Object element) { return Boolean.valueOf(((MyModel) element).bool); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e); } catch (SecurityException | NoSuchMethodException | IllegalArgumentException | IllegalAccessException | InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:org.eclipse.jface.snippets.viewers.Snippet058CellNavigationIn34.java
License:Open Source License
public Snippet058CellNavigationIn34(Shell shell) { final TableViewer v = new TableViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn column = null;// w w w. j av a 2s . c om column = createColumnFor(v, "Givenname"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).givenname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).givenname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).givenname = value.toString(); } }); column = createColumnFor(v, "Surname"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).surname; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).surname; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).surname = value.toString(); } }); column = createColumnFor(v, "E-Mail"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).email; } }); column.setEditingSupport(new AbstractEditingSupport(v) { @Override protected Object getValue(Object element) { return ((Person) element).email; } @Override protected void doSetValue(Object element, Object value) { ((Person) element).email = value.toString(); } }); column = createColumnFor(v, "Gender"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Person) element).gender; } }); ComboBoxCellEditor editor = new ComboBoxCellEditor(v.getTable(), new String[] { "M", "F" }); editor.setActivationStyle(ComboBoxCellEditor.DROP_DOWN_ON_TRAVERSE_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_PROGRAMMATIC_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_MOUSE_ACTIVATION | ComboBoxCellEditor.DROP_DOWN_ON_KEY_ACTIVATION); column.setEditingSupport(new AbstractEditingSupport(v, editor) { @Override protected Object getValue(Object element) { if (((Person) element).gender.equals("M")) return Integer.valueOf(0); return Integer.valueOf(1); } @Override protected void doSetValue(Object element, Object value) { if (((Integer) value).intValue() == 0) { ((Person) element).gender = "M"; } else { ((Person) element).gender = "F"; } } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { v.getTable().showColumn(v.getTable().getColumn(cell.getColumnIndex())); } return cell; } }; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v), naviStrat); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TableViewerEditor.create(v, focusCellManager, actSupport, feature); v.getColumnViewerEditor().addEditorActivationListener(new ColumnViewerEditorActivationListener() { @Override public void afterEditorActivated(ColumnViewerEditorActivationEvent event) { } @Override public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } @Override public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) { ViewerCell cell = (ViewerCell) event.getSource(); v.getTable().showColumn(v.getTable().getColumn(cell.getColumnIndex())); } @Override public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) { } }); Person[] model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); }
From source file:org.eclipse.jface.snippets.viewers.TableCursor.java
License:Open Source License
@Override protected void paint(Event event) { if (getSelectedCells().length == 1 && getSelectedCells()[0] == null) return;//w w w. ja va2s. c o m ViewerCell cell = getSelectedCells()[0]; GC gc = event.gc; Display display = getDisplay(); gc.setBackground(getBackground()); gc.setForeground(getForeground()); gc.fillRectangle(event.x, event.y, event.width, event.height); int x = 0; Point size = getSize(); Image image = cell.getImage(); if (image != null) { Rectangle imageSize = image.getBounds(); int imageY = (size.y - imageSize.height) / 2; gc.drawImage(image, x, imageY); x += imageSize.width; } String text = cell.getText(); if (text != "") { //$NON-NLS-1$ Rectangle bounds = cell.getBounds(); Point extent = gc.stringExtent(text); // Temporary code - need a better way to determine table trim if (Util.isWin32()) { if (((Table) getParent()).getColumnCount() == 0 || cell.getColumnIndex() == 0) { x += 2; } else { int alignmnent = ((Table) getParent()).getColumn(cell.getColumnIndex()).getAlignment(); switch (alignmnent) { case SWT.LEFT: x += 6; break; case SWT.RIGHT: x = bounds.width - extent.x - 6; break; case SWT.CENTER: x += (bounds.width - x - extent.x) / 2; break; } } } else { if (((Table) getParent()).getColumnCount() == 0) { x += 5; } else { int alignmnent = ((Table) getParent()).getColumn(cell.getColumnIndex()).getAlignment(); switch (alignmnent) { case SWT.LEFT: x += 5; break; case SWT.RIGHT: x = bounds.width - extent.x - 2; break; case SWT.CENTER: x += (bounds.width - x - extent.x) / 2 + 2; break; } } } int textY = (size.y - extent.y) / 2; gc.drawString(text, x, textY); } if (isFocusControl()) { gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK)); gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE)); gc.drawFocus(0, 0, size.x, size.y); } }