1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 École Polytechnique de Montréal, 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 * Florian Wininger - Initial API and implementation
11 * Alexandre Montplaisir - Refactoring, performance tweaks
12 * Bernd Hufmann - Updated signal handling
13 * Marc-Andre Laperle - Add time zone preference
14 * Geneviève Bastien - Use a tree viewer instead of a tree
15 *******************************************************************************/
17 package org
.eclipse
.tracecompass
.tmf
.ui
.views
.statesystem
;
21 import org
.eclipse
.jface
.action
.Action
;
22 import org
.eclipse
.jface
.action
.IToolBarManager
;
23 import org
.eclipse
.jface
.resource
.ImageDescriptor
;
24 import org
.eclipse
.swt
.graphics
.Image
;
25 import org
.eclipse
.swt
.widgets
.Composite
;
26 import org
.eclipse
.tracecompass
.internal
.tmf
.ui
.Activator
;
27 import org
.eclipse
.tracecompass
.tmf
.core
.signal
.TmfTraceSelectedSignal
;
28 import org
.eclipse
.tracecompass
.tmf
.core
.trace
.ITmfTrace
;
29 import org
.eclipse
.tracecompass
.tmf
.core
.trace
.TmfTraceManager
;
30 import org
.eclipse
.tracecompass
.tmf
.ui
.views
.TmfView
;
31 import org
.eclipse
.ui
.IActionBars
;
34 * Displays the State System at a current time.
36 * @author Florian Wininger
37 * @author Alexandre Montplaisir
39 public class TmfStateSystemExplorer
extends TmfView
{
41 /** The Environment View's ID */
42 public static final String ID
= "org.eclipse.linuxtools.tmf.ui.views.ssview"; //$NON-NLS-1$
44 private static final Image FILTER_IMAGE
=
45 Activator
.getDefault().getImageFromPath( File
.separator
+ "icons" + File
.separator
+ "elcl16" + File
.separator
+ "filter_items.gif"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
47 private TmfStateSystemViewer fViewer
;
52 public TmfStateSystemExplorer() {
56 // ------------------------------------------------------------------------
58 // ------------------------------------------------------------------------
61 public void createPartControl(Composite parent
) {
63 fViewer
= new TmfStateSystemViewer(parent
);
67 ITmfTrace trace
= TmfTraceManager
.getInstance().getActiveTrace();
69 fViewer
.traceSelected(new TmfTraceSelectedSignal(this, trace
));
74 // ------------------------------------------------------------------------
75 // Part For Button Action
76 // ------------------------------------------------------------------------
78 private void fillToolBar() {
79 Action fFilterAction
= new FilterAction();
80 fFilterAction
.setImageDescriptor(ImageDescriptor
.createFromImage(FILTER_IMAGE
));
81 fFilterAction
.setToolTipText(Messages
.FilterButton
) ;
82 fFilterAction
.setChecked(false);
84 IActionBars bars
= getViewSite().getActionBars();
85 IToolBarManager manager
= bars
.getToolBarManager();
86 manager
.add(fFilterAction
);
89 private class FilterAction
extends Action
{
92 fViewer
.changeFilterStatus();
97 public void setFocus() {
101 public void dispose() {
103 if (fViewer
!= null) {