1 /**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
13 package org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
;
15 import java
.util
.Iterator
;
16 import java
.util
.List
;
18 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IBaseEventInfo
;
19 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.messages
.Messages
;
20 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.ITraceControlComponent
;
21 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.property
.KernelProviderPropertySource
;
22 import org
.eclipse
.ui
.views
.properties
.IPropertySource
;
26 * Implementation of the Kernel provider component.
29 * @author Bernd Hufmann
31 public class KernelProviderComponent
extends TraceControlComponent
{
33 // ------------------------------------------------------------------------
35 // ------------------------------------------------------------------------
37 * Path to icon file for this component.
39 public static final String KERNEL_PROVIDER_ICON_FILE
= "icons/obj16/targets.gif"; //$NON-NLS-1$
41 // ------------------------------------------------------------------------
43 // ------------------------------------------------------------------------
45 // ------------------------------------------------------------------------
47 // ------------------------------------------------------------------------
50 * @param name - the name of the component.
51 * @param parent - the parent of this component.
53 public KernelProviderComponent(String name
, ITraceControlComponent parent
) {
55 setToolTip(Messages
.TraceControl_ProviderDisplayName
);
56 setImage(KERNEL_PROVIDER_ICON_FILE
);
59 // ------------------------------------------------------------------------
61 // ------------------------------------------------------------------------
63 * Sets the events information for this component.
64 * @param eventInfos - events information to set.
66 public void setEventInfo(List
<IBaseEventInfo
> eventInfos
) {
67 for (Iterator
<IBaseEventInfo
> iterator
= eventInfos
.iterator(); iterator
.hasNext();) {
68 IBaseEventInfo baseEventInfo
= iterator
.next();
69 BaseEventComponent component
= new BaseEventComponent(baseEventInfo
.getName(), this);
70 component
.setEventInfo(baseEventInfo
);
77 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
79 @SuppressWarnings("rawtypes")
81 public Object
getAdapter(Class adapter
) {
82 if (adapter
== IPropertySource
.class) {
83 return new KernelProviderPropertySource(this);
88 // ------------------------------------------------------------------------
90 // ------------------------------------------------------------------------