Fix for bug 368181.
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / model / TmfProjectElement.java
1 /*******************************************************************************
2 * Copyright (c) 2011 Ericsson
3 *
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
8 *
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.linuxtools.tmf.ui.project.model;
14
15 import org.eclipse.core.resources.IProject;
16 import org.eclipse.core.resources.IResourceChangeEvent;
17 import org.eclipse.swt.widgets.Display;
18 import org.eclipse.ui.IViewPart;
19 import org.eclipse.ui.IViewReference;
20 import org.eclipse.ui.IWorkbench;
21 import org.eclipse.ui.IWorkbenchPage;
22 import org.eclipse.ui.PlatformUI;
23 import org.eclipse.ui.navigator.CommonNavigator;
24 import org.eclipse.ui.navigator.CommonViewer;
25
26 /**
27 * <b><u>TmfProjectElement</u></b>
28 * <p>
29 */
30 public class TmfProjectElement extends TmfProjectModelElement {
31
32 // ------------------------------------------------------------------------
33 // Attributes
34 // ------------------------------------------------------------------------
35
36 TmfTraceFolder fTraceFolder = null;
37 TmfExperimentFolder fExperimentFolder = null;
38
39 // ------------------------------------------------------------------------
40 // Constructor
41 // ------------------------------------------------------------------------
42
43 public TmfProjectElement(String name, IProject project, ITmfProjectModelElement parent) {
44 super(name, project, parent);
45 }
46
47 // ------------------------------------------------------------------------
48 // TmfProjectModelElement
49 // ------------------------------------------------------------------------
50
51 @Override
52 public IProject getResource() {
53 return (IProject) fResource;
54 }
55
56 @Override
57 public void addChild(ITmfProjectModelElement child) {
58 super.addChild(child);
59 if (child instanceof TmfTraceFolder) {
60 fTraceFolder = (TmfTraceFolder) child;
61 return;
62 }
63 if (child instanceof TmfExperimentFolder) {
64 fExperimentFolder = (TmfExperimentFolder) child;
65 return;
66 }
67 }
68
69 // ------------------------------------------------------------------------
70 // Accessors
71 // ------------------------------------------------------------------------
72
73 public TmfTraceFolder getTracesFolder() {
74 return fTraceFolder;
75 }
76
77 public TmfExperimentFolder getExperimentsFolder() {
78 return fExperimentFolder;
79 }
80
81 // ------------------------------------------------------------------------
82 // TmfProjectElement
83 // ------------------------------------------------------------------------
84
85 @Override
86 public void refresh() {
87 Display.getDefault().asyncExec(new Runnable(){
88 @Override
89 public void run() {
90 IWorkbench wb = PlatformUI.getWorkbench();
91 IWorkbenchPage activePage = wb.getActiveWorkbenchWindow().getActivePage();
92 for (IViewReference viewReference : activePage.getViewReferences()) {
93 IViewPart viewPart = viewReference.getView(false);
94 if (viewPart instanceof CommonNavigator) {
95 CommonViewer commonViewer = ((CommonNavigator) viewPart).getCommonViewer();
96 commonViewer.refresh();
97 }
98 }
99 }});
100 }
101
102 @Override
103 public void resourceChanged(IResourceChangeEvent event) {
104 if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
105 refresh();
106 }
107 }
108
109 @Override
110 public TmfProjectElement getProject() {
111 return this;
112 }
113
114 }
This page took 0.035014 seconds and 6 git commands to generate.