1 /*******************************************************************************
2 * Copyright (c) 2010, 2013 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Yuriy Vashchuk - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.ui
.views
.filter
;
15 import java
.util
.ArrayList
;
17 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
18 import org
.eclipse
.jface
.viewers
.Viewer
;
19 import org
.eclipse
.linuxtools
.tmf
.core
.filter
.model
.ITmfFilterTreeNode
;
22 * This is the Content Provider of our tree
25 * @author Yuriy Vashchuk
27 public class FilterTreeContentProvider
implements ITreeContentProvider
{
30 public void dispose() {
31 // TODO Auto-generated method stub
35 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
36 // TODO Auto-generated method stub
40 public Object
[] getElements(Object inputElement
) {
41 if (inputElement
instanceof ITmfFilterTreeNode
) {
42 ArrayList
<ITmfFilterTreeNode
> result
= new ArrayList
<ITmfFilterTreeNode
>();
43 for (int i
= 0; i
< ((ITmfFilterTreeNode
) inputElement
).getChildrenCount(); i
++) {
44 result
.add(((ITmfFilterTreeNode
) inputElement
).getChild(i
));
47 return result
.toArray();
53 public Object
[] getChildren(Object parentElement
) {
54 ArrayList
<ITmfFilterTreeNode
> result
= new ArrayList
<ITmfFilterTreeNode
>();
55 for (int i
= 0; i
< ((ITmfFilterTreeNode
) parentElement
).getChildrenCount(); i
++) {
56 result
.add(((ITmfFilterTreeNode
) parentElement
).getChild(i
));
58 return result
.toArray();
62 public Object
getParent(Object element
) {
63 return ((ITmfFilterTreeNode
) element
).getParent();
67 public boolean hasChildren(Object element
) {
68 return ((ITmfFilterTreeNode
) element
).hasChildren();