Project

General

Profile

Download (2.11 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy
5
* http://www.e-taxonomy.eu
6
*
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

    
11
package eu.etaxonomy.taxeditor.featuretree;
12

    
13
import java.util.List;
14

    
15
import org.eclipse.jface.viewers.ITreeContentProvider;
16
import org.eclipse.jface.viewers.Viewer;
17

    
18
import eu.etaxonomy.cdm.model.description.FeatureNode;
19
import eu.etaxonomy.cdm.model.description.FeatureTree;
20

    
21
/**
22
 * <p>FeatureTreeContentProvider class.</p>
23
 *
24
 * @author n.hoffmann
25
 * @created Aug 5, 2010
26
 * @version 1.0
27
 */
28
public class FeatureTreeContentProvider implements ITreeContentProvider {
29

    
30
	/* (non-Javadoc)
31
	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
32
	 */
33
	/** {@inheritDoc} */
34
	@Override
35
	public void dispose() {
36

    
37
	}
38

    
39
	/* (non-Javadoc)
40
	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
41
	 */
42
	/** {@inheritDoc} */
43
	@Override
44
	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
45

    
46
	}
47

    
48
	/* (non-Javadoc)
49
	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
50
	 */
51
	/** {@inheritDoc} */
52
	@Override
53
	public Object[] getElements(Object inputElement) {
54
		return this.getChildren(inputElement);
55
	}
56

    
57
	/** {@inheritDoc} */
58
	@Override
59
	public Object[] getChildren(Object parentElement) {
60
		if(parentElement instanceof FeatureTree){
61
			List<FeatureNode> children = ((FeatureTree) parentElement).getRootChildren();
62
			return children.toArray();
63
		}else if(parentElement instanceof FeatureNode){
64
			List<FeatureNode> children = ((FeatureNode) parentElement).getChildNodes();
65
			return children.toArray();
66
		}else if(parentElement instanceof List){
67
			return ((List) parentElement).toArray();
68
		}else{
69
			return new Object[]{};
70
		}
71
	}
72

    
73
	/** {@inheritDoc} */
74
	@Override
75
	public Object getParent(Object element) {
76
		return null;
77
	}
78

    
79
	/** {@inheritDoc} */
80
	@Override
81
	public boolean hasChildren(Object element) {
82
		return getChildren(element).length != 0;
83
	}
84
}
(5-5/9)