/** * Enable ToolTip support for the viewer by creating an instance from this * class. To get all necessary informations this support class consults the * {@link CellLabelProvider}. * * @param viewer * the viewer the support is attached to * @param style * style passed to control tool tip behavior * * @param manualActivation * <code>true</code> if the activation is done manually using * {@link #show(Point)} */ protected ColumnViewerToolTipSupport(ColumnViewer viewer, int style, boolean manualActivation) { super(viewer.getControl(), style, manualActivation); this.viewer = viewer; }
private void handleMouseDown(MouseEvent e) { ViewerCell cell = getCell(new Point(e.x, e.y)); if (cell != null) { triggerEditorActivationEvent(new ColumnViewerEditorActivationEvent( cell, e)); } }
/** * Sets the sorting direction for this sorter to use * * @param direction */ public void setDirection(int direction) { this.column.getParent().setSortColumn(this.column); this.direction = direction; this.column.getParent().setSortDirection(this.direction); if (this.cviewer.getComparator() == this) { this.cviewer.refresh(); } else { this.cviewer.setComparator(this); } }
@Override protected Item getItem(int x, int y) { return getItemAt(getControl().toControl(x, y)); }
/** * Returns the viewer column for the given column index. * * @param columnIndex * the column index * @return the viewer column at the given index, or <code>null</code> if * there is none for the given index */ /* package */ViewerColumn getViewerColumn(final int columnIndex) { ViewerColumn viewer; Widget columnOwner = getColumnViewerOwner(columnIndex); if (columnOwner == null || columnOwner.isDisposed()) { return null; } viewer = (ViewerColumn) columnOwner .getData(ViewerColumn.COLUMN_VIEWER_KEY); if (viewer == null) { viewer = createViewerColumn(columnOwner, CellLabelProvider .createViewerLabelProvider(this, getLabelProvider())); setupEditingSupport(columnIndex, viewer); } if (viewer.getEditingSupport() == null && getCellModifier() != null) { setupEditingSupport(columnIndex, viewer); } return viewer; }
private void hookListener(final ColumnViewer viewer) { Listener listener = event -> { if ((event.detail & SWT.SELECTED) > 0) { ViewerCell focusCell = getFocusCell(); ViewerRow row = viewer.getViewerRowFromItem(event.item); Assert .isNotNull(row, "Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$ ViewerCell cell = row.getCell(event.index); if (focusCell == null || !cell.equals(focusCell)) { removeSelectionInformation(event, cell); } else { markFocusedCell(event, cell); } } }; viewer.getControl().addListener(SWT.EraseItem, listener); }
if (viewerEditor != null) { try { getControl().setRedraw(false); setSelection(new StructuredSelection(element), true); Widget item = findItem(element); if (item != null) { ViewerRow row = getViewerRowFromItem(item); if (row != null) { ViewerCell cell = row.getCell(column); if (cell != null) { triggerEditorActivationEvent(new ColumnViewerEditorActivationEvent( cell)); getControl().setRedraw(true);
void clearLegacyEditingSetup() { if (!getControl().isDisposed() && getCellEditors() != null) { int count = doGetColumnCount(); for (int i = 0; i < count || i == 0; i++) { Widget owner = getColumnViewerOwner(i); if (owner != null && !owner.isDisposed()) { ViewerColumn column = (ViewerColumn) owner .getData(ViewerColumn.COLUMN_VIEWER_KEY); if (column != null) { EditingSupport e = column.getEditingSupport(); // Ensure that only EditingSupports are wiped that are // setup // for Legacy reasons if (e != null && e.isLegacySupport()) { column.setEditingSupport(null); } } } } } }
viewer.getControl().addListener(SWT.MouseDown, listener); viewer.getControl().addListener(SWT.KeyDown, listener); viewer.getControl().addListener(SWT.Selection, listener); viewer.addSelectionChangedListener(new ISelectionChangedListener() { viewer.getControl().addListener(SWT.FocusIn, listener);
protected boolean shouldCreateToolTip(Event event) { Point point = new Point(event.x, event.y); ViewerCell cell = viewer.getCell(point); if (cell == null) { return false; CellLabelProvider labelProvider = viewer.getLabelProvider(cell.getColumnIndex()); if (labelProvider instanceof IColumnToolTipProvider) { IColumnToolTipProvider columnToolTipProvider = (IColumnToolTipProvider) labelProvider; viewer.getControl().setToolTipText("");
@Override protected void setValue(Object element, Object value) { if (element instanceof ParameterInfo) { ParameterInfo pi= (ParameterInfo) element; doSetValue(pi, value.toString()); getViewer().update(element, null); } validateRefactoring(); updateSignaturePreview(); }
viewer.getControl().setRedraw(false); ColumnViewerEditorActivationEvent acEvent = new ColumnViewerEditorActivationEvent( cell2edit, event); viewer.triggerEditorActivationEvent(acEvent); viewer.getControl().setRedraw(true);
@Override protected Object getToolTipArea(Event event) { return viewer.getCell(new Point(event.x, event.y)); }
/** * @return the cell holding the current focus */ private ViewerCell getFocusCell() { return viewer.getColumnViewerEditor().getFocusCell(); }
/** * The table viewer implementation of this <code>Viewer</code> framework * method returns the label provider, which in the case of table viewers * will be an instance of either <code>ITableLabelProvider</code> or * <code>ILabelProvider</code>. If it is an * <code>ITableLabelProvider</code>, then it provides a separate label * text and image for each column. If it is an <code>ILabelProvider</code>, * then it provides only the label text and image for the first column, and * any remaining columns are blank. */ public IBaseLabelProvider getLabelProvider() { return super.getLabelProvider(); }
protected void associate(Object element, Item item) { Object data = item.getData(); if (data != null && data != element && equals(data, element)) { // workaround for PR 1FV62BT // assumption: elements are equal but not identical // -> remove from map but don't touch children unmapElement(data, item); item.setData(element); mapElement(element, item); } else { // recursively disassociate all super.associate(element, item); } }
private void hookListener(final ColumnViewer viewer) { Listener listener = event -> { if ((event.detail & SWT.SELECTED) > 0) { ViewerCell focusCell = getFocusCell(); ViewerRow row = viewer.getViewerRowFromItem(event.item); Assert .isNotNull(row, "Internal structure invalid. Item without associated row is not possible."); //$NON-NLS-1$ ViewerCell cell = row.getCell(event.index); if (focusCell == null || !cell.equals(focusCell)) { if (removeNonFocusedSelectionInformation) { removeSelectionInformation(event, cell); } } else { markFocusedCell(event, cell); } } }; viewer.getControl().addListener(SWT.EraseItem, listener); }
if (viewerEditor != null) { try { getControl().setRedraw(false); setSelection(new StructuredSelection(element), true); Widget item = findItem(element); if (item != null) { ViewerRow row = getViewerRowFromItem(item); if (row != null) { ViewerCell cell = row.getCell(column); if (cell != null) { triggerEditorActivationEvent(new ColumnViewerEditorActivationEvent( cell)); getControl().setRedraw(true);
void clearLegacyEditingSetup() { if (!getControl().isDisposed() && getCellEditors() != null) { int count = doGetColumnCount(); for (int i = 0; i < count || i == 0; i++) { Widget owner = getColumnViewerOwner(i); if (owner != null && !owner.isDisposed()) { ViewerColumn column = (ViewerColumn) owner .getData(ViewerColumn.COLUMN_VIEWER_KEY); if (column != null) { EditingSupport e = column.getEditingSupport(); // Ensure that only EditingSupports are wiped that are // setup // for Legacy reasons if (e != null && e.isLegacySupport()) { column.setEditingSupport(null); } } } } } }