01: /*******************************************************************************
02: * Copyright (c) 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: ******************************************************************************/package org.eclipse.jface.viewers;
11:
12: /**
13: * <p>
14: * A content provider that expects every element to be a <code>TreeNode</code>.
15: * Most methods delegate to <code>TreeNode</code>. <code>dispose()</code>
16: * and <code>inputChanged(Viewer, Object, Object)</code> do nothing by
17: * default.
18: * </p>
19: * <p>
20: * This class and all of its methods may be overridden or extended.
21: * </p>
22: *
23: * @since 3.2
24: * @see org.eclipse.jface.viewers.TreeNode
25: */
26: public class TreeNodeContentProvider implements ITreeContentProvider {
27: /*
28: * (non-Javadoc)
29: *
30: * @see org.eclipse.jface.viewers.IContentProvider#dispose()
31: */
32: public void dispose() {
33: // Do nothing
34: }
35:
36: /*
37: * (non-Javadoc)
38: *
39: * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
40: */
41: public Object[] getChildren(final Object parentElement) {
42: final TreeNode node = (TreeNode) parentElement;
43: return node.getChildren();
44: }
45:
46: /*
47: * (non-Javadoc)
48: *
49: * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
50: */
51: public Object[] getElements(final Object inputElement) {
52: if (inputElement instanceof TreeNode[]) {
53: return (TreeNode[]) inputElement;
54: }
55: return new Object[0];
56: }
57:
58: /*
59: * (non-Javadoc)
60: *
61: * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
62: */
63: public Object getParent(final Object element) {
64: final TreeNode node = (TreeNode) element;
65: return node.getParent();
66: }
67:
68: /*
69: * (non-Javadoc)
70: *
71: * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
72: */
73: public boolean hasChildren(final Object element) {
74: final TreeNode node = (TreeNode) element;
75: return node.hasChildren();
76: }
77:
78: /*
79: * (non-Javadoc)
80: *
81: * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
82: * java.lang.Object, java.lang.Object)
83: */
84: public void inputChanged(final Viewer viewer,
85: final Object oldInput, final Object newInput) {
86: // Do nothing
87: }
88: }
|