Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/view/FileHistogramContentProvider.java')
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/view/FileHistogramContentProvider.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/view/FileHistogramContentProvider.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/view/FileHistogramContentProvider.java
new file mode 100644
index 0000000000..502378ed2a
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/internal/gprof/view/FileHistogramContentProvider.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2009 STMicroelectronics.
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Xavier Raynaud <xavier.raynaud@st.com> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.internal.gprof.view;
+
+import java.util.LinkedList;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.linuxtools.internal.gprof.parser.GmonDecoder;
+import org.eclipse.linuxtools.internal.gprof.view.histogram.AbstractTreeElement;
+import org.eclipse.linuxtools.internal.gprof.view.histogram.HistRoot;
+import org.eclipse.linuxtools.internal.gprof.view.histogram.TreeElement;
+
+
+/**
+ * Tree content provider on charge of displaying call graph
+ *
+ * @author Xavier Raynaud <xavier.raynaud@st.com>
+ */
+public class FileHistogramContentProvider implements ITreeContentProvider {
+
+ public static final FileHistogramContentProvider sharedInstance = new FileHistogramContentProvider();
+
+ /**
+ * Constructor
+ */
+ FileHistogramContentProvider() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+ */
+ public Object[] getChildren(Object parentElement) {
+ AbstractTreeElement elem = (AbstractTreeElement) parentElement;
+ LinkedList<? extends TreeElement> list = elem.getChildren();
+ return list.toArray();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+ */
+ public Object getParent(Object element) {
+ AbstractTreeElement elem = (AbstractTreeElement) element;
+ return elem.getParent();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+ */
+ public boolean hasChildren(Object element) {
+ AbstractTreeElement elem = (AbstractTreeElement) element;
+ return elem.hasChildren();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
+ */
+ public Object[] getElements(Object inputElement) {
+ if (inputElement == null) return new Object[0];
+ GmonDecoder obj = (GmonDecoder) inputElement;
+ HistRoot root = obj.getRootNode();
+ return new Object[] {
+ root
+ };
+ }
+
+ /*
+ * (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)
+ */
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+}

Back to the top