1 /*******************************************************************************
2 * Copyright (c) 2016 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
8 *******************************************************************************/
9 package org
.eclipse
.tracecompass
.internal
.tmf
.analysis
.xml
.ui
.views
.latency
;
11 import org
.eclipse
.jdt
.annotation
.NonNull
;
12 import org
.eclipse
.jface
.util
.IPropertyChangeListener
;
13 import org
.eclipse
.jface
.util
.PropertyChangeEvent
;
14 import org
.eclipse
.jface
.viewers
.TableViewer
;
15 import org
.eclipse
.swt
.SWT
;
16 import org
.eclipse
.swt
.widgets
.Composite
;
17 import org
.eclipse
.swt
.widgets
.Table
;
18 import org
.eclipse
.tracecompass
.analysis
.timing
.ui
.views
.segmentstore
.density
.AbstractSegmentStoreDensityView
;
19 import org
.eclipse
.tracecompass
.analysis
.timing
.ui
.views
.segmentstore
.density
.AbstractSegmentStoreDensityViewer
;
20 import org
.eclipse
.tracecompass
.analysis
.timing
.ui
.views
.segmentstore
.table
.AbstractSegmentStoreTableViewer
;
21 import org
.eclipse
.tracecompass
.common
.core
.NonNullUtils
;
22 import org
.eclipse
.tracecompass
.internal
.tmf
.analysis
.xml
.ui
.TmfXmlUiStrings
;
23 import org
.eclipse
.tracecompass
.internal
.tmf
.analysis
.xml
.ui
.views
.XmlLatencyViewInfo
;
26 * Displays the latency density view for pattern analysis
28 * @author Jean-Christian Kouame
30 public class PatternDensityView
extends AbstractSegmentStoreDensityView
{
33 public static final @NonNull String ID
= "org.eclipse.tracecompass.internal.tmf.analysis.xml.ui.views.density"; //$NON-NLS-1$
35 private final XmlLatencyViewInfo fViewInfo
= new XmlLatencyViewInfo(ID
);
37 private PatternDensityViewer fDensityViewer
;
38 private PatternLatencyTableViewer fTableViewer
;
43 public PatternDensityView() {
45 this.addPartPropertyListener(new IPropertyChangeListener() {
47 public void propertyChange(PropertyChangeEvent event
) {
48 if (event
.getProperty().equals(TmfXmlUiStrings
.XML_LATENCY_OUTPUT_DATA
)) {
49 Object newValue
= event
.getNewValue();
50 if (newValue
instanceof String
) {
51 String data
= (String
) newValue
;
52 fViewInfo
.setViewData(data
);
61 private void loadTableViewer() {
62 if (fTableViewer
!= null) {
63 fTableViewer
.updateViewer(fViewInfo
.getViewAnalysisId());
67 private void loadDensityViewer() {
68 if (fDensityViewer
!= null) {
69 fDensityViewer
.updateViewer(fViewInfo
.getViewAnalysisId());
74 protected @NonNull AbstractSegmentStoreTableViewer
createSegmentStoreTableViewer(@NonNull Composite parent
) {
75 PatternLatencyTableViewer tableViewer
= new PatternLatencyTableViewer(new TableViewer(parent
, SWT
.FULL_SELECTION
| SWT
.VIRTUAL
)) {
77 protected void createProviderColumns() {
78 super.createProviderColumns();
79 Table t
= (Table
) getControl();
80 t
.setColumnOrder(new int[] { 0, 1, 2, 3, 4});
83 fTableViewer
= tableViewer
;
89 protected @NonNull AbstractSegmentStoreDensityViewer
createSegmentStoreDensityViewer(@NonNull Composite parent
) {
90 PatternDensityViewer densityViewer
= new PatternDensityViewer(NonNullUtils
.checkNotNull(parent
));
91 fDensityViewer
= densityViewer
;