List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file: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);//from w w w. jav a 2 s . c o m v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { 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() { public String getText(Object element) { return "Column 1 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return false; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } 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() { public String getText(Object element) { return "Column 2 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } 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() { public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } protected Object getValue(Object element) { return new Boolean(((MyModel) element).bool); } 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() { 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, new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e }); } catch (SecurityException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NoSuchMethodException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalArgumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:au.gov.ga.earthsci.bookmark.part.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(ArrayContentProvider.getInstance()); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(200);/* w w w.java 2 s .c om*/ col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateLabelColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(100); col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateOpacityColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col.setEditingSupport(new EditingSupport(col.getViewer()) { @Override protected CellEditor getCellEditor(Object element) { TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable()); textCellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { try { Double.parseDouble((String) value); return null; } catch (Exception e) { return Messages.LayersPropertyEditor_InvalidOpacityMessage; } } }); return textCellEditor; } @Override protected boolean canEdit(Object element) { return true; } @SuppressWarnings("unchecked") @Override protected Object getValue(Object element) { return Double.toString(((Entry<URI, Double>) element).getValue()); } @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { ((Entry<URI, Double>) element).setValue(Util.clamp(Double.parseDouble((String) value), 0, 1)); layerTable.refresh(element, true); } }); layerTable.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<URI, Double> entry = (Entry<URI, Double>) cell.getElement(); if (cell.getColumnIndex() == 0) { cell.setText(entry.getKey().toString()); } else { cell.setText(Double.toString(entry.getValue())); } } }); fillFieldsFromProperty(getProperty()); return container; }
From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); tableColumns = new ArrayList<TableViewerColumn>(); colToName = new ConcurrentHashMap<Integer, String>(); colToName.put(0, "id"); colToName.put(1, "opacity"); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(new IStructuredContentProvider() { @Override//from w w w.j a va 2s. com public void inputChanged(Viewer arg0, Object oldItem, Object newItem) { for (TableViewerColumn col : tableColumns) { col.getColumn().dispose(); } tableColumns.clear(); colToName.clear(); if (newItem != null) { Collection<String> cols = null; if (newItem instanceof Map) { cols = getColumnsNeeded((Map) newItem); } for (String s : cols) { if (!s.equals("id")) { createTableColumn(s, s.equals(LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME)); } } createTableColumn("id", false); } } @Override public void dispose() { } @Override public Object[] getElements(Object element) { List items = new ArrayList(); Map<String, Map<String, String>> stateinfo = (Map<String, Map<String, String>>) element; for (Entry<String, Map<String, String>> entry : stateinfo.entrySet()) { items.add(entry); } return items.toArray(new Object[0]); } }); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); labelProv = new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<String, Map<String, String>> entry = (Entry<String, Map<String, String>>) cell.getElement(); int index = cell.getColumnIndex(); String colName = colToName.get(index); cell.setText(colName.equals("id") ? entry.getKey() : entry.getValue().get(colName)); } }; fillFieldsFromProperty(getProperty()); return container; }
From source file:bndtools.editor.common.PropertiesTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { ColumnViewer viewer = getViewer();/*from w ww .jav a 2 s . c o m*/ @SuppressWarnings("unchecked") Map<String, String> map = (Map<String, String>) viewer.getInput(); String key = (String) cell.getElement(); if (cell.getColumnIndex() == 0) { cell.setText(key); } else if (cell.getColumnIndex() == 1) { cell.setText(map.get(key)); } }
From source file:bndtools.editor.components.ComponentSvcRefTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { ComponentSvcReference svcRef = (ComponentSvcReference) cell.getElement(); int columnIndex = cell.getColumnIndex(); StyledString styledString;/* w w w . jav a 2 s. c o m*/ switch (columnIndex) { case 0: styledString = new StyledString(svcRef.getName()); String bind = svcRef.getBind(); String unbind = svcRef.getUnbind(); if (bind != null) { StringBuilder buffer = new StringBuilder(); buffer.append(" {").append(bind).append('/'); if (unbind != null) { buffer.append(unbind); } buffer.append('}'); styledString.append(buffer.toString(), StyledString.DECORATIONS_STYLER); } cell.setImage(svcRef.isDynamic() ? dynamicImg : staticImg); cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); break; case 1: styledString = new StyledString(svcRef.getServiceClass(), StyledString.QUALIFIER_STYLER); cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); break; case 2: char[] cardinality = new char[] { svcRef.isOptional() ? '0' : '1', '.', '.', svcRef.isMultiple() ? 'n' : '1' }; styledString = new StyledString(new String(cardinality), StyledString.COUNTER_STYLER); cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); break; case 3: String target = svcRef.getTargetFilter(); cell.setText(target != null ? target : ""); break; } }
From source file:bndtools.model.importanalysis.ImportsExportsTreeLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { if (IMPORTS_PLACEHOLDER.equals(cell.getElement())) { if (cell.getColumnIndex() == 0) { cell.setImage(pkgFolderImg); cell.setText("Import Packages"); }//from w w w. jav a2s. c om } else if (EXPORTS_PLACEHOLDER.equals(cell.getElement())) { if (cell.getColumnIndex() == 0) { cell.setImage(pkgFolderImg); cell.setText("Export Packages"); } } else if (REQUIRED_PLACEHOLDER.equals(cell.getElement())) { if (cell.getColumnIndex() == 0) { cell.setImage(bundleFolderImg); cell.setText("Required Bundles"); } } else if (cell.getElement() instanceof ImportUsedByPackage) { if (cell.getColumnIndex() == 0) { StyledString styledString = new StyledString("Used By: ", UIConstants.ITALIC_QUALIFIER_STYLER); styledString.append(((ImportUsedByPackage) cell.getElement()).usedByName); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } } else if (cell.getElement() instanceof ImportUsedByClass) { if (cell.getColumnIndex() == 0) { ImportUsedByClass importUsedBy = (ImportUsedByClass) cell.getElement(); String fqn = importUsedBy.clazz.getFQN(); String className = fqn.substring(fqn.lastIndexOf('.') + 1); cell.setText(className); cell.setImage(classImg); } } else if (cell.getElement() instanceof ExportUsesPackage) { if (cell.getColumnIndex() == 0) { StyledString styledString = new StyledString("Uses: ", UIConstants.ITALIC_QUALIFIER_STYLER); styledString.append(((ExportUsesPackage) cell.getElement()).name); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } } else if (cell.getElement() instanceof RequiredBundle) { RequiredBundle rb = (RequiredBundle) cell.getElement(); switch (cell.getColumnIndex()) { case 0: StyledString label; if (rb.isSatisfied()) label = new StyledString(rb.getName(), StyledString.QUALIFIER_STYLER); else label = new StyledString(rb.getName()); String version = rb.getAttribs().get(Constants.BUNDLE_VERSION_ATTRIBUTE); if (version != null) label.append(" " + version, StyledString.COUNTER_STYLER); String resolution = rb.getAttribs().get(Constants.RESOLUTION_DIRECTIVE); boolean optional = org.osgi.framework.Constants.RESOLUTION_OPTIONAL.equals(resolution); if (resolution != null) label.append(" <" + resolution + ">", UIConstants.ITALIC_QUALIFIER_STYLER); cell.setText(label.getString()); cell.setStyleRanges(label.getStyleRanges()); if (optional) cell.setImage(requiredBundleOptImg); else if (rb.isSatisfied()) cell.setImage(requiredBundleSatisfiedImg); else cell.setImage(requiredBundleImg); break; case 1: cell.setText(formatAttribs(rb.getAttribs())); break; default: break; } } else if (cell.getElement() instanceof ImportPackage || cell.getElement() instanceof ExportPackage) { HeaderClause entry = (HeaderClause) cell.getElement(); switch (cell.getColumnIndex()) { case 0: boolean selfImport = false; if (entry instanceof ImportPackage) { selfImport = ((ImportPackage) entry).isSelfImport(); } StyledString styledString; if (selfImport) { styledString = new StyledString(entry.getName(), StyledString.QUALIFIER_STYLER); } else { styledString = new StyledString(entry.getName()); } String version = entry.getAttribs().get(Constants.VERSION_ATTRIBUTE); if (version != null) styledString.append(" " + version, StyledString.COUNTER_STYLER); String resolution = entry.getAttribs().get(Constants.RESOLUTION_DIRECTIVE); boolean optional = org.osgi.framework.Constants.RESOLUTION_OPTIONAL.equals(resolution); if (resolution != null) { styledString.append(" <" + resolution + ">", UIConstants.ITALIC_QUALIFIER_STYLER); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); if (optional) { cell.setImage(packageOptImg); } else if (selfImport) { cell.setImage(packageImpExpImg); } else { cell.setImage(packageImg); } break; case 1: cell.setText(formatAttribs(entry.getAttribs())); break; default: break; } } }
From source file:br.ufes.inf.nemo.ontouml.transformation.onto2info.ui.util.BooleanCellEditor.java
License:Open Source License
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);//w ww . j a v a 2s . com row.setImage(index, null); row.setText(index, ""); //$NON-NLS-1$ if (activationEvent.eventType != ColumnViewerEditorActivationEvent.TRAVERSAL && changeOnActivation) { //System.out.println("!!!!!!!! activate() !!!!!!!!\n"); //button.setSelection(!button.getSelection()); // original code // rcarraretto (this almost works) /* The problem is: the class that calls [Boolean]CellEditor.activate() also calls, further on, other methods of CellEditor * So, since I programmed this SWT.Selection to fireApplyEditorValue() * This will deactivate() this CellEditor and will generate a NullPointerException * Perhaps, a way to solve this is to extend and override the class and the method that calls [Boolean]CellEditor.activate() */ //button.notifyListeners(SWT.Selection, new Event()); } // 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:ca.uvic.chisel.javasketch.ui.internal.search.TraceSearchResultLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); int columnIndex = cell.getColumnIndex(); cell.setImage(getColumnImage(element, columnIndex)); if (element instanceof Match) { String text = ""; switch (columnIndex) { case 0://from w ww. j a v a 2 s .c om setMatchText(cell); break; case 1: ITraceModelProxy mElement = (ITraceModelProxy) ((Match) element).getElement(); switch (mElement.getKind()) { case ITraceModel.ACTIVATION: text = "Activation"; break; case ITraceModel.TRACE_CLASS: text = "Class"; break; case ITraceModel.TRACE_CLASS_METHOD: text = "Method"; break; case ITraceModel.THREAD: text = "Thread"; break; case ITraceModel.TRACE: text = "Trace"; break; } if ((mElement.getKind() & ITraceModel.MESSAGE) == ITraceModel.MESSAGE) { text = "Message"; } cell.setText(text); } } else { cell.setText(getColumnText(element, columnIndex)); } }
From source file:ca.uvic.chisel.javasketch.ui.internal.views.TraceNavigatorLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); IProgramSketch sketch = null;// w w w . ja v a 2 s. c o m Image image = null; if (element instanceof IProgramSketch) { sketch = (IProgramSketch) element; } else if (element instanceof IThread) { IThread thread = (IThread) element; sketch = SketchPlugin.getDefault().getSketch(thread); } switch (cell.getColumnIndex()) { case TraceNavigator.ACTIVE_TRACE_COLUMN: if (sketch != null) { if (sketch.equals(SketchPlugin.getDefault().getActiveSketch())) { cell.setImage(SketchPlugin.getDefault().getImageRegistry() .get(ISketchImageConstants.ICON_TRACE_ACTIVE)); } else { cell.setImage(SketchPlugin.getDefault().getImageRegistry() .get(ISketchImageConstants.ICON_TRACE_INACTIVE)); } } break; case TraceNavigator.LABEL_COLUMN: cell.setText(getText(element)); cell.setImage(getImage(element)); break; case TraceNavigator.VISIBLE_TRACE_COLUMN: if (sketch != null) { IDegreeOfInterest doi = SketchPlugin.getDefault().getDOI(); IProgramSketch activeSketch = SketchPlugin.getDefault().getActiveSketch(); if (activeSketch != null) { if (activeSketch.getTracedLaunchConfiguration().equals(sketch.getTracedLaunchConfiguration())) { TraceNavigator navigator = (TraceNavigator) PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage().findView(TraceNavigator.VIEW_ID); if (navigator != null) { if (doi.isSketchHidden(sketch)) { image = SketchPlugin.getDefault().getImageRegistry() .get(ISketchImageConstants.ICON_ELEMENT_FILTERED); } else { image = SketchPlugin.getDefault().getImageRegistry() .get(ISketchImageConstants.ICON_ELEMENT_VISIBLE); } } } } } cell.setImage(image); break; } }
From source file:com.android.ddmuilib.logcat.LogCatMessageLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); if (!(element instanceof LogCatMessage)) { return;/*w ww .j a v a 2s . co m*/ } LogCatMessage m = (LogCatMessage) element; String text = getCellText(m, cell.getColumnIndex()); cell.setText(text); cell.setFont(mLogFont); cell.setForeground(getForegroundColor(m)); }