diff options
Diffstat (limited to 'examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java')
-rw-r--r-- | examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java | 65 |
1 files changed, 35 insertions, 30 deletions
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java index 6d0e5fa239d..1314d01316b 100644 --- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java +++ b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet036FocusBorderCellHighlighter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Tom Schindl and others. + * Copyright (c) 2006, 2013 Tom Schindl and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,14 @@ * * Contributors: * Tom Schindl - initial API and implementation + * Hendrik Still <hendrik.still@gammas.de> - bug 417676 *******************************************************************************/ package org.eclipse.jface.snippets.viewers; +import java.util.ArrayList; +import java.util.List; + import org.eclipse.jface.resource.FontRegistry; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewerEditor; @@ -38,26 +42,27 @@ import org.eclipse.swt.widgets.TableColumn; /** * Example of a different focus cell rendering with a simply focus border - * + * * @author Tom Schindl <tom.schindl@bestsolution.at> - * + * */ public class Snippet036FocusBorderCellHighlighter { - private class MyContentProvider implements IStructuredContentProvider { + private class MyContentProvider implements IStructuredContentProvider<MyModel,List<MyModel>> { /* * (non-Javadoc) - * + * * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) */ - public Object[] getElements(Object inputElement) { - return (MyModel[]) inputElement; + public MyModel[] getElements(List<MyModel> inputElement) { + MyModel[] myModels = new MyModel[inputElement.size()]; + return inputElement.toArray(myModels); } /* * (non-Javadoc) - * + * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { @@ -66,18 +71,18 @@ public class Snippet036FocusBorderCellHighlighter { /* * (non-Javadoc) - * + * * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, * java.lang.Object, java.lang.Object) */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + public void inputChanged(Viewer<? extends List<MyModel>> viewer, List<MyModel> oldInput, List<MyModel> newInput) { } } public static boolean flag = true; - + public class MyModel { public int counter; @@ -90,34 +95,34 @@ public class Snippet036FocusBorderCellHighlighter { } } - public class MyLabelProvider extends LabelProvider implements - ITableLabelProvider, ITableFontProvider, ITableColorProvider { + public class MyLabelProvider extends LabelProvider<MyModel> implements + ITableLabelProvider<MyModel>, ITableFontProvider<MyModel>, ITableColorProvider<MyModel> { FontRegistry registry = new FontRegistry(); - public Image getColumnImage(Object element, int columnIndex) { + public Image getColumnImage(MyModel element, int columnIndex) { return null; } - public String getColumnText(Object element, int columnIndex) { + public String getColumnText(MyModel element, int columnIndex) { return "Column " + columnIndex + " => " + element.toString(); } - public Font getFont(Object element, int columnIndex) { + public Font getFont(MyModel element, int columnIndex) { return null; } - public Color getBackground(Object element, int columnIndex) { + public Color getBackground(MyModel element, int columnIndex) { return null; } - public Color getForeground(Object element, int columnIndex) { + public Color getForeground(MyModel element, int columnIndex) { return null; } } public Snippet036FocusBorderCellHighlighter(Shell shell) { - final TableViewer v = new TableViewer(shell, SWT.BORDER|SWT.FULL_SELECTION); + final TableViewer<MyModel,List<MyModel>> v = new TableViewer<MyModel,List<MyModel>>(shell, SWT.BORDER|SWT.FULL_SELECTION); v.setLabelProvider(new MyLabelProvider()); v.setContentProvider(new MyContentProvider()); @@ -133,13 +138,13 @@ public class Snippet036FocusBorderCellHighlighter { } public void modify(Object element, String property, Object value) { - + } - + }); - + v.setColumnProperties(new String[] {"1","2","3"}); - + TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(v,new FocusBorderCellHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { protected boolean isEditorActivationEvent( @@ -150,12 +155,12 @@ public class Snippet036FocusBorderCellHighlighter { || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; - + TableViewerEditor.create(v, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); - + TableColumn column = new TableColumn(v.getTable(), SWT.NONE); column.setWidth(200); column.setMoveable(true); @@ -171,18 +176,18 @@ public class Snippet036FocusBorderCellHighlighter { column.setMoveable(true); column.setText("Column 3"); - - MyModel[] model = createModel(); + + List<MyModel> model = createModel(); v.setInput(model); v.getTable().setLinesVisible(true); v.getTable().setHeaderVisible(true); } - private MyModel[] createModel() { - MyModel[] elements = new MyModel[10]; + private List<MyModel> createModel() { + List<MyModel> elements = new ArrayList<MyModel>(10); for (int i = 0; i < 10; i++) { - elements[i] = new MyModel(i); + elements.add(i,new MyModel(i)); } return elements; |