lttng: Fix ControlViewTest
[deliverable/tracecompass.git] / lttng / org.eclipse.tracecompass.lttng2.control.ui / src / org / eclipse / tracecompass / internal / lttng2 / control / ui / views / model / impl / TraceLoggerComponent.java
CommitLineData
a20452b1
BR
1/**********************************************************************
2 * Copyright (c) 2016 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 * Bruno Roy - Initial API and implementation
11 **********************************************************************/
12package org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl;
13
14import org.eclipse.swt.graphics.Image;
15import org.eclipse.tracecompass.internal.lttng2.control.core.model.ILoggerInfo;
74fe9bdd 16import org.eclipse.tracecompass.internal.lttng2.control.core.model.ITraceLogLevel;
a20452b1
BR
17import org.eclipse.tracecompass.internal.lttng2.control.core.model.LogLevelType;
18import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceDomainType;
19import org.eclipse.tracecompass.internal.lttng2.control.core.model.TraceEnablement;
a20452b1
BR
20import org.eclipse.tracecompass.internal.lttng2.control.core.model.impl.LoggerInfo;
21import org.eclipse.tracecompass.internal.lttng2.control.ui.Activator;
22import org.eclipse.tracecompass.internal.lttng2.control.ui.views.messages.Messages;
23import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.ITraceControlComponent;
24import org.eclipse.tracecompass.internal.lttng2.control.ui.views.property.TraceLoggerPropertySource;
25import org.eclipse.ui.views.properties.IPropertySource;
26
27/**
28 * Implementation of the trace Logger component.
29 *
30 * @author Bruno Roy
31 */
32public class TraceLoggerComponent extends TraceControlComponent {
33
34 // ------------------------------------------------------------------------
35 // Constants
36 // ------------------------------------------------------------------------
37 /**
38 * Path to icon file for this component (enabled state).
39 */
40 public static final String TRACE_LOGGER_ICON_FILE_ENABLED = "icons/obj16/logger_enabled.gif"; //$NON-NLS-1$
41 /**
42 * Path to icon file for this component (disabled state).
43 */
44 public static final String TRACE_LOGGER_ICON_FILE_DISABLED = "icons/obj16/logger_disabled.gif"; //$NON-NLS-1$
45
46 // ------------------------------------------------------------------------
47 // Attributes
48 // ------------------------------------------------------------------------
49 /**
50 * The logger information.
51 */
52 protected ILoggerInfo fLoggerInfo = null;
53 /**
54 * The image to be displayed when in disabled state.
55 */
56 private Image fDisabledImage = null;
57
58 // ------------------------------------------------------------------------
59 // Constructors
60 // ------------------------------------------------------------------------
61
62 /**
63 * Constructor
64 *
65 * @param name
66 * the name of the component.
67 * @param parent
68 * the parent component.
69 */
70 public TraceLoggerComponent(String name, ITraceControlComponent parent) {
71 super(name, parent);
72 setImage(TRACE_LOGGER_ICON_FILE_ENABLED);
73 setToolTip(Messages.TraceControl_LoggerDisplayName);
74 fLoggerInfo = new LoggerInfo(name);
75 fDisabledImage = Activator.getDefault().loadIcon(TRACE_LOGGER_ICON_FILE_DISABLED);
76 }
77
78 // ------------------------------------------------------------------------
79 // Accessors
80 // ------------------------------------------------------------------------
81
82 @Override
83 public <T> T getAdapter(Class<T> adapter) {
84 if (adapter == IPropertySource.class) {
85 return adapter.cast(new TraceLoggerPropertySource(this));
86 }
87 return null;
88 }
89
90 /**
91 * Sets the logger information.
92 *
93 * @param loggerInfo
94 * the logger information to set.
95 */
96 public void setLoggerInfo(ILoggerInfo loggerInfo) {
97 fLoggerInfo = loggerInfo;
98 }
99
100 @Override
101 public Image getImage() {
102 if (fLoggerInfo.getState() == TraceEnablement.DISABLED) {
103 return fDisabledImage;
104 }
105 return super.getImage();
106 }
107
108 /**
109 * @return the logger state (enabled or disabled).
110 */
111 public TraceEnablement getState() {
112 return fLoggerInfo.getState();
113 }
114
115 /**
116 * Sets the logger state (enablement) to the given value.
117 *
118 * @param state
119 * state to set.
120 */
121 public void setState(TraceEnablement state) {
122 fLoggerInfo.setState(state);
123 }
124
125 /**
126 * Sets the logger state (enablement) to the value specified by the given
127 * name.
128 *
129 * @param stateName
130 * state to set.
131 */
132 public void setState(String stateName) {
133 fLoggerInfo.setState(stateName);
134 }
135
136 /**
137 * @return the trace logger log level
138 */
74fe9bdd 139 public ITraceLogLevel getLogLevel() {
a20452b1
BR
140 return fLoggerInfo.getLogLevel();
141 }
142
143 /**
144 * Sets the trace logger log level to the given level
145 *
146 * @param level
147 * logger log level to set
148 */
74fe9bdd 149 public void setLogLevel(ITraceLogLevel level) {
a20452b1
BR
150 fLoggerInfo.setLogLevel(level);
151 }
152
153 /**
154 * Sets the trace logger log level to the level specified by the given name.
155 *
156 * @param levelName
157 * logger log level name
158 */
159 public void setLogLevel(String levelName) {
160 fLoggerInfo.setLogLevel(levelName);
161 }
162
163 /**
164 * Returns the log level type
165 *
166 * @return logger log level type
167 */
168 public LogLevelType getLogLevelType() {
169 return fLoggerInfo.getLogLevelType();
170 }
171
172 /**
173 * Sets the trace logger log level type to the given level type
174 *
175 * @param levelType
176 * logger log level type to set
177 */
178 public void setLogLevelType(LogLevelType levelType) {
179 fLoggerInfo.setLogLevelType(levelType);
180 }
181
182 /**
183 * @return target node component.
184 */
185 public TargetNodeComponent getTargetNode() {
186 return ((TraceDomainComponent) getParent()).getTargetNode();
187 }
188
189 /**
190 * @return session name from parent
191 */
192 public String getSessionName() {
193 return ((TraceDomainComponent) getParent()).getSessionName();
194 }
195
196 /**
197 * @return session from parent
198 */
199 public TraceSessionComponent getSession() {
200 return ((TraceDomainComponent) getParent()).getSession();
201 }
202
203 /**
204 * @return the domain type ({@link TraceDomainType})
205 */
206 public TraceDomainType getDomain() {
207 return ((TraceDomainComponent) getParent()).getDomain();
208 }
209}
This page took 0.033103 seconds and 5 git commands to generate.