diff options
Diffstat (limited to 'examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java')
-rw-r--r-- | examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java | 81 |
1 files changed, 54 insertions, 27 deletions
diff --git a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java index 46fd6404836..a238539e3b9 100644 --- a/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java +++ b/examples/org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet005TreeCustomMenu.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 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,6 +7,7 @@ * * Contributors: * Tom Schindl - initial API and implementation + * Hendrik Still <hendrik.still@gammas.de> - bug 417676 *******************************************************************************/ package org.eclipse.jface.snippets.viewers; @@ -28,63 +29,89 @@ import org.eclipse.swt.widgets.Shell; /** * Customized context menu based on TreeItem-Selection - * + * * @author Tom Schindl <tom.schindl@bestsolution.at> * */ public class Snippet005TreeCustomMenu { - private class MyContentProvider implements ITreeContentProvider { - - public Object[] getElements(Object inputElement) { - return ((MyModel) inputElement).child.toArray(); + private class MyContentProvider implements + ITreeContentProvider<MyModel, MyModel> { + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.IStructuredContentProvider#getElements( + * java.lang.Object) + */ + public MyModel[] getElements(MyModel inputElement) { + MyModel[] myModels = new MyModel[inputElement.child.size()]; + return inputElement.child.toArray(myModels); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) + /* + * (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 MyModel> viewer, + MyModel oldInput, MyModel newInput) { } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang + * .Object) */ - public Object[] getChildren(Object parentElement) { + public MyModel[] getChildren(MyModel parentElement) { return getElements(parentElement); } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang + * .Object) */ - public Object getParent(Object element) { + public MyModel getParent(MyModel element) { if (element == null) { return null; } - return ((MyModel) element).parent; + return element.parent; } - /* (non-Javadoc) - * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) + /* + * (non-Javadoc) + * + * @see + * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang + * .Object) */ - public boolean hasChildren(Object element) { - return ((MyModel) element).child.size() > 0; + public boolean hasChildren(MyModel element) { + return element.child.size() > 0; } } public class MyModel { public MyModel parent; - - public ArrayList child = new ArrayList(); - + public ArrayList<MyModel> child = new ArrayList<MyModel>(); public int counter; public MyModel(int counter, MyModel parent) { @@ -94,7 +121,7 @@ public class Snippet005TreeCustomMenu { public String toString() { String rv = "Item "; - if (parent != null) { + if( parent != null ) { rv = parent.toString() + "."; } @@ -105,8 +132,8 @@ public class Snippet005TreeCustomMenu { } public Snippet005TreeCustomMenu(Shell shell) { - final TreeViewer v = new TreeViewer(shell); - v.setLabelProvider(new LabelProvider()); + final TreeViewer<MyModel,MyModel> v = new TreeViewer<MyModel,MyModel>(shell); + v.setLabelProvider(new LabelProvider<MyModel>()); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); |