List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file:net.vectorcomputing.photo.ui.widgets.PhotoCatalogsCellLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof IPhotoCatalog) { IPhotoCatalog catalog = (IPhotoCatalog) element; int index = cell.getColumnIndex(); switch (index) { case 0:/*from w w w . j a v a 2 s.c o m*/ cell.setText(catalog.getFileStore().getName()); break; case 1: cell.setText(Integer.toString(catalog.getPhotos().size())); break; case 2: IPhotoCatalogUpdateStatistics stats = catalog.getUpdateStatistics(); if (stats != null) { Calendar endTime = stats.getEndTime(); if (endTime != null) { cell.setText(endTime.toString()); } } break; default: break; } } }
From source file:net.vectorcomputing.photo.ui.widgets.PhotoFactoriesCellLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof IPhotoFactoryDescriptor) { IPhotoFactoryDescriptor factory = (IPhotoFactoryDescriptor) element; int index = cell.getColumnIndex(); switch (index) { case 0://w w w.j a v a 2 s. c o m cell.setText(factory.getId()); break; case 1: cell.setText(factory.getName()); break; default: break; } } }
From source file:net.yatomiya.e4.ui.viewer.TableViewerColumnManager.java
License:Open Source License
public TableViewerColumnManager(TableViewer viewer) { this.viewer = viewer; propertyListenerList = new ArrayList<>(); dataList = new ArrayList<>(); TableViewerEditor.create(viewer, new InternalEditStrategy(viewer), ColumnViewerEditor.DEFAULT); final Display display = viewer.getTable().getDisplay(); final Listener mouseListener = new Listener() { @Override/* w ww. ja v a 2 s . c o m*/ public void handleEvent(Event event) { if (event.widget == viewer.getTable()) { ViewerCell cell = viewer.getCell(new Point(event.x, event.y)); if (cell != null) { ColumnData data = dataList.get(cell.getColumnIndex()); boolean doRestoreSelection = false; if (lastSelection != null && SelectionUtils.size(lastSelection) > 1 && data.editingSupport != null) { for (Object e : SelectionUtils.toList(lastSelection)) { if (e == cell.getElement()) doRestoreSelection = true; } } if (doRestoreSelection) { viewer.setSelection(lastSelection); } else { lastSelection = viewer.getSelection(); } } } } }; display.addFilter(SWT.MouseDown, mouseListener); viewer.getTable().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent event) { display.removeFilter(SWT.MouseDown, mouseListener); } }); }
From source file:org.apache.sling.ide.eclipse.ui.views.JcrCellLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { int index = cell.getColumnIndex(); if (!isNewRow(cell)) { if (canEdit(cell)) { cell.setForeground(normalColor); } else {/*from ww w . j a v a2 s . c om*/ cell.setForeground(greyColor); } } if (index == 0) { updateName(cell); return; } else if (index == 1) { final Object element = cell.getElement(); if (element instanceof NewRow) { NewRow newRow = (NewRow) element; int propertyType = newRow.getType(); String type = PropertyType.nameFromValue(propertyType); cell.setText(type); } else if (element instanceof IPropertyDescriptor) { IPropertyDescriptor pd = (IPropertyDescriptor) element; JcrNode jcrNode = (JcrNode) viewer.getInput(); Map.Entry me = (Entry) pd.getId(); final String propertyName = String.valueOf(me.getKey()); int propertyType = jcrNode.getPropertyType(propertyName); if (propertyType <= -1 || propertyType == PropertyType.UNDEFINED) { cell.setText(""); } else { final JcrProperty property = jcrNode.getProperty(propertyName); String type = PropertyType.nameFromValue(propertyType); if (property != null && property.isMultiple()) { type = type + "[]"; } cell.setText(type); } } else { cell.setText(""); } return; } else if (index == 2) { updateValue(cell); return; } else { final Object element = cell.getElement(); if (element instanceof NewRow) { NewRow newRow = (NewRow) element; cell.setText(""); } else if (element instanceof IPropertyDescriptor) { IPropertyDescriptor pd = (IPropertyDescriptor) element; JcrNode jcrNode = (JcrNode) viewer.getInput(); Map.Entry me = (Entry) pd.getId(); PropertyDefinition prd = jcrNode.getPropertyDefinition(String.valueOf(me.getKey())); if (index == 3) { // protected if (prd != null) { cell.setText(String.valueOf(prd.isProtected())); } else { cell.setText("false"); } } else if (index == 4) { // mandatory if (prd != null) { cell.setText(String.valueOf(prd.isMandatory())); } else { cell.setText("false"); } } else if (index == 5) { // multiple if (prd != null) { cell.setText(String.valueOf(prd.isMultiple())); } else { cell.setText(String.valueOf(jcrNode.getProperty(String.valueOf(me.getKey())).isMultiple())); } } else if (index == 6) { // auto creatd if (prd != null) { cell.setText(String.valueOf(prd.isAutoCreated())); } else { cell.setText("false"); } } else { cell.setText("n/a"); return; } } } }
From source file:org.apache.sling.ide.eclipse.ui.views.JcrCellLabelProvider.java
License:Apache License
private boolean canEdit(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof NewRow) { // can edit everything of a newrow (other than type properties) if (cell.getColumnIndex() > 2) { return false; }//from w ww . j a va2s . c o m return true; } else if (element instanceof IPropertyDescriptor) { if (cell.getColumnIndex() > 2 && cell.getColumnIndex() != 5) { return false; } IPropertyDescriptor pd = (IPropertyDescriptor) element; JcrNode jcrNode = (JcrNode) viewer.getInput(); Map.Entry me = (Entry) pd.getId(); if (me.getKey().equals("jcr:primaryType")) { return cell.getColumnIndex() == 2; } else { return true; } } else { // otherwise this is an unknown/unsupported cell element return false; } }
From source file:org.bonitasoft.studio.contract.ui.property.AddRowOnEnterCellNavigationStrategy.java
License:Open Source License
public boolean isContractInputNameColumn(final ViewerCell currentSelectedCell) { return currentSelectedCell.getColumnIndex() == 0; }
From source file:org.codehaus.groovy.eclipse.dsl.inferencing.suggestions.ui.MethodParameterTable.java
License:Apache License
protected void setTableProviders(final TableViewer viewer) { viewer.setContentProvider(new IStructuredContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { }//w w w . ja va2 s. c o m public void dispose() { } public Object[] getElements(Object inputElement) { if (inputElement instanceof List) { return ((List<?>) inputElement).toArray(); } return null; } }); viewer.setLabelProvider(new ColumnLabelProvider() { public void update(ViewerCell cell) { Object element = cell.getElement(); int index = cell.getColumnIndex(); cell.setText(getColumnText(element, index)); } public String getColumnText(Object element, int index) { String text = null; if (element instanceof MethodParameter) { ColumnTypes[] values = ColumnTypes.values(); if (index >= 0 && index < values.length) { ColumnTypes type = values[index]; MethodParameter arg = (MethodParameter) element; switch (type) { case NAME: text = arg.getName(); break; case TYPE: text = arg.getType(); break; } } } return text; } }); viewer.setInput(parameters); }
From source file:org.csstudio.display.pace.gui.GUI.java
License:Open Source License
/** Update <code>selected_cell</code> from mouse position */ private void addCellTracker() { // This part is a bit unfortunate: // The TableViewer handles most of the interfacing between the // SWT table and the Model, but it only handles selections // on the row/Instance level, while we want to perform certain // tasks on the Cell level. // This code tracks the currently selected Model Cell, the Cell // under the last mouse click. // Since the Cell has a reference to its Column, // and the TableViewer provides all selected rows/Instances, // this then leads to all selected Cells. table_viewer.getTable().addListener(SWT.MouseDown, new Listener() { @Override/*from ww w. j a v a2 s. com*/ public void handleEvent(final Event event) { // Get cell in SWT Table from mouse position final Point point = new Point(event.x, event.y); final ViewerCell viewer_cell = table_viewer.getCell(point); if (viewer_cell == null) { // Didn't hit table?? selected_cell = null; return; } // Get Model's row/Instance, then Model's Cell in there final Instance instance = (Instance) viewer_cell.getElement(); final int col_idx = viewer_cell.getColumnIndex(); if (col_idx <= 0) { // Special first column with instance name selected_cell = null; return; } selected_cell = instance.getCell(col_idx - 1); // Update selection listeners about newly selected cells for (ISelectionChangedListener listener : listeners) listener.selectionChanged(new SelectionChangedEvent(GUI.this, getSelection())); } }); }
From source file:org.csstudio.display.rdbtable.ui.RDBTableRowLabelProvider.java
License:Open Source License
/** @param cell Cell in table that we need to update with info from * the RDBTableRow//from w ww .j a v a2s. c o m */ @Override public void update(final ViewerCell cell) { final RDBTableRow row = (RDBTableRow) cell.getElement(); // Display text of corresponding RDBTable column cell.setText(row.getColumn(cell.getColumnIndex())); // Highlight changed or deleted cells final Display display = cell.getControl().getDisplay(); if (row.wasDeleted()) cell.setBackground(display.getSystemColor(SWT.COLOR_GRAY)); else if (row.wasModified()) cell.setBackground(display.getSystemColor(SWT.COLOR_YELLOW)); else cell.setBackground(null); }
From source file:org.csstudio.swt.widgets.natives.SpreadSheetTable.java
License:Open Source License
/**Get row and column index under given point. * @param point the widget-relative coordinates * @return int[0] is row index, int[1] is column index. * null if no cell was found under given point. *///from w w w.j a v a2 s.c om public int[] getRowColumnIndex(Point point) { Table table = tableViewer.getTable(); ViewerCell cell = tableViewer.getCell(point); if (cell == null) return null; int col = cell.getColumnIndex(); // int row = table.indexOf((TableItem) cell.getItem()); // return new int[]{row, col}; int row = -1; // get row index Rectangle clientArea = table.getClientArea(); int index = table.getTopIndex(); while (index < table.getItemCount()) { boolean visible = false; TableItem item = table.getItem(index); Rectangle rect = item.getBounds(col); if (rect.contains(point)) { row = index; return new int[] { row, col }; } if (!visible && rect.intersects(clientArea)) { visible = true; } if (!visible) return new int[] { row, col }; index++; } return new int[] { row, col }; }