Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java65
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;

Back to the top